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

FieldTypeMode Description
contentTypesString[]optional

Content types that may be included in this place. Valid values are the plural versions of all defined content types (documents, discussions, files, polls), plus projects (if projects are allowed in this place), tasks (for projects only), and blog (if a blog is allowed in this place). Additional content types may be available if this Jive instance has installed plugins defining them. During creation, if no content type is specified then all available content types will be selected. If the blog content type is included during creation, then a blog will automatically be created inside the place.

creatorPersonread-only

Person that created this project.

descriptionStringoptional

Human readable description of this place.

dueDateISO 8601 Daterequired

Date by which this project must be completed.

followerCountIntegerread-only

Number of people following this object.

Availability:

Will be present only for object types that support being followed.

highlightBodyStringread-only

Highlight snippet of a search match in the body or description.

Availability:

Will be present in search results only.

highlightSubjectStringread-only

Highlight snippet of a search match in the subject or name.

Availability:

Will be present in search results only.

highlightTagsStringread-only

Highlight snippet of a search match in tags.

Availability:

Will be present in search results only.

iconCssStringread-only

CSS Style to locate icon within sprite.

idStringread-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.

likeCountIntegerread-only

Number of people who have liked this object.

Availability:

Will be present only for object types that support being liked.

localeStringread-only

Locale string of the space.

nameStringrequired

Formal name of this place. It must be unique among places of the same type in this Jive instance.

parentStringrequired

URI of the place that contains this place (if any). URI points at a containing group or space.

parentContentSummaryread-only

Summary information about the content object that is the parent of this object.

Availability:

Will be present in search results only.

parentPlaceSummaryread-only

Summary information about the place that contains this object.

Availability:

Will be present in search results only.

placeIDStringread-only

Internal Jive ID associated with the place.

placeTopicsPlaceTopic[]optional

List of place topics applied to this place

projectStatusStringread-only

Current status of this project with respect to its schedule. TODO - enumerate values

publishedISO 8601 Dateread-only

Date and time when this place was originally created.

resourcesObjectread-only

Resource links (and related permissions for the requesting person) relevant to this object.

searchRankingsObjectread-only

A map of search result scores including social signals.

Availability:

Will be present in search results only.

startDateISO 8601 Daterequired

Date that this project was (or will be) started.

statusStringread-only

Visibility status of this place ("Active", "Archived", "Deleted").

tagsString[]optional

Tags associated with this object.

Availability:

Will be present only for object types that support tags

typeStringrequired

The object type of this object ("project").

updatedISO 8601 Dateread-only

Date and time this place was most recently updated.

viewCountIntegerread-only

Number of times this place has been viewed.

Availability:

Will be present only for objects that support view counts

visibleToExternalContributorsBooleanoptional

Flag indicating that this place is potentially visible to external contributors.

followedBooleanread-only

Whether the current user is following this object.

Availability:

Will be present only for object types that support being followed.

promotedResultBooleanread-only

A boolean determining whether this search result is a promoted result

Availability:

Will be present in search results only.

→ Fields used by update and create operations
→ Fields used only by create operations
→ Fields not used by update or create operations

Resources

ResourceMethodDescription
activityGET

Return a paginated list of activities that have occurred within this place.

Retrieves:
  • Activity[]
  • announcementsPOST

    Create a new announcement associated with this place. An appropriate parent field will be calculated and injected automatically.

    Here is an example of a JSON with the minimum set of fields you must include:

     {
      "content":
          {
          "type": "text/html",
          "text": "

    Some interesting text

    " }, "subject": "Free beer for everyone" }

    Takes:
    Retrieves:
  • Announcement describing the new announcement
  • announcementsGET

    Return a paginated list of announcements for this place.

    Retrieves:
  • Announcement[]
  • avatarGET

    Return the binary content of the avatar image for this place.

    avatarPOST

    Register a new avatar image (or replace an existing one) for this place. The image will be downloaded and scaled as necessary.

    avatarDELETE

    Delete the existing avatar image for this place.

    blogGET

    Return the blog associated with this place.

    Retrieves:
  • Blog
  • categoriesGET

    Return the categories associated with this place.

    Retrieves:
  • Category[]
  • categoriesPOST

    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:
  • Category describing the new category
  • checkpointsGET

    Return a paginated list of checkpoints for this project.

    Retrieves:
  • CheckPoint[]
  • contentsGET

    Return the first page of a paginated list of contents that are contained in this place.

    extpropsDELETE

    Deletes all extended properties for a place.

    Availability:

    Place should be editable to caller.

    extpropsGET

    Returns extended properties for a place.

    Availability:

    Place should be visible to caller.

    Retrieves:
  • ExtProps[]
  • extpropsPOST

    Creates extended properties for a place.

     {
      "any prop name": "any val",
      "any prop2 name": "any val"
     }
     
    Availability:

    Place should be editable to caller.

    Retrieves:
  • ExtProps[]
  • featuredContentGET

    Return a list of featured content objects in this place.

    Retrieves:
  • Content[]
  • followersGET

    Return a paginated list of the people following this place.

    Retrieves:
  • Person[]
  • Since: 3.5
    followingInGET

    Return the custom streams (if any) in which the requesting person is following this place.

    Retrieves:
  • Stream[]
  • htmlGET

    URI of the HTML representation of this place.

    placesGET

    Return the list of child places in this place.

    Retrieves:
  • Place[]
  • selfGET

    Return an updated version of this place.

    Retrieves:
  • Place describing this place
  • selfPUT

    Update the information about this place and return an updated entity.

    Retrieves:
  • Place describing this place
  • selfDELETE

    Delete this place and any related content.

    checkpointsPOST

    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:
    • CheckPoint[] reflecting the new checkpoints for this project.
    Retrieves:
  • CheckPoint[] reflecting the current checkpoints for this project
  • staticsPOST

    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:
  • Static describing the new static resource
  • Since: 3.1
    staticsGET

    Return the list of static resources associated with this place.

    Retrieves:
  • Static[]
  • tasksPOST

    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:
  • Task
  • Since: 3.1
    tasksGET

    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:
  • Task[] tasks for this project
  • Since: 3.1