Project

General

Profile

Magnolia interface » History » Version 1

Enis Nuredini, 14.06.2024 16:07

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