Purpose and Scope

Org Service currently performs three functions:

  1. A relationship service - masters NODE, RELATION and RELATION_TYPE resources, and enables the maintenance and analysis of complex relations and directed graphs.
  2. A group service - masters GROUP resources
  3. A mechanism for remotely creating content in a hub - masters F_INTERESTGROUPS, F_MEMBERSHIPS and F_CONVS. This will be deprecated soon, and replaced by the relationship, group and content APIs.

Contents:

Terminology

Org Service uses the following terminology:

.

Conventions and Return Codes

The API supports the nGen Platform conventions:


Schemas

API Guidelines


GROUP Resource

A GROUP resource represents an nGen Collab group.

GROUP_PUBLICATIONS Resource

A resource representing a publication of a group.

GROUP_SUBSCRIPTIONS Resource

A resource representing a subscription to a published group.

RELATIONS Resource

A resource representing a directed relationship between two entities. The relationship is modeled as ENTITY_1 => RELATIONSHIP => ENTITY_2. Because the relationships are 'directed,' they are not reversible. Examples:

Because the ENTITY is treated polymorphically, they may be nested. John can be a FRIEND OF Peter, and Peter a FRIEND OF Mary. That gives John a second-order relationship to Mary. This kind of relationship graphing can be used to facilitate social graph and party model implementations.

RELATION_TYPES Resource

An embedded resource representing the nature of the relationship between two parties in a RELATION resource.

TBD.

RECOMMENDATION Resource

A transient, read-only resource representing a list of resources collected and organized by their similarity to another resource. This resource is used to gather data such as "Content You Might Be Interested In", "Meetings You Should Attend" or "Users You Should Meet"

F_INTERESTGROUP Resource

An F_INTERESTGROUP resource is a proxy for an GROUP resource, and will eventually be deprecated.


  • DELETE /f_interestgroups/<group_id>
    Delete a group by its <group_id>
    • Responses:
      • 400 Bad Request - missing BSGRA_GUID
      • 401 Unauthorized - unrecognized AUTH_SESSION_INDEX or AUTH_USERNAME header.
      • 403 Forbidden -
        • user is not authorized to delete the group
        • group is not deletable
      • 404 Not Found -
        • unrecognized AUTH_USERNAME
        • unrecognized group
      • 500 Internal Error server-side error
      • 200 Success

  • GET /f_interestgroups
    Returns all groups accessible by the consumer
    • Filters:
      • originator - the BSGRA_GUID of the application that originated the group (i.e. the group's home)
    • Responses:
      • 400 Bad Request -
        • missing BSGRA_GUID
        • missing group parameter
      • 401 Unauthorized - unrecognized AUTH_SESSION_INDEX or AUTH_USERNAME header.
      • 500 Internal Error - server-side error
      • 200 Success - returns an instance of the f_interestgroups schema.

  • GET /f_interestgroups/<group_id>
    Returns the Group matching the <group_id>.
    • Notes:
      • Publication data will only be available if the request comes from the originating bsgra_guid
    • Responses:
      • 400 Bad Request - missing BSGRA_GUID
      • 401 Unauthorized - unrecognized AUTH_SESSION_INDEX or AUTH_USERNAME header.
      • 404 Not Found - unrecognized group_id
      • 500 Internal Error - server-side exception
      • 200 Success - returns an instance of the f_interestgroup schema.
  • F_MEMBERSHIPS Resource

    An F_MEMBERSHIPS resource represents user assignments to groups

    F_CONVS Resource

    An F_CONVS resource is a wrapper for a CONV resource, representing a wiki or a reply.