If you would like IMS to customize Tock for your organization or consult with you to create other Internet/Intranet applications, please contact at sales@imservice.com or (415) 617-0701.
Other IMS web-based
solutions include an employee directory / "expert" locator,
project management system, computer-based training, operations monitoring, data
collection, newsfeed displays, and research and reporting applications.
About the Application
Tock is an application for logging time spent on projects, and generating
reports which can be used for payroll, billing, and project management.
This is an essential application for anyone whose business relies on
managing and reporting time spent on projects.
Technical Support & Contact Information
Tock is distributed free of charge as an unsupported application. However, IMS provides a Frequently Asked Questions (FAQ) forum for Tock users, and welcomes your comments and suggestions.
To REPORT BUGS or other critical issues, SUGGEST feature changes/additions, or just send your COMMENTS, send email to tock@imservice.com
If you would like IMS to install a CUSTOMIZED VERSION of Tock or to discuss the development of other Intranet/Internet applications, send email to sales@imservice.com or call (415) 617-0701.
Once you log in you will automatically go to the Hours Entry section.
You should see a graph displaying the days of the week and the hours entered for each day just above the "You must click Save..." message. If you do not, enable Java for your browser and reload the page. If you do not enable Java, you will get a Java Script error when you change a date or number of hours as the application attempts to update the graph.
To enter hours do the following:
Date: Enter date information in mm/dd/yy form. You may enter different dates for each seperate task line.
Project: Use the pop up menu, select the desired project. If a project is not listed, check the Preferences page. Add the project you want to your active projects and update your user information. If the project is not listed in the active project select list contact your administrator.
Type of Work: Using the pop up menu select the desired type of work. If a type of work category is not available, contact your administrator.
Hours: Use the pop up menu select the number of hours in quarterly hour increments.
Description: Type in comments that are associated with the hours you entered (250 character maximum).
When you are finished entering hours you must click
SAVE: This will save your hours to the database and put you back to the same screen ready to enter more hours.
*IMPORTANT* IF YOU HAVE A JAVA ENABLED BROWSER: Even though the hours you enter are reflected by the applet immediately, your hours will not be saved to the database until you click the SAVE button.
To view or edit hours that you have entered:
Step One: Enter the Date
The first step for all reports is to select a date range. If you do not select a date range your report will default to the last 7 days (including today).
To select a date range click on the radio button associated with either a set amount of time (last 7 days, last 14 days or month to date) or input your own date range in mm/dd/yy format.
Last 7 days, 14 days and month to date all include date from today.
Step Two: Choose either a summary or detail report
To run a summary report select how you want the report broken down from the pop up menu and click on the Create Summary Report button.
To run a detail report you first choose one of the four categories: Employee, Group, Project or Type of Work by clicking on the corresponding radio button. Then use the select list to choose the item for which you would like generate a report. Click Create Detail Report to produce the report.
You can edit your hours entries from the report section. Select your name in the employee list under Detail Report. Select all entries in the select list. Click CREATE DETAIL REPORT to run the report. Click a field of the entry you want to edit. Change whatever details you want, then click Update to save your changes.
Entering your information
Password: Your user name and a temporary password will be added to the system by your administrator. You may go in at any time to change your password by clicking on Change Password link. You will need to know your current password to change your password.
You can update most of your information by changing the text or selection lists on the preferences page and then clicking the SAVE CHANGES button.
Only your administrator can change your active status, full/part time status, and group.
User Preferences
Active Projects: The projects you select here will show up on your hours entry page. You may select as many as you like (you may need to hold down the control or apple key to make multiple selections). If a project you will be working on is not listed, contact your administrator.
Default Project: Select the project that you work on the most often from the pop up menu (it must be one of your active projects). Your enter hours page will default to this project if no other project is selected.
Default Type of Work: Select the type of work that you do the most often from the pop up menu. Your enter hours page will default to this type of work if no other type of work is selected.
After making any changes click on SAVE CHANGES and your information will be updated to the database.
Add User: Enter the user's information and click on Add User. Required information is: first name, last name, user name, temporary password, group, and project information. You can update this information at any time. Only administrators can edit the active status, full/part time status, and group fields. The user's login, password, first name, last name, title, email, and phone can not contain double quotes. The user's email and phone can not contain single quotes.
Add Group: Type in the group name. Choose group members from the select list. You may select as many as you wish (you may need to hold down the control or apple key to make multiple selections). Remember, a user can only be a member of one group at a time. Click on Add Group. The group name can not contain single or double quotes.
Add Project: Type in the project name. Choose Active or Inactive, and Billable or Non Billable from the select lists. Click on Add Project. The project name can not contain single or double quotes.
Add Type of Work: Type in the name of the new type of work. Click on Add Type of Work. The name of the type of work can not contain single or double quotes.
Edit User: Choose a user from the select list that you would like to edit and click on USER. Follow the same directions for Add User to edit user information. Click SAVE CHANGES to update the user information. To delete a user click on Delete User. You may only delete a user if they have never entered any hours. If you want to prevent a user from logging in, make the user inactive. The user's login, password, first name, last name, title, email, and phone can not contain double quotes. The user's email and phone can not contain single quotes.
Reset Password: If a user has forgotten his or her password, select the user from the list and click USER. From the user information screen, click on Reset Password. This will reset the user's password to his or her user id.
Edit Group: To edit the group name only, change the name and then click on UPDATE THIS GROUP. You can also move users into and out of the group you are editing. A user can only be in one group at a time. If you remove a user from a group they will be put into the special group called No Group. If you add a user to a group you will automatically take him or her out of the group he or she is in currently.
Group Members, Group Name: If you choose a name from this select list and click on UPDATE THIS GROUP this person will be removed from the group and added to No Group. The group name can not contain single or double quotes.
All Other Employees: If you choose a name from this select list and click on UPDATE THIS GROUP this person will be added to the group which you are editing and deleted from whatever group s/he was in previously.
Deleting a Group: You may only delete a group if it has no members. Once you remove all of the members, click on DELETE THIS GROUP.
Edit a Project: You may a edit the project name by changing the text and clicking on UPDATE PROJECT. You may also change the status of a project: Inactive or Active and Billable or Non Billable; by selecting the correct status from the select lists and then clicking on UPDATE PROJECTS. A project cannot be deleted if hours have been entered for it. If you no longer need a project, make it project inactive. The project name can not contain single or double quotes.
Edit Type of Work: You may change the type of work by changing the text and then clicking on UPDATE TYPE OF WORK. You may not delete a category if hours have been entered using that type of work.
The name of the type of work can not contain single or double quotes.
Tock also stores a number of useful data items using client cookies. These cookies are used to store items such as the user's id, login name, full name, default project, default category, list of active projects, and the page the user came from.
In addition to cookies, Tock uses a simple security scheme to verify that the user has actually passed through the login screens. This consists of setting a cookie whose name is determined at login time, and then checking whether this cookie is set before displaying a page.
Some pages in this application should never be accessed directly, such as pages that perform database actions based on form input. In order to access one of these pages, the prevPage cookie must be set to the correct value. The only way to set this value correctly is to click submit on the page which provides the form input for the page. This prevents users from typing in URLs and seeing pages they shouldn't.
On each page, the function checkPrevPage is called with the name of the current page. This function
A similar process is used to check a user's admin status before displaying pages that only admins should be able to see. The function lookupAdminStatus performs a database query to determine whether a user has admin privileges.
The hours entry screen contains a Java applet which graphs a user's hours based on entries in the database. It also takes advantage of Live Connect to update the graph every time the user enters hours on the form. The date field, hours, and hours fraction fields all have onChange event handlers which determine if the graph should be updated, and if so, call a Java method to instantly change the graph.
The date field uses a Java Script function to ensure that the user has entered a valid date. A warning pops up if the date is not valid.
The list of projects each user sees is determined at page generation time from the user's list of active projects in the database. This list can be changed at any time using the preferences screen. Any projects which are made inactive will not appear in the list.
If a user attempts to enter more than 24 hours for a single day this week, a warning pops up and the hours for the entry are reset. For hours outside this week, the user cannot enter more than 24 hours on the form. As the hours entries are inserted into the database, each entry is checked to see whether it puts the user over 24 hours for a day. If so, the hours for that are set to 0, all other information is retained, and the user is warned and asked to edit the entries for that day.
Comments have a maximum length of 250 characters. If the user types a comment longer than this, the user has the option of truncating the comment or editing it to be under 250 characters.
The reports screen uses Java Script to ensure that the date range entered by the user is valid and that the user has selected an item from the select list for they type of report s/he wants to generate. The radio button next to each select list is checked automatically using the onChange event handler when the user selects an item from the select list.
The preferences screen uses Java Script functions to ensure that all entries are valid and that a user's default project is also one of her/his active projects. Clicking save changes causes the information to be updated in the database and forces a reload of the user's preference information.
The admin screen uses Java Script to ensure that a user has chosen an item to edit before clicking the submit button. Each of the screens in the admin interface also uses Java Script to validate user input. For groups, projects, and work types, a Java Script function called when the user clicks Save checks that the name of the item is not already being used. Names are also checked for length limits and illegal characters.
A delete button is only displayed if the item can be deleted without violating database integrity constraints. This is determined as the page is generated by querying the database about the existence of items which would prevent a legal delete.
After adding or editing an item, the default status line message is set to a message reflecting the change with the onLoad event handler. The onUnload event handler is used to turn the message off once the user leaves the page.