GS1 Logger for Staff User Manual Guide. GS1 Logger for Staff. User Manual Guide. Version 2.0, All rights reserved GS1 Hungary Page: 1 / 23

Size: px
Start display at page:

Download "GS1 Logger for Staff User Manual Guide. GS1 Logger for Staff. User Manual Guide. Version 2.0, All rights reserved GS1 Hungary Page: 1 / 23"

Transcription

1 GS1 Logger for Staff User Manual Guide Version 2.0, All rights reserved GS1 Hungary Page: 1 / 23

2 Table of Contents 1. Introduction Functional description - Operation of the software Password edition Log in/ Sign in Settings Data input Manual data input Automatic data input Data qualification List of History Technical description System elements Operation of Logger for Staff Control functions of the application during start-up Sending Data Entry and Query results to the server Qualification of scanned code Information gathering and response message from the server to the iphone History Time zone AI (254) LOC value calculation Language support All rights reserved GS1 Hungary Page: 2 / 23

3 1. Introduction The basic service that has provided the main revenue for GS1 Hungary in the last quarter century was issuing GS1 Global Company Prefixes (GCP) and identification keys. Although our scope of activities has broadened significantly in the past few years, this service will also play an important part in our activity portfolio in the future. At the same time the whole GS1 Community fights against the illegal use of identification numbers, which causes loss in revenue: from time to time initiatives are taken to find a solution to this issue. In accordance with the above mentioned facts one of the main goals of GS1 Hungary is to develop such software that can provide a solution for the staff of any GS1 Member Organisation to filter out the illegal use of GS1 identification numbers. GS1 Logger for Staff is an application for smartphones (and tablets) providing information on the validity of the GS1 identification numbers with the help of the GEPIR network and the rules of GS1 General Specification (version 13). The following system elements will be developed in the project: Application for client side (for ios and Android with qualification rules); Application for server side (with validation and qualification rules); Database for the logged data; Connection with GEPIR, with the location database, with the database of devices and with the Logger database; Internal website and the background application for the queries. In the October of 2011 the development of above mentioned elements of the proof of concept was completed and now they are running on ios platform. The application is ready to test for 400 users at the most and can extend on request. 2. Functional description - Operation of the software 2.0. Password edition Registration of GS1 Member Organizations as Supervisor Member organisations applying for the pilot are to provide the following data for registration: name of GS1 MO address of GS1 MO supervisor report address (to which report s will be sent about invalid numbers) GLNloc identifier of the country (optional) legal acceptance of terms GS1 Hungary receives in an automatic the data given by the MO s and puts them on record via an internal administration website in a database for the data of users. This step is needed to ensure that only GS1 member organisations register over the registration process. The moment the data are put on record in the database, the system generates a login name (for instance GS1 RU, password, which may be changed later on the website), and an individual code for the given MO, which we send to the MO in an automatic (the reads that the MO has successfully registered in the pilot and the colleagues may register on our website with the code attached.) All rights reserved GS1 Hungary Page: 3 / 23

4 With the individual code only those can registers as MO colleagues who are familiar with the code of the given MO. Entering with the Supervisor login name and password, they can access the data of their own colleagues. Registration of Users Users may begin registration by clicking on the Registration button on website, where the following data are to be filled in: username, first name, last name, password, confirm password, GS1 Member Organization, address, phone Serial Number, phone GIAI, verification code. At the bottom of the registration page one must tick off I accept the legal conditions, without which the registration is unsuccessful. In this case we always warn users to agree to the conditions Log in/ Sign in The registration button of the first screen drives the user to the registration website of the GS1 Logger for Staff application. Users can use Logger for Staff with their own login name and private password via the Login button. It guarantees that users can access their own data and records only. Server side authentication is independent of whether it is the web or a mobile the client is using. Misspelled credentials cause an authentication error. Also can get an error message via the authentication process if the client version of the device is unsupported. All rights reserved GS1 Hungary Page: 4 / 23

5 After start-up, GEPIR Root XML, language resources and location resources get updated if there are new versions available on the server. Furthermore, there are some other checking functions run automatically E.g. Internet access check or unallocated records Settings There is a new function in v2.0, named Settings, which is used for location set. It is possible to permit our location to transmit by the device to the server. With GPS ON (default) setting, the actual coordinates are transmitted to all records. Without coordinates, the default GPS OFF location will be shown on the website. It is set by the registration belongs to the MO. The active setting is displayed on the main screen while the GPS ON is green the GPS OFF is red. Pressing the Setting button you can change both GPS set. Should you set the GPS OFF and then you get a warning message after starting application. In the one hand, there are three choices for GPS ON setting: Coordinates (default) Country Smallest Region Selecting the first one, everybody will see the exact location of your scanning. The coordinates are transmitted in the rest as well, but the exact location is available only for the user, others will see only the selected level (country, smallest region). All rights reserved GS1 Hungary Page: 5 / 23

