ogo task reminder
"Sebastian Reitenbach" <[email protected]> Wed, 14 Mar 2007 19:55:23 +0100
| Newsgroups | gmane.comp.cms.opengroupware.discuss.general |
|---|---|
| Organization | L00 bugdead prods. |
| Message-ID | <[email protected]> |
Hi, [email protected] wrote: > > As an aside I'd like to discuss@ the job notification feature. If you > could post your explanation of the problem/deficiency and the logic of > your proposed solution over on discuss@ it would be appreciated. > ok, lets rock. Above Adam refers to the following ogo enhancement: .http://bugzilla.opengroupware.org/bugzilla/show_bug.cgi?id=1167 Enh: If a job is due, but not finished, the user should be notified. the patch I added to the report, does not fully what the name says. the skyjobnotify tool started out as a copying the functionality of skyaptnotify. this enables the user to define a job specific reminder time before the due date, so that he will receive an e-mail notification, if the reminder date has reached. the tool skyjobnotify should be run from a cron job as its friend skyaptnotify. - the skyjobnotify tool is configured with the Defaults just like skyaptnotify: skyjobnotify = { JobNotifyBeVerbose = NO; JobNotifyCheckPrefix = 600; JobNotifyDefaultTimeZone = MET; JobNotifyFromAddress = "ogo@mydomain"; JobNotifySendmailPath = "/usr/sbin/sendmail"; JobNotifySendmailToExternal = NO; JobNotifySendpageEnabled = NO; JobNotifySentResourcesFile = "/var/log/opengroupware.org/ogo.log"; JobNotifySkyrixPassword = MyPassword; JobNotifySkyrixUser = ogoadmin; }; - notification_time column in the job table (as compared to the date_x table for appointments) - same logic behind the values stored in notification_time as for appointments, minutes before the end_date of the job which are later compared to the end_date of the fetched jobs. - skyjobnotify mostly relies on commands, runCommand:@"job::get-job-executants, runCommand:@"person::get-extattrs, job::set, job::get-skyjobnotify-jobs, ... - job::get-skyjobnotify-jobs just asks the database for all jobs that are not archived or done and have a notificationTime > 0 set qualifier = [qualifier initWithEntity:[self destinationEntity] qualifierFormat: @"(%A <> '%@') AND " @"(%A <> '%@') AND " @"(%A > 0)", @"jobStatus", LSJobArchived, @"jobStatus", LSJobDone, @"notificationTime", nil]; - skyjobnotify only checks for the mails (email, email1, email2) of the executer of the job, and sends the notification out to these addresses - the e-mail reminder looks like the following: Task Notification title: testreminder owner: ogouser start-date: 2007-03-11 01:00 (MET) end-date: 2007-03-13 01:00 (MET) status: sensitivity: 1 priority: 1 actual work: 0 total work: 0 - skyjobnotify leaves a hard coded log entry in the jobs history "reminder sent" - In the webui, a default reminder preference can be defined by the user in the jobs preferences page - when creating a job, the user can choose the reminder time from a popup, same as for appointment reminders - when a reminder is set, and not yet sent out, then it shows up in the webui most likely there are bugs in it, but as far as i tested for now, it works, despite still some quirks in the webui, where the reminder time is not shown correctly. maybe improvements: - reminder could be sent to the creator, if he is not one of the executors - improved template for the notification, e.g. including the url link to the task in ogo. - maybe more... comments are welcome. kind regards Sebastian -- OpenGroupware.org Discussion [email protected] http://mail.opengroupware.org/mailman/listinfo/discuss