Overview Review the set of use cases that are currently included in the CMIS charter. To discuss: What functional capabilities are necessary / desirable for each use cases? ○ E.g. mix-in types? What use cases need additional scoping / clarification? Are there other use cases that should be considered for (some version of) CMIS?
Use Case “Types” in CMIS (p.9) 1. “Core ECM” use cases: Primitives for enabling these must be directly included in the specification. 2. Use cases that can be built on top of CMIS: Apps should be able to use the primitives in CMIS to build these use cases (even if there isn’t explicit support for them in the spec). 3. Out-of-scope use cases: We will not add functionality to CMIS 1.0 if it’s only required for these use cases ○ Note: There are lots of other use cases we aren’t targeting – but these are common enough asks that we wanted to be explicit about them.
Collaborative Content Creation Summary: A set of users wish to work collaboratively to create one or more documents or web pages. Example: Writing the CMIS specification. Key Functional Elements: Security/Authentication: ○ The set of users involved is constrained. ○ Users must authenticate so that their actions can be recorded. Locking/versioning: ○ Multiple users will edit the same content, generally one at a time. ○ As content is edited older versions of the content MAY be stored and are available for access.
Portals Summary: Aggregated interface to viewing content from multiple sources. Example: Portal site integrating HR information such as health benefits, forms, travel expenses, etc. Key Functional Elements: Query: ○ Need a common query language to pull data from multiple sources in a consistent way.
Mashups Summary: Composite applications that integrates data/functionality from one or more sources. Example: Application that shows sales volume by geographic territory. Microsoft Campus Map Key Functional Elements: Query: ○ Need a common query language to pull data from multiple sources in a consistent way. “REST-fulness”: ○ Need a way to interact with a CMIS repository using lightweight/RAD tools.
Search (?) Open Questions: Support for “unified indexing” search engines? Do we need ACL discovery? Summary: Example: Key Functional Elements:
Use cases that can be built on top of CMIS Workflow & Business Process Management Archival Compound/virtual documents E-Discovery
Workflow/BPM Summary: While CMIS 1.0 does NOT expose native workflow, workflow applications should be able to reference & act on content in CMIS as part of a workflow. Example: Expense Report Approval Process on reports stored in CMIS repositories. ○ E.g. if total <$3000, then auto-approve, else notify manager. Key Functional Elements: Query: ○ Get all objects modified since a certain date ○ Retrieve individual schema properties in query results. ○ Items must have persistent references. Reference-ability: ○ Items must be reference-able
Archival Summary: Many business applications produce high volumes of documents per day, often in a print format such as PDF or PostScript. Example: Insurance Claims Processing Key Functional Elements: High-volume ingestion
Compound/virtual documents Summary: Publishing/collaboration applications will enable users to concurrent develop content that will be published a single integrated document. Example: Product Manuals Key Functional Elements: Relationships: ○ Ability to have multiple objects in a CMIS system be linked in ways other than strict folder containership.
E-Discovery Summary: Finding evidence for a civil or criminal legal case. Specific information needs to be located, secured, and analyzed with the intent of using it as evidence. Example: “Preserve all records of the WidgetCo acquisition decision”. Key Functional Elements: Query / Search: A mechanism to inform the repository that an object should/shouldn’t be “preserved” by the system (?)
Out-of-scope use cases & common requirements Use CaseCommon RequirementsCMIS functionality that may help… Records ManagementRetention schedulingPolicies Digital Asset Management “Renditions” (i.e. multiple bytestreams per a document) File Streaming Relationships Web Content Management Scheduling/publishing approval Rich relationships between objects Relationships Subscription & Notification Services Events/pushed alertsQueries