[whups] new to whups

Gary Weinreb gweinreb@rocksolidsystems.com
Fri Oct 25 18:01:46 2002


At 10:50 PM 10/24/2002 -0500, Eric Rostetter wrote:
>Just installed/configured whups (after fixing a minor bug in it).
>Looks interesting, but with no docs very hard to know what to do...
>
>So what is the status of this thing?  It doesn't look as bad as its web
>page says it is...
>
>Anyone have any docs/notes on setting it up or using it?


I've been messing around with it, modifying it as a Projects management 
app,, rather than a Bug tracking app.

I agree that it has got a lot more going on with it than it's docs and 
traffic on the list would indicate.
Some parts, such as the Query Builder, don't make any sense to me, are 
incomplete, or I've yet to discover their workings.
Same with the Reports section.

Basically, you have the following data elements:

1)     Modules - top level, I use this for Client Name.
2)     Type - I use this like a template for Project Type, as each Type has 
a set of:
2.1)  States - I think of this as the Stages of progress that a Project 
goes through...
2.2)  Priorities - I use this to indicate whether things are on track 
timewise, i.e. I use Priorities like Normal, Rush, Super-Rush, or more 
recently, I use Green (OK), Yellow (Caution), Orange (Warning), Red 
(Danger), Blue (Excellent).  (If you see where I'm thinking of going with 
this vis-a-vis Horde Categories, you're right on!)
2.3)  Subjects - I don't use these, but you can set up key words which can 
apparently be queried against...
2.4)  Responsible Users - For me, authenticating via 
Imp-CyrusIMAP-SASL-PAM-MySQL, these are horde_users who have  Identities 
set up through Imp.  There may be other ways to have responsible users, you 
can add any name you want in Whups, but the only users for whom the 
notification (see below) mechanism works, are those with Imp Identities.  I 
would like to rework this to include Internal Users (as is), and External 
Users, for some notification events.
3)     Versions - I use this to set up time oriented sets of Tickets 
(Projects).  i.e. I set up a version for each Project Cycle.
4)     Tickets -  This is an Instance (in OOP parlance) of a Type.  I call 
each of these a Project, rather than a Ticket, and I use several Projects 
with the same Module (Client) and Version, to manage a set of Projects for 
a recurring creative process, such as a creative production process which 
recurs on a weekly cycle and requires Audio Production tasks and Graphics 
Production tasks, as well as Administrative Tasks.

Basically, one creates a Ticket (Project), and for each change of State, 
Assignment (to a User), Priority, or addition of a Comment, responsible 
Users are notified via email, and an Audit Trail is maintained.

Whups integrates with Hermes (time-tracking) in the following 
manner:  Hermes seems to use the whups_modules table as it's data source 
for what is called Client:Job.  The other data element in Hermes that could 
integrate with Whups is called Job Type, which seems like it should be 
mapped to whups_types, but currently isn't.

So, I'm looking for guidance/input/comments/collaboration on fleshing Whups 
out as a Project Management App. in a manner which I can share back with 
the Horde Project.  It may be, as Chuck has indicated previously, that 
Whups as a Project Module should be a separate module.  I don't know the 
answer to that.  I know that I don't understand how to make even the simple 
changes I'm making to the interface elements (human readable references to 
data elements, calling Tickets: "Projects", for instance) work with the 
Internationalization mechanism in a reasonable manner.  It seems that we 
would need multiple sets of translations.  I can imagine that different 
industries use different terminology for aspects of their work flow, and 
that the existing framework of Whups lends itself to a variety of Process 
Management/Procedural Delegation type applications.  It seems that to make 
it as flexible as possible, Admins would be able to name what they want to 
call at least some of the data elements for their implementation, i.e. 
Ticket-Project-Job-Process-Class-Session-Appointment.

I'd also like to have the ability to fine-tune what happens at various 
events, i.e. When a Project of Type ABC, goes from State 01 to State 02, 
Notification is sent to Internal Users Joe, Sue, and Mary, and External 
User Client_Tom; but when it goes from State 02 to State 03, only the 
Internal Users Joe and Sue are notified.

Likewise, when a Project changes State, I'd like to automatically generate 
a certain set of Tasks (Nag integration), and request a specific User 
assign them manually, or assign them based upon some algorithm.

I'd like to have the State change when all of it's Tasks are Completed, or 
conversely, resist changing State UNTIL it's Tasks are all Complete.

I could go on.  I've been putting off interacting with the list on this, 
because 1) I'm just generally kind of reserved, 2) I'm a beginning  PHP 
programmer, though I've a lot of OOP programming experience, and 3) I've 
been waiting to see if anyone else was going to throw something into the 
ring...

I'd greatly appreciate some guidance on this, and would be honored to 
contribute back to Horde.

Regards,
Gary Weinreb