Document

The document class contains methods and data for using documents just as you would in the UI. Everything can be modified such as a document's content, subject, tags, and comments. Metadata is available, e.g. the author, the publish date, the number of people following the document, etc.

Examples:
Example JSON

JSON including important fields and a Document's resources. See the tables below for a list of all fields and resources.

  {
   "type" : "document",
   "status" : "published",
   "subject" : "My First Document",
   "content" : {
        "type" : "text/html",
        "text" : "<p>Some interesting document text</p>"
    },
   "authorship" : "open",
   "author" : {
      "displayName" : "Administrator",
   },
   "visibility" : "all",
   "restrictComments" : false,
   "viewCount" : 0,
   "replyCount" : 0,
   "followerCount" : 0,
   "likeCount" : 0,
   "published" : "2012-06-27T22:53:30.370+0000",
   "updated" : "2012-06-27T22:53:30.491+0000",
   "categories" : [ "Cars" ],
   "tags" : [ ],
   "attachments" : [ ],
   "resources" : {
      "versions" : {
          "ref" : "http://example.jiveon.com/api/core/v3/versions/1006",
          "allowed" : [ "GET" ]
      },
      "likes" : {
          "ref" : "http://example.jiveon.com/api/core/v3/contents/1006/likes",
          "allowed" : [ "GET" ]
      },
      "read" : {
          "ref" : "http://example.jiveon.com/api/core/v3/contents/1006/read",
          "allowed" : [ "DELETE", "POST" ]
      },
      "self" : {
          "ref" : "http://example.jiveon.com/api/core/v3/contents/1006",
          "allowed" : [ "DELETE", "GET", "PUT" ]
      },
      "html" : {
          "ref" : "http://example.jiveon.com/docs/DOC-1001",
          "allowed" : [ "GET" ]
      },
      "attachments" : {
          "ref" : "http://example.jiveon.com/api/core/v3/attachments/contents/1006",
          "allowed" : [ "GET", "POST" ]
      },
      "followingIn" : {
          "ref" : "http://example.jiveon.com/api/core/v3/contents/1006/followingIn",
          "allowed" : [ "GET" ]
      },
      "comments" : {
          "ref" : "http://example.jiveon.com/api/core/v3/contents/1006/comments",
          "allowed" : [ "GET", "POST" ]
      }
   },
 "id" : "1001"
 
 }
Simple Document Creation

POST to /contents creates a new document. The minimum set of fields you must include are:

 {
  "content":
      {
      "type": "text/html",
      "text": "<body><p>Some interesting text</p></body>"
      },
  "subject": "New Document",
  "type": "document"
  }
See Document Use Cases for full details on creating documents programmatically.

Retrieve Document

GET to /contents/{contentID} to return a given document. The service URL can be found in the self resource under resources.

Update Document

After you have retrieved a document and made the desired changes, PUT to /contents/{contentID} passing the updated information in the request body. The service URL can be found in the self resource under resources.

Delete Document

DELETE to /contents/{contentID} to delete the specified document. The service URL can be found in the self resource under resources.

Retrieve Document Comments

GET to /contents/{contentID}/comments to return comments on a given document. This service allows you to retrieve some or all comments depending on the parameters. The service URL can be found in the comments resource under resources.

See Document Use Cases for full details on document comments.

Retrieve document versions

GET to /versions/{contentID} to return information about versions of a given document. Every time a document gets updated, a new version will be created. After you got the information from this service, it is possible to restore a previous version by doing a POST to /versions/{contentID}/{versionID}.

Fields

FieldTypeMode Description
approversPerson[]optional

List of people who are approvers on the content of this document.

attachmentsAttachment[]optional

List of attachments to this document.

authorPersonread-only

Author of this content object.

authorsPerson[]optional

List of people who are authors on this content. Authors are allowed to edit the content. This value is used only when authorship is limited.

authorshipStringoptionalThe authorship policy for this content.
  • open - anyone with appropriate permissions can edit the content. Default when visibility is place.
  • author - only the author can edit the content. Default when visibility is hidden or all.
  • limited - only those users specified by authors can edit the content. If authors was not specified then users will be used instead when visibility is people. Default when visibility is people.
categoriesString[]optional

Categories associated with this object. Places define the list of possible categories.

contentContentBodyrequired

Content of this content object.

followerCountIntegerread-only

Number of people following this object.

Availability:

Will be present only for object types that support being followed.

fromQuestStringoptional

Flag indicating that this document was created as part of a quest.

highlightBodyStringread-only

