Wiki-Quellcode von 03 Installation ONYX Editor

Version 431.1 von Carina Enke am 13.02.2024

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