About
This is a demo profile that sets up Tiki as a timesheet tracker - it enables tracker feature and sets up a sample timesheet tracker with ability to import into/export from it. Main inspiration comes from
Federated timesheets project
Requirements
Current Tiki master version (future Tiki 25). Timesheet tracking itself will work with Tiki 21+ but special import/export features will only be available in latest Tiki version.
Profiles Code (YAML)
YAML
permissions: { }
preferences:
feature_trackers: 'y'
tracker_change_field_type: 'y'
tracker_field_rules: 'y'
tracker_refresh_itemslist_detail: 'y'
tracker_show_comments_below: 'y'
tracker_system_currency: 'y'
tracker_tabular_enabled: 'y'
trackerfield_autoincrement: 'y'
trackerfield_currency: 'y'
trackerfield_dropdownother: 'y'
trackerfield_dynamiclist: 'y'
trackerfield_file: 'y'
trackerfield_groupselector: 'y'
trackerfield_image: 'y'
trackerfield_itemslist: 'y'
trackerfield_math: 'y'
trackerfield_relation: 'y'
trackerfield_usergroups: 'y'
wikiplugin_colorbox: 'y'
wikiplugin_customsearch: 'y'
wikiplugin_footnote: 'y'
wikiplugin_icon: 'y'
wikiplugin_jq: 'y'
wikiplugin_js: 'y'
wikiplugin_listexecute: 'y'
wikiplugin_objectlink: 'y'
wikiplugin_pivottable: 'y'
wikiplugin_preference: 'y'
wikiplugin_preview: 'y'
wikiplugin_sign: 'y'
wikiplugin_tr: 'y'
wikiplugin_trackercalendar: 'y'
wikiplugin_trackerquerytemplate: 'y'
feature_wiki: 'y'
wikiHomePage: '$profileobject:timesheets_homepage$'
objects:
-
type: tracker
ref: timesheets
_id: '71'
_timestamp: 1649759998
data:
name: Timesheets
description: ''
restrict_end: '0'
form_classes: ''
restrict_start: '0'
-
type: tracker_field
ref: timesheets_tsUser
_id: '986'
_timestamp: 1649759998
data:
name: User
permname: tsUser
tracker: '$profileobject:timesheets$'
options:
autoassign: 1
owner: 1
notify_template_format: text
groupIds:
- 0
canChangeGroupIds:
- 0
showRealname: 1
type: user
order: '0'
visby: { }
editby: { }
flags:
- link
- list
- public
- mandatory
-
type: tracker_field
ref: timesheets_tsProject
_id: '990'
_timestamp: 1649759998
data:
name: Project
permname: tsProject
tracker: '$profileobject:timesheets$'
options:
samerow: 1
autocomplete: 'n'
exact: 'n'
type: text_field
order: '10'
visby: { }
editby: { }
flags:
- link
- list
- public
-
type: tracker_field
ref: timesheets_tsTask
_id: '991'
_timestamp: 1649759998
data:
name: Task
permname: tsTask
tracker: '$profileobject:timesheets$'
options:
samerow: 1
autocomplete: 'n'
exact: 'n'
type: text_field
order: '20'
visby: { }
editby: { }
flags:
- link
- list
- public
-
type: tracker_field
ref: timesheets_tsDescription
_id: '989'
_timestamp: 1649759998
data:
name: Description
permname: tsDescription
tracker: '$profileobject:timesheets$'
options:
distinct: 'n'
wysiwyg: 'n'
samerow: 1
type: text_area
order: '30'
visby: { }
editby: { }
flags:
- link
- list
- public
-
type: tracker_field
ref: timesheets_tsStartTime
_id: '992'
_timestamp: 1649759998
data:
name: 'Start Time'
permname: tsStartTime
tracker: '$profileobject:timesheets$'
options:
datetime: dt
blankdate: blank
type: calendar
order: '40'
visby: { }
editby: { }
flags:
- list
- public
-
type: tracker_field
ref: timesheets_tsEndTime
_id: '993'
_timestamp: 1649759998
data:
name: 'End Time'
permname: tsEndTime
tracker: '$profileobject:timesheets$'
options:
datetime: dt
blankdate: blank
type: calendar
order: '50'
visby: { }
editby: { }
flags:
- list
- public
-
type: tracker_field
ref: timesheets_tsDate
_id: '987'
_timestamp: 1649759998
data:
name: Date
permname: tsDate
tracker: '$profileobject:timesheets$'
options:
datetime: d
blankdate: blank
type: calendar
order: '60'
visby: { }
editby: { }
flags:
- list
- public
-
type: tracker_field
ref: timesheets_tsDuration
_id: '988'
_timestamp: 1649759998
data:
name: Duration
permname: tsDuration
tracker: '$profileobject:timesheets$'
options:
minutes: 1
hours: 1
type: DUR
order: '70'
visby: { }
editby: { }
flags:
- list
- public
-
type: tracker_field
ref: timesheets_tsMinutesCalculated
_id: '994'
_timestamp: 1649759998
data:
name: 'Minutes (Calculated)'
permname: tsMinutesCalculated
tracker: '$profileobject:timesheets$'
options:
calculation: '(coalesce (round (div tsDuration 60) 0) (round (div (sub tsEndTime tsStartTime) 60) 0) 0)'
recalculate: index
type: math
order: '80'
visby: { }
editby: { }
flags:
- link
- list
- public
-
type: tracker_field
ref: timesheets_tsHoursCalculated
_id: '995'
_timestamp: 1649759998
data:
name: 'Hours (Calculated)'
permname: tsHoursCalculated
tracker: '$profileobject:timesheets$'
options:
calculation: '(round (div tsMinutesCalculated 60) 2)'
recalculate: index
type: math
order: '90'
visby: { }
editby: { }
flags:
- link
- list
- public
-
type: tracker_field
ref: timesheets_tsURI
_id: '996'
_timestamp: 1651067326
data:
name: URI
permname: tsURI
tracker: '$profileobject:timesheets$'
options:
calculation: '(coalesce tsURI (concat base_url (str api/trackers/) trackerId (str /items/) itemId))'
recalculate: index
type: math
order: '100'
visby: { }
editby: { }
flags:
- list
- public
-
type: tracker_option
ref: timesheets_sort_default_field
_id: sort_default_field-71
_timestamp: 1649759998
data:
tracker: '$profileobject:timesheets$'
name: sort_default_field
value: modification
-
type: tabular
ref: timesheet_full
_id: '16'
_timestamp: 1649764847
data:
name: 'Timesheet - Full'
tracker: '$profileobject:timesheets$'
fields:
-
label: URI
field: '$profileobject:timesheets_tsURI$'
mode: default
remoteField: ''
displayAlign: left
isPrimary: 'y'
isReadOnly: 'n'
isExportOnly: 'n'
isUniqueKey: 'n'
-
label: User
field: '$profileobject:timesheets_tsUser$'
mode: username
remoteField: ''
displayAlign: left
isPrimary: 'n'
isReadOnly: 'n'
isExportOnly: 'n'
isUniqueKey: 'n'
-
label: Project
field: '$profileobject:timesheets_tsProject$'
mode: default
remoteField: ''
displayAlign: left
isPrimary: 'n'
isReadOnly: 'n'
isExportOnly: 'n'
isUniqueKey: 'n'
-
label: Task
field: '$profileobject:timesheets_tsTask$'
mode: default
remoteField: ''
displayAlign: left
isPrimary: 'n'
isReadOnly: 'n'
isExportOnly: 'n'
isUniqueKey: 'n'
-
label: Description
field: '$profileobject:timesheets_tsDescription$'
mode: default-raw
remoteField: Issue
displayAlign: left
isPrimary: 'n'
isReadOnly: 'n'
isExportOnly: 'n'
isUniqueKey: 'n'
-
label: 'Start Time'
field: '$profileobject:timesheets_tsStartTime$'
mode: 'long datetime format'
remoteField: ''
displayAlign: left
isPrimary: 'n'
isReadOnly: 'n'
isExportOnly: 'n'
isUniqueKey: 'n'
-
label: 'End Time'
field: '$profileobject:timesheets_tsEndTime$'
mode: 'long datetime format'
remoteField: ''
displayAlign: left
isPrimary: 'n'
isReadOnly: 'n'
isExportOnly: 'n'
isUniqueKey: 'n'
-
label: Date
field: '$profileobject:timesheets_tsDate$'
mode: yyyy-mm-dd
remoteField: ''
displayAlign: left
isPrimary: 'n'
isReadOnly: 'n'
isExportOnly: 'n'
isUniqueKey: 'n'
-
label: Duration
field: '$profileobject:timesheets_tsDuration$'
mode: default
remoteField: ''
displayAlign: left
isPrimary: 'n'
isReadOnly: 'n'
isExportOnly: 'n'
isUniqueKey: 'n'
-
label: 'Minutes (Calculated)'
field: '$profileobject:timesheets_tsMinutesCalculated$'
mode: default
remoteField: ''
displayAlign: left
isPrimary: 'n'
isReadOnly: 'n'
isExportOnly: 'n'
isUniqueKey: 'n'
-
label: 'Hours (Calculated)'
field: '$profileobject:timesheets_tsHoursCalculated$'
mode: default
remoteField: ''
displayAlign: left
isPrimary: 'n'
isReadOnly: 'n'
isExportOnly: 'n'
isUniqueKey: 'n'
filters: { }
config:
simple_headers: 1
import_update: 1
ignore_blanks: 0
import_transaction: 0
bulk_import: 0
skip_unmodified: 0
encoding: ''
format: ''
odbc_config: { }
-
type: tabular
ref: timesheet_time
_id: '17'
_timestamp: 1649764859
data:
name: 'Timesheet - Time'
tracker: '$profileobject:timesheets$'
fields:
-
label: 'User name'
field: '$profileobject:timesheets_tsUser$'
mode: username
remoteField: ''
displayAlign: left
isPrimary: 'n'
isReadOnly: 'n'
isExportOnly: 'n'
isUniqueKey: 'n'
-
label: 'Project name'
field: '$profileobject:timesheets_tsProject$'
mode: default
remoteField: ''
displayAlign: left
isPrimary: 'n'
isReadOnly: 'n'
isExportOnly: 'n'
isUniqueKey: 'n'
-
label: Issue
field: '$profileobject:timesheets_tsDescription$'
mode: default-raw
remoteField: ''
displayAlign: left
isPrimary: 'n'
isReadOnly: 'n'
isExportOnly: 'n'
isUniqueKey: 'n'
-
label: Time
field: '$profileobject:timesheets_tsDuration$'
mode: default
remoteField: ''
displayAlign: left
isPrimary: 'n'
isReadOnly: 'n'
isExportOnly: 'n'
isUniqueKey: 'n'
-
label: 'Start date'
field: '$profileobject:timesheets_tsStartTime$'
mode: 'long datetime format'
remoteField: ''
displayAlign: left
isPrimary: 'n'
isReadOnly: 'n'
isExportOnly: 'n'
isUniqueKey: 'n'
-
label: 'End date'
field: '$profileobject:timesheets_tsEndTime$'
mode: 'long datetime format'
remoteField: ''
displayAlign: left
isPrimary: 'n'
isReadOnly: 'n'
isExportOnly: 'n'
isUniqueKey: 'n'
filters: { }
config:
simple_headers: 1
import_update: 1
ignore_blanks: 0
import_transaction: 0
bulk_import: 0
skip_unmodified: 0
encoding: ''
format: ''
odbc_config: { }
-
type: wiki_page
ref: timesheets_entry_start_and_end_time
_id: 'Timesheets entry - start and end time'
_timestamp: 1649767998
data:
name: 'Timesheets entry - start and end time'
content: 'wikicontent:Timesheets entry - start and end time'
lang: en
wysiwyg: 'n'
-
type: wiki_page
ref: timesheets_entry_date_and_duration
_id: 'Timesheets entry - date and duration'
_timestamp: 1649768009
data:
name: 'Timesheets entry - date and duration'
content: 'wikicontent:Timesheets entry - date and duration'
lang: en
wysiwyg: 'n'
-
type: wiki_page
ref: timesheets_homepage
_id: 'Timesheets homepage'
_timestamp: 1649769181
data:
name: 'Timesheets homepage'
content: 'wikicontent:Timesheets homepage'
lang: en
wysiwyg: 'n'
-
type: wiki_page
ref: timesheets_list
_id: 'Timesheets list'
_timestamp: 1649769186
data:
name: 'Timesheets list'
content: 'wikicontent:Timesheets list'
lang: en
wysiwyg: 'n'
unknown_objects: { }
Related pages
List of wiki pages in profiles.t.o related to this profile: