September 2011

Etherpad and Redmine 'Hack': How We are embedding collaborative documents in Redmine

So this is certainly a workaround, and we will likely create a redmine plugin just for handling this.  However, the way its working now is pretty nice and flexible, so I really don't consider writing a module to be incredibly imminent - though using the jquery plugin that etherpad lite provides could provide some really powerful tools for users.

Regardless, this is how is what you need:

  1. A Running Redmine Instance (A Bitnami redmine stack is always a good choice if you are just getting started)
  2. A Running Etherpad Lite Instance (Here is the git repo: follow the instructions and get it running under a daemon!)

Embedding Iframes in Redmine?!

First, you will need to install the Redmine Wiki HTML Utility (unless you have found some other way to be able to embed Iframes in redmine).  Note that, because this is just a simple wiki extension and the database is not involved, you do not need to run rake.  This extension will allow you to 'inject' raw HTML, CSS and Javascript in any redmine textile areas (yes!  wiki, issues, project descriptions - the sky is the limit!).
  Its just handy to have all around!

Throw in a 'lil CSS

Add some CSS to the application.css file of your current theme, or find some other upgrade happy way of adding the css:

#content iframe {border:1px dotted #656565; overflow:hidden; width:95%; height:600;}

You may want to use different or more specific CSS selectors, depending on whether you have iframes.  This CSS seems to work pretty well for me, but I would be glad to take suggestions.  Setting the width using a percentage is a good idea for fluid width themes (we are using the basecamp redmine theme).  The height is static - I could probably do something fancier but it works for now.

Embed that Etherpad-Lite Document!

Now, go into redmine somewhere and embed your etherpad lite document.  You do NOT need to go into etherpad-lite and create a document - a document is created each time you visit a URL beneath the etherpad path (makes writing extensions incredibly easy, huh?).

\"\"

Etherpad and Redmine 'Hack': How We are embedding collaborative documents in Redmine

So this is certainly a workaround, and we will likely create a redmine plugin just for handling this.  However, the way its working now is pretty nice and flexible, so I really don't consider writing a module to be incredibly imminent - though using the jquery plugin that etherpad lite provides could provide some really powerful tools for users.

Regardless, this is how is what you need:

\"\"

Etherpad and Redmine 'Hack': How We are embedding collaborative documents in Redmine

So this is certainly a workaround, and we will likely create a redmine plugin just for handling this.  However, the way its working now is pretty nice and flexible, so I really don't consider writing a module to be incredibly imminent - though using the jquery plugin that etherpad lite provides could provide some really powerful tools for users.

Regardless, this is how is what you need:

\"\"

Find Drupal Modules More Easily With Drush pml + Grep

So one thing that used to trouble me with using Drush was that finding modules to enable could kind of be a chore.  Especially when, lets say, you have a client who has over 200 modules on their site.

What I used to do was something like this:

$~: drush pml --package="notifications" --status="Enabled" --type="Module"

Now, that works pretty well - except when, for example, you may be looking for a module with notifications in the name that isnt part of the notifications package.  We all know how  complex this can get!

So, one day it dawned on me to use grep alongside drush!  Duh!  (grep is available in most *nix systems, and on windows with cygwin installed).

$~: drush pml --status="Enabled" | grep notifications

You may get more exacting results with this! :)

\"\"
by-nc-sa 3.0 Richard Schulte метр