Discrete Crabgrass Projects

This page lists ideas for crabgrass development projects that are relatively independent. One of these projects would be a good place to start for someone wanting to get involved in crabgrass development without needed to figure out how everything works.

crabgrass rdoc

Documentation can always be improved.

  • If you are familiar with the code, create a list of key areas for improvement.
  • If you are a wordsmith, try improving some high use documents like INSTALL or README.
  • If you like cucumber features and want to make them more visible/useful, continue the YARD + CITY experiment.

crabgrass field research

Are you with a group that has tentatively started to use crabgrass? What are the things that hold the group back from using crabgrass more? What is most confusing? What is the connection and disconnection between how your group would like to collaborate/communicate online and what crabgrass is able to do (or will do in the future)?

user directory

Currently, we have no user directory of any kind. There needs to be a way to search and browse users with public profiles, and perhaps also list the most popular user content.

group directory

Currently, we have no group directory of any kind. There needs to be a way to search and browse groups with public profiles. You should be able to browse groups by political interest and area.


Users like candy! Candy is all the fun stuff with no nutritional value. An example of candy might be a list of books you have read and a way to see books your friends are reading.

wiki power

The wiki is the thing that is used most currently. It is ok, but it doesn’t have many important wiki features. For example, table of contents, back links, dead links detection, edit by section, media integration, etc. See wiki tool.

add a new page type

Add a new page type. Use your imagination!

javascript application

There are several javascript applications that would be cool to have. In particular, a collaborate editor or spreadsheet application.

voting and commenting on membership requests

It would be good if you could vote on a membership request and also comment on them.

crm features

CRM stands for Customer Relationship Managment. CRM software is used by businesses to keep track of their clients. It’s used by salespeople to document sale status for each customer.

We don’t want to sell things of course, but there are people who want similar tools for community and workplace organizing. This should include a database of contacts, campaigns, notes and tags for contacts and campaigns, build in mass and individual communication tools, and history tracking for each contact.

The model for this is not terribly complicated, but the ui needs a lot of work to be easy and intuitive for non-techy organizers who want powerful tools.

See the canonical Rails CRM example – Highrise highrisehq.com
AGPL Rails CRMFat-free CRM

custom banner image upload

This is certainly in the eye-candy category, but would also be very useful to help identify at a glance who owned a page.

  • Allow banner image selection for a person or a group/network/committee landing page
  • Create gallery of banners, perhaps re-purposed from CC Licensed firefox personas.
  • Allow upload of custom images into a shared library of banners

image upload progress indicator

  • Provide a visual indication of file upload progress
  • Support different servers (most common might be mod_passenger+apache)


As previously stated, I am not a tech—might start teaching myself Drupal or Rails over the next year so I can be more useful, but my skills lie more in communicating and networking. I want to see this project continue to grow and build, and of course I have a subjective interest in seeing crabgrass/ruby develop into the content-sharing software of choice for Indymedia too.

I will do my best to recruit people who know Ruby to help with this collaborative project and further inspire Indymedia techs to get more actively involved, particularly those doing the IMC-Alternatives Project I have crosslinked several times in different crabgrass posts.




Once we are running off the engines branch of crabgrass, it should be easy to factor out most and create a bare-bones social networking platform. Yes, I think that indymedia 2.0 and crabgrass should share the same basic social network foundation, but I have not wanted to wade into the political storm of debating indymedia 2.0 (more than I already have in the past). There is the possibility that I will help someone build this summer a youtube clone using a crabgrass foundation.

I heard yossarian is working on cake indymedia cms? If so, maybe he can be convinced to come back to rails. Although I should hasten to add, ruby is still slow for now.


i should hasten to add that currently crabgrass is a nifty idea, but not really a high performance jet. once we have full text searching working, have figured out the best way to cache the expensive stuff, and have multi-server asset management, then yeah, rock on.


yes, I heard indymedia techs want to use php cake for the IMC-Alternatives Project because it is more secure. Sadly I am not too knowledgeable about any of them as my knowledgebase has always been organizing, not programming. I definitely see the longterm potential of crabgrass, and it is truly unique. Indymedia 2.0? Have never heard of this. Was there an attempt already to start dev on a universal Indymedia code before? I will have to look into this. My main reason for all this curiosity and such is we are working on our IMC install in Lancaster, PA (lancasterimc.wikispaces.com and lpimc-dev.wikispaces.com), and it seems that we are in this strange land, as so many things are on the cusp of change, yet could still be a few years, and we don’t want to wait that long to have our site up (running in Drupal,most likely). I also don’t like the idea of migrating to another CMS a few years down the road, nor running a CMS for Indymedia and a social networking platform separately-I want to see them conjoined.

By the way, for someone like me with practically no programming experience, how long would it take me to learn rails?


michaelv: advice would be to find/steal a copy of this book: Agile Web Development With Rails – I am going through it now and it seems pretty good.

‘no programming experience’ could be a problem or could not be – if it makes sense to you (programming) than my instinct would it shouldn’t take any time at all (seems so far to me, learning both ruby and rails simultaneously, that both are pretty straightforward). then again, I am coming from python, php, c, and a little java/haskell, so my perspective might be a little different… but just get involved, and you should get it quickly. if not, just ask questions…


