Customization

Customization

Reports

Reports are defined in a file called timesheet.rpts. The program looks for and, if found, loads the file in the following directory and in the following order:
  1. The lib directory that in the directory where the program resides.  This timesheet.rpts contains the standard reports.
  2. The .timeSheets directory of the users' current working directory.
  3. The .timeSheets directory of the users' home directory.
  4. The users' current working directory.
  5. The users' home directory.
The contents of the file conists of one or more sets of ReportName ReportDefinitionDictionary. The Report Definition of a report in a later file wih the same ReportName as that in an earlier file overides the definition in the earlier file.  A Report Definition Dictionary consist of the following keys and their values:
  • label -- The text to display on the report section dialog next to the radiobutton that selects this report.
  • query -- An SQL query that will return the contents of the reports when executed.  The following query parameters are available to be used in the query:
    • startday -- the speciified start day of the report
    • endday -- the specified ending day of the report
  • outputColumns -- A Tcl list specifing which of the columns from the query are to be output to the report file. 

Internationalization/Localization

Internationalizations/Localizations are defined using the core Tcl msgcat package.  Message catelog files will be loaded from  the following directory and in the following order:
  1. The msgcat directory of the lib directory that in the directory where the program resides.  For example see ROOT.msg.
  2. The msgcat  directory of .timeSheets directory of the users' home directory.
  3. The msgcat  directory of .timeSheets directory of the users' current working directory.
The message definitions in a later catelog file  overide the definitions in the earlier file.

For example, suppose you want to see "Job" and "Task" instead of "Category" and "Subcategory", you could create a ~/.timeSheets/msgcat/en.msg file with the following contents:
::msgcat::mcset en {Category} {Job}
::msgcat::mcset en {Subcategory} {Taks}
::msgcat::mcset en {To Categories for period} {To Jobs for period}
::msgcat::mcset en {To Subcategories for period} {To Tasks for period}
::msgcat::mcset en {In Category Percentage} {To Job Percentage}
::msgcat::mcset en {Category Total} {Job Total}
::msgcat::mcset en {Subcategory Total} {Task Total}

Back to  Home