PDA

View Full Version : Areas needing improvement


Montclair
05-22-2008, 10:43 AM
One hates to find fault with something obtained for nothing (looking a gift horse in the mouth and so on), however... after working with osTicket for over a week now, putting in mods, debugging queries, etc., I'm becoming frustrated with the level of missing features. The things that keep me coming back from another app I'm evaluating are the ticket locking, the cost, and this forum.

However, those things may not be enough to keep me on board with this. I feel this application suffers by lacking the following necessary features:

1) Edit and delete individual messages, responses, and internal notes. Various fields such as the customer's email address should be editable as well.

2) Safely display HTML email (I'm aware this is a difficult one) instead of stripping out HTML tags.

3) Admin should be able to add custom fields.

4) Search function should also search responses, internal notes, and message body (djtremors [i think] wrote a mod to search responses, which I fixed and added message body searching as well). Why searching didn't include the customer's messages, by default (and the code comments say it won't) is beyond me. It makes the search function not worth very much, IMHO.

5) Message quoting (another mod I've added)

6) Cc and Bcc fields

7) Merge / reassign customer ticket function.

8) Who replied last / who's turn to respond / new message in thread type indicator. Again, NaN0 wrote a mod for this. I tweaked the main query again, and have it giving the last date pulled from various date fields throughout the database (ticket create, update, response create, update, and something other one I can't recall.)

9) A customer knowledge base would be great.

It's a good start and it's pretty easily customizable from a programming perspective. The above features would make it even better!

peter
05-22-2008, 12:18 PM
Montclair,

I totally agree with you on all points and by far the post is one of the best feedbacks we've had in a while.

You can also add language support to the list. Most of the features you mentioned are already on todo list and/or in various stages of development. Any development help you can provide would be appreciated.

Cheers,

Montclair
05-22-2008, 04:06 PM
Well... this is my first venture with PHP and mysql. But, PHP looks just like everything else, more or less - perl, javascript, c, etc. The SQL syntax is a little different than what I'm used to, but not much. Plus, I am capable of reading manuals and so on. ;) Time, of course, is always the enemy, though.

At this point, I've ditched the fixed 800px width and have scp/tickets.php listing tickets with two lines, the second being the subject followed by the first 240 chars of the last client message. Columns on the first line include "Last Message By", which shows the date/time of the last message/response/update and either "client" or "staff".

Enhh.. a picture is worth a thousand words. My colors are ugly right now, but you get the gist
http://img522.imageshack.us/img522/8549/image1jv8.th.jpg (http://img522.imageshack.us/my.php?image=image1jv8.jpg)

I can zip up the source code and send it over to you, if you want to have a look. Most of it's documented in the mods forum.

djtremors
05-24-2008, 10:58 PM
Oh my, that screenshot was an eye full.. almost too cluttered. Maybe if it was organised a little more or make pull down div on request or even make it an option to showall or not.. dunno, the info is good but made it harder to see things overall. good work regardless.

dcbour
07-23-2008, 06:47 PM
I've created a solution to merge tickets (amongst other items - time tracking, other columns, status monitor, etc...). This may help some people...it's your call. If there's enough interest, I may put a demo up of the mod's I've made.

See my web site since there's a lag in getting attachments posted.

http://davebour.com/latest/osticket-merge-tickets-and-time-tracking.html

Dave

evelien
08-05-2008, 05:53 AM
Enhh.. a picture is worth a thousand words. My colors are ugly right now, but you get the gist
http://img522.imageshack.us/img522/8549/image1jv8.th.jpg (http://img522.imageshack.us/my.php?image=image1jv8.jpg)

I can zip up the source code and send it over to you, if you want to have a look. Most of it's documented in the mods forum.

could you send me the zip or post the table code down here?

Thanks!

Evelien

evelien
08-13-2008, 11:19 AM
could you send me the zip or post the table code down here?


I did some coding myself. Probably not the most effective code for osticket (didn't read all the classes available, so did some extra work probably), but it's working.

Collspan is 8 for me, for others probably any other number:


<tr><td colspan="8">

<?
$query="SELECT staff_name, response, created FROM ost_ticket_response WHERE ticket_id='$row[ticket_id]' ORDER BY created DESC LIMIT 0,1";
$result = db_query($query);
$ar=mysql_fetch_array($result);
$query2="SELECT message, name, ost_ticket_message.created AS created_ticket FROM ost_ticket_message, ost_ticket WHERE ost_ticket_message.ticket_id='$row[ticket_id]' AND ost_ticket_message.ticket_id=ost_ticket.ticket_id ORDER BY ost_ticket_message.created DESC LIMIT 0,1";
$result2 = db_query($query2);
$ar2=mysql_fetch_array($result2);
$query3="SELECT note, created, source FROM ost_ticket_note WHERE ticket_id='$row[ticket_id]' ORDER BY created DESC LIMIT 0,1";
$result3 = db_query($query3);
$ar3=mysql_fetch_array($result3);

if ($ar['created']>=$ar2['created_ticket'] && $ar['created']>=$ar3['created']){?>
<p>Reply: <?echo $ar['staff_name'];?>, <?=Format::db_date($ar['created'])?><br /><?
echo $ar['response'];?></p><?
} else if ($ar2['created_ticket']>=$ar['created'] && $ar2['created_ticket']>=$ar3['created']){?>
<p>Message: <b style="color:red"><?echo $ar2['name']?></b>, <?=Format::db_date($ar2['created_ticket'])?><br /><?
echo $ar2['message'];?></p><?
} else if ($ar3['created']>=$ar['created'] && $ar3['created']>=$ar2['created_ticket']){?>
<p>Internal note: <?echo $ar3['source']?>, <?=Format::db_date($ar3['created'])?><br /><?
echo $ar3['note'];?></p><?
}?>
</td></tr>