Project

General

Profile

Magnolia interface » History » Revision 3

Revision 2 (Enis Nuredini, 14.06.2024 16:08) → Revision 3/6 (Enis Nuredini, 14.06.2024 16:09)

h1. Magnolia interface 

 Zur Authentifizierung wird ein folgender Header benutzt: 
 <pre> 
 'header:Authorization: Basic ', TO_BASE64('username:password') 
 </pre> 

 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    *&vert;*    '&vert;' ersetzt. Und non-printable characters ([\\x00-\\x19]) mit leerem String. 

 h3. Neue Page erstellen lassen 

 <pre> 
 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') 
 </pre> 

 h3. Create content area 

 <pre> 
 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') 
 </pre> 
 
 h3. Create content element 

 <pre> 
 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') 
 </pre> 

 h3. Update existing content 

 <pre> 
 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') 

 </pre> 


 h3. Publish new content 

 <pre> 
 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') 
 </pre> 


 h1. Export assets (pdf, pictures) 

 h3. Create asset node 

 <pre> 
 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') 
 </pre> 

 h3. Create asset content 

 <pre> 
 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') 
 </pre> 

 h3. Update asset node 

 <pre> 
 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') 
 </pre> 

 h3. Update asset content 

 <pre> 
 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') 
 </pre> 

 Get asset identifier:  
 <pre> 
 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') 
 </pre> 

 h3. Publish all assets 

 <pre> 
 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 

 </pre>