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.
Chiliproject 2.x with Oracle Database
Added by rob glazer at 2011-05-16 04:26 pm
I have installed chiliproject into an oracle 11g database on ubuntu 11.10 server
Version 2.x¶
- Create chiliproject database schema
- dba role set as default
- grant unlimited or quota on default tablespace
- download latest version of ruby-oci8 (2.0.6)
- gem install ruby-oci8<version>.gem
- gem install activerecord-oracle_enhanced-adapter
- configuration
- config/database.yml
production: adapter: oracle_enhanced database: {db name} host: {server name} port: 1521 username: chiliproject password: {password} encoding: utf8
- config/environment.rb - add:
ENV['NLS_LANG']='american_america.AL32UTF8' ENV['ORACLE_HOME']='{path to oracle home}' ENV['TNS_ADMIN']='/u0/app/oracle/product/11.2.0/dbhome_1/network/admin' ENV['LD_LIBRARY_PATH']='/lib:/usr/lib:/usr/local/lib:$ORACLE_HOME/lib'
- copy configuration.yml.example to configuration.yml - modify the file according to your smtp mail information
- Gemfile add:
gem "activerecord-oracle_enhanced-adapter", "1.3.2" gem "rake", "~> 0.8.7" gem "ruby-oci8", "2.0.6"
- if mysql, postgres or sqlite is not installed comment out the sections
group :mysql group :mysql2 group :postgres group :sqlite
- if mysql, postgres or sqlite is not installed comment out the sections
- config/database.yml
- Install
- set environment
export ORACLE_HOME={path to oracle home} export TNS_ADMIN=$ORACLE_HOME/network/admin export LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib:$ORACLE_HOME/lib export PATH=$PATH:/var/lib/gems/1.8/bin
- gem update - needed to uninstall newer versions of rake and i18n after update
- bundle update
- bundle exec rake generate_session_store
- db/migrate
- 087_change_projects_description_to_text.rb -- comment out change_column line
- 107_add_open_id_authentication_tables.rb - table names too long (over 30 characters) rename to open_id_auth_associations and open_id_auth_nonces
- 20100705164950_change_changes_path_length_limit.rb -- comment out change_column lines
- 20100714111651_prepare_journals_for_acts_as_journalized.rb -- comment out the t.index lines
- 20110227125750_change_journal_details_values_to_text.rb -- comment out the change_column lines
- set environment
- vendor/plugins
- awesome_nested_set/lib/awesome_nested_set.rb -- remove "AS" (line 117)
- Post Install
- increase column size (this is to make the changes in the db/migrate scripts that had the change_column lines commented out)
ALTER TABLE CHILIPROJECT.PROJECTS MODIFY(DESCRIPTION VARCHAR2(4000 CHAR)); ALTER TABLE CHILIPROJECT.CHANGES MODIFY(PATH VARCHAR2(4000 CHAR)); ALTER TABLE CHILIPROJECT.CHANGES MODIFY(FROM_PATH VARCHAR2(4000 CHAR)); ALTER TABLE CHILIPROJECT.JOURNAL_DETAILS MODIFY(OLD_VALUE VARCHAR2(4000 CHAR)); ALTER TABLE CHILIPROJECT.JOURNAL_DETAILS MODIFY(VALUE VARCHAR2(4000 CHAR));
- increase column size (this is to make the changes in the db/migrate scripts that had the change_column lines commented out)
- Script to find nullable = N and default = '' {found it on AskTom}
CREATE OR REPLACE FUNCTION get_col_default ( p_table_name IN all_tab_cols.table_name%TYPE, p_column_name IN all_tab_cols.column_name%TYPE) RETURN VARCHAR2 AS l_data_default LONG; BEGIN SELECT data_default INTO l_data_default FROM user_tab_cols WHERE table_name = p_table_name AND column_name = p_column_name; RETURN SUBSTR (l_data_default, 1, 4000); END; /
- script to create alter statements - run the output
select 'ALTER TABLE CHILIPROJECT.'||table_name||' MODIFY('||column_name||' NULL);' from user_tab_cols where nullable = 'N' and instr(get_col_default(table_name, column_name),'''')> 0;
- remove dba role from chiliproject user
- grant create session to chiliproject user (this is the minimum rights that is required)
Other Fixes¶
- Gantt Chart error and Calendar not displaying Issues - this relates to the fields defined as Date type in Oracle and the Oracle Enhanced Adapter
- currently testing this method out: created a new file in /config/initializers - oracle.rb
ActiveRecord::ConnectionAdapters::OracleEnhancedAdapter.emulate_dates = true
- currently testing this method out: created a new file in /config/initializers - oracle.rb
Mylyn Plugin¶
- modify vendor/plugins/redmine-mylyn-connector/app/helpers/mylyn_connector/issues_helper.rb
def journals issue issue.journals.find(:all, :conditions => ["notes IS NOT NULL AND notes != ''"]) end def journals issue issue.journals.find(:all, :conditions => ["length(notes) > 0"]) end
Replies (3)
RE: Chiliproject 1.3.0 with Oracle Database - Update 1.4.0 - Update 2.0.0 - Update 2.1.1 - Added by Felix Schäfer at 2011-08-20 10:13 pm
Thanks for sharing your experience, I added a link to this forum thread on the Requirements page.
RE: Chiliproject 1.3.0 with Oracle Database - Update 1.4.0 - Update 2.0.0 - Update 2.1.1 - Update 2.2.0 - Added by Don Doffe at 2011-08-31 02:48 am
Rob,
I'm new to ruby and to rails. Yet I was hoping to install and run Chili as the collaboration server using corporate oracle DB as the back end.
I find your instruction to be invaluable - it is the only instruction available.
Could you please confirm a few things for me?
If I'm to install fresh 2.2.0 version, do I need to make all the changes mentioned in upgrade sections in addition to the ones mentioned at the top?
I.e. I would need to remove db/migrate/087_change_projects_description_to_text.rb (as mentioned in 1.4.0 upgrade section)?
In other words - can this doco be treated as THE instruction manual for 2.2.0?
Thank you.
RE: Chiliproject 1.3.0 with Oracle Database - Update 1.4.0 - Update 2.0.0 - Update 2.1.1 - Update 2.2.0 - Added by rob glazer at 2011-08-31 04:12 pm
I'm in the process of running a clean install using 2.2.0, I will post the documentation when complete.
Updated the documentation - hope this helps
(1-3/3)