Tigase Server Binary Updates

Artur Hefczyc <artur.hefczyc@tigase.net> v2.0, June 2014: Reformatted for AsciiDoc. :toc: :numbered: :website: http://tigase.net :Date: 2010-04-06 21:18

Most projects try to make sure that the SVN trunk code always compiles correctly. In the Tigase server case this is not enough however. Lots of installations out there we know of run just straight from out SVN trunk line. This puts on us an extra responsibility. Therefore our general approach is to run all functional tests before each code commit to ensure it works correctly. Of course this does not guarantee it will work correctly and efficiently in all cases and on all systems.

Some people like to be on the bleeding edge and always use the source code repository trunk some others prefer to stick to stable public releases. There is however a lot of other who would like to be able to use something from the middle - have the most recent features and new bug fixes but at least in "Beta" or "Release-Candidate" state.

If you look at the Monitor on the right hand side of the Tigase website you can see that the currently running version is always higher then the version available for download. If you are interested to update your server to the more recent version without much hassle please continue to read.

Installing Tigase from the public binary packages is pretty straightforward especially if you use the installer. Using SVN trunk sources to compile them for your own installation is not simple thing, however people who decide to do so normally don’t need much help or instructions. This document describes how to update your system using so called Betas or RC versions we release from time to time.

For releasing our Betas or RC versions we use Maven tool. All our projects and packages are always available in the Tigase Maven repository. You can find there both sources, documentation and binary packages ready to download and use.

If you look for example into the Tigase server directory you can see a list of versions already published. The version with SNAPSHOT in name is something we are working on right now or we used to work in the past. The code used to generate the version is very close to what is in SVN repository.

Therefore if you want to use the most recent SVN code but don’t want to compile it yourself you can download the most recent SNAPSHOT and replace your current libraries with it. Please note there might be many snapshots for a single version number. Just pick the last one. The file name consists of the version number, the creation date, creation time and snapshot number: tigase-server-4.1.1-20090211.142252-8.jar.

Those who are interested in using more stable version should pick the most recent version without the SNAPSHOT in its name. There is always only one binary release for each final version. Looking in the version directory you can find 2 more binary files for each final version: one with documentation and another with source codes. Each final release is also tagged in our SVN repository so you can checkout or browse the source code if you need. There is a nicer source code browser available too.

A few things to remember when you do the update from our maven repository:

  1. If you update to the most recent version of the server you MUST also update all libraries to the most recent version and you MUST also update all other elements like MUC and PubSub. Only this way you can be sure all parts are compatible with each other and will work correctly.
  2. Please make sure you REPLACE old libraries with new files. A common mistake is to copy new libraries to a directory and leave old files too. This leads to unpredictable problems. Note, tigase server library for example is stored in jars/tigase-server.jar file. From the repository however you would download: tigase-server-4.1.4.jar file. Make sure you don’t have both loaded at runtime.

The instruction may not be accurate or complete. If you run in to any problems or find something wrong with the instruction please let me know. I am always open for suggestions and comments.