Jive Advanced Gamification Module: How to Find Metadata Types and Values

Version 5

    Summary

    As you configure more advanced gamification missions you will need to learn what metadata tags and values are available to you to use. These metadata fields are useful when configuring custom missions and challenges in the Gamification console.

     

    A basic list of the most common metadata types and values are outlined here. This is not a comprehensive list, as a complete list of metadata fields may change over time as new features are released.

     

    This guide also outlines how to quickly determine the unique metadata ID values for each metadata type. These metadata ID values can be determined through a variety of methods, some of which are not covered here. This guide only provides the easiest and most reliable methods for discovering the metadata ID values.

     

    It is also recommended that you thoroughly test all custom missions and challenges to ensure that your new configuration is working as intended. This guide is not meant to replace your testing.

     

    Metadata Types and Descriptions

     

    MetadataExample ValuesMetadata DescriptionMetadata Restricted to Actions/TriggersSource
    id2184, 24624The ID of the object that the Gamification Action/Trigger is being taken against.N/AMetadataSource.java
    typewallentry, directMessage, message, comment, document, blogpost, poll, event, idea, video, community, socialgroup, project, usercontainer, blog, threadThe type of the object that the Gamification Action/Trigger is being taken against.N/AMetadataSource.java
    containerID2032, 28996The ID of the container that the object lives within.N/AMetadataSource.java
    containerTypecommunity, socialgroup, project, usercontainer, blog, threadThe type of the container that the object lives within.N/AMetadataSource.java
    FolloweeID2565, 29846The ID of the user you followed.

    FollowEvent-FOLLOW

    FollowEvent-FOLLOWED

    UserRelationshipEventConverter.java
    tagname2016, test tag, 2152, new tag

    The tag ID or tag name. Note: The value will depend on what you have saved for "Send Tag names to Bunchball" under Admin Console: Gamification > Basic Configuration. The default is to send IDs.

    TagEvent-ADDED-TagEventConverter.java
    rating1, 2, 3, 4, 5The 1-5 rating applied to that content. Note: You won't ever see this unless you have Ratings enabled under Admin Console: System > Settings > Ratings and Liking.

    RateEvent-RATE-

    RateEvent-RATED-

    RateEventConverter.java
    requestID7ed4c23d-500b-44ad-a9ae-b38994d288c4, 6ddf998b-d6c7-46ae-9de9-91c4b914c6a5The unique ID randomly generated to ensure duplicate Actions are not being passed. Note: This entirely random value is completely useless for creating Missions/Challenges.N/AConversionWorkQueueHandler.java

     

    How to find the ID's for...

     

    User ID

    userid

    The userid field is not a valid Metadata field, but instead is a value used in the FolloweeID Tag. You can find the ID (2015) of your user within the URL when editing that Users Profile: https://jivesupport-jive-n.jiveon.com/edit-profile-avatar!input.jspa?targetUser=2015. Alternatively, if you do not have edit permission to that User, then you can access it via the REST API by appending /api/v3 to the end of the URL: https://jivesupport-jive-n.jiveon.com/people/nathan.howard%40jivesoftware.com/api/v3. Then looking for the line in that JSON response that contains the ID ("id" : "2015").

     

    Tags

    tagname (IDs)

    If "Send Tag names to Bunchball" is set to "Ids", then you will need to look up the tagid (1111) via the Jive REST API, because the ID doesn't appear anywhere else within the front-end UI. Here is an example of the REST API using the Tag Search Filter to look up my Tag Entity or Object: https://jivesupport-jive-n.jiveon.com/api/core/v3/search/tags?filter=search(test%20tag). Then looking for lines in that JSON response that contains both the name of the Tag ("name" : "test tag") and the ID ("id" : "1111") of that Tag.

     

    tagname (Names)

    If "Send Tag names to Bunchball" is set to "Names", then you can just use the name of your tag (test tag).

     

    Comments/Replies

    comment

    You can find the ID (1259) of your Comment in its URL: https://jivesupport-jive-n.jiveon.com/docs/DOC-1538#comment-1259. Not to be confused with Messages/Replies, Comments are only found on content outside of a Thread Container (aka Discussions/Questions). Examples would include Documents, Polls, Ideas, Videos, Events, Blog Posts, Etc. To access that Anchor Link, just click on the timestamp of the Comment.

     

    message

    You can find the ID (1621) of your Message/Reply in either of these URLs: https://jivesupport-jive-n.jiveon.com/thread/1385#comment-1621, https://jivesupport-jive-n.jiveon.com/message/1621#comment-1621. As of Jive 9.0+, we now refer to these as Comments instead of Messages/Replies, but the underlying core architecture still refers to these as Messages and treats them separately. A Comment (As of Jive 9.0+), Message or Reply is anything Comment/Message/Reply that has been added into a Thread Container (aka Discussions/Questions). To access that Anchor Link, just click on the timestamp of the Comment/Message/Reply.

     

    Content

    wallentry

    You can find the ID (1159) of your Status Update in its URL: https://jivesupport-jive-n.jiveon.com/people/nathan.howard%40jivesoftware.com/status/1159. To access that URL, click on the timestamp of that Status Update.

     

    directMessage

    You can find the ID (1160) of your Direct Message in its URL: https://jivesupport-jive-n.jiveon.com/collaborations/1160/1260. That second ID (1260) happens to be considered a Comment within the initial Direct Message. TO access that URL, click on the title or timestamp of that Direct Message.

     

    blogpost

    You can find the ID (1103) of your Blog Post within the URL when editing that Blog Post: https://jivesupport-jive-n.jiveon.com/blog/update-post.jspa?ID=1103. Alternatively, if you do not have edit permission to that Blog Post, then you can access it via the REST API by appending /api/v3 to the end of the URL: https://jivesupport-jive-n.jiveon.com/groups/gamification-testing-social-group/blog/2016/06/28/gamification-testing-blog-post/api/v3. Then looking for the line in that JSON response that contains the ID ("id" : "1103").

     

    document

    You can find the ID (1538) of your Document in its URL: https://jivesupport-jive-n.jiveon.com/docs/DOC-1538.

     

    poll

    You can find the ID (1027) of your Poll in its URL: https://jivesupport-jive-n.jiveon.com/polls/1027.

     

    event

    You can find the ID (1054) of your Event in its URL: https://jivesupport-jive-n.jiveon.com/events/1054.

     

    idea

    You can find the ID (1033) of your Idea in its URL: https://jivesupport-jive-n.jiveon.com/ideas/1033.

     

    video

    You can find the ID (1123) of your Video in its URL: https://jivesupport-jive-n.jiveon.com/videos/1123.

     

    Containers

    community

    You can find the ID (2100) of your Space within the URL on the Manage > Settings page: https://jivesupport-jive-n.jiveon.com/edit-place.jspa?showAboutModal=true&containerType=14&containerID=2100. Alternatively, if you do not have edit permission to that Space, then you can access it via the REST API by appending /api/v3 to the end of the URL: https://jivesupport-jive-n.jiveon.com/community/gamification-testing-space/api/v3. Then looking for the line in that JSON response that contains the ID ("id" : "2100").

     

    socialgroup

    You can find the ID (1119) of your Social Group within the URL on the Manage > Settings page: https://jivesupport-jive-n.jiveon.com/edit-place.jspa?showAboutModal=true&containerType=700&containerID=1119. Alternatively, if you do not have edit permission to that Social Group, then you can access it via the REST API by appending /api/v3 to the end of the original URL: https://jivesupport-jive-n.jiveon.com/groups/gamification-testing-social-group/api/v3. Then looking for the line in that JSON response that contains the ID ("id" : "1119").

     

    project

    You can find the ID (1045) of your Project within the URL on the Manage > Settings page: https://jivesupport-jive-n.jiveon.com/edit-place.jspa?showAboutModal=true&containerType=600&containerID=1045. Alternatively, if you do not have edit permission to that Project, then you can access it via the REST API by appending /api/v3 to the end of the original URL: https://jivesupport-jive-n.jiveon.com/community/gamification-testing-space/projects/gamification-testing-project/api/v3. Then looking for the line in that JSON response that contains the ID ("id" : "1045").

     

    blog

    You can find the ID (1193) of your Blogs within the URL on the Manage page: https://jivesupport-jive-n.jiveon.com/blogs-manage.jspa?blog=1193. Alternatively, if you do not have edit permission to that Space, since the REST API trick of appending /api/v3 to the end of the URL doesn't work on Blogs, you'll have to search for it using the Type and Search Filters instead: https://jivesupport-jive-n.jiveon.com/api/core/v3/places?filter=type(blog)&filter=search(Gamification%20Testing:%20Social%20Group). Then looking for lines in that JSON response that contains both the name of the Blog ("name" : "Gamification Testing: Social Group") and the ID ("id" : "1193") of that Tag.

     

    usercontainer

    Unfortunately a user's private usercontainer ID is not exposed to Jive users in an easily retrievable way.

    There are two ways to get to this ID value:

    1. You can find the ID (e.g. 1010) of your Users' User Container either by testing it as seen in the next section called "When in doubt, test it out!"
    2. Run a Database Query based on the User ID if you have DB access (Hosted or On Premise only)

    SELECT usercontainerid FROM jiveusercontainer WHERE userid = 2015;

    usercontainerid

    -----------------

                1010

    (1 row)

     

    thread

    You can find the ID (1385) of your Thread in its URL: https://jivesupport-jive-n.jiveon.com/thread/1385. Thread's are technically a Discussion or Question container that holds the Messages/Replies. These URL's are commonly only accessible when accessing them from the Browse Index (aka /content pages).

     

    When in doubt, test it out!

    If you don't know what kind of Metadata Tags or ID's you can get away with using in your custom Missions/Challenges then the best next steps are to reproduce the same desired action you wish to reward, look up your userid in the Gamification Console and see what Action was recorded.

     

    Whatever you see in the Gamification console output log is exactly what is being checked against when deciding to reward a user for the action that was logged.

     

    Examples

    To show you some examples, here are three different types of actions recorded with a test instance. The first is a Comment on a Blog Post in a Social Group. The second is a Document created in a Project. The third is a Status Update posted in a User Container. Below is a screenshot to show how those Actions are listed within the new Nitro Studios.

    Screen Shot 2016-06-28 at 9.08.14 AM.png

    Based on these tests I did, this would be the breakdown of Actions/Triggers and Metadata I am allowed to use. The requestID is crossed out because it's entirely useless for creating custom Missions/Challenges.

     

    Example 1

    • Action/Trigger(s) in use:
      • CommentEvent-COMMENT-
      • CommentEvent-COMMENT-blogpost
    • Metadata Available:
      • type:blogpost
      • containerType:socialgroup
      • id:1103
      • containerID:1119
      • requestID:a66033b0-d17c-4df1-9002-85ab534f0ccf

     

    Example 2

    • Action/Trigger(s) in use:
      • DocumentEvent-CREATED
    • Metadata Available:
      • type:document
      • containerType:project
      • id:1540
      • containerID:1045
      • requestID:5ec0d9f8-120b-48fd-a064-0075d71663ce

     

    Example 3

    • Action/Trigger(s) in use:
      • WallEntry-CREATE
    • Metadata Available:
      • containerType:usercontainer
      • containerID:1010
      • type:wallentry
      • id:1159
      • requestID:9ca528e6-d7fd-4dd4-af7d-05f6aa5a9e7d

     

    Still Need Help?

    Collect the following information and file a Support Case in your secret MyJive support group. Having this information will help speed up the case investigation:

    1. (On-Premise) What is your Gamification API Key?
      • Note: This can be found under Admin Console: Gamification > Connection Configuration
    2. What is the link to the action or the content that action was performed on?
    3. What date/time/timezone did the end-user perform that action?
    4. What is the userid of the user who performed that action?
    5. What is the name of the Missions/Challenges you expected to reward that user?

     

    Additional Resources