Version 2

    Overview

    With Jive, there are a number of strategies that you can use to integrate with the platform. This document will outline the different techniques you can use and describe the best practices for some of the more common use cases. This document is organized by a set of Use Cases. These are the high level integration patterns that we've seen in practice. There are a number of scenarios that satisfy the use case. There's also a quick reference/cheat sheet provided as well.

    We'll be adding to this document over time. Please feel free to jump in and include your own senario, add your thoughts with a comment, et.

     

    Use Case: Socialize External Content

     

    From an external system, create Jive content

    Because content can contain HTML, it is possible to include app artifacts that will invoke an application. These are the same that are "dropped" from a !App action, e.g. wikipedia , artifact. This is used to create bi-directional integration between systems.

    Jive Anywhere Cartridge

    A cartridge can be written for Jive Anywhere that will create discussions in a target Jive instance. This uses OAuth for authentication.ja-1.png

    Rest API:

    The REST API can be used for CRUD operations on all content types within Jive. Currently, the supported authorization scheme is Basic, with OAuth targeted for 7.x.

    iOS SDK

    The iOS SDK can be used to create a native iOS application that can create Jive content types. All content types are able to be created.

     

     

    External to Jive, create an Activity Stream

    Combining activity entries and embedded experience is a great way to implement bi-direction integration between systems.  For example, a new issue may be opened in a help desk system. An activity stream is produced and delivered to Jive. This contains an embedded experience to an application that will allow the user to work with the ticket from their stream. There are multiple ways to include embedded experiences with an activity stream as highlighted below.

    Jive Apps

    From an EXTERNAL system, the application gateway, a cloud service offered by Jive, can be used to deliver Activities, Notifications, and Actions into a Jive instance. Entries are posted by the application on behalf of a user. They may contain an embedded experience as part of the activity stream or as part of the HTML body of the activity Entry.

    generalActivity.png

    notificatoins-actions.png

     

    REST

    When using the REST API, activities, notifications, and actions are posted on behalf of the authenticated user. They "look and fee" just like any other activity in the What Matters stream.

     

    iOS

    When using the iOS SDKs, activities, notifications, and actions are posted on behalf of the authenticated user. They "look and fee" just like any other activity in the What Matters stream.

     


    Use Case: Extend the Jive UI


    Add a Menu Item to a content page

    Jive Apps

    Using a Jive App, a menu item can be placed in the "App Actions" menu of a content page. When the application is invoked, it has the full context of where it was invoked from, full access to the Jive Core API, and can make REST calls via AJAX. Invoking this like will bring up a light box from an application that provides the user access to Jive via the API as well as any other back end system the application uses.

    app_actions.png

     

    Create a "Full Page" view within the Jive UI

    Jive Apps

    The "canvas" view of an application provides a full screen dedicated to a specific interaction defined by the application.

    canvas.png


    From within Jive, pull in an external activity stream

    Tiles

    There is an Activity Stream Tile that is used to create stream entries in a purposeful place. These typically represent behavior from another system of record, e.g. Salesforce. In addition, it is possible to have bi-directional comment synchronization between systems as well.

    chatterentryinjive.png

     

     

    Quick Reference Guide

     

    Use Case

    Integration

    Scenario

    TilesJive Apps

    Jive Anywhere

    Cartridge

    REST

    API

    iOS

    SDK

    Socialize External ContentFrom an external system, create Jive contentN/AN/A

    Yes - Discussions only

    YesYes
    Socialize External ContentExternal to Jive, create an Activity StreamYesYes - Via app gateayNoYesYes
    Extend the Jive UIFrom within Jive, pull in an external activity streamYesNoNoNoNo
    Extend the Jive UIAdd Menu Item to a content pageNoYesNoNoNo
    Extend the Jive UICreate a "Full Page" view within the Jive UINoYes - Canvas ViewNoNoNo