Page
A Page represents a UI Page that can appear in a place or associated to a user. User pages are visible only to the owner of the page. Pages in places are visible to all users that can see the place. A Page can contain up to 8 Tile Instances and any number of External Stream Instances. When creating a Page, you have to specify at least one Tile Instance or one External Stream Instance.
{ "id" : "1058", "resources" : { "html" : { "allowed" : [ "GET" ], "ref" : "http://example.jiveon.com/your-view" }, "self" : { "allowed" : [ "PUT", "GET" ], "ref" : "http://example.jiveon.com/api/core/v3/pages/1058" } }, "published" : "2014-09-04T22:02:19.118+0000", "name" : "userTilePage", "displayOrder" : 0, "parent" : "http://example.jiveon.com/api/core/v3/people/1", "template" : { "id" : "1003", "name" : "teamCollaboration", "tiles" : [ { }, "tiles" : [ { "id" : "1157", "resources" : { "extprops" : { "allowed" : [ "DELETE", "GET", "POST" ], "ref" : "http://example.jiveon.com/api/core/v3/tiles/1157/extprops" }, "self" : { "allowed" : [ "GET" ], "ref" : "http://example.jiveon.com/api/core/v3/tiles/1157" } }, "published" : "2014-09-02T22:37:28.910+0000", "updated" : "2014-09-04T22:02:19.159+0000", "definition" : { "id" : "1049", }, "parent" : "http://example.jiveon.com/api/core/v3/people/1", "state" : "VISIBLE", "column" : 1, "data" : { "title" : "Latest blog posts", "default" : { "defaultTemplate" : "jive.integration.tiles.defaults.recentBlogWide" }, "contents" : [ { "text" : "234234234234", "action" : { "url" : "/people/user2/blog/2014/05/29/234234234234" }, "linkDescription" : "234234234", "jiveIconClasses" : "jive-icon-big jive-icon-blog", "relativeTimestamp" : "3 months ago", "authorDisplayName" : "Equis User 2", "authorID" : 2003, "authorIsPartner" : false, "avatar" : "http://example.jiveon.com/people/user2/avatar/46.png?a=1011" }, { "text" : "i 468ik 78k i57kl", "action" : { "url" : "/people/gato%40jivesoftware.com/blog/2014/05/29/i-468ik-78k-i57kl" }, "linkDescription" : "7, i7, uk, 6uk, 6uk ,uk,", "jiveIconClasses" : "jive-icon-big jive-icon-blog", "relativeTimestamp" : "3 months ago", "authorDisplayName" : "John Admin", "authorID" : 1, "authorIsPartner" : false, "avatar" : "http://example.jiveon.com/people/gato@jivesoftware.com/avatar/46.png?a=-1" } ], "action" : { "text" : "All blog posts", "url" : "/content?filterID=all~objecttype~objecttype%5Bblogpost%5D" }, "config" : { "listStyle" : "contentList" } }, "type" : "tileInstance", "viewstyle" : "contentlistwide" } ], "extstreams" : [ ], "layout" : "wide_narrow", "type" : "page", "pageType" : "place" }
Examples:
Simple Page Creation
POST to /pages creates a new page. The minimum set of fields you must include are:
{ "name": "News", "template": "http://example.jiveon.com/api/core/v3/placeTemplates/1003", "parent" : "http://example.jiveon.com/api/core/v3/places/1561", "tiles": [ { "config": { "title": "Featured People", "people": [ { "id": "2022", "thumbnailUrl": "http://example.jiveon.com/api/core/v3/people/2022/avatar?a=1007", "displayName": "Equis User 21" } ] }, "state": "VISIBLE", "definition": "http://example.jiveon.com/api/core/v3/tileDefs/1064", "type": "tileInstance" } ], "layout": "narrow_wide", "type": "page" }
When creating a page from /places/{placeID}/pages or from /people/@me/pages there is no need to include the parent field.
View pages
Clients interested in rendering a page can minimize the data returned by the server by specifying which fields they need. Here is an example of a client that needs the page name, name of each tile, data of each tile and the visual style of each style:
GET to /pages/{pageID}?fields=name,tiles.data,tiles.viewstyle,-tiles.resources,-resources
Fields
Field | Type | Mode † | Description |
---|---|---|---|
displayOrder | Integer | optional | The position of this Page within the pages. This information is used when showing all pages created using this API. Position 0 means first and so on. |
extstreams | ExternalStreamInstance[] | optional | The external streams contained in this page. When creating a page it has to have at least one tile or external stream. There is no maximum number of external streams in a page. |
id | String | read-only | Identifier (unique within an object type and Jive instance) of this object. This field is internal to Jive and should not be confused with contentID or placeID used in URIs. |
layout | String | optional | The layout for this page.
|
name | String | required | The name of this Page. |
pageType | String | required | The pageType for this page. This value determines which tile definitions are appropriate to appear on this page by comparing with a tile's pageTypes
|
parent | String | required | The URI of the parent place that this page is contained in, or the URI of the owning person for user pages. This field is only required when creating a page using the page service. |
published | ISO 8601 Date | read-only | Date and time this object was originally created. |
resources | Object | read-only | |
template | PlaceTemplate | optional | The place template used when creating or updating this page. If a template is not supplied, the default system template will be used. Since: 3.9 |
tiles | TileInstance[] | optional | The tiles contained in this page. When creating a page it has to have at least one tile or external stream. The maximum number of tiles that a page can contain is 8. |
updated | ISO 8601 Date | read-only | Date and time this object was most recently updated. |
Resources
Resource | Method | Description |
---|---|---|
self | GET | Return an updated version of this page. |
self | PUT | Update the information about this page. |
self | DELETE | Delete this page. |