Wiki-Quellcode von 04 Installation ONYX Editor

Zuletzt geändert von Carina Enke am 13.02.2024

Zeige letzte Bearbeiter
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&amp;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/.&nbsp||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}}