A Simple TimeSheet - Setup

ASTS allows a group of people to record the hours worked on a variety of Projects. Each Project can be divided into a number of different Tasks. There are global Projects and Tasks as well as personal Projects and Tasks for each user. Weekly reports by User or Project can also be generated.

NOTE: ASTS provides absolutely no security features! It assumes an environment of trust.


To install ASTS -

  1. Extract the files from the ASTS-n.n.tar.gz file. (Where n.n is the current version)

    This will create an ASTS-n.n directory containing the following files -
    A perl module containing common functions and variables.
    A module for creating custom data fields.
    A sample implementation of an ASTSCustomData module.
    The login page. This is the entry point to the system. Users should link to this file.
    The main TimeSheet page.
    The personal Project and Task list editing page.
    The User report page.
    The Project report page.
    The sample global list of Projects.
    The sample global list of Tasks.
    The HTML version of this help file.
    Help on using A Simple TimeSheet
    The medium sized ASTS logo image. Used on the help pages.
    The small sized ASTS logo image. Used in the TimeSheet pages.
    The icon to display in the browser title area.
    The plain text version of this help file.
    A script to convert ASTS-1.2 .csv files to the new format.
  2. Create a link called ASTS to the extracted directory in your cgi-bin directory.
    (Something like:
    cd /var/www/cgi-bin; ln -s /usr/local/src/ASTS-n.n ASTS
    should do the trick)

  3. Create a link to the cgi-bin/ASTS directory in your DocumentRoot directory. (This makes the help pages accessible)

    Note: The above assumes that your web server is configured to allow symbolic links to be followed from the cgi-bin and DocumentRoot directories ('Options FollowSymLinks' for apache). You may prefer to copy the files instead.

  4. Create the project_list and task_list files that contain your organisation's own global Projects and Tasks. Lines starting with 3 or more dashes are treated as separators and are disabled in the select list.
    You may like to copy and edit the project_list.sample and task_list.sample files that are included in the distribution.

  5. Set ownership and permissions on the ASTS/data directory so that your httpd process can create and write to files in it.
    (chown -R apache:apache /usr/local/src/ASTS-n.n works for me)

  6. Edit the $admin_name and $admin_email variables near the top of These set the mailto: link at the bottom of the TimeSheet page.
    You may also like to edit the $title and $version variables to customise the main text of the heading.
    The date format used in the Moday selector can be customised by uncommenting your preferred format in the format_date_string function and commenting out the others.

  7. If you wish to add custom data fields.
    Edit the file to add your own fields. You only need to set the values of the three arrays @custom_headers, @custom_widths and @custom_user_report to add simple text input columns.
    The file gives an example of adding a text input column and a column which uses a <select> input element.

  8. Convert the .csv files from the previous format if you need to.
    copy to your data directory
    ./ *csv

User Files

ASTS stores user files in the data subdirectory. All user filenames are based on a normalised version of the name entered on the login page. The entered name is first converted to lowercase, then any sequence of non alphanumeric characters is replaced by a single underscore and leading or trailing cruft is removed. A name entered as 'User Name' will be converted to 'user_name'.
Similarly the date of the starting Monday is taken from the date selector and normalised using the same algorithm.
A date such as 25/12/2006 will become 25_12_2006.

The files that are created are :

These files contain the TimeSheet data for user user_name for the week starting on Monday, [date] saved in the native CGI format. This is the file that is used to reload a TimeSheet.
The TimeSheet data saved in comma separated values (csv) format. Suitable for importing into a spreadsheet.
The personal list of Projects for user user_name.
The personal list of Tasks for user user_name.

Copyright (c) 2002-2007 - John Lemcke