=========================
Making a release
=========================
:Authors: Fred Vos, Sjoerd Schunselaar
:Date: 2010-03-18
.. sectnum::
:start: 1
.. footer::
\- ###Page### -
Development, test, demo and production machines
+++++++++++++++++++++++++++++++++++++++++++++++
Development
-----------
Software development is done on the PC's of developers.
Test
----
A new release is first installed on a test-machine.
If it is a release for production,
it can be shown to a small list of people to try it out using different platforms.
Fred Vos uses africa.uvt.nl for this purpose.
If a release seems to work properly, it is installed either on the Demo machine or on the production machine.
Demo
----
- URL: http://demo.economistsonline.org/
- Server: pukurin.uvt.nl
Here we show intermediate versions to the NEEO community.
This site is not supposed to be used for production purposes.
It's purpose is:
- to show we are making progress
- have a bigger group of testers
- get feedback on new features
The site is open to the world.
New versions on the demo-site are announced on the NEEO list.
In discussions via mail the site is also called 'demo.e.o'.
Production
----------
- URL: http://www.economistsonline.org/
- Servers: knuth.uvt.nl and moore.uvt.nl
This is the public site.
In discussions via mail the site is also called 'www.e.o'.
Versioning
++++++++++
- x.y.0 versions are used for production.
- x.y.z versions are used for demo and in rare cases for production too.
Version x.y.1 is a step on the way to a new release to production.
Suppose the current version at production is 1.2.0,
then demo-releases following the installation of 1.2.0 are numbered 1.2.1, 1.2.2, et cetera.
Even the release candidate for 1.3.0 has a 1.2.z number.
We have no experience with bug fix releases for the production version while working on a new x.y.0 version.
Preparation
+++++++++++
Assuming we are making a release from the latest revision in the trunk.
- Edit the neeo/src/changes/changes.xml file to add a list of bug fixes
and new features for this release
- Check file neeo/src/site/apt/roadmap.apt and make changes if necessary
- Make sure all necessary features and bugfixes for the release are available
in the Subversion repository
- In neeo-website/pom.xml set the version
::
info.nereus4economics.neeo
neeo-website
war
Website
1.2.3
Always use three levels, so for public release 1.4 use 1.4.0.
- Make sure that on the pc where the release is prepared,
all pending changes are committed to trunk
- Make sure that on the pc where the release is prepared,
the system is updated to the latest revision of the trunk
- Make sure that the current status of uvt-commons-io, uvt-commons-xml and uvt-commons-oai are installed in the local repository
- Build everything on the development machine
- Run the integration tests ``mvn clean -Pci integration-test``
- Check the test-script; add tests for new features if necessary
- Perform the test-script to verify everything works as expected on the development machine
- Commit latest changes to Subversion repository if necessary
Install release on test-machine
+++++++++++++++++++++++++++++++
- Tag the current status:
::
$ svn copy -m "Tagging release 1.2.3" \
https://svn.non-gnu.uvt.nl/uvt-dev/trunk/sources/neeo \
https://svn.non-gnu.uvt.nl/uvt-dev/tags/sources/neeo-1.2.3
Replace '1.2.3' with the real release number.
Always use three levels, so for public release 1.4 use 1.4.0.
Just before install
+++++++++++++++++++
- Use the properties files in src/main/resources/shared/neeo_properties as default
- Set the version number in the general.properties file for a system
- Validate and change the following property files:
- general.properties:
::
neeo.partners.directory = /var/lib/neeo/partners
neeo.sru.server = http\://169.254.0.1\:8080/sru
neeo.solr.server = http\://africa.uvt.nl:8983/solr/select/
statistics.url = http://africa.uvt.nl:8180/dodoco-1.0-SNAPSHOT/
neeo.searchwords = all,abstract,author,title,journal_title,keywords
neeo.searchwords.all.title = All
neeo.searchwords.all.searchkey =
neeo.searchwords.all.mods =
neeo.searchwords.all.mlkey = all
neeo.searchwords.abstract.title = Abstract
neeo.searchwords.abstract.searchkey = AB
neeo.searchwords.abstract.mods = mods.abstract
neeo.searchwords.abstract.mlkey = abstract
neeo.searchwords.author.title = Author
neeo.searchwords.author.searchkey = AU
neeo.searchwords.author.mods = mods.name.namePart
neeo.searchwords.author.skiptranslate = true
neeo.searchwords.author.mlkey = author
neeo.searchwords.title.title = Title
neeo.searchwords.title.searchkey = TI
neeo.searchwords.title.mods = mods.titleInfo.title
neeo.searchwords.title.mlkey = title
neeo.searchwords.journal_title.title = Journal
neeo.searchwords.journal_title.searchkey = JN
neeo.searchwords.journal_title.mods = mods.relatedItem.titleInfo.title
neeo.searchwords.journal_title.mlkey = journal
neeo.searchwords.keywords.title = Keywords
neeo.searchwords.keywords.searchkey = KW
neeo.searchwords.keywords.mods = mods.subject.topic
neeo.searchwords.keywords.mlkey = keywords
neeo.search.year.range = 10
neeo.popup.visible = true
neeo.popup.file_en = popup_en.html
neeo.popup.file_es = popup_en.html
neeo.popup.file_fr = popup_en.html
neeo.popup.file_de = popup_en.html
neeo.motd.visible = true
neeo.motd.file_en = motd_en.html
neeo.motd.file_es = motd_en.html
neeo.motd.file_fr = motd_en.html
neeo.motd.file_de = motd_en.html
neeo.logdir = /var/lib/neeo/log
- mail.properties:
::
neeo.mail.mailToPartners = true
- Build neeo-website for production:
::
$ cd neeo/neeo-website
$ mvn package -P prod
This generates a ``neeo-website-1.2.3.war`` file in subdirectory target/.
- Install .war files on test machine.
- Repeat the test script for this release on the test-machine.
- Send an e-mail message to Richard, Eric, Benoit, Thomas, Sjoerd and Fred,
announcing the test-version
::
Subject: xxx
Text of message: xxx