Project Open 3.5.x

]Project Open[ and “New: Subject” E-Mails

This article uses Project Open 3.5.0.0.1 for the example code. The technique described here has also been tested against 3.4.x.

]Project Open[ (]PO[) is an astoundingly power project management, help desk management, purchase order management, customer management, etc. system. In my opinion, it compares well to any commercial offering I’ve had the privilege to review. It installs (relatively) easily on Linux, and its default functionality can do a lot.

And then, in the middle of doing so many great things, it trashes one’s confidence by doing something that’s just dumb.

Fortunately, being open source, it’s easy to dive in and figure out what went wrong. Disclaimer: As will become obvious, I’m not a TCL expert. A lot of ]PO[ is in TCL, so I guess I’ll take that as an opportunity to learn.

The first of these dumb things is the e-mail that ]PO[ sends when you enter a help desk ticket. It’s subject is:

New: Subject

Really! Not kidding even a little. That’s all it says. The body’s even worse; it’s empty except for a link saying to click here if you’re getting too many notifications, and you can turn them off. I wasn’t getting too many notifications; the notifications I was getting were meaningless!

This was an easy fix. Check your Project Open packages directory. On my Linux installation, it’s here:

/web/projop/packages

Under that directory, you can find all ]PO[‘s packages. The package that handles the Help Desk is intranet-helpdesk, and the TCL file that controls what happens when you create a help desk ticket is called new.tcl. You can find the file at this location:

/web/projop/packages/intranet-helpdesk/www/new.tcl

I suggest you copy the file before making a change. My fingers sometimes don’t obey, and that can be especially dangerous in vi.

If you edit the file, you’ll see this code:

notification::new \
-type_id [notification::type::get_type_id -short_name ticket_notif] \
-object_id $ticket_id \
-response_id "" \
-notif_subject "New: Subject" \
-notif_text "Text"

I’m still shaking my head at a subject that says “New: Subject.”

Anyway, you can change it to look something like this:

notification::new \
-type_id [notification::type::get_type_id -short_name ticket_notif] \
-object_id $ticket_id \
-response_id "" \
-notif_subject "New Project Open Help Desk Ticket" \
-notif_text "You have successfully entered a new Project Open help desk ticket! You can review it at this URL: \n\nhttps://myserver.mydomain.com/intranet-helpdesk/new?form_mode=display&ticket_id=$ticket_id \n\n"

Note that the line “-notif_text…” is the last line of code; it wraps here.

Most of this is hard-coded; I’m particularly embarrassed by the hard-coded server name, and I’m pretty sure there’s a variable I could have pulled. But I gave up before I could find it.

I will call your attention to the variable $ticket_id. By including that variable information, the e-mail will include a URL that’ll let the user go right to the ticket they just entered.

Now, isn’t that better than “New: Subject”?

terrance
Terrance A. Crow is the Senior Security Engineer at a global library services company. He holds a CISSP and has been writing applications since the days of dBASE III and Lotus 1-2-3 2.01.
https://www.interstell.com