Integrating OG with the project module

Events happening in the community are now at Drupal community events on www.drupal.org.
dww's picture

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

DaveNotik's picture

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

these projects are software that need CVS integration

dww's picture

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.

DaveNotik's picture

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.

filter issues by og

moshe weitzman's picture

you have 2 options for filtering issues by og.

  1. just use views module and og_views.module. you can build the view you want
  2. write you usual issue listing query and pass a simple array in he 4th arg of db_rewrite_sql(). then og_rewrite_sql() will add the needed conditions for you. see that function for details.

good info

dww's picture

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

dww's picture

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

Issue tracking and software releases

Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: