Difference between revisions of "Sugar Network/Resources"
Jump to navigation
Jump to search
(Created page with "The following diagram shows the full list of objects implemented by the Sugar Network API. {| border="0" |- valign="top" align="let" | [[File...") |
|||
Line 5: | Line 5: | ||
| [[File:Sugar-Network-diagram.png|200px|thumb|Sugar Network objects]] | | [[File:Sugar-Network-diagram.png|200px|thumb|Sugar Network objects]] | ||
|} | |} | ||
+ | |||
+ | '''Resource.layer''' | ||
+ | |||
+ | : This is an attempt to generalize the idea of [http://groups.google.com/group/sugar-network/browse_thread/thread/4cad05ec801f364c 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 [http://groups.google.com/group/sugar-network/msg/f5a1b4d78494a5d3 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 {{Code|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 [[Activity_Library/Editors/Policy/Licensing|policy]]. | ||
+ | |||
+ | '''Implementation.stability''' | ||
+ | |||
+ | : Stability level of the Implementation. Values conform to [http://0install.net/interface-spec.html#id4016716 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 | ||
+ | } | ||
+ | |||
+ | '''Notification.type''' | ||
+ | |||
+ | :* ''create'', object was created; | ||
+ | :* ''update'', object's properties were modified; | ||
+ | :* ''delete'', object was deleted (hidden); | ||
+ | :* ''vote'', object was voted/unvoted. |
Revision as of 03:23, 13 March 2012
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 }
Notification.type
- create, object was created;
- update, object's properties were modified;
- delete, object was deleted (hidden);
- vote, object was voted/unvoted.