Loading...
 

Timesheets

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: {  }


List of wiki pages in profiles.t.o related to this profile:

Category: beta