OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

cmis message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: [OASIS Issue Tracker] Commented: (CMIS-731) Explicit representation of version-independent copy of a versionable document


    [ http://tools.oasis-open.org/issues/browse/CMIS-731?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=36437#action_36437 ] 

Ken Baclawski commented on CMIS-731:
------------------------------------

Eric Chan and I have developed a proposal for adding representative copy. The following are the proposed changes:

diff cmis/data-model.tex cmis-with-rep-copy/data-model.tex
107a108,111
> 
> 	\item[capabilityRepresentativeCopyable] \hfill \\
> 	Ability for the Repository to provide representative copies for version series.\\
> 	See section \ref{dm:versioning}~\nameref{dm:versioning}.
2839a2844,2859
> \subsubsection{Representative Copy}
> 
> When a document object is versionable, a representative copy is a version-independent view of the document.
> A service MAY provide a representative copy of a versionable document object.
> If a service provides a representative copy of a versionable document object, then
> \begin{itemize}
>         \item The "capabilityRepresentativeCopyable" optional capability flag of the repository MUST be set to TRUE.
>         \item A representative copy MUST have its own object identifier that is different from the object identifier of any version in the version series or private working copy.
>         \item The assignment of an object identifier to a representative copy is implementation-dependent.
>         \item The object identifier of a representative copy MUST NOT change once it is assigned.
>         \item A representative copy MAY be a copy of the content and state of the latest versioned copy in a version series or the latest major version in a version series.
>         \item A representative copy MAY be a copy of the content and state of a private working copy if the current user loading the representative copy is the same user who checks out the version series of the representative copy.
>         \item A folder object CAN contain a representative copy so that it provides a version-independent view of the state of the version series if the "capabilityRepresentativeCopyable" optional capability flag of the repository is TRUE.
> \end{itemize}
> 
> 
2846c2866
< A new version of a versionable document object is created when the \cmisservicelink{checkIn} service is invoked on the \emph{Private Working Copy (PWC)} of this object. A PWC is created by invoking \cmisservicelink{checkOut} on a versionable document object. A repository MAY allow any document object in a version series to be checked out, or MAY only allow the latest version to be checked out.\\
---
> A new version of a versionable document object is created when the \cmisservicelink{checkIn} service is invoked on the \emph{Private Working Copy (PWC)} of this object. A PWC is created by invoking \cmisservicelink{checkOut} on a versionable document object. A repository MAY allow any document object in a version series to be checked out, MAY allow the Representative Copy to be checked out, or MAY only allow the latest version to be checked out. If a repository allows the Representative Copy to be checked out, the effect will be the same as checking out the latest version or latest major version, depending on whether the Representative Copy represents the latest version or latest major version of the version series.\\
2851a2872
>         \item If the PWC is visible to authorized users other than the user who checked out the PWC, the Representative Copy MUST represent the PWC for authorized users.
2873a2895
> If the repository supports the Representative Copy to represent the PWC, then the Representaive Copy MUST represent the modified state of the PWC for authorized users who have access to the PWC.
2900a2923
>         \item If a Representative Copy is representing the PWC, the Representative Copy object MUST be updated to represent the modified state of the PWC.
2903c2926
< 	\item If the check-in returns a new \texttt{cmis:objectId}, then the PWC object MUST disappear if the \cmisservicelink{checkIn}  call was successful and the new checked in version will use the new specified id.
---
> 	\item If the check-in returns a new \texttt{cmis:objectId}, then the PWC object MUST disappear if the \cmisservicelink{checkIn}  call was successful and the new checked in version will use the new specified id. If this occurs, and if a Representative Copy is representing the PWC, the Representative Copy that is representing the PWC MUST then represent the latest version. 
2920a2944,2947
> \begin{cmisversionproperty}{cmis:isRepresentativeCopy}{Boolean}
> TRUE if the document object is a Representative Copy. FALSE otherwise. MUST be FALSE for Private Working Copy OR Major Version OR Latest Major Version objects.
> \end{cmisversionproperty}
> 
2922c2949
< TRUE if the document object is a Private Working Copy.  FALSE otherwise.
---
> TRUE if the document object is a Private Working Copy.  FALSE otherwise. MUST be FALSE for Representative Copy OR Major Version OR Latest Major Version objects.
2926c2953
< TRUE if the document object is the latest version (most recent last modification date) in its version series.  FALSE otherwise. MUST be FALSE for Private Working Copy objects.
---
> TRUE if the document object is the latest version (most recent last modification date) in its version series.  FALSE otherwise. MUST be FALSE for Representative Copy OR Private Working Copy objects. 
2930c2957
< TRUE if the document object is a major version in its version series.  FALSE otherwise. MUST be FALSE for Private Working Copy objects.
---
> TRUE if the document object is a major version in its version series.  FALSE otherwise. MUST be FALSE for Representative Copy OR Private Working Copy objects. 
2934c2961
< TRUE if the document object is the latest major version in its version series.  FALSE otherwise. MUST be FALSE for Private Working Copy objects.
---
> TRUE if the document object is the latest major version in its version series.  FALSE otherwise. MUST be FALSE for Representative Copy OR Private Working Copy objects. 
2972c2999,3001
< A repository MAY create new document objects in a "Private Working Copy" state. This state is logically equivalent to having a version series that contains exactly one object (the PWC) and 0 other documents. 
---
> A repository MAY create new document objects in a "Private Working Copy" state. This state is logically equivalent to having a version series that contains exactly one object (the PWC), optionally one Representative Copy object, and 0 other documents. A Representative Copy is created only if the repository supports the Representative Copy to represent the PWC for authorized users.
> 
> The repository MAY also create new document objects in a "major version" state. This state is logically equivalent to having a version series that contains exactly one major version, optionally one Representative Copy object, and 0 other documents. A Representative Copy is created if the repository supports the Representative Copy to represent PWC OR latest non-major version OR latest major version.
2974c3003
< The repository MAY also create new document objects in a "major version" state. This state is logically equivalent to having a version series that contains exactly one major version and 0 other documents.
---
> The repository MAY also create new document objects in a "non-major version" state. This state is logically equivalent to having a version series that contains exactly one non-major version, optionally one Representative Copy object, and 0 other documents. A Representative Copy is created only if the repository supports the Representative Copy to represent the latest non-major version.
2976c3005,3011
< The repository MAY also create new document objects in a "non-major version" state. This state is logically equivalent to having a version series that contains exactly one non-major version and 0 other documents.
---
> The Representative Copy is NOT to be considered a version in the version series but inherits the version series id from the document it was created from. 
> 
> The content stream of the Representative Copy will be identical to the content stream of the PWC OR Latest Non-Major Version OR Latest Major Version object that the Representative Copy is representing.
> 
> The property values for the Representative Copy SHOULD be identical to the properties of the PWC OR Latest Non-Major Version OR Latest Major Version. Certain properties may be different. Properties such as \texttt{cmis:creationDate} most likely will be different.
> 
> Policies, ACLs, and Relationships most likely will be different from the Policies, ACLs, and Relationships of ANY PWC OR Latest Non-Major Version OR Latest Major Version.
2986a3022,3028
> Repositories MUST indicate whether they support filing of the Representative Copy via the "capabilityRepresentativeCopyable" optional capability flag.
> 
> If the repository is treating folder collection membership as "version-specific", then: 
> \begin{itemize}
>         \item The repository MAY return only the representative copy OR latest-version OR latest major-version document object in a version series in the response to Navigation service requests (\cmisservicelink{getChildren}, \cmisservicelink{getDescendants}), and NEED NOT return other document objects filed in the folder that are in the version series.
> \end{itemize}
> 
2990c3032
< 	\item The repository MAY return only the latest-version OR latest major-version document object in a version series in the response to Navigation service requests (\cmisservicelink{getChildren}, \cmisservicelink{getDescendants}), and NEED NOT return other document objects filed in the folder that are in the version series. 
---
> 	\item The repository MAY return only the representative copy OR latest-version OR latest major-version document object in a version series in the response to Navigation service requests (\cmisservicelink{getChildren}, \cmisservicelink{getDescendants}), and NEED NOT return other document objects filed in the folder that are in the version series. 

diff cmis/introduction.tex cmis-with-rep-copy/introduction.tex
23a24,27
> 	\phantomsection\label{intro:rfc2183}\textbf{[RFC2183]} & R. Troost, S. Dorner, K. Moore, Communicating Presentation Information in Internet Messages: The Content-Disposition Header Field, \newline\url{http://www.ietf.org/rfc/rfc2183.txt}, August 1997\\
> 
> 	\phantomsection\label{intro:rfc2231}\textbf{[RFC2231]} & N. Freed, K. Moore, MIME Parameter Value and Encoded Word Extensions: Character Sets, Languages, and Continuations, \newline\url{http://www.ietf.org/rfc/rfc2231.txt}, November 1997\\

diff cmis/services.tex cmis-with-rep-copy/services.tex
1482a1483
> 					\item[representative] The document MUST be created as a representative copy. %% This is the added enumerator.
1520a1522
>                         \item \cmisexceptionlink{constraint}If the specified object identifier is that of a representative copy that is provided by the service, and the versioningState input parameter is not omitted. %% The versionState input parameter is read only and must be omitted when updating the attributes of a representative copy.


> Explicit representation of version-independent copy of a versionable document
> -----------------------------------------------------------------------------
>
>                 Key: CMIS-731
>                 URL: http://tools.oasis-open.org/issues/browse/CMIS-731
>             Project: OASIS Content Management Interoperability Services (CMIS) TC
>          Issue Type: New Feature
>          Components: Domain Model
>    Affects Versions: Proposals for 2.0
>            Reporter: Eric Chan
>
> Section 2.1.11.8 and 2.1.11.9 in the CMIS draft http://www.oasis-open.org/apps/org/workgroup/cmis/download.php/43639/cmis11-draft.pdf define the version-independent membership in Folders and Relationships in terms of Navigation service requests getChildren, getDescendants, and getObjectRelationships. The concept of a version-independent copy can be defined more explicitly by designating an object identifier to represent a version-independent copy in a version series. It facilitates an externalized URI for a version-independent representative copy to enable bookmarking or tagging. It also generalizes the concept of version-independent copy for un-filed versionable documents.
> ICOM CSD 2.0 http://www.oasis-open.org/committees/download.php/44405/icom-ics-v1.0-csprd02.zip, which adopts some of the CMIS domain model, introduces the concept of "representative copy" as an optional feature. ICOM CSD stipulates that a representative copy must have its own object identifier that is different from the object identifier of any versioned copy or private working copy of a versionable document. 
> Assignment of an object identifier to a representative copy of a versionable document is implementation-dependent. A representative copy may retain the object identifier of a non-version-controlled copy (a private working copy at the start of the version series). Alternatively, a representative copy may be assigned a new object identifier that is different from the object identifier of a non-version-controlled copy of a versionable artifact. The object identifier of a representative copy should not change once it is assigned (a representative copy cannot be deleted).
> Content and state of a representative copy of a versionable artifact in a version series is also implementation-dependent. A representative copy may be a copy of the content and state of the latest versioned copy or the latest major versioned copy in a version series.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://tools.oasis-open.org/issues/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]