Skip to content

Vault structure

Every setting in the CtrlSync configuration that names a piece of vault structure is listed here. None of them can be filled in until the thing it names exists, so this is the work that comes before configuration rather than during it.

A connection object type. This is the centre of CtrlSync and the thing most often missed: one object per SharePoint site or Teams channel. It holds the URL to synchronise, a flag saying whether it is active, and the status of the last run. Documents CtrlSync imports get a reference back to it.

Give connections their own object type rather than putting the properties on a project or a customer. A connection moves through its own workflow states as synchronisation is switched on, pauses and fails, and those transitions have nothing to do with where a project is in its own workflow.

Classes on that object type. CtrlSync behaves differently per class, so a class is how one deployment can treat a Teams channel and a SharePoint document library differently. One class exists by default when the object type is created.

Properties on the documents. Every document CtrlSync imports carries the Graph ID that identifies it in Microsoft 365 and the reference to its connection. Those two are what make a second run update a document rather than import it again.

Optional properties worth having anyway. The path property records where a document came from in SharePoint, which is what automation steps and property mappers work from. The status property is where CtrlSync writes the reason a connection failed, and without it the reason is only in the log.

CtrlSync binds 36 settings to something that has to exist in the vault, 8 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
Employee Object TypeEmployee configurationOptional

Classes

Each belongs to one of the object types above.

Needed forConfiguration sectionRequired
Connection Source ClassConnection configurationYes
Default Document ClassConnection configurationOptional
Source Error Assignment ClassConnection configurationOptional
Document Error Assignment ClassConnection configurationOptional
ClassClass entryYes

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
Data Source 'Active'Graph configurationBooleanYes
Data Source 'Error'Graph configurationBooleanYes
Data Source 'On Demand Sync'Graph configurationBooleanOptional
Data Source ReferenceGraph configurationLookup or Multi Select LookupOptional
Data Source StatusGraph configurationMulti Line TextOptional
Graph URLGraph configurationText or Multi Line TextYes
Graph IDGraph configurationTextYes
Drive IDGraph configurationTextOptional
Add Document to GraphGraph configurationBooleanOptional
Delete on GraphGraph configurationBooleanOptional
Deleted on GraphGraph configurationBooleanOptional
Document Hash CodeGraph configurationTextYes
Graph JSON DataGraph configurationMulti Line TextOptional
User PropertyEmployee configurationMulti Select Lookup or LookupOptional
Email PropertyEmployee configurationTextOptional
Path PropertyConnection configurationMulti Line TextOptional
Created-by propertyConnection configurationLookupOptional
Modified-by propertyConnection configurationLookupOptional
PropertyProperty entryAnyYes
Matching propertyPath property mappingBoolean or Date or Floating or Integer or Text or Multi Line Text or Lookup or Multi Select LookupOptional
Matching propertyName property mappingBoolean or Date or Floating or Integer or Text or Multi Line Text or Lookup or Multi Select LookupOptional
Matching propertyGraph property mappingBoolean or Date or Floating or Integer or Text or Multi Line Text or Lookup or Multi Select LookupOptional
Text PropertyColumn configurationAnyOptional
Multi-Line Text PropertyColumn configurationAnyOptional
Number PropertyColumn configurationInteger or Integer64 or FloatingOptional
Boolean PropertyColumn configurationBooleanOptional
DateTime PropertyColumn configurationDate or TimestampOptional

Workflows

One per object type that the application drives through states.

Needed forConfiguration sectionRequired
WorkflowWorkflow and starting stateOptional

Workflow states

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

Needed forConfiguration sectionRequired
Initial StateWorkflow and starting stateOptional

Named access control lists

Needed forConfiguration sectionRequired
Default Named Access Control ListConnection configurationOptional

Generated from CtrlSync 0.26.6.0.

  • A connection object can be created by hand with every property the configuration will ask for, and the URL property is multi-line text rather than text.
  • Exactly one class is set up for the first kind of connection you plan to synchronise.
  • The Graph ID property on documents is hidden or read-only on the metadata card.

Set up CtrlSync — step four, entering the Graph credentials.