Project

General

Profile

Wiki » History » Revision 10

Revision 9 (Yannick Warnier, 29/01/2010 01:24) → Revision 10/101 (Yannick Warnier, 05/03/2010 18:31)

h1. Chamilo 1.8 extra info

h2. Interface/pedagogical decisions

h3. Sessions

[[Management of tools by session]

h2.
Rules

[[Coding conventions]]

h2. Setup tricks

[[UTF-8 install]]

h2. Release process

* Try not to *officially* announce a release on a Monday or a Friday. Monday is the day the most people will come to you about something that doesn't work so you will be busy answering them, plus you might still be recovering from that crazy week-end. Friday doesn't give you any chance to fix something in a hurry if you missed something out.
* Make sure the correct version number is used in:
** the upgrade/install script main/install/index.php ($new_version = ...)
** the various readmes, installation guides, ...
** update chamilo.org/doc/installation_guide.html (only on stable releases)

* Don't forget to commit the latest language files from DLTT before checking out (export) the cvs code to create the release package. '''Do not''' first create the release package from cvs and then add the DLTT, this will cause problems (having a release tag that doesn't include new language files is one of them).
* For every unstable release changing the database structure, update the main database's version, making sure to use the full version of Dokeos + a suffix of "." and the latest hg commit:
update settings_current set value = '1.8.6.18412' WHERE variable = 'dokeos_database_version';
* Remove the tests/ directory from the release package. This is a development directory and *should not* be in the final package as it represents a HIGH SECURITY RISK.
* When releasing test or alpha versions without working upgrade procedure, disable the upgrade button in the installer.
* Update the list of changed files in the release notes

h3. Mercurial Instructions

You have to be sure that you have the tip version of mercurial (no pending commits, merge)
Updating just in case our local repository
* hg pull
* hg update -C

Tagging:

* hg tag -m "tagging 1.8.6 code - creating alpha 1" -u jmontoya CHAMILO_1_8_6_ALPHA_1
* You can also delete a tag if you wish
* hg tag --remove tagname
* After that you MUST do '''hg push''' to send you changes to the main repository
* To check if everything is fine you can execute "hg tags" to see the current dokeos tags
* When creating the code archive, make sure the archive unpacks in a directory which includes the version number. This will help to avoid to overwrite other Chamilo installations when unpacking (See http://www.dokeos.com/forum/viewtopic.php?t=7983). To do that, you should do something like this:

<pre>
cd /tmp
hg clone -r CHAMILO_1_8_6_ALPHA_1 https://classic.chamilo.googlecode.com/hg/ chamilo-1.8.6-alpha
rm -rf chamilo-1.8.6-alpha/tests/ chamilo-1.8.6-alpha/searchdb/
zip -r -9 chamilo-1.8.6-alpha.zip chamilo-1.8.6-alpha/
tar zcf chamilo-1.8.6-alpha.tar.gz chamilo-1.8.6-alpha/
</pre>

h3. Publish

*Upload zip to Google code server (make sure permissions are alright), preferably in zip AND tar.gz format
*Generata an MD5 SUM of the archives, and add them on the website's download pages (copy the files generated by the following commands to the same place as the archives)

<pre>
md5sum chamilo-1.8.6.1.zip >> chamilo-1.8.6.1.zip.md5
gpg -a --sign -o chamilo-1.8.6.1.zip.md5.asc chamilo-1.8.6.1.zip.md5
</pre>

*Update version in www.chamilo.org/version.txt (only on stable releases) - make sure it doesn't contain unnecessary blank spaces
*Update this public wiki's versions pages

h4. Promotion/Announcements

* update news on [http://www.sourceforge.net/|SourceForge]
* update news on [http://www.freshmeat.net|Freshmeat]
* update news in every language on [http://www.chamilo.org]
* update download page in every language on [http://www.chamilo.org]
* send announcement in Chamilo's newsletter
* change details on this wiki
* announce in the forum (possibly change forum names)
* announce on Twitter
* announce on Facebook
* announce on LinkedIn
* Link from digg
* announce on e-magister
* announce on Xing