I intend to jump into it after March (certification exam in OT). I want to be able to assist in tech projects, rather than sit on the fence all the time. I am just pre-occupied at this particular moment to learn a new language of any sort. But I will keep that book in mind and pick it up as soon as I can. Thanks.


Actually, was pondering as I worked tonight, and realized I need to back pedal. I have some big commitments following March, such as working with our tech on the LPIMC install, etc. but mainly I guess I should say that while I intend to start learning a language (be it Ruby, rails, drupal, etc) I actually think I could help crabgrass out the most with contributing content, such as help comments or other documentation for steps, how-to’s, etc. I could start that today, programming I suspect will take me some time, given my schedule, to get a handle on.


well, learning to program takes years, and learning rails can be mindfuck for even experienced programmers, but i am actually teaching a class right now that attempts to take people with no programming experience and teach them rails from scratch (in ten weeks). We have two crabgrass groups set up: /learn-ruby and /rails. Not much there yet, but hopefully we will be building a curriculum over time.


I think in the long run I will endeavor to learn them, though being realistic (and as you point out, it takes years to get it right) I should offer my writing and communication skills instead. I am with this project for the long haul, and would like at some point in the future to look into ways to bring funding to the project to help it move along even faster. I am in the learn ruby group, which while I don’t expect to learn much right now, it can help me perhaps with helping to develop text content for user help tools, etc. Am I making sense? In one of the groups I saw a page about this topic, and since I am not a tech I suppose that is a way I can contribute besides suggesting features, finding bugs and benefiting from this exciting project. Thanks, by the way.


what’s up with the green highlighting? What does that mean?


that is the text that has changed since the last time you viewed the page.


oh, groovy (I am mostly a nube at tech stuff).


The cms I’ve been working on (“hyperactive”) is a sort of stop-gap thing built in Ruby on Rails, because we’re really dying for sexy features in London. It is currently powering indymedia.dk and will be launched in London soon (probably within two weeks).

I have been debating the pros and cons of setting up a crabgrass installation to go along with the site, because people are really highlighting groups functionality as something they want…Elijah, have you made crabgrass into an Engine? That’s how my thing works, it’s set up as an engine so things can be overriden in the base application wherever necessary.


Seems that if this new indymedia site built on Ruby on Rails can effectively integrate crabgrass, that projects such as imc-alt should think about doing the same thing….


I am not totally sure which way to go on this one. On one hand, the stuff already built for Crabgrass is pretty great. On the other hand, when I think about what we need for group-related functionality on an Indy site, I think of the following:

  • content aggregation for the group (all articles, events, videos published by group members)
  • a profile page
  • links to external content (like if the group has an external website, rss feeds, etc).

As I said to Elijah when he first told me about Crabgrass in Dijon, I think that the idea of having Indy sites turn into serious organizing tools, with media output just being a by-product of that, would be fucking amazing. It’d be quite a bit of work to integrate everything, though, especially with the security model of the two sites being quite different (also I haven’t done the Rails 2.0.2 upgrade yet).

I guess instead of integrating the systems directly, another option would be to offer the option of running them separately, but side-by-side, and having authentication being the same across the two sites. Then, somebody could register in Hyperactive, and automatically get a Crabgrass account. Registering a Hyperactive group would result in the creation of a Crabgrass group as well (but not vice-versa).

I am also wondering about where caching is at in Crabgrass, and whether it’s considered ready for prime time use? In London and I suspect in Denmark, people are really ready to start trying weird new things, but if the codebase can’t handle at least a few hundred active users I think it’d be best to wait a while before trying it out. It’s a good time to be talking about this stuff though, because either I’m going to write the Hyperactive groups functionality fairly soon (starting in about one month, probably) or it’s integration time. Or both.

yossarian, i think the timing could be good for collaboration. This summer we will be making decisions on the direction to take crabgrass dev. Elijah will have a few months to dedicate to dev once he is done with school in June, and i’m hoping abie (our most active current developer) will have free time to continue working. Top of the agenda for discussion is
  • possibly moving to GIT for better coordination. right now the SVN set up is suffering from lack of someone managing the repository. I’m hoping GIT will help. There is a bunch of new development done by radical designs that hasnt been merged back into our code. check it out at network.greenchange.org (you’ll recognize the calendaring)
  • determining if riseup will become a hosted solution for crabgrass. right now we.riseup.net is live, but we need to some restructuring and planning if we are really going to launch this. I’m pushing for September!
  • deciding on what development projects to work on this summer. there is a lot to do just to iron out all the bugs and make sure what we have is functional. on top of that i’m hoping to have one or two projects that really distinguish this platform (convergence tool, labor exchange tool, spokescouncil tool, etc)

Talking more about integration with hyperactive, and focusing dev towards specific groups and needs could help guide our activity this summer. Lets keep this conversation flowing. I’ve started a wiki. We will be getting back to weekly dev meetings starting next week and you should definitely get in the mix. Most likely on Mondays. Stay tuned for the time and place.

