| 1 | [[PageOutline(3,API methods,pullout)]] |
| 2 | = Cinnamon Application Programming Interface (API) |
| 3 | > **NOTE:** This documentation is under construction. |
| 4 | |
| 5 | See [wiki:Public/Docs/CinnamonApiConceptualDescription Cinnamon API conceptual description] for general information how to use the API. |
| 6 | |
| 7 | == Methods by name |
| 8 | === attachlifecycle |
| 9 | === changestate |
| 10 | === connect |
| 11 | ==== Parameters |
| 12 | ||=**Field** =||=**Value** =|| |
| 13 | ||{{{command}}} ||{{{connect}}} || |
| 14 | ||{{{repository}}} ||Name of the repository. || |
| 15 | ||{{{user}}} ||User name. || |
| 16 | ||{{{password}}} ||User password. || |
| 17 | ||{{{machine}}} ||Machine name of the client machine. || |
| 18 | |
| 19 | ==== Return value |
| 20 | The {{{connect}}} command returns an XML structure like this: |
| 21 | {{{#!xml |
| 22 | <connection> |
| 23 | <ticket>319b75df-9840-4316-9647-f34625eb5515@content</ticket> |
| 24 | </connection> |
| 25 | }}} |
| 26 | |
| 27 | The {{{<ticket>}}} element contains the session ticket the server has assigned. The client application must remember the ticket and use it as a parameter for all subsequent API calls, including {{{disconnect}}}. |
| 28 | |
| 29 | {{{#!comment |
| 30 | TODO: to be documented what can go wrong (false credentials etc.). |
| 31 | }}} |
| 32 | |
| 33 | ==== Description |
| 34 | The {{{connect}}} command establishes a session with the server and returns the session ticket. |
| 35 | |
| 36 | === copy |
| 37 | === copytoexisting |
| 38 | FIXME The documentation for the {{{copytoexisting}}} command is under construction. |
| 39 | ==== Parameters |
| 40 | ||=**Field** =||=**Value** =|| |
| 41 | ||{{{command}}} ||{{{copytoexisting}}} || |
| 42 | ||{{{sourceid}}} ||ID of the object whose content and / or metadata is to be copied. || |
| 43 | ||{{{targetid}}} ||ID of the target object to write the source data into. The target object can be any version of an existing object. || |
| 44 | ||{{{copymetasets}}} ||Comma separated list of metaset names that should be copied from source to target. The parameter is optional, if it is left out, no metasets will be copied. || |
| 45 | ||{{{copycontent}}} ||{{{true}}} to copy content, {{{false}}} to copy metasets only. || |
| 46 | ||{{{ticket}}} ||Session ticket. || |
| 47 | |
| 48 | ==== Return value |
| 49 | The {{{copytoexisting}}} command returns an XML structure like this: |
| 50 | TODO |
| 51 | {{{#!xml |
| 52 | <see_what_happens/> |
| 53 | }}} |
| 54 | |
| 55 | TODO: explain. |
| 56 | |
| 57 | {{{#!comment |
| 58 | TODO: to be documented what can go wrong (false credentials etc.). |
| 59 | }}} |
| 60 | |
| 61 | ==== Description |
| 62 | The {{{copytoexisting}}} command copies content and / or metadata from the object specified by {{{sourceid}}} to an existing object specified by {{{targetid}}}. The boolean {{{copycontent}}} parameter controls whether the content should be copied or not. The optional {{{copymetasets}}} parameter controls the metasets to be copied, specified as a comma separated list of metaset names. |
| 63 | |
| 64 | TODO: is a lock required? |
| 65 | |
| 66 | |
| 67 | === createlink |
| 68 | === create |
| 69 | === createfolder |
| 70 | === createrelation |
| 71 | === delete |
| 72 | === deleteallversions |
| 73 | === deletefolder |
| 74 | === deletelink |
| 75 | === deleterelation |
| 76 | === detachlifecycle |
| 77 | === disconnect |
| 78 | ==== Parameters |
| 79 | ||=**Field** =||=**Value** =|| |
| 80 | ||{{{command}}} ||{{{disconnect}}} || |
| 81 | ||{{{ticket}}} ||Session ticket to disconnect. || |
| 82 | |
| 83 | ==== Return value |
| 84 | The {{{disconnect}}} command returns an XML structure like this: |
| 85 | {{{#!xml |
| 86 | <success>success.disconnect</success> |
| 87 | }}} |
| 88 | |
| 89 | {{{#!comment |
| 90 | TODO: to be documented what can go wrong (error.disconnect?). |
| 91 | }}} |
| 92 | |
| 93 | ==== Description |
| 94 | The {{{disconnect}}} command ends an existing session, identified by its {{{ticket}}}. |
| 95 | |
| 96 | === echo |
| 97 | > **NOTE:** echo has no legacy action. |
| 98 | === getacls |
| 99 | > **NOTE:** This API method will be replaced by a future, global session configuration transfer instead of individual methods. |
| 100 | === getconfigentry |
| 101 | === getcontent |
| 102 | ==== Parameters |
| 103 | ||=**Field** =||=**Value** =|| |
| 104 | ||{{{command}}} ||{{{getcontent}}} || |
| 105 | ||{{{id}}} ||ID of the object whose content is to be retrieved. || |
| 106 | ||{{{ticket}}} ||Session ticket to disconnect. || |
| 107 | |
| 108 | ==== Return value |
| 109 | The {{{getcontent}}} command returns a stream with the content of the object. Typically, it is written to a file. |
| 110 | |
| 111 | {{{#!comment |
| 112 | TODO: to be documented what can go wrong (wrong id etc.). |
| 113 | }}} |
| 114 | |
| 115 | ==== Description |
| 116 | The {{{getcontent}}} retrieves the content of an object identified by its {{{id}}}. {{{getcontent}}} is the only command returning file content instead of an XML structure. |
| 117 | |
| 118 | |
| 119 | === getfolder |
| 120 | === getfolderbypath |
| 121 | ==== Parameters |
| 122 | ||=**Field** =||=**Value** =|| |
| 123 | ||{{{command}}} ||{{{getfolderbypath}}} || |
| 124 | ||{{{path}}} ||[wiki:Public/Docs/CinnamonFolderPaths Path] to the folder. || |
| 125 | ||{{{include_summary}}} ||{{{true}}} returns [wiki:Public/Docs/CinnamonSummary summary ] with each object, [[br]]{{{false}}} does not. [[br]]The parameter can be omitted, the default is {{{false}}}. || |
| 126 | ||{{{ticket}}} ||Session ticket. || |
| 127 | |
| 128 | ==== Return value |
| 129 | The {{{getfolderbypath}}} command returns an [wiki:Public/Docs/CinnamonFolderXml XML representation of the folder] with the given path. |
| 130 | |
| 131 | {{{#!comment |
| 132 | TODO: to be documented what can go wrong (wrong id etc.). |
| 133 | }}} |
| 134 | |
| 135 | |
| 136 | |
| 137 | === getfoldermeta |
| 138 | === getfoldersbyid |
| 139 | === getfoldertypes |
| 140 | > **NOTE:** This API method will be replaced by a future, global session configuration transfer instead of individual methods. |
| 141 | === getformats |
| 142 | === getmeta |
| 143 | ==== Parameters |
| 144 | ||=**Field** =||=**Value** =|| |
| 145 | ||{{{command}}} ||{{{getmeta}}} || |
| 146 | ||{{{id}}} ||ID of the object whose metadata is to be retrieved. || |
| 147 | ||{{{ticket}}} ||Session ticket. || |
| 148 | |
| 149 | ==== Return value |
| 150 | The {{{getmeta}}} command returns the [wiki:Public/Docs/CinnamonMetadata metadata] of the object with the specified id. {{{getmeta}}} does not support folders, use the [#getfoldermeta getfoldermeta] command instead, or retrieve a specific metaset with [#getmetaset getmetaset] (which also works for folders). |
| 151 | |
| 152 | {{{#!comment |
| 153 | TODO: to be documented what can go wrong (wrong id etc.). |
| 154 | }}} |
| 155 | |
| 156 | |
| 157 | |
| 158 | === getmetaset |
| 159 | ==== Parameters |
| 160 | ||=**Field** =||=**Value** =|| |
| 161 | ||{{{command}}} ||{{{getmetaset}}} || |
| 162 | ||{{{id}}} ||ID of the object whose metadata is to be retrieved. || |
| 163 | ||{{{class_name}}} ||{{{OSD}}} (**O**bject **S**ystem **D**ata) to retrieve an object metaset, {{{Folder}}} to retrieve a folder metaset. || |
| 164 | ||{{{type_name}}} ||Name of the metaset type to be retrieved. || |
| 165 | ||{{{ticket}}} ||Session ticket. || |
| 166 | |
| 167 | ==== Return value |
| 168 | The {{{getmetaset}}} command returns one metaset of the [wiki:Public/Docs/CinnamonMetadata metadata] of the object or folder with the specified id. |
| 169 | |
| 170 | {{{#!comment |
| 171 | TODO: to be documented what can go wrong (wrong id etc.). |
| 172 | }}} |
| 173 | |
| 174 | |
| 175 | |
| 176 | === getobject |
| 177 | === getobjects |
| 178 | ==== Parameters |
| 179 | ||=**Field** =||=**Value** =|| |
| 180 | ||{{{command}}} ||{{{getobjects}}} || |
| 181 | ||{{{parentid}}} ||ID of the parent folder of the objects to be retrieved. || |
| 182 | ||{{{include_summary}}} ||{{{true}}} returns [wiki:Public/Docs/CinnamonSummary summary ] with each object, [[br]]{{{false}}} does not. [[br]]The parameter can be omitted, the default is {{{false}}}. || |
| 183 | ||{{{versions}}} ||{{{all}}} to return all [wiki:Public/Docs/CinnamonVersioning versions], [[br]]{{{branch}}} to return only the end nodes of branches, [[br]]{{{head}}} to return only the latest versions of the returned objects. || |
| 184 | ||{{{ticket}}} ||Session ticket. || |
| 185 | |
| 186 | ==== Return value |
| 187 | The {{{getobjects}}} command returns the objects inside the given parent folder as an [wiki:Public/Docs/CinnamonObjectXml XML representation]. |
| 188 | |
| 189 | {{{#!comment |
| 190 | TODO: to be documented what can go wrong (wrong id etc.). |
| 191 | }}} |
| 192 | |
| 193 | |
| 194 | |
| 195 | === getobjectsbyid |
| 196 | === getobjtypes |
| 197 | > **NOTE:** This API method will be replaced by a future, global session configuration transfer instead of individual methods. |
| 198 | === getrelations |
| 199 | === getrelationtypes |
| 200 | > **NOTE:** This API method will be replaced by a future, global session configuration transfer instead of individual methods. |
| 201 | === getsubfolders |
| 202 | ==== Parameters |
| 203 | ||=**Field** =||=**Value** =|| |
| 204 | ||{{{command}}} ||{{{getsubfolders}}} || |
| 205 | ||{{{parentid}}} ||ID of the parent folder of the subfolders to be retrieved.[[br]] The value {{{0}}} returns the subfolders of the root folder. || |
| 206 | ||{{{include_summary}}} ||{{{true}}} returns [wiki:Public/Docs/CinnamonSummary summary ] with each object, [[br]]{{{false}}} does not. [[br]]The parameter can be omitted, the default is {{{false}}}. || |
| 207 | ||{{{ticket}}} ||Session ticket. || |
| 208 | |
| 209 | ==== Return value |
| 210 | The {{{getsubfolders}}} command returns the subfolders inside the given parent folder as an [wiki:Public/Docs/CinnamonFolderXml XML representation]. |
| 211 | |
| 212 | {{{#!comment |
| 213 | TODO: to be documented what can go wrong (wrong id etc.). |
| 214 | }}} |
| 215 | |
| 216 | |
| 217 | === getusers |
| 218 | > **NOTE:** This API method will be replaced by a future, global session configuration transfer instead of individual methods. |
| 219 | === getuserspermissions |
| 220 | === listaclentries |
| 221 | > **NOTE:** This API method will be replaced by a future, global session configuration transfer instead of individual methods. |
| 222 | === listgroups |
| 223 | > **NOTE:** This API method will be replaced by a future, global session configuration transfer instead of individual methods. |
| 224 | === listindexgroups |
| 225 | > **NOTE:** This API method will be replaced by a future, global session configuration transfer instead of individual methods. |
| 226 | === listindexitems |
| 227 | > **NOTE:** This API method will be replaced by a future, global session configuration transfer instead of individual methods. |
| 228 | === listlanguages |
| 229 | > **NOTE:** This API method will be replaced by a future, global session configuration transfer instead of individual methods. |
| 230 | === listlifecycles |
| 231 | > **NOTE:** This API method will be replaced by a future, global session configuration transfer instead of individual methods. |
| 232 | === listmetasettypes |
| 233 | > **NOTE:** This API method will be replaced by a future, global session configuration transfer instead of individual methods. |
| 234 | === listuilanguages |
| 235 | > **NOTE:** This API method will be replaced by a future, global session configuration transfer instead of individual methods. |
| 236 | === lockobject |
| 237 | === renderindexedosd |
| 238 | > **NOTE:** New in build 117. |
| 239 | === renderindexedfolder |
| 240 | > **NOTE:** New in build 117. |
| 241 | === searchfolders |
| 242 | === searchobjectids |
| 243 | === searchobjects |
| 244 | ==== Parameters |
| 245 | ||=**Field** =||=**Value** =|| |
| 246 | ||{{{command}}} ||{{{searchobjects}}} || |
| 247 | ||{{{ticket}}} ||Session ticket. || |
| 248 | ||{{{query}}} ||Native Lucene XML query. || |
| 249 | ||{{{include_summary}}} ||{{{true}}} returns [wiki:Public/Docs/CinnamonSummary summary ] with each object, [[br]]{{{false}}} does not. [[br]]The parameter can be omitted, the default is {{{false}}}. || |
| 250 | ||{{{page_size}}} ||[optional] Maximal number of objects to returned. || |
| 251 | ||{{{page}}} ||[optional] Zero-based index of the page to return, this parameter may only be set if {{{page_size}}} has also been set. || |
| 252 | |
| 253 | ==== Return value |
| 254 | The {{{searchobjects}}} command returns an [wiki:Public/Docs/CinnamonObjectXml XML structure] like this: |
| 255 | {{{#!xml |
| 256 | <objects total-results="15"> |
| 257 | <object> |
| 258 | <!-- XML representation of an object --> |
| 259 | </object> |
| 260 | <object> |
| 261 | <!-- XML representation of an object --> |
| 262 | </object> |
| 263 | <!-- 13 more objects --> |
| 264 | </objects> |
| 265 | }}} |
| 266 | |
| 267 | {{{#!comment |
| 268 | TODO: to be documented what can go wrong . |
| 269 | }}} |
| 270 | |
| 271 | ==== Description |
| 272 | The {{{searchobjects}}} command executes a search using a Lucene XML query and returns the objects found as an XML structure. |
| 273 | |
| 274 | === setchangedstatus |
| 275 | === setcontent |
| 276 | === setmeta |
| 277 | === setmetaset |
| 278 | === setpassword |
| 279 | === setsummary |
| 280 | === setsysmeta |
| 281 | === unlockobject |
| 282 | === updatefolder |
| 283 | === updatelink |
| 284 | === version |
| 285 | |
| 286 | == Deprecated methods |
| 287 | === checktranslation [deprecated] |
| 288 | > **IMPORTANT:** This API method is deprecated and will be removed in a future release without further notice. |
| 289 | This method is highly special, can be replaced with other API methods and the render mechanism it supports is deprecated. Some customers still use it. |
| 290 | === createtranslation [deprecated] |
| 291 | > **IMPORTANT:** This API method is deprecated and will be removed in a future release without further notice. |
| 292 | This method is highly special, can be replaced with other API methods and the render mechanism it supports is deprecated. Some customers still use it. |
| 293 | === forksession [deprecated] |
| 294 | > **IMPORTANT:** This API method is deprecated and will be removed in a future release without further notice. |
| 295 | It is no longer used in client libraries and there seems to be no use case. |
| 296 | === getsysmeta [deprecated] |
| 297 | > **IMPORTANT:** This API method is deprecated and will be removed in a future release without further notice. |
| 298 | All such data is returned by {{{getobject}}} or other API methods returning objects.=== startrendertask [deprecated] |
| 299 | > **IMPORTANT:** This API method is deprecated and will be removed in a future release without further notice. |
| 300 | This method is highly special, can be replaced with other API methods and the render mechanism it supports is deprecated. Some customers still use it. |
| 301 | === sudo [deprecated] |
| 302 | > **IMPORTANT:** This API method is deprecated and will be removed in a future release without further notice. |
| 303 | The entire sudo functionality has become obsolete with the change tracking logic. |