Work tracker for Open Atrium 2.0!

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
dsnopek's picture

Hello Everyone!

The Bucket Brigade is sponsoring me to build a Work tracker for Open Atrium 2.0 (similar to the Case Tracker in Open Atrium 1.0).

I've only just started development yesterday, so it's still super early. However, I wanted to show you what I've got, tell you about our plans and invite you to contribute your ideas, bug reports and patches!

Here is the project page:

http://drupal.org/project/oa_worktracker

(NOTE: A development release should appear in a few hours!)

Architecture

We're planning to build the Work tracker in a modular fashion. There will be a core module ("oa_worktracker") which just provides content types for Project and Task along with some basic fields and widgets.

Then we plan to create add-on modules for more advanced functionality.

Here are some ideas we have for add-on modules (no promises!):

  1. Deliverables and Milestones
  2. Due dates and notifications as the due dates approach
  3. An advanced prioritization system based on risk and effort estimates
  4. Dependencies and Gantt charts

Dependencies

I'm using the Comment Alter module to provide the ability to update Task fields via comments (like in Casetracker).

UPDATE: Patches no longer necessary! Use the comment_alter-1.0-rc1 release.

I'm working with the maintainer, but a couple patches are currently required for it work correctly:

I've included a Drush make file (oa_worktracker.make) which will download comment_alter and apply all the necessary patches.

Screenshots

Viewing a Task

(NOTE: I zoomed out, so I could get the whole thing in a single, smallish image)

Selection_079.png

Task comment with field changes

(NOTE: the OpenAtrium 2.0 theme has no styling for comments yet!)

Selection_080.png

Viewing a Project

Selection_081.png

Viewing a section with the "Task list" widget

Selection_082.png

What are your thoughts?

What do you think should go into the Open Atrium 2.0 Work Tracker?

What do you think of what we have so far and our plans for the future?

Please test the module and send us your bug reports and patches in the issue queue!

Thanks!
David.

AttachmentSize
Selection_079.png72.09 KB
Selection_080.png18.85 KB
Selection_081.png49.86 KB
Selection_082.png53.14 KB

Comments

Patches no longer necessary and -alpha release!

dsnopek's picture

I worked with the maintainer of comment_alter and now it's no longer necessary to apply any patches!

Also, there has been an -alpha1 release of the Work tracker:

http://drupal.org/project/oa_worktracker

Please test it out and let me know what you think!

Regards,
David.

Very interesting. Would be

Fidelix's picture

Very interesting.
Would be nice to have customizable colors for priorities, and custom priorities.

Thanks for the ideas! I

dsnopek's picture

Thanks for the ideas! I agree, those would be very cool features. You should create an issue in the issue queue. :-)

Right now, we're experimenting mostly with the integration into OpenAtrium 2.0. But as things move forward, we'll start to dig into the usablity of the Work tracker itself more.

Thanks again!
David.

just

GiorgosK's picture

just read
http://www.phase2technology.com/blog/open-atrium-2-x-alpha-is-here/
and Amitai Burstein is linking to a generic case tracker they have build
just wanted to put it here in case anyone wanted to take a look at it
(I will when I get a chance)
https://github.com/Gizra/Garment-Box/tree/7.x-1.x/garmentbox/modules/custom

form_alter issue

hollyfox's picture

OK, I found the issue. Please disregard. I had altered the form_alter variables trying to upgrade from 6 to 7 and removed the ampersand from the &$form, &$form_state, $form_id arguments in the function.

Thanks

Hi I am working on customizing worktracker and have run into an issue with the drupal_form_alter. I seem to be unable to set the form options and am wondering the best method for doing so. The only place I see them in the $form is within the field array under und - #options.

In our previous casetracker custom module, we used the following code to do so:

unset($form['casetracker']['case_status_id']['#options']);
$form['casetracker']['case_status_id']['#options'][101] = 'Pending';
$form['casetracker']['case_status_id']['#options'][17] = 'Approved';
$form['casetracker']['case_status_id']['#options'][102] = 'Not Approved';
$form['casetracker']['case_status_id']['#options'][59] = 'Cancelled';

