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:
0:
type: tracker
ref: timesheets
_id: '71'
_timestamp: 1649759998
data:
name: Timesheets
description: ''
restrict_end: '0'
form_classes: ''
restrict_start: '0'
1:
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
2:
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
3:
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
4:
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
5:
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
6:
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
7:
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
8:
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
9:
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
10:
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
11:
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
12:
type: tabular
ref: timesheet_full
_id: '16'
_timestamp: 1649764847
data:
name: 'Timesheet - Full'
tracker: '$profileobject:timesheets$'
fields:
-
label: 'Item ID'
field: itemId
mode: id
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: ''
odbc_config: { }
13:
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: ''
odbc_config: { }
14:
type: preference
ref: null
_id: feature_trackers
_timestamp: 1649765553
data:
_is_fake: true
15:
type: preference
ref: null
_id: tracker_change_field_type
_timestamp: 1649765553
data:
_is_fake: true
16:
type: preference
ref: null
_id: tracker_field_rules
_timestamp: 1649765553
data:
_is_fake: true
17:
type: preference
ref: null
_id: tracker_refresh_itemslist_detail
_timestamp: 1649765554
data:
_is_fake: true
18:
type: preference
ref: null
_id: tracker_show_comments_below
_timestamp: 1649765554
data:
_is_fake: true
19:
type: preference
ref: null
_id: tracker_system_currency
_timestamp: 1649765554
data:
_is_fake: true
20:
type: preference
ref: null
_id: tracker_tabular_enabled
_timestamp: 1649765554
data:
_is_fake: true
21:
type: preference
ref: null
_id: trackerfield_autoincrement
_timestamp: 1649765554
data:
_is_fake: true
22:
type: preference
ref: null
_id: trackerfield_currency
_timestamp: 1649765554
data:
_is_fake: true
23:
type: preference
ref: null
_id: trackerfield_dropdownother
_timestamp: 1649765555
data:
_is_fake: true
24:
type: preference
ref: null
_id: trackerfield_dynamiclist
_timestamp: 1649765555
data:
_is_fake: true
25:
type: preference
ref: null
_id: trackerfield_file
_timestamp: 1649765555
data:
_is_fake: true
26:
type: preference
ref: null
_id: trackerfield_groupselector
_timestamp: 1649765555
data:
_is_fake: true
27:
type: preference
ref: null
_id: trackerfield_image
_timestamp: 1649765555
data:
_is_fake: true
28:
type: preference
ref: null
_id: trackerfield_itemslist
_timestamp: 1649765555
data:
_is_fake: true
29:
type: preference
ref: null
_id: trackerfield_math
_timestamp: 1649765556
data:
_is_fake: true
30:
type: preference
ref: null
_id: trackerfield_relation
_timestamp: 1649765556
data:
_is_fake: true
31:
type: preference
ref: null
_id: trackerfield_usergroups
_timestamp: 1649765556
data:
_is_fake: true
32:
type: preference
ref: null
_id: wikiplugin_colorbox
_timestamp: 1649765556
data:
_is_fake: true
33:
type: preference
ref: null
_id: wikiplugin_customsearch
_timestamp: 1649765556
data:
_is_fake: true
34:
type: preference
ref: null
_id: wikiplugin_footnote
_timestamp: 1649765557
data:
_is_fake: true
35:
type: preference
ref: null
_id: wikiplugin_icon
_timestamp: 1649765557
data:
_is_fake: true
36:
type: preference
ref: null
_id: wikiplugin_jq
_timestamp: 1649765557
data:
_is_fake: true
37:
type: preference
ref: null
_id: wikiplugin_js
_timestamp: 1649765557
data:
_is_fake: true
38:
type: preference
ref: null
_id: wikiplugin_listexecute
_timestamp: 1649765558
data:
_is_fake: true
39:
type: preference
ref: null
_id: wikiplugin_objectlink
_timestamp: 1649765558
data:
_is_fake: true
40:
type: preference
ref: null
_id: wikiplugin_pivottable
_timestamp: 1649765558
data:
_is_fake: true
41:
type: preference
ref: null
_id: wikiplugin_preference
_timestamp: 1649765558
data:
_is_fake: true
42:
type: preference
ref: null
_id: wikiplugin_preview
_timestamp: 1649765559
data:
_is_fake: true
43:
type: preference
ref: null
_id: wikiplugin_sign
_timestamp: 1649765559
data:
_is_fake: true
44:
type: preference
ref: null
_id: wikiplugin_tr
_timestamp: 1649765559
data:
_is_fake: true
45:
type: preference
ref: null
_id: wikiplugin_trackercalendar
_timestamp: 1649765559
data:
_is_fake: true
46:
type: preference
ref: null
_id: wikiplugin_trackerquerytemplate
_timestamp: 1649765560
data:
_is_fake: true
47:
type: wiki_page
ref: enter_time_start_and_end_time
_id: 'Enter time - start and end time'
_timestamp: 1649767998
data:
name: 'Enter time - start and end time'
content: 'wikicontent:Enter time - start and end time'
lang: en
wysiwyg: 'n'
48:
type: wiki_page
ref: enter_time_date_and_duration
_id: 'Enter time - date and duration'
_timestamp: 1649768009
data:
name: 'Enter time - date and duration'
content: 'wikicontent:Enter time - date and duration'
lang: en
wysiwyg: 'n'
50:
type: preference
ref: null
_id: feature_wiki
_timestamp: 1649768336
data:
_is_fake: true
51:
type: preference
ref: null
_id: wikiHomePage
_timestamp: 1649768358
data:
_is_fake: true
52:
type: wiki_page
ref: timesheets_homepage
_id: 'Timesheets homepage'
_timestamp: 1649769181
data:
name: 'Timesheets homepage'
content: 'wikicontent:Timesheets homepage'
lang: en
wysiwyg: 'n'
53:
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: