Wiki-Quellcode von 04 Installation ONYX Editor

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