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.
How the pieces relate
Section titled “How the pieces relate”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 for | Configuration section | Required |
|---|---|---|
| Object Type | Time configuration | Optional |
| Object Type | Week configuration | Optional |
Classes
Each belongs to one of the object types above.
| Needed for | Configuration section | Required |
|---|---|---|
| Class | Week configuration | Optional |
Properties
The data type is not advice. A property of the wrong type cannot be selected for the setting at all.
| Needed for | Configuration section | Data type | Required |
|---|---|---|---|
| Employee Property | Configuration | Lookup or Multi Select Lookup | Optional |
| Start Timestamp Property | Configuration | Timestamp | Optional |
| End Timestamp Property | Configuration | Timestamp | Optional |
| Week Property | Time configuration | Lookup or Multi Select Lookup | Optional |
| Week Number Property | Week configuration | Integer | Optional |
| Year Number Property | Week configuration | Integer | Optional |
Workflows
One per object type that the application drives through states.
| Needed for | Configuration section | Required |
|---|---|---|
| Workflow | Time workflow | Optional |
| Workflow | Week workflow | Optional |
Workflow states
States within the workflows above. Entering one is what triggers the work.
| Needed for | Configuration section | Required |
|---|---|---|
| Draft State | Time workflow | Optional |
| Sent to Admin State | Time workflow | Optional |
| Approved State | Time workflow | Optional |
| Draft State | Week workflow | Optional |
| Sent to Admin State | Week workflow | Optional |
| Approved State | Week workflow | Optional |
| Rejected State | Week workflow | Optional |
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.