Chapter 5. Design Criteria

This section describes the design criteria used for the component. It provides the rationale behind the design and helps to understand how the component works.

One of the criteria in the design is to make use of as much of the supplied Joomla functionality and provide familiarity of use with the standard Joomla components.

Nomenclature: We have used the phrase 'timesheet' throughout this document although one could equally use the phrase 'time sheet'. Which ever is used, the intent is to convey a mechanism to record time in a 'sheet' or 'form' for recording purposes.

Planning and Analysis

Effective project and program management is the key to completing on time and within budget. Within every project or program there are always multiple issues that need to be tracked, prioritised, and managed. Additionally there are often additions and improvements made as the project goes through its life cycle.

A company, whatever its size, will have a requirement to record the time spent upon various activities so that they may obtain a reasonable estimate of how much time, effort and ultimately cost is involved with the activities. These all impact the bottom line and hence profitability of the company. Most companies therefore have a form of time reporting where the employee enters a 'timesheet' recording the time spent against the various activities. The activities usually have a specific 'project code' associated with then to enable accounts to derive their figures.

Such submitted 'timesheet' usually need to be approved by a more senior member of staff to that of the submitter, before accounts accepts the report.

By using a Joomla component it is possible to easily record the time based activity in one central location. This approach offers each project/program lead access to just the data they need and makes it easier for management to determine the time resources being spent upon each activity.

Planning and Project Analysis

The first action is to define the application requirements. These are then used to design a database and an outline that describes how the user interface accepts and presents data.

The accounts department and the project/activity leads establish requirements that define the codes to be used to track time ensuring security for the data and any possible usage of the data, The design criteria is enclosed below for completeness; note however that the current implementation upon Joomla does not provide all of these facilities at present.

Gather the Necessary Data

To track and record the time information it is agreed that the application should include the following information:

  • Each activity to be tracked requires a unique 'cost/account' code.

  • Each account/cost code will have a description to make selection easier by the user.

  • All time recorded must be against a given code. No 'invented' codes are permitted.

  • All time recorded is for a given period such as weekly or monthly.

  • Weekly periods may be for a 5 day or a 7 day week.

  • Ideally it should be possible to specify the starting day for a week. Usually this will be a Sunday or a Monday.

  • Only the given user and their supervisor will have visibility of any given timesheet.

  • A timesheet has to have the ability be approved by a users supervisor.

  • Once approved the user should be unable to modify the already entered data under any circumstances.

  • Optionally once the user has submitted their timesheet, their supervisor should be an email notification informing them of the submission.

  • Optionally it would be nice to notify the user of the need to complete their timesheet if not submitted by a certain time/date.

[Note]Note

Not all of these requirements are met with the current release. As demand and circumstances permit, the missing requirements will be added with later releases.

Define Security Requirements

There is a need to control access to the information, they agree upon the following access rules:

  • Only the user and their superiors should be able to view the submitted data.

  • Each timesheet needs to be approved by a superior.

  • Once approved no further modification should be possible upon the data.

Joomla ACL permissions can be configured to achieve a number of these requirements. Others will be implemented as time permits.

Select Data Management Functions

The users must be able to:

  • Access the current and previous timesheets

  • Add new time against any given code.

  • Edit any given entry to modify the time or code if the sheet has not been approved.

Certain of these aspects need to be under control.

Select Data Presentation Functions

Once the data is entered, users need to view the data. The team decides that users must be able to view the following:

  • All time must be entered against a specific code.

  • Summaries by day.

  • Codes for items such as Vacation, Illness etc.

  • Ability to print out individual timesheets.

A spreadsheet or tabular form is considered best for recording and displaying the basic time information. Around this time data would be fields for comments/remarks.

Define Special Function Requirements

The following requirements would also be useful:

  • Notify users when timesheet are overdue.

  • Notify the supervisors when a timesheet is available for approval.

Some of these have not yet been implemented.

Handling of date fields.

Record hours are to be entered in decimals to two places. Hence half an hour would be 0.50 and a quarter of an hour would be recorded as 0.25.

Go To Top

Joomla! Debug Console

Session

Profile Information

Memory Usage

Database Queries