source: trunk/doc/src/docbook/appendix/update_warnings.xml @ 7640

Last change on this file since 7640 was 7640, checked in by Nicklas Nordborg, 3 years ago

References #2136: Remove support for spot images

Updated documentation.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Date Id
File size: 21.0 KB
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">
6  $Id: update_warnings.xml 7640 2019-03-11 13:13:29Z nicklas $
8  Copyright (C) 2007 Peter Johansson, Nicklas Nordborg
10  This file is part of BASE - BioArray Software Environment.
11  Available at
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.
18  BASE is distributed in the hope that it will be useful,
19  but WITHOUT ANY WARRANTY; without even the implied warranty of
21  GNU General Public License for more details.
23  You should have received a copy of the GNU General Public License
24  along with BASE. If not, see <>.
27<appendix id="appendix.update_warnings">
28  <?dbhtml filename="updatewarnings.html" ?>
29  <title>Things to consider when updating an existing BASE installation</title>
30  <para>
31    This document is a list of things that may have to be considered
32    when updating a BASE installation to a newer version. The <xref 
33    linkend="installation.upgrade" /> section only include the most
34    recent information that is needed for updating the previous BASE version
35    to the current version.
36  </para>
38  <sect1 id="appendix.update_warnings.3.15">
39    <title>BASE 3.15</title>
41    <bridgehead>Consider upgrading to Java 11 (OpenJDK)</bridgehead>
42    <para>
43      The next BASE release, BASE 3.16, will only support Java 11 or later. BASE 3.15 is
44      the last BASE version that supports Java 8. Our recommendation is to upgrade to
45      Java 11 as soon as possible. Note that Oracle no longer provide a free JDK or JRE.
46      Instead, OpenJDK has to be used, which can be downloaded from
47      <ulink url="" />
48    </para>
50    <para>
51      If you experience any problems with BASE 3.15 and Java 8
52      you could try removing the listed files from the <filename>www/WEB-INF/lib</filename>
53      directory and then restart Tomcat.
54    </para>
56    <itemizedlist>
57      <listitem><filename>java.activation-api-1.2.0.jar</filename></listitem>
58      <listitem><filename>jaxb-api-2.3.1.jar</filename></listitem>
59      <listitem><filename>jaxb-core-</filename></listitem>
60      <listitem><filename>jaxb-impl-2.3.1.jar</filename></listitem>
61    </itemizedlist>
63    <bridgehead>Consider upgrading to Tomcat 9 and PostgreSQL 11</bridgehead>
64    <para>
65      We have started to test BASE with Tomcat 9 and PostgreSQL 11 and we have
66      not found any problems  so far. For new installations we recommend that Tomcat 9
67      and PostgreSQL 11 is used. Official support for Tomcat 8 and PostgreSQL 9 will be
68      dropped in a future BASE version. For existing installations our recommendation
69      is to start planning for an upgrade to Tomcat 9 and PostgreSQL 11.
70    </para>
72    <bridgehead>Secondary storage support has been removed</bridgehead>
73    <para>
74      The <guilabel>Secondary storage</guilabel> feature has been removed.
75      Files that are located in the secondary storage will be marked as offline
76      by the upgrade script. The recommendation is to replace this feature with
77      an external files solution instead.
78    </para>
80    <bridgehead>Spot images support has been removed</bridgehead>
81    <para>
82      It is no longer possible to create new spot images or view existing
83      spot images via the BASE web client. Existing source image files and
84      zip archives with generated spot images have not been removed.
85    </para>
87    <bridgehead>Customizations made in Tomcat's global web.xml file</bridgehead>
88    <para>
89      In the configuration directory for Tomcat there is a <filename>web.xml</filename>
90      file that define global options for all web applications. The settings in this file
91      can be overridden per web application in the <filename>WEB-INF/classes/web.xml</filename>.
92      BASE 3.15 re-defines the <code>jsp</code> <sgmltag class="starttag">servlet</sgmltag>
93      definition to make sure that JSP files are compiled with proper settings. Changes that
94      have been made to the global <filename>web.xml</filename> file for the <code>jsp</code>
95      <sgmltag class="starttag">servlet</sgmltag> must be moved or copied to the
96      <filename>web.xml</filename> file for the BASE web application.
97    </para>
99  </sect1>
101  <sect1 id="appendix.update_warnings.3.14">
102    <title>BASE 3.14</title>
104    <bridgehead>The db.driver setting is no longer used</bridgehead>
105    <para>
106      The JDBC driver to use is now found automatically based on
107      the <constant>db.url</constant> setting in the <filename>base.config</filename>
108      file. The <constant>db.driver</constant> setting can be removed.
109    </para>
111    <bridgehead>The (very) old Authenticator API has been removed</bridgehead>
112    <para>
113      The <code>net.sf.basedb.core.authentication.Authenticator</code>
114      interface and other related code that was deprecated in BASE 3.3
115      has been removed. Systems that still use old authentication code
116      need to replace this with a newer version before updating.
117    </para>
119    <bridgehead>Changes to the authentication system</bridgehead>
120    <para>
121      The authentication system has been updated to make it easier to
122      install more than one external authentication manager. The changes
123      are backwards compatible and existing authentication managers should
124      still work as before as long as they are the only ones installed.
125      However, the existing authentication managers will probably not work
126      well if more than one is installed since they lack some features that
127      are neccessary in order to cooperate with other managers. Before installing
128      more than one authentication manager it is recommended that they are
129      updated to newer versions.
130    </para>
132    <para>
133      Newer authentication managers typically no longer provide support for
134      password authentication. If the intention is that some users still should be
135      able to login with username+password, it is recommended that the
136      <guilabel>Password login form</guilabel> is enabled. Go to
137      <menuchoice>
138        <guimenu>Administrate</guimenu>
139        <guisubmenu>Plug-ins &amp; extensions</guisubmenu>
140        <guimenuitem>Overview</guimenuitem>
141      </menuchoice> and locate the <guilabel>Login form customization</guilabel>
142      extension point to find it.
143    </para>
145  </sect1>
147  <sect1 id="appendix.update_warnings.3.11.1">
148    <title>BASE 3.11.1</title>
150    <bridgehead>Free wells on bioplates</bridgehead>
151    <para>
152      A bug that affected the free wells information on bioplates
153      has been fixed. Existing bioplates may have incorrect number of
154      free wells and can be fixed by running a special script.
156      After installing the BASE 3.11.1 update, change directory to
157      <filename class="directory">&lt;base-dir&gt;/bin/</filename> 
158      and issue
160./ free_wells -u &lt;root login&gt; -p &lt;root pwd&gt;
162    </para>
164  </sect1>
166  <sect1 id="appendix.update_warnings.3.10">
167    <title>BASE 3.10</title>
169    <bridgehead>Changed permissions for annotating items</bridgehead>
170    <para>
171      Before BASE 3.10 a user was able to create/change/delete annotations on
172      an item if the user has <code>WRITE</code> permission on the item and
173      <code>READ</code> permission on the  annotation type.
174      In BASE 3.10 several changes has been made:
175    </para>
177    <itemizedlist>
178      <listitem>
179        <para>
180          <code>USE</code> permission is required on the annotation type to be able
181          to create/change/delete annotations of that type. This may cause user to no
182          longer be able to annotate certain items, unless their permissions
183          are upgraded to <code>USE</code>. Users with <code>READ</code> permission
184          can only read the annotation values.
185        </para>
186      </listitem>
188      <listitem>
189        <para>
190          A new permission level, <code>ANNOTATE</code>, has been introduced.
191          In the permission hierarchy this sits between the <code>READ</code> 
192          and <code>WRITE</code> permission and can be used to give users
193          permissions to manage annotations but not other properties of an item.
194          All users with <code>WRITE</code> permission automatically get
195          <code>ANNOTATE</code> permission so this change should not affect current
196          users.
197        </para>
198      </listitem>
199    </itemizedlist>
201  </sect1>
204  <sect1 id="appendix.update_warnings.3.9">
205    <title>BASE 3.9</title>
207    <bridgehead>Incompatible API change Application API</bridgehead>
208    <para>
209      The <classname docapi="net.sf.basedb.core">Application.getSessionControl()</classname> 
210      method for getting access to an existing session has been deprecated. A new
211      version has been implemented that require that an <emphasis>external client id</emphasis>
212      is specified. Extensions and other client application may stop working unless
213      they are updated. See alos <xref linkend="appendix.incompatible.session-control"/>.
214    </para>
216  </sect1>
219  <sect1 id="appendix.update_warnings.3.8">
220    <title>BASE 3.8</title>
222    <bridgehead> is no longer needed</bridgehead>
223    <para>
224      It is no longer needed to run the <filename></filename>
225      script as part of the upgrade or installation procedure. The funtionality
226      has been integrated into the regular <filename></filename>
227      scripts.
228    </para>
230    <bridgehead>Incompatible API change in ServiceSessionControl</bridgehead>
231    <para>
232      The <classname docapi="net.sf.basedb.core">ServiceSessionControl</classname> API for
233      configuration and building Hibernate <classname>SessionFactory</classname>
234      instances has been changed due the Hibernate 5 upgrade. This change affects
235      extensions that use the API for storing their own data inside the BASE database.
236      Extensions that use this API must be updated or they will not work with BASE 3.8.
237    </para>
239  </sect1>
241  <sect1 id="appendix.update_warnings.3.6">
242    <title>BASE 3.6</title>
244    <bridgehead>Update to Java 8</bridgehead>
245    <para>
246      BASE will no longer run with Java 7. Unless you have already
247      updated to Java 8 you should do so before updating to BASE 3.6.
248      Note that BASE 3.5 works with both Java 7 and 8 so the Java
249      update can be made ahead of time.
250    </para>
252    <bridgehead>Update to Tomcat 8</bridgehead>
253    <para>
254      Tomcat 7 is no longer supported. We recommend updating
255      to Tomcat 8 before updating to BASE 3.6. Note that
256      BASE 3.5 works with both Tomcat 7 and 8 so the Tomcat
257      update can be made ahead of time.
258    </para>
260  </sect1>
262  <sect1 id="appendix.update_warnings.3.5">
263    <title>BASE 3.5</title>
265    <bridgehead>Biomaterial lists have been replaced with item lists</bridgehead>
266    <para>
267      This is a major change that has caused a binary incompatibility in the BASE core
268      API. If you depend on custom extensions or plug-ins that use the biomaterial list
269      API this code must be updated before updating to BASE 3.5. Read more
270      about the incompatibilities in <xref linkend="appendix.incompatible.itemlists" />.
271    </para>
273    <bridgehead>Consider updating to Java 8</bridgehead>
274    <para>
275      Oracle is no longer supporting Java 1.7. We are recommending Java 8
276      for running BASE. Java 7 is still supported, but will be removed
277      in the next version (BASE 3.6).
278    </para>
280    <bridgehead>Consider updating to Tomcat 8</bridgehead>
281    <para>
282      We have now tested BASE with Tomcat 8 and it seems to work without
283      any problems. Support for Tomcat 7 will be removed in the next
284      version (BASE 3.6).
285    </para>
287  </sect1>
289  <sect1 id="appendix.update_warnings.3.4">
290    <title>BASE 3.4</title>
292    <bridgehead>Updating from BASE 2.17 is no longer possible</bridgehead>
293    <para>
294      If you are still running an BASE 2.17 (or earlier) BASE version
295      and want to update to BASE 3.4 you must first update to BASE 3.3
296      or earlier.
297    </para>
299    <bridgehead>Web services support has been removed</bridgehead>
300    <para>
301      As announced earlier web services support has been removed in BASE 3.4.
302      If anyone require web services support or similar we recommend using the BASE
303      extensions mechanism to implement exactly what is needed for that project and
304      we also beleive that a simplier API such as JSON is preferable.
305    </para>
307    <bridgehead>PostgreSQL users should change db.dialect</bridgehead>
308    <para>
309      In <filename>base.config</filename> there is a <constant>db.config</constant>
310      setting. Servers running with PostgreSQL as the database should change the
311      dialect to <classname>org.hibernate.dialect.PostgreSQL9Dialect</classname>
312      since the <classname>org.hibernate.dialect.PostgreSQLDialect</classname> has
313      been deprecated.
314    </para>
316  </sect1>
318  <sect1 id="appendix.update_warnings.3.3.3">
319    <title>BASE 3.3.3</title>
321    <bridgehead>Remaining quantity</bridgehead>
322    <para>
323      A bug that affected remaining quantity calculations for
324      biomaterial item has been fixed. Existing items may have been
325      saved with incorrect remaining quantity and must be fixed.
326      After installing the BASE 3.3.3 update, the existing
327      remaining quantity values are fix by running a special script.
328      Change directory to <filename class="directory">&lt;base-dir&gt;/bin/</filename> 
329      and issue
331./ remaining_quantity -u &lt;root login&gt; -p &lt;root pwd&gt;
333    </para>
335  </sect1>
337  <sect1 id="appendix.update_warnings.3.3">
338    <title>BASE 3.3</title>
340    <bridgehead>Content security policy</bridgehead>
341    <para>
342      The BASE web client now set a rather strict <emphasis>Content
343      Security Policy</emphasis> that prevent browsers from executing
344      code (including JavaScript) that is considered unsafe. Some extensions
345      may cease to work due to this. Go to
346      <menuchoice>
347        <guimenu>Administrate</guimenu>
348        <guimenuitem>Plug-ins &amp; extensions</guimenuitem>
349        <guimenuitem>Overview</guimenuitem>
350      </menuchoice> 
351      (after upgrading) to see if there are any warnings about this.
352      Read more in <xref linkend="appendix.web.xml.csp-filter" />
353      for information about how to relax the policy.
354    </para>
356    <bridgehead>Java SE 7 is required</bridgehead>
357    <para>
358      BASE now require <ulink url="">Java SE 7</ulink>.
359      Servers with Java SE 6 or older should be updated to Java SE 7 before installing BASE 3.3.
360    </para>
362    <bridgehead>Tomcat 7 is required</bridgehead>
363    <para>
364      BASE now require <ulink url="">Tomcat 7</ulink>.
365      Servers with Tomcat 6 or older should be updated to Tomcat 7 before installing BASE 3.3.
366    </para>
368    <bridgehead>Web services support has been deprecated</bridgehead>
369    <para>
370      The current implementation is most likely not very useful and has limited
371      support for accessing information in BASE. Therefore it has been decided to
372      remove the web services support in BASE 3.4. If anyone require web services
373      support or similar we recommend using the BASE extensions mechanism to implement
374      exactly what is needed for that project and we also beleive that a simplier
375      API such as JSON is preferable.
376    </para>
378  </sect1>
380  <sect1 id="appendix.update_warnings.3.2">
381    <title>BASE 3.2</title>
383    <bridgehead>Custom logging implementations must be updated</bridgehead>
384    <para>
385      The plug-in functionality for custom logging has been converted
386      to an extension point. The default database logging will continue
387      to function, but custom logging implementations must be converted
388      to an extension. See <xref linkend="appendix.incompatible.3.2" /> and
389      <xref linkend="extensions_developer.logging" /> for more information.
390    </para>
392  </sect1>
394  <sect1 id="appendix.update_warnings.3.0">
395    <title>BASE 3.0</title>
397    <note>
398      <title>Upgrading to BASE 3 is possible from BASE 2.17 only</title>
399      <para>
400        If your BASE is an older 2.x version you'll need to upgrade
401        to BASE 2.17 before an upgrade to BASE 3 is possible. Also note
402        that since BASE 3.3 we no longer actively test the upgrade
403        script. If upgrading doesn't work for a particular BASE 3.x version
404        (where x &gt; 2) please try to upgrade to BASE 3.2 first and then
405        from BASE 3.2 to BASE 3.x.
406      </para>
407    </note>
409    <warning>
410      <title>Make sure that you have a recent backup of the BASE 2.17 database</title>
411      <para>
412        Before starting the upgrade from BASE 2.17 to BASE 3 ensure that you
413        have a recent backup. If the upgrade fails you must restore the
414        2.17 database before you can try again. The upgrade only changes the
415        'static' part of the database, so you do not have to restore the
416        'dynamic' part or the uploaded files.
417      </para>
418    </warning>
420    <bridgehead>Old plug-ins and extensions may not work</bridgehead>
421    <para>
422      The BASE API has changed in several places and it is not certain that
423      plug-ins and extensions developed for BASE 2 works with BASE 3. The
424      upgrade will disable all plug-ins and extensions that are currently installed.
425      Before you upgrade we recommend that you go through all (external) plug-ins
426      and check if there is an updated version. The recommended approach
427      is to first upgrade BASE and then install updated versions of plug-ins
428      and extensions following the instructions in <xref 
429      linkend="plugins.installation"/>.
430    </para>
432    <para>
433      If there is no updated version of a specific plug-in you may try
434      a manual re-installation of the old plug-ins. Follow the instructions
435      in <xref linkend="plugins.installation.manual" />.
436    </para>
438    <para>
439      If there is no updated version and the old plug-in doesn't work with
440      BASE 3, you'll need to decide if you really need the plug-in or if
441      the upgrade should wait until a new version of the plug-in
442      has been released.
443    </para>
445    <bridgehead>Batch item importer changes</bridgehead>
446    <para>
447      There are several changes to batch item importers that may affect
448      current workflows and file templates used for importing data.
449    </para>
451    <itemizedlist>
452      <listitem>
453        <para>
454          Sample and extract importers: The 'pooled' column is no longer used.
455          Instead a 'parent type' column should be used with
456          the parent type as a string value (BIOSOURCE, SAMPLE or EXTRACT).
457          Existing importer configurations and file templates may have to be
458          updated. If no parent type is specified the sample importer assumes
459          a biosource and the extract importer assumes a sample.
460        </para>
461      </listitem>
462      <listitem>
463        <para>
464          Labeled extract importer: This has been deprecated and it is recommended
465          that the <emphasis>Extract importer</emphasis> is used instead.
466          We recommend that existing labeled extract importer configurations are re-created as extract
467          importer configurations. The old labeled extract importer can be
468          re-enabled, but note that the existing configurations still need
469          to be changed due to the 'pooled' column is no longer used.
470        </para>
471      </listitem>
472      <listitem>
473        <para>
474          Hybridization importer: This has been deprecated and we recommend
475          that the <emphasis>Physical bioassay importer</emphasis> is used instead.
476          Existing hybridization importer configurations should be re-created as
477          physical bioassay importer configurations.
478        </para>
479      </listitem>
480      <listitem>
481        <para>
482          Scan importer: This has been deprecated and it is recommended
483          that the <emphasis>Derived bioassay importer</emphasis> is used instead.
484          Existing scan importer configurations should be re-created as derived
485          bioassay importer configurations.
486        </para>
487      </listitem>
488    </itemizedlist>
490    <note>
491      The deprecated importers can be re-enabled by an administrator from the
492      <menuchoice>
493        <guimenu>Administrate</guimenu>
494        <guisubmenu>Plug-ins &amp; extensions</guisubmenu>
495        <guimenuitem>Overview</guimenuitem>
496      </menuchoice> page, but they are
497      lacking features that are available in the new importers so this is not
498      something that we recommend.
499    </note>
501    <bridgehead>MySQL and PostgreSQL versions</bridgehead>
502    <para>
503      We have only tested BASE 3 with PostgreSQL 9.1. If anyone
504      experiences any issues with earlier PostgreSQL versions, we
505      recommend an upgrade to PostgreSQL 9.1. This is a change since
506      BASE 2 which was tested with PostgreSQL 8.4. Even though BASE 3
507      may work with older PostgreSQL versions, we don't have the resources
508      needed to test and provide support for it.
509    </para>
511    <para>
512      We have only tested BASE 3 with MySQL 5.1 (no change since BASE 2).
513      If anyone experiences any issues with earlier (or later) MySQL versions,
514      we recommend an upgrade/downgrade to MySQL 5.1.
515    </para>
517  </sect1>
519  <sect1 id="appendix.update_warnings.2.x">
520    <title>All BASE 2.x releases</title>
522    <para>
523      We only support updating to BASE 3 from BASE 2.17. If you have an older BASE
524      version and wish to update to BASE 3, you first have to upgrade to BASE 2.17.
525      BASE 2.17 can be downloaded from the <ulink url="">BASE
526      download page</ulink>. Documentation for BASE 2.17 is available as part of the
527      download and at <ulink url=""
528      ></ulink>.
529    </para>
531  </sect1>
Note: See TracBrowser for help on using the repository browser.