Content Model Editor
This page documents the Content Model Editor (CME) — the tool used to define the folder structure and metadata schema visible in the SureDrive Documents area. It covers the Angular route and controller, folder and content type entities, metadata term management, document name settings, and desktop-specific capabilities.
Overview
The Content Model Editor is accessed via the Project Dashboard overflow menu → Content Model Editor. It is the primary configuration surface for the SureDrive document taxonomy — all folders visible to users in the Documents navigator are defined here. Folder definitions carry metadata associations, document name suffix settings, and document assignment rules.
Key owning modules:
- UI:
suredms-web-client—network/study/documents/study-content-model-editor.js - Domain model:
suredms-common—CloudFolderEntity,MetadataType,MetadataAssociationEntity - Desktop:
suredms-desktop-client— extended CME capabilities (annotation terms, reservation, duplication policy)
Angular Route
File: SC/suredms-web-client/src/main/webapp/app/js/state/app-states.js
State: app.network.study.browse.content-model-editor
Controller
File: SC/suredms-web-client/src/main/webapp/app/js/network/study/documents/study-content-model-editor.js
Controller: StudyContentModelEditorController
This controller manages the full CME surface — the folder tree on the left and the folder detail pane on the right. It loads the current content model on activation and saves folder, metadata, and document name changes back via the connection service.
Folder Structure
CloudFolderEntity
File: SC/suredms-common/src/main/java/com/sureclinical/suredms/entity/CloudFolderEntity.java
Each node in the content model tree is a CloudFolderEntity (also referred to as a content type). Key properties:
| Property | Description |
|---|---|
| Folder name | Display name shown in the Documents navigator |
| Parent folder | Hierarchical position in the tree |
| Associated metadata | List of MetadataAssociationEntity items defining which metadata terms apply to documents in this folder |
| Document name settings | Per-folder override for how document names are constructed |
| Document assignments | Users assigned to this folder for notification or task routing |
Creating a root folder or sub-folder adds a new CloudFolderEntity to the hierarchy. The order of folders in the CME determines the order rendered in the Documents navigator.
Metadata Terms
MetadataType
File: SC/suredms-common/src/main/java/com/sureclinical/suredms/entity/MetadataType.java
Defines a reusable metadata term at the project level. Each MetadataType has:
- A display name
- A data type (text, date, list, etc.)
- A set of allowed values (for list types)
Metadata terms are created at the project level and then associated with specific folders via MetadataAssociationEntity.
MetadataAssociationEntity
File: SC/suredms-common/src/main/java/com/sureclinical/suredms/entity/MetadataAssociationEntity.java
Links a MetadataType to a specific folder. The association carries:
| Property | Description |
|---|---|
| Metadata type reference | The term being associated |
| Visibility | Whether the term appears in the document upload and edit forms |
| Required | Whether a value is mandatory when uploading to this folder |
The CME folder detail pane exposes three metadata term actions: Add, Edit, Delete per association.
Document Name Settings
Each folder can override the default document naming convention. Document name settings define which metadata fields are appended as suffixes to documents stored in the folder — the resulting document name is constructed at upload time by concatenating the base name with the selected suffix fields.
Configured via the Document Name Settings tab in the folder detail pane in the CME.
Document Assignments
The Document Assignments section of the folder detail pane allows administrators to assign specific users to a folder. Assigned users may receive notifications or have workflow tasks routed to them based on documents placed in that folder. Actions: assign users, reset assignees.
Exporting the Content Model
The CME supports exporting the folder hierarchy and metadata schema. Exported content models can be used as import templates when creating a new SureDrive (see Drive Wizard and New SureDrive Creation).
Desktop-Specific CME Capabilities
The desktop client's Content Model Editor extends the web CME with additional features not available in the web interface:
| Feature | Description |
|---|---|
| Annotation terms | Define annotation term vocabularies per folder; used when annotating PDF documents in the desktop viewer |
| Reserved terms | Mark certain metadata values as reserved; prevents accidental reuse across folders |
| Duplication policy | Configure how the system handles documents with duplicate names within a folder (Allow Duplicates / Unique Case-Insensitive / Unique Case-Sensitive) |
| Acquire Queue enablement | Desktop CME allows toggling the Acquire Queue directly from the folder editor |
Help Reference
| Topic | File |
|---|---|
| Content Model Editor overview | Help/contents/Content_Repo/Working_with_the_Content_Model_Editor_in_SureDrive.htm |
| Creating Folders | Help/contents/Content_Repo/Creating-Folders_74022938.html |
| Document Name Settings | Help/contents/Content_Repo/Configuring-Document-Name-Settings-for-a-SureDrive_654966801.html |
| Managing Metadata Terms | Help/contents/Content_Repo/Managing-Metadata-Terms-in-SureDrive_679116826.html |
Key Source Files Reference
| File | Purpose |
|---|---|
| SC/suredms-web-client/src/main/webapp/app/js/state/app-states.js | Route definition for app.network.study.browse.content-model-editor |
| SC/suredms-web-client/src/main/webapp/app/js/network/study/documents/study-content-model-editor.js | StudyContentModelEditorController — CME UI and save logic |
| SC/suredms-common/src/main/java/com/sureclinical/suredms/entity/CloudFolderEntity.java | Folder / content type domain entity |
| SC/suredms-common/src/main/java/com/sureclinical/suredms/entity/MetadataType.java | Metadata term definition entity |
| SC/suredms-common/src/main/java/com/sureclinical/suredms/entity/MetadataAssociationEntity.java | Metadata term to folder association entity |