A web platform all-in-one for associations and collaborative projects.
Based on Redmine plus ~25 plugins, 100% translated to french (with proper semantics).
For each project see the availables features :
- Activity feed : to know who has done what and when
- Task management, with many visualisations: List, Roadmap, Kanban, Calendar, Report
- Wiki, with WYSIWYG editor
- Blog, with comments
- Forum, to debate
- Documents, private documents with versioning
- Downloads, public files
- Repository of versioned files, for documents that changes often, with an automatic synchronisation between members
AssoKit is nothing more than a Redmine custom setup that combine more than ~25 plugins.
Other third party software were added in conjuction to make it even more feature full, like :
# create two files, one for the mysql admin password, the other for the redmine mysql user
touch ~/.config/mysql/admin.pass
vi ~/.config/mysql/admin.pass # write the password
touch ~/.config/mysql/redmine.pass
vi ~/.config/mysql/redmine.pass # write the password
# run the install script (arguments are : MYSQL_ADMIN_PASS_FILE MYSQL_REDMINE_PASS_FILE APP_TITLE DOMAIN)
sudo ./install.sh ~/.config/mysql/admin.pass ~/.config/mysql/redmine.pass "Hello World" "hello-world.local"
# remove the password files
rm -f ~/.config/mysql/admin.pass ~/.config/mysql/redmine.pass
Dependencies overview
install.sh
|__scripts/setup_system.sh
|
|__scripts/deploy_redmine_and_theme.sh
| |__db/update_default_data.sql
| |__conf/nginx/asso-kit.local.conf
|
|__scripts/deploy_plugins.sh
| |__db/update_default_data_plugins.sql
| |__locales/better-french.yml
|
|__scripts/install_gitolite_and_plugin_git_hosting.sh
| |__db/update_default_data_git_hosting.sql
|
|__scripts/deploy_asso_kit_plugin.sh
|__db/update_default_data_asso_kit.sql
All the shell scripts depend on lib/shell_fancy.sh, which it just some basic functions to display text in a fancier fashion. They also dependends on the redmine configuration file redmine.conf, which defines redmine username, and files/directories locations.
A testing script exist in /bin/test_redmine_with_webrick_webserver.sh to run a ruby webserver (webrick) if the nginx doesn't work.
This is the system setup script.
This is the redmine source code deployment script.
It also installs a theme (asso-kit).
This is the ~25 plugins installation script.
This one is very long to execute because of the compilation of natives extensions.
This is the installation of gitolite and the redmine_git_hosting plugin that manages git repositories.
It also install git-annex.
This is the Asso Kit plugin.
To use git-annex synchronisation, follow those steps :
-
On your local machine, generate ssh keypairs for your user :
ssh-keygen -t rsa -N '' -C 'AssoKit user key' -f ~/.ssh/id_rsa_assokit
-
On AssoKit website, add the keys to your user by going to
MyAccount > SSH Keys
, and copy the content of the public key :cat ~/.ssh/id_rsa_assokit.pub
-
On AssoKit website, create a git-annex repository by going to :
<project> > Configuration > Repositories > New repository
Then, select 'Initialize with GitAnnex'
You must have a user role with commit permission on this project
-
On your local machine, install git-annex :
sudo apt-get -qq -y install --no-install-recommends git-annex lsof
-
On your local machine, clone the git-annex repository :
git clone -q ssh://git@<domain>/<project>/<repository_name>.git /tmp/test-git-annex-repo.tmp
-
On your local machine, start git-annex webapp, by clicking on its icon, or with :
git-annex webapp
-
On your local machine, add the cloned git-annex repository by entering its path to the invite 'Make Repository'.
In this example it will be : /tmp/test-git-annex-repo.tmp
You're done.
Go to Unread Issues plugin page at RM+ and click on 'Get free "Unread Issues"' button.
Then :
-
upload/download the zip file (received by mail) on the server machine.
-
unzip the archive to plugins dir :
unzip -d <redmine_dir>/plugins <unread_issues.zip>
-
change owner and group of the files :
chown -R redmine:redmine <redmine_dir>/plugins/unread_issues
-
execute bundle install as the redmine user, in the redmine folder :
cd <redmine_dir> && su -c "bundle install --without development test --path vendor/bundle" redmine
-
execute plugin migration :
cd <redmine_dir> && su -c "bundle exec rake redmine:plugins NAME=unread_issues RAILS_ENV=production" redmine
-
set the query to use for the user tasks :
mysql --defaults-extra-file=<mysql_redmine_cnf_file> redmine <<ENDMYSQL INSERT INTO `settings` (`name`, `value`, `updated_on`) VALUES ('plugin_unread_issues','--- !ruby/hash:ActionController::Parameters\nassigned_issues: \'1\'\n', NOW()) ON DUPLICATE KEY UPDATE `value` = '--- !ruby/hash:ActionController::Parameters\nassigned_issues: \'1\'\n', `updated_on` = NOW(); ENDMYSQL
-
restart webserver :
service nginx restart
You're done.