1 Reply Latest reply on Apr 24, 2014 9:28 AM by craig.mcclanahan

    Some questions about the different object IDs: contentId vs id, person id, placeId vs id.

    alberto.f2f

      Hello,

       

      I'm using the JIVE REST API and I have some doubts regarding the different ids (contentId vs id, person id, placeId vs id...):

       

      1) All the IDs are defined as a String: which is the max length of the different ids?

       

      2) Which is the difference between contentId/id and placeId/id:

      - "contentId" and "placeId" are defined as "Internal Jive ID associated with the content.", but there's another "id" defined as Identifier (unique within an object type and Jive instance) of this object.

      Is contentId unique within the same JIVE instance? Or is it unique for the whole JIVE so that two different JIVE instances cannot have the same contentId?

      I'm assuming that the other "id" cannot be duplicate for the same object type and JIVE instance: a discussion and a document both can have the same "id" 1234 but the contentId must be different.


      Thanks for the help in advance,

      Alberto.

        • Re: Some questions about the different object IDs: contentId vs id, person id, placeId vs id.

          Good questions!  Here's some information that should prove helpful.

           

          1) All the IDs are defined as a String: which is the max length of the different ids?

          In current versions of Jive, the maximum length depends on how much data you have in your Jive instance's database.  To future-proof yourself against potential later changes, I'd plan on a maximum length of 16 characters.

           

          2) Which is the difference between contentId/id and placeId/id:

          - "contentId" and "placeId" are defined as "Internal Jive ID associated with the content.", but there's another "id" defined as Identifier (unique within an object type and Jive instance) of this object.

          Is contentId unique within the same JIVE instance? Or is it unique for the whole JIVE so that two different JIVE instances cannot have the same contentId?

          I'm assuming that the other "id" cannot be duplicate for the same object type and JIVE instance: a discussion and a document both can have the same "id" 1234 but the contentId must be different.

          As you no doubt know, identifiers need to be unique within a context (from an API perspective, that means unique within a particular URI path like /contents or /places).  In the internal architecture of Jive, the id values are unique only within object type (documents versus discussions versus status updates, for example), so a separate contentId value was created that is actually unique across all content objects.  This is the ID value that is used in all of the APIs that reference content objects.  In a similar manner, placeId is globally unique across all place types (spaces, groups, projects, etc.) and is used in all URIs that reference a place object.

           

          Content ID and Place ID values are unique across a Jive instance, but not globally unique across all Jive instances.  That doesn't cause problems, however, because the absolute URI for such objects includes the hostname of each Jive instance in it, so the entire URI is indeed globally unique.

          2 people found this helpful