plainblack.com
Username Password
search
Bookmark and Share

Task Manager Wobject

The Task Manager wobject provides a shared to-do list for managing a group's tasks. The Task Manager allows users to play zero or more roles and therefore provide some granular privileges on task creation and modification activities. The group of users that can view all tasks, the group who can create tasks, the group that can assign tasks, and the group that can be assigned tasks are set in the wobject privileges settings. Online help for the wobject settings, list template, task template, and task edit template (yes, a different template for the edit form) are available. I should probably add generic user focused help too. Please be aware that although I thoroughly tested the wobject during development, I just made the tarball package and have just reinstalled on a fresh, test system. I still need to test all aspects of the code from this new tarball. Please help me out and install it and run it through it's paces. Once I've completed my tests, I'll write up the features list and also the RFE (e.g., scheduled purge completed/cancelled items older than N days, master task manager option, generate iCalendar messages/export file, allow packaging of tasks into redeployable processes, allow assignment to group to assign who then assigns to individual, gantt charts, etc.) Thanks, --Ed

System RequirementsPlease be advised: this contribution was tested with something older than WebGUI 7.5. When this contribution was uploaded there was no field for the author to fill out regarding it's requirements.
Comments
4mmoran: "
It's been a day or two.

Just pulling your chain.  This is something I've been interested in for a while, so I'm anxiously awaiting to see whatcha got.
"
3mmoran: "
Ok I'm not pulling your chain anymore.  You've dangled the carrot .....

Seriously any news on when, yet?
"
4edv: "Sorry, I wasn't monitoring this thread and didn't realize there was a post.  Yes, I've made progress.  I'm in process of fixing a few bugs, but I can post an alpha version today (sans documentation and some more advanced features)."
4mmoran: "
If you're name wasn't Ed, but rather Edwina, I'd give you a big kiss. 

I'll try to get you some feeback on it after I install it.
"
3edv: "Doh.  I broke something during my "bug fixing" and spent all afternoon yesterday trying to figure out how/why.  Unfortunately, I'm in meetings all morning and won't be able to work on this until this afternoon.  Needless to say, I don't have a wobject tarball/zipfile for you yet.

If you send an email to edv @unc.edu, I'll provide you with login instructions to my dev box.  You can test it there for initial impressions, without the need to install a possibly broken version.

I am very interested in feedback, so this delay is discouraging for me.  Sorry."
3andreasG: "My first look: Great work,"
2mmoran: "Wow!  I just got it installed too.  Easy to install, very complete docs and even a .sql file to back it out if necessary.  You've thoguht of everything.  I still need to play to see if I have any suggestions.  First look is you seem to have everything covered and more.  I hope you submitted this into the contest.  This is a hands down"
4bhurley: "Nice WO, I would like to use it, but when I installed it, but the category option for tasks appears absent - do you have any new versions available or have any ideas why this might be?"
3edv: "Sorry, I tried posting a reply to your message, but got a permission denied page.  Not sure what's up with that...

In any case, task categories must be predefined in at the wobject level.  Then you select one of those predefined categories for each task during task creation/edits.  

To edit the categories:

1) login as someone who can edit the wobject

2) turn on admin mode

3) click the edit icon for the task manager wobject in question

4) you should see a textarea labeled "Categories".  Enter on category per line.  Click save.

5) Select a previously created task or add a new one.

6) You should now have a select drop down which enable you to optionally assign a category to a task


Please let me know if you have any questions or suggestions on how to improve"
4hj: "great wobject!

i was wondering who gets the karma for the project if there would be a fiew people working on the same thing. I saw a "Assigned to" field. Is the user selected in that menu the only one that gets karma for his work? It'd be nice if there was some kind of a mechanizm that would share karma between co-workers, don't you think? It would boost the community"
4edv: "Sorry, the reply feature is not working.  Karma isn't implemented in the Task Manager.  I don't use karma, so I never gave it any thought.  How would you envision it"
4bhurley: "
Thanks!
"
4mmoran: "
With a few twists and turns I can see this "task" manager turned into a "helpdesk".  You'll definitely need to be assign tasks to a group.  Also a discussion will need to be attached to each "task" for the submitter to follow the progress.  And a parmeter for "time spent" on each discussion entry.

With a builtin "helpdesk" this would be step toward the "corporate" world vs. the "hobbiest".  Just my 2 cents.

