There are now several different ways you can extend the Jive UI with your own custom HTML content:
- an HTML Tile is a great way to quickly get HTML content into a tile for your group or project
- a Custom View Tile is a powerful solution for getting HTML content into a tile, along with JavaScript and access to the Jive REST API
- an HTML Widget is a great way to get HTML content onto an Overview page for your space, group, or project
So which solution is right for you? This depends on many factors, including what version of Jive software you are running, where you want the content to reside, what kinds of things you want to do with your content, and other details. The flow chart below gives you a quick idea of which tile could work best for you:
There are several more details you'll need to understand when choosing a solution. For example, there are two distinct flavors of the Custom View Tile. To understand more details about the differences between these solutions, refer to the table below.
HTML Tile | Jive-hosted Custom View Tile (no integration service necessary) | Self-hosted Custom View Tile (requires an integration service) | HTML Widget | |
---|---|---|---|---|
What is it? | A Jive-hosted tile that requires no coding... other than dropping in your custom HTML | A Jive-hosted tile that can be styled and coded the way you choose | A tile that can be styled and coded the way you choose; served from your own integration server | A custom widget for use on the Overview page of a space, group, or project. |
Documentation? | Adding an HTML Tile to a Page | Creating Custom View Tiles | Jive Community | Creating Custom View Tiles | Jive Community | |
GENERAL TOPICS | ||||
Availability? | Cloud Release (version 2015.2) Jive 9.0 + | Cloud Release (version 8c5); Hosted version 8.0 or later | Cloud Release (version 8c5); Hosted version 8.0 or later | Cloud Release; Hosted version 4.0 or later |
When to use? | Great for quick and simple HTML content in a tile | Good if you want more features and flexibility than an HTML tile, like access to the V3 API; also a good way to reuse the same tile on multiple pages | Good if you want the features and flexibility of a Jive-hosted Custom View Tile, but also the ability to push content from your own integration server | Good for getting content on the overview page; however, we suggest you produce new content with one of the tile-based options since that is where we are focusing our new platform features |
Reusable? | No; you must manually copy the HTML content to create multiple tile instances | Yes; you can place instances of the same tile in multiple locations | Yes; you can place instances of the same tile in multiple locations | No; you must manually copy the HTML content to create multiple widget instances |
Who can set it up? | Group or project admins | Community administrators | Community administrators; requires middleware hosting operations | Space or system admins |
How do you create one? | When you manage/edit a Jive page | By bundling it into an add-on package | By bundling it into an add-on package | When you customize an Overview page |
CODE-RELATED FEATURES | ||||
Accepts HTML? | Yes | Yes | Yes | Yes |
Can use iframes? | Yes; but child frame has to declare itself loadable from any origin* | Yes; but child frame has to declare itself loadable from any origin* | Yes; but child frame has to declare itself loadable from any origin* | Only if you are a system administrator of the community — and the child iframe has to declare itself loadable from any origin* |
Accepts images? | Yes | Yes | Yes | Yes |
JavaScript support? | Only if you are a system administrator of the community or provisioned for limited JavaScript use by the Administrator. | Yes | Yes | Only if you are a space administrator or a system administrator |
CSS support? | Yes | Yes | Yes | Yes but only space administrators and system administrator can use the <style> or <link> tags |
Access to user session? | No | Yes; like a Jive app | Yes; like a Jive app | Yes; full session access |
Access to the V3 JIVE API? | No | Yes | Yes | Yes |
MIDDLEWARE REQUIREMENTS/FEATURES | ||||
Can be run without an integration service? | Yes | Yes | No; requires an integration service | Yes |
Can run code in the background? | No | No | Yes (from your own integration service) | No |
Can you push updates? | No | No | Yes (from your own integration service) | No |
Can content be rendered dynamically? | Yes | Yes | Yes | Yes |
JIVE PAGE SUPPORT | ||||
Limit per page? | None | 2** | 2** | None |
Supported on a place activity page? | Yes | Yes | Yes | No |
Supported on a custom page in a place? | Yes | Yes | Yes | No |
Supported on a News page? | Yes | Yes | Yes | No |
Supported on the Your View page? | Yes | Yes | Yes | No |
Supports a mobile-friendly version? | Yes | Yes | Yes | No |
Supported on the Overview page of a place? | No | No | No | Yes |
* For security reasons, if you have an iframe inside your tile or widget, the child iframe has to declare itself loadable from any origin. The X-Frame-Options header should NOT be present, or it must explicitly permit the Jive domain (using ALLOW-FROM). Refer to The X-Frame-Options response header - HTTP | MDN for more information about this header.
** You can change the 2-tile limit for Custom View tiles from the properties page within the Admin Console ("jive.tilepage.custom_view.max"). Keep in mind that this limitation is in place to ensure good page load time performance.
Comments