To answer some of your questions.
  • are we ready for primetime – absolutely not, but might be focusing our energies towards this over the summer. that being said, we.riseup.net should be able to handle an influx of a hundred new users, the question is weather they would want to be part of the early effort to put crabgrass through its paces.
  • if we do go live, running the systems side by side with a joint login could be excellent.

Moving forward, there will have to be an ongoing conversation about what crabgrass should do and what would best be done in hyperactive

i look forward to getting into this more.


Running crabgrass side by side with an indymedia install is exactly what we have been talking about with the imc-alt and lancaster/PA imc projects. A while ago I learned about Yossarian doing the ruby on rails indymedia site, and I thought this might be a possibility of the universal code indymedia techs are debating about beyond cake and drupal and indycore. Esp since it would make integrating crabgrass with indymedia sites even easier and more fluid, perhaps a single unit down the road. Anyhow, from a non-techie perspective, i am fucking really excited about all of this. (!)


daniel – I can’t access the wiki, I suspect I need an invite to the crabgrass group. I need to do a lot of work on the calendaring aspects of Hyperactive, so it’d be good to collaborate with whoever’s on the Crabgrass case with that because there are lots of fixes to work on, hopefully together.

Let me know when the weekly dev meetings will be and I’ll try and make time for them.

As far as where we’re at with our code – I think it’s ready for modest deployments. I have recently finished with full-page caching for the front page and all “show content” views, which really speeds things up, and the site is now running in a mod_rails container which seems to work well enough and gets rid of the mongrel configuration complexity.

As far as weird new features go, I’ve started to build a torrent controller process using backgroundrb which I think is going to work really well, it’s not visibly doing much yet but the back-end is working really well. All video uploaded to the site is converted to FLV and screening-quality Ogg and then (will be) offered as a torrent download. Torrents were working earlier in a different way but they weren’t staying stable so I’m moving to a more integrated system using a Ruby interface to libtransmission.

I am posting regular blog updates on escapegoat.org – check their for status reports and I’ll talk to you soon!


hey, the wiki is controlled by the crabgrass dev group. please join it. i sent you an invite. no matter which way we roll, there should be a lot of overlap in our efforts!


Cool, I’ve joined the group, thanks for that.


while reading this I thought it would be usefull to split these comments into threads like moodle can. has anyone already worked with it? what do you think about integrating this function into cg?

also I thought the problem descriptions above are to general (for me) to know what hast to be done exactly. how could i take part, how could i say “this one is important to me”. Who is interested in what? what about a ranked vote?
please tell me how to do!

Especially I am interested in the calender and news collection (i already use the aggregator gregarious and would like to include it into cabgrass).
But also documenting could be very meaningful as im new to cb and ruby. michaelv, maybe this could also be good to get familiar to the code and to understand how it works in general – do you join?


well, dave@brattcollective.com wrote a bunch of calendaring code. it would be good to figure to where that is and how well it is working and get it back into the main development branch.

maybe the code is here?: code.riseup.net/trac/crabgrass/browser/...

I don’t know if that is the most up to date.


thanks. see the calender todo list for later updates


is the rdoc project a good one for a crabgrass neophyte?


brandon! I hope to see your little tykes this summer.

yeah, i think rdoc would be a good thing to do without needing to grok everything. basically, you wouldn’t try to write all the documentation, but you would set up a system for generating the rdocs, write a few examples for a few methods, and write a how-to for others to follow.


Ok, I’ll get to it! Aside from the RDoc how-to, where should I keep my work?


i removed a bunch of the items here. they were completed!


Hi, I am just exploring crabgrass – I just want to mention that from my account I can see a “change permissions” and “change owner” dialog for this page if I view at the details – I can even change the owner of this page – I just tried it, but I was surprised that it really did something – I expected a message like “you are not allowed to take ownership” – I hope it did not break anything – maybe this is just a misconfiguration, however I feel a little bit over-permissioned with the possibility to take ownership of anything here just after generating an account… I am definitely not hostile and not destructive, but I may not completely understand what I do as a new crabgrass user – taking ownership of anything here might be a little bit too early :)


snaky love: hey. the users group has a council and that should prevent you from being able to modify the owner setting if you are not in the council. i think you have identified a bug. thanks!


To answer the question “Are you with a group that has tentatively started to use crabgrass? What are the things that hold the group back from using crabgrass more? What is most confusing? What is the connection and disconnection between how your group would like to collaborate/communicate online and what crabgrass is able to do (or will do in the future)?”

We are actually trying to use Crabgrass but :
- we have more powerful tools online as we are quite a geek collective : we use Trac for wiki and to list problems, tasks, and meetings reports… We use Twitter and Identi.ca for microblogging, Etherpad to write collaboratively, mailing-lists and ssl IRC to communicate, and we have our website who has many communication tools inside… So that’s certainly the first reason not to use more Crabgrass. What would certainly be interesting on Crabgrass for us would be RSS and microblogging to communicate with other activists and subscribe to thematics or updates from other activists websites. It would be an occasion to get Crabgrass more “lively” (we’d say “vivant” in french) or interesting to log in frequently. But we work on getting Crabgrass popular around us !