aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoachim Filip Ignacy Bartosik <jbartosik@gmail.com>2011-08-03 11:01:06 +0200
committerJoachim Filip Ignacy Bartosik <jbartosik@gmail.com>2011-08-03 17:29:37 +0200
commit030bf52531710c1e70401fbd1328a2df30a07686 (patch)
treebf49b978f229d550b9daedb587365a1ae2d1d9a7 /README.md
parentCustom doodle-like feature (diff)
downloadcouncil-webapp-master.tar.gz
council-webapp-master.tar.bz2
council-webapp-master.zip
README for the applicationHEADmaster
Diffstat (limited to 'README.md')
-rw-r--r--README.md164
1 files changed, 164 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..e8b79e5
--- /dev/null
+++ b/README.md
@@ -0,0 +1,164 @@
+# About the project
+This project has three parts:
+
+ * Website written in Ruby (using Rails and Hobo). This site helps to prepare
+ meetings, collect ideas and feedback from community.
+ * Modified MeetBot (MeetBot is supybot plugin). This plugin handles meetings.
+ You can use
+
+ #commands
+
+ to list available commands and
+
+ #command <command>
+
+ to view help for each command.
+
+ * Reminder plugin. This supybot plugin pulls reminder information from
+ the website and sends messages to all council members to remind them about
+ upcoming meeting.
+
+## Copyright
+
+### Website
+Website is distributed under terms of AGPL3 or later.
+
+### Modified MeetBot plugin
+The plugin is distributed on the same terms as original MeetBot.
+
+### Reminder plugin
+Reminder plugin is distributed under BSD-style license (you can do with it
+anything you want but you must use the same license and don't use my name for
+advertising).
+
+# Usage
+What you can do depends on your role. You can be guest or a registered user.
+Once you register administrators can give you administrator and council member
+roles.
+
+### Guest
+As guest you can only view:
+
+ * Current and past agendas
+ * Items for agendas
+ * Voting results
+ * Meeting summaries approved by council
+ * Council attendance
+
+### Registered user
+Once you register you can do everything a guest can and:
+
+ * Suggest items for council
+ * Participate in community vote
+
+### Council member
+When administrator will give you a council member role you will be able to do
+everything a regular registered user can and:
+
+ * Change agendas states (available states are open, submissions closed, meeting\_ongoing, old)
+ * Add suggested items to agenda
+ * Reject suggested items
+ * Vote during meetings (IRC bot handles voting)
+
+### Administrator
+As administrator you can manage users - give them new roles and take away old roles.
+
+## Configuration
+The application users following (untracked) configuration files:
+
+ * site/config/bot.yml
+ * site/config/council\_term.yml
+ * site/config/database.yml
+ * site/config/reminders.yml
+
+database.yml is regular rails database configuration file. Samples for other
+configuration files are available in
+
+ site/doc/sample_configs/
+
+directory.
+
+# Installation
+## Manual
+1. Install bundler, rails, git and database you want to use.
+2. Obtain sources
+
+ git clone git://github.com/ahenobarbi/Gentoo-Council.git
+
+3. Go to directory with webapp (site/ subdirectory inside directory created in
+ the previous step) sources and install required gems
+
+ bundle install
+
+4. Configure application
+5. Start server by running the following command
+
+ bundle exec rails server
+
+## With passenger
+1. Clone git repository
+2. Configure install and configure MySQL, Apache, passenger (sample vhost config
+in site/doc/sample\_configs/ ). Remember that the web app is in
+
+ $(repo\_directory)/site
+
+3. In
+
+ $(repo\_directory)/site
+
+run
+
+ bundle install
+ bundle exec rails g hobo:rapid
+ touch tmp/restart.txt
+
+4. Check if everything works fine.
+
+If you want to use capistrano I can write instructions for that.
+
+## Use capistrano
+1. Install capistrano and git on your machine
+2. Clone repository
+2. Run
+
+ cd /path/to/your/clone/site && capify .
+
+3. Customise
+
+ config/deploy.rb
+
+see site/doc/sample\_configs/deploy.rb for reference.
+
+use attached file as base.
+
+4. Install git and bundler on host on which you will deploy
+5. Configure passenger on target host
+6. Run (on you development machine)
+
+ cap deploy:setup
+ cap deploy
+
+7. (reason why you might like to go through previous steps) When you want to
+update application just run
+
+ cap deploy
+
+#How to use supybot plugins
+1. Install supybot
+2. Get those sources
+3. Copy or link bot/MeetBot and bot/Reminder directories to supybot plugins
+ directory. On my system it's
+
+ /usr/lib64/python2.7/site-packages/supybot/plugins/
+
+4. Copy or link bot/ircmeeting to some directory you have in your PYTHONPATH
+ Or to directory fromwhich you will run supypot.
+5. Create directory for supybot config and logs.
+6. In this directory run
+
+ supybot-wizard
+
+ it will create *.conf file.
+7. Run
+
+ supybot file_created_in_previous steps