jBilling releases are frequent, with a new one every two or three months. New releases contain new features and bug fixes, so it is recommended that you install the latest version.
Upgrading your jBilling installation to the latest version is included with some of our support packages (click here for more information). For those without support, this guide will give you a generic way to do an upgrade between two jBilling releases.
Note that you will need knowledge of SQL and other computer skills to do this, and that this guide does not cover special cases found in some jBilling releases. It is a generic guide that will address most releases and in any case be helpful in providing an idea of what an upgrade involves.
The guide mentions many times to "check for changes" in a file. To know how to do this, see the section 'How to find differences in a file' at the bottom of this page.
- Identify your revision and the one you want to migrate to. This is easily done by taking a look to the release notes. You can find the release notes document (release_notes.pdf) in the jBilling directory. Since the release notes document is cumulative, the latest version will show all the previous versions. You need to take the last revision for each version. For example, if upgrading from 1.0.6 to 1.0.8, I will take revision number 90 for 1.0.6 and revision 210 for 1.0.8.
- Download the new jBilling. In the example, it would be 1.0.8.
- Copy the configuration files from your old installation to the new one. Here you will need to remember or find out all of the configuration files that you have changed. The most obvious one is jBilling.properties. For each file, do not just overwrite the new files with the old ones. Check for changes on the new files. For example, in jBilling.properties you will find a few new entries in jBilling 1.0.8 that were not there in jBilling 1.0.6.
- Now to update the database. Check what has changed in descriptors/torque/jBilling-schema.xml. Of course, this is just an xml file that described the database tables. You will have to translate the added and changed lines in this file to actual SQL statements: 'create table' if a new table was introduced, for example.
- It will be helpful to look to the initialization file (/resources/db-samples/jBilling-schema-*.sql) for your database type. There you'll find the concrete data types of each column.
- Check what's changed in /descriptors/torque/jBilling-data.xml Again, this is just the xml descriptor, so you will need the actual SQL statements. For this, the file initialization file (/resources/db-samples/jBilling-data.sql) will be helpful.
How to find the differences in a file
- Start by finding the file by adding 'http://svn.sourceforge.net/viewvc/jBilling/trunk' to the path. So for /descriptors/resources/jBilling.properties.sample it would be http://svn.sourceforge.net/viewvc/jBilling/trunk/descriptors/resources/jBilling.properties.sample?view=log
- Find the revision number that applies for the version you are looking for. Note that you have to use the closest smaller number. So in the example, 210 would be 187, and for 90 it is 65.
- Click on 'select for diffs' on the higher revision (187 in the example).
- Click on 'diff to selected 187' on the lower revision (65 in the example).