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
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.
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.
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.
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.
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
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.
Create a "Full Page" view within the Jive UI
The "canvas" view of an application provides a full screen dedicated to a specific interaction defined by the application.
From within Jive, pull in an external activity stream
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.
Quick Reference Guide
|Socialize External Content||From an external system, create Jive content||N/A||N/A|
Yes - Discussions only
|Socialize External Content||External to Jive, create an Activity Stream||Yes||Yes - Via app gateay||No||Yes||Yes|
|Extend the Jive UI||From within Jive, pull in an external activity stream||Yes||No||No||No||No|
|Extend the Jive UI||Add Menu Item to a content page||No||Yes||No||No||No|
|Extend the Jive UI||Create a "Full Page" view within the Jive UI||No||Yes - Canvas View||No||No||No|