PseudoHacker Academic TimeClock

INSTALLATION:

As an administrator, run the installer.command script (double click to run) and enter your password. This creates the /var/PHATClock directory and sets permissions appropriately.

Launch the PHATC Admin program and enter at least one user. Save before quitting. The username is the key value, all other data may be altered later with no ill effects.

Now launch the PHATClock application. You should be able to log in and then back out as your new user. If you wish to protect the punch data against tampering you should log out the Administrative user. Regular users have no ability to alter punch data, only to add punch data. Drag PHATClock and any of the other applications you wish to the Applications Folder.

USAGE:

PHATC Admin:
You can click the add button to add users, entering a username (numbers and letters, no spaces or punctuation) and a "real name" which just needs to be unique, and an ID number (which is also just a text field and can contain any normal text) You can delete users you have added by selecting them in the list and clicking the remove button. Modifying users (at this time) consists of removing the user and then re-adding. The user list on disk is not updated until you save. If you quit without saving, no changes will be made. There is no warning if you quit without saving.

PHATClock:
PHATClock is the punch-in / punch-out interface that gets used the most. It has a big clock and is almost simple enough for monkeys to use. In practice monkeys do much better with pictures, this interface does require 1st grade reading skills. Who is punched in is painfully obvious, and the interface gracefully handles 8 or so simultaneous logins. An infinite number of logins is theoretically supported, but the interface would keep you from logging out in an arbitrary order. Resize the window to show more or fewer names.

PHATC Reports:
At the end of the month you'd like to know how much time everyone has spent punched in. Run a report. Launch PHATC Reports, and specify as much information as you feel is necessary. Default behaviour is to summarize all users for all time up to now. Very short and simple reports as well as status messages are displayed in PHATC Reports. Anything more than the simplest of reports is opened by your system's default .txt editor, likely TextEdit. reports spanning years are summed up per year.

PHATC_Reports.php.command:
This is a command line utility with its own brief help available if launched with --help. If you like command line automation then this is your friend. If double clicked it will sum up all users for the past 2 weeks. Launching it with arguments makes it much more configurable. If you like using a mouse then the other reports application is probably more your style.

GENERAL INFORMATION:

The data is stored in /var/PHATClock/ and is plainly viewable to the administrative account (run installer.command if needed) and leverages the Liquid Binary Big-Endian Date Format. That is to say that larger time units are on the left and smaller time units on the right which has the convenient property of sorting itself chronologically in an alphabetical setting. For instance, in the year 2005, April 21st at 12:34 in the afternoon with 56 seconds would be 20050421.123456

If you wish to check or manipulate data you may do so in the /var/PHATClock directory. The directory structure should be plainly obvious. The punches directory is where the work is done and all reporting is done from here. The other directory is for user accounts and logging to audit the accuracy of PHATClock, and all user events as they happen. The userlists are .csv files with unix line feeds and the punch events are text files. login events contain a time stamp in milliseconds in the text and logout events contain the total time logged in (in milliseconds) in the text. Time logged in is derived from these -logout files. The naming is for convenience in viewing raw data. You should probably put this directory on a regular backup cycle if you care about the data.

If you need to move PHATClock to another machine, moving this directory to the equivalent location on the new machine and subsequently running the installer.command script on the new machine should bring everything up. Separating admin and punchin functions by users maintains security and it's not a terrible inconvenience if you enable fast-user-switching. This application was designed to run on Mac OS 10.3 or later, it just hasn't been tested anywhere else. Feel free to try, or to rewrite anything that doesn't work for you.

download v0.5 v0.5.1 v0.5.2 v0.52_source