Cohort CRM

From Google Summer of Code 2009
Jump to navigation Jump to search

The Berkman Center for Internet and Society is working to build an easy to use Rails-based CRM that - in the classic unix model - does few things and does them well. We feel there's a need for a simple CRM that's light on complexity and heavy on data portability.

Cohort is a Rails-based CRM system designed for:

  • A rich tagging and tag querying capabilities,
  • Easy customization,
  • High performance,
  • Flexible searching (via Ferret),
  • The ability to save shared searches similar to the venerable Request Tracker,
  • Intuitive mass-actions,
  • Promiscuous exporting features,
  • A bullet-proof data model enforced at the database (and ActiveRecord) level,
  • A hybrid tagging system supporting both free and hiearchical tagging,
  • Pluggable authentication / authorization (we use LDAP),
  • A careful use of ajax-y features to improve user experience without being gimmicky.

We want to use as many plugins as possible to avoid reinventing the wheel. We plan to extract and release any generically useful parts of Cohort as standalone plugins.

Alpha-level code has been published on github.

Possible tasks

  • Build intelligent user record de-duplication using database and Ferret queries,
  • Create a generic layer to export user data to specific applications for shared authentication or user management,
  • Create a light-weight mass-mailing system linked to specific tags or saved searches,
  • UI improvements,
  • Extract the hiearchical / free tagging system as an improved "acts_as_taggable",
  • Ensure the postgres-level database functions and triggers are fully implemented in MySQL and potentially other RDBMS.