-
Notifications
You must be signed in to change notification settings - Fork 0
/
book.xml
317 lines (315 loc) · 18.2 KB
/
book.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V5.0//EN" "http://docbook.org/xml/5.0/dtd/docbook.dtd">
<book xmlns="http://docbook.org/ns/docbook" version="5.0">
<title>Apache 2 HTTPD and Noark 5 Core Configuration</title>
<chapter>
<title>Long Term Preservation of Archival Data in Noark 5</title>
<para>The ultimate goal of Noark 5 standardization of archival data is longterm preservation and readable storage.</para>
<itemizedlist>
<listitem><para>Understand Level (gui)</para></listitem>
<listitem><para>Read Level (xml)</para></listitem>
<listitem><para>Storage Level (sda)</para></listitem>
</itemizedlist>
</chapter>
<chapter>
<title>Problems</title>
<para>The following problems sometimes occur:</para>
<itemizedlist>
<listitem><para>Government bodies such as Arkivverket publish archive standards such as Noark 5.</para></listitem>
<listitem><para>Vendors write scripts that sometimes are incompliant with standards and incompatible software and programming languages.</para></listitem>
</itemizedlist>
</chapter>
<chapter>
<title>The Noark 5 Standard</title>
<para>The switch from DTD in Noark 4 to XSD in Noark 5 made the standard stronger, but still requires correct parsing of endpoints and implementation of the formal standard.</para>
<para>With Noark 5 large parts of the standard was tidied up.</para>
</chapter>
<chapter>
<title>Audience</title>
<para>Document Controllers and Record Keepers can point at Noark 5 for best practise.</para>
</chapter>
<chapter>
<title>Separation of Data and Structure with MVC</title>
<para>Model View Controller is a concept conceived by Trygve Reenskaug at Xerox PARC in a note on MVC in 1978.</para>
<para>The MVC note defines 4 terms: Model, View, Controller and Editor.</para>
</chapter>
<chapter>
<title>Formal Structure of Noark 5 Extractions</title>
<para>A Noark 5 Extraction</para>
<para>The Noark 5 standard defines the following extraction files in section 5.12:</para>
<itemizedlist>
<listitem><para>addml.xsd</para><para>https://www.arkivverket.no/forvaltning-og-utvikling/regelverk-og-standarder/andre-arkivstandarder/addml-archival-data-description-markup-language</para></listitem>
<listitem><para>arkivstruktur.xml</para><para>http://edu.hioa.no/ark2200/h17/resources/xsd-noark5/arkivstruktur.xsd</para></listitem>
<listitem><para>arkivuttrekk.xml</para></listitem>
<listitem><para>endringslogg.xml</para></listitem>
<listitem><para>endringslogg.xsd</para></listitem>
<listitem><para>loependeJournal.xml</para></listitem>
<listitem><para>loependeJournal.xsd</para></listitem>
<listitem><para>metadatakatalog.xsd</para></listitem>
<listitem><para>offentligJournal.xml</para></listitem>
<listitem><para>offentligJournal.xsd</para></listitem>
</itemizedlist>
<para>The folder dokumenter/ contains the specific documents.</para>
</chapter>
<chapter>
<title>ADDML (Archival Data Description Markup Language)</title>
<para>https://github.com/arkivverket/schemas/blob/master/ADDML/v8.3/addml.xsd</para>
</chapter>
<chapter>
<title>Examples of Noark 5 Extractions</title>
<para>Below are some examples of Noark 5 Extractions defined in the Noark 5 standard in section 5.12.</para>
<para>https://github.com/arkivverket/arkade5/</para>
<orderedlist>
<listitem><para>https://raw.githubusercontent.com/arkivverket/arkade5/master/src/Arkivverket.Arkade.Test/TestData/Noark5/ContentClassificationSystem/addml.xsd</para></listitem>
<listitem><para>https://raw.githubusercontent.com/arkivverket/arkade5/master/src/Arkivverket.Arkade.Test/TestData/Noark5/ContentClassificationSystem/arkivstruktur.xml</para></listitem>
<listitem><para>https://raw.githubusercontent.com/arkivverket/arkade5/master/src/Arkivverket.Arkade.Test/TestData/Noark5/ContentClassificationSystem/arkivstruktur.xsd</para></listitem>
<listitem><para>https://raw.githubusercontent.com/arkivverket/arkade5/master/src/Arkivverket.Arkade.Test/TestData/Noark5/ContentClassificationSystem/arkivuttrekk.xml</para></listitem>
<listitem><para>https://raw.githubusercontent.com/arkivverket/arkade5/master/src/Arkivverket.Arkade.Test/TestData/Noark5/ContentClassificationSystem/metadatakatalog.xsd</para></listitem>
</orderedlist>
<para>https://github.com/KDRS-SA/noark5-validator/</para>
<orderedlist>
<listitem><para>https://raw.githubusercontent.com/KDRS-SA/noark5-validator/master/src/resources/test-uttrekk/uttrekk1/n5uttrekk/loependeJournal.xml</para></listitem>
<listitem><para>https://raw.githubusercontent.com/KDRS-SA/noark5-validator/master/src/resources/test-uttrekk/uttrekk1/n5uttrekk/offentligJournal.xml</para></listitem>
<listitem><para>https://raw.githubusercontent.com/KDRS-SA/noark5-validator/master/src/resources/test-uttrekk/uttrekk1/n5uttrekk/endringslogg.xml</para></listitem>
</orderedlist>
<para>https://github.com/documaster/noark-extraction-validator-samples/tree/master/0.2.0/valid-case-archive/extraction</para>
<orderedlist>
<listitem><para>https://raw.githubusercontent.com/documaster/noark-extraction-validator-samples/master/0.2.0/valid-case-archive/extraction/addml.xsd</para></listitem>
<listitem><para>https://raw.githubusercontent.com/documaster/noark-extraction-validator-samples/master/0.2.0/valid-case-archive/extraction/arkivstruktur.xml</para></listitem>
<listitem><para>https://raw.githubusercontent.com/documaster/noark-extraction-validator-samples/master/0.2.0/valid-case-archive/extraction/arkivstruktur.xsd</para></listitem>
<listitem><para>https://raw.githubusercontent.com/documaster/noark-extraction-validator-samples/master/0.2.0/valid-case-archive/extraction/arkivuttrekk.xml</para></listitem>
<listitem><para>https://raw.githubusercontent.com/documaster/noark-extraction-validator-samples/master/0.2.0/valid-case-archive/extraction/business-specific.xsd</para></listitem>
<listitem><para>https://raw.githubusercontent.com/documaster/noark-extraction-validator-samples/master/0.2.0/valid-case-archive/extraction/endringslogg.xml</para></listitem>
<listitem><para>https://raw.githubusercontent.com/documaster/noark-extraction-validator-samples/master/0.2.0/valid-case-archive/extraction/loependeJournal.xml</para></listitem>
<listitem><para>https://raw.githubusercontent.com/documaster/noark-extraction-validator-samples/master/0.2.0/valid-case-archive/extraction/loependeJournal.xsd</para></listitem>
<listitem><para>https://raw.githubusercontent.com/documaster/noark-extraction-validator-samples/master/0.2.0/valid-case-archive/extraction/metadatakatalog.xsd</para></listitem>
<listitem><para>https://raw.githubusercontent.com/documaster/noark-extraction-validator-samples/master/0.2.0/valid-case-archive/extraction/offentligJournal.xml</para></listitem>
<listitem><para>https://raw.githubusercontent.com/documaster/noark-extraction-validator-samples/master/0.2.0/valid-case-archive/extraction/offentligJournal.xsd</para></listitem>
</orderedlist>
<para>https://github.com/SesamResearch/Records-Management-and-Archive-Systems-Research/</para>
<orderedlist>
<listitem><para>https://raw.githubusercontent.com/SesamResearch/Records-Management-and-Archive-Systems-Research/master/samples/arkivstruktur.xml</para></listitem>
</orderedlist>
<para>The Noark 5 standard defines the following files:</para>
<simplelist>
<member>addml.xsd</member>
<member>arkivstruktur.xml</member>
<member>arkivstruktur.xsd</member>
<member>arkivuttrekk.xml</member>
<member>endringslogg.xml</member>
<member>endringslogg.xsd</member>
<member>loependeJournal.xml</member>
<member>loependeJournal.xsd</member>
<member>metadatakatalog.xsd</member>
<member>offentligJournal.xml</member>
<member>offentligJournal.xsd</member>
</simplelist>
</chapter>
<chapter>
<title>Free Implementation of Noark 5 Core</title>
<para>Thomas Sødring at Oslo Metropolitan University with assistance from Petter Reinholdtsen at University of Oslo implements a free Noark 5 Core.</para>
<orderedlist>
<listitem><para>https://gitlab.com/OsloMet-ABI/nikita-noark5-core</para></listitem>
<listitem><para>https://lists.nuug.no/mailman/listinfo/nikita-noark</para></listitem>
<listitem><para>https://gitlab.com/OsloMet-ABI/nikita-noark5-core/issues</para></listitem>
</orderedlist>
</chapter>
<chapter>
<title>HTTPD Configuration</title>
<para>Install Apache 2 and download the core from gitlab.com in /var/www/html/</para>
<programlisting>
cd /var/www/html/
git clone https://gitlab.com/OsloMet-ABI/nikita-noark5-core
</programlisting>
<para>Configure Apache 2 in /etc/apache2/sites-available/000-default.conf</para>
<programlisting>
<VirtualHost www.arkivarium.no:80>
ServerName www.arkivarium.no
ServerAdmin webmaster@arkivarium.no
DocumentRoot /var/www/html/nikita-noark5-core/web/
ErrorLog ${APACHE_LOG_DIR}/www.arkivarium.no-error.log
CustomLog ${APACHE_LOG_DIR}/www.arkivarium.no-access.log combined
</VirtualHost>
<VirtualHost arkivarium.no:80>
ServerName arkivarium.no
ServerAdmin webmaster@arkivarium.no
DocumentRoot /var/www/html/nikita-noark5-core/web/
ErrorLog ${APACHE_LOG_DIR}/arkivarium.no-error.log
CustomLog ${APACHE_LOG_DIR}/arkivarium.no-access.log combined
RewriteEngine on
RewriteCond %{SERVER_NAME} =arkivarium.no
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
</programlisting>
<para>Replace {www.}arkivarium.no with your own domain name and configure DNS settings.</para>
<para>Add DNS records on the name servers for your domain to the IP address of your web server.</para>
<programlisting>
arkivarium.no A 178.255.144.179
www.arkivarium.no A 178.255.144.179
</programlisting>
<para>Remember to replace the domain <code>arkivarium.no</code> and IP address <code>178.255.144.179</code> with the actual domain and IP address of your web server running Apache.</para>
<para>Enable HTTPD configuration in <code>/etc/apache2/sites-enabled/000-default.conf</code></para>
<para>Download certbot-auto from <code>https://certbot.eff.org/</code> and run <code>certbot --apache -d arkivarium.no</code> (replace arkivarium.no with your domain). Install the certificates for <code>arkivarium.no</code> and add a redirect to https in certbot.</para>
<para>Install the Apache 2 HTTP daemon and enable the modules ssl, proxy and proxy_http:</para>
<programlisting>
apt-get install apache2-bin
a2enmod ssl
a2enmod proxy
a2enmod proxy_http
</programlisting>
<para>Configure the Apache 2 HTTPD proxy and proxy_http module in <code>/etc/apache2/sites-available/000-noark5v4.conf</code> to access http://localhost:8092/noark5v4/ on http://arkivarium.no/noark5v4/ (replace the domain <code>arkivarium.no</code> with your own domain):</para>
<programlisting>
<IfModule mod_proxy.c>
<Location /noark5v4>
ProxyPass http://localhost:8092/noark5v4/
ProxyPassReverse http://localhost:8092/noark5v4/
RequestHeader set X-Forwarded-Proto "https"
ProxyPreserveHost On
</Location>
</IfModule>
</programlisting>
<para>Add a symbolic link from <code>/etc/apache2/sites-available/000-noark5v4.conf</code> to <code>/etc/apache2/sites-enabled/000-noark5v4.conf</code></para>
<programlisting>
<code>cd /etc/apache2/sites-enabled/</code>
<code>ln -s /etc/apache2/sites-available/000-noark5v4.conf</code>
</programlisting>
<para>Restart the HTTPD configuration with <code>service apache2 restart</code></para>
</chapter>
<chapter>
<title>Configuration of the free Noark 5 Core</title>
<para>Install maven and Java 8 Development Kit</para>
<programlisting>
apt-get install maven
apt-get install default-jdk openjdk-8-jdk openjdk-8-jre
</programlisting>
<para>Download the free Noark 5 core from gitlab.com</para>
<programlisting>
cd /var/www/html/
git clone https://gitlab.com/OsloMet-ABI/nikita-noark5-core
cd nikita-noark5-core/
</programlisting>
<para>Edit <code>nikita-noark5-core/core-webapp/src/main/resources/application.yml</code> with a text editor such as vim, Emacs or gedit by locating the settings.</para>
<programlisting>
vi <code>/var/www/html/nikita-noark5-core/core-webapp/src/main/resources/application.yml</code>
</programlisting>
<para>Modify the following and replace {www.}arkivarium.no with your domain name:</para>
<programlisting>
--- a/core-webapp/src/main/resources/application.yml
+++ b/core-webapp/src/main/resources/application.yml
@@ -38,7 +38,7 @@ info:
app.name: OsloMet Noark 5 Core (Demo mode)
build.version: ${project.version}
hateoas:
- publicAddress: http://localhost:8092/noark5v4
+ publicAddress: <code>http://www.arkivarium.no:8092/noark5v4</code>
jwt:
header: Authorization
@@ -53,16 +53,16 @@ nikita-noark5-core:
pagination:
_maxPageSize: 10
mail:
- from: nikita@example.com
+ from: <code>webmaster@arkivarium.no</code>
metrics: # DropWizard Metrics configuration, used by MetricsConfiguration
jmx.enabled: true
spark:
enabled: false
- host: localhost
+ host: <code>www.arkivarium.no</code>
port: 9999
graphite:
enabled: false
- host: localhost
+ host: <code>www.arkivarium.no</code>
port: 2003
prefix: nikitaNoark5Core
logs: # report metrics in the logs
@@ -73,7 +73,7 @@ nikita-noark5-core:
ROOT: DEBUG
logstash: # Forward logs to logstash over a socket, used by LoggingConfiguration
enabled: false
- host: localhost
+ host: <code>www.arkivarium.no</code>
</programlisting>
</chapter>
<chapter>
<title>Configuration of the Web Interface</title>
<para>Read the previous chapter on how to download
and configure the Noark 5 core in /var/www/html/</para>
<programlisting>
<code>cd /var/www/html/</code>
</programlisting>
<para>Edit <code>nikita-noark5-core/web/dependencies/internal/config.js</code> in a text editor
such as vim, Emacs or gedit by locating the settings.</para>
<programlisting>
<code>vi /var/www/html/nikita-noark5-core/web/dependencies/internal/config.js</code>
</programlisting>
<para>Modify the following:</para>
<programlisting>
nikitaOptions = {
baseUrl: '<code>http://www.arkivarium.no:8092/noark5v4/</code>',
guiBaseUrl: '<code>http://www.arkivarium.no/</code>',
appUrl: '<code>http://arkivarium.no:8092/noark5v4/hateoas-api</code>',
fondsStructureRoot: '<code>http://www.arkivarium.no:8092/noark5v4/hateoas-api/arkivstruktur/</code>',
createFondsAddress: '<code>http://www.arkivarium.no:8092/noark5v4/hateoas-api/arkivstruktur/ny-arkiv</code>',
createFondsCreatorAddress: '<code>http://www.arkivarium.no:8092/noark5v4/hateoas-api/arkivstruktur/ny-arkivskaper</code>',
loginUrl: "<code>http://www.arkivarium.no:8092/noark5v4/auth</code>",
protocol: 'http',
appName: 'noark5v4',
apiName: 'hateoas-api',
authPoint: 'auth',
displayFooterNote: true,
displayBreadcrumb: true,
enabled: true
};
</programlisting>
<para>Install Debian-specific packages by running setup-debian</para>
<programlisting>
cd /var/www/html/nikita-noark5-core/web/
make setup-debian
</programlisting>
<para>Install screen and node.js</para>
<programlisting>
apt-get install screen
apt-get install nodejs-legacy nodejs npm
</programlisting>
<para>Launch the free Noark 5 Core in a separate terminal with <code>cd /var/www/html/nikita-noark5-core; screen make</code></para>
<para>Launch the web Interface in a new terminal with <code>cd /var/www/html/nikita-noark5-core/web; screen make run</code></para>
</chapter>
<chapter>
<title>Terms in the Noark 5 standard as H2 Database tables in Noark 5 Core</title>
<para>The H2 Database Console is available on Noark 5 Core servers at http://localhost:8082/</para>
<orderedlist>
<listitem><para>Arkivdel SERIES</para></listitem>
<listitem><para>Arkiv FONDS</para></listitem>
<listitem><para>Arkivskaper FONDS_CREATOR</para></listitem>
<listitem><para>Avskrivning SIGN_OFF</para></listitem>
<listitem><para>Basisregistrering BASIC_RECORD</para></listitem>
<listitem><para>Dokumentbeskrivelse DOCUMENT_DESCRIPTION</para></listitem>
<listitem><para>Dokumentflyt DOCUMENT_FLOW</para></listitem>
<listitem><para>Dokumentobjekt DOCUMENT_OBJECT</para></listitem>
<listitem><para>Gradering CLASSIFIED</para></listitem>
<listitem><para>Journalpost REGISTRY_ENTRY</para></listitem>
<listitem><para>Kassasjon DISPOSAL</para></listitem>
<listitem><para>Kassasjonsvedtak DISPOSAL_DECISION</para></listitem>
<listitem><para>Klasse CLASS</para></listitem>
<listitem><para>Klassifikasjonssystem CLASSIFICATION_SYSTEM</para></listitem>
<listitem><para>Kode CODE</para></listitem>
<listitem><para>Konvertering CONVERSION</para></listitem>
<listitem><para>Korrespondansepart CORRESPONDENCE_PART</para></listitem>
<listitem><para>Kryssreferanse CROSS_REFERENCE</para></listitem>
<listitem><para>Mappe FILE</para></listitem>
<listitem><para>Mappetype FILE_TYPE</para></listitem>
<listitem><para>Merknad COMMENT</para></listitem>
<listitem><para>Nøkkelord KEYWORD</para></listitem>
<listitem><para>Oppbevaringssted STORAGE_LOCATION</para></listitem>
<listitem><para>Presedens PRECEDENCE</para></listitem>
<listitem><para>Registrering RECORD</para></listitem>
<listitem><para>Saksmappe CASE_FILE</para></listitem>
<listitem><para>Sakspart CASE_PARTY</para></listitem>
<listitem><para>Skjerming SCREENING</para></listitem>
<listitem><para>Sletting DELETION</para></listitem>
<listitem><para>Tittel TITLE</para></listitem>
</orderedlist>
</chapter>
</book>