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>"
    },
   "contentImages" : [ {
      "id" : "1055",
      "contentType" : "image/jpeg",
      "name" : "pic.jpeg",
      "ref" : "http://example.jiveon.com/api/core/v3/attachments/file/1055/data",
      "size" : 5953,
      "width" : 251,
      "height" : 201,
      "type" : "image"
   } ],
   "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.

contentIDStringread-only

Internal Jive ID associated with the content.

contentImagesImage[]read-only
contentVideosVideoBean[]read-only
editingByPersonread-only

The person currently editing this document, meaning that it's locked. If not present, nobody is editing.

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.

iconCssStringread-only

CSS Style to locate icon within sprite.

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.

outcomeCountsObjectread-only

Map of structured outcome type names that have been assigned to this content object, and a count of how many times they appear. For top level content objects like Discussion, Document, File, and Post, outcomes assigned to child comments and messages will also be included.

Availability:

Only available for content object types that support structured outcomes

Since: 3.3
outcomeTypeNamesString[]read-only

List of structured outcome type names that have been assigned to this content object. For top level content objects like Discussion, File, and Document, outcomes assigned to child comments and messages will also be included.

Availability:

Only available for content object types that support structured outcomes

Since: 3.3
outcomeTypesOutcomeType[]optional

A list of valid outcome types that can be set on this piece of content

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[]
  • childOutcomeTypesGET

    Return a paginated list of possible outcomes types on the content object's children.

    Retrieves:
  • OutcomeType[]
  • 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[]
  • extpropsDELETE

    Deletes all extended properties for content.

    Availability:

    Content should be editable to caller.

    extpropsGET

    Returns extended properties for content.

    Availability:

    Content should be visible to caller.

    Retrieves:
  • ExtProps[]
  • extpropsPOST

    Creates extended properties for content.

     {
      "any prop name": "any val",
      "any prop2 name": "any val"
     }
     
    Availability:

    Content should be editable to caller.

    Retrieves:
  • ExtProps[]
  • 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
    outcomesPOST

    Register that the requesting person created the outcome.

    Here is an example of a JSON with the minimum set of fields you must include:

    {
      "outcomeType":
          {
              "id": 1
          }
    }

    Availability:

    Must be authenticated, must not be able to read the content, and must not have the same outcome type on this comment already

    Takes:
    Retrieves:
  • Outcome Representation of the newly created outcome
  • outcomesGET

    Return a paginated list of outcomes on the content.

    Retrieves:
  • Outcome[]
  • outcomeTypesGET

    Return a paginated list of possible outcomes types on the content.

    Retrieves:
  • OutcomeType[]
  • 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