ChiliProject is not maintained anymore. Please be advised that there will be no more updates.

We do not recommend that you setup new ChiliProject instances and we urge all existing users to migrate their data to a maintained system, e.g. Redmine. We will provide a migration script later. In the meantime, you can use the instructions by Christian Daehn.

Upgrade

Version 6 (Holger Just, 2013-01-09 12:15 am)

1 4 Holger Just
{{>toc}}
2 1
3 4 Holger Just
h1. Upgrading ChiliProject
4 4 Holger Just
5 5 Holger Just
p(smallsee-also). If you are looking to upgrade from Redmine to ChiliProject, please read [[Migrate From Redmine]].
6 1
7 4 Holger Just
h2. Step 1 - Check requirements
8 1
9 2 Holger Just
In order to successfully install and run ChiliProject, make sure you meet the system [[requirements]].
10 2 Holger Just
11 4 Holger Just
h2. Step 2 - Backup data
12 2 Holger Just
13 2 Holger Just
Always backup you data before any upgrade. You will need to backup:
14 2 Holger Just
15 2 Holger Just
* File uploads - stored in @files/@ or another custom directory as defined in your [[Configuration File]].
16 1
* Database
17 2 Holger Just
18 2 Holger Just
For major upgrades (1.1.0 to 2.0.0) or migrations from another system it is also recommended that you backup your entire installation directory too.
19 2 Holger Just
20 4 Holger Just
h2. Step 3 - Update the code
21 2 Holger Just
22 2 Holger Just
The exact process to upgrade the code is different depending on how you have installed the system.
23 2 Holger Just
24 2 Holger Just
h3. Git clone from the official repository
25 1
26 6 Holger Just
If you have a clone of the official repository, "gitting" the latest code is quite easy.
27 1
28 6 Holger Just
h4. Upgrade to an official tagged release
29 6 Holger Just
30 6 Holger Just
Assuming you are following the releases and want to get the official 1.1.0 release:
31 6 Holger Just
32 6 Holger Just
<pre><code>git fetch origin    # Grabs the latest official code
33 6 Holger Just
git merge origin/v1.1.0    # Merges the v1.1.0 tag version
34 6 Holger Just
</code></pre>
35 6 Holger Just
36 6 Holger Just
If there are no merge conflicts then you are done. Merge conflicts will only happen if you have edited the ChiliProject code.
37 6 Holger Just
38 6 Holger Just
h4. Upgrade to an official branch
39 6 Holger Just
40 6 Holger Just
If you want to follow an official branch in order to get updates more often than the official releases, you can just change what version to merge in your git command. Make sure to read [[ChiliProject Repository]] to see the branch names, how stable they are, and what you can expect.
41 6 Holger Just
42 6 Holger Just
<pre><code>git fetch origin    # Grabs the latest official code
43 6 Holger Just
git merge origin/master    # Merges the master branch, which will become the "next-release"
44 6 Holger Just
</code></pre>
45 6 Holger Just
46 6 Holger Just
If there are no merge conflicts then you are done. Merge conflicts will only happen if you have edited the ChiliProject code.
47 6 Holger Just
48 1
h3. Zip or Tar archive
49 6 Holger Just
50 6 Holger Just
TODO
51 2 Holger Just
52 4 Holger Just
h2. Step 4 - Configuration
53 2 Holger Just
54 2 Holger Just
h3. Server configuration
55 2 Holger Just
56 2 Holger Just
ChiliProject has a system configuration file that is used to configure various options for your server. There are good defaults for most of the values but take a look at the [[Configuration File]] page to see if you want to change anything.
57 2 Holger Just
58 2 Holger Just
To change the values, just copy the example file with a command like:
59 2 Holger Just
60 3 Holger Just
<pre><code>cp config/configuration.yml.example config/configuration.yml</code></pre>
61 2 Holger Just
62 1
h3. Session storage
63 1
64 2 Holger Just
Next you should generate a session storage file. This is a small bit of code that is used to encrypt ChiliProject's login cookies.  To generate it, run the following command. It should save a file in @config/initializers/session_store.rb@.
65 2 Holger Just
66 2 Holger Just
<pre><code>rake generate_session_store</code></pre>
67 1
68 4 Holger Just
h2. Step 5 - Database update
69 2 Holger Just
70 2 Holger Just
Next you will need to run the @rake@ command to upgrade the schema and contents of your database. Go to the directory of your ChiliProject install and run:
71 3 Holger Just
72 1
<pre><code>rake db:migrate RAILS_ENV=production</code></pre>
73 2 Holger Just
74 4 Holger Just
h2. Step 6 - Plugin Database update
75 2 Holger Just
76 1
Core and third party plugins may include database updates too so you will want to run the following command to upgrade them also. 
77 2 Holger Just
78 3 Holger Just
<pre><code>rake db:migrate_plugins RAILS_ENV=production</code></pre> 
79 2 Holger Just
80 4 Holger Just
h2. Step 7 - Clean up
81 2 Holger Just
82 2 Holger Just
Now your code and data is upgraded and you are ready to finish the process by loading the new code.
83 2 Holger Just
84 2 Holger Just
h3. Clear caches and sessions
85 2 Holger Just
86 2 Holger Just
In order to make sure old code isn't running you should clear any old caches and sessions.
87 2 Holger Just
88 3 Holger Just
<pre><code>rake tmp:cache:clear
89 2 Holger Just
rake tmp:sessions:clear
90 2 Holger Just
</code></pre>
91 2 Holger Just
92 2 Holger Just
h3. Clear logs (optional)
93 2 Holger Just
94 1
If you are not rotating your log files automatically, it would be a good time to clear your log files.
95 2 Holger Just
96 2 Holger Just
# Backup your existing log files if you want to save them, @cp -a log/*.log /some/safe/archiving_place/@
97 2 Holger Just
# Run the @rake@ command to clear all of the logs @rake log:clear@
98 2 Holger Just
99 2 Holger Just
h3. Application Server restarts
100 2 Holger Just
101 2 Holger Just
Next the application servers should be restarted so the new code is loaded. The application servers are processes like mongrel, thin, or passenger. You *do not* need to reboot the entire server.
102 2 Holger Just
103 4 Holger Just
h2. Step 8 - Final check
104 2 Holger Just
105 2 Holger Just
Now your ChiliProject is upgraded and running. You should login as an Administrator and do a few quick checks:
106 2 Holger Just
107 2 Holger Just
* Visit "Admin > Information"
108 2 Holger Just
** Make sure that the version has been updated.
109 2 Holger Just
** Make sure that all of the required options are green.
110 2 Holger Just
* Visit "Admin > Settings"
111 2 Holger Just
** Check all of the tabs for any new options and set them as needed.
112 2 Holger Just
* Visit "Admin > Roles & Permisisons"
113 2 Holger Just
** Check for any new permissions and configure them for your system