Skip to content

Vault structure

CtrlTime needs three object types. A vault that already records time can keep the objects it has, provided they carry the properties below with the right data types.

An employee object represents a person, and refers to their M-Files account through a lookup property. Exactly one employee object should point at each user account — two makes a time booking ambiguous, and nothing detects that for you.

A time object is one entry. It has a name, a start and an end, a number of hours, the employee it belongs to, and a reference to whatever the time was spent on. Classes on this object type are how one deployment separates, say, internal time from customer time.

Start and end are timestamps, not dates. A date property loses the time of day, and the calendar cannot place the entry.

A week object groups an employee’s time entries into a week. Moving an entry from one week to another in the calendar selects or creates the right week object, and moving a week from draft to approval takes its time entries with it. This is the object type most vaults do not already have.

CtrlTime binds 18 settings to something that has to exist in the vault, 0 of them required. Everything below is generated from the shipping application, so nothing it needs is missing from this list.

Object types

Create these first; classes and properties hang off them.

Needed forConfiguration sectionRequired
Object TypeTime configurationOptional
Object TypeWeek configurationOptional

Classes

Each belongs to one of the object types above.

Needed forConfiguration sectionRequired
ClassWeek configurationOptional

Properties

The data type is not advice. A property of the wrong type cannot be selected for the setting at all.

Needed forConfiguration sectionData typeRequired
Employee PropertyConfigurationLookup or Multi Select LookupOptional
Start Timestamp PropertyConfigurationTimestampOptional
End Timestamp PropertyConfigurationTimestampOptional
Week PropertyTime configurationLookup or Multi Select LookupOptional
Week Number PropertyWeek configurationIntegerOptional
Year Number PropertyWeek configurationIntegerOptional

Workflows

One per object type that the application drives through states.

Needed forConfiguration sectionRequired
WorkflowTime workflowOptional
WorkflowWeek workflowOptional

Workflow states

States within the workflows above. Entering one is what triggers the work.

Needed forConfiguration sectionRequired
Draft StateTime workflowOptional
Sent to Admin StateTime workflowOptional
Approved StateTime workflowOptional
Draft StateWeek workflowOptional
Sent to Admin StateWeek workflowOptional
Approved StateWeek workflowOptional
Rejected StateWeek workflowOptional

Generated from CtrlTime 1.26.1.0.

  • Exactly one employee object points at each user account.
  • The time object’s start and end properties are timestamps, and its hours property is a real number rather than an integer.
  • A week object can be created with a year, a week number and an employee.

Set up CtrlTime — step three, configuring CtrlTime against these objects.