Wiki-Quellcode von 04 Installation ONYX Editor
Zuletzt geändert von Carina Enke am 13.02.2024
Zeige letzte Bearbeiter
author | version | line-number | content |
---|---|---|---|
1 | Documentation to install ONYX Editor as a productive instance on a Linux server. | ||
2 | |||
3 | {{panel borderColor="#ddd" bgColor="#f0f0f0" borderStyle="solid" title="Inhalt"}} | ||
4 | {{toc start="2" depth="3"/}} | ||
5 | |||
6 | |||
7 | {{/panel}} | ||
8 | |||
9 | |||
10 | |||
11 | |||
12 | == Requirements == | ||
13 | |||
14 | * Java 17 (Oracle or OpenJDK) | ||
15 | * Apache Tomcat 9 | ||
16 | * PostgreSQL 12 | ||
17 | * MAXIMA for the use of calculations (mandatory) | ||
18 | * libraries | ||
19 | |||
20 | == Download and installation of requirements == | ||
21 | |||
22 | Download and install OpenJDK 17 ([[https:~~/~~/jdk.java.net/java-se-ri/17>>url:https://jdk.java.net/java-se-ri/17||shape="rect"]] ) or Oracle JDK17 ([[https:~~/~~/jdk.java.net/17>>url:https://jdk.java.net/17/||shape="rect"]]) | ||
23 | |||
24 | {{code language="powershell"}} | ||
25 | tar xfz jdk-xyz-linux-x64.tar.gz -C /opt | ||
26 | {{/code}} | ||
27 | |||
28 | **Let the environment variable $JAVA_HOME point to the JDK directory:** | ||
29 | |||
30 | {{code language="powershell"}} | ||
31 | export JAVA_HOME=/opt/jdkX.Y..Z | ||
32 | {{/code}} | ||
33 | |||
34 | === Download and install Tomcat === | ||
35 | |||
36 | [[https:~~/~~/tomcat.apache.org/download-90.cgi>>url:https://tomcat.apache.org/download-90.cgi||shape="rect"]] | ||
37 | |||
38 | {{code language="powershell"}} | ||
39 | tar xfz apache-tomcat-X.Y.Z.tar.gz -C /opt | ||
40 | {{/code}} | ||
41 | |||
42 | === Download and install PostgreSQL === | ||
43 | |||
44 | [[http:~~/~~/www.enterprisedb.com/products-services-training/pgdownload>>url:http://www.enterprisedb.com/products-services-training/pgdownload||rel="nofollow" shape="rect" title="Verknüpfung folgen"]] | ||
45 | |||
46 | {{code language="powershell"}} | ||
47 | chmod u+x postgresql-12.X-linux-x64.run | ||
48 | {{/code}} | ||
49 | |||
50 | === Download and install libraries === | ||
51 | |||
52 | (% class="Y2IQFc" lang="en" %){{code language="powershell"}}yum install atk nss at-spi2-atk libXcomposite alsa-lib libXrandr libxkbcommon libXdamage cups-libs{{/code}} | ||
53 | |||
54 | |||
55 | {{{ | ||
56 | }}} | ||
57 | |||
58 | == Deployment == | ||
59 | |||
60 | === New installation === | ||
61 | |||
62 | Extract the webeditor-X.X.war to $ {TOMCAT_HOME}/webapps/webeditor | ||
63 | |||
64 | {{code language="powershell"}} | ||
65 | unzip webeditor-X.X.war -d /opt/apache-tomcat-X.X.XX/webapps/webeditor | ||
66 | {{/code}} | ||
67 | |||
68 | Create database user and database | ||
69 | |||
70 | {{code language="powershell"}} | ||
71 | su postgres | ||
72 | /opt/PostgreSQL/X.X/bin/createuser -P onyxeditor | ||
73 | /opt/PostgreSQL/X.X/bin/createdb -O onyxeditor onyxeditor | ||
74 | {{/code}} | ||
75 | |||
76 | Initialize database | ||
77 | |||
78 | {{code language="sql"}} | ||
79 | psql -h localhost -U onyxeditor onyxeditor < /opt/apache-tomcat-X.X.XX/webapps/webeditor/WEB-INF/classes/database/setupdatabase.sql | ||
80 | {{/code}} | ||
81 | |||
82 | === Installation update === | ||
83 | |||
84 | Delete old ONYX war-files and dirs from ${TOMCAT_HOME}/webapps | ||
85 | |||
86 | It might be useful to clear the work and temp directory of the Tomcat Server: | ||
87 | |||
88 | {{code}} | ||
89 | rm -rf ${TOMCAT_HOME}/temp/* ${TOMCAT_HOME}/work/* | ||
90 | {{/code}} | ||
91 | |||
92 | Start your Tomcat | ||
93 | |||
94 | {{code}} | ||
95 | /opt/apache-tomcat-X.X.XX/bin/startup.sh | ||
96 | {{/code}} | ||
97 | |||
98 | Open the following URL in your browser: [[http:~~/~~/localhost:8080/webeditor>>url:http://localhost:8080/webeditor||shape="rect"]] | ||
99 | |||
100 | === Creation of super user account === | ||
101 | |||
102 | Register a new user on homescreen | ||
103 | |||
104 | Connect to database and select the new user | ||
105 | |||
106 | {{code}} | ||
107 | select * from users; | ||
108 | UPDATE users SET role=0 WHERE ID = XXX; | ||
109 | {{/code}} | ||
110 | |||
111 | == Configuration == | ||
112 | |||
113 | The configuration files can be found inside the webeditor folder in your tomcat installation (see "/opt/apache-tomcat-X.X.XX/webapps/webeditor/"). | ||
114 | |||
115 | === Repository Configuration === | ||
116 | |||
117 | {{code language="xml"}} | ||
118 | WEB-INF/classes/de/bps/onyx/context/moduleConfigurationContext.xml | ||
119 | {{/code}} | ||
120 | |||
121 | This file is the config for ONYX Editor repository configurations. | ||
122 | |||
123 | {{code language="xml"}} | ||
124 | ... | ||
125 | <bean id="de.bps.onyx.manager.RepositoryConfigurationManager" class="de.bps.onyx.manager.RepositoryConfigurationManager"> | ||
126 | <property name="modules"> | ||
127 | <map> | ||
128 | <entry key="FileSystemModule" value-ref="de.bps.onyx.manager.modules.FileSystemModule" /> | ||
129 | <entry key="OLATRepoModule" value-ref="de.bps.onyx.manager.modules.OPALRepoModule" /> | ||
130 | <entry key="PREOLATCERepoConfiguration" value-ref="de.bps.onyx.manager.modules.PREOLATCERepoConfiguration" /> | ||
131 | </map> | ||
132 | </property> | ||
133 | <property name="defaultModule" ref="de.bps.onyx.manager.modules.OPALRepoModule" /> | ||
134 | </bean> | ||
135 | ... | ||
136 | {{/code}} | ||
137 | |||
138 | * defines the repositories available: | ||
139 | ** key defines the internal repository ID. It may be named as you want. | ||
140 | ** value-ref references the bean which defines the repository configuration: | ||
141 | |||
142 | {{code language="xml"}} | ||
143 | ... | ||
144 | <bean id="de.bps.onyx.manager.modules.FileSystemModule" class="de.bps.onyx.manager.modules.FileSystemModule"> | ||
145 | <constructor-arg index="0" ref="FileSystemConfiguration" /> | ||
146 | </bean> | ||
147 | ... | ||
148 | {{/code}} | ||
149 | |||
150 | * instantiates the repository configuration depending on repository type: | ||
151 | ** de.bps.onyx.manager.modules.FileSystemModule: value-ref from above | ||
152 | ** class="...": One of: | ||
153 | *** de.bps.onyx.manager.modules.FileSystemModule (local file system repository) | ||
154 | *** de.bps.onyx.manager.modules.OPALRepoModule (uses an OLAT LMS as repository) | ||
155 | ** constructor-arg: ref references the configuration bean as follows: | ||
156 | |||
157 | ==== File system repository ==== | ||
158 | |||
159 | {{code language="xml"}} | ||
160 | ... | ||
161 | <bean id="FileSystemConfiguration" class="de.bps.onyx.model.repo.RepositoryModuleConfiguration"> | ||
162 | <property name="name" value="FileSystemModule" /> | ||
163 | <property name="typeKey" value="FileSystemModule" /> | ||
164 | <property name="description" value="File system module" /> | ||
165 | <property name="canHandleGuest" value="true" /> | ||
166 | <property name="serviceTarget" value="/opt/owe/fsr" /> | ||
167 | <property name="displayname" value="Repository PRE/OLATCE" /> | ||
168 | </bean> | ||
169 | ... | ||
170 | {{/code}} | ||
171 | |||
172 | * name: Name which is used internal in ONYX Editor as identifier (**must** match key in line <entry key="FileSystemModule" value-ref="de.bps.onyx.manager.modules.FileSystemModule" /> above) | ||
173 | * typeKey: Repository type definition | ||
174 | * description: Some description (not used at the moment) | ||
175 | * canHandleGuest: set to true if this repository can handle guest users (without logon) | ||
176 | * serviceTarget: File system path | ||
177 | * displayname: String to show as repository name in ONYX Editor (if not given, some internal translation will be done to show a generic and type dependent name) | ||
178 | |||
179 | ==== OPAL repository ==== | ||
180 | |||
181 | {{code language="powershell"}} | ||
182 | ... | ||
183 | <bean id="OPALRepoConfiguration" class="de.bps.onyx.model.repo.RepositoryModuleConfiguration"> | ||
184 | <property name="name" value="OLATRepoModule" /> | ||
185 | <property name="typeKey" value="OLATRepoModule" /> | ||
186 | <property name="serviceTarget" value="https://my.server.edu/opal/services/" /> | ||
187 | ... | ||
188 | </bean> | ||
189 | ... | ||
190 | {{/code}} | ||
191 | |||
192 | * name: Repo name as configured in OPAL | ||
193 | * typeKey: Must be OLATRepoModule | ||
194 | * serviceTarget: OPAL URL | ||
195 | * Other properties as stated above for File system repository | ||
196 | |||
197 | === General configuration === | ||
198 | |||
199 | {{code language="xml"}} | ||
200 | WEB-INF/classes/de/bps/onyx/context/applicationContext.xml | ||
201 | {{/code}} | ||
202 | |||
203 | This file contains the main configuration for the application. | ||
204 | |||
205 | ==== General stuff, preview, self-registration, licence ==== | ||
206 | |||
207 | This section contains the configuration for: the connection to the ONYX Player (used for preview) as well as some other configuration. | ||
208 | |||
209 | {{code language="xml"}} | ||
210 | ... | ||
211 | <property name="system" value="myonyxeditor" /> | ||
212 | <property name="previewAddress" value="http://my.server.edu/onyx"/> | ||
213 | <property name="selfRegistrationEnabled" value="false" /> | ||
214 | <property name="defaultLicences"> | ||
215 | <list> | ||
216 | <value>YourRepoConfiguration;SINGLE;20270731</value> | ||
217 | </list> | ||
218 | </property> | ||
219 | <!-- URL of Onyx reporter for statistics --> | ||
220 | <property name="reporterUrl" value="https://demo.bps-system.de/onyx"/> | ||
221 | <!-- ID of Onyx Editors registration at Onyx reporter for statistics --> | ||
222 | <property name="reporterProviderId" value="myInstanceId"/> | ||
223 | <!-- Source for HTML entities list. This is used to transform users unicode input in valid XML. --> | ||
224 | <property name="htmlEntitiesList" value="https://html.spec.whatwg.org/multipage/entities.json" /> | ||
225 | ... | ||
226 | {{/code}} | ||
227 | |||
228 | Explanation: | ||
229 | |||
230 | (% class="wrapped" %) | ||
231 | |=((( | ||
232 | Key | ||
233 | )))|=((( | ||
234 | Example | ||
235 | )))|=(% colspan="1" %)(% colspan="1" %) | ||
236 | ((( | ||
237 | Since version | ||
238 | )))|=((( | ||
239 | Description | ||
240 | ))) | ||
241 | |((( | ||
242 | system | ||
243 | )))|((( | ||
244 | myonyxeditor | ||
245 | )))|(% colspan="1" %)(% colspan="1" %) | ||
246 | ((( | ||
247 | 3.0 | ||
248 | )))|((( | ||
249 | Mandatory. The serviceprovider name (used by ONYX Player)and must be adopted to your Onyx Player configuration. | ||
250 | ))) | ||
251 | |((( | ||
252 | previewAddress | ||
253 | )))|((( | ||
254 | (% class="nolink" %)https:~/~/demo.bps-system.de/onyx | ||
255 | )))|(% colspan="1" %)(% colspan="1" %) | ||
256 | ((( | ||
257 | 3.0 | ||
258 | )))|((( | ||
259 | Mandatory. The ONYX Player to use as preview component. In this example is the ONYX Player used at URL (% class="external free nolink" %)https:~/~/demo.bps-system.de/onyx | ||
260 | ))) | ||
261 | |((( | ||
262 | selfRegistrationEnabled | ||
263 | )))|((( | ||
264 | false | ||
265 | )))|(% colspan="1" %)(% colspan="1" %) | ||
266 | ((( | ||
267 | 6.0 | ||
268 | )))|((( | ||
269 | Optional. Should users be able to register themselves? Default is true. | ||
270 | ))) | ||
271 | |(% colspan="1" %)(% colspan="1" %) | ||
272 | ((( | ||
273 | defaultLicences | ||
274 | )))|(% colspan="1" %)(% colspan="1" %) | ||
275 | ((( | ||
276 | see above | ||
277 | )))|(% colspan="1" %)(% colspan="1" %) | ||
278 | ((( | ||
279 | 6.0 | ||
280 | )))|(% colspan="1" %)(% colspan="1" %) | ||
281 | ((( | ||
282 | Optional. This defines whether or not new users should automatically be assigned to a licence, and if, of which type that licence should be. | ||
283 | |||
284 | This only works with the integrated login e.g. with OLAT, which come with a repository parameter in the ONYX Editor call. This repository name is the key and must match to the //name// attribute of one of the repository definitions in //moduleConfigurationContext.xml//. | ||
285 | |||
286 | **Format:** There are three parts per line, separates by semicolons | ||
287 | //Repository name~:// As stated. In Example above: YourRepoConfiguration | ||
288 | //Licence type~:// One of DEMO, SINGLE, CAMPUS, PUBLISHER | ||
289 | //Valid until date~:// Date in format yyyyMMdd, e.g. 20270731. This will be the date until which the licence is valid for the user. | ||
290 | ))) | ||
291 | |(% colspan="1" %)(% colspan="1" %) | ||
292 | ((( | ||
293 | reporterUrl | ||
294 | )))|(% colspan="1" %)(% colspan="1" %) | ||
295 | ((( | ||
296 | https:~/~/demo.bps-system.de/onyx | ||
297 | )))|(% colspan="1" %)(% colspan="1" %) | ||
298 | ((( | ||
299 | 6.3 | ||
300 | )))|(% colspan="1" %)(% colspan="1" %) | ||
301 | ((( | ||
302 | URL of an ONYX Reporter. This is used for all statistics and evaluation views. The ONYX Reporter instance needs to be configured to be usabe as such, especially the reporterProviderId (see next line) must be known. | ||
303 | ))) | ||
304 | |(% colspan="1" %)(% colspan="1" %) | ||
305 | ((( | ||
306 | reporterProviderId | ||
307 | )))|(% colspan="1" %)(% colspan="1" %) | ||
308 | ((( | ||
309 | myInstanceId | ||
310 | )))|(% colspan="1" %)(% colspan="1" %) | ||
311 | ((( | ||
312 | 6.3 | ||
313 | )))|(% colspan="1" %)(% colspan="1" %) | ||
314 | ((( | ||
315 | Config name of this ONYX Editors instance in the ONYX Reporter configuration. This configuration contains ONYX Editor data as the URL to send results to. Please contact the ONYX Reporters administrator and negotiate this value. | ||
316 | |||
317 | Note: In earlier versions of the ONYX Editor this was configured in an addtional config file (webServiceContext.xml), which was removed in version 6.3 | ||
318 | ))) | ||
319 | |(% colspan="1" %)(% colspan="1" %) | ||
320 | ((( | ||
321 | htmlEntitiesList | ||
322 | )))|(% colspan="1" %)(% colspan="1" %) | ||
323 | ((( | ||
324 | (% class="nolink nolink" %)https:~/~/html.spec.whatwg.org/multipage/entities.json(%%) | ||
325 | or /tmp/entities.json | ||
326 | )))|(% colspan="1" %)(% colspan="1" %) | ||
327 | ((( | ||
328 | 6.3 | ||
329 | )))|(% colspan="1" %)(% colspan="1" %) | ||
330 | ((( | ||
331 | Optional. Source for HTML entities list. This is used to transform users unicode input in valid XML. Provide a valid URL or file path here. | ||
332 | |||
333 | To avoid Onyx from downloading this file from an external server just do this by yourself and configure the absolute path to this file. Please always keep this file up-to-date since entities may change and non-existent entities will cause XML failures which will destroy user contents. | ||
334 | |||
335 | Default is (% class="nolink nolink" %)[[https:~~/~~/html.spec.whatwg.org/multipage/entities.json>>url:https://html.spec.whatwg.org/multipage/entities.json||shape="rect"]] | ||
336 | ))) | ||
337 | |||
338 | ==== System message ==== | ||
339 | |||
340 | The next section contains the system message configuration which can be used to display a static informational message to inform all users about nightly application restarts. Remove all keys to not show anything. | ||
341 | |||
342 | {{code language="xml"}} | ||
343 | ... | ||
344 | <!-- --> | ||
345 | <!-- System message --> | ||
346 | <!-- --> | ||
347 | <!-- May be a localstring key or a final message (without localization). May contain escaped HTML. --> | ||
348 | <property name="message" value="sysmsg.nightly" /> | ||
349 | <!-- Parameters for localization if message above is a localstring key. Optional. --> | ||
350 | <property name="messageParams"><list><value>3</value></list></property> | ||
351 | <!-- When should the message be displayed? Date in form yyyyMMdd HHmm or only HHmm. Optional. --> | ||
352 | <property name="messageFrom" value="2359" /> | ||
353 | <!-- Duration of display starting from value given in <from> (in minutes). Optional. --> | ||
354 | <property name="messageDurationInMinutes" value="1" /> | ||
355 | ... | ||
356 | {{/code}} | ||
357 | |||
358 | Explanation: | ||
359 | |||
360 | (% class="wrapped" %) | ||
361 | |=((( | ||
362 | Key | ||
363 | )))|=((( | ||
364 | Example | ||
365 | )))|=((( | ||
366 | Description | ||
367 | ))) | ||
368 | |((( | ||
369 | message | ||
370 | )))|((( | ||
371 | Attention! Application restarts at 3 pm! | ||
372 | )))|((( | ||
373 | The fully localized message or a localization key defined in the messages_xy.properties files. | ||
374 | ))) | ||
375 | |((( | ||
376 | messageParams | ||
377 | )))|((( | ||
378 | 3 | ||
379 | )))|((( | ||
380 | If //message// is a localization key defined in the messages_xy.properties files, this option can be used to populate variable placeholders. If the key maps th a localized string "Attention! Application restarts at {1} pm!" and //messageParams// contains a value "3", the user will see the message as given as example at the //message// option. This way you are able to show fully localized messages. | ||
381 | ))) | ||
382 | |((( | ||
383 | messageFrom | ||
384 | )))|((( | ||
385 | 0300 | ||
386 | )))|((( | ||
387 | A time in Java defined format HHmm (this means two digits hours in 24 hours format, immediately followed by the minutes value). This defines the point in time from which user will see the //message//. Must have exactly 4 digits. | ||
388 | |||
389 | If not given the //message// will be shown all the time. | ||
390 | ))) | ||
391 | |((( | ||
392 | messageDurationInMinutes | ||
393 | )))|((( | ||
394 | 90 | ||
395 | )))|((( | ||
396 | Defines how long the message will be shown, starting at //messageFrom//. | ||
397 | ))) | ||
398 | |||
399 | All keys are optional. If message is missing, no message will be show at all. Changes to the values configured require a restart of the application to be acknowledged. | ||
400 | |||
401 | ==== Publish ==== | ||
402 | |||
403 | All property keys starting with //publish// are used in the context of the **publish functionality**. Publish functionality can be disabled by completely remove all of the //publish// keys. | ||
404 | |||
405 | {{code language="xml"}} | ||
406 | ... | ||
407 | <!-- Directory to publish the published tests to. Leave empty to deactivate publish. Must end with / --> | ||
408 | <property name="publishDirectory" value="/intern/instances/onyxeditor/data/publish/" /> | ||
409 | <!-- Prefix to use for test runs in player registration. An underscore will be appended automatically. --> | ||
410 | <property name="publishUniqueIdPrefix" value="owe" /> | ||
411 | <!-- Service provider Onyx WS location. No trailing slash! --> | ||
412 | <property name="publishProviderWs" value="http://my.hot.system.edu/onyx" /> | ||
413 | <!-- Service provider name referenced in Onyx configuration --> | ||
414 | <property name="publishProviderId" value="owePublishedRun" /> | ||
415 | <!-- Path in URI to published tests. As the "published" in http://my.hot.system.edu/owe/published/ --> | ||
416 | <property name="publishPath" value="published" /> | ||
417 | <!-- License dependent published test starts limits --> | ||
418 | <property name="publishLimitBase" value="20" /> | ||
419 | <property name="publishLimitDemo" value="200" /> | ||
420 | <property name="publishLimitPro" value="200" /> | ||
421 | <property name="publishLimitCampus" value="200" /> | ||
422 | <property name="publishLimitPublisher" value="2500" /> | ||
423 | ... | ||
424 | {{/code}} | ||
425 | |||
426 | Explanation: | ||
427 | |||
428 | (% class="wrapped" %) | ||
429 | |=((( | ||
430 | **Key** | ||
431 | )))|=(% colspan="1" %)(% colspan="1" %) | ||
432 | ((( | ||
433 | Example | ||
434 | )))|=((( | ||
435 | **Description** | ||
436 | ))) | ||
437 | |(% colspan="1" %)(% colspan="1" %) | ||
438 | ((( | ||
439 | publishDirectory | ||
440 | )))|(% colspan="1" %)(% colspan="1" %) | ||
441 | ((( | ||
442 | /intern/instances/onyxeditor/data/publish/ | ||
443 | )))|(% colspan="1" %)(% colspan="1" %) | ||
444 | ((( | ||
445 | Hard disc directory to copy the published tests to. | ||
446 | |||
447 | Leave empty to deactivate publish. Must end with / and must be writable for tomcat user. | ||
448 | ))) | ||
449 | |(% colspan="1" %)(% colspan="1" %) | ||
450 | ((( | ||
451 | publishUniqueIdPrefix | ||
452 | )))|(% colspan="1" %)(% colspan="1" %) | ||
453 | ((( | ||
454 | owe | ||
455 | )))|(% colspan="1" %)(% colspan="1" %) | ||
456 | ((( | ||
457 | Prefix to use for test runs in player registration. An underscore will be appended automatically. | ||
458 | |||
459 | These keys will be used in communication with Onyx player. This is configurable to adopt this according to your needs, e.g. to be able to distinguish published test runs from other ones in the Onyx player. If you do not need this just leave to value //owe//. | ||
460 | ))) | ||
461 | |(% colspan="1" %)(% colspan="1" %) | ||
462 | ((( | ||
463 | publishProviderWs | ||
464 | )))|(% colspan="1" %)(% colspan="1" %) | ||
465 | ((( | ||
466 | [[http:~~/~~/my.hot.system.edu/onyx>>url:http://my.hot.system.edu/onyx||shape="rect"]] | ||
467 | )))|(% colspan="1" %)(% colspan="1" %) | ||
468 | ((( | ||
469 | Service provider Onyx WS location. If not there the preview player instance will be used. | ||
470 | |||
471 | This is the URL to the Onyx player. May be the same as the preview player instance. Please do not enter a trailing slash! | ||
472 | ))) | ||
473 | |(% colspan="1" %)(% colspan="1" %) | ||
474 | ((( | ||
475 | publishProviderId | ||
476 | )))|(% colspan="1" %)(% colspan="1" %) | ||
477 | ((( | ||
478 | owePublishedRun | ||
479 | )))|(% colspan="1" %)(% colspan="1" %) | ||
480 | ((( | ||
481 | Service provider name referenced in Onyx configuration. | ||
482 | |||
483 | This value must be configured in Onyx player configuration as a valid service provider and with the Onyx Editor URL as results destination. | ||
484 | ))) | ||
485 | |(% colspan="1" %)(% colspan="1" %) | ||
486 | ((( | ||
487 | publishPath | ||
488 | )))|(% colspan="1" %)(% colspan="1" %) | ||
489 | ((( | ||
490 | published | ||
491 | )))|(% colspan="1" %)(% colspan="1" %) | ||
492 | ((( | ||
493 | Path in URI to published tests. As the "published" in [[http:~~/~~/my.hot.system.edu/owe/published/>>url:http://my.hot.system.edu/owe/published/||shape="rect"]] | ||
494 | |||
495 | This the last part of the URLs communicated to the users to use the published tests. The server domain is automatically taken from the current system. | ||
496 | ))) | ||
497 | |(% colspan="1" %)(% colspan="1" %) | ||
498 | ((( | ||
499 | publishLimitBase | ||
500 | publishLimitDemo | ||
501 | publishLimitPro | ||
502 | publishLimitCampus | ||
503 | publishLimitPublisher | ||
504 | )))|(% colspan="1" %)(% colspan="1" %) | ||
505 | ((( | ||
506 | 200 | ||
507 | )))|(% colspan="1" %)(% colspan="1" %) | ||
508 | ((( | ||
509 | License dependent published test starts limits. | ||
510 | |||
511 | The test start count of published tests is restricted according to the publishing users license. The default values are configurable here. | ||
512 | ))) | ||
513 | |||
514 | ===== Check of the publish configuration ===== | ||
515 | |||
516 | Few seconds after application startup there is a publish functionality check log printed to webeditor.log looking like this: | ||
517 | |||
518 | {{code}} | ||
519 | 04:26:59,301-[localhost-startStop-1] INFO -PublishManager -*************************************************************** | ||
520 | 04:26:59,301-[localhost-startStop-1] INFO -PublishManager -* Publish functionality initialization * | ||
521 | 04:26:59,301-[localhost-startStop-1] INFO -PublishManager -* °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° * | ||
522 | 04:26:59,301-[localhost-startStop-1] INFO -PublishManager -* * | ||
523 | 04:26:59,301-[localhost-startStop-1] INFO -PublishManager -* Directory: /.../onyxeditor/data/publish/ | ||
524 | 04:26:59,301-[localhost-startStop-1] INFO -PublishManager -* * | ||
525 | 04:26:59,301-[localhost-startStop-1] INFO -PublishManager -* Statistics from file system (may differ from DB): * | ||
526 | 04:26:59,304-[localhost-startStop-1] INFO -PublishManager -* * Published tests: 18 | ||
527 | 04:26:59,306-[localhost-startStop-1] INFO -PublishManager -* * Stored results : 15 | ||
528 | 04:26:59,306-[localhost-startStop-1] INFO -PublishManager -* * | ||
529 | 04:26:59,306-[localhost-startStop-1] INFO -PublishManager -*************************************************************** | ||
530 | {{/code}} | ||
531 | |||
532 | If there were problems with publish configuration or initialization such as missing write access rights this will be mentioned here. | ||
533 | |||
534 | ==== LTI ==== | ||
535 | |||
536 | LTI functionality can be configured using the following XML: | ||
537 | |||
538 | {{code language="xml"}} | ||
539 | ... | ||
540 | <!-- --> | ||
541 | <!-- LTI --> | ||
542 | <!-- --> | ||
543 | <!-- For documentation of LTI parameters see https://www.imsglobal.org/specs/ltiv2p0/implementation-guide --> | ||
544 | <!-- --> | ||
545 | <!-- All parameters are mandatory unless explicitly stated otherwise. --> | ||
546 | <!-- --> | ||
547 | <!-- Name of the product instance. Must be unique for every ONYX Editor instances acting as LTI tool provider. --> | ||
548 | <property name="ltiProductInstance" value="ONYX Testsuite (Live)" /> | ||
549 | <!-- Name of the tool as can be displayed by tool consumer. --> | ||
550 | <property name="ltiProductInfoToolName" value="ONYX Testsuite" /> | ||
551 | <!-- Description of the tool as can be displayed by tool consumer. --> | ||
552 | <property name="ltiProductInfoToolDescription" value="ONYX Testsuite is a professional IMS QTI 2.1 assessment system for authoring, delivery and reporting exercises and exams." /> | ||
553 | <!-- Optional. If not configured the ONYX version will be used --> | ||
554 | <!-- <property name="ltiProductInfoVersion" value="10.0" /> --> | ||
555 | <!-- Technical description of the tool as can be displayed by tool consumer. --> | ||
556 | <property name="ltiProductInfoToolTechnical" value="ONYX Testsuite is an IMS QTI 2.1 delivery engine. It integrates the ONYX Editor for authoring IMS QTI 2.1 item and test files." /> | ||
557 | <!-- LTI tool provider product family id --> | ||
558 | <property name="ltiProductFamilyId" value="ONYX" /> | ||
559 | <!-- LTI tool provider product family code. --> | ||
560 | <property name="ltiProductFamilyCode" value="ONYX" /> | ||
561 | <!-- LTI tool providers vendor code --> | ||
562 | <property name="ltiVendorCode" value="BPS" /> | ||
563 | <!-- LTI tool providers vendor name --> | ||
564 | <property name="ltiVendorName" value="BPS Bildungsportal Sachsen GmbH" /> | ||
565 | <!-- LTI tool providers vendor description --> | ||
566 | <property name="ltiVendorDescription" value="BPS Bildungsportal Sachsen GmbH develops professional e-learning services for educational organizations, companies and public institutions. We assist you with our high-quality products and services." /> | ||
567 | <!-- LTI tool providers vendor website --> | ||
568 | <property name="ltiVendorWebsite" value="https://www.onyx-testsuite.de/" /> | ||
569 | <!-- LTI tool providers resource handler name. This is what the end users in LTI tool consumer can select from. --> | ||
570 | <property name="ltiResourceHandlerName" value="ONYX Testsuite" /> | ||
571 | <!-- LTI tool provider URI. This is transmitted from LTI tool provider to tool consumer for backend communication. --> | ||
572 | <property name="ltiUrl" value="https://onyx-editor.de/editor" /> | ||
573 | <!-- LTI tool providers internal port (the one listening on server side). Must be given. --> | ||
574 | <property name="ltiInternalPort" value="20000" /> | ||
575 | <!-- LTI tool providers external port (the one which is SSL enabled and will be communicated by LTI TP to TC to use in GUI. Must be given, but may be the same as internal port if this is already SSL enabled. --> | ||
576 | <property name="ltiExternalPort" value="8443" /> | ||
577 | ... | ||
578 | {{/code}} | ||
579 | |||
580 | Explanation: | ||
581 | |||
582 | (% class="wrapped" %) | ||
583 | |=((( | ||
584 | Key | ||
585 | )))|=((( | ||
586 | Example | ||
587 | )))|=((( | ||
588 | Description | ||
589 | ))) | ||
590 | |((( | ||
591 | {{{ltiProductInstance}}} | ||
592 | )))|((( | ||
593 | ONYX Customer X | ||
594 | )))|((( | ||
595 | Name of the product instance. Must be unique for every ONYX Editor instances acting as LTI tool provider. | ||
596 | |||
597 | **This is also the main config key. If this is not given, the whole LTI functionality will be disabled.** | ||
598 | ))) | ||
599 | |((( | ||
600 | {{{ltiProductInfoToolName}}} | ||
601 | )))|((( | ||
602 | ONYX | ||
603 | )))|((( | ||
604 | Name of the tool as can be displayed by tool consumer. | ||
605 | ))) | ||
606 | |((( | ||
607 | {{{ltiProductInfoToolDescription}}} | ||
608 | )))|((( | ||
609 | ONYX shows and automatically evaluates tests. | ||
610 | )))|((( | ||
611 | Description of the tool as can be displayed by tool consumer. | ||
612 | ))) | ||
613 | |((( | ||
614 | {{{ltiProductInfoVersion}}} | ||
615 | )))|((( | ||
616 | 10.0 | ||
617 | )))|((( | ||
618 | Optional. If not configured the ONYX version will be used | ||
619 | ))) | ||
620 | |((( | ||
621 | {{{ltiProductInfoToolTechnical}}} | ||
622 | )))|((( | ||
623 | ONYX imports QTI test files and show them to users very fancyly. | ||
624 | )))|((( | ||
625 | Technical description of the tool as can be displayed by tool consumer. | ||
626 | ))) | ||
627 | |(% colspan="1" %)(% colspan="1" %) | ||
628 | ((( | ||
629 | {{{ltiProductFamilyId}}} | ||
630 | )))|(% colspan="1" %)(% colspan="1" %) | ||
631 | ((( | ||
632 | {{{https://www.bps-system.de/cms/index.php?id=43&L=1}}} | ||
633 | )))|(% colspan="1" %)(% colspan="1" %) | ||
634 | ((( | ||
635 | LTI tool provider product family id | ||
636 | ))) | ||
637 | |(% colspan="1" %)(% colspan="1" %) | ||
638 | ((( | ||
639 | {{{ltiProductFamilyCode}}} | ||
640 | )))|(% colspan="1" %)(% colspan="1" %) | ||
641 | ((( | ||
642 | onyx | ||
643 | )))|(% colspan="1" %)(% colspan="1" %) | ||
644 | ((( | ||
645 | LTI tool provider product family code. | ||
646 | ))) | ||
647 | |(% colspan="1" %)(% colspan="1" %) | ||
648 | ((( | ||
649 | {{{ltiVendorCode}}} | ||
650 | )))|(% colspan="1" %)(% colspan="1" %) | ||
651 | ((( | ||
652 | BPS | ||
653 | )))|(% colspan="1" %)(% colspan="1" %) | ||
654 | ((( | ||
655 | LTI tool providers vendor code. | ||
656 | ))) | ||
657 | |(% colspan="1" %)(% colspan="1" %) | ||
658 | ((( | ||
659 | {{{ltiVendorName}}} | ||
660 | )))|(% colspan="1" %)(% colspan="1" %) | ||
661 | ((( | ||
662 | BPS Bildungsportal Sachsen GmbH | ||
663 | )))|(% colspan="1" %)(% colspan="1" %) | ||
664 | ((( | ||
665 | LTI tool providers vendor name | ||
666 | ))) | ||
667 | |(% colspan="1" %)(% colspan="1" %) | ||
668 | ((( | ||
669 | {{{ltiVendorDescription}}} | ||
670 | )))|(% colspan="1" %)(% colspan="1" %) | ||
671 | ((( | ||
672 | BPS GmbH develops professional e-learning services... | ||
673 | )))|(% colspan="1" %)(% colspan="1" %) | ||
674 | ((( | ||
675 | LTI tool providers vendor description | ||
676 | ))) | ||
677 | |(% colspan="1" %)(% colspan="1" %) | ||
678 | ((( | ||
679 | {{{ltiVendorWebsite}}} | ||
680 | )))|(% colspan="1" %)(% colspan="1" %) | ||
681 | ((( | ||
682 | {{{https://www.bps-system.de/cms/en/welcome/}}} | ||
683 | )))|(% colspan="1" %)(% colspan="1" %) | ||
684 | ((( | ||
685 | LTI tool providers vendor website | ||
686 | ))) | ||
687 | |(% colspan="1" %)(% colspan="1" %) | ||
688 | ((( | ||
689 | {{{ltiResourceHandlerName}}} | ||
690 | )))|(% colspan="1" %)(% colspan="1" %) | ||
691 | ((( | ||
692 | ONYX | ||
693 | )))|(% colspan="1" %)(% colspan="1" %) | ||
694 | ((( | ||
695 | LTI tool providers resource handler name. This is what the end users in LTI tool consumer can select from. | ||
696 | ))) | ||
697 | |(% colspan="1" %)(% colspan="1" %) | ||
698 | ((( | ||
699 | {{{ltiUrl}}} | ||
700 | )))|(% colspan="1" %)(% colspan="1" %) | ||
701 | ((( | ||
702 | {{{https://next.bps-system.de}}} | ||
703 | )))|(% colspan="1" %)(% colspan="1" %) | ||
704 | ((( | ||
705 | LTI tool provider URI. This is transmitted from LTI tool provider to tool consumer for backend communication. | ||
706 | ))) | ||
707 | |(% colspan="1" %)(% colspan="1" %) | ||
708 | ((( | ||
709 | {{{ltiInternalPort}}} | ||
710 | )))|(% colspan="1" %)(% colspan="1" %) | ||
711 | ((( | ||
712 | 20000 | ||
713 | )))|(% colspan="1" %)(% colspan="1" %) | ||
714 | ((( | ||
715 | LTI tool providers internal port (the one listening on server side). Must be given. | ||
716 | ))) | ||
717 | |(% colspan="1" %)(% colspan="1" %) | ||
718 | ((( | ||
719 | {{{ltiExternalPort}}} | ||
720 | )))|(% colspan="1" %)(% colspan="1" %) | ||
721 | ((( | ||
722 | 8443 | ||
723 | )))|(% colspan="1" %)(% colspan="1" %) | ||
724 | ((( | ||
725 | LTI tool providers external port (the one which is SSL enabled and will be communicated by LTI TP to TC to use in GUI. Must be given, but may be the same as internal port if this is already SSL enabled. | ||
726 | ))) | ||
727 | |||
728 | For documentation of LTI specific parameters as product info tool name, see [[https:~~/~~/www.imsglobal.org/specs/ltiv2p0/implementation-guide>>url:https://www.imsglobal.org/specs/ltiv2p0/implementation-guide||shape="rect"]] | ||
729 | |||
730 | ==== Database connection ==== | ||
731 | |||
732 | The connection to database example: | ||
733 | |||
734 | {{code language="xml"}} | ||
735 | <property name="dbDriverClass" value="org.postgresql.Driver" /> | ||
736 | <property name="dbConnectionUrl" value="jdbc:postgresql://localhost:5432/dbname" /> | ||
737 | <property name="dbUserName" value="username" /> | ||
738 | <property name="dbPassword" value="userpassword" /> | ||
739 | <property name="dbDialect" value="org.hibernate.dialect.PostgreSQLDialect" /> | ||
740 | {{/code}} | ||
741 | |||
742 | === Reporter configuration === | ||
743 | |||
744 | * | ||
745 | ** === | ||
746 | |||
747 | {{code language="xml"}} | ||
748 | WEB-INF/classes/de/bps/onyx/context/webServiceContext.xml | ||
749 | {{/code}} | ||
750 | |||
751 | This file contains the configuration for the connection of the ONYX Player (include the ONYX Reporter). This ONYX Reporter is used for statistic issues. | ||
752 | |||
753 | Example: | ||
754 | |||
755 | {{code language="xml"}} | ||
756 | ... | ||
757 | <bean id="OnyxReporterTarget" class="de.bps.onyx.manager.reporter.service.OnyxReporterTarget"> | ||
758 | <constructor-arg name="target" value="https://onyx.bps-system.de/preview/reporterservices" /> | ||
759 | </bean> | ||
760 | |||
761 | <bean id="OnyxReporterProvider" class="de.bps.onyx.manager.reporter.service.OnyxReporterProvider"> | ||
762 | <constructor-arg name="id" value="previewid" /> | ||
763 | </bean> | ||
764 | ... | ||
765 | {{/code}} | ||
766 | |||
767 | In this example is the ONYX Player used at URL [[https:~~/~~/onyx.bps-system.de/preview/ .>>url:https://onyx.bps-system.de/preview/. ||rel="nofollow" shape="rect" class="external text"]] The serviceprovider name (used by ONYX Player) is: previewed | ||
768 | |||
769 | == MAXIMA for calculations == | ||
770 | |||
771 | Install MAXIMA, if you like to use calculations. MAXIMA is used for the interaction types [[calculation >>doc:ONYX.Erstellung von Testinhalten.Aufgabentypen.Berechnungsaufgabe.WebHome]]and [[formula comparison>>doc:ONYX.Erstellung von Testinhalten.Aufgabentypen.Formelvergleich.WebHome]] and also for [[(% class="confluence-link" %)variable >>doc:ONYX.Erstellung von Testinhalten.Aufgaben.Variablen verwenden.WebHome]](%%)support. | ||
772 | |||
773 | Installation on RHEL/Fedora/CentOS: | ||
774 | |||
775 | {{code language="powershell"}} | ||
776 | sudo yum install maxima | ||
777 | {{/code}} | ||
778 | |||
779 | Installation on Debian/Ubuntu/Mint: | ||
780 | |||
781 | {{code language="powershell"}} | ||
782 | sudo aptitude install maxima | ||
783 | {{/code}} | ||
784 | |||
785 | Or visit [[http:~~/~~/maxima.sourceforge.net/>>url:http://maxima.sourceforge.net/||shape="rect"]] and download the MAXIMA files | ||
786 | |||
787 | == Log files == | ||
788 | |||
789 | {{code}} | ||
790 | [root@bps0206 logs]# less /opt/apache-tomcat-X.X.X/logs/webeditor.log | ||
791 | [root@bps0206 logs]# less /opt/apache-tomcat-X.X.X/logs/catalina.out | ||
792 | {{/code}} |