Publication

Publication Service

REST endpoint for interacting with Publications and Subscriptions. Publications are processed within Jive to generate a special type of activity stream that is "forced" upon a user. In the Jive Web UI, this is surfaced as the "News" feature. Only administrators will have access to operate on Publications.

As soon as a publication is created or updated, a background process is triggered which converts the publication into activity streams. While this is occurring, the attribute isBeingProcessed will be set on a PublicationEntity, indicating that further updates to the Publication will be rejected. Clients should avoid frequent and small changes to Publications in favor of less frequent and larger changes.

Since: 3.10

Create Publication

POST /publications

Create a new publication owned by the caller, based on the information in the specified Publication. Then, return a 201 with a Publication reflecting the new publication configuration. You can discover the maximum allowed length for publication names by using the metadata property "feature.stream.name.length".

The following fields are processed from the incoming publication entity:

  • name - the name of the new publication (must be unique per user)
Query Parameters:
NameTypeRequiredDescription
fieldsStringfalseFields to be returned on the newly created entity (defaults to @all)
Takes:
  • Configuration information to construct the new publication
  • Retrieves:
  • Publication describing the newly created publication
  • Return Status:
    HTTP Status CodeDescription
    201 (Created)Request was successful
    400 (Bad Request)One or more input values is malformed
    409 (Conflict)Requesting to create a publication with a name that already exists
    403 (Forbidden)Requester is not allowed to manage publications
    Since: 3.10

    Destroy Publication

    DELETE /publications/{publicationID}

    Delete an existing publication.

    Path Parameters:
    NameTypeRequiredDescription
    publicationIDStringtrueID of the publication to be deleted
    Return Status:
    HTTP Status CodeDescription
    204 (No Content)Request was successful
    403 (Forbidden)The requester is not allowed to manage publication
    404 (Not Found)The specified publication cannot be found
    400 (Bad Request)BadRequestException
    Since: 3.10

    Get Publication

    GET /publications/{publicationID}

    Return a Publication representation of the specified publication.

    Path Parameters:
    NameTypeRequiredDescription
    publicationIDStringtrueID of the publication to be returned
    Query Parameters:
    NameTypeRequiredDescription
    fieldsStringfalseFields to be returned (default is "@all")
    Retrieves:
  • Publication representation of the specified publication
  • Return Status:
    HTTP Status CodeDescription
    200 (OK)Request was successful
    400 (Bad Request)One or more input values is malformed
    403 (Forbidden)The requester is not allowed to view publications for the owning user
    404 (Not Found)The specified publication cannot be found
    Since: 3.10

    Get Publications

    GET /publications
    Get a list of publications.
    Query Parameters:
    NameTypeRequiredDescription
    startIndexIntegerfalseZero-relative index of the first matching publication to be returned (default value is 0)
    countIntegerfalseMaximum number of publications to be returned (default value is 25)
    fieldsStringfalseFields to be returned for each publication(default value is @summary)
    Retrieves:
  • Publication[]
  • Return Status:
    HTTP Status CodeDescription
    200 (OK)Request was successful
    400 (Bad Request)Any of the input fields are malformed
    403 (Forbidden)The requesting user is not authorized to retrieve publications
    Since: 3.10

    Get Subscriber Users

    GET /publications/{publicationID}/subscriptions/{subscriptionID}/subscribers
    Get a list of unique users across all subscribers for a given subscription.
    Path Parameters:
    NameTypeRequiredDescription
    publicationIDIntegertrueThe ID of the publication
    subscriptionIDIntegertrueThe ID of the subscription
    Query Parameters:
    NameTypeRequiredDescription
    startIndexIntegerfalseZero-relative index of the first matching publication to be returned (default value is 0)
    countIntegerfalseMaximum number of publications to be returned (default value is 25)
    fieldsStringfalseFields to be returned for each publication (default value is @standard)
    Retrieves:
  • Person[]
  • Return Status:
    HTTP Status CodeDescription
    400 (Bad Request)BadRequestException
    403 (Forbidden)ForbiddenException
    Since: 3.10

    Update

    PUT /publications/{publicationID}/rebuild
    Path Parameters:
    NameTypeRequiredDescription
    publicationIDStringtrueID of the publication to be updated
    Retrieves:
  • A Publication reflecting the updated publication configuration
  • Return Status:
    HTTP Status CodeDescription
    204 (No Content)Request was successful
    400 (Bad Request)An input value is missing or malformed
    409 (Conflict)Requesting to publication that's being processed
    403 (Forbidden)The requester is not allowed to manage publications
    404 (Not Found)The specified user cannot be found
    Since: 3.10

    Update Publication

    PUT /publications/{publicationID}

    Update an existing publication, based on the information in the specified Publication. Then, return a Publication reflecting the updated publication configuration.

    The following fields are processed from the incoming Publication:

    • name - the name of the new publication
    Path Parameters:
    NameTypeRequiredDescription
    publicationIDStringtrueID of the publication to be updated
    Query Parameters:
    NameTypeRequiredDescription
    fieldsStringfalseFields to be included in the response (default is @all)
    Takes:
  • Publication containing the configuration information to construct the new publication
  • Retrieves:
  • A Publication reflecting the updated publication configuration
  • Return Status:
    HTTP Status CodeDescription
    200 (OK)Request was successful
    400 (Bad Request)An input value is missing or malformed
    409 (Conflict)Requesting to create a publication with a name that already exists
    403 (Forbidden)The requester is not allowed to manage publications
    404 (Not Found)The specified user cannot be found
    Since: 3.10