Issue Details (XML | Word | Printable)

Key: CMIS-82
Type: Bug Bug
Status: Closed Closed
Priority: Trivial Trivial
Assignee: Ethan Gur-esh
Reporter: Ethan Gur-esh
Watchers: 1
Operations

If you were logged in you would be able to see more operations.
OASIS Content Management Interoperability Services (CMIS) TC

Property Definitions: A property definition should not ever say READONLY + REQUIRED

Created: 26/Feb/09 01:22 PM   Updated: 19/May/09 12:11 PM
Component/s: Domain Model
Affects Version/s: Draft 0.50
Fix Version/s: Draft 0.62

Proposal: The spec should explicitly state that if a property is READONLY, then its definition SHALL NOT say it's required.
Resolution: We will clarify via use of the word "SHOULD", as per Al's comment on 4/19.


 Description  « Hide
Currently in the CMIS spec we have the following 2 attributes on a property definition:


- updateability: Where you can say a property is readonly (i.e. the app can never set it)
- required: Where you can say that a property is required.


BUt it's not clear/obvious what it would mean to have a property that is read-only and required... what is an application supposed to do in that situation?

 All   Comments   Change History      Sort Order: Ascending order - Click to sort in descending order
Ryan McVeigh added a comment - 26/Feb/09 03:30 PM
A use case I can see is to indicate that a property must be populated at create time, but may not be subsequently modified. Or perhaps a property may only be populated by a pre-defined choice, but not modified.

David Choy added a comment - 07/Mar/09 01:09 AM
As described on p.38, a "read-only" property is a system property that is maintained or calculated by the repository. It can not be updated by application using the updateProperties() method.
For a non-read-only property, "required" means the property can not be in a "value not set" state. It MUST have a value either provided by application or set by default.
For a read-only (i.e. system) property, "required" means a value MUST be returned when the property is requested. "Not required" means the system property may be in a "value not set" state.

This definition is a bit overloaded. One is "read-only" means system property. The other is "required" has two different meaning, depending on the updatability attribute, which can cause confusion. If we want to avoid overloading, we can either add another attribute, or remove some modeling granularity.

Florent Guillaume added a comment - 09/Mar/09 10:40 AM
It all boils to to whether "required" is seen from the writer's side (a value is required when the document is created/updated), or from the reader's side (the value will always been set).

Al Brown added a comment - 14/Apr/09 12:49 PM
We should clarify required is from the writer's point of view. Also, the spec should be updated to say that repositories should not have properties that are required + readonly and that if such properties exist on an object, then updates will fail

Ethan Gur-esh added a comment - 14/May/09 05:34 PM
Fixed in 0.62