Wiki-Quellcode von 04 Installation ONYX Editor

Version 434.2 von Carina Enke am 15.11.2025

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