One of my next major drupal development tasks will be integrating the project module with OG. This will be for a couple of drupal sites running at my day job (academic staff in the computer science department of UW-Madison). Here's how I hope to use OG with Project...
Objectives
The sites will primarily manage on-line documentation and problem tracking for a couple of open source research projects. They can't really live on the same site for various reasons (don't ask). However, each project has a bunch of different groups of people who care about it. I'm planning to enable OG on these sites, and allow users to create their own user groups. When submitting issues, the user will tag the issue with a certain audience (or will just submit the issues from that group's page in the first place.
Because the different groups have different priorities to the research projects (e.g. it's more important to fix the bugs from important collaborators who help get grants than random users of our software in the wild), the software developers will be able to query the issue queues and filter by audience/group. This is one of the areas of integration I'll have to write code for.
Similarly, user groups will be able to see all the issues they've submitted just by going to their group page. This will enable them to keep track of all the problems they're having and what's being done to address them.
Status
Currently, there's a bug (#60599) where if you OG-enable "issue" nodes, and submit one with a given audience, once you follow-up to the issue, the audience is lost. I understand what's going wrong here, and am pretty clear on how to fix it. See #60599 for more details on this.
Additionally, the code to filter the issue queue by OG doesn't exist. Opinions and feedback on how that should work are most welcome.
Otherwise, most of this will just work given how OG already exists.
Any feedback on this idea would be appreciated, and I'd love volunteers to help test some of this once I have the code written. Please post comments here, or use my contact form.
Thanks!
-Derek
Comments
Case Tracker
Hi Derek:
Currently the biggest priority for Case Tracker (http://www.drupal.org/project/casetracker) is OG integration and Moshe Weitzman (OG's developer) is keen on getting this working for groups.drupal.org itself. Your help would definitely be appreciated.
Have you considered using Case Tracker for this?
--Dave
--
http://www.woven.org
http://www.davidnotik.com
these projects are software that need CVS integration
yes, i've looked at casetracker, since it's been recommended many times for many reasons. however, for both of these sites, some/many of the "projects" i need to manage issue tracking for are genuine software projects, and all of the project module's integration w/ cvs, it's "software-centric" view of projects, etc, is a bonus, not a minus.
plus, since project itself is central to drupal.org, i figure it's a good idea to fix problems there and extend that, instead of continuing down the path of forking effort in this space. i've got nothing against casetracker if that's what you need, but a) drupal.org isn't going to switch to it anytime soon (at least not that i know of) and b) i actually need nearly all of project's existing functionality.
Your rationale makes sense.
Your rationale makes sense. I initiated and am sponsoring Case Tracker development. There are valid reasons for not going with project.module. Eventually, I would like to see the software development aspects exist as an optional pluggable module, but there hasn't been much thought here yet. I would like to see our work be valuable to drupal.org also and I don't want to be duplicating any work. For now, there are many uses for a basic issue tracking system, minus all the extra stuff project.module provides, especially if it works well in an OG scenario.
--
http://www.woven.org
http://www.davidnotik.com
filter issues by og
you have 2 options for filtering issues by og.
good info
thanks for the useful pointers. i was originally thinking of form_alter()'ing the issue query form to add a drop-down box to select groups (based on the group membership of the currently logged in user), but then i wasn't sure how i was going to handle the SQL. using the rewrite_sql() hook is the (now that you mention it) obvious choice. ;) i'd like to keep this as light-weight as possible, and not require all of views to get it working. not that views aren't cool, i just haven't had a chance to fully dive into them yet, and i'd rather keep things as simple as i can. ;) i'll definitely take a close look at og_rewrite_sql().
thanks again!
-derek
og_project module now exists
http://drupal.org/project/og_project now exists. it's totally barebones at the moment. just barely enough code to get it so you can associate issues with groups, and everything still works. lots more is possible in the future, but at least the basic functionality isn't broken anymore. ;)
futher tasks and feature requests should just be posted here: http://drupal.org/project/issues/og_project
thanks,
-derek