source: trunk/doc/src/docbook/admindoc/installation_upgrade.xml @ 5737

Last change on this file since 5737 was 5737, checked in by Nicklas Nordborg, 12 years ago

References #1590: Documentation cleanup

Updated Admin documentation:

  • Installation and updgrade instructions
  • Plug-ins and extensions

A lot of information has been moved around/merged with other parts. Screen shots are the old ones, which can be a bit confusing since the differences are big.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 51.1 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE chapter 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: installation_upgrade.xml 5737 2011-09-14 12:36:05Z nicklas $
7
8  Copyright (C) 2007 Jari Häkkinen, Peter Johansson, Nicklas Nordborg, Martin Svensson
9  Copyright (C) 2008 Jari Häkkinen, Nicklas Nordborg, Martin Svensson
10  Copyright (C) 2009 Jari Häkkinen, Nicklas Nordborg
11
12  This file is part of BASE - BioArray Software Environment.
13  Available at http://base.thep.lu.se/
14
15  BASE is free software; you can redistribute it and/or
16  modify it under the terms of the GNU General Public License
17  as published by the Free Software Foundation; either version 3
18  of the License, or (at your option) any later version.
19
20  BASE is distributed in the hope that it will be useful,
21  but WITHOUT ANY WARRANTY; without even the implied warranty of
22  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
23  GNU General Public License for more details.
24
25  You should have received a copy of the GNU General Public License
26  along with BASE. If not, see <http://www.gnu.org/licenses/>.
27-->
28
29<chapter id="installation_upgrade">
30  <?dbhtml dir="installation_upgrade"?>
31
32  <title>Installation and upgrade instructions</title>
33
34  <note>
35    <para>
36    These instructions apply only to the BASE release which this
37    document is a part of. The instructions here assume
38    that <ulink url="http://tomcat.apache.org/">Apache Tomcat 6</ulink> is used
39    on the server side. Other servlet engines may work but we only
40    test with Tomcat.
41    </para>
42  </note>
43
44  <sect1 id="installation_upgrade.upgrade">
45    <title>Upgrade instructions</title>
46
47    <important id="installation_upgrade.upgrade.important">
48      <title>Important information for upgrading from BASE 2.17 to BASE 3.0-alfa</title>
49     
50      <bridgehead>Do not use on a production server!</bridgehead>
51      <para>
52        The update has not been tested enough to consider this a safe option.
53        The update may cause loss of data. Even if the update works, it is not
54        certain that the 3.0-alfa version can be updated to the 3.0-final
55        version. Before updating make sure that you have a backup of your
56        BASE 2.17 database.
57      </para>
58
59      <bridgehead>Updating is supported from BASE 2.17 only</bridgehead>
60      <para>
61        If your BASE is an older version you'll first need to update
62        to BASE 2.17.
63      </para>
64
65      <bridgehead>Old plug-ins and extensions may not work</bridgehead>
66      <para>
67        The BASE API has changed in several places and it is not certain that
68        plug-ins and extensions developed for BASE 2 works with BASE 3. The
69        update will disable all plug-ins and extensions that are currently installed.
70        Before you update we recommend that you go through all (external) plug-ins
71        and check if there is an updated version. The recommended approach
72        is to first update BASE and then install updated versions of plug-ins
73        and extensions following the instructions in <xref 
74        linkend="plugins.installation"/>.
75      </para>
76     
77      <para>
78        If there is no updated version of a specific plug-in you may try
79        a manual re-installation of the old plug-ins. Follow the instructions
80        in <xref linkend="plugins.installation.manual" />.
81      </para>
82     
83      <bridgehead>Batch item importer changes</bridgehead>
84      <para>
85        There are several changes to batch item importers that may affect
86        current workflows and file templates used for importing data.
87      </para>
88     
89      <itemizedlist>
90        <listitem>
91          <para>
92            Sample and extract importer: The 'pooled' column is no longer used.
93            Instead a 'parent type' column should be used which should contain
94            the parent type as a string value (BIOSOURCE, SAMPLE or EXTRACT).
95            Existing importer configurations and file templates may have to be updated.
96          </para>
97        </listitem>
98        <listitem>
99          <para>
100            Labeled extract importer: This has been deprecated and it is recommended
101            that the Extract importer is used instead. Existing importer configurations
102            should be re-created as extract importer configurations.
103          </para>
104        </listitem>
105        <listitem>
106          <para>
107            Hybridization importer: This has been deprecated and it is recommended
108            that the Physical bioassay importer is used instead. Existing importer configurations
109            should be re-created as physical bioassay importer configurations.
110          </para>
111        </listitem>
112        <listitem>
113          <para>
114            Scan importer: This has been deprecated and it is recommended
115            that the Derived bioassay importer is used instead. Existing importer configurations
116            should be re-created as derived bioassay importer configurations.
117          </para>
118        </listitem>
119      </itemizedlist>
120     
121      <note>
122        The deprecated importers can be re-enabled by an administrator, but they are
123        lacking features that are available in the new importers so this is not
124        something that we recommend.
125      </note>
126     
127    </important>
128   
129    <para>
130      As always, backup your database before attempting an
131      upgrade. The BASE team performs extensive testing before
132      releasing a new version of BASE but there are always a
133      possibility for unexpected events during upgrades. In upgrades
134      requiring a change in the underlying database there is no
135      (supported) way to revert to a previous version of BASE using
136      BASE tools, you need to use your backup for this use case.
137    </para>
138
139    <para>
140      The strategy here is to install the new BASE release to another
141      directory than the one in use. This requires transfer of
142      configuration settings to the new install but more on that
143      below.
144    </para>
145
146    <variablelist>
147      <varlistentry>
148        <term>Shut down the Tomcat server</term>
149        <listitem>
150          <para>
151            If the BASE application is not shut down already, it is
152            time to do it now. Do something like <command>sudo
153            /etc/init.d/tomcat6.0 stop</command>
154          </para>
155         
156          <tip>
157            <title>Notify logged in users!</title>
158            <para>
159              If there are users logged in to your BASE server, it may
160              be nice of you to notify them a few minutes prior to shutting
161              down the BASE server. See <xref linkend="installation_upgrade.broadcast" />.
162            </para>
163          </tip>
164        </listitem>
165      </varlistentry>
166
167      <varlistentry>
168        <term>Rename your current server</term>
169        <listitem>
170          <para>
171            Rename your current BASE installation <command>mv
172              /path/to/base /path/to/base_old</command>.
173          </para>
174        </listitem>
175      </varlistentry>
176
177      <varlistentry>
178        <term>Download and unpack BASE</term>
179        <listitem>
180          <para>
181            There are several ways to download BASE. Please refer to
182            section <xref linkend="resources.home_page.download"/> for
183            information on downloading BASE, and select the item
184            matching your download option:
185          </para>
186
187          <variablelist>
188            <varlistentry>
189              <term><emphasis>Pre-compiled package</emphasis></term>
190              <listitem>
191                <para>
192                  If you selected to download a pre-compiled package,
193                  unpack the downloaded file with <command>tar zxpf
194                  base-...tar.gz</command>.
195                </para>
196              </listitem>
197            </varlistentry>
198
199            <varlistentry>
200              <term><emphasis>Source package</emphasis></term>
201              <listitem>
202                <para>
203                  If you selected to download a source package, unpack
204                  the downloaded file with <command>tar zxpf
205                  base-...src.tar.gz</command>. Change to the new
206                  directory, and issue <command>ant
207                  package.bin</command>. This will create a binary
208                  package in the current directory. Unpack this new
209                  package (outside of the source file hierarchy).
210                </para>
211              </listitem>
212            </varlistentry>
213
214            <varlistentry>
215              <term><emphasis>Subversion checkout</emphasis></term>
216              <listitem>
217                <para>
218                  This option is for advanced users only and is not
219                  covered here. Please refer to
220                  <ulink url="http://base.thep.lu.se/wiki/BuildingBase" /> for information on
221                  this download option.
222                </para>
223              </listitem>
224            </varlistentry>
225
226          </variablelist>
227        </listitem>
228
229      </varlistentry>
230
231      <varlistentry>
232        <term>Transfer files and settings</term>
233        <listitem>
234          <para>
235            Settings from the previous installation must be
236            transferred to the new installation. This is most easily
237            done by comparing the configuration files from the
238            previous install with the new files. Do not just copy the
239            old files to the new install since new options may have
240            appeared.
241          </para>
242          <para>
243            In the main BASE configuration file,
244            <filename>&lt;base-dir&gt;/www/WEB-INF/classes/base.config</filename>,
245            fields that needs to be transferred are usually
246            <emphasis>db.username</emphasis>,
247            <emphasis>db.password</emphasis>,
248            and <emphasis>userfiles</emphasis>.
249          </para>
250          <para>
251            Local settings in the raw data
252            tables, <filename>&lt;base-dir&gt;/www/WEB-INF/classes/raw-data-types.xml</filename>,
253            may need to be transferred. This also includes all files in
254            the <filename>&lt;base-dir&gt;/www/WEB-INF/classes/raw-data-types</filename> and
255            <filename>&lt;base-dir&gt;/www/WEB-INF/classes/extended-properties</filename>
256            directories.
257          </para>
258        </listitem>
259      </varlistentry>
260
261      <varlistentry>
262        <term>Updating database schema</term>
263        <listitem>
264          <para>
265            It is recommended that you also perform an update of your
266            database schema.  Running the update scripts are not
267            always necessary when upgrading BASE, but the running the
268            update scripts are safe even in cases when there is no
269            need to run them. Change directory
270            to <filename
271            class="directory">&lt;base-dir&gt;/bin/</filename> and issue
272<programlisting>
273sh ./updatedb.sh [base_root_login] <emphasis>base_root_password</emphasis>
274sh ./updateindexes.sh
275</programlisting>
276            where <emphasis>base_root_login</emphasis> is the login
277            for the root user and <emphasis>base_root_password</emphasis> is the
278            password. The login is optional. If not specified,
279            <constant>root</constant> is used as the login.
280          </para>
281        </listitem>
282      </varlistentry>
283
284      <varlistentry>
285        <term>Start Tomcat</term>
286        <listitem>
287          <para>
288            Start the Tomcat server: <command>sudo
289              /etc/init.d/tomcat6.0 start</command>
290          </para>
291        </listitem>
292      </varlistentry>
293
294    </variablelist>
295
296    <para>
297      Done! Upgrade of BASE is finished.
298    </para>
299
300  </sect1>      <!-- Upgrade instructions -->
301
302  <sect1 id="installation_upgrade.installation">
303    <title>Installation instructions</title>
304
305    <variablelist>
306
307      <varlistentry>
308        <term>Java</term>
309        <listitem>
310          <para>
311            Download and install Java SE 6, available from
312            <ulink url="http://www.oracle.com/technetwork/java/javase/downloads/index.html" />.
313            You can select either the JDK or the JRE version. We have not yet tested BASE with
314            Java SE 7 so we can't tell if it works or not.
315          </para>
316        </listitem>
317      </varlistentry>
318
319      <varlistentry>
320        <term>Tomcat</term>
321        <listitem>
322          <para>
323            Download and install Apache Tomcat 6.0.20 or any later 6.x release,
324            available from <ulink
325            url="http://tomcat.apache.org" />. We have not yet tested BASE
326            with Tomcat 7 so we can't tell if it works or not.
327            There are a few configuration options that are needed to
328            make Tomcat work properly with BASE. The options are set in the
329            <code>CATALINA_OPTS</code> environment variable.
330          </para>
331         
332          <itemizedlist>
333            <listitem>
334              <para>
335                Increase the amount of memory that Tomcat is allowed to use. The default setting is
336                usually not enough. To give Tomcat 1 gigabyte, use <code>-Xmx1G</code>.
337              </para>
338            </listitem>
339            <listitem>
340              <para>
341                Disable strict parsing of JSP files.
342                <code>-Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false</code>
343              </para>
344            </listitem>
345            <listitem>
346              <para>
347                Unless you have manually downloaded and installed JAI (Java Advanced
348                Imaging) native acceleration libraries (see <ulink 
349                url="http://java.sun.com/javase/technologies/desktop/media/jai/" />)
350                it is a good idea to disable the native acceleration of JAI.
351                <code>-Dcom.sun.media.jai.disableMediaLib=true</code>
352              </para>
353            </listitem>
354            <listitem>
355              <para>
356                Enable headless mode if your are setting up a server which doesn't have
357                a display device connected to is. <code>-Djava.awt.headless=true</code>.
358              </para>
359            </listitem>
360         
361          </itemizedlist>
362         
363          <para>
364            Depending on your system there are probably several ways to set the
365            the <code>CATALINA_OPTS</code> variable. One suggestion is to add the following
366            line (as a single line) close to the top of the <filename>catalina.sh</filename> 
367            script that comes with Tomcat (directory <filename
368            class="directory">bin</filename>):
369<programlisting>CATALINA_OPTS="-Xmx1G
370-Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false
371-Dcom.sun.media.jai.disableMediaLib=true
372-Djava.awt.headless=true"</programlisting>
373          </para>
374          <para>
375            For more information about Tomcat options see
376            <ulink url="http://tomcat.apache.org/tomcat-6.0-doc/index.html" />.
377          </para>
378        </listitem>
379      </varlistentry>
380
381      <varlistentry>
382        <term>Set up an SQL database</term>
383        <listitem>
384          <para>
385            BASE
386            utilize <ulink
387            url="http://www.hibernate.org/">Hibernate</ulink> for
388            object persistence to a relational database. Hibernate
389            supports many database engines, but so far we only work
390            with <ulink url="http://www.mysql.com">MySQL</ulink>
391            and <ulink
392            url="http://www.postgresql.org/">PostgreSQL</ulink>.
393          </para>
394
395          <variablelist>
396            <varlistentry>
397              <term>MySQL</term>
398              <listitem>
399                <para>
400                  Download and install MySQL (tested with version
401                  5.1), available from
402                  <ulink url="http://www.mysql.com/" />. You need to
403                  be able to connect to the server over TCP, so
404                  the <emphasis>skip-networking</emphasis> option
405                  must <command>not</command> be used. The InnoDB
406                  table engine is also needed, so do not disable them
407                  (not that you would) but you may want to tune the
408                  InnoDB behaviour before creating BASE
409                  databases. BASE comes pre-configured for MySQL so
410                  there is no need to change database settings in the
411                  BASE configuration files.
412                </para>
413              </listitem>
414            </varlistentry>
415            <varlistentry>
416              <term>PostgreSQL</term>
417              <listitem>
418                <para>
419                  PostgreSQL 8.4 seems to be working very well with
420                  BASE and Hibernate. Download and install PostgreSQL,
421                  available from
422                  <ulink url="http://www.postgresql.org/" />. you must
423                  edit
424                  your <filename>&lt;base-dir&gt;/www/WEB-INF/classes/base.config</filename>
425                  file. Uncomment the settings for PostgreSQL and
426                  comment out the settings for MySQL.
427                </para>
428               
429                <note>
430                  <para>
431                  PostgreSQL versions prior to 8.2 have a non-optimal solution
432                  for locking rows in certain situations. This may cause two
433                  seemingly independent transactions to lock if they just
434                  reference a common database row. This may happen, for example,
435                  when importing raw data that have references to the same
436                  reporters. The problem has been solved in PostgreSQL 8.2.
437                  </para>
438                </note>
439                <para>
440                  We have not yet tested BASE with PostgreSQL 9 so we can't tell
441                  if it works or not.
442                </para>
443              </listitem>
444            </varlistentry>
445          </variablelist>
446
447        </listitem>
448      </varlistentry>
449
450      <varlistentry>
451        <term>BASE (download and unpacking)</term>
452        <listitem>
453          <para>
454            <ulink
455            url="http://base.thep.lu.se/wiki/DownloadPage">Download
456            BASE</ulink> and unpack the downloaded file,
457            i.e. <command>tar zxpf base-...tar.gz</command>. If you
458            prefer to have the bleeding edge version of BASE, perform
459            a checkout of the source from the subversion repository
460            (subversion checkout instructions at
461            <ulink url="http://base.thep.lu.se/wiki/DownloadPage">BASE
462            trac site</ulink>).
463          </para>
464          <para>
465            If you choose to download the binary package, skip to the
466            next item. The rest of us, read on and compile BASE. If
467            you downloaded a source distribution, unpack the
468            downloaded file <command>tar zxpf
469            base-...src.tar.gz</command>, or you may have performed a
470            subversion checkout.  Change to the 'root' base2
471            directory, and issue <command>ant
472            package.bin</command>. This will create a binary package
473            in the base2 'root' directory. Unpack this new package
474            (outside of the source file hierarchy), and from now on
475            the instructions are the same irrespective where you got
476            the binary package.
477          </para>
478          <para>
479            <emphasis>This section is intended for advanced users and
480              programmers only. In cases when you want to change the
481              BASE code and try out personalized features it may be
482              advantageous to run the tweaked BASE server against the
483              development tree. Instructions on how to accomplish this
484              is available in the
485              <ulink
486              url="http://base.thep.lu.se/wiki/BuildingBase">building
487              BASE document</ulink>. When you return back after
488              compiling in the subversion tree you can follow the
489              instruction here (with obvious changes to
490              paths).</emphasis>
491          </para>
492        </listitem>
493      </varlistentry>
494
495      <varlistentry id="installation_upgrade.installation.database">
496        <term>BASE (database engine)</term>
497        <listitem>
498          <para>
499            Instructions for MySQL and PostgreSQL are available
500            below. The database names (base2 and base2dynamic is used
501            here), the <emphasis>db_user</emphasis>, and
502            the <emphasis>db_password</emphasis> can be changed during
503            the creation of the databases. It is recommended to change
504            the <emphasis>db_password</emphasis>, the other changes
505            can be made if desired. The database names,
506            the <emphasis>db_user</emphasis>, and
507            the <emphasis>db_password</emphasis> are needed in a later
508            step below when configuring BASE.
509          </para>
510          <note>
511            Note that the <emphasis>db_user</emphasis> name
512            and <emphasis>db_password</emphasis> set here is used
513            internally by BASE in communication with the database and
514            is never used to log on to the BASE application.
515          </note>
516          <important>
517            <title>The database must use the UTF-8 character set</title>
518            <para>
519              Otherwise there will be a problem with storing values
520              that uses characters outside the normal Latin1 range, for
521              example unit-related such as µ (micro) and Ω (ohm).
522            </para>
523          </important>
524          <variablelist>
525            <varlistentry>
526              <term>MySQL</term>
527              <listitem>
528                <para>
529                  Create a new database for BASE, and add a
530                  <emphasis>db_user</emphasis> with at least
531                  <emphasis>SELECT</emphasis>, <emphasis>INSERT</emphasis>,
532                  <emphasis>UPDATE</emphasis>, <emphasis>DELETE</emphasis>,
533                  <emphasis>CREATE</emphasis>, <emphasis>DROP</emphasis>,
534                  <emphasis>INDEX</emphasis>,
535                  and <emphasis>ALTER</emphasis> permission for the
536                  new database. To do this, connect to your MySQL
537                  server and issue the next lines:
538<programlisting>CREATE DATABASE base2 DEFAULT CHARACTER SET utf8;
539CREATE DATABASE base2dynamic DEFAULT CHARACTER SET utf8;
540GRANT ALL ON base2.* TO db_user@localhost IDENTIFIED BY 'db_password';
541GRANT ALL ON base2dynamic.* TO db_user@localhost;</programlisting>
542                </para>             
543                <para>
544                  The <filename>&lt;base-dir&gt;/misc/sql/createdb.mysql.sql</filename>
545                  file contains the above statements and can be used
546                  by the <filename>mysql</filename> command-line tool
547                  (remember to edit
548                  the <emphasis>db_user</emphasis>,
549                  <emphasis>db_password</emphasis>,
550                  and the database names in the script file before
551                  executing the command): <command>mysql -uroot -p
552                  &lt; ./misc/sql/createdb.mysql.sql</command>. The
553                  header in the script file contains further
554                  information about the script.
555                </para>
556              </listitem>
557            </varlistentry>
558            <varlistentry>
559              <term>PostgreSQL</term>
560              <listitem>
561                <para>
562                  Create a new database for BASE, and add a
563                  <emphasis>db_user</emphasis> with the proper
564                  privileges. To do this, log in as your PostgreSQL
565                  user and issue these lines (omit comments):
566<programlisting>createuser db_user -P
567  # this will prompt for an password for the new user, and issue two
568  # more question that should be answered with character 'n' for no.
569createdb --owner db_user --encoding UTF8 base2
570psql base2
571  # this will start the psql command line tool. Issue the next line
572  # within the tool and quit with a '\q'.
573CREATE SCHEMA "dynamic" AUTHORIZATION "db_user";</programlisting>
574                  The <filename>&lt;base-dir&gt;/misc/sql/createdb.postgresql.sql</filename>
575                  file contains the above statements and can be used
576                  by the <filename>psql</filename> command-line tool:
577                  <command>psql -f ./misc/sql/createdb.posgres.sql
578                    template1</command> The header in the script file
579                  contains further information about the script.
580                </para>
581              </listitem>
582            </varlistentry>
583          </variablelist>
584        </listitem>
585      </varlistentry>
586
587      <varlistentry>
588        <term>BASE (file storage setup)</term>
589        <listitem>
590          <para>
591            An area for file storage must be setup. Create an empty
592            directory in a proper location in your file system, and
593            set the owner to be the same as the one that the Tomcat
594            server will be running as. Remember this location for
595            later use. The default location is <filename>/usr/local/base2/files</filename>.
596          </para>
597        </listitem>
598      </varlistentry>
599     
600      <varlistentry>
601        <term>BASE (plug-in setup)</term>
602        <listitem>
603          <para>
604            An area for plug-in and extensions installation must be setup.
605            Create an empty directory in a proper location in your file system,
606            and make sure that the user that the Tomcat
607            server will be running as has read permission. Remember this location for
608            later use. The default location is <filename>/usr/local/base2/plugins</filename>.
609          </para>
610        </listitem>
611      </varlistentry>
612
613      <varlistentry id="installation_upgrade.installation.configuration">
614        <term>BASE (configuration)</term>
615        <listitem>
616          <para>
617            Basic BASE configuration is done in
618            <filename>&lt;base-dir&gt;/www/WEB-INF/classes/base.config</filename>:
619            <itemizedlist>
620              <listitem>
621                Uncomment the database engine section that match your setup.
622              </listitem>
623              <listitem>
624                Modify the <emphasis>db.url</emphasis>,
625                <emphasis>db.dynamic.catalog</emphasis>,
626                <emphasis>db.username</emphasis>,
627                and <emphasis>db.password</emphasis> settings to match
628                your choice above. (<emphasis>database host and
629                database name (e.g. base2)</emphasis>,
630                <emphasis>e.g. base2dynamic</emphasis>,
631                <emphasis>db_user</emphasis>, and
632                <emphasis>db_password</emphasis>, respectively.)
633              </listitem>
634              <listitem>
635                Modify the <emphasis>userfiles</emphasis> setting to
636                match your choice in file storage setup above.
637              </listitem>
638              <listitem>
639                Modify the <emphasis>plugins.dir</emphasis> setting to
640                match your choice in plug-in setup above.
641              </listitem>
642            </itemizedlist>
643            See the <xref linkend="appendix.base.config"/> for more
644            information about the settings in
645            the <filename>base.config</filename> file.
646          </para>
647          <para>
648            <emphasis>Optional but recommended.</emphasis> You may want
649            to modify extended properties to fit your needs. Extended
650            properties are defined in
651            <filename>&lt;base-dir&gt;/www/WEB-INF/classes/extended-properties.xml</filename>.
652            There is an
653            administrator <ulink
654            url="http://base.thep.lu.se/chrome/site/doc/historical/admin/extended-properties.html">document
655            discussing extended properties</ulink> available. If you
656            plan to perform a migration of a BASE version 1.2 database you
657            should probably not remove any extended properties
658            columns (this is not tested so the outcome is currently
659            undefined). However, adding columns does not affect
660            migration.
661          </para>
662        </listitem>
663      </varlistentry>
664
665      <varlistentry>
666        <term>BASE (database initialization)</term>
667        <listitem>
668          <para>
669            Change directory to
670            <filename class="directory">&lt;base-dir&gt;/bin</filename>
671            and execute the following commands:
672        <programlisting>
673./initdb.sh [base_root_login] base_root_password
674./updateindexes.sh
675</programlisting>
676
677            The second command is important for PostgreSQL users
678            since the Hibernate database initialisation utility
679            is not able to create all indexes that are required.
680            BASE will still work without the indexes but performance
681            may suffer.
682
683            <important>
684            <para>
685            The <emphasis>base_root_login</emphasis> and
686            <emphasis>base_root_password</emphasis> you use here
687            is given to the BASE web application root user account.
688            The <emphasis>base_root_login</emphasis> is optional. If
689            not specified, <constant>root</constant> is used for
690            the login.
691            </para>
692            </important>
693            If the initialisation script fail, it is most probably a
694            problem related to the underlying database. Make sure that
695            the database accepts network connection and make sure that
696            <emphasis>db_user</emphasis> has proper credentials.
697          </para>
698        </listitem>
699      </varlistentry>
700
701      <varlistentry>
702        <term>BASE and Tomcat</term>
703        <listitem>
704          <para>
705            Either move the <filename
706            class="directory">&lt;base-dir&gt;/www</filename> directory
707            to the Tomcat <filename class="directory">webapps</filename>
708            directory or create a symbolic link from the Tomcat
709            <filename class="directory">webapps</filename> directory to
710            the <filename class="directory">&lt;base-dir&gt;/www</filename>
711            directory
712<programlisting>cd /path/to/tomcat/webapps
713ln -s /path_to_base/www base2</programlisting>
714          </para>
715          <para>
716            If you plan to install extensions you should make sure that
717            the <filename class="directory">&lt;base-dir&gt;/www/extensions</filename>
718            directory is writable by the user account Tomcat is running as.
719          </para>
720          <para>
721            Start/restart Tomcat, and try http://hostname:8080/base2
722            (change <emphasis>hostname</emphasis> to your hostname) in
723            your favourite browser. The BASE log-in page should appear
724            after a few seconds.
725          </para>
726        </listitem>
727      </varlistentry>
728
729      <varlistentry>
730        <term>BASE, Apache, and Apache/Tomcat connector</term>
731        <listitem>
732          <para>
733            <emphasis>This step is optional</emphasis>.
734          </para>
735          <para>
736            If you want run the Tomcat server through the Apache web
737            server, you need to install the Apache version 2 web
738            server, available
739            from <ulink url="http://httpd.apache.org/" />,
740            and a apache-tomcat connector, available
741            from <ulink
742            url="http://tomcat.apache.org/connectors-doc/index.html" />
743          </para>
744        </listitem>
745      </varlistentry>
746
747      <varlistentry>
748        <term>Setup done!</term>
749        <listitem>
750          <para>
751            Happy BASEing. Now you can log on to your BASE server as
752            user <emphasis>root</emphasis> (use
753            the <emphasis>base_root_password</emphasis> from the
754            database initialization step above). You should begin with
755            creating a couple user accounts, for more information on
756            how to create user accounts please refer to
757            <xref linkend="user_administration"/>.
758          </para>
759        </listitem>
760      </varlistentry>
761
762    </variablelist>
763
764  </sect1>      <!-- Installation instructions -->
765
766  <sect1 id="installation_upgrade.jobagents">
767    <title>Installing job agents</title>
768
769    <para>
770      It is important to understand that the BASE application can be
771      spread on to several computers. The main BASE application is
772      serving HTTP requests, the underlying database engine is
773      providing storage and persistence of data, and job agents can be
774      installed on computers that will serve the BASE installation
775      with computing power and perform analysis and run plug-ins. In a
776      straight forward setup one computer provides all services needed
777      for running BASE. From this starting point it is easy to add
778      computers to shares load from the BASE server by installing job
779      agents on these additional computers.
780    </para>
781
782    <para>
783      A job agent is a program running on a computer regularly
784      checking the BASE job queue for jobs awaiting execution. When
785      the job agent finds a job that it is enabled to execute, it
786      loads the plug-in and executes it. Job agents will in this way
787      free up resources on the BASE application server, and thus allow
788      the BASE server to concentrate on serving web pages. Job agents
789      are optional and must be installed and setup
790      separately. However, BASE is prepared for job agent setup and to
791      utilize the agents, but the agent are not required.
792    </para>
793
794    <para>
795      A job agent supports many configuration options that are not
796      supported by the internal job queue. For example, you can
797      <itemizedlist>
798        <listitem>
799          <para>
800            Specify exactly which plug-ins each job agent should be
801            able to execute.
802          </para>
803        </listitem>
804        <listitem>
805          <para>
806            Give some plug-ins higher priority than other plug-ins.
807          </para>
808        </listitem>
809        <listitem>
810          <para>
811            Specify which users/groups/projects should be able to use
812            a specific job agent.
813          </para>
814        </listitem>
815        <listitem>
816          <para>
817            Override memory settings and more for each plug-in.
818          </para>
819        </listitem>
820        <listitem>
821          <para>
822            Execute plug-ins in separate processes. Thus, a misbehaving
823            plug-in cannot bring the main application server down.
824          </para>
825        </listitem>
826        <listitem>
827          <para>
828            Add more computers with job agents as needed.
829          </para>
830        </listitem>
831      </itemizedlist>
832      All these options make it possible to create a very flexible
833      setup. For example one job agent can be assigned for importing
834      data only, another job agent can be assigned for running
835      analysis plug-ins for specific project only, and a third may be a
836      catch-all job agent that performs all low-priority jobs.
837    </para>
838
839    <sect2 id="installation_upgrade.jobagents.serverside">
840      <title>BASE application server side setup</title>
841      <para>
842        <variablelist>
843          <varlistentry>
844            <term>Make sure the internal job queue doesn't execute all plug-ins</term>
845            <listitem>
846              <para>
847                The setting <command>jobqueue.internal.runallplugins</command>
848                should be set to <command>false</command> for the
849                BASE server. This setting is found in
850                the <filename>&lt;base-dir&gt;/www/WEB-INF/classes/base.config</filename>
851                file. The changes will not take effect until the
852                application server is restarted.
853              </para>
854
855            </listitem>
856          </varlistentry>
857          <varlistentry id="installation_upgrade.jobagent.user_account">
858            <term>Enable the job agent user account</term>
859            <listitem>
860              <para>
861                During installation of BASE a user account is created
862                for the job agent. This account is used by the job
863                agents to log on to BASE. The account is disabled by
864                default and must be enabled. Enable the account and
865                set a password using the BASE web interface.
866                The same password must also be set in the
867                <filename>jobagent.properties</filename> file, see
868                item
869                <xref linkend="installation_upgrade.jobagent.client.properties"/>
870                below.
871              </para>
872            </listitem>
873          </varlistentry>
874        </variablelist>
875      </para>
876    </sect2>
877
878    <sect2 id="installation_upgrade.jobagents.database">
879      <title>Database server setup</title>
880      <para>
881        <variablelist>
882          <varlistentry id="installation_upgrade.jobagent.database">
883            <term>Create a user account on the database</term>
884            <listitem>
885              <para>
886                This is the similar to granting database access for
887                the BASE server user in the in the regular BASE
888                installation, cf.
889                <xref
890                linkend="installation_upgrade.installation.database"/>.
891                You must create an account in the database that is
892                allowed to connect from the job agent server. MySQL
893                example:
894<programlisting>GRANT ALL ON base2.* TO db_user@job.agent.host IDENTIFIED BY 'db_password';
895GRANT ALL ON base2dynamic.* TO db_user@job.agent.host;</programlisting>
896
897                Replace <command>job.agent.host</command> with the
898                host name of the server that is going to run the job
899                agent. You should also set password. This password is
900                used in item
901                <xref linkend="installation_upgrade.jobagent.client.config"/>
902                below in job agent server setup. You can use the same
903                database user and password as in the regular database
904                setup.
905              </para>
906            </listitem>
907          </varlistentry>
908        </variablelist>
909      </para>
910    </sect2>
911
912    <sect2 id="installation_upgrade.jobagents.client">
913      <title>Job agent client setup</title>
914      <para>
915        <variablelist>
916          <varlistentry>
917            <term>Download and unpack a regular BASE distribution</term>
918            <listitem>
919              <para>
920                You <emphasis>must</emphasis> use the same version on
921                the web server and all job agents. You find the
922                downloads at
923                <ulink
924                url="http://base.thep.lu.se/wiki/DownloadPage">http://base.thep.lu.se/wiki/DownloadPage</ulink>
925              </para>
926            </listitem>
927          </varlistentry>
928          <varlistentry id="installation_upgrade.jobagent.client.config">
929            <term>Edit the <filename>base.config</filename> file</term>
930            <listitem>
931              <para>
932                The <filename>&lt;base-dir&gt;/www/WEB-INF/classes/base.config</filename>
933                file must be configured as in regular BASE
934                installation, cf.
935                <xref
936                linkend="installation_upgrade.installation.configuration"/>,
937                to use the same database as the web server
938                application. The most important settings are
939                <itemizedlist>
940                  <listitem>
941                    <para>
942                      <command>db.username</command>: The database
943                      user you created in item
944                      <xref
945                      linkend="installation_upgrade.jobagent.database"/>
946                      above.
947                    </para>
948                  </listitem>
949                  <listitem>
950                    <para>
951                      <command>db.password</command>: The password for
952                      the user.
953                    </para>
954                  </listitem>
955                  <listitem>
956                    <para>
957                      <command>db.url</command>: The connection url to
958                      the database.
959                    </para>
960                  </listitem>
961                  <listitem>
962                    <para>
963                      <command>userfiles</command>: The path to the
964                      directory where user files are located. This
965                      directory must be accessible from all job
966                      agents, i.e., by nfs or other file system
967                      sharing method.
968                    </para>
969                  </listitem>
970                  <listitem>
971                    <para>
972                      <command>plugins.dir</command>: The path to the
973                      directory where plug-ins are located. This
974                      directory must be accessible from all job
975                      agents, i.e., by nfs or other file system
976                      sharing method.
977                    </para>
978                  </listitem>
979                </itemizedlist>
980                See the <xref linkend="appendix.base.config"/> for
981                more information about the settings in
982                the <filename>base.config</filename> file.
983              </para>
984            </listitem>
985          </varlistentry>
986          <varlistentry id="installation_upgrade.jobagent.client.properties">
987            <term>Edit
988            the <filename>jobagent.properties</filename> file</term>
989            <listitem>
990              <para>
991                The <filename>&lt;base-dir&gt;/www/WEB-INF/classes/jobagent.properties</filename>
992                file contains settings for the job agent. The most
993                important ones to specify value for are
994                <itemizedlist>
995                  <listitem>
996                    <para>
997                      <command>agent.password</command>: The password
998                      you set for the job agent user account in item
999                      <xref
1000                      linkend="installation_upgrade.jobagent.user_account"/>
1001                      above.
1002                    </para>
1003                  </listitem>
1004                  <listitem>
1005                    <para>
1006                      <command>agent.id</command>: An ID that must be
1007                      unique for each job agent accessing the BASE application.
1008                    </para>
1009                  </listitem>
1010                  <listitem>
1011                    <para>
1012                      <command>agent.remotecontrol</command>: The
1013                      name or ip address of the web server if you want it
1014                      to be able to display info about running
1015                      jobs. The job agent will only allow connections
1016                      from computers specified in this setting.
1017                    </para>
1018                  </listitem>
1019                </itemizedlist>
1020              </para>
1021              <para>
1022                The <filename>jobagent.properties</filename> file
1023                contains many more configuration options. See
1024                the <xref linkend="appendix.jobagent.properties"/> for
1025                more information.
1026              </para>
1027            </listitem>
1028          </varlistentry>
1029          <varlistentry>
1030            <term>Register the job agent</term>
1031            <listitem>
1032              <para>
1033                From the <filename>bin</filename> directory, register
1034                the job agent with
1035                <programlisting>./jobagent.sh register</programlisting>
1036              </para>
1037            </listitem>
1038          </varlistentry>
1039          <varlistentry>
1040            <term>Start the job agent</term>
1041            <listitem>
1042              <para>
1043                From the <filename>bin</filename> directory, start the
1044                job agent with
1045                <programlisting>./jobagent.sh start &amp;</programlisting>
1046              </para>
1047              <para>
1048                See the <xref linkend="appendix.jobagent.sh"/>
1049                for more information about what you can do
1050                with the job agent command line interface.
1051              </para>
1052            </listitem>
1053          </varlistentry>
1054        </variablelist>
1055      </para>
1056    </sect2>
1057
1058
1059    <sect2 id="installation_upgrade.jobagents.configuration">
1060      <title>Configuring the job agent</title>
1061   
1062      <para>
1063        A job agent will not execute a plug-in unless the administrator
1064        has configured the job agent to do so. There are two things that
1065        must be done:
1066      </para>
1067     
1068      <itemizedlist>
1069        <listitem>
1070        <para>
1071          Share the job agent to the users, groups and project that should be
1072          able to use it. If the job agent is not shared, only the owner of
1073          job agent is allowed to use it. Use the regular <guilabel>Share</guilabel>
1074          functionality to specify which users/groups/projects
1075          should be able to use the job agent. You must give
1076          them at least <command>USE</command> permission.
1077          To give all users permission to the job agent share it
1078          to the <command>EVERYONE</command> group.
1079        </para>
1080        </listitem>
1081       
1082        <listitem>
1083        <para>
1084          Selecting plug-ins that the job agent should handle. This can be
1085          done either from the plug-in pages or from the job agent pages. To register
1086          a plug-in with one or more job agents from the plug-in pages, go
1087          to the edit view of the plug-in and select the <guilabel>Job
1088          agents</guilabel> tab. To do the same from the job agent pages,
1089          go to the edit view of the job agent and select
1090          the <guilabel>Plugins</guilabel> tab. The registration dialogs
1091          are very similar but only the plug-in side of registration is
1092          described here. The major difference is that it is not possible
1093          to enable/disable the internal job queue for plug-in when using
1094          the jobagent side of the registration.
1095        </para>
1096        </listitem>
1097      </itemizedlist>
1098   
1099      <figure id="plugins.figures.jobagents">
1100        <title>Select job agents for a plug-in</title>
1101        <screenshot>
1102          <mediaobject>
1103            <imageobject><imagedata 
1104              scalefit="1" width="100%"
1105              fileref="figures/plugin_jobagents.png" format="PNG"
1106              /></imageobject>
1107          </mediaobject>
1108        </screenshot>
1109      </figure>
1110   
1111      <helptext external_id="plugindefinition.jobagents" 
1112        title="Job agents">
1113       
1114        <para>
1115          Use this tab to specify which job agents the plug-in is
1116          installed and allowed to be executed on.
1117        </para>
1118       
1119        <variablelist>
1120        <varlistentry>
1121          <term><guilabel>Run this plugin on</guilabel></term>
1122          <listitem>
1123            <para>
1124              You may select if the internal job queue should execute the
1125              plug-in or not.
1126            </para>
1127          </listitem>
1128        </varlistentry>
1129        <varlistentry>
1130          <term><guilabel>Job agents</guilabel></term>
1131          <listitem>
1132            <para>
1133              A list with the job agents where the plug-in is installed and
1134              allowed to be executed. Select a plug-in in this list to display
1135              more configuration options for the plug-in.
1136            </para>
1137          </listitem>
1138        </varlistentry>
1139        <varlistentry>
1140          <term><guilabel>Add job agents</guilabel></term>
1141          <listitem>
1142            <para>
1143              Use this button to open a pop-up window for selecting
1144              job agents.
1145            </para>
1146          </listitem>
1147        </varlistentry>
1148        <varlistentry>
1149          <term><guilabel>Remove</guilabel></term>
1150          <listitem>
1151            <para>
1152              Remove the selected plug-in from the list.
1153            </para>
1154          </listitem>
1155        </varlistentry>
1156        </variablelist>
1157       
1158        <para>
1159          The following properties are only displayed when a
1160          job agent has been selected in the list. Each job agent may have it's
1161          own settings of these properties. If you leave the values unspecified
1162          the job agent will use the default values specified on the
1163          <guilabel>Plugin</guilabel> tab.
1164        </para>
1165       
1166        <variablelist>
1167        <varlistentry>
1168          <term><guilabel>Max memory</guilabel></term>
1169          <listitem>
1170            <para>
1171              The maximum amount of memory the plug-in is allowed to use.
1172              Add around 40MB for the Java run-time environment and BASE.
1173              If not specified Java will choose it's default value which is 64MB.
1174            </para>
1175          </listitem>
1176        </varlistentry>
1177        <varlistentry>
1178          <term><guilabel>Trusted</guilabel></term>
1179          <listitem>
1180            <para>
1181              If the plug-in should be executed in a protected or
1182              unprotected environment. Currently, BASE only supports
1183              running plug-ins in an unprotected environment.
1184            </para>
1185          </listitem>
1186        </varlistentry>
1187        <varlistentry>
1188          <term><guilabel>Priority boost</guilabel></term>
1189          <listitem>
1190            <para>
1191              Used to give a plug-in higher priority in the job queue.
1192              Values between 0 and 10 are allowed. A higher value will
1193              give the plug-in higher priority. The priority boost is useful
1194              if we, for example, want to use one server mainly for importing
1195              data. By giving all import plugins a priority boost they will
1196              be executed before all other jobs, which will have to wait
1197              until there are no more waiting imports.
1198            </para>
1199          </listitem>
1200        </varlistentry>
1201        </variablelist>
1202       
1203        <seeother>
1204          <other external_id="plugindefinition.edit">Plug-in properties</other>
1205          <other external_id="plugindefinition.edit.permissions">Plug-in permissions</other>
1206        </seeother>
1207      </helptext>
1208    </sect2>
1209
1210  </sect1>      <!-- job agent setup -->
1211
1212  <sect1 id="installation_upgrade.serverconfigurations">
1213    <title>Server configurations</title>
1214    <para>
1215      Some server configurations can be done when the installation process is finished and
1216      BASE is up and running. Log into BASE with administration rights and then
1217      open the configuration dialog from menu
1218      <menuchoice>
1219        <guimenu>Administrate</guimenu>
1220        <guimenuitem>Server settings</guimenuitem>
1221      </menuchoice>.
1222      Each tab in the configuration dialog-window is described below.
1223    </para>
1224    <variablelist>
1225      <varlistentry>
1226        <term>
1227          <guilabel>File transfer</guilabel>
1228        </term>
1229        <listitem>
1230          <helptext external_id="serverconfig.filetransfer" title="File transfer rate">
1231            <variablelist>
1232              <varlistentry>
1233                <term><guilabel>Max transfer rate</guilabel></term>
1234                <listitem>
1235                  <para>
1236                    This is a limit of how many bytes of data that should be
1237                    transferred per second when uploading files to BASE. Prefixes
1238                    like k, M or G can be used for larger values, just like
1239                    described in the tab. The limit is per ongoing upload
1240                    and the default value is 100MB/s.
1241                  </para>
1242                </listitem>
1243              </varlistentry>
1244              <varlistentry>
1245                <term><guilabel>Unlimited</guilabel></term>
1246                <listitem>
1247                  <para>
1248                    Check this to not limit the transfer rate. In this case, the
1249                    Internet connection of the server is the limit.
1250                  </para>
1251                </listitem>
1252              </varlistentry>
1253            </variablelist>
1254          </helptext>
1255        </listitem>
1256      </varlistentry>
1257      <varlistentry>
1258        <term>
1259          <guilabel>About</guilabel>
1260        </term>
1261        <listitem>
1262          <helptext external_id="serverconfig.about"
1263            title="Information about the server">
1264            <variablelist>
1265              <varlistentry>
1266                <term><guilabel>Administrator name</guilabel></term>
1267                <listitem>
1268                  <para>
1269                    Name of the responsible administrator. The name is displayed
1270                    at the bottom of each page in BASE and in the about-dialog.
1271                  </para>
1272                </listitem>
1273              </varlistentry>
1274              <varlistentry>
1275                <term><guilabel>Administrator email</guilabel></term>
1276                <listitem>
1277                  <para>
1278                    An email which the administrator can be contacted on. The
1279                    administrator name, visible at the bottom of each page, will
1280                    be linked to this email address.
1281                  </para>
1282                </listitem>
1283              </varlistentry>
1284              <varlistentry>
1285                <term><guilabel>About</guilabel></term>
1286                <listitem>
1287                  <para>
1288                    Text written in this field is displayed in the
1289                    <guilabel>About this server</guilabel> section on the login
1290                    page and in the about-dialog window. We recommend changing the
1291                    default Latin text to something meaningful, or remove it
1292                    to hide the section completely.
1293                  </para>
1294                </listitem>
1295              </varlistentry>
1296            </variablelist>
1297          </helptext>
1298        </listitem>
1299      </varlistentry>
1300      <varlistentry>
1301        <term>
1302          <guilabel>Get account</guilabel>
1303        </term>
1304        <listitem>
1305          <helptext external_id="serverconfig.getaccount"
1306            title="Instructions to get an account">
1307            <para>
1308              A description what a user should do to get
1309              an account on the particular BASE server. This text is linked
1310              to the <guilabel>Get an account!</guilabel> link on the login
1311              page. We recommend that the Latin text is replaced with some useful
1312              information, or that it is removed to hide the link.
1313            </para>
1314          </helptext>
1315        </listitem>
1316      </varlistentry>
1317      <varlistentry>
1318        <term>
1319          <guilabel>Forgotten password</guilabel>
1320        </term>
1321        <listitem>
1322          <helptext external_id="serverconfig.password"
1323            title="Instructions when password is forgotten.">
1324            <para>
1325              A description what a user should do if the password is forgotten.
1326              This text is linked
1327              to the <guilabel>Forgot your password?</guilabel> link on the login
1328              page. We recommend that the Latin text is replaced with some useful
1329              information, or that it is removed to hide the link.
1330            </para>
1331          </helptext>
1332        </listitem>
1333      </varlistentry>
1334      <varlistentry>
1335        <term>
1336          <guilabel>Links</guilabel>
1337        </term>
1338        <listitem>
1339          <helptext external_id="serverconfig.links" title="Configurable links">
1340            <para>
1341              External configurable link-types inside BASE.
1342              <note>
1343                <para>
1344                  Only link-types that have been set will be visible in the web
1345                  client.
1346                </para>
1347              </note>
1348            </para>
1349            <variablelist>
1350              <varlistentry>
1351                <term><guilabel>Help</guilabel></term>
1352                <listitem>
1353                  <para>
1354                    Links to where the help text is located. By default
1355                    this is set to the documentation for the latest released
1356                    BASE version on the BASE web site,
1357                    <ulink
1358                      url="http://base.thep.lu.se/chrome/site/doc/html/index.html">
1359                      http://base.thep.lu.se/chrome/site/doc/html/index.html</ulink>.
1360                   
1361                    If you want the documentation for a specific version you will
1362                    have to setup a site for that yourself and then change the link
1363                    to that site. The documentation is included in the downloaded package
1364                    in the directory <filename>&lt;basedir&gt;/doc/html</filename>.
1365                  </para>
1366                </listitem>
1367              </varlistentry>
1368              <varlistentry>
1369                <term>
1370                  <guilabel>FAQ</guilabel>
1371                </term>
1372                <listitem>
1373                  <para>Where frequently asked questions can be found. Empty by default.</para>
1374                </listitem>
1375              </varlistentry>
1376              <varlistentry>
1377                <term>
1378                  <guilabel>Report a bug</guilabel>
1379                </term>
1380                <listitem>
1381                  <para>
1382                    Where the user could report bugs, feature request or
1383                    perhaps other feedback that concerns the program. As default
1384                    this is set to the feedback section on BASE web site,
1385                    <ulink url="http://base.thep.lu.se/#Feedback">http://base.thep.lu.se/#Feedback</ulink>.
1386                    Note that users must login in order to submit information.
1387                  </para>
1388                </listitem>
1389              </varlistentry>
1390            </variablelist>
1391          </helptext>
1392        </listitem>
1393      </varlistentry>
1394    </variablelist>
1395   
1396    <sect2 id="installation_upgrade.broadcast">
1397      <title>Sending a broadcast message to logged in users</title>
1398
1399      <para>
1400        It is possible to send a message to all logged in user.
1401        Open the
1402        <menuchoice>
1403          <guimenu>Administrate</guimenu>
1404          <guimenuitem>Broadcast message</guimenuitem>
1405        </menuchoice> dialog box.
1406      </para>
1407     
1408      <helptext external_id="broadcast.message" title="Broadcast message">
1409        <para>
1410        This dialog allows you to specify a message that is sent to all
1411        logged in users as well as on the login form. It is also possible
1412        to "disable" login.
1413        </para>
1414        <variablelist>
1415        <varlistentry>
1416          <term><guilabel>Title</guilabel></term>
1417          <listitem>
1418            <para>
1419            The title of the message. It should be a short and concise to
1420            avoid confusion. The title will be displayed on a lot of places
1421            and a user may have to click on it to read the more detailed
1422            message.
1423            </para>
1424          </listitem>
1425        </varlistentry>
1426        <varlistentry>
1427          <term><guilabel>Disable login</guilabel></term>
1428          <listitem>
1429            <para>
1430            Mark this check-box to try to prevent new users from logging in. To
1431            avoid problems that can be caused by blocking the server admin out,
1432            the login is not completely disabled. Any user can still login but
1433            only after by-passing several warnings.
1434            </para>
1435          </listitem>
1436        </varlistentry>
1437        <varlistentry>
1438          <term><guilabel>Message</guilabel></term>
1439          <listitem>
1440            <para>
1441            If needed, a longer message giving more information. Users may
1442            have to click on a link to be able to see the complete message.
1443            </para>
1444          </listitem>
1445        </varlistentry>
1446        </variablelist>
1447       
1448        <note>
1449          The message will be enabled until it is manually removed by saving
1450          an empty form, or until the Tomcat server is restarted. Since the
1451          message is only kept in memory, a restart will always remove it.
1452        </note>
1453     
1454      </helptext>
1455     
1456    </sect2>
1457   
1458  </sect1>
1459
1460</chapter>
Note: See TracBrowser for help on using the repository browser.