Project

General

Profile

Actions

Magnolia interface

Zur Authentifizierung wird ein folgender Header benutzt:

'header:Authorization: Basic ', TO_BASE64('username:password')

Der dafür benötigte User wird in Magnolia erstellt (Schreibrechte)

Damit der JSON String des HTML Outputs ohne Probleme durchgeht werden alle \r, \n, \t mit whitespaces ersetzt. Vertical bars (|) werden mit | ersetzt. Und non-printable characters ([\\x00-\\x19]) mit leerem String.

Neue Page erstellen lassen

API Link: https://cmsauth.uzh.ch/.rest/nodes/v1/website/geo/en/{{pageParent:RE:alnumx}}
JSON: {"name": "{{pageName:RE:alnumx}}", "type": "mgnl:page", "properties": [{"name": "title", "type": "String", "values": ["{{pageTitle:RE:alnumx}}"]}, {"name": "windowTitle", "type": "String", "values": ["{{windowTitle:RE:alnumx}}"]}, {"name": "navigationTitle", "type": "String", "values": ["{{navTitle:RE:alnumx}}"]}, {"name": "hideInNav", "type": "Boolean", "values": ["true"]}, {"name": "mgnl:template", "type": "String", "values": ["uzh-wcms-frontend:pages/page"]} ]}
Method: PUT
authHeader: 'header:Authorization: Basic ', TO_BASE64('username:password')

Create content area

API Link: https://cmsauth.uzh.ch/.rest/nodes/v1/website/geo/en/{{webPath:RE:alnumx}}
JSON: {"name": "content", "type": "mgnl:area", "properties":[],"nodes":null}
Method: PUT
authHeader: 'header:Authorization: Basic ', TO_BASE64('username:password')

Create content element

API Link: https://cmsauth.uzh.ch/.rest/nodes/v1/website/geo/en/{{webPath:RE:alnumx}}/content
JSON: {"name": "0", "type": "mgnl:component", "properties": [{"name":"html","type":"String","values":["{{html:RE:all:s}}"]}, {"name":"mgnl:template","type":"String","values":["uzh-wcms-frontend:components/textImage"]} ]}
Method: PUT
authHeader: 'header:Authorization: Basic ', TO_BASE64('username:password')

Update existing content

API Link: https://cmsauth.uzh.ch/.rest/nodes/v1/website/geo/en/{{webPath:RE:alnumx}}/content/0
JSON: {"properties": [{"name":"html","type":"String","values":["{{html:RE:all:s}}"]},{"name":"mgnl:template","type":"String","values":["uzh-wcms-frontend:components/textImage"]} ]}
Method: POST
authHeader: 'header:Authorization: Basic ', TO_BASE64('username:password')

Publish new content

API Link: https://cmsauth.uzh.ch/.rest/commands/v2/default/activate
JSON: {"repository": "website", "path": "/geo/en/{{webPath:RE:alnumx}}", "recursive": "true", "modifiedOnly": "true"}
Method: POST
authHeader: 'header:Authorization: Basic ', TO_BASE64('username:password')

Export assets (pdf, pictures)

Create asset node

API Link: https://cmsauth.uzh.ch/.rest/nodes/v1/dam/geo/geolean/{{assetFolder:RE}}
JSON: {"name": "{{assetId:R}}", "type":"mgnl:asset", "properties": [{"name": "type", "type": "String", "values": ["{{extension:RE:alnumx}}"]}, {"name": "title", "type": "String", "values": ["{{nameOfFile:RE:allbut:s}}"]} ]}
Method: PUT
authHeader: 'header:Authorization: Basic ', TO_BASE64('username:password')

Create asset content

API Link: https://cmsauth.uzh.ch/.rest/nodes/v1/dam/geo/geolean/{{assetFolder:RE}}/{{assetId:R}}
JSON: {"name": "jcr:content", "type": "mgnl:resource", "properties":  [{"name": "jcr:data", "type": "Binary", "values": ["{{&base64data:RE:allbut:s}}"]}, {"name": "size", "type": "Long", "values": [{{sizeOfFile:RE:digit}}]}, {"name": "extension", "type": "String", "values": ["{{extension:RE:alnumx}}"]}, {"name": "fileName", "type": "String", "values": ["{{nameOfFile:RE:allbut:s}}"]}, {"name":"jcr:mimeType", "type": "String", "values": ["{{typeOfMime:RE:alnumx}}"]} ]}
Method: PUT
authHeader: 'header:Authorization: Basic ', TO_BASE64('username:password')

Update asset node

API Link: https://cmsauth.uzh.ch/.rest/nodes/v1/dam/geo/geolean/{{assetFolder:RE}}/{{assetId:R}}
JSON: {"properties": [{"name": "type", "type": "String", "values": ["{{extension:RE:alnumx}}"]}, {"name": "title", "type": "String", "values": ["{{nameOfFile:RE:allbut:s}}"]} ]}
Method: POST
authHeader: 'header:Authorization: Basic ', TO_BASE64('username:password')

Update asset content

API Link: https://cmsauth.uzh.ch/.rest/nodes/v1/dam/geo/geolean/{{assetFolder:RE}}/{{assetId:R}}/jcr:content
JSON: {"properties":  [{"name": "jcr:data", "type": "Binary", "values": ["{{&base64data:RE:allbut:s}}"]}, {"name": "size", "type": "Long", "values": [{{sizeOfFile:RE:digit}}]}, {"name": "extension", "type": "String", "values": ["{{extension:RE:alnumx}}"]}, {"name": "fileName", "type": "String", "values": ["{{nameOfFile:RE:allbut:s}}"]}, {"name": "jcr:mimeType", "type": "String", "values": ["{{typeOfMime:RE:alnumx}}"]} ]}
Method: POST
authHeader: 'header:Authorization: Basic ', TO_BASE64('username:password')

Get asset identifier:

API Link: https://cmsauth.uzh.ch/.rest/nodes/v1/dam/geo/geolean/{{assetFolder:RE}}/{{assetId:R}}
JSON: keins
Method: GET
authHeader:  'header:Authorization: Basic ', TO_BASE64('username:password')

Publish all assets

API Link: https://cmsauth.uzh.ch/.rest/commands/v2/default/activate
JSON: {"repository": "dam", "path": "/geo/geolean", "recursive": "true", "modifiedOnly": "true"}
Method: POST
authHeader:  'header:Authorization: Basic ', TO_BASE64('username:password')
timeout: 300

Updated by Enis Nuredini 16 days ago · 6 revisions