This worked well, however, when I use it on the field in the form, I am able to see the options when I dpm the form, but the actual select list only has the settings in the content field. I have heard that there is an issue with drupal_form_alter regarding the order in which the modules are called. Additionally, I have read that we now have split fields with a fieldbase (which your module uses) and an instance and I am not sure I am looking at the right thing. Do you know if one of these issues could be the problem, or am I missing something else? Any help would be appreciated.

Using hook_form_alter() isn't

dsnopek's picture

Using hook_form_alter() isn't the best way to extend the new OA Worktracker (although, you could certainly do it!).

Here's what I'd recommend:

  1. It's using standard content types and fields, so you can simply use the Field UI to change the status options. As the admin user, go to the path: admin/structure/types/manage/oa-worktracker-task/fields/field_oa_worktracker_task_status
  2. And then use the features_override module to put your changes into code.

I hope that helps!

Best regards,
David.

features_override

hollyfox's picture

Thanks David for the info. I am looking into using features_override. My main idea for doing everything in our module is to contain it so that I can see exactly what is going on. My background is in C and databases and I have a tendency to want everything in a neat compact package. I am relatively new to Drupal and am attempting to revise an existing custom module that overrode casetracker in Atrium 1.x. We also do considerable workflow manipulation within this module using the hook_form_alter and I am trying to expand on that a bit.

So, basically, if I use features_override, I can use the UI to make changes and then it will output code that will do it for us in the future. Is this correct? If so, this may be a better way about it than how I am doing it now. I would still need to use code to manage the workflow, but altering the options and fields in the UI is relatively simple.

Thanks

Hollye

Hi Hollye, Yes, it will

dsnopek's picture

Hi Hollye,

Yes, it will actually output code that becomes part of your module. That code is in fact doing an alter hook, but not of the form, of the allowed values for that field. So, you could write the code by hand too if you wanted, but features_override will do that for you. :-)

I hope that makes sense!

Best regards,
David.

Content field view argument

hollyfox's picture

David,

I have been successful so far with the override module and believe it will help immensely. However, I have encountered something that you may be able to help me with. I have searched and searched to find a method and all I get is how to do it in code. I need to do it in the interface first.

I am trying to use an entity reference view to limit selections in a field and am able to pass a verbose number to the contextual filter and have it return the correct nodes. I need to pass the value of an integer list field in the same add form to the view arguments and have tried almost every form that I can think of, ie. %node/add/oa_work_tracker/my_field_name, etc Do you have any idea how to pass a field value through content field view argument?

Thanks;
Hollye

Unfortunately, I don't fully understand the problem :-/

dsnopek's picture

Hi Hollye,

Unfortunately, I don't fully understand the problem. :-/ However, this sounds like it's going beyond just using the Work Tracker to implementing some Drupal customizations that aren't necessarily specific to the Work Tracker.

I'm a freelance Drupal developer and I'd be happy to help as a contractor! If you're interested, please send me a message via the contact form on my Drupal.org profile and we can setup a call over Skype or telephone:

https://drupal.org/user/266527/contact

Best regards,
David.

Error add comment task

dogosoft's picture

EntityMetadataWrapperException: Unknown data property og_group_ref__og_membership. in EntityStructureWrapper->getPropertyInfo() (line 339 of C:\wamp\www\open\profiles\openatrium\modules\contrib\entity\includes\entity.wrapper.inc).

A similar but different bug

dsnopek's picture

A similar but different bug was experienced by some users here:

https://drupal.org/node/2048761

For some reason, I can't recreate that problem. :-/ Please create an issue for your problem as well:

https://drupal.org/node/add/project-issue/oa_worktracker

Thanks!

Planned versus Actual

firebug's picture

Tasks seem to only have a due date and no start date. I suspect that this was designed as a simple tracker and not a PM system.

Also there is no planned versus actual dates for start and end.

I suppose these can be added as fields but there is some inherent functionality that is implied when comparing actuals to planned.

Maybe i need another module?

Thanks
Steve

Enable the Work Tracker Due Date module

dsnopek's picture

You can enable the Work Tracker Due Date module (comes with Open Atrium) to get due dates, however, it doesn't add a "start date". If you had needs that were different than what the Due Date module gives you, yes, you can just add a Date field!

I hope that helps!

Regards,
David.