No description, website, or topics provided.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
app
assets/stylesheets
autotest
config
db/migrate
lang
lib
rails
.autotest
.gitignore
Gemfile
Gemfile.lock
History.txt
LICENSE
Manifest.txt
README.md
Rakefile
init.rb

README.md

ChiliPresentations - Host HTML-presentations in a ChiliProject installation

DESCRIPTION:

ChiliProject/Redmine plugin which allows you to upload a zipped directory containing a "web-friendly" presentation (HTML/JS/CSS) and associate it with a project. The plugin will unzip it and filter viewing permissions according to your 'permissions' settings.

NOTABLE ITEMS TO CONSIDER

  1. This plugin is distributed as a gem, but does ship with migrations and asset files (stylesheets, etc). Therefore, the installation procedure is not the standard process.
  2. This plugin must be deployed behind the nginx web server, or a server which implements the same X-Sendfile behavior as nginx (none that I am aware of do this). The controller which serves up the presentation defers this task to nginx by setting the X-Accel-Redirect header. If ChiliProject is deployed behind anything other than nginx, it is likely you will only be shown a blank screen. (NOTE: This could easily be changed, but there is no reason in my environment to support other servers. Patches are absolutely welcome.)
  3. You must be able to set up a simple directive in your nginx config and cycle nginx in order to take advantage of the afforementioned X-Accel-Redirect header feature of nginx.

FEATURES:

  1. Makes it dead simple upload, store, and view HTML-based presentations within a ChiliProject/Redmine (CP/RM) installation.
  2. Allows you to link presentations to specific "versions" in the CP/RM project
  3. Adds a "presentation" wiki macro which can be used to link to a presentation in wikis, news items, et cetera.

SYNOPSIS:

  1. Install the plugin
  2. Enable the "Presentations" module in a project

A "Presentations" tab will show up in your project. Click the "Add Presentation" link in the contextual menu and use the form to upload a zipped directory containing an @index.html@ file. The new presentation will show up in the list of that project's presentations.

REQUIREMENTS:

  • Gems:

    • friendly_id (v3.2.1.1)
    • paperclip (v2.7.0)
  • System commands:

    • unzip must be installed and on the path of the user running the ChiliProject application servers.

INSTALL:

In nginx

Add the following block to your ChiliProject nginx config (inside your server block):

location ~ /contents/ {
  # NOTE: Below, `root` is NOT set to `RAILS_ROOT/public`!
  root RAILS_ROOT/uploaded_presentations;
  internal;
}

Cycle nginx.

In ChiliProject

gem install chili_presentations

Manual steps after gem installation

In your 'Gemfile', add:

gem 'chili_presentations'

Execute bundle install (or bundle update chili_presentations if you had a previous version installed).

Next, in your 'Rakefile', add:

require 'tasks/chili_presentations_tasks'

Run the installation rake task (runs migrations)

RAILS_ENV=production rake chili_presentations:install

Cycle your application server (mongrel, unicorn, etc) and enable the module in a project.

UNINSTALL:

Run the uninstall rake task (reverts migrations)

RAILS_ENV=production rake chili_videos:uninstall

In your 'Rakefile', remove:

require 'tasks/chili_presentations_tasks'

In your 'Gemfile', remove:

gem 'chili_presentations'

Cycle your application server (mongrel, unicorn, whatevs)...

Then, uninstall the chili_presentations gem:

gem uninstall chili_presentations

Done.

CONTRIBUTING AND/OR SUPPORT:

Found a bug? Have a feature request?

Please file a ticket on the 'Issues' page of the Github project site

You can also drop me a message on Twitter @tomkersten.

Want to contribute?

(Better instructions coming soon)

  1. Fork the project
  2. Create a feature branch and implement your idea (preferably with tests)
  3. Update the History.txt file in the 'Next Release' section (at the top)
  4. Send a pull request

LICENSE:

Refer to the LICENSE file