Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Community objects are retrieved from API calls such as Social - Community - Get Public. They can be useful for determining whether they can be joined, who is already a member, and more detailed information about their purpose.

Basic format

The basic format is simple, with some more complex extensions discussed at the bottom:

Community JSON format
{
	// Basic system parameters:
	"_id": string, // String representation of MongoDB ObjectId
	"created": string, // Java date format, time when community was created
	"modified": string, // Java date format, time when community details were last changed
	
	// Advanced system parameters:
	"communityStatus": string, // "active", "disabled", or "pending" (awaiting admin approval)
	"isSystemCommunity": boolean, //TODO
	"isPersonalCommunity": boolean, //TODO
	"parentId": string, //TODO
	"parentName": string, //TODO
 
	// Community metadata:
	"ownerId": string, //TODO
	"ownerDisplayName": string, TODO
	"name": string,
	"description": string,
	"tags": [ string ],
	
	// Member information:
	"numberOfMembers": integer, 
	"members": [{
		// From "person" object, see link below
		"_id": string, 
		"email": string,
		"displayName": string,
		"languages": [ string ],
		"contacts": [ {...} ], // The same format as for the "person" object
		"links": [ {...} ], // The same format as for the "person" object
 
		"userType": string, //TODO
		"userStatus": string, //TODO	
 
		"userAttributes": [{ // See below
			"type": string,
			"value": string
		}]	
	}],
 
	// Community properties:
	"userAttributes": { // This is a list of things that members can do (see below)
		"USERPROP1": { // This is a map, ie this format is for USERPROP1, USERPROP2, etc;
			"type": string,
			"value": string
		},
		//etc
	},
	"communityAttributes": { // This is a list of community properties (see below)
		"COMMPROP1": { // This is a map, ie this format is for COMMPROP1, COMMPROP2, etc;
			"type": string,
			"value": string
		},
		//etc
	}	
} 

Note that most of the "members" object fields are simply copied from the Person object.

Three of the fields in the above format are lists (actually sets) or maps of type/value objects:

  • userAttributes: governs what community members can and can't do
  • communityAttributes: describes what communities allow (normally in terms of discovery and joining)
  • members.userAttributes: TODO

These are now described.

Community attributes

The following attributes are supported

User attributes

TODO

 

  • No labels