Mark
"
2mlemasters: "
This is a great WO.  However, it would be nice if you were able to assign sub tasks.  That way you can break down a large project into small peaces, assigning each peace to separate individuals.  Also would be nice to roll up sub project statistics to the main project.  For instance % complete could be calculated to show the total % complete for the main project.
"
3baylink: "I'm Mr PostGreSQL this year, looks like, and there were a couple of Myism's the code.  I translated all the int(11)'s into INT4 ok, and figured out a CASE substitute for MySQL's private 'IF()' function:

my $selectClause = "SELECT users.userId, CASE WHEN ((alias.fieldData IS NOT NULL) AND alias.fieldData!='')"
."THEN alias.fieldData ELSE users.username END as username";
# my $selectClause = "SELECT users.userId, IF(((alias.fieldData IS NOT NULL) AND alias.fieldData!=''), "
# ."alias.fieldData, users.username) as username ";

and syntactically, that seems to work.  But I have a weird problem, now.

Before I made that last change, everything was ok, but adding the wobject threw an syntax error on the IF().

After I made the changes, modified the config file, and bounced the server, now I *don't get my AdminBar macro interpreted.

That's *weird*.  I've checked the syntax and semicolons and such on the changed lines; no luck.  Anyone got any"
4edv: "
I'm planning on making some enhancements to the Task Manager wobject in late Feb/early March which will include removing this code.  Instead I will store the username in the database at the time of submission/update similiar to the USS component.  If you can wait a month or so, then this shouldn't be a problem.  If not, then please feel free to make these changes to the code and send them back to me!

Thanks,"
3baylink: "I could wait, but my boss probably can't.  :-}

I just can't see how this change in a Wobject could make *macros*"
4baylink: "Ah, it was throwing an error and I forgot to look:

