Changes

no edit summary
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.