6 In the other hand, the GPS OFF is set by a hierarchical list of location. In most of the cases, the country is the default value. Further levels may be defined by the MOs in the future Data input After login, the main screen appears, on which we can input the GS1 identification number we would like to check. The data input can be done manually or by automatic scanning with the builtin camera of the device. Besides giving the GS1 identification number to the validation, the qualification, the new log, the add photo, the history and the settings functions can be accessed on the main screen. Before sending data, network connection will be checked. You have the possibility to send record with picture(s) or you can attach picture(s) in a detailed view before reporting. There are three selectable types of picture sizes (small, middle, large). You can attach maximum three pictures to one record. Pressing the send button, you can forward only the data of the record and its pictures. However, if you press the send & report button, after these actions the report also will be invoked. All rights reserved GS1 Hungary Page: 6 / 23

7 Manual data input Clicking on the input field, the keyboard is displayed, which allows you to enter the GS1 identification number that we would like to check. The data input sequence is changed because of the increased number of supported AIs. Firstly, we have to select the necessary AI from the AI selector then we can enter the ID key. Manual data entry allows you to select only those AIs that are displayed on the AI selector field: SSCC (00), GTIN (01), GDTI (253), GCN (255), GINC (401), GSIN (402), GLN SHIP TO LOC (410), GLN BILL TO (411), GLN PURCHASE FROM (412), GLN SHIP FOR LOC (413), GLNloc (414), GRAI (8003), GIAI (8004), GCTIN (8006), GSRN Service Provider (8017), GSRN Service Recipient (8018). Recording other types is not possible. The keyboard changes from numeric to alphanumeric automatically depending on the AI. The Done button also becomes active only if the minimum numbers of characters have already been entered. Overtyping triggers a warning tone Automatic data input In case of automatic scanning the Scan button has to be pressed and the built-in camera of the device switches on allowing us to scan the barcode. Besides reading linear (EAN-8/UPC-A, EAN- 13/UPC-E and GS1-128) bar codes, it is enabled to read GS1 QR-code, GS1 Data Matrix, GS1 DataBar Omnidirectional (normal, stacked, truncated) and ITF-14. All ID Keys and every defined AI pairs according to the General Specification v13 are available to scan, including simple and complex ones. All rights reserved GS1 Hungary Page: 7 / 23

8 GS1 DataBar Omnidirectional (stacked, truncated) All rights reserved GS1 Hungary Page: 8 / 23

9 2.4. Data qualification There is a new qualification function including definitions and rules of the General Specification v13 and prefixes from GEPIR Root XML. These rules are included in a software library called GS1Lib, that automatically checks the input data against the rules. The first screen of the qualification is the checklist, which contains the processed code, the decoded ID Keys, the pair checking and the symbol checking. Selecting the decoded elements, you can check the ID Keys by the AI content, min-max length, format, checksum, prefix, prefix handler, prefix format, AI support by prefix, separator and substance. Following the device side validation by clicking on the active Send button we can send the data to the server side application, which checks through the GEPIR system if the ID key is valid otherwise, e.g. by its Company prefix. We can send every numbers even if it is allocated and handled in GEPIR or not. Those data will be queried from the GEPIR, which are also handled there. Besides the number completed with AI to be checked, the GPS coordinates of scanning location in the WGS84/UTM system (if the user has authorised it in the settings of the mobile phone), otherwise the GPS OFF settings allows you to send only the GLN number of the country, the scanning time, the current time zone (device set) and the unique device ID (s/n) are also transmitted by the application. If the data transmission fails (for example due to the failure of internet connection), the record is stored in the memory of the phone and it is sent at the next data transmission. In case of three failed attempts to send the record, it gets deleted automatically. All rights reserved GS1 Hungary Page: 9 / 23

10 After successful data transmission the application on the server side can return three types of messages: The number is valid on green background; The number is invalid on red background; The connection is failed on yellow background. In all of the three cases GEPIR return codes (RC) and details of the responding router are displayed on-screen. Clicking on the New log icon (at the bottom of the page) we can initiate a new scan, which starts the validating process again. If the number is invalid, we suggest that you click on the Add Photo icon at the bottom of the page, you can take picture(s) of the product on which the GTIN can be found, and send it via e- mail to the competent MO that should take the necessary next steps. You can also attach picture(s) in the detailed view of the History before reporting it. The identification of competent MO works automatically on the basis of the country prefix and the Root XML of GEPIR on the server side. All rights reserved GS1 Hungary Page: 10 / 23

