Difference between revisions of "Sugar Network/Resources"

From Sugar Labs
Jump to navigation Jump to search
Line 5: Line 5:
 
| [[File:Sugar-Network-diagram.png|200px|thumb|Sugar Network objects]]
 
| [[File:Sugar-Network-diagram.png|200px|thumb|Sugar Network objects]]
 
|}
 
|}
 +
 +
<div id="resource-author"></div>
  
 
'''Resource.author'''
 
'''Resource.author'''
Line 18: Line 20:
 
** ''2'', author is the original author of the corresponding resource; if it is not set, user is only a maintainer, e.g., an uploader of a book which has its original authors.
 
** ''2'', author is the original author of the corresponding resource; if it is not set, user is only a maintainer, e.g., an uploader of a book which has its original authors.
  
'''Resource.layers'''
+
<div id="resource-layer"></div>
 +
 
 +
'''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 the 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.
 
: This is an attempt to generalize the idea of [http://groups.google.com/group/sugar-network/browse_thread/thread/4cad05ec801f364c user/resource levels] with the 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.
Line 26: Line 30:
 
:* ''public'', object is visible for everyone;
 
:* ''public'', object is visible for everyone;
 
:* ''deleted'' Network objects' layer will be changed to {{Code|deleted}} after removing objects by users.
 
:* ''deleted'' Network objects' layer will be changed to {{Code|deleted}} after removing objects by users.
 +
 +
<div id="context-type"></div>
  
 
'''Context.type'''
 
'''Context.type'''
Line 34: Line 40:
 
:* ''package'', GNU/Linux package metadata;
 
:* ''package'', GNU/Linux package metadata;
 
:* ''content'', content like PDF files.
 
:* ''content'', content like PDF files.
 +
 +
<div id="implementation-license"></div>
  
 
'''Implementation.license'''
 
'''Implementation.license'''
  
 
: Short license names. The licenses should conform with the [[Activity Library]] licensing [[Activity_Library/Editors/Policy/Licensing|policy]].
 
: Short license names. The licenses should conform with the [[Activity Library]] licensing [[Activity_Library/Editors/Policy/Licensing|policy]].
 +
 +
<div id="implementation-stability"></div>
  
 
'''Implementation.stability'''
 
'''Implementation.stability'''
  
: Stability level of the Implementation. Values conform to [http://0install.net/interface-spec.html#id4016716 0install stability levels] and could be:
+
: Stability level of the Implementation. Values conform to Sugar Network [[Sugar_Network/Recipe_Specification#Software_stability_levels|recipe specification]].
  
:* ''insecure'',
+
<div id="notification-type"></div>
:* ''buggy'',
 
:* ''developer'',
 
:* ''testing'',
 
:* ''stable''.
 
  
 
'''Notification.type'''
 
'''Notification.type'''
Line 55: Line 61:
 
:* ''delete'', object was deleted (hidden);
 
:* ''delete'', object was deleted (hidden);
 
:* ''vote'', object was voted/unvoted.
 
:* ''vote'', object was voted/unvoted.
 +
 +
<div id="feedback-type"></div>
  
 
'''Feedback.type'''
 
'''Feedback.type'''
Line 61: Line 69:
 
:* ''idea''
 
:* ''idea''
 
:* ''problem''
 
:* ''problem''
 +
 +
<div id="artifact-type"></div>
  
 
'''Artifact.type'''
 
'''Artifact.type'''
  
 
:* ''instance'', Sugar activity instance object.
 
:* ''instance'', Sugar activity instance object.

Revision as of 20:02, 3 July 2013

The following diagram shows the full list of objects implemented by the Sugar Network API.

Sugar Network objects

Resource.author

A list of authors working on the corresponding resource. List items are dictionaries with the following keys:

  • guid
    Author's guid in the Sugar Network; might be omitted if a particular author is not registered in the Sugar Network;
  • name
    Full author's name;
  • role
    An integer which is a bit-wise ORed value of the following constants:
    • 1, author is registered in the Sugar Network (and guid key is set);
    • 2, author is the original author of the corresponding resource; if it is not set, user is only a maintainer, e.g., an uploader of a book which has its original authors.

Resource.layer

This is an attempt to generalize the idea of user/resource levels with the 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, only the following list of layers is implemented, but the layer concept might be reused for teachers related workflows later:
  • public, object is visible for everyone;
  • deleted Network objects' layer will be changed to deleted after removing objects by users.

Context.type

Context types:
  • activity, Sugar activity;
  • project, general purpose context;
  • package, GNU/Linux package metadata;
  • content, content like PDF files.

Implementation.license

Short license names. The licenses should conform with the Activity Library licensing policy.

Implementation.stability

Stability level of the Implementation. Values conform to Sugar Network recipe specification.

Notification.type

  • create, object was created;
  • update, object's properties were modified;
  • delete, object was deleted (hidden);
  • vote, object was voted/unvoted.

Feedback.type

  • question
  • idea
  • problem

Artifact.type

  • instance, Sugar activity instance object.