Wiki-Quellcode von Projekt Setupguide ONYX

Version 147.1 von Carina Enke am 08.03.2022

Zeige letzte Bearbeiter
1 {{sv-translation language="de"}}
2 {{layout}}
3 {{layout-section ac:type="single"}}
4 {{layout-cell}}
5
6
7 {{details}}
8 (% class="wrapped" %)
9 |=(((
10 Verantwortlicher
11 )))|(((
12 \\
13 )))
14 |=(% colspan="1" %)(% colspan="1" %)
15 (((
16 Status
17 )))|(% class="highlight-yellow" colspan="1" data-highlight-colour="yellow" %)(% class="highlight-yellow" colspan="1" data-highlight-colour="yellow" %)
18 (((
19 (% class="content-wrapper" %)
20 (((
21 {{sv-metadata type="workflow-status"/}}
22
23 {{status colour="Green" title="Fertig"/}}
24 )))
25 )))
26 |=(% colspan="1" %)(% colspan="1" %)
27 (((
28 Varianten
29 )))|(% colspan="1" %)(% colspan="1" %)
30 (((
31 (% class="content-wrapper" %)
32 (((
33 {{sv-metadata type="variants"/}}
34 )))
35 )))
36 |=(% colspan="1" %)(% colspan="1" %)
37 (((
38 Attribute
39 )))|(% colspan="1" %)(% colspan="1" %)
40 (((
41 (% class="content-wrapper" %)
42 (((
43 {{sv-metadata type="attributes"/}}
44 )))
45 )))
46 |=(% colspan="1" %)(% colspan="1" %)
47 (((
48 Pagekey
49 )))|(% colspan="1" %)(% colspan="1" %)
50 (((
51 (% class="content-wrapper" %)
52 (((
53 {{sv-metadata type="pagekey"/}}
54 )))
55 )))
56 |=(% colspan="1" %)(% colspan="1" %)
57 (((
58 TODOs
59 )))|(% colspan="1" %)(% colspan="1" %)
60 (((
61 (% class="task-list" %)
62 (((
63 {{task reference="/Tasks/Task_2" status="Done"}}
64 carina [[ADM-8583>>url:https://www.bps-system.de/devel/browse/ADM-8583||shape="rect"]] DE/EN
65
66 {{/task}}
67 )))
68 )))
69 {{/details}}
70 {{/layout-cell}}
71 {{/layout-section}}
72
73 {{layout-section ac:type="two_right_sidebar"}}
74 {{layout-cell}}
75 == System requirements ==
76
77 === All components ===
78
79 * (((
80 Linux-based OS
81 )))
82 * (((
83 Java 17
84 )))
85 * (((
86 Apache Tomcat 9 (latest update)
87 )))
88
89 === ONYX Editor (additionally) ===
90
91 * PostgreSQL 12
92 * Java unlimited security enabled
93
94 {{code}}
95 http://stackoverflow.com/questions/6481627/java-security-illegal-key-size-or-default-parameters
96 Download from http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
97 {{/code}}
98
99 === Build process ===
100
101 * Linux-based OS
102 * Java 11 (latest update, Oracle or OpenJDK)
103 * Eclipse for JEE (Kepler or later)
104 * Maven2
105 * Eclipse Maven integration (m2)
106 {{/layout-cell}}
107
108 {{layout-cell}}
109 {{scroll-ignore}}
110 {{panel borderColor="#ddd" bgColor="#f0f0f0" borderStyle="solid" title="Inhalt"}}
111
112
113 {{toc/}}
114
115 **
116 **
117 {{/panel}}
118 {{/scroll-ignore}}
119 {{/layout-cell}}
120 {{/layout-section}}
121
122 {{layout-section ac:type="single"}}
123 {{layout-cell}}
124 == Steps for build ==
125
126 All ONYX parts are delivered as Eclipse projects
127
128 \\
129
130 * preOnyx (ONYX QTI test player)
131 * preWebEditor (ONYX QTI test editor)
132 * onyx (ONYX QTI core)
133 * LaTeXRenderer (LaTeX image renderer connector, used to render LaTeX math formulas to images, which can be included in PDFs. This project only offers an interface to connect whatever lib you want, e.g. jlatexmath (GPL, delivered as example)
134
135
136
137 * Use Eclipse
138 * Import -> Existing project, start with LaTeXRenderer project
139 * Import all four projects
140
141 Due to license restrictions the **project LaTeXRenderer** is not linked or integrated by default. This must be done manually.
142
143 {{code}}
144 Ensure that project dependency from preWebOnyx and preWebEditor to LaTeXRenderer is fulfilled.
145 Ensure that project LaTeXRenderer exports all libs in /libs folder (you may get ClassNotFoundExceptions in Tomcat otherwise, if you still get them add all libs from project LaTeXRenderer to Tomcat classpath manually)
146
147
148 {{/code}}
149
150 (% style="line-height: 1.4285715;" %)**Maven will build all projects automatically**(%%) (you can do this manually on console, anyhow this is not tested in development environment and may disturb Eclipse Maven integration)
151
152 (% style="line-height: 1.4285715;" %)**Setup database for ONYX Editor**
153
154 * Locate setupdatabase.postgre.sql
155 * Log on to Postgres
156 * Create user owe with password owe
157 * Create database owe and assign to user owe
158 * Import setupdatabase.postgre.sql to this database
159
160 \\
161
162 Hint: you may use other user/database names, change configuration in
163
164 {{code}}
165 applicationContext.xml (see below)
166 {{/code}}
167
168 == Changes on ONYX QTI core ==
169
170 Since all ONYX components are managed by Maven, the ONYX QTI core from BPS Maven artifactory is used by default. If you want to change some code you are required to create a JAR from project onyx on your own and either adopt the pom.xml references in preWebOnyx and preWebEditor to your own artifactory or put the JAR in classpath.
171
172 == Configuration ==
173
174 **preWebOnyx**
175
176 * Locate onyxplugin.default.config.xml, copy it to a classpath folder and rename to //onyxplugin.config.xml//
177 * Configure as needed
178 * Service provider named “preview” is required if used as preview instance for ONYX Editor
179
180 **preWebEditor**
181
182 * applicationContext.xml: general configurations (database, mail configuration, preview ONYX (you can change this to your local installation), ...)
183 * metadataConfigurationContext.xml: normally no changes needed as long as no further metadata are required
184 * moduleConfigurationContext.xml: repository configuration
185 * pageModelContext.xml: normally no changes required, defines the main tabs in shown application
186 * webServiceContext.xml: reporter statistics connection, can be changed to your local ONYX installation
187
188 == Deployment ==
189
190 * Deploy preWebOnyx and preWebEditor to Tomcat in Eclipse (it is recommended to use two Tomcat servers in Eclipse to be able to restart both independently)
191 * Configure Tomcat deployment to use different ports
192 * Check path the applications are mounted to
193 * Start Tomcat(s)
194 * Call http:~/~/localhost:<port>/<path> in browser
195
196 == Important notes ==
197
198 **Before running any ONYX application** in Eclipse/Tomcat, always **clean Tomcat Work Directory** first. This is also required in server environment after each update. Since ONYX creates large amounts of temporary files in server environment it is also strictly recommended to clean servers and tomcat temp directory before each application starts.
199
200 When run from Eclipse/Tomcat ONYX applications may not shut down properly. In this case just “kill” them using the red “Terminate” button in console view.
201
202 In server environment ONYX applications uses memory strongly dependent from load and users activities. BPS runs them with **8 GB each**.
203
204 **
205 **
206 {{/layout-cell}}
207 {{/layout-section}}
208 {{/layout}}
209 {{/sv-translation}}
210
211 {{sv-translation language="en"}}
212 {{layout}}
213 {{layout-section ac:type="two_right_sidebar"}}
214 {{layout-cell}}
215 == System requirements ==
216
217 === All components ===
218
219 * (((
220 Linux-based OS
221 )))
222 * (((
223 Java 17
224 )))
225 * (((
226 Apache Tomcat 9
227 )))
228
229 === ONYX WebEditor (additionally) ===
230
231 * PostgreSQL 12
232 * Java unlimited security enabled
233
234 {{code}}
235 http://stackoverflow.com/questions/6481627/java-security-illegal-key-size-or-default-parameters
236 Download from http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
237 {{/code}}
238
239 === Build process ===
240
241 * Linux-based OS
242 * Java 11 (Oracle or OpenJDK)
243 * Eclipse for JEE (Kepler or later)
244 * Maven2
245 * Eclipse Maven integration (m2)
246 {{/layout-cell}}
247
248 {{layout-cell}}
249 {{scroll-ignore}}
250 {{panel borderColor="#ddd" bgColor="#f0f0f0" borderStyle="solid" title="Inhalt"}}
251
252
253 {{toc maxLevel="4"/}}
254
255 **
256 **
257 {{/panel}}
258 {{/scroll-ignore}}
259 {{/layout-cell}}
260 {{/layout-section}}
261
262 {{layout-section ac:type="single"}}
263 {{layout-cell}}
264 == Steps for build ==
265
266 All ONYX parts are delivered as Eclipse projects:
267
268 * (((
269 preWebOnyx (ONYX QTI test player)
270 )))
271 * (((
272 preWebEditor (ONYX QTI test editor)
273 )))
274 * (((
275 onyx (ONYX QTI core)
276 )))
277 * (((
278 LaTeXRenderer (LaTeX image renderer connector, used to render LaTeX math formulas to images, which can be included in PDFs. This project only offers an interface to connect whatever lib you want, e.g. jlatexmath (GPL, delivered as example)
279 )))
280
281 Use Eclipse:
282
283 * (((
284 Import -> Existing project, start with LaTeXRenderer project
285 )))
286 * (((
287 Import all four projects
288 )))
289
290 Due to license restrictions the **project LaTeXRenderer** is not linked or integrated by default. This must be done manually.
291
292 {{code}}
293 Ensure that project dependency from preWebOnyx and preWebEditor to LaTeXRenderer is fulfilled. Ensure that project LaTeXRenderer exports all libs in /libs folder (you may get ClassNotFoundExceptions in Tomcat otherwise, if you still get them add all libs from project LaTeXRenderer to Tomcat classpath manually)
294 {{/code}}
295
296 **Maven will build all projects automatically** (you can do this manually on console, anyhow this is not tested in development environment and may disturb Eclipse Maven integration)
297
298 **Setup database for ONYX WebEditor**
299
300 * (((
301 Locate setupdatabase.postgre.sql
302 )))
303 * (((
304 Log on to Postgres
305 )))
306 * (((
307 Create user owe with password owe
308 )))
309 * (((
310 Create database owe and assign to user owe
311 )))
312 * (((
313 Import setupdatabase.postgre.sql to this database
314 )))
315
316 \\
317
318 Hint: you may use other user/database names, change configuration in
319
320 {{code}}
321 applicationContext.xml (see below)
322 {{/code}}
323
324 Changes on ONYX QTI core
325
326 Since all ONYX components are managed by Maven, the ONYX QTI core from BPS Maven artifactory is used by default. If you want to change some code you are required to create a JAR from project onyx on your own and either adopt the pom.xml references in preWebOnyx and preWebEditor to your own artifactory or put the JAR in classpath.
327
328 Configuration
329
330 **preWebOnyx**
331
332 * (((
333 Locate onyxplugin.default.config.xml, copy it to a classpath folder and rename to//onyxplugin.config.xml//
334 )))
335 * (((
336 Configure as needed
337 )))
338 * (((
339 Service provider named “preview” is required if used as preview instance for ONYX WebEditor
340 )))
341
342 **preWebEditor**
343
344 * (((
345 applicationContext.xml: general configurations (database, mail configuration, preview ONYX (you can change this to your local installation), ...)
346 )))
347 * (((
348 metadataConfigurationContext.xml: normally no changes needed as long as no further metadata are required
349 )))
350 * (((
351 moduleConfigurationContext.xml: repository configuration
352 )))
353 * (((
354 pageModelContext.xml: normally no changes required, defines the main tabs in shown application
355 )))
356 * (((
357 webServiceContext.xml: reporter statistics connection, can be changed to your local ONYX installation
358 )))
359
360 Deployment
361
362 * (((
363 Deploy preWebOnyx and preWebEditor to Tomcat in Eclipse (it is recommended to use two Tomcat servers in Eclipse to be able to restart both independently)
364 )))
365 * (((
366 Configure Tomcat deployment to use different ports
367 )))
368 * (((
369 Check path the applications are mounted to
370 )))
371 * (((
372 Start Tomcat(s)
373 )))
374 * (((
375 Call http:~/~/localhost:<port>/<path> in browser
376 )))
377
378 Important notes
379
380 **Before running any ONYX application** in Eclipse/Tomcat, always **clean Tomcat Work Directory** first. This is also required in server environment after each update. Since ONYX creates large amounts of temporary files in server environment it is also strictly recommended to clean servers and tomcat temp directory before each application starts.
381
382 When run from Eclipse/Tomcat ONYX applications may not shut down properly. In this case just “kill” them using the red “Terminate” button in console view.
383
384 In server environment ONYX applications uses memory strongly dependent from load and users activities. BPS runs them with **8 GB each**.
385 {{/layout-cell}}
386 {{/layout-section}}
387 {{/layout}}
388 {{/sv-translation}}