Sugar Network/API: Difference between revisions

Line 153: Line 153:


The {{Code|'''HEAD'''}} command will not return bundle itself but rather its [[#HEAD-property|metadata]] combined with selected ''Implementation'' properties.
The {{Code|'''HEAD'''}} command will not return bundle itself but rather its [[#HEAD-property|metadata]] combined with selected ''Implementation'' properties.
=== Upload new releases ===
The regular procedure to upload new Implementation objects is using the {{Code|POST}} API command for particular resource with specifying new Implementation properties and {{Code|PUT}}'ing new bundle itself. To make this process shorter, there is a special API command.
'''POST''' /implementation?cmd='''release'''[&''PROP''=''VALUE''][&initial]
Where the {{Code|PROP}} arguments are optional Implementation properties to create new resource. The {{Code|initial}} argument asks the system to create new Context resource new Implementation will belong to.
The posting data might be two types,
* Sugar activities in .xo bundles,<br>there is no need in {{Code|PROP}} arguments, all properties will be populated basing on metadata from a .xo bundle; besides, only in this case {{Code|initial}} makes sense because it is the only way to get Context properties;
* Arbitrary data,<br>all required Implementation properties should be specified in {{Code|PROP}} arguments, at least ''context'' and ''version''; ''license'' should be specified only if there are no existing Implementations to pickup license from.


=== Notifications ===
=== Notifications ===