Project
A project
is a place for recording progress towards a specific goal. A project must have a parent place--there
are no global projects.
Projects have associated Tasks
with individual assignments and due dates. Projects can also
have CheckPoints, which are simply a date and description of a checkpoint.
An example JSON representation looks like this:
Examples:
Example JSON
JSON including important fields and a Project's resources. See the tables below for a list of all fields and resources.
{ "type" : "project", "name" : "Project of a Secret Group", "parent" : "https://example.jiveon.com/api/core/v3/places/1435", "displayName" : "project-of-a-secret-group", "description" : "This is a secret group", "status" : "Active", "contentTypes" : [ "blog", "documents", "files", "discussions", "polls", "projects", "tasks" ], "projectStatus" : "HIGH", "visibleToExternalContributors" : false, "viewCount" : 2, "followerCount" : 1, "creator" : { "name" : { "formatted" : "Administrator" }, "type" : "person", "displayName" : "Administrator", "id" : "1" }, "startDate" : "2012-07-02T07:00:00.000+0000", "dueDate" : "2012-09-14T06:59:59.999+0000", "published" : "2012-07-20T17:28:36.304+0000", "updated" : "2012-07-20T17:29:20.852+0000", "tags" : [ ], "id" : "1013", "resources" : { "checkpoints" : { "ref" : "https://example.jiveon.com/api/core/v3/checkpoints/1437", "allowed" : [ "POST", "GET" ] }, "contents" : { "ref" : "https://example.jiveon.com/api/core/v3/contents?filter=place(http%3A%2F%2FLT-WS-090156%3A8080%2Fapi%2Fcore%2Fv3%2Fplaces%2F1437)", "allowed" : [ "GET" ] }, "announcements" : { "ref" : "https://example.jiveon.com/api/core/v3/places/1437/announcements", "allowed" : [ "POST", "GET" ] }, "self" : { "ref" : "https://example.jiveon.com/api/core/v3/places/1437", "allowed" : [ "PUT", "GET", "DELETE" ] }, "html" : { "ref" : "https://example.jiveon.com/groups/my-secret-group/projects/secret-project-of-a-secret-group", "allowed" : [ "GET" ] }, "categories" : { "ref" : "https://example.jiveon.com/api/core/v3/places/1437/categories", "allowed" : [ "POST", "GET" ] }, "tasks" : { "ref" : "https://example.jiveon.com/api/core/v3/places/1437/tasks", "allowed" : [ "POST", "GET" ] }, "places" : { "ref" : "https://example.jiveon.com/api/core/v3/places/1437/places", "allowed" : [ "GET" ] }, "followingIn" : { "ref" : "https://example.jiveon.com/api/core/v3/places/1437/followingIn", "allowed" : [ "GET" ] }, "avatar" : { "ref" : "https://example.jiveon.com/api/core/v3/places/1437/avatar", "allowed" : [ "POST", "GET", "DELETE" ] }, "activity" : { "ref" : "https://example.jiveon.com/api/core/v3/places/1437/activities", "allowed" : [ "GET" ] }, "statics" : { "ref" : "https://example.jiveon.com/api/core/v3/places/1437/statics", "allowed" : [ "POST", "GET" ] } } }
Create a Project
POST to /places creates a new project. The minimum set of fields you must include are:
{ "type": "project", "displayName": "My new project", "name": "My new project!", "parent": "https://example.jiveon.com/api/core/v3/places/1200", "startDate": "2012-07-02T07:00:00.000+0000", "dueDate": "2012-09-14T06:59:59.999+0000" }
Fields
Field | Type | Mode † | Description |
---|---|---|---|
contentTypes | String[] | optional | Content types that may be included in this place. Valid values are the
plural versions of all defined content types ( |
creator | Person | read-only | Person that created this project. |
description | String | optional | Human readable description of this place. |
dueDate | ISO 8601 Date | required | Date by which this project must be completed. |
followerCount | Integer | read-only | Number of people following this object. Availability:Will be present only for object types that support being followed. |
highlightBody | String | read-only | Highlight snippet of a search match in the body or description. Availability:Will be present in search results only. |
highlightSubject | String | read-only | Highlight snippet of a search match in the subject or name. Availability:Will be present in search results only. |
highlightTags | String | read-only | Highlight snippet of a search match in tags. Availability:Will be present in search results only. |
iconCss | String | read-only | CSS Style to locate icon within sprite. |
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. |
likeCount | Integer | read-only | Number of people who have liked this object. Availability:Will be present only for object types that support being liked. |
locale | String | read-only | Locale string of the space. |
name | String | required | Formal name of this place. It must be unique among places of the same type in this Jive instance. |
parent | String | required | URI of the place that contains this place (if any). URI points at a containing |
parentContent | Summary | read-only | Summary information about the content object that is the parent of this object. Availability:Will be present in search results only. |
parentPlace | Summary | read-only | Summary information about the place that contains this object. Availability:Will be present in search results only. |
placeID | String | read-only | Internal Jive ID associated with the place. |
placeTopics | PlaceTopic[] | optional | List of place topics applied to this place |
projectStatus | String | read-only | Current status of this project with respect to its schedule. TODO - enumerate values |
published | ISO 8601 Date | read-only | Date and time when this place was originally created. |
resources | Object | read-only | Resource links (and related permissions for the requesting person) relevant to this object. |
searchRankings | Object | read-only | A map of search result scores including social signals. Availability:Will be present in search results only. |
startDate | ISO 8601 Date | required | Date that this project was (or will be) started. |
status | String | read-only | Visibility status of this place ("Active", "Archived", "Deleted"). |
| String[] | optional | Tags associated with this object. Availability:Will be present only for object types that support tags |
type | String | required | The object type of this object ("project"). |
updated | ISO 8601 Date | read-only | Date and time this place was most recently updated. |
viewCount | Integer | read-only | Number of times this place has been viewed. Availability:Will be present only for objects that support view counts |
visibleToExternalContributors | Boolean | optional | Flag indicating that this place is potentially visible to external contributors. |
followed | Boolean | read-only | Whether the current user is following this object. Availability:Will be present only for object types that support being followed. |
promotedResult | Boolean | read-only | A boolean determining whether this search result is a promoted result Availability:Will be present in search results only. |
Resources
Resource | Method | Description |
---|---|---|
activity | GET | Return a paginated list of activities that have occurred within this place. Retrieves: |
announcements | POST | Create a new announcement associated with this place. An appropriate
Here is an example of a JSON with the minimum set of fields you must include: { "content": { "type": "text/html", "text": " Takes:
Retrieves: |
announcements | GET | Return a paginated list of announcements for this place. Retrieves: |
avatar | GET | Return the binary content of the avatar image for this place. |
avatar | POST | Register a new avatar image (or replace an existing one) for this place. The image will be downloaded and scaled as necessary. |
avatar | DELETE | Delete the existing avatar image for this place. |
blog | GET | Return the blog associated with this place. Retrieves: |
categories | GET | Return the categories associated with this place. Retrieves: |
categories | POST | Create a new category for this place with the specified characteristics, and return an entity describing it. The minimum information required to create a new category is: { "name": "Animals" } Takes:
Retrieves: |
checkpoints | GET | Return a paginated list of checkpoints for this project. Retrieves: |
contents | GET | Return the first page of a paginated list of contents that are contained in this place. |
extprops | DELETE | Deletes all extended properties for a place. Availability:Place should be editable to caller. |
extprops | GET | Returns extended properties for a place. Availability:Place should be visible to caller. Retrieves: |
extprops | POST | Creates extended properties for a place. { "any prop name": "any val", "any prop2 name": "any val" } Availability:Place should be editable to caller. Retrieves: |
featuredContent | GET | Return a list of featured content objects in this place. Retrieves: |
followers | GET | Return a paginated list of the people following this place. Retrieves:Since: 3.5 |
followingIn | GET | Return the custom streams (if any) in which the requesting person is following this place. Retrieves: |
html | GET | URI of the HTML representation of this place. |
places | GET | Return the list of child places in this place. Retrieves: |
self | GET | Return an updated version of this place. Retrieves: |
self | PUT | Update the information about this place and return an updated entity. Retrieves: |
self | DELETE | Delete this place and any related content. |
checkpoints | POST | Replace the existing checkpoints for the specified project with the new ones, and return the updated array of checkpoints. You will need to pass a list that points to an array of checkpoints. Here we see an example of two checkpoints with their minimum set of fields: { "list": [ { "name": "Feature Complete", "dueDate": "2012-07-31T07: 00: 00.000+0000" }, { "name": "Code Freeze", "dueDate": "2012-09-31T07: 00: 00.000+0000" } ] } Takes:
Retrieves: |
statics | POST | Create a new static resource for this place with the specified characteristics, and return an entity describing it. { "filename" : "{filename of the static resource}" } A description field may optionally be included as well. Retrieves:Since: 3.1 |
statics | GET | Return the list of static resources associated with this place. Retrieves: |
tasks | POST | Create a new task in the specified project. The minimum information required is: { "subject": "Clean the carpet", "dueDate" : "2013-07-12T06:59:59.999+0000", "type": "task" } Availability:Available only when the specified person is allowed to create tasks in this project. Takes:Retrieves:Since: 3.1 |
tasks | GET | Return the first page of a paginated list of tasks for this project. Availability:Available only when the specified person is allowed to view project tasks. Retrieves:Since: 3.1 |