The Social Collaboration Base Extensions Add-on provides the following classes.
Comments are user-creatable objects, represented by the ClbDocumentComment class. Comments are created by using standard factory methods.
There can be multiple comment objects per version in a version series. The same user can associate more than one comment to a version in a version series. All comment objects are deleted when the associated version series is deleted.
A user with AccessRight.VIEW-CONTENT permission can create a comment on a Document object. Comment objects inherit their security from the document, through the ClbSummaryData object. The security inheritance from ClbSummaryData flows from the ClbSecuringVersion property.
Comments can be deleted only by the user who created them, or by a user who has AccessRight.DELETE permission on the teamspace to which the document belongs.
Recommendations are user-creatable objects, represented by the ClbRecommendation class. Recommendations are created by using standard factory methods.
There can be one recommendation object on a version series per user. All recommendation objects are deleted when the associated version series is deleted.
A user with AccessRight.VIEW-CONTENT permission can create a recommendation on a Document object. Recommendations are independently securable objects, but they also inherit security from the recommended Document object, through the ClbSummaryData object. The security inheritance from ClbSummaryData flows from the ClbSecuringVersion property.
Recommendations can be deleted only by the user who created them, or by a user who has AccessRight.DELETE permission on the teamspace to which the document belongs.
Download records are represented by the ClbDownloadRecord class. The server generates a download record object the first time an authenticated user downloads a document in a version series. For subsequent downloads by the same user, the download record object is updated. Download records cannot be created, modified, or deleted by applications.
Download record objects inherit security from the Document object, through the ClbSummaryData object. The security inheritance from ClbSummaryData flows from the ClbSecuringVersion property.
The server responds as follows to document downloads:
Summary data objects are represented by the ClbSummaryData class. A summary data object is created by the server when a social collaboration action is invoked. It is associated with a document version series, and contains enumerations and counters for all of the social collaboration objects that are associated with the version series. Applications cannot create, delete, or modify summary data objects.
The following actions trigger the creation of a summary data object:
Summary data objects inherit security from the ClbSecuringVersion property. The server updates this property so it is always set to the released version of the document (or the current version if a released version is not available).
A summary data object is deleted when all versions of its associated document are deleted. Deleting a summary data object cascade-deletes all download records, tags, recommendations, and comments that are associated with the document.
The collaboration configuration object is represented by the ClbCollaborationConfiguration class. It controls download recording operation.
The collaboration configuration object is created by the server when the Social Collaboration Base Extensions Add-On is imported into an object store. The imported instance has a fixed object ID and is retrieved by using that fixed object ID. The server-generated instance must not be deleted.
The collaboration configuration object is intended solely for administrative use. It is typically accessed with IBM® Administration Console for Content Platform Engine, rather than with a custom application.
Tag
Tags are user-creatable objects, represented by the ClbTag class. Tags are created by using standard factory methods.
There can be one tag object per version in a version series. The same user can associate no more than one tag to a version in a version series. All tag objects are deleted when the associated version series is deleted.
To create a tag for a document, a user is required to have AccessRight.WRITE permission on the document.
The user who creates a tag can delete it. To delete a tag that is created by a different user, a user is required to have both AccessRight.DELETE and AccessRight.WRITE permission on the released (or current if released not available) document version.
Tag objects are independently securable objects, which inherit security from the tagged Document object through the ClbSummaryData object. The security inheritance from the ClbSummaryData flows from the ClbSecuringVersion property. Documents within a teamspace can have different security than the teamspace itself, and so it is possible for none of the members of a teamspace to have view rights for a document or a tag.