User Tools

Site Tools


faq:technical:update_gecamed_by_hand

Update GECAMed by hand

Expert Update Instructions

This page is intended for people who know what they are doing.

There are some legacy GECAMed installations that are not installed via the GECAMed installer and therefore are not updatable via the lateast GECAMed updaters.
You will find detailed instructions on how to update an GECAMed installation by hand. This is only for people who really know what they are doing.

Preconditions

You need:

  1. Access to the database via psql or PGAdmin (see How to get access to the GECAMed database)
  2. Read/write access to the JBoss directory
  3. You should know what SQL is.

Download

Download here the latest list of database updates and the GECAMed application files:

FilenameFilesizeLast modified
gecamed_2.07.04_dbupdates.zip329.6 KiB2017/12/13 07:39
gecamed_2.07.04_deploy.zip98.5 MiB2017/12/13 07:39

PLEASE MAKE SURE THAT YOU ONLY RUN THE DATABASE UPDATES THAT HAVE NOT ALREADY BEEN DONE. SEE INSTRUCTIONS BELOW!

for example for an update from Version 1.0.22 to 1.1.01 you need to run the following database updates:

db_update_1.0.23_001.sql
db_update_1.1.00_001.sql
db_update_1.1.00_002.sql
db_update_1.1.00_003.sql
db_update_1.1.01_001.sql

Updating

First thing to do is either to stop the JBoss server or to tell every user to stop working with GECAMed while you are doing the update.
Second do a backup of the database and the jboss directory. If anything goes wrong, you can recover the initial state.

Copy the database updates and the GECAMed application files in the server.
The database updates archive contains all updates from version 1.0 till the latest. The first step is to check which updates have already been applied to the database.

Start psql and connect to the GECAMed database. You can find the connection properties in the file JBOSS_HOME/server/default/deploy/GECAMed-ds.xml.

psql -U USERNAME -d DATABASENAME -h localhost

If the login fails, try without -h localhost

JBOSS_HOME is the folder in which the jboss had been installed. Its just a placeholder for the real folder. Sometimes it can be found in /usr/local/jboss

Next step is to get the list of already applied updates. Fire the following SQL statement:

SELECT * FROM core.info WHERE KEY='LAST_UPDATE' ORDER BY DATE ASC;

You will probably get a list of applied updates. The list should look like this:

38 | 2009-02-02 15:39:49.875688 | LAST_UPDATE | db_update_1.0.9_003.sql
39 | 2009-02-27 10:39:34.291951 | LAST_UPDATE | db_update_1.0.13_002.sql

Identify the line with the latest date. This is the last applied update.
The update files are following a naming-convention to ensure the right ordering. The files are always named db_update_VERSION_COUNT.sql. For example the file db_update_1.0.9_003.sql is an update for version 1.0.9 and is the third update for this version.
You now have to find the updates in the downloaded updates files that are newer than the latest updates of the database. Apply these updates in the following order to the database:

db_update_1.0.1_001.sql
db_update_1.0.2_001.sql
db_update_1.0.2_002.sql
db_update_1.0.3_001.sql
db_update_1.0.5_001.sql
db_update_1.0.7_001.sql
db_update_1.0.8_001.sql
db_update_1.0.8_002.sql
db_update_1.0.9_001.sql
db_update_1.0.9_002.sql
db_update_1.0.9_003.sql
db_update_1.0.9_004.sql  
db_update_1.0.10_001.sql
db_update_1.0.10_002.sql
db_update_1.0.11_001.sql
db_update_1.0.13_001.sql
db_update_1.0.13_002.sql
db_update_1.0.13_003.sql
db_update_1.0.13_004.sql
db_update_1.0.14_001.sql
db_update_1.0.14_002.sql
db_update_1.0.14_003.sql
db_update_1.0.14_004.sql  
db_update_1.0.14_005.sql
db_update_1.0.15_001.sql <- if the last update in the database is this one, apply all update below in this order!
db_update_1.0.15_002.sql
db_update_1.0.16_001.sql
db_update_1.0.17_001.sql
db_update_1.0.17_002.sql
db_update_1.0.17_003.sql
db_update_1.0.19_001.sql
db_update_1.0.19_002.sql
db_update_1.0.19_003.sql
db_update_1.0.20_001.sql
db_update_1.0.22_001.sql
db_update_1.0.22_002.sql
db_update_1.0.22_003.sql
db_update_1.0.23_001.sql
db_update_1.1.00_001.sql
db_update_1.1.00_002.sql
db_update_1.1.00_003.sql
db_update_1.1.01_001.sql

Its important to keep this order of the updates

Now disconnect from the database again by typing:

quit

To apply the sql scripts to the database change your current directory to the directory in which the sql files are located. Type the following commands

psql -f db_update_1.0.XX.sql DATABASENAME

This will apply the scripts to the database.

The GECAMed database is now updated to the latest version.

Last step is to copy the GECAMed application files to the JBoss folder. In the application archive are two or three files: GECAMed.ear, gecamed.war, [gecamed.sar]
Copy them into the JBoss deploy folder: JBOSS_HOME/server/default/deploy/ and restart the JBoss server. Make sure that you remove or replace the old files completely from the deploy/ folder. Do not move them into a sub-folder of deploy/ , because JBoss will go through all subfolders to find files, and try to deploy them.

And thats all the magic behind a GECAMed update process. If you start a client, it should download the latest GECAMed version. You can check this in the client by selection Help ⇒ About. You find the version of the server and the client in this screen. If this is not the just updated version, close the client and start a webbrowser. Open the address http://SERVER_IP:8080/gecamed and click on “Start GECAMed”. This should trigger the download of the latest client.

faq/technical/update_gecamed_by_hand.txt · Last modified: 2017/12/13 07:39 by hermen