SureDrive Properties
This page documents the SureDrive Properties page — the central configuration hub for a SureDrive project. It covers the Angular route and controller, queue-enable flags, external repository integration, blinding rules, and workflow metrics.
Overview
The Properties page is accessed from the Project Dashboard overflow menu → SureDrive Properties. It is the administrative entry point for configuring all project-level settings: enabling document queues, linking external repositories (SharePoint, Google Drive), managing the Project Setup Checklist, editing workflow metrics, and managing organisation roles, organisations, and persons.
Key owning modules:
- UI:
suredms-web-client—network/study/properties/andnetwork/study/blinding/ - Domain model:
suredms-common— project/archive entity model
Angular Route
File: SC/suredms-web-client/src/main/webapp/app/js/state/app-states.js
State: app.network.study.browse.properties
Note: The route
app.network.management.browse.propertiesregistered inapp-states-management.jsis a separate page for SureCTMS management project properties, served byManagementProjectPropertiesController. The SureDrive properties page documented here isapp.network.study.browse.propertiesinapp-states.js.
Controller
File: SC/suredms-web-client/src/main/webapp/app/js/network/study/properties/study-properties.js
Controller: StudyPropertiesController
This controller owns all property panel tabs and sub-sections. It loads the project's current configuration on activation and saves changes back via the backend connection service.
Properties Sections
Study Properties
The core tab displays project metadata and toggles for optional document queue features:
| Setting | Description |
|---|---|
| Project size | Estimated volume of documents for the project |
| Planned sites | Number of clinical sites participating |
| Metadata terms | Project-level metadata term definitions |
| Project profile | Custom profile fields |
| Acquire Queue toggle | Enables the Acquire Queue for this SureDrive; documents uploaded by external users land here before moving to the main archive |
| Quality Queue toggle | Enables the Quality Queue; documents with open discrepancies are tracked here |
| QC OK toggle | Enables the QC OK workflow step within quality review |
The Acquire Queue and Quality Queue toggles are managed within StudyPropertiesController and stored as flags on the archive entity. Both queues are disabled by default and must be explicitly enabled per SureDrive.
Project Setup Checklist
A user-defined checklist of setup tasks. Items can be added, marked complete, and deleted. This is a lightweight tracking mechanism for administrators during SureDrive configuration.
Repositories
Files: studyProperties.externalSources.sharepoint and studyProperties.externalSources.googleDrive within study-properties.js
Links external document repositories to the SureDrive project. Supported sources:
| Repository | Integration |
|---|---|
| Microsoft SharePoint | Configured with SharePoint site URL, credentials, and library selection; documents can be imported directly from SharePoint into SureDrive (see Connectors) |
| Google Drive | Linked via OAuth; allows importing Google Drive files as SureDrive documents |
Workflow Metrics
Navigates to the workflow metrics sub-state via $state.go("app.network.study.browse.workflow-metrics", ...). Workflow metrics track planned duration and completion phases for each workflow type configured on the project. Fields per metric:
- Workflow type
- Phase
- Planned duration
Admins can add, edit, and delete metrics within this sub-view.
Organisation Roles, Organisations, and Persons Tabs
Three additional tabs provide team configuration access from within Properties. These tabs overlap with the Team menu (see Team Management) — they provide direct access to the same underlying data without leaving the Properties page.
Blinding Rules
File: SC/suredms-web-client/src/main/webapp/app/js/network/study/blinding/study-blinding-rules.js
Controller: StudyBlindingRulesController
Accessed via the Project Dashboard overflow menu → Blinding Rules. Blinding rules layer fine-grained access restrictions on top of system roles — a user's role may grant general read access, but a blinding rule can further restrict which content types or folders they see within a specific SureDrive.
Each blinding rule is modelled as an ExpandedArchiveAclRule (see Role-Based Access Control) and carries:
| Dimension | Description |
|---|---|
| Target archive | The specific SureDrive the rule applies to |
| Users | Set of user IDs covered by this rule |
| Content types | Which content type folders are visible (hidden) or editable (writable) |
| Organisations | Which organisations are visible or editable |
| Documents | Which individual documents are hidden |
The rules list view shows: entity (folder/document), affected users, modification date, and the last modifying user. Filter by entity or username; toggle inactive rules. Per-rule actions: Edit Rule, Delete Rule.
At the data layer, blinding rules are stored and evaluated via ContentVisibilityService (see Document Management).
Help Reference
| Topic | File |
|---|---|
| SureDrive Properties | Help/contents/Content_Repo/Viewing-the-SureDrive-Properties_73859091.html |
| Blinding Rules | Help/contents/Content_Repo/Viewing-and-Managing-Blinding-Rules-in-SureDrive_654966840.html |
Key Source Files Reference
Export, Lock, and Delete
Review note: These operations are currently documented here as an overview. A future pass should break them out into a dedicated Operations document with full details on each operation's backend parameters, error cases, and permission requirements.
Export
File: SC/suredms-web-client/src/main/webapp/app/js/network/study/export/study-export.js
Controller: StudyExportController
Route state: app.network.study.browse.export (URL: /export?entityId)
Export Modes
StudyExportController.onExportModeChange() switches between two export modes:
| Mode | Formats Available | Description |
|---|---|---|
| Basic | ZIP | Flat export of all documents as a zip archive |
| Custom | ZIP, SureArchive (.save), PDF Portfolio | Allows folder/document selection, path options, and format choice |
Custom mode builds a selection tree via createTree() so users can include or exclude individual folders and documents.
Export Formats
| Format | Description |
|---|---|
| ZIP | All selected documents packaged in a standard zip archive |
| PDF Portfolio | A single PDF container file; metadata retrieved via Mobile.GetPdfPortfolioMetadata |
| SureArchive | Proprietary SureDMS format (.save) for re-import into another SureDrive instance |
Path Optimization Options (Custom mode)
Directory path optimizations (DIRECTORY_PATH_OPTIMIZATIONS):
| Option | Effect |
|---|---|
| Use Folder Name Abbreviations | Replaces long folder names with short abbreviations |
| Use Category IDs only | Substitutes full folder names with category IDs |
| Use Content Type IDs only | Substitutes content type names with IDs |
| Omit Archive Level Folder | Removes the top-level drive folder from export paths |
Document path optimizations (DOCUMENT_PATH_OPTIMIZATIONS):
| Option | Effect |
|---|---|
| Exclude Document Suffix | Strips file extension from exported document names |
| Exclude Document Archive | Omits the archive folder component from document paths |
| Show Original Filenames | Uses the original uploaded filename instead of the SureDrive display name |
Export respects active Blinding Rules — documents hidden from the current user are excluded.
Lock / Unlock
File: SC/suredms-web-client/src/main/webapp/app/js/network/study/study-lock-unlock.js
Service: LockUnlockArchiveService
Locking a SureDrive places the archive in a read-only state. When locked:
- Document uploads are blocked
- Metadata edits are blocked
- Document deletes are blocked
- Downloads, audit trails, and reports remain accessible
| Operation | Nuxeo Automation Op | Required Permission |
|---|---|---|
| Lock | Mobile.LockArchive | FEATURE_DELETE_STUDY.id |
| Unlock | Mobile.UnlockArchive | UserService.isSystemAdministratorUser() |
Both operations accept archiveId and comment as parameters. The locked state is stored as a flag on ArchiveEntity and is checked at every write operation via StudiesService.isStudyLocked(study).
Delete
File: SC/suredms-web-client/src/main/webapp/app/js/network/study/study-delete.js
Service: DeleteArchiveService
Deleting a SureDrive is a permanent, irreversible operation that removes all documents, metadata, team assignments, workflow instances, and audit trail records for the archive.
Four-Step Confirmation Flow
| Step | Action |
|---|---|
| 1 | Check for CTMS project associations via StudyCacheService |
| 2 | Confirm dialog: “Do you want to delete…” |
| 3 | Irreversibility warning with item list: Documents, orgs, persons, metadata… |
| 4 | Hard confirmation: user must type "YES" in a text box |
Backend Operations
| Operation | Purpose |
|---|---|
OPERATION_DOCUMENT_DELETE | Nuxeo / web-service delete call for the archive document |
OPERATION_MOBILE_DELETE_NETWORK_PROJECT | Cleans up the associated CTMS project profile |