GithubHelp home page GithubHelp logo

stapelberg / frab Goto Github PK

View Code? Open in Web Editor NEW

This project forked from frab/frab

0.0 2.0 0.0 3.06 MB

conference manangement system

Home Page: http://frab.github.com/frab

License: Other

Ruby 65.84% JavaScript 0.12% CoffeeScript 1.15% CSS 6.48% HTML 26.39% ApacheConf 0.02%

frab's Introduction

frab - conference management system

frab is a web-based conference planning and management system. It helps to collect submissions, to manage talks and speakers and to create a schedule.

Build Status Code Climate

Background

frab was originally created for the organization of FrOSCon 2011 (http://www.froscon.de). FrOSCon has previously used pentabarf (http://pentabarf.org), and although frab is a completely new implementation, it borrows heavily from pentabarf.

Both FrOSCon and frab owe a lot to pentabarf. But sadly, pentabarf seems to be abandoned. And several problems make it hard to maintain. Thus we decided to create a new system.

Current Status

frab is under heavy development. There is no stable release yet. You may want to try to use frab regardless, but be warned, that it may be a rocky ride.

That being said, frab has been used to organize FrOSCon 2011, a conference with more than 100 talks (and as many speakers) in more than 5 parallel tracks (plus devrooms) over 2 days.

Installing

frab is a pretty standard Ruby on Rails (version 3.2) application. There should be plenty of tutorials online on how to install, deploy and setup these.

Basically, to get started you need git, ruby (>= 2.1) and bundler and follow these steps:

  1. Clone the repository

    git clone git://github.com/frab/frab.git

  2. cd into the directory:

    cd frab

  3. Install all necessary gems:

    bundle install

Hint. To avoid installing database drivers you don't wanna use, exclude drivers with bundle install --without="postgresql mysql".

  1. Install nodejs:

frab needs a javascript runtime. You should use nodejs, as it is easier to install than v8.

apt-get install nodejs
  1. Install Imagemagick:

This is a dependency of the paperclip gem. Imagemagick tools need to be installed to identify and resize images.

Imagemagick should be easy to install using your OS's preferred package manager (apt-get, yum, brew etc.).

  1. Create (and possibly modify) the database configuration:

    cp config/database.yml.template config/database.yml

frab bundles all three built-in rails database drivers. And it should work with all three, although it is best tested with MySQL and SQLite3 (for development).

  1. Create and modify settings:

    cp config/settings.yml.template config/settings.yml

  2. Create and setup the database

    rake db:setup

  3. Precompile assets (only needed for production)

    rake assets:precompile

  4. Generate secret token and add the generated token into config/initializers/secret_token.rb

    rake secret cp config/initializers/secret_token.rb.example config/initializers/secret_token.rb

  5. Start the server

To start frab in the development environment simply run

rails server

To start frab in the production environment make sure you did not skip step 8 and run:

rails server -e production

(Note that for a "real" production environment you probably do not want to use this script, but rather something like unicorn or passenger. Note that under Apache 2.x mod_header is needed.)

Navigate to http://localhost:3000/ and login as "[email protected]" with password "test123".

Production Environments

If you are running frab in a production environment you have to take additional steps to build a secure and stable site.

  1. Change the password of the inital admin account
  2. Change the initial secret token
  3. Add a content disposition header, so attachments get downloaded and are not displayed in the browser. See ./public/system/attachments/.htaccess for an example.
  4. Add a gem like exception_notification to get emails in case of errors.

Ticket Server

Frab supports OTRS and RT ticket servers. Instead of sending event acceptance/rejection mails directly to submitters, frab adds a ticket to a request tracker.

The ticket server type can be configured for every conference.

The iPHoneHandle support needs to be installed in OTRS.

Rake Tasks

Export / Import conferences

Creates a folder under tmp/frab_export containing serialized data and all attachments:

RAILS_ENV=production CONFERENCE=acronym rake frab:conference_export

Import a conference into another frab:

RAILS_ENV=production rake frab:conference_import

Sending Mails

RAILS_ENV=production rake frab:bulk_mailer subject="Conference Invite" [email protected] emails=emails.lst body=body.txt.erb

Migrating from pentabarf

frab comes with a script that offers limited capabilities of migrating data from pentabarf. For it to work, you need access to pentabarf's database and configure it in config/database.yml under the key "pentabarf".

Then simply run

rake pentabarf:import:all

Please note, that the script has not been tested with HEAD and will most probably not work. If you still want to try it out, checkout the code at the revision the script was last changed at and upgrade the code and migrate the database from there.

Vagrant Server

frab can more easily be tested by using vagrant with chef recipes taking care of the installation process. More information can be found in these github projects:

Contact

For updates and discussions around frab, please join our mailinglist

frab (at) librelist.com - to subscribe just send a mail to it

License

frab is licensed under an MIT-License. It bundles some third-party libraries and assets that might be licensed differently. See LICENSE.

frab's People

Contributors

manno avatar oneiros avatar neocturne avatar meise avatar zonque avatar gdetrez avatar robertkowalski avatar russss avatar wingfire avatar benni-as avatar gregmolnar avatar jjeising avatar andrmuel avatar florolf avatar spookey avatar mjung avatar alvarezp avatar ofeldt avatar sl80 avatar tias avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.