Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master

This branch is 46 commits ahead of sethwalker:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
app
config
db
doc
lib
public
script
spec
stories
test
vendor
.autotest
.gitignore
.gitmodules
AUTHORS
Capfile
LICENSE
README
Rakefile

README

CRABGRASS
=========================================================

Crabgrass is a software libre web application designed for group and network organizing, and tailored to the needs of the global justice movement. The long term goal is to provide the technical tools to facilitate active, confederal, and directly democratic social change networks.  This version has been adapted for the needs of the Green Change Network.

INSTALL
=========================================================

debian/ubuntu
--------------

required:
  apt-get install rubygems
  gem install -y rails
  gem install redcloth
  gem install rmagick
  gem install tzinfo
  gem install haml
  gem install rspec
  gem install zentest

optional for ferret:
  apt-get install ruby1.8-dev build-essential
  gem install ferret

optional for latex rendering:
  apt-get install graphicsmagick texlive gs-gpl
  gem install open4

then check out the code:
  git clone git://github.com/sethwalker/greenchange crabgrass
move into the newly created project
  cd crabgrass
and install any submodules:
  git submodule init
  git submodule update

you can also try the version used on we.riseup.net
  svn co https://code.autistici.org/svn/crabgrass/trunk crabgrass

set up your database:
  edit config/database.yml
  mysqladmin create crabgrass
  rake db:migrate

set up your /config/crabgrass.yml
  cp config/crabgrass_example.yml config/crabgrass.yml
  edit the default settings

set up /config/democracy_in_action.yml if you want to mirror data to DIA
DIA services are disabled in development mode.  to change this, check out config/environments/development.rb
  cp config/democracy_in_action_example.yml config/democracy_in_action.yml
  edit the default settings
	

logger:
  By default production.rb is set to use SyslogLogger.
  Either comment this out or 'gem install SyslogLogger'


PLUGINS
=========================================================

acts_as_list
------------

automatically supplies methods for reordering on tasks and polls

acts_as_modified
------------------

Lets you test which properties have been modified of an activerecord.
this feature is built in to Rails 2.1 so this plugin will be phased out

acts_as_rateable
----------------

used for rating posts in discussions

acts_as_state_machine
---------------------

Used in the Approvable module, which assists in processing requests and invitations

acts_as_tree
------------

Used for groups, which can have other groups as committees

acts_as_versioned
------------------

Versioning for wikis and assets.

attachment_fu
---------------

Used for assets. Makes it much easier to work with uploaded data.

calendar_date_select
--------------------
Javascript and css resources for choosing dates and including them into forms. Used when adding events.

democracy_in_action
-------------------
Used to mirror User, Group and Membership records to the democracy in action service

exception_logger
----------------
Used to spot unhandled Exceptions in production via a handy web interface at /logged_exceptions

fixture_replacement2
--------------------
fulfills the role of fixtures in specs without all the brittle make-workiness


fleximage
------------------
Used for icon representations of Pages, Groups, and Users
fleximage is maintained as a submodule in vendor/plugins/fleximage

geokit
------
handles connections to (yahoo/google/etc) maps api for displaying events with geo-codable locations

haml
----
concise language for view markup

has_finder
----------
insanely handy way to specify scopes on your find commands.  this plugin has been added to the Rails 2.1 core as named_scope 

has_many_polymorphs
----------------

Provides polymorphic relationships for has_many relationships. Enables tagging and other polymorphic data.

multiple_select
---------------

Adds fun helpers for has_and_belongs_to_many associations, such as
a bunch of text boxes or a selection tree.

rspec
-----
the spec library of awesomeness

rspec_on_rails
--------------
the spec library of awesomeness, with many rails-specific methods

ruby-svg
--------
on-the-fly svg generation library.  used for creating groups network map

spider_test
-----------
an integration tester that moves thru each page of your site looking for weaknesses and trying to raise exceptions

state_select
------------
helper methods for selecting US states and Canadian provinces.  used in Profile::Location and Event forms.

textile_editor_helper
---------------------
push button textile formatting.  used on edit forms for Wiki, Blog, News, and Action Alerts

tzinfo_timezone
---------------
required by tztime

tztime
------
for easy-ish handling of user timezones

validates_as_email
------------------
simple, thorough way to do what it says

webrat
------
a simple dsl frontend for integration testing of user actions in a simple xml browser simulation

will_paginate
-------------
widely respected pagination solution




GEMS
=========================================================

tzinfo: required by tzinfo_timezone + tztime

redcloth: greencloth derives from redcloth

rmagick: used to scale avatars and build thumbnails

ferret: indexed full text searches.

open4: used by latex renderer (optional)

SyslogLogger: improved logging (optional)
Something went wrong with that request. Please try again.