Project

General

Profile

Magnolia interface » History » Version 4

Enis Nuredini, 14.06.2024 16:09

1 1 Enis Nuredini
h1. Magnolia interface
2
3 2 Enis Nuredini
Zur Authentifizierung wird ein folgender Header benutzt:
4 1 Enis Nuredini
<pre>
5
'header:Authorization: Basic ', TO_BASE64('username:password')
6
</pre>
7
8 2 Enis Nuredini
Der dafür benötigte User wird in Magnolia erstellt (Schreibrechte)
9 4 Enis Nuredini
Damit der JSON String des HTML Outputs ohne Probleme durchgeht werden alle \r, \n, \t mit whitespaces ersetzt. Vertical bars (|) werden mit  \&vert;\  ersetzt. Und non-printable characters ([\\x00-\\x19]) mit leerem String.
10 1 Enis Nuredini
11
h3. Neue Page erstellen lassen
12
13
<pre>
14
API Link: https://cmsauth.uzh.ch/.rest/nodes/v1/website/geo/en/{{pageParent:RE:alnumx}}
15
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"]} ]}
16
Method: PUT
17
authHeader: 'header:Authorization: Basic ', TO_BASE64('username:password')
18
</pre>
19
20
h3. Create content area
21
22
<pre>
23
API Link: https://cmsauth.uzh.ch/.rest/nodes/v1/website/geo/en/{{webPath:RE:alnumx}}
24
JSON: {"name": "content", "type": "mgnl:area", "properties":[],"nodes":null}
25
Method: PUT
26
authHeader: 'header:Authorization: Basic ', TO_BASE64('username:password')
27
</pre>
28
 
29
h3. Create content element
30
31
<pre>
32
API Link: https://cmsauth.uzh.ch/.rest/nodes/v1/website/geo/en/{{webPath:RE:alnumx}}/content
33
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"]} ]}
34
Method: PUT
35
authHeader: 'header:Authorization: Basic ', TO_BASE64('username:password')
36
</pre>
37
38
h3. Update existing content
39
40
<pre>
41
API Link: https://cmsauth.uzh.ch/.rest/nodes/v1/website/geo/en/{{webPath:RE:alnumx}}/content/0
42
JSON: {"properties": [{"name":"html","type":"String","values":["{{html:RE:all:s}}"]},{"name":"mgnl:template","type":"String","values":["uzh-wcms-frontend:components/textImage"]} ]}
43
Method: POST
44
authHeader: 'header:Authorization: Basic ', TO_BASE64('username:password')
45
46
</pre>
47
48
49
h3. Publish new content
50
51
<pre>
52
API Link: https://cmsauth.uzh.ch/.rest/commands/v2/default/activate
53
JSON: {"repository": "website", "path": "/geo/en/{{webPath:RE:alnumx}}", "recursive": "true", "modifiedOnly": "true"}
54
Method: POST
55
authHeader: 'header:Authorization: Basic ', TO_BASE64('username:password')
56
</pre>
57
58
59
h1. Export assets (pdf, pictures)
60
61
h3. Create asset node
62
63
<pre>
64
API Link: https://cmsauth.uzh.ch/.rest/nodes/v1/dam/geo/geolean/{{assetFolder:RE}}
65
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}}"]} ]}
66
Method: PUT
67
authHeader: 'header:Authorization: Basic ', TO_BASE64('username:password')
68
</pre>
69
70
h3. Create asset content
71
72
<pre>
73
API Link: https://cmsauth.uzh.ch/.rest/nodes/v1/dam/geo/geolean/{{assetFolder:RE}}/{{assetId:R}}
74
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}}"]} ]}
75
Method: PUT
76
authHeader: 'header:Authorization: Basic ', TO_BASE64('username:password')
77
</pre>
78
79
h3. Update asset node
80
81
<pre>
82
API Link: https://cmsauth.uzh.ch/.rest/nodes/v1/dam/geo/geolean/{{assetFolder:RE}}/{{assetId:R}}
83
JSON: {"properties": [{"name": "type", "type": "String", "values": ["{{extension:RE:alnumx}}"]}, {"name": "title", "type": "String", "values": ["{{nameOfFile:RE:allbut:s}}"]} ]}
84
Method: POST
85
authHeader: 'header:Authorization: Basic ', TO_BASE64('username:password')
86
</pre>
87
88
h3. Update asset content
89
90
<pre>
91
API Link: https://cmsauth.uzh.ch/.rest/nodes/v1/dam/geo/geolean/{{assetFolder:RE}}/{{assetId:R}}/jcr:content
92
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}}"]} ]}
93
Method: POST
94
authHeader: 'header:Authorization: Basic ', TO_BASE64('username:password')
95
</pre>
96
97
Get asset identifier: 
98
<pre>
99
API Link: https://cmsauth.uzh.ch/.rest/nodes/v1/dam/geo/geolean/{{assetFolder:RE}}/{{assetId:R}}
100
JSON: keins
101
Method: GET
102
authHeader:  'header:Authorization: Basic ', TO_BASE64('username:password')
103
</pre>
104
105
h3. Publish all assets
106
107
<pre>
108
API Link: https://cmsauth.uzh.ch/.rest/commands/v2/default/activate
109
JSON: {"repository": "dam", "path": "/geo/geolean", "recursive": "true", "modifiedOnly": "true"}
110
Method: POST
111
authHeader:  'header:Authorization: Basic ', TO_BASE64('username:password')
112
timeout: 300
113
114
</pre>