11 2.5. List of History With the History button (on the right) we can list the previously logged records and the information associated with them. Users may expand the list with four new pages of history downloadable oneby-one from the servers (a maximum of 100 records). The appearance of the list of history is always preceded by data communication, that is to say all the records are always downloaded from the server. The new qualification function is shown by the first icon, the second displays the result of the GEPIR validation. Clicking on the arrow on the right side of History at every record we can see more information about it. The detailed data includes the data source of MO belonging to the ID, if the number is valid, the name and the address of company prefix owner can be seen. (We can even check it on the map due to the Google maps connection of the application.) In addition, even in case of unauthorised use, i.e. invalid numbers, the scanning time and the scanning location (along with its GLN, which we can also check on Google maps), the user name and the identifier of the device (GIAI), and the data of GEPIR return codes and responding router are recorded. All rights reserved GS1 Hungary Page: 11 / 23

12 The History is also available on a website: On this website every user can sign in with their own login name and password, and can list their own records in timeline, and can filter the list, for example by time, location or status. Users cannot delete or modify any record from the history. Supervisor users are capable of using dynamic filtering, such as filtering by time period, location, code status (unauthorized/authorized use), AI s, countries, users, GS1 ID Keys, scanning devices, GEPIR requests and return codes also. The details tab also contains a Google map with the exact location of the scan. All rights reserved GS1 Hungary Page: 12 / 23

13 Due to the new qualification function beside GEPIR validation, the website is suitable for the visualization of the results of both checking methods. Exactly, the GEPIR status and Logger status (according to the General Specification v13) are displayed on the website. All rights reserved GS1 Hungary Page: 13 / 23

14 As far as the picture(s) concerned, you can also see them on the website attached to the record. Furthermore, you will have the possibility to check that the report was sent or not, moreover you can send it via the website. There are two new icons on this website, namely the translation and profile menu items. The translation menu allows you to translate the website and application itself in an interactive way. The profile menu allows you to set your preferred language and the display mode of your location (according to the coordinate or mobile device setting). The statistics menu on the same website contains four different types of views. Stat1 contains the number of scans from users of participating member organizations by status. It is possible here to filter by time span or to filter duplicates. All rights reserved GS1 Hungary Page: 14 / 23

15 Stat2 shows the distribution of user scans amongst countries for all three statuses (valid, invalid, and faulted). All rights reserved GS1 Hungary Page: 15 / 23

16 Stat3 shows the distribution of GEPIR router return codes by member organizations. Stat4 consists of two tables. The first one shows the user scans of member organizations by status. The second one shows the distribution of scans with a specific status (select the kind of status above the tables) by country (country codes). All rights reserved GS1 Hungary Page: 16 / 23

17 3. Technical description 3.0. System elements GS1 Logger for Staff is a mobile application developed by GS1 Hungary for ios platform. The application is for GS1 staff/employees aiming to fight against illegal usage of GS1 company prefixes. The main elements of the system are: Client-side application; Server-side application; Databases: location, Logger for Staff, user; GEPIR network connection; Website to review records and statistics. The following chart illustrates the integration and connection of elements and the high level and overall logical structure of the system: All rights reserved GS1 Hungary Page: 17 / 23

