Table of Contents
- Genus Clock Applications v1.02
- Developer Information
- Source Code
- Batch Files
- Compiling
- Configuration
- Java Libraries and System Files
- Available Memory
- Consultant Information
- Clock Types and Applications
- Configuration Attributes
- Loading Clock Software
- Clock Rebooting
- Functionality
- Idle Screen
- Punching IN and OUT
- Employee Verification
- Administration Screen
- Enroll
- Remove
- Test Queue Capacity
- Clear All
- Clock Ping Service
- Notes
Genus Clock Applications v1.02#
This paper is to explain all aspects of the High Line Genus Clock Application for both developers and consultants.
Developer Information#
Source Code#
- The source code for both G1 and G2 applications is kept in a package as part of the standard product code
com.highlinecorp.timeclock - Copies of the source each release are kept on
pandora\dfs\ePersonality\Time_Clock_Software\From PD - For each release zip files are kept:
- a built G1 app, G2 app and zipped with the configuration files (These are the zip files which may be released to clients)
- The current build scripts used to generate the apps
- A copy of the Genus clock app source which keeps track of the eP version in the zip file names.
Batch Files#
- Deploying Genus class libraries ( from CMI ), deploying genus system file ( from CMI ), Compiling HL code, building jar files, deploying the App.jar and configuration file, retrieving - Existing App.jar, config files and genus classes and libraries are all accomplished through DOS batch files.
- They are all located in:
C:\HLApplication\HLApplication\dd\timeclock\bat - They are organized to work with G1 and G2 types separately. Each clock type requires different class libraries and different java files to build different App.jar files although they are named the same.
- The App.jar created for each clock type G1 or G2 will support Biometric, Mifare and proximity readers.
Compiling#
- For ease of development the clock applications may be developed from within JDeveloper. Although development is done here, it is important that compilation of the code be compiled on a java version no newer than 1.05.0.11 and compiler set to 1.4. The code must be written and compiled to be compatible with the J2ME Personal Profile 1.1
- The application must be compile outside JDeveloper before a built and may be done using the cmd file located in:
C:\HLApplication\HLApplication\dd\timeclock\bat - The batch files with naming of either G1 .... or G2 ..... have been developed. The purposes of each are:
- Deploy clock library and system files (provided from CMI)
- Compile application code outside JDeveloper required before a build.
- Build the jar file.
- Deploy configuration and application to a clock.
- Are "gets" for getting the above files off an existing clock.
- These files are configured via the ~setvars.cmd file.
Configuration #
⢠The configuration file is located in: C:\HLApplication\HLApplication\dd\timeclock\config ⢠The file name is app.conf ⢠This file is used for both the G1 and G2 clock types of all readers. It contains all supported clock feature attributes and some attributes in the database configuration that have been planned for but not developed or supported. ⢠Each attribute has an example with explanation line and the actual attribute and value. The example line is remarked by placing a # at the beginning of the line, so it will not be loaded into the clock. Example: #TITLE = High Line Time Clock - main screen title TITLE = HL (Devel) Time Clock ⢠Extra unused lines may also be remarked for reference and not used. Example: #HOST_URL = http://<host>:<port>/<webapp>/<process> - server connection string #HOST_URL = http://localhost:8988/selfService/clock.process - example #HOST_URL = http://192.168.97.165:8988/selfService/clock.process #HOST_URL = http://192.168.97.47/selfService/clock.process HOST_URL = http://192.168.97.165:8988/selfService/clock.process ⢠This config file needs to be loaded before the application in order for it to be read by the application at start up. (see the "G2 4 Deploy file" described above. )Java Libraries and System Files#
⢠The supporting java libraries are provided to High Line from Control Module Incorporated. The current supported versions as of May 13, 2010 for the G2 are: Java class files : 1.0.91 Clock system files: 4.03.04Available Memory#
⢠G1 available memory: 32 MB dynamic memory, 2MB of non-volatile memory for data retention, 32MB of flash memory for program storage. ⢠G2 available memory: 32MB dynamic memory, 2 MB of non-volatile memory for data retention, 40 MB of flash memory for program storage. Note: These values have been provided by the CMI G1 and G2 users manual.Consultant Information#
Clock Types and Applications#
G1 Clock TypeG2 Clock Type ⢠The time clock application will be a set of Java programs that are compiled centrally, packaged and transferred to each terminal as follows: tftp -i <ipaddress> PUT App.jar \flashdisk\App.jar ⢠Highline currently has two clock applications with various types of readers. They are all on the same version with each release. The current clock version for ePersonality 4.09 Application and web server is 2.03.04 Application Supported Readers G1 Biometric, Magnetic Strip G2 Biometric, Magnetic Strip, Proximity (Mifare)
Configuration Attributes#
⢠Parameters and options will be maintained in a central configuration file that can be transferred to the terminals at any time with the following command: tftp -i <ipaddress> PUT terminal.conf \ramdisk\terminal.conf ⢠This configuration information will initially be held in permanent memory on the terminal. This information is loaded into memory only when the time clock is booted(application starts up). ⢠The following parameters with explanations will be supplied in a configuration file:- DEBUG = true | false - toggle for debugging
- TITLE = High Line Time Clock - main screen title
- WELCOME_MESSAGE -Idol page Welcome message. Only referenced by a G2 application.
- PASSCODE = <passcode> - clock administrator passcode
- ALLOW_KEYING = true | false - toggle for allowing keying of employee/badge numbers
- VALID_KEYED_VALUES = -Employee Badge or Person codes which are allowed to be keyed when ALLOW_KEYING = false. (Spaces not supported.)
- USE_BADGE = true | false - toggle for use of badge numbers (true= badge in ITCC, false=person_code)
- MIN_BADGE_LEN = 4 - minimum length of badge/employee number
- MAX_BADGE_LEN = 10 - maximum length of badge/employee number
- ENTER_JOB = true | false - toggle for allowing a list of assignment Authorized jobs for selection during IN punches.
- ENTER_COST_CENTER = true | false - toggle for entering cost center information
- VALID_COST_CENTERS = - comma delimited list of valid cost centers. (Spaces not supported.)
- VALIDATE_PUNCHES = true | false - toggle for validating punches on server ( validation will occur regardless if Keyed.)
- STORE_BIO = true | false - toggle for storing biometric templates on server.
- QUEUE_FULL -an "Out of Order" message displayed Once the punch queue is full. ( G1 20 Characters Max.)
- QUEUE_FULL2 -Used in G1 applications for 2nd line text messages ( G1 20 Characters Max.)
- QUEUE_LIMIT -Used to define the MAXIMUM number of queued punches allowed to be in the queue IF less than the maximum physical limit.
- THAW_LIMIT -Used to define the number of queued punches allowed to be in the queue and automatically thaw the clock to accept punches.
- BIO_SENSITIVITY = 0 to 7 - biometric sensitivity level
- BIO_QUALITY = 0 to 2 - biometric quality level
- MIFARE_POLL_INTERVAL - Mifare Card reading interval in ms.
- MSG_TIME = 3000 | <milliseconds> - milliseconds to wait for display messages
- DELAY_TIME = 5000 | <milliseconds> - milliseconds to delay screens
- IDLE_TIMEOUT 5000 | <milliseconds> - milliseconds between idle screen refreshes
- QUEUE_SLEEP_TIME = 50000 | <milliseconds> - time between connections to the server
- DATA_SERVER_TYPE = HTTP | ORACLE | WEB - data transfer method
- PING_SLEEP_TIME = 30000 | <milliseconds> - time between pings to the server storing device information.
- HOST_URL = http://<host>:<port>/<webapp>/<process> - server connection string
- HOST_URL = http://192.168.97.165:8988/selfService/clock.process -example
- WB_RETRY_INTERVAL = 60000 | <milliseconds> - retry frequency for invalid POST's
Database Configuration - NOT USED
- DATABASE_DRIVER = oracle.jdbc.driver.OracleDriver - database driver class
- DATABASE_URL = jdbc:oracle:thin:@<host>:<port>:<sid> - database URL
- DATABASE_USER = <user> - database user name
- DATABASE_PSWD = <password> - database password
- DB_RETRY_INTERVAL = 60000 | <milliseconds> - retry frequency for invalid connection attempts