Highlight snippet of a search match in the body or description.

Availability:

Will be present in search results only.

highlightSubjectStringread-only

Highlight snippet of a search match in the subject or name.

Availability:

Will be present in search results only.

highlightTagsStringread-only

Highlight snippet of a search match in tags.

Availability:

Will be present in search results only.

idStringread-only

Identifier (unique within an object type and Jive instance) of this object. This field is internal to Jive and should not be confused with contentID or placeID used in URIs.

likeCountIntegerread-only

Number of people who have liked this object.

Availability:

Will be present only for object types that support being liked.

parentStringoptional

URI of the parent place of this content object. When visibility is place then the URI points to a place (and is required on create). Otherwise, this field is not part of the returned JSON (and must not be included on create).

parentContentSummaryread-only

Summary information about the content object that is the parent of this object.

Availability:

Will be present in search results only.

parentPlaceSummaryread-only

Summary information about the place that contains this object.

Availability:

Will be present in search results only.

publishedISO 8601 Dateread-only

Date and time when this content object was originally created.

replyCountIntegerread-only

Number of replies to this object.

Availability:

Will be present only for object types that support replies.

resourcesObjectread-only

Resource links (and related permissions for the requesting person) relevant to this object.

restrictCommentsBooleanoptionalFlag indicating that old comments will be visible but new comments are not allowed. If not restricted then anyone with appropriate permissions can comment on the content.
statusStringread-only

State of this document.

  • incomplete - Document is in draft mode
  • pending_approval - Document is waiting for approval
  • rejected - Document has been rejected for publication by an approver
  • published - Document has been published
subjectStringrequired

Subject of this content object.

tagsString[]optional

Tags associated with this object.

Availability:

Will be present only for object types that support tags

typeStringrequired

The object type of this object ("document"). This field is required when creating new content.

updatedISO 8601 Dateread-only

Date and time this content object was most recently updated.

updaterPersonread-only

The last person that updated this document. If not present, the last person to update this document was the person referenced in the author field.

usersPerson[]optionalThe list of users that can see the content. On create or update, provide a list of Person URIs or Person entities. On get, returns a list of Person entities. This value is used only when visibility is people.
viewCountIntegerread-only

Number of times this content object has been viewed.

Availability:

Will be present only for objects that support view counts

visibilityStringoptional

The visibility policy for this content object. Valid values are:

  • all - anyone with appropriate permissions can see the content. Default when visibility, parent and users were not specified.
  • hidden - only the author can see the content.
  • people - only those users specified by users can see the content. Default when visibility and parent were not specified but users was specified.
  • place - place permissions specify which users can see the content. Default when visibility was not specified but parent was specified.
visibleToExternalContributorsBooleanread-only

Flag indicating that this content object is potentially visible to external contributors.

→ Fields used by update and create operations
→ Fields used only by create operations
→ Fields not used by update or create operations

Resources

ResourceMethodDescription
attachmentsGET

Return a list of attachments associated to this document.

Retrieves:
  • Attachment[]
  • commentsPOST

    Add a comment about this content object.

    The minimum JSON object needed to create a comment is:

         {
             "content": {"type": "text/html", "text": "

    This is a new comment

    "}, }
    Takes:
    Retrieves:
  • Comment representing the recorded comment
  • commentsGET

    Return a paginated list of the comments about this content object.

    Retrieves:
  • Comment[]
  • followersGET

    Return a paginated list of the people following this content.

    Retrieves:
  • Person[]
  • Since: 3.5
    followingInGET

    Return the list of custom streams in which the requesting person is following this document (if any).

    Retrieves:
  • Stream[]
  • htmlGET

    Return the HTML representation of this content object.

    likesPOST

    Register that the requesting person likes this document.

    Availability:

    Must be authenticated, must not be your own document, and must not have liked this document already

    likesGET

    Return a paginated list of people who like this document.

    Retrieves:
  • Person[]
  • readPOST

    Mark this document as having been read.

    Since: 3.2
    readDELETE

    Mark this document as having not been read.

    Since: 3.2
    selfGET

    Return an updated version of this content object.

    Retrieves:
  • Content describing this content object
  • selfPUT

    Update the information about this content object.

    Retrieves:
  • Content representing the updated content object
  • selfDELETE

    Delete this content object and any related comments and other related information.

    likesDELETE

    Delete the like of this document by the requesting person.

    Availability:

    Must be authenticated, and must have liked this document already

    versionsGET

    Return a paginated list of versions of this document.

    Retrieves:
  • ContentVersion