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