Acquia Drupal Commons 3 is a great Drupal 7 distribution to create a social network type site. Casetracker is a nice, extensible support ticket management system for Drupal 7 that can also be used as a task manager for distributed collaboration on tasks. Here's how to integrate both cleanly as I did for the Edgeryders site:
- Create a new Drupal Commons integrated content type as a module. This is really simple by the existing, quite generic Drupal Commons content type modules (commons_post), copying it to another module (here, commons_tasks) and replacing all occurences of post / posts with task / tasks respectively. In my case, the result is a module commons_tasks. Not yet readily packaged as a Drupal module, but you cand download the files from that link already. That's better than creating it yourself, since there are a few other tweaks included (like adapting the link for creating a new task to inclde a reference to the Casetracker project ID as parameter for which to create the task.)
- Install the new module. Here: Save the directory commons_tasks under ./sites/all/modules and call:
drush pm-enable commons_tasks.
- Adapt Casetracker settings. In the "Casetracker settings" screen (at /admin/config/casetracker/settings), set "Group" to be the only project node type and "Task" to be the only case node type.
- Add og_group_ref to the new content type. Go to "Administration -> Structure -> Content types -> Task -> Manage fields" (/admin/structure/types/manage/task/fields) and add add the existing field og_group_ref.
- Configure field og_group_ref. That is, configure the field and fied display settings to be the same as in the Drupal Commons content types, e.g. Post. Especially take care to enable the "field prepopulate" setting to select proper group membership as default when creating new content from within a group.
- Configure permissions for Casetracker. To be done at /admin/people/permissions. Note that you don't need to give any permissions in the "CT Basic" section because these only relate to the Casetracker's default project and case content types, which we don't use.
- Disable the casetracker_basic module. It's not needed because we use other content types for Casetracker projects and cases here. Execute:
drush pm-disable casetracker_basic.
- Adapt comments settings. In the content type settings for "Task" (/admin/structure/types/manage/task), adapt comments accordingly. You probably neither want a title nor threading for the comments.
As a result, all Tasks are now handled by the casetracker module and can also be managed in its task manager at /casetracker. But additionally, tasks are content of organic groups like posts, wikis, polls and questions in Drupal Commons, and are nicely integrated with the Drupal Commons group browsing widget, content creation widget and notifications system, including the "Follow" and e-mail notifications features.