<commit_before>h1. FLUXX Grant Reference Implementation

h2. Purpose

The FLUXX Grant Reference Implementation is a fully-featured grants management software application.  It depends on several gems: fluxx_engine, fluxx_crm and fluxx_grant.


h2. Highlights of the Fluxx Grants Management Software

Fluxx Grant is grants management software.  This provides a mechanism for foundations to track the grant making progress using a highly configurable workflow system.  The system allows each member of the foundation to view the data the way they need to see it. 


h2. Installation

If you have been developing in rails for a while, you probably have all the key ingredients to get started with fluxx grant.  If not, this guide will walk you through how to get started.
Check on the google group at "http://groups.google.com/group/projectfluxx":http://groups.google.com/group/projectfluxx for support and gem release announcements.


h3. Pre-requisites
* Some form of linux is assumed in these instructions.  This project should be able to run on a windows server but has not been tested.
* A relational database.  This project has been tested with mysql.  It should work with other databases such as postgres as well.
* The "sphinx":http://sphinxsearch.com/downloads.html search engine is integrated into the fluxx_grant gem.  Other search engine options may be incorporated in the future.

h3. Quick Start: for rails experts
* prepare a ruby instance for fluxx to run in, possibly with rvm
* @gem install rails --version 3.0.0@
* Change to a directory where you'd like to install the fluxx grant software
* @git clone git://github.com/solpath/fluxx_grant_ri.git@
* @cd fluxx_grant_ri@
* @bundle install@
* @cp config/database.yml.sample config/database.yml@
* Edit the config/database.yml file and insert your database credentials
* @rake db:create@
* @rake db:migrate@
* @rake db:seed@
* @rake ts:rebuild@
* You will need to create your first user.
** @rails c@
** User.create :first_name => 'John', :last_name => 'Smith', :email => '<EMAIL>', :password => '<PASSWORD>', :login => 'johnsmith', :password_confirmation => '<PASSWORD>'
** exit
* Add all program roles to that user:
** @rake fluxx_grant:add_all_program_roles user_id=1@
* @rails server@

h2. Technical Details

h3. Generators and Migrations

* Generate a set of migration files.  These files define how the database tables will be structured.  Feel free to alter these tables to suit your needs.  The audited_migration file tracks the history of changes to model objects.  The fluxx_engine, fluxx_crm and fluxx_grant migration generators generate migration files for utility tables and model tables for grants and CRM.
** @rails generate audited_migration@
** @rails generate delayed_job@
** @rails generate fluxx_engine_migration@
** @rails generate fluxx_crm_migration@
** @rails generate fluxx_grant_migration@

* Generate a script to populate the grant tables with sample data for programs, initiatives and other model objects.
** @rails generate fluxx_grant_seed@<commit_msg>add in instructions for updating bundle<commit_after>h1. FLUXX Grant Reference Implementation

h2. Purpose

The FLUXX Grant Reference Implementation is a fully-featured grants management software application.  It depends on several gems: fluxx_engine, fluxx_crm and fluxx_grant.


h2. Highlights of the Fluxx Grants Management Software

Fluxx Grant is grants management software.  This provides a mechanism for foundations to track the grant making progress using a highly configurable workflow system.  The system allows each member of the foundation to view the data the way they need to see it. 


h2. Installation

If you have been developing in rails for a while, you probably have all the key ingredients to get started with fluxx grant.  If not, this guide will walk you through how to get started.
Check on the google group at "http://groups.google.com/group/projectfluxx":http://groups.google.com/group/projectfluxx for support and gem release announcements.


h3. Pre-requisites
* Some form of linux is assumed in these instructions.  This project should be able to run on a windows server but has not been tested.
* A relational database.  This project has been tested with mysql.  It should work with other databases such as postgres as well.
* The "sphinx":http://sphinxsearch.com/downloads.html search engine is integrated into the fluxx_grant gem.  Other search engine options may be incorporated in the future.

h3. Quick Start: for rails experts
* prepare a ruby instance for fluxx to run in, possibly with rvm
* @gem install rails --version 3.0.0@
* Change to a directory where you'd like to install the fluxx grant software
* @git clone git://github.com/solpath/fluxx_grant_ri.git@
* @cd fluxx_grant_ri@
* @bundle install@
* @cp config/database.yml.sample config/database.yml@
* Edit the config/database.yml file and insert your database credentials
* @rake db:create@
* @rake db:migrate@
* @rake db:seed@
* @rake ts:rebuild@
* You will need to create your first user.
** @rails c@
** User.create :first_name => 'John', :last_name => 'Smith', :email => '<EMAIL>', :password => '<PASSWORD>', :login => 'johnsmith', :password_confirmation => '<PASSWORD>'
** exit
* Add all program roles to that user:
** @rake fluxx_grant:add_all_program_roles user_id=1@
* @rails server@

h3. NOTE:
If you want to pull the latest gems, you must run:
@bundle update@
Otherwise bundle install will not automatically try to get more recent versions of the gems.

h2. Technical Details

h3. Generators and Migrations

* Generate a set of migration files.  These files define how the database tables will be structured.  Feel free to alter these tables to suit your needs.  The audited_migration file tracks the history of changes to model objects.  The fluxx_engine, fluxx_crm and fluxx_grant migration generators generate migration files for utility tables and model tables for grants and CRM.
** @rails generate audited_migration@
** @rails generate delayed_job@
** @rails generate fluxx_engine_migration@
** @rails generate fluxx_crm_migration@
** @rails generate fluxx_grant_migration@

* Generate a script to populate the grant tables with sample data for programs, initiatives and other model objects.
** @rails generate fluxx_grant_seed@
{'fraction_non_alphanumeric': 0.06889419252187749, 'fraction_numerical': 0.003977724741447892, 'mean_word_length': 4.761686526122823, 'pattern_counts': {'":': 4, '<': 9, '<?xml version=': 0, '>': 21, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1013404', 'n_tokens_mistral': 1774, 'n_tokens_neox': 1682, 'n_words': 826}