OpenProposals is a web application for collecting presentation proposals for conferences and events. It started out as the Ignite Portland proposals site but has since been reworked as a general-purpose platform that can be restyled and extended for collecting proposals for other events.
By releasing this code under a liberal MIT open source license, we hope to empower other people so they can better organize and participate in more events that support free sharing of information, open society, and involved citizenry.
- Anyone can list events
- Anyone can list/show proposals for an event
- Anyone can leave private comments about proposals to organizers
- Anyone can get be informed of new proposals via ATOM feed
- Users can login via OpenID
- Users can create proposals until a deadline
- Users can update/delete their own proposals until a deadline
- Administrators can login via password
- Administrators can update text snippets throughout the site
- Administrators can create/update/delete/list/show events
- Administrators can set deadlines for accepting proposals for events
- Administrators can update/delete any proposal
- Administrators can export proposals to CSV
- Developers can customize the site's appearance and behavior
Installing the app requires familiarity with UNIX system administration
and Ruby on Rails. This application will run best on a UNIX-based
dedicated server or virtual machine, and may not run at all on cheap
shared hosting because these often limit memory usage below the minimum
threshold for this application. You will need to install software that
this application depends on either as root or compile it yourself. You
will need to setup an application server to run the application, e.g.,
mod_passenger. If you do not have these skills, contact your local Ruby
or Linux user group and you will likely find someone that can help.
Install Git: http://git.or.cz/
Checkout the OpenProposals source code:
git clone git://github.com/igal/openproposals.git
Install Ruby 1.8.6 or 1.8.7 from ftp://ftp.ruby-lang.org/pub/ruby/1.8/ or Ruby Enterprise Edition from http://www.rubyenterpriseedition.com/download.html
Install RubyGems: http://rubygems.org/pages/download
Install Bundler, e.g.:
sudo gem install bundler
Install Ruby libraries with Bundler:
sudo bundle update
Run the application's interactive setup program from within the checkout directory, and follow its instructions:
This application runs with insecure settings by default to make it easy to
get started. These default settings include publicly-known cryptography
keys that can allow attackers to gain admin privileges to your
application. You should create a
config/secrets.yml file with your
secret settings if you intend to run this application on a server that
can be accessed by untrusted users, read the
config/secrets.yml.sample file for details.
You can customize the application's appearance and behavior by creating a theme, read the themes/README.txt file.
If you wish to deploy your application using Capistrano, read the config/deploy.rb file.
Bug fixes and features are welcomed. Please fork the source code and submit a pull request: http://github.com/igal/openproposals/tree/master
This program is provided under an MIT open source license, read the LICENSE.txt file for details.
Copyright (c) 2007-2008 Igal Koshevoy