Changes

4,776 bytes removed ,  11:04, 2 January 2012
Cleanup page, since there is Object model
Line 2: Line 2:     
== Overview ==
 
== Overview ==
 +
 +
To better understand this API, see technical explanation of the [[Platform_Team/Sugar_Network/Architecture#Conceptual_level|conceptual level]].
    
The API operates with [[#Resources|resources]] that are collections of objects. All objects are identified by global unique identifiers, GUIDs. Resources might support [[#Actions|common actions]]. While processing requests, server might generate [[#events|events]]. There are [[#Events|common events]] that all resources might generate.
 
The API operates with [[#Resources|resources]] that are collections of objects. All objects are identified by global unique identifiers, GUIDs. Resources might support [[#Actions|common actions]]. While processing requests, server might generate [[#events|events]]. There are [[#Events|common events]] that all resources might generate.
Line 109: Line 111:  
Events:
 
Events:
 
: {{Code|type: update}}
 
: {{Code|type: update}}
  −
=== Events ===
  −
  −
All events have the following common properties:
  −
  −
* {{Code|type}}, ''str''<br>the type of event;
  −
* {{Code|timestamp}}, ''int''<br>the UNIX seconds in UTC timezone of the time when event was created;
  −
* {{Code|resource}}, ''str''<br>the name of affected resource;
  −
* {{Code|object}}, ''guid''<br>the GUID of affected resource object;
  −
* {{Code|creator}}<br>the GUID of a ''player'' the event was created on behalf of.
  −
  −
Different types of events might add new options.
  −
  −
There are the following common event types:
  −
  −
: The particular resource was created:
  −
:* {{Code|type: create}}
  −
  −
: The particular resource properties were modified:
  −
:* {{Code|type: update}}
  −
  −
: The particular resource was deleted (hidden):
  −
:* {{Code|type: delete}}
      
== Resources ==
 
== Resources ==
    
=== player ===
 
=== player ===
  −
Properties:
  −
:* {{Code|nickname}}, ''str'', ''read''<br>set by Sugar Shell;
  −
:* {{Code|color}}, ''str'', ''read''<br>colors pair in format {{Code|#RRGGBB,#RRGGBB}}, set by Sugar Shell.
  −
  −
Calculated properties:
  −
:* {{Code|reputation}}, ''int'', ''read''<br>current ''player'''s reputation based on:
  −
:** direct votes from other players,
  −
:** votes given to objects where the ''player'' is a creator;
  −
:* {{Code|vote}}, ''bool'', ''read'', ''write''<br>did url requester voted for the current object or not;
      
Actions:
 
Actions:
Line 163: Line 132:  
:* {{Code|type: message}}.
 
:* {{Code|type: message}}.
   −
=== project ===
+
=== context ===
 
  −
Properties:
  −
:* {{Code|title}}, ''str'', ''read'', ''write'' only for the team members<br>one line title;
  −
description;
  −
:* {{Code|type}}, ''str'', ''read'', ''write'' only for the team members<br>the project type:
  −
:** {{Code|general}},
  −
:** {{Code|activity}},
  −
:** {{Code|wiki}},
  −
:** {{Code|gallery}};
  −
:* {{Code|zoom}}, ''str'', ''read'', ''write'' only for the team members<br>Network Zoom level that project belongs:
  −
:** {{Code|worldwide}},
  −
:** {{Code|neighbourhood}},
  −
:** {{Code|private}}.
  −
 
  −
Calculated properties:
  −
:* {{Code|reputation}}, ''int'', ''read''<br>current ''project'''s reputation based on:
  −
:** direct votes from other players,
  −
:** votes given to related objects if theirs ''respect'' property is empty;
  −
:* {{Code|vote}}, ''bool'', ''read'', ''write''<br>did url requester voted for the current object or not.
      
Actions:
 
Actions:
Line 207: Line 157:     
=== question ===
 
=== question ===
  −
Properties:
  −
:* {{Code|project}}, ''guid'', ''read''<br>the ''project'' this object belongs to;
  −
:* {{Code|title}}, ''str'', ''read'', ''write'' only for creator<br>one line title;
  −
:* {{Code|solution}}, ''guid'', ''read'', ''write'' only by creator<br>the ''solution'' which solves the object.
  −
  −
Calculated properties:
  −
:* {{Code|implementation_status}}, ''str'', ''read''<br>if ''question'' has an associated ''objective'', this ''objective'''s status is a status of the ''question'', otherwise the property is empty.
      
Actions:
 
Actions:
Line 220: Line 162:     
=== idea ===
 
=== idea ===
  −
Properties:
  −
:* {{Code|project}}, ''guid'', ''read''<br>the ''project'' this object belongs to;
  −
:* {{Code|title}}, ''str'', ''read'', ''write'' only for creator<br>one line title.
  −
  −
Calculated properties:
  −
:* {{Code|implementation_status}}, ''str'', ''read''<br>if ''idea'' has an associated ''objective'', this ''objective'''s status is a status of the ''idea'', otherwise the property is empty.
      
Actions:
 
Actions:
Line 233: Line 168:  
=== problem ===
 
=== problem ===
   −
Properties:
+
Actions:
:* {{Code|project}}, ''guid'', ''read''<br>the ''project'' this object belongs to;
+
* [[#Wiki_actions|Wiki related actions]] to manage object description.
:* {{Code|title}}, ''str'', ''read'', ''write'' only for creator<br>one line title;
  −
:* {{Code|solution}}, ''guid'', ''read'', ''write'' only by creator<br>the ''solution'' which solves the object.
     −
Calculated properties:
+
=== review ===
:* {{Code|implementation_status}}, ''str'', ''read''<br>if ''problem'' has an associated ''objective'', this ''objective'''s status is a status of the ''problem'', otherwise the property is empty.
      
Actions:
 
Actions:
Line 245: Line 177:     
=== wiki ===
 
=== wiki ===
  −
Properties:
  −
:* {{Code|project}}, ''guid'', ''read''<br>the ''project'' this object belongs to;
  −
:* {{Code|title}}, ''str'', ''read'', ''write'' only for creator<br>one line title.
      
Actions:
 
Actions:
Line 254: Line 182:     
=== gallery ===
 
=== gallery ===
  −
Properties:
  −
:* {{Code|project}}, ''guid'', ''read''<br>the ''project'' this object belongs to;
  −
:* {{Code|title}}, ''str'', ''read'', ''write'' only for creator<br>one line title.
      
Actions:
 
Actions:
Line 279: Line 203:  
: {{Code|type: update}}
 
: {{Code|type: update}}
   −
=== objective ===
+
=== version ===
 
  −
Properties:
  −
:* {{Code|project}}, ''guid'', ''read''<br>the ''project'' this object belongs to;
  −
:* {{Code|title}}, ''str'', ''read'', ''write'' only for the team members<br>one line title.
  −
 
  −
Actions:
  −
* [[#Wiki_actions|Wiki related actions]] to manage object description.
  −
 
  −
=== release ===
  −
 
  −
Properties:
  −
:* {{Code|project}}, ''guid'', ''read''<br>the ''project'' this object belongs to;
  −
:* {{Code|version}}, ''str'', ''read''<br>release version;
  −
:* {{Code|stability}}, ''str'', ''read''<br>release stability level, the same as for Zero Install/Sweets.
      
Actions:
 
Actions:
Line 299: Line 209:     
=== report ===
 
=== report ===
  −
Properties:
  −
:* {{Code|release}}, ''guid'', ''read''<br>the ''release'' this object belongs to.
      
Actions:
 
Actions:
Line 327: Line 234:     
The solution for ''question''/''idea''/''problem'' objects.
 
The solution for ''question''/''idea''/''problem'' objects.
  −
Properties:
  −
:* {{Code|resource}}, ''str'', ''read''<br>the type of resource this solution is for;
  −
:* {{Code|object}}, ''guid'', ''read''<br>the resource object this solution is for.
      
Actions:
 
Actions:
Line 336: Line 239:     
=== comment ===
 
=== comment ===
  −
Properties:
  −
:* {{Code|resource}}, ''str'', ''read''<br>the type of resource this comment is about;
  −
:* {{Code|object}}, ''guid'', ''read''<br>the resource object this comment is about;
  −
:* {{Code|text}}, ''str'', ''read'', ''write'' only for creator<br>comment text.
      
=== event ===
 
=== event ===
  −
Properties:
  −
: No specific properties except the [[#Events|common]] ones.
      
Actions:
 
Actions: