bgee-applications/ The Java Maven project of Bgee
....bgee-core/ The core layer of Bgee, or "business" layer.
....bgee-dao-api/ The API to use a data source, such as a MySQL database. This API
is used by the "bgee-core" and the "bgee-pipeline" modules.
....bgee-dao-sql/ A service provider for the "bgee-dao-api" module, allowing to use
a MySQL database as data source.
....bgee-pipeline/ Classes used to generate and insert data into the Bgee database.
The jar file generated from this module will be used as part of the pipeline,
see pipeline directory description.
....bgee-webapp/ The controller and view layer of the application. This module
relies only on the use of the "bgee-core" module. It is not
aware of the use under the hood of the other modules.
The master
branch always reflects the release of Bgee on production, the develop
branch
reflects the next release of Bgee.
develop
into master
:
pom.xml
and bgee-webapp/pom.xml
are correct in both branches.
Notably, if the releases have the same major version number (e.g., same major version for Bgee 14.0
and Bgee 14.1), the js and css files should have different letters for version numbers (see
bgee-webapp/pom.xml
properties filter.org.bgee.webapp.css.version.extension
and
filter.org.bgee.webapp.javascript.version.extension
). In pom.xml
, version
should reflect
only the major version.master
creates two new branches for archiving:archive_bgee_vXX
(e.g., archive_bgee_v14
). This will be the official branch
for this archived version, where specific changes for this version can still be done.
In this archive branch, and only in this branch, update the properties (
bgee-webapp/src/main/resources/bgee.properties
,
bgee-webapp/src/main/resources/bgee.dao.properties
) so that, for instance,
links to download files point to the archived version.archive_common_bgee_vXX_and_later
(e.g., archive_common_bgee_v14_and_later
),
that will be a branch allowing to deploy fixes that need to impact all versions starting
with this one (for instance, if a vulnerability is discovered in this version, and impacts
all further versions, the fix will be done in this branch, and be merged back into the branches
for all other versions, including archive_bgee_vXX
, develop
, master
, etc).master
if it has changed since the last tag was made.master
if any change occurred since the last deployment of the webapp,
to have a clean WAR file for deploying what is going to be the next archive version.develop
branch.develop
branchdevelop
into master
master
pom.xml
for the next release of Bgee in the develop
branch/var/bgee/webapp/XX/
,
/var/bgee/webapp/XX/requestparameters/
,
/var/bgee/webapp/XX/topanat/
, /var/bgee/webapp/XX/topanat/results
. For instance, create the directories
/var/bgee/webapp/14_1/
, /var/bgee/webapp/14_1/requestparameters/
,
/var/bgee/webapp/14_1/topanat/
, /var/bgee/webapp/14_1/topanat/results/
RequestParameters
are stored (change in this class should be
backward compatible), for making them available for the new release. If it's not backward compatible,
then all URLs using the data
parameter will be broken, but maybe sometimes it will be necessary.
For instance, copy the content of /var/bgee/webapp/14/requestparameters/
into
/var/bgee/webapp/14_1/requestparameters/
.topanat
directory from the previous version. Computations need to be redone
with the new data.bgee-webapp-latest
symlink to point to it. bgee_latest
is defined as the ROOT in tomcat configurationbgee.properties
file of the previous release to switch it to archive mode (
org.bgee.webapp.archive=true
).https://www.bgee.org/bgee14_1/
redirects to https://www.bgee.org/
). This redirection
should be stopped for the previous release of course.=> As a result, apache should also be configured for redirecting URLs of the SPARQL endpoint
(i.e., https://www.bgee.org/sparql14_1
should point to the archived endpoint,
https://www.bgee.org/sparql
always to the official endpoint).
current
folder to point to the new release