Tue Feb  3 13:14:07 2004 /appl/apache/WebGUI/www.microsys.us/index.pl WARNING: P
rocessing failed on macro: ^AdminBar("");: Can't locate object method "get" via pack
age "WebGUI::Wobject::TaskManager" (perhaps you forgot to load "WebGUI::Wobject:
:TaskManager"?) at /appl/apache/WebGUI/lib/WebGUI/Wobject/TaskManager.pm line 98
.

That was after adding TaskManager to the wobjects= line in the config and bouncing the webserver; mod_perl but no preload (as"
4markjakes: "
Any chance of adding discussions to each task?

Mark
"
4edv: "
Yes, that's in the mental roadmap.  I see that I need to update the description of this contribution page to include features and"
3edv: "
I'm preparing a 1.0.1 bugfix release before embarking on any new enhancements.  Please post any bug reports so that I may incorporate them.



Current bugs to fix:

set/show category label when editing a task even when no categories are defined
Set privileges required to set percent complete between in editTaskSave to be that of editTask (be assigned user or if can edit wobject)


I know that there are some issues with Postgres, but no specifics.  Please post them (preferrably with fixes"
2alexp: "I have WebGUI v.6 installed, first of all I had error message than run create-TastManager.sql and had to amend it to make it work (problem was with template table). I created TaskManager object  and now can’t view this page at all,- it seems to me that apache loops request therefore httpd demon has CPU usage 95%. I can’t delete page as well, please advice."
4belarus: "
I made Task Manager 1.0.0 works in WebGUI 6.2.11

 
"
2edv: "I posted a reply to your message in the main message board  here.  Would you be able to provide any fixes that you made for templates, etc.?

Also, can you delete the page and/or wobject from the "Manage page tree" administrative"
2edv: "This looks similar to a posting under the Shopping Cart Wobject.  See here and tell me if you"
4markjakes: "
Hello

I have the same problem.

I looked at the original scripts, and emulated them in the new v6 format, i.e. I created 3 new entries in the Templates Database and maintained the Namespaces. 

TaskManager/EditTask
TaskManager/Task
TaskManager/List

I gave each the templateid of 1

Next I simply copied the original templates to the 'template' fields of each (after removing some characters prefixed with '\', e.g. '\"')

Now I am able to edit and add tasks and view the list, however, the List still goes to very high CPU usage.  Note that if you leave it in this state, it does eventually display the list correctly, so the underlying code is good, just 'slow'.

This is a crucial wobject for us, if I can be of further help to get this to version 6, let me know.

Mark.
"
2edv: "Hmm... That doesn't make much sense.  If you're willing to forward me (edv@unc.edu) the changes you made I'll see if I can duplicate it and walk through the www_view code to see if I can find the culprit.  I'm still running 5.5.x everywhere but I can quickly put 6.x on my dev box (particularily if 6.0 goes gamma this week).

Incidentally, what platform are you running under?  Also, how many users are in your associated groups and do you set aliases for users?  

The Filter drop downs in the list view are smart (meaning select distincts of actual experienced values) and may possibly cause the problem.  Could you comment them out in your templates and see if the problem persists?  

I plan on removing the Filter from the default view and incorporate it into the Search form instead when I do another release.  I also have some other performance enhancments in mind too.  Just need to find the time...

--Ed

P.S. -- Glad to hear that you consider the wobject critical to"
2Katukas: "I have simple solution.

Before execution of script create-TaskManager.sql edit 3 last lines of it, to look like:

INSERT INTO template VALUES (1,'Default Task List','\r\n','TaskManager/List',1,1);
INSERT INTO template VALUES (1,'Default Task','','TaskManager/Task',1,1);
INSERT INTO template VALUES (1,'Default Edit Task','','TaskManager/TaskEdit',1,1);

Actually you need just to add some simbols to the end of every line.

Have a good day!"
4mz-as: "yes, this fix the issue of getting taskmanager in the sql database (which changed from 5.4.x to 6.0.x), but the cpuload-issue is still there...

i am highly interested in this wobject!
i used it for testing on 5.4.x, but i recently had to update a lot of stuff, so i also updated webgui :-(

maybe a not so good idea...

anyway, if you have a patched version, i like to have it! great job!!!!

one more question: what is the issue with the groups?

mz-as
from the log:
Wed Jun  2 23:35:57 2004 /srv/www/htdocs/www/index.pl WARNING: Error in WebGUI::Navigation::build while trying to execute $p->pedigreeCan't call method "pedigree" on an undefined value at (eval 43611) line 1."
4Hazza: "Hey Dudes,

Your problem is that the Paginate->new in the view has the wrong syntax.  There is no need for the [].

I just added an if Webgui->VERSION starts with 6 then blah and if not the blab.

Cheers,"
4colink: "My team is scattered all over the place, so the Task Manager has really
helped us to track, prioritize and discuss individual projects.

But we were wondering if there was a way to delete tasks as they get done?

Thanks,
Colin Kuskie"
2mmoran: "Has anyone migrated to 6.0 w/ this installed.  IE., had it installed w/ 5.X and then did a 6.0 upgrade.  Did it make the transition intact?"
4Hazza: "Have a look at the "Troubles with task manager""
4Hazza: "in www_edit, -value=>[$self->getValue("list..")]
[] shouldn't be"
4ntisithoj: "I have successfully ported taskManager to 6.2.9.  If anyone is interested in can send the new file which you can diff to see what was changed.  It includes a bunch of debug statements that you can probably ignore, but will show all the areas where you need to change, and there were a lot of them.  I can also send the Help and i18n/English modules that go with it.  Send mail to"
3edv: "If you could send me a new tar/zip file to edv#unc.edu (replace # with @), I'll update this page to include both the 5.5 and 6.2.x versions.

Thanks,"
4terryh: "Does this work with 6.0 yet?  I could really use"
2ntisithoj: "ok, I believe (because faith plays such an important part in developing) this 6.2.8 port of TaskManager works.  At least it works for me, and I think these are all the latest files.  If someone wants to test it out and supply feedback i'd appreciate it.

however, there is some debug code that's still there that will output messages to the mysql.log (if you have one)

It is available at"
3terryh: "Thanks, I'll try"
4cioscott: "Hi.  I gave this a shot, and here are my findings:

I'm running 6.2.9.

The installation went fine.

I added TaskManager content to a newly created page.

I clicked add new task, and the new task form came up.

I filled in the relevant fields, and clicked save.

I received an error message...

Problem With Request
We have encountered a problem with your request....

Software error:

Can't call method "disconnect" on an undefined value at /usr/local/WebGUI/lib/WebGUI/Session.pm line 155.

I inspected my webgui.log file, and the result of this TaskManager error produced an enormous log.


FATAL: Couldn't write to the database: insert into TaskManager_task (assignedUserId,priority,closedDate,dueDate,status,assignedDate,referenceNumber,clientNumber,alarmRepeatInterval,assignedByUserId,percentComplete,notifyOnStatusChange,dataReference,category,wobjectId,matterNumber,createdUserId,lastModifiedUserId,name,alarmDate,billableTime,description,dependentTaskId,lastModifiedDate,closedUserId,realTime,TaskManager_taskId,alarmBaseDate,createdDate,startDate) values ('0','5',NULL,NULL,'1',NULL,'1',NULL,NULL,NULL,'0','0',NULL,'Grants','IdQf0j7zDj0DSOM8uQj4BQ',NULL,'3','3','Test',NULL,'0','',NULL,'1104970428',NULL,'0','-vb14zYSqSamgrBOfLR8vg',NULL,'1104970428','1106546400') : Column 'clientNumber' cannot be null


Any"
2edv: "

The clientNumber column doesn't appear in the 5.x version.  Did you add it to the 6.x version?  If so try setting a value and/or removing the column from the insert sql in the TaskManager.pm"
3cioscott: "The version of Task Manager that I loaded was the one supplied by ntisithoj who appears earlier in this thread.  ntisithoj claims that his version is a 6.2.8 port of the original TaskManger.

I inspected the DB and found clientNumber field.I inspected the TaskManger.pm file and found references to clientNumber.I inspected the visual form, and found NO references to clientNumber.

So, given your comment, this brings up another question, which, if any, version of TaskManager will work under"
4ntisithoj: "It took me a minute to remember...  for our unique purposes, every task requires a clientNumber and matterNumber, so I had to add these to the database and added text fields in the templates...

^ClientLookup();


If you remove all references to clientNumber and matterNumber you'll probably be"
2ntisithoj: "It took me a minute to remember...  for our unique purposes, every task requires a clientNumber and matterNumber, so I had to add these to the database and added text fields in the templates...

^ClientLookup();


If you remove all references to clientNumber and matterNumber you'll probably be OK."
4Chema: "Hi there.


After some struggling, looks like I got this running.


I removed every reference to clientNumber, matterNumberanddataReference from the pm and the sql, undoing ntisithoj's particular mischiefs. ;-)


Also, it appears you have something agains $self.  Do you just prefer $_[0], or is there a reason for the change?


Then I found this:


FATAL: Couldn't execute prepared statement: SELECT users.userId, IF(((alias.fieldData IS NOT NULL) AND alias.fieldData!=''), alias.fieldData, users.username) as username FROM users LEFT JOIN userProfileData AS alias ON users.userId = alias.userId AND alias.fieldName='alias' WHERE users.userId in (3,7butfEpsWOUkGAu-W-mOjw,7r05SJVr9fEBfzU4LpJRgA)  ORDER BY username   Root cause: Unknown column '7butfEpsWOUkGAu' in 'where clause'


[snip]


WebGUI::Wobject::TaskManager, /usr/lib/webgui/lib/WebGUI/Wobject/TaskManager.pm ,543,WebGUI::SQL::buildHashRef,1,1,,,2


Which quickly (and dirtly) solved quoting $assignee and @$users in:


if ($assignee) {
    $whereClause = "WHERE users.userId in ('".$assignee."','".join("','",@$users)."') ";
} elsif ((scalar @$users) > 1) {
    $whereClause = "WHERE users.userId in ('".join("','",@$users)."') ";
}


It was indeeded dirty 'cause I get user ids instead of names in the filter menus, but everything else appears to work just fine.


Nice work, this could prove useful to me.  Are you planning any improvements?  Its not that far from a ProjectManager.pm. ;-)  It would need certain features, most importantly accounting hours of work per day instead having just a due date.  This alone would allow more precision on the due date, would provide an indicator of how much work/busy hours an assignee has from all its projects, would permit accounting the project value (this would also need to account other resources besides labor).


Also, having more statistics and graphical presentations of all/single projects status would be a must.


This is too much for myself alone, specially being brand new to WebGUI, but if someone else is interested in teaming up, I'm willing and able to take this baby to the next level.


Also I have yet to figure how the dependecy works. Have tried pasting the Task ID of the master into the dependent task, and the way around, but it just disappears.  Can anyone tell me how it works, or if it doesn't?"
4Hazza: "

Any chance of posting one compatible with >=6.1 ?  I have it working with 6.2.9...

ftp://ftp.microwayes.net/pub/public/TaskManager-1.0.1.tar.gz

Cheers,

Hazza 

"
DownloadTaskManager-1.0.0.tar.gz TaskManager-1.0.0.tar.gz
LinksNo Support Offered
ScreenshotstaskManagerScreenShots.jpg
Statistics Downloads: 456
Views: 16623
Rating: 3
Updated: 8/12/2005
Keywords Assets
NavigationBack to the Bazaar
© 2018 Plain Black Corporation | All Rights Reserved