Sugar Network/Resources
The following diagram shows the full list of objects implemented by the Sugar Network API.
Resource.layer
- This is an attempt to generalize the idea of user/resource levels with idea that objects should not be removed from the Network immediately (only hidden, and permanently removed by Network administrators). So, every resource is associated with a layer, i.e., it might be visible for observers only if they requested this layer and have permissions to see it.
- For now, implemented only the following list of layers, but it might be reused for teachers related workflows later:
- general, the default layer for observers and Network objects; all users can see objects on this layer;
- deleted Network objects' layer will be changed to
deleted
after removing objects by users.
Context.type
- Context types:
- application, software application;
- library, software library;
- activity, Sugar activity;
- article, arbitrary content in a form of article.
Context.license
- Short license names. The licenses should conform with the Activity Library licensing policy.
Implementation.stability
- Stability level of the Implementation. Values conform to 0install stability levels and could be:
- insecure,
- buggy,
- developer,
- testing,
- stable.
Implementation.requires
- What Contexts the current one depends on. Value is a dictionary of:
"<Context-GUID>": { "constraints": [{ # optional array of constrains "not-before": "<VERSION>", # the lowest-numbered version that can be chosen "before": "<VERSION>", # this version and all later versions are unsuitable }], "importance": "essential|recommended", # dependency must be selected or no version is also an option }
Artifact.type
- The type of Artifact:
- screenshot, screenshot generated within the Context;
- jobject, Journal object generated by Sugar activity.
Notification.type
- create, object was created;
- update, object's properties were modified;
- delete, object was deleted (hidden);
- vote, object was voted/unvoted.