1 | <?xml version="1.0" encoding="UTF-8"?> |
---|
2 | <!DOCTYPE appendix PUBLIC |
---|
3 | "-//Dawid Weiss//DTD DocBook V3.1-Based Extension for XML and graphics inclusion//EN" |
---|
4 | "../../../../lib/docbook/preprocess/dweiss-docbook-extensions.dtd"> |
---|
5 | <!-- |
---|
6 | $Id: base.config.xml 7982 2021-06-14 08:01:21Z nicklas $ |
---|
7 | |
---|
8 | Copyright (C) 2007 Peter Johansson, Nicklas Nordborg, Martin Svensson |
---|
9 | |
---|
10 | This file is part of BASE - BioArray Software Environment. |
---|
11 | Available at http://base.thep.lu.se/ |
---|
12 | |
---|
13 | BASE is free software; you can redistribute it and/or |
---|
14 | modify it under the terms of the GNU General Public License |
---|
15 | as published by the Free Software Foundation; either version 3 |
---|
16 | of the License, or (at your option) any later version. |
---|
17 | |
---|
18 | BASE is distributed in the hope that it will be useful, |
---|
19 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
---|
20 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
---|
21 | GNU General Public License for more details. |
---|
22 | |
---|
23 | You should have received a copy of the GNU General Public License |
---|
24 | along with BASE. If not, see <http://www.gnu.org/licenses/>. |
---|
25 | --> |
---|
26 | |
---|
27 | <appendix id="appendix.base.config"> |
---|
28 | <?dbhtml filename="base.config.html" ?> |
---|
29 | |
---|
30 | <title>base.config reference</title> |
---|
31 | |
---|
32 | <para> |
---|
33 | The <filename>base.config</filename> file is the main configuration file |
---|
34 | for BASE. It is located in the <filename><basedir>/www/WEB-INF/classes</filename> |
---|
35 | directory. Most configuration properties have sensible defaults or are only used |
---|
36 | for advanced features. However, a few are required and may need to be specified |
---|
37 | or changed: |
---|
38 | </para> |
---|
39 | |
---|
40 | <itemizedlist> |
---|
41 | <listitem> |
---|
42 | <property>db.dialect</property>, |
---|
43 | <property>db.url</property>, <property>db.username</property>, |
---|
44 | <property>db.password</property>: |
---|
45 | Settings for connecting to the database. |
---|
46 | </listitem> |
---|
47 | <listitem> |
---|
48 | <property>userfiles</property>: Setting that specify where uploaded files are stored |
---|
49 | on the BASE server. |
---|
50 | </listitem> |
---|
51 | <listitem> |
---|
52 | <property>plugins.dir</property>: Settings that specify where plug-ins and extensions |
---|
53 | are installed. |
---|
54 | </listitem> |
---|
55 | </itemizedlist> |
---|
56 | |
---|
57 | <simplesect id="appendix.base.config.dbdriver"> |
---|
58 | <title>Database driver section</title> |
---|
59 | |
---|
60 | <para> |
---|
61 | This section has parameters needed for the database connection, such |
---|
62 | as the database dialect, username and password. |
---|
63 | </para> |
---|
64 | |
---|
65 | <variablelist> |
---|
66 | <varlistentry> |
---|
67 | <term><property>db.dialect</property></term> |
---|
68 | <listitem> |
---|
69 | <para> |
---|
70 | The Hibernate dialect to use when generating SQL commands to the database. |
---|
71 | Use: |
---|
72 | <itemizedlist> |
---|
73 | <listitem> |
---|
74 | <userinput>org.hibernate.dialect.MySQL5InnoDBDialect</userinput> |
---|
75 | for MySQL |
---|
76 | </listitem> |
---|
77 | <listitem> |
---|
78 | <userinput>org.hibernate.dialect.PostgreSQL9Dialect</userinput> |
---|
79 | for PostgreSQL |
---|
80 | </listitem> |
---|
81 | </itemizedlist> |
---|
82 | Other dialects may work but are not supported. |
---|
83 | </para> |
---|
84 | </listitem> |
---|
85 | </varlistentry> |
---|
86 | |
---|
87 | <varlistentry> |
---|
88 | <term><property>db.url</property></term> |
---|
89 | <listitem> |
---|
90 | <para> |
---|
91 | The connection URL that locates the BASE database. The exact syntax |
---|
92 | of the string depends on the JDBC driver. Here are two examples which |
---|
93 | leaves all other settings to their defaults: |
---|
94 | <itemizedlist> |
---|
95 | <listitem> |
---|
96 | <userinput>jdbc:mysql://localhost/basedb</userinput> |
---|
97 | for MySQL |
---|
98 | </listitem> |
---|
99 | <listitem> |
---|
100 | <userinput>jdbc:postgresql:basedb</userinput> |
---|
101 | for PostgreSQL |
---|
102 | </listitem> |
---|
103 | </itemizedlist> |
---|
104 | |
---|
105 | You can get more information about the parameters that are supported on the |
---|
106 | connection URL by reading the documentation from |
---|
107 | <ulink url="http://dev.mysql.com/doc/refman/5.1/en/connector-j-reference-configuration-properties.html" |
---|
108 | >MySQL</ulink> and |
---|
109 | <ulink url="http://jdbc.postgresql.org/documentation/81/connect.html" |
---|
110 | >PostgreSQL</ulink>. |
---|
111 | |
---|
112 | |
---|
113 | <note> |
---|
114 | <para> |
---|
115 | For MySQL we recommend that you set the character encoding to UTF-8 |
---|
116 | and enable the server-side cursors feature. The latter option will |
---|
117 | reduce memory usage since the JDBC driver does not have to |
---|
118 | load all data into memory. The value below should go into one line |
---|
119 | <userinput> |
---|
120 | jdbc:mysql://localhost/basedb?characterEncoding=UTF-8&useCursorFetch=true&defaultFetchSize=100&useServerPrepStmts=true |
---|
121 | </userinput> |
---|
122 | </para> |
---|
123 | </note> |
---|
124 | |
---|
125 | </para> |
---|
126 | </listitem> |
---|
127 | </varlistentry> |
---|
128 | |
---|
129 | <varlistentry> |
---|
130 | <term><property>db.dynamic.catalog</property></term> |
---|
131 | <listitem> |
---|
132 | <para> |
---|
133 | The name of the catalog where the dynamic database used to store |
---|
134 | analysed data is located. If not specified the same catalog as the regular |
---|
135 | database is used. The exact meaning of catalog depends on the actual database. |
---|
136 | For MySQL the catalog is the name of the database so this value is simply the |
---|
137 | name of the dynamic database. PostgreSQL does not support connecting to multiple |
---|
138 | databases with the same connection so this should have the same value as the |
---|
139 | database in the <property>db.url</property> setting. |
---|
140 | </para> |
---|
141 | </listitem> |
---|
142 | </varlistentry> |
---|
143 | |
---|
144 | <varlistentry> |
---|
145 | <term><property>db.dynamic.schema</property></term> |
---|
146 | <listitem> |
---|
147 | <para> |
---|
148 | The name of the schema where the dynamic database used to store |
---|
149 | analysed data is located. MySQL does not have schemas so this value should |
---|
150 | be left empty. PostgreSQL supports schemas and we recommend that the dynamic |
---|
151 | part is created in it's own schema to avoid mixing the dynamic tables with |
---|
152 | the regular ones. |
---|
153 | </para> |
---|
154 | </listitem> |
---|
155 | </varlistentry> |
---|
156 | |
---|
157 | <varlistentry> |
---|
158 | <term><property>db.username</property></term> |
---|
159 | <listitem> |
---|
160 | <para> |
---|
161 | The username to connect to the database. The user should have full permission |
---|
162 | to both the regular and the dynamic database. |
---|
163 | </para> |
---|
164 | </listitem> |
---|
165 | </varlistentry> |
---|
166 | |
---|
167 | <varlistentry> |
---|
168 | <term><property>db.password</property></term> |
---|
169 | <listitem> |
---|
170 | <para> |
---|
171 | The password for the user. |
---|
172 | </para> |
---|
173 | </listitem> |
---|
174 | </varlistentry> |
---|
175 | |
---|
176 | <varlistentry> |
---|
177 | <term><property>db.batch-size</property></term> |
---|
178 | <listitem> |
---|
179 | <para> |
---|
180 | The batch size to use when inserting/updating items with the Batch API. |
---|
181 | A higher value requires more memory, a lower value degrades performance |
---|
182 | since the number of database connections increases. The default value is |
---|
183 | 50. |
---|
184 | </para> |
---|
185 | </listitem> |
---|
186 | </varlistentry> |
---|
187 | |
---|
188 | <varlistentry> |
---|
189 | <term><property>db.queries</property></term> |
---|
190 | <listitem> |
---|
191 | <para> |
---|
192 | The location of an XML file which contains database-specific |
---|
193 | queries overriding those that does not work from the |
---|
194 | <filename>/common-queries.xml</filename> file. Use: |
---|
195 | |
---|
196 | <itemizedlist> |
---|
197 | <listitem><userinput>/mysql-queries.xml</userinput> for MySQL</listitem> |
---|
198 | <listitem><userinput>/postgres-queries.xml</userinput> for PostgreSQL</listitem> |
---|
199 | </itemizedlist> |
---|
200 | See also <xref linkend="appendix.otherconfig.sql" />. |
---|
201 | </para> |
---|
202 | </listitem> |
---|
203 | </varlistentry> |
---|
204 | |
---|
205 | <varlistentry> |
---|
206 | <term><property>db.extended-properties</property></term> |
---|
207 | <listitem> |
---|
208 | <para> |
---|
209 | The location of an XML file describing the extended properties for extendable |
---|
210 | item types, ie. the reporters. The default value is <userinput>/extended-properties.xml</userinput>. |
---|
211 | See <xref linkend="appendix.extendedproperties" /> for more information |
---|
212 | about extended properties. |
---|
213 | </para> |
---|
214 | </listitem> |
---|
215 | </varlistentry> |
---|
216 | |
---|
217 | <varlistentry> |
---|
218 | <term><property>db.raw-data-types</property></term> |
---|
219 | <listitem> |
---|
220 | <para> |
---|
221 | The location of an XML file describing all raw data types and their properties. |
---|
222 | The default value is <userinput>/raw-data-types.xml</userinput>. |
---|
223 | See <xref linkend="appendix.rawdatatypes" /> for more information |
---|
224 | about raw data types. |
---|
225 | </para> |
---|
226 | </listitem> |
---|
227 | </varlistentry> |
---|
228 | |
---|
229 | <varlistentry> |
---|
230 | <term><property>db.cleanup.interval</property></term> |
---|
231 | <listitem> |
---|
232 | <para> |
---|
233 | Interval in hours between database cleanups. Set this to |
---|
234 | 0 to disable (recommened for job agents). The default value |
---|
235 | is 24. The cleanup will remove entries in the database that |
---|
236 | have been orphaned due to other information that has been removed. |
---|
237 | For example, change history entries, any-to-any links and |
---|
238 | permission keys. |
---|
239 | </para> |
---|
240 | </listitem> |
---|
241 | </varlistentry> |
---|
242 | </variablelist> |
---|
243 | |
---|
244 | </simplesect> |
---|
245 | |
---|
246 | <simplesect id="appendix.base.config.authentication"> |
---|
247 | <title>Authentication section</title> |
---|
248 | <para> |
---|
249 | This section describes parameters that are needed if you are |
---|
250 | going to use external authentication. If you let BASE handle this |
---|
251 | you will not have to bother about these settings. See |
---|
252 | <xref linkend="extensions_developer.login-manager"/> for more information about |
---|
253 | external authentication. |
---|
254 | </para> |
---|
255 | |
---|
256 | <variablelist> |
---|
257 | <varlistentry> |
---|
258 | <term><property>auth.synchronize</property></term> |
---|
259 | <listitem> |
---|
260 | <para> |
---|
261 | If this setting is 1 or TRUE, BASE will synchronize the extra |
---|
262 | information (name, address, email, etc.) sent by the authentication manager |
---|
263 | when a user logs in to BASE. This setting is ignored if the manager does not |
---|
264 | provide extra information. |
---|
265 | </para> |
---|
266 | </listitem> |
---|
267 | </varlistentry> |
---|
268 | |
---|
269 | <varlistentry> |
---|
270 | <term><property>auth.cachepasswords</property></term> |
---|
271 | <listitem> |
---|
272 | <para> |
---|
273 | If passwords should be cached by BASE or not. If the passwords are |
---|
274 | cached a user may login to BASE even if the external authentication |
---|
275 | server is down. The cached passwords are only used if the external |
---|
276 | authentication does not answer properly. |
---|
277 | </para> |
---|
278 | </listitem> |
---|
279 | </varlistentry> |
---|
280 | |
---|
281 | <varlistentry> |
---|
282 | <term><property>auth.daystocache</property></term> |
---|
283 | <listitem> |
---|
284 | <para> |
---|
285 | How many days a cached password is valid if caching is enabled. A value of |
---|
286 | 0 caches the passwords forever. |
---|
287 | </para> |
---|
288 | </listitem> |
---|
289 | </varlistentry> |
---|
290 | </variablelist> |
---|
291 | </simplesect> |
---|
292 | |
---|
293 | <simplesect id="appendix.base.config.jobqueue"> |
---|
294 | <title>Internal job queue section</title> |
---|
295 | |
---|
296 | <para> |
---|
297 | This section contains setting that control the internal job queue. |
---|
298 | The internal job queue is a simple queue that executes jobs more or |
---|
299 | less in the order they were added to the queue. To make sure long-running |
---|
300 | jobs do not block the queue, there are four slots that uses the |
---|
301 | expected execution time to decide if a job should be allowed to execute |
---|
302 | or not. |
---|
303 | </para> |
---|
304 | |
---|
305 | <variablelist> |
---|
306 | <varlistentry> |
---|
307 | <term><property>jobqueue.internal.enabled</property></term> |
---|
308 | <listitem> |
---|
309 | <para> |
---|
310 | If <userinput>0</userinput> or <userinput>FALSE</userinput> the internal |
---|
311 | job queue will be disabled. |
---|
312 | </para> |
---|
313 | </listitem> |
---|
314 | </varlistentry> |
---|
315 | |
---|
316 | <varlistentry> |
---|
317 | <term><property>jobqueue.internal.runallplugins</property></term> |
---|
318 | <listitem> |
---|
319 | <para> |
---|
320 | If <userinput>1</userinput> or <userinput>TRUE</userinput> the internal |
---|
321 | job queue will ignore the <property>useInternalJobQueue</property> |
---|
322 | flag specified on plug-ins. If <userinput>0</userinput> or <userinput>FALSE</userinput> |
---|
323 | the internal job queue will only execute plug-ins which has |
---|
324 | <property>useInternalJobQueue=true</property> |
---|
325 | </para> |
---|
326 | </listitem> |
---|
327 | </varlistentry> |
---|
328 | |
---|
329 | <varlistentry> |
---|
330 | <term><property>jobqueue.internal.signalreceiver.class</property></term> |
---|
331 | <listitem> |
---|
332 | <para> |
---|
333 | A class implementing the <interfacename docapi="net.sf.basedb.core.signal" |
---|
334 | >SignalReceiver</interfacename> |
---|
335 | interface. The class must have a public no-argument constructor. If |
---|
336 | no value is specified the default setting is: |
---|
337 | <classname docapi="net.sf.basedb.core.signal" |
---|
338 | >net.sf.basedb.core.signal.LocalSignalReceiver</classname>. |
---|
339 | </para> |
---|
340 | <para> |
---|
341 | Change to <classname docapi="net.sf.basedb.core.signal" |
---|
342 | >net.sf.basedb.core.signal.SocketSignalReceiver</classname> |
---|
343 | if the internal job queue must be able to receive signals from outside |
---|
344 | this JVM. |
---|
345 | </para> |
---|
346 | </listitem> |
---|
347 | </varlistentry> |
---|
348 | |
---|
349 | <varlistentry> |
---|
350 | <term><property>jobqueue.internal.signalreceiver.init</property></term> |
---|
351 | <listitem> |
---|
352 | <para> |
---|
353 | Initialisation string sent to <methodname>SignalReceiver.init()</methodname>. |
---|
354 | The syntax and meaning of the string depends on the actual implementation |
---|
355 | that is used. Please see the Javadoc for more information. |
---|
356 | </para> |
---|
357 | </listitem> |
---|
358 | </varlistentry> |
---|
359 | |
---|
360 | <varlistentry> |
---|
361 | <term><property>jobqueue.internal.checkinterval</property></term> |
---|
362 | <listitem> |
---|
363 | <para> |
---|
364 | The number of seconds between checks to the database for jobs |
---|
365 | that are waiting for execution. |
---|
366 | </para> |
---|
367 | </listitem> |
---|
368 | </varlistentry> |
---|
369 | |
---|
370 | <varlistentry> |
---|
371 | <term><property>jobqueue.internal.shortest.threads</property></term> |
---|
372 | <term><property>jobqueue.internal.short.threads</property></term> |
---|
373 | <term><property>jobqueue.internal.medium.threads</property></term> |
---|
374 | <term><property>jobqueue.internal.long.threads</property></term> |
---|
375 | <listitem> |
---|
376 | <para> |
---|
377 | Maximum number of threads to reserve for jobs with a given expected |
---|
378 | execution time. A job with a short execution time may use a thread |
---|
379 | from one of the slots with longer execution time. When all threads |
---|
380 | are in use, new jobs will have to wait until an executing job |
---|
381 | has finished. |
---|
382 | </para> |
---|
383 | </listitem> |
---|
384 | </varlistentry> |
---|
385 | |
---|
386 | <varlistentry> |
---|
387 | <term><property>jobqueue.internal.shortest.threadpriority</property></term> |
---|
388 | <term><property>jobqueue.internal.short.threadpriority</property></term> |
---|
389 | <term><property>jobqueue.internal.medium.threadpriority</property></term> |
---|
390 | <term><property>jobqueue.internal.long.threadpriority</property></term> |
---|
391 | <listitem> |
---|
392 | <para> |
---|
393 | The priority to give to jobs. The priority is a value between 1 and 10. |
---|
394 | See <ulink url="http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html" |
---|
395 | >http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html</ulink> |
---|
396 | for more information about thread priorities. |
---|
397 | </para> |
---|
398 | </listitem> |
---|
399 | </varlistentry> |
---|
400 | </variablelist> |
---|
401 | |
---|
402 | </simplesect> |
---|
403 | |
---|
404 | <simplesect id="appendix.base.config.jobagent"> |
---|
405 | <title>Job agent section</title> |
---|
406 | |
---|
407 | <para> |
---|
408 | This section contains settings that BASE uses when communicating |
---|
409 | with external job agents. See <xref linkend="installation.jobagents"/> |
---|
410 | for more information about job agents. |
---|
411 | </para> |
---|
412 | |
---|
413 | <variablelist> |
---|
414 | <varlistentry> |
---|
415 | <term><property>agent.maxage</property></term> |
---|
416 | <listitem> |
---|
417 | <para> |
---|
418 | Number of seconds to keep job agent information in the internal cache. |
---|
419 | The information includes, CPU and memory usage and the status of executing |
---|
420 | jobs. This setting controls how long the information is kept in the cache |
---|
421 | before a new request is made to the job agent. The default value is 60 seconds. |
---|
422 | </para> |
---|
423 | </listitem> |
---|
424 | </varlistentry> |
---|
425 | |
---|
426 | <varlistentry> |
---|
427 | <term><property>agent.connection.timeout</property></term> |
---|
428 | <listitem> |
---|
429 | <para> |
---|
430 | The timeout in milliseconds to wait for a response from a job agent |
---|
431 | when sending a request to it. The default timeout is 1000 milliseconds. |
---|
432 | This should be more than enough if the job agent is on the internal |
---|
433 | network, but may have to be increased if it is located somewhere else. |
---|
434 | </para> |
---|
435 | </listitem> |
---|
436 | </varlistentry> |
---|
437 | |
---|
438 | </variablelist> |
---|
439 | |
---|
440 | </simplesect> |
---|
441 | |
---|
442 | |
---|
443 | <simplesect id="appendix.base.config.log"> |
---|
444 | <title>Change history logging section</title> |
---|
445 | |
---|
446 | <para> |
---|
447 | This section contains settings for logging the change history |
---|
448 | of items. Logging is disabled by default, but BASE ships |
---|
449 | with one implementation that log changes to the database. |
---|
450 | To enable it, log in to the web client with administrator |
---|
451 | privileges and enable the <guilabel>Database log manager</guilabel> |
---|
452 | extension. See <xref linkend="extensions_developer.logging" /> for more |
---|
453 | information about implementing custom logging. |
---|
454 | </para> |
---|
455 | |
---|
456 | <variablelist> |
---|
457 | <varlistentry> |
---|
458 | <term><property>changelog.show-in-web</property></term> |
---|
459 | <listitem> |
---|
460 | <para> |
---|
461 | A boolean value that specifies if the <guilabel>Change history</guilabel> |
---|
462 | tab should be visible in the web interface or not. The change history |
---|
463 | tab will show log information that has been stored in the database |
---|
464 | and it doesn't make sense to show this tab unless the |
---|
465 | <guilabel>Database log manager</guilabel> has been enabled. |
---|
466 | </para> |
---|
467 | |
---|
468 | <note> |
---|
469 | <para> |
---|
470 | By default, only users that are members of the |
---|
471 | <guilabel>Administrator</guilabel> role have permission to |
---|
472 | view the change history. To give other users the same permission, |
---|
473 | add the <guilabel>Change history</guilabel> permission to |
---|
474 | the appropriate role(s). |
---|
475 | </para> |
---|
476 | </note> |
---|
477 | </listitem> |
---|
478 | </varlistentry> |
---|
479 | <varlistentry> |
---|
480 | <term><property>changelog.dblogger.detailed-properties</property></term> |
---|
481 | <listitem> |
---|
482 | <para> |
---|
483 | A boolean value that specifies the amount of information |
---|
484 | that should be logged by the database log manager. If set, the log |
---|
485 | will contain information about which properties that was modified on each item, |
---|
486 | otherwise only the type of change (create, update, delete) is logged. |
---|
487 | </para> |
---|
488 | </listitem> |
---|
489 | </varlistentry> |
---|
490 | </variablelist> |
---|
491 | |
---|
492 | </simplesect> |
---|
493 | |
---|
494 | <simplesect id="appendix.base.config.smtp"> |
---|
495 | <title>SMTP server section</title> |
---|
496 | |
---|
497 | <para> |
---|
498 | This section contains settings for the SMTP server used for |
---|
499 | outgoing mail. This is optional, and if not configured outgoing |
---|
500 | mail (including 2-factor login) will be disabled. |
---|
501 | </para> |
---|
502 | |
---|
503 | <variablelist> |
---|
504 | <varlistentry> |
---|
505 | <term><property>mail.server.host</property></term> |
---|
506 | <listitem> |
---|
507 | <para> |
---|
508 | The host name of the SMTP server to use for outgoing mail. |
---|
509 | If not configured mailing functions will be disabled. |
---|
510 | </para> |
---|
511 | </listitem> |
---|
512 | </varlistentry> |
---|
513 | <varlistentry> |
---|
514 | <term><property>mail.server.port</property></term> |
---|
515 | <listitem> |
---|
516 | <para> |
---|
517 | The port the SMTP server is listening on. If not configured a |
---|
518 | default port is used. Eg. 25 for regular mail server, 465 for |
---|
519 | SSL mail server. |
---|
520 | </para> |
---|
521 | </listitem> |
---|
522 | </varlistentry> |
---|
523 | <varlistentry> |
---|
524 | <term><property>mail.server.ssl</property></term> |
---|
525 | <listitem> |
---|
526 | <para> |
---|
527 | A boolean value that specifies if the SMTP server is using |
---|
528 | SSL or not. |
---|
529 | </para> |
---|
530 | </listitem> |
---|
531 | </varlistentry> |
---|
532 | <varlistentry> |
---|
533 | <term><property>mail.server.tls</property></term> |
---|
534 | <listitem> |
---|
535 | <para> |
---|
536 | A boolean value that specifies if the SMTP server is using |
---|
537 | TLS or not. |
---|
538 | </para> |
---|
539 | </listitem> |
---|
540 | </varlistentry> |
---|
541 | <varlistentry> |
---|
542 | <term><property>mail.from.email</property></term> |
---|
543 | <listitem> |
---|
544 | <para> |
---|
545 | The email address that will be used as the sender of outgoing |
---|
546 | emails. If not configured mailing functions will be disabled. |
---|
547 | </para> |
---|
548 | </listitem> |
---|
549 | </varlistentry> |
---|
550 | <varlistentry> |
---|
551 | <term><property>mail.from.name</property></term> |
---|
552 | <listitem> |
---|
553 | <para> |
---|
554 | Thename that will be used as the sender of outgoing |
---|
555 | emails. If not configured, a default name is automatically |
---|
556 | generated using the host name of the BASE server. |
---|
557 | </para> |
---|
558 | </listitem> |
---|
559 | </varlistentry> |
---|
560 | </variablelist> |
---|
561 | |
---|
562 | </simplesect> |
---|
563 | |
---|
564 | <simplesect id="appendix.base.config.plugin"> |
---|
565 | <title>Plug-ins and extensions</title> |
---|
566 | <variablelist> |
---|
567 | <varlistentry> |
---|
568 | <term><property>plugins.dir</property></term> |
---|
569 | <listitem> |
---|
570 | <para> |
---|
571 | The path to the directory where jar-files for external plug-ins and extensions |
---|
572 | are located. All new plug-ins and extensions found in this directory, can be selected |
---|
573 | for installation, see <xref linkend="plugins.installation" />. |
---|
574 | </para> |
---|
575 | </listitem> |
---|
576 | </varlistentry> |
---|
577 | |
---|
578 | <varlistentry> |
---|
579 | <term><property>plugins.autounload</property></term> |
---|
580 | <listitem> |
---|
581 | <para> |
---|
582 | Enable this setting to let BASE detect if a plug-in JAR file is changed |
---|
583 | and automatically load and use the new code instead of the old code. |
---|
584 | This setting is useful for plug-in developers since they don't have to |
---|
585 | restart the web server each time the plug-in is recompiled. |
---|
586 | <itemizedlist> |
---|
587 | <listitem> |
---|
588 | <simpara> |
---|
589 | <userinput>true,yes,1</userinput> |
---|
590 | to enable |
---|
591 | </simpara> |
---|
592 | </listitem> |
---|
593 | <listitem> |
---|
594 | <simpara> |
---|
595 | <userinput>false,no,0</userinput> |
---|
596 | to disable (default if no value is specified) |
---|
597 | </simpara> |
---|
598 | </listitem> |
---|
599 | </itemizedlist> |
---|
600 | Note that extensions doesn't support this feature. Use the installation |
---|
601 | wizard to update an extension. |
---|
602 | </para> |
---|
603 | </listitem> |
---|
604 | </varlistentry> |
---|
605 | |
---|
606 | <varlistentry> |
---|
607 | <term><property>extensions.disabled</property></term> |
---|
608 | <listitem> |
---|
609 | <para> |
---|
610 | A boolean flag that, if set, disables all external extensions. |
---|
611 | Plug-ins or core extensions will never be disabled. |
---|
612 | </para> |
---|
613 | </listitem> |
---|
614 | </varlistentry> |
---|
615 | |
---|
616 | </variablelist> |
---|
617 | </simplesect> |
---|
618 | |
---|
619 | <simplesect id="appendix.base.config.other"> |
---|
620 | <title>Other settings</title> |
---|
621 | |
---|
622 | <variablelist> |
---|
623 | <varlistentry> |
---|
624 | <term><property>app.title</property></term> |
---|
625 | <listitem> |
---|
626 | <para> |
---|
627 | The title that is displayed in the browser tab. Use <code>$VERSION</code> |
---|
628 | to include the current BASE version and <code>$SERVER</code> to include the |
---|
629 | server name. |
---|
630 | </para> |
---|
631 | </listitem> |
---|
632 | </varlistentry> |
---|
633 | |
---|
634 | <varlistentry> |
---|
635 | <term><property>userfiles</property></term> |
---|
636 | <listitem> |
---|
637 | <para> |
---|
638 | The path to the directory where uploaded and generated files should |
---|
639 | be stored. This is the primary file storage. Files are not |
---|
640 | stored in the same directory structure or with the same names as in |
---|
641 | the BASE file system. The internal structure may contain sub-directories. |
---|
642 | </para> |
---|
643 | </listitem> |
---|
644 | </varlistentry> |
---|
645 | |
---|
646 | <varlistentry> |
---|
647 | <term><property>permission.timeout</property></term> |
---|
648 | <listitem> |
---|
649 | <para> |
---|
650 | Number of minutes to cache a logged in user's permissions before |
---|
651 | reloading them. The default value is 10. This setting affect how |
---|
652 | quickly a changed permission propagate to a logged in user. Permissions |
---|
653 | are always reloaded when a user logs in. |
---|
654 | </para> |
---|
655 | </listitem> |
---|
656 | </varlistentry> |
---|
657 | |
---|
658 | <varlistentry> |
---|
659 | <term><property>cache.timeout</property></term> |
---|
660 | <listitem> |
---|
661 | <para> |
---|
662 | Number of minutes to keep user sessions in the internal cache |
---|
663 | before the user is automatically logged out. The timeout is counted |
---|
664 | from the last access made from the user. |
---|
665 | </para> |
---|
666 | </listitem> |
---|
667 | </varlistentry> |
---|
668 | |
---|
669 | <varlistentry> |
---|
670 | <term><property>cache.static.disabled</property></term> |
---|
671 | <listitem> |
---|
672 | <para> |
---|
673 | If the static cache should be enabled or disabled. It is enabled by |
---|
674 | default. Disabling the static cache may reduce performance in some |
---|
675 | cases. The static cache is used to cache processed information, |
---|
676 | for example images, so that the database doesn't have to be queried |
---|
677 | on every request. |
---|
678 | </para> |
---|
679 | </listitem> |
---|
680 | </varlistentry> |
---|
681 | |
---|
682 | <varlistentry> |
---|
683 | <term><property>cache.static.max-age</property></term> |
---|
684 | <listitem> |
---|
685 | <para> |
---|
686 | The maximum age in days of files in the static cache. Files that |
---|
687 | hasn't been accessed (read or written) in the specified amount |
---|
688 | of time are deleted. |
---|
689 | </para> |
---|
690 | </listitem> |
---|
691 | </varlistentry> |
---|
692 | |
---|
693 | <varlistentry> |
---|
694 | <term><property>helptext.update</property></term> |
---|
695 | <listitem> |
---|
696 | <para> |
---|
697 | Defines if already existing helptexts in BASE should be overwritten when |
---|
698 | updating the program, |
---|
699 | <xref linkend="installation.upgrade" /> |
---|
700 | <itemizedlist> |
---|
701 | <listitem> |
---|
702 | <simpara> |
---|
703 | <userinput>true</userinput> |
---|
704 | will overwrite existing helptexts. |
---|
705 | </simpara> |
---|
706 | </listitem> |
---|
707 | <listitem> |
---|
708 | <simpara> |
---|
709 | <userinput>false</userinput> |
---|
710 | will leave the existing helptexts in database unchanged and only |
---|
711 | insert new helptexts. |
---|
712 | </simpara> |
---|
713 | </listitem> |
---|
714 | </itemizedlist> |
---|
715 | </para> |
---|
716 | </listitem> |
---|
717 | </varlistentry> |
---|
718 | |
---|
719 | <varlistentry> |
---|
720 | <term><property>locale.language</property></term> |
---|
721 | <term><property>locale.country</property></term> |
---|
722 | <term><property>locale.variant</property></term> |
---|
723 | <listitem> |
---|
724 | <para> |
---|
725 | Configure the server to a specific locale. The language and |
---|
726 | country should be valid ISO codes as specified by the |
---|
727 | <ulink url="http://download.oracle.com/javase/6/docs/api/java/util/Locale.html" |
---|
728 | >java.util.Locale</ulink> documentation. The variant |
---|
729 | can be any value that is valid as part of a filename. |
---|
730 | </para> |
---|
731 | |
---|
732 | <note> |
---|
733 | <para> |
---|
734 | Note that language codes are usually lower-case but country codes are |
---|
735 | upper case. Eg. <code>sv</code> is the language code for swedish, and |
---|
736 | <code>SE</code> is the country code. |
---|
737 | </para> |
---|
738 | </note> |
---|
739 | |
---|
740 | <para> |
---|
741 | This configuration can be used to provide translations to some parts of the web gui. |
---|
742 | The aim is to externalize all hard-coded gui elements from the code but |
---|
743 | it's a long way before this is a reality. The default text elements of |
---|
744 | the gui are shipped within the BASE jar files and doesn't have any |
---|
745 | locale-specific dependency. This means that unless a more specific |
---|
746 | translation is provided the default texts are always used as a fallback. |
---|
747 | Most of the default texts are found in property files in the |
---|
748 | <filename>/net/sf/basedb/clients/web/resources</filename> |
---|
749 | directory inside the <filename>base-webclient-3.x.jar</filename> |
---|
750 | file. Translations should be located in the same relative path |
---|
751 | either inside their own JAR file or in the <filename>WEB-INF/classes</filename> |
---|
752 | directory. The file names should be extended with the language, country |
---|
753 | and variant separated with an underscore. For example, files with a swedish |
---|
754 | translation should be named <filename>*_sv.properties</filename>, and files |
---|
755 | with a swedish translation in Finland using the 'foo' variant should be |
---|
756 | named <filename>*_sv_FI_foo.properties</filename>. |
---|
757 | </para> |
---|
758 | |
---|
759 | <note> |
---|
760 | <para> |
---|
761 | Note that it is valid to have empty values for language and/or country |
---|
762 | and still specify a variant. Underscores are NOT collapsed. For |
---|
763 | example, in a swedish translation using the 'foo' variant the |
---|
764 | files should be named <filename>*_sv__foo.properties</filename>. |
---|
765 | </para> |
---|
766 | </note> |
---|
767 | |
---|
768 | <important> |
---|
769 | <para> |
---|
770 | All files should be saved in UTF-8 format. |
---|
771 | </para> |
---|
772 | </important> |
---|
773 | |
---|
774 | </listitem> |
---|
775 | </varlistentry> |
---|
776 | |
---|
777 | </variablelist> |
---|
778 | </simplesect> |
---|
779 | |
---|
780 | <simplesect id="appendix.base.config.ssl"> |
---|
781 | <title>SSL section</title> |
---|
782 | |
---|
783 | <para> |
---|
784 | This section is for global configuration of SSL (HTTPS) connection |
---|
785 | settings used when BASE need to access external file items. Note that |
---|
786 | users can re-configure SSL connections per-file |
---|
787 | basis by setting up File-server items, so there is usually no need |
---|
788 | to change anything in this section. If the majority of users on the |
---|
789 | BASE server is using a particular https file server for external files it |
---|
790 | may make sense to register the certificates globally. |
---|
791 | </para> |
---|
792 | |
---|
793 | <para> |
---|
794 | When a https connection is made the server must present a valid |
---|
795 | certificate or the client (BASE) will refuse to connect to it. |
---|
796 | Typically, all certificates that have been signed by a recognised |
---|
797 | Certification Authority are considered valid. The major reason for |
---|
798 | configuring this section is to provide support for servers that |
---|
799 | use a self-signed certificate. |
---|
800 | Server-side certificate are stored in a <emphasis>trust-store</emphasis>. |
---|
801 | A default trust-store is shipped with the Java runtime installation |
---|
802 | and is found in <filename><java-home>/jre/lib/security/cacerts</filename>. |
---|
803 | This file contains the certificates of all recognised certification authorities. |
---|
804 | </para> |
---|
805 | |
---|
806 | <para> |
---|
807 | A https server may also require that the client has a valid certificate |
---|
808 | in order to accept connections from it. Typically, the owner of the |
---|
809 | server issues a certificate that the client must install in order |
---|
810 | to access the server. This type of certificate is stored in a |
---|
811 | <emphasis>key-store</emphasis>. By default, no key-store is setup. |
---|
812 | </para> |
---|
813 | |
---|
814 | <para> |
---|
815 | If all you need is to support servers with self-signed certificates we |
---|
816 | recommend that those certificates are imported to the above mentioned file. |
---|
817 | No configuration changes are needed. If a key-store is needed, you must also |
---|
818 | configure the trust-store. Read the <ulink |
---|
819 | url="http://java.sun.com/javase/6/docs/technotes/guides/security/jsse/JSSERefGuide.html" |
---|
820 | >Java Secure Socket Extension Reference Guide</ulink> for more information about Java |
---|
821 | security and SSL. Java ships with a certificate management tool that can be used |
---|
822 | to manage certificate files and a lot of other things. The |
---|
823 | <ulink url="http://java.sun.com/javase/6/docs/technotes/tools/windows/keytool.html" |
---|
824 | >keytool - Key and Certificate Management Tool</ulink> document contains more information |
---|
825 | about this tool. |
---|
826 | </para> |
---|
827 | |
---|
828 | <para> |
---|
829 | If you want to setup your own test environment with a https server that only |
---|
830 | accepts clients with a trusted certificate you can find some information about |
---|
831 | this on our wiki: <ulink url="https://base.thep.lu.se/wiki/HttpsFiles" |
---|
832 | >https://base.thep.lu.se/wiki/HttpsFiles</ulink> |
---|
833 | </para> |
---|
834 | |
---|
835 | <variablelist> |
---|
836 | <varlistentry> |
---|
837 | <term><property>ssl.context.protocol</property></term> |
---|
838 | <listitem> |
---|
839 | <para> |
---|
840 | The SSL protocol to use. The default value is TLS. |
---|
841 | </para> |
---|
842 | </listitem> |
---|
843 | </varlistentry> |
---|
844 | <varlistentry> |
---|
845 | <term><property>ssl.context.provider</property></term> |
---|
846 | <listitem> |
---|
847 | <para> |
---|
848 | A security provider implementation. If not specified a suitable default is |
---|
849 | selected. |
---|
850 | </para> |
---|
851 | </listitem> |
---|
852 | </varlistentry> |
---|
853 | <varlistentry> |
---|
854 | <term><property>ssl.keystore.file</property></term> |
---|
855 | <listitem> |
---|
856 | <para> |
---|
857 | The full path to a key-store file. If not specified no key-store is used. |
---|
858 | </para> |
---|
859 | </listitem> |
---|
860 | </varlistentry> |
---|
861 | <varlistentry> |
---|
862 | <term><property>ssl.keystore.password</property></term> |
---|
863 | <listitem> |
---|
864 | <para> |
---|
865 | The password for unlocking the keys in the key-store. All keys must use |
---|
866 | the same password. |
---|
867 | </para> |
---|
868 | </listitem> |
---|
869 | </varlistentry> |
---|
870 | <varlistentry> |
---|
871 | <term><property>ssl.keystore.type</property></term> |
---|
872 | <listitem> |
---|
873 | <para> |
---|
874 | The file type of the key-store file. The default value is 'JKS'. |
---|
875 | </para> |
---|
876 | </listitem> |
---|
877 | </varlistentry> |
---|
878 | <varlistentry> |
---|
879 | <term><property>ssl.keystore.provider</property></term> |
---|
880 | <listitem> |
---|
881 | <para> |
---|
882 | The name of a provider implementation to use for reading the key-store file. |
---|
883 | If not specified a suitable default is used. |
---|
884 | </para> |
---|
885 | </listitem> |
---|
886 | </varlistentry> |
---|
887 | <varlistentry> |
---|
888 | <term><property>ssl.keystore.algorithm</property></term> |
---|
889 | <listitem> |
---|
890 | <para> |
---|
891 | The algorithm used in the key-store file. The default value is |
---|
892 | 'SunX509'. |
---|
893 | </para> |
---|
894 | </listitem> |
---|
895 | </varlistentry> |
---|
896 | <varlistentry> |
---|
897 | <term><property>ssl.truststore.file</property></term> |
---|
898 | <listitem> |
---|
899 | <para> |
---|
900 | The full path to a trust-store certificate file. If not specified |
---|
901 | the default depends on the key-store setting. If no key-store is |
---|
902 | configured, the default trust-store is used. If a key-store has |
---|
903 | been configured no trust-store is used. |
---|
904 | </para> |
---|
905 | </listitem> |
---|
906 | </varlistentry> |
---|
907 | <varlistentry> |
---|
908 | <term><property>ssl.truststore.password</property></term> |
---|
909 | <listitem> |
---|
910 | <para> |
---|
911 | The password for unlocking the certificates in the trust-store. All certificates |
---|
912 | must use the same password. |
---|
913 | </para> |
---|
914 | </listitem> |
---|
915 | </varlistentry> |
---|
916 | <varlistentry> |
---|
917 | <term><property>ssl.truststore.type</property></term> |
---|
918 | <listitem> |
---|
919 | <para> |
---|
920 | The file type of the trust-store file. The default value is 'JKS'. |
---|
921 | </para> |
---|
922 | </listitem> |
---|
923 | </varlistentry> |
---|
924 | <varlistentry> |
---|
925 | <term><property>ssl.truststore.provider</property></term> |
---|
926 | <listitem> |
---|
927 | <para> |
---|
928 | The name of a provider implementation to use for reading the trust-store file. |
---|
929 | If not specified a suitable default is used. |
---|
930 | </para> |
---|
931 | </listitem> |
---|
932 | </varlistentry> |
---|
933 | <varlistentry> |
---|
934 | <term><property>ssl.truststore.algorithm</property></term> |
---|
935 | <listitem> |
---|
936 | <para> |
---|
937 | The algorithm used in the trust-store file. The default value is |
---|
938 | 'PKIX'. |
---|
939 | </para> |
---|
940 | </listitem> |
---|
941 | </varlistentry> |
---|
942 | </variablelist> |
---|
943 | |
---|
944 | </simplesect> |
---|
945 | |
---|
946 | <simplesect id="appendix.base.config.migrate"> |
---|
947 | <title>Migration section</title> |
---|
948 | |
---|
949 | <para> |
---|
950 | The settings in this section only affect the migration program that can |
---|
951 | be used to move a BASE installation from a MySQL database to PostgreSQL. |
---|
952 | For more information about this see <xref linkend="installation.migrate" />. |
---|
953 | </para> |
---|
954 | |
---|
955 | <variablelist> |
---|
956 | <varlistentry> |
---|
957 | <term><property>migrate.export.compress</property></term> |
---|
958 | <listitem> |
---|
959 | <para> |
---|
960 | Enable this option |
---|
961 | to compress the data files generated by the export. This may |
---|
962 | improve performance in case disk speed is a limiting factor. |
---|
963 | Default is to not compress. |
---|
964 | </para> |
---|
965 | </listitem> |
---|
966 | </varlistentry> |
---|
967 | <varlistentry> |
---|
968 | <term><property>migrate.export.fetch-size</property></term> |
---|
969 | <listitem> |
---|
970 | <para> |
---|
971 | The number |
---|
972 | of rows that should be fetch at the same time from the database. |
---|
973 | A higher value may increase the performance but uses more |
---|
974 | memory. The default value is 20000. |
---|
975 | </para> |
---|
976 | </listitem> |
---|
977 | </varlistentry> |
---|
978 | <varlistentry> |
---|
979 | <term><property>migrate.import.analyze</property></term> |
---|
980 | <listitem> |
---|
981 | <para> |
---|
982 | Enable this flag to issue an SQL statment for statistical |
---|
983 | analysis of the imported data before continuing with the next |
---|
984 | table. Disabling this may result in very poor performance. This |
---|
985 | option is enabled by default. |
---|
986 | </para> |
---|
987 | </listitem> |
---|
988 | </varlistentry> |
---|
989 | |
---|
990 | <varlistentry> |
---|
991 | <term><property>migrate.import.drop-primary-key</property></term> |
---|
992 | <listitem> |
---|
993 | <para> |
---|
994 | Enable this flag to drop the primary key of a table before |
---|
995 | importing data to it. This may increase the performance. The |
---|
996 | primary key is re-created after the data has been imported. |
---|
997 | This option is enabled by default. |
---|
998 | </para> |
---|
999 | </listitem> |
---|
1000 | </varlistentry> |
---|
1001 | |
---|
1002 | <varlistentry> |
---|
1003 | <term><property>migrate.import.drop-constraints</property></term> |
---|
1004 | <listitem> |
---|
1005 | <para> |
---|
1006 | Enable this flag to drop unique constraints and indexes before |
---|
1007 | importing data to a table. This may increase the performance. |
---|
1008 | The constraints and indexes are re-created after the data has been |
---|
1009 | imported. NOTE! Foreign key constraints are not affected by this flag, |
---|
1010 | since they must always be dropped. This option is enabled by |
---|
1011 | default. |
---|
1012 | </para> |
---|
1013 | </listitem> |
---|
1014 | </varlistentry> |
---|
1015 | </variablelist> |
---|
1016 | |
---|
1017 | </simplesect> |
---|
1018 | |
---|
1019 | </appendix> |
---|
1020 | |
---|