18 3.1. Operation of Logger for Staff Control functions of the application during start-up At start-up the application checks the following variables: Is there a recent client version supported by the server? Is there a new Root XML of GEPIR? Is there a new language string list? Is there a new Location resource list? Is positioning enabled? Is User ID/password correct? Is there an Internet connection? Are there any unsent records? If there is a newer client version supported by the server, it informs the user about the updates and bloks any other user activity, but exit with the standard ios button.. If there is a new GEPIR Root XML or language string or Location resource list, after the authorization and authentication of the user it will query the new version list from the server and process it. If there are unsent records, they will be shown on the data entry screen of the application (details listed: number of unsent records / number of records without location information and an update button). Pressing this button you can manually upload these unsent records. If there is no internet connection available, the application will warn the user that it cannot check data only record them. If the location services is turned off (device level) or disabled (application level), the application will notify the user that location data will not be recorded and forwarded in the course of recording and transmission of records. In the case of unsent records for which no location data was recorded; before sending, the application asks to complete it with new location data (for example the GPS sign is available) or not. In case of incorrect username/password (for example, it was changed at the server side), the application directs the user to the login screen where you have to log in again. After login, you can carry out any other operation and communicate with the server at client side Sending Data Entry and Query results to the server Data entry can be done manually and automatically, with the help of a built-in camera. In case of automatic scanning the Scan button has to be pressed and the built-in camera of the device switches on allowing us to scan the barcode. Besides reading linear (EAN-8/UPC-A, EAN-13/UPC- E and GS1-128) bar codes, it is enabled to read GS1 QR-code, GS1 Data Matrix, GS1 DataBar Omnidirectional (normal, stacked, truncated) and ITF-14, as well. In the case of 2D codes ID keys and element string are possible to read and process including SSCC (00), GTIN (01), GDTI (253), GINC (401), GSIN (402), GLNloc (414), GLN org (415), GRAI (8003), GIAI (8004), GCTIN (8006), GSRN (8018), PRODUCT URL (8200) or in case of compound symbol it is always the first reading that is the authorised one (except for AI (8200). The i-nigma reader integrated into the application can identify not only the symbols currently supported by Logger for Staff, so symbols and/or codes that aren t supported currently appear in an error message. All rights reserved GS1 Hungary Page: 18 / 23

19 Reading AI (8200) has also been introduced, but as it is defined by General Specification v 12 (01) AI is needed for that so that the whole PROCUST URL may be compiled. In accordance with General Specification v12 we handle AI (01) along with AI (8200) defined as compulsory by the former one. The only limitation in the case of codes containing AI (8200) is that only the part not containing the AI (8200) of a compound code is to be forwarded. In the checklist the names of related AI s get displayed. In case of manual data input the sequence is changed because of the increased number of supported AIs. Firstly, we have to select the necessary AI from the AI selector then we can enter the number. Manual data entry allows you to select only those AI s, which are displayed on the AI selector field (ID Keys). Recording of other types is not possible. The keyboard changes from numeric to alphanumeric automatically depending on the AI. The Done button also becomes active only if the minimum numbers of characters have already entered. In case of reaching the maximum numbers of characters triggers a warning tone. After entering ID numbers, the following data will be stored in the local database of the phone by the application, and then they will be forwarded to the server-side application: GS1 ID Key along with its Al Device ID (iphone s/n) User ID GPS coordinates (latitude, longitude, elevation) + accuracy (vertical and horizontal) or the GPS Off GLN set by the user in the Settings menu time (device time) + time zone time of reading / manual entry If there is no internet connection available, the record will get unsent status. If the same identification number is featured among unsent records, the old record will be replaced by the data of new record (e.g. new read/entry time, new coordinates etc.). After manual data entry or scanning, records are saved immediately. After the sending or refusal of data, only their status changes as opposed to the former delete. At the next starting of the application, it checks the unsent records and the user can try to resend them manually (see previous section). If a record fails to be sent at three attempts, the record will get unsent status. Before sending a new record, the unsent records will be forwarded to the server at first. In this case, there is no immediate status-information display about the last record; it is only available in the History menu. All rights reserved GS1 Hungary Page: 19 / 23

20 Qualification of scanned code Next to GEPIR validation there is a new checking function available from V2.0 named qualification. It runs via the new GS1Lib package automtically on the device after a scanning or a manually typed input and also runs on server side when posting a request. The GS1Lib is a C++ library made for multiplatform usage and based on the General Specification and the prefix allocations of the GS1 GO combined with other infos from the GEPIR Root XML. It s like collection of the GS1 standards & rules, works on all supported platforms (ios,android,windows) as a common business logic layer from a common standard C++ source. The qualification in this version includes the verification of the input by each GS1 standard element strings decoded in the symbol (like its min-max length, format, checksum, prefix allocation, prefix allowance by AI, substance, separator ) and also by the whole symbol and its contents E.g. the invalid, the mandatory and the relational pair checking and also the start FNC1 checking Information gathering and response message from the server to the iphone The server-side application queries the followings on the basis of data above: validity and data of the ID Key and the validity of company prefix from GEPIR the lowest identified or the set level of location (GLN) belonging to the GPS On coordinates or the set GPS Off GLN from the local database the user name belonging to the name of the employee from the data table. The following data will be stored in the Logger for Staff database: GS1 ID Key with AI and the whole input scanned or typed on the device Other i-nigma transmitted informations belongs to the scanned code E.g symbol type, start FNC1 character & the version string Entry details related to GS1 ID Key sent (product name/location/name of organisation belonging to the number, name of producer GLN of producer - if available) Information about ID Key status: for every posted queries the name of GEPIR function, the GLN number of addressed router and the value of returned code User name and name of GS1 employee Scanning time (with time zone) Device identifier (iphone s/n and GIAI) Device GPS On/Off settings when the input was made Database write timestamp with time zone (server-side application gives it) Last change time GPS coordinates (it is not obligatory, because the iphone application might send the records without location data see below) If there was location information, request the lowest level information (name/address and GLN) from location DB Logical marking: whether the record is complete or not If the record is incomplete: storage of error code and missing attributes/details If a connection error occurs (there is no reply from the database), the record will be stored and marked, because it is incomplete. If the server side application doesn t succeed in entering the data into the Logger database, it will be treated as a fatal error. In this case, the server sends a message to the user and the record gets back to unsent status. All rights reserved GS1 Hungary Page: 20 / 23

21 History The last 20 scanned identification keys and related information are available in the local database of the mobile application. When you open the History menu the application requests data of the last 20 records from the server. If there is no internet access available or the server-side application is unavailable, an error message appears. All scanned results are available on the Logger for Staff website ( and you can query all of them Firstly the data of the history are displayed in a list at the phone side and the website too. Selecting a row from a list, you can see the detailed information of the record. The detailed information includes the queried and stored data on the server side; however some plus data by the record are displayed on the device (or website). It is for example, the data source or the country name of router, maps, and AI (414), AI (254) data calculated from the coordinates Time zone The measurement of time data is always connected to actions (for example, scanning, capture ) in local time either it is a client side or a server side action. However, these data being standardized in transmission and display, we convert the measured local time into so called universal time (Zulu) and complete them with data from time zone and time-lag. This ensures that both on the sending side and the receiving side the same information in the same format and order can be seen: everybody should talk about the same moment. In the course of displaying on the client side, if you scan in different time zones (assuming that the different time zones is set in the mobile phone either automatically or manually) the historical order of the event remains unchanged, and the dates are displayed in local time. At detailed data, the save time on the server is displayed with the local time of Budapest by local set of the server AI (254) LOC value calculation Coordinates of a given position are stored within Application Identifier (254). For this all geographical reference system (GPS: WGS84/UTM) information, available longitude, latitude and altitude values, horizontal and vertical accuracy are compressed and converted to a unique alphanumeric string as described in AI (254) that can be expressed in 20 characters at the most. The calculation is as follows: st character: Geographical Reference System information: W = WGS84/UTM Characters 2-6: Longitude First shift the integer part of longitude data with +180 (so that it never results in a negative integer); Shift the fraction part 1,000,000 (6 digits to the left, clearing the decimal point) and round the result (e.g ) expressed in scale system 62, complemented with zero characters from the left that it consists of 5 alphanumeric characters. Characters 7-11: Latitude First shift the integer part of longitude data with +90 (so that it never results in a negative integer); Shift the fraction part 1,000,000 (6 digits to the left, clearing the decimal point) and round the result (e.g ) expressed in scale system 62, complemented with zero characters from the left that it consists of 5 alphanumeric characters. Characters 12-14: Altitude If an altitude is given with a value between ± 100,000 after shifting it with 100,000 (so that it never results in a negative integer) these characters are expressed in scale system 62, complemented with zero characters from the left that it consists of 3 alphanumeric characters. Out of range and All rights reserved GS1 Hungary Page: 21 / 23

22 invalid (non-existent) data is expressed as 'zzz' (as it is the last available value of the scale system). Altitude is interpreted between ± 100,000 meters meaning that if characters read '000' we are 100,000 meters below the surface while 'zzz' means that no elevation was available or measured. Characters 15-16: Horizontal accuracy If accuracy data is available and is less than 3,000, horizontal accuracy is expressed in scale system 62 complemented with zero if needed. Value 'zz' indicates if otherwise. Characters 17-18: Vertical accuracy If accuracy data is available and is less than 3,000, vertical accuracy is expressed in scale system 62 complemented with zero if needed. Value 'zz' indicates if otherwise. Characters 19-20: reserved for future use These characters may be used to express the nature of the geographical point (e.g. centroid, point of gravity, caption point, outline, junction point, etc.). All rights reserved GS1 Hungary Page: 22 / 23

23 Language support Phone side client On the mobile application side, treating language strings happens automatically by phone set. If there is language-specific implementation, the buttons, subtitles and the like will be displayed according to the adequate language. Those languages having no implementation on the client side or the language-specific implementation doesn t exist for strings, the text/subtitle will be displayed in English. For the introduction of a new language implementation there are two possible solutions currently: Packing into the released version of the client and updating the application through the AppStore Expanding the resource file on the server side, changing version number so the next time you log in the client programme automatically informs the user that new/modified language strings are ready for download on the server side. The user can approve the download or postpone it later (for example there is no wifi connection) All rights reserved GS1 Hungary Page: 23 / 23