News:

Loving SimpleDesk? Help us spread the word!

Main Menu
Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Topics - tfs

#21
I have a custom field dropdown called Billing Code.  I have it set to default to a particular value, however since the users are allowed to see the field but not allowed to modify the field, when they create tickets the field doesn't get populated with the default.

Is there any way to get around that just for new tickets?  I don't want users editing that field, but I want it to default to one of the values.
#22
I've been working towards figuring out how to export my data and capture the custom fields, as well as to be able to add up the total hours field for export, which is the field that I use the "Tally" plugin to add up.  Here's the SQL query that I've got so far.

It probably won't work for you initially because it's unlikely you have the same custom fields as I do.  Here's the columns that are returned by the query...

Ticket_ID, Subject, Assigned_To, #Replies, Total_Hours, Owner_Name, Accounting_Status, Billing_Code, Notes, Last_Billing_Date, Last_Update

Here's an itemized list of what each column is about:


Ticket_ID: Returns the ID_TICKET field from the tickets table.

Subject: Returns the ticket subject from the tickets table.

Assigned_To: Looks into the members table and returns the name of the "Assigned To" member.

#Replies: Returns the num_replies field from the tickets table.

Total_Hours: Custom field #9 is added up and returned as "Total_Hours."  In our database I call the field "Item Hours."  It is a Floating (Fractional) number, Visible/editable in replies.  In that field we place the number of hours (in decimal format) for each reply.  This is returned as a total of the custom field, as "Total_Hours."

Owner_Name: Looks into the members table and returns the name of the ticket owner.

Accounting_Status: Custom field #11 is a drop down list that I return as "Accounting_Status."  I use the "CASE" function to convert the "atomic" values to the text values.

Billing_Code: Custom field #7 is a drop down list that I return as "Billing_Code"  It also uses the "CASE" function to convert the "atomic" values to the text values.

Notes: This one uses the IF() function to strip out NULL values from custom field #10 as "Notes."  There's probably room for improvement on this one, but I have yet to discover how to leverage the ISNULL() or IFNULL() functions to properly do this.  Custom field #10 is a Large Textbox type.

Last_Billing_Date: This one also uses the IF() function to strip out NULL values from custom field #13 as "Last_Billing_Date."  Custom field #13 is an Integer type.

Last_Update: Uses the "FROM_UNIXTIME() function to return the date/time value in a string date format.

Finally, the query avoids displaying closed tickets by using "smf_helpdesk_tickets.status <> '3'".

I run this query via phpMyAdmin, which has an export button at the bottom of the query window.  From there I export to CSV format, chosing the Custom option in order to include the columns names in the first row.  I can download it directly to Excel and the rest is history.



SELECT

smf_helpdesk_tickets.id_ticket as Ticket_ID,

smf_helpdesk_tickets.subject as Subject,

(select smf_members.real_name from smf_members where smf_helpdesk_tickets.id_member_assigned = id_member) as Assigned_To,

smf_helpdesk_tickets.num_replies as '#Replies',

if((select round(sum(smf_helpdesk_custom_fields_values.value),2) from smf_helpdesk_custom_fields_values where smf_helpdesk_custom_fields_values.id_field = 9 and smf_helpdesk_custom_fields_values.post_type = 2 and smf_helpdesk_custom_fields_values.id_post in (select id_msg from smf_helpdesk_ticket_replies where smf_helpdesk_ticket_replies.message_status = 0 and smf_helpdesk_ticket_replies.id_ticket = smf_helpdesk_tickets.id_ticket)) is null, 0, (select round(sum(smf_helpdesk_custom_fields_values.value),2) from smf_helpdesk_custom_fields_values where smf_helpdesk_custom_fields_values.id_field = 9 and smf_helpdesk_custom_fields_values.post_type = 2 and smf_helpdesk_custom_fields_values.id_post in (select id_msg from smf_helpdesk_ticket_replies where smf_helpdesk_ticket_replies.message_status = 0 and smf_helpdesk_ticket_replies.id_ticket = smf_helpdesk_tickets.id_ticket))) as Total_Hours,

(select smf_members.real_name from smf_members where smf_helpdesk_tickets.id_member_started = id_member) as Owner_Name,

(select case (select smf_helpdesk_custom_fields_values.value from smf_helpdesk_custom_fields_values where smf_helpdesk_tickets.id_ticket = smf_helpdesk_custom_fields_values.id_post and smf_helpdesk_custom_fields_values.id_field = 11 and smf_helpdesk_custom_fields_values.post_type = 1)
when 1 then 'New'
when 2 then 'Accountant Review'
when 3 then 'Customer Review'
when 4 then 'On Hold'
when 5 then 'Billed'
when 6 then 'Paid'
when 7 then 'Closed NOT Billed'
when 8 then 'Closed'
else 'Undefined' END) as Accounting_Status,

(select case (select smf_helpdesk_custom_fields_values.value from smf_helpdesk_custom_fields_values where smf_helpdesk_tickets.id_ticket = smf_helpdesk_custom_fields_values.id_post and smf_helpdesk_custom_fields_values.id_field = 7 and smf_helpdesk_custom_fields_values.post_type = 1)
when 1 then 'Contract'
when 2 then 'Contract-Limited'
when 3 then 'Donation'
when 4 then 'FrontRange'
when 5 then 'Hourly'
when 6 then 'No Charge'
when 7 then 'Warranty'
else 'Undefined' END) as Billing_Code,

if((select smf_helpdesk_custom_fields_values.value from smf_helpdesk_custom_fields_values where smf_helpdesk_tickets.id_ticket = smf_helpdesk_custom_fields_values.id_post and smf_helpdesk_custom_fields_values.id_field = 10 and smf_helpdesk_custom_fields_values.post_type = 1) is NULL, '', (select smf_helpdesk_custom_fields_values.value from smf_helpdesk_custom_fields_values where smf_helpdesk_tickets.id_ticket = smf_helpdesk_custom_fields_values.id_post and smf_helpdesk_custom_fields_values.id_field = 10 and smf_helpdesk_custom_fields_values.post_type = 1)) as Notes,

if((select smf_helpdesk_custom_fields_values.value from smf_helpdesk_custom_fields_values where smf_helpdesk_tickets.id_ticket = smf_helpdesk_custom_fields_values.id_post and smf_helpdesk_custom_fields_values.id_field = 13 and smf_helpdesk_custom_fields_values.post_type = 1)  is NULL, '', (select smf_helpdesk_custom_fields_values.value from smf_helpdesk_custom_fields_values where smf_helpdesk_tickets.id_ticket = smf_helpdesk_custom_fields_values.id_post and smf_helpdesk_custom_fields_values.id_field = 13 and smf_helpdesk_custom_fields_values.post_type = 1)) as Last_Billing_Date,

from_unixtime(last_updated) as Last_Update

FROM
smf_helpdesk_tickets

WHERE
smf_helpdesk_tickets.status <> '3'

ORDER BY smf_helpdesk_tickets.id_ticket

#23
SimpleDesk Support / Email delay
January 28, 2012, 02:34:48 PM
Every once in a while I'll have an email seemingly get stuck in the queue and delay for up to a day.  It seems to coincide with weekends when nobody is using the help desk.  As soon as I go to the help desk and refresh pages, the email is sent.

Enable Mail Queue = Yes (Checked)
Maximum emails to send per minute = 0
Maximum amount of emails to send per page load = 0
Mail type = PHP default

Are emails only sent when pages are refreshed?  If a client posts a reply, and then closes their browser, does that mean that the notification email will sit until another user refreshes a page?

Is there a way to prevent that without disabling the mail queue?
#24
SimpleDesk Support / WSOD on full action log
December 21, 2011, 01:13:11 PM
I've started getting the dreaded WSOD on my full action log, using SimpleDesk 2.0.  It appears to be only because the first page of the action log has a bug where it displays the entire log, and my entire log has grown to be over 5k entries.  The server is simply running out of memory or resources when trying to display the entire log on one page.  Here's a fix for that.



In sd_source/Subs-SimpleDeskAdmin.php



Line 37

- *  @param int $start Number of items into the log to start (for pagination). If nothing is given, fall back to 0, i.e the first log item.

+ *  @param int $start Number of items into the log to start (for pagination). If -1, return everything. If nothing is given, fall back to 0, i.e the first log item.



Line 98

-    ' . ($start != 0 ? 'LIMIT {int:start}, {int:items_per_page}' : ''),

+    ' . ($start != -1 ? 'LIMIT {int:start}, {int:items_per_page}' : ''),



In sd_source/SimpleDesk-Display.php



Line 781

-    $context['ticket_log'] = shd_load_action_log_entries(0, 10, '', '', 'la.id_ticket = ' . $context['ticket_id']);

+    $context['ticket_log'] = shd_load_action_log_entries(-1, 10, '', '', 'la.id_ticket = ' . $context['ticket_id']);




In sd_source/SimpleDesk-Profile.php



Line 754

-  $context['action_log'] = shd_load_action_log_entries(0, 10, '', '', 'la.id_member = ' . $memID);

+  $context['action_log'] = shd_load_action_log_entries(-1, 10, '', '', 'la.id_member = ' . $memID);

#25
When downloading a file attachment, my browser wants to save them as index.php regardless of what their original name is.  It's the correct file that gets downloaded, but the name is index.php. 

The browser reports that the file is -1 bytes in size.  Could I have reached some limit?
#26
I wanted to have the Assigned User column on the [Tickets Awaiting User Response] grid.  And, I wanted to adjust the column widths a little bit to compensate.  Here's how I did it.

DISCLAIMER: Do this at your own risk.  No support is promised for this, and if you're clumsy, you just may mess up something important.

To add a column to a grid:

Edit /Sources/sd_source/SimpleDesk.php.  The last function in the file is shd_get_block_columns($block), which is the function that stipulates which columns are in each grid.  The [Tickets Awaiting User Response] grid is called "user_staff."  So locate this section...

case 'user_staff':
return array(
'ticket_id',
'ticket_name',
'starting_user',
'last_reply',
'replies',
'urgency',
'updated',
'actions',
);



And add the assigned column.  The new function looks like this...

case 'user_staff':
return array(
'ticket_id',
'ticket_name',
'starting_user',
'last_reply',
'assigned',
'replies',
'urgency',
'updated',
'actions',
);


...and that's all there is to it.  You have modified SimpleDesk.php and added the column.

If you also want to adjust the width of some of those columns, here's how.

Edit the file /Themes/default/sd_template/SimpleDesk.template.php.  (Assumes you're using the default theme)  Scroll down to line 415 and you'll see a section that defines the widths for each column.  You can change the width="nn%" values to resize your columns.  Note that all of the values combined do add up to over 100%, which is OK.  But as a general rule, as you add width to one column you should remove from others.

#27
Question from a user of mine...

Hi - is there a way for the Additional Information section of tickets to be minimized as a default setting and only opened if needed (by hitting the +)?  Once you are working with the client, you probably don't need to scroll through this everytime.  Thanks.
#28
I've changed ticket ownership a time or two by editing by hand in phpMyAdmin, but now I've got one where I need to change ownership about 50 tickets, and I'd like to do them all in one fell swoop.  As a prerequisite, I want to change ownership of the ticket, and the first reply on the ticket, but all of the other replies on the tickets should remain as if they were entered by the old user.

This way the new user will own the tickets, but will see the replies on the tickets made by the old user.

Old user = John Smith, userid = 23
New user = Fred Johnson, userid = 219

First, update the replies...

update smf_helpdesk_ticket_replies set id_member = 219, poster_name = 'Fred Johnson', poster_email = '[email protected]' where id_msg in (select id_first_msg as id_msg from smf_helpdesk_tickets WHERE id_member_started = 23)

...Then update the tickets...

update smf_helpdesk_tickets set id_member_started = 219 WHERE id_member_started = 23

If you want to try this you'll need access to phpMyAdmin, and a stout heart.  Make sure to back it up first!  Edit the two SQL queries above, substituting your user id, name and email.  Do not attempt this if you're unsure... as it's for advanced users.  If you want help, just say the magic word.
#29
SimpleDesk is developing a full featured ticket search functionality that we plan to release in a future version.  But since that's still warming in the oven, and searching your trouble tickets can be a real need for a live help desk, I thought I'd release this simple little search utility that can tide you over for now.  It's not fancy in the least, but it works. 

Directions:

1) Download the attached file, simpledesk_search_basic.php
2) Place it in the root folder of your help desk forum.  It must be in the same folder as SSI.php.
3) Browse to the simpledesk_search_basic.php using your web browser.

If you improve upon this file please let us know and share it back with the community.  There's several things that would make it better.

* Search only open/closed/both tickets.
* Search for different strings in different fields, such as Poster="Smith" and Body contains "foobar."
* Date ranges.
* Search custom fields
* Your idea here!

If you'd like a menu option to search, you can of course place a link in a portal block, or if you want a menu button you can create your own or use a 3rd party mod to create a button that links to the simpledesk_search_basic.php file.  I used one called "6 Custom Buttons" version 0.5 and it worked nicely.  6 Custom Buttons v 0.5k only says it's compatible with SMF 2.0 RC3, but last night I installed it on my SimpleMachines Forum 2.0, SimpleDesk 2.0 site with no problems.  Now I have a search button.

A note on security.  Just like in SimpleDesk itself, simpledesk_search_basic.php will not work for guests.  And the results returned will only contain tickets to which the searching user has access.

And lastly, this search utility isn't an official SimpleDesk product.  It's merely little ole TFS having some fun.  So don't expect too much.   ;)

Enjoy!

TFS
#30
General Discussion / HTML or PHP question
September 01, 2011, 11:04:07 PM
I have a SimpleDesk front page displayed that looks like this...

http://sd2.patsong.com/index.php

And I'd like to give someone direct access to populating the text of one of those colored tables.  I thought that I could allow him to upload a TXT file to the server via FTP, and that in the HTML that creates the page I could somehow display the contents of that TXT file.  (He is 100% trusted)  I don't allow him to edit directly because it's HTML, which he wouldn't be able to do, and also it requires ADMIN access to do that.

So... anyone have an idea how I'd pull the contents of a TXT file into one of those colored tables?
#31
General Discussion / Looking for the right mod...
August 29, 2011, 10:35:53 PM
I'm hoping to find the right mod for my helpdesk.  I'm going live on Thursday, 9/1.   What I want is a simple download page, where I can post some links to a few downloads that my customers will be interested in.

Requirements:
-No ads on the forum.
-Compatible with SimpleDesk 2.0 in standalone mode.
-Configurable menu/tab link.

I'd really like to use something like SimplePortal for this, but I've decided to stop using it because of the advertizement it puts at the bottom of every page.  I'm going ad free.

There's things like "Download System," but that puts an ad on every page, and it has a whole bunch of other junk and "busyness" that I don't want.

There's a few other "custom page" types of mods, which gives a custom page and a menu item, but apparently none of them have been updated for SMF 2.0.

Anyone have any ideas?  Are there any portals that don't put ads on the forum?
#32
My niece and I are going to go do some geocaching this Saturday.  Anyone else around here into that?
#33
SimpleDesk Discussion / Rigging up a search function
August 10, 2011, 11:12:54 AM
I'm finally going to go live with SimpleDesk after much preparation.  The next thing I need to do is to rig up some sort of rudimentary search capability.  I don't know what the future of SimpleDesk development will be, and I don't have the skill to develop it myself, so I'm looking for ideas that will get it done in another way.

I thought I'd execute a SQL query that returns the ticket ID number, date, Username, Subject and body, and I'd dump that to a TXT file.  Then I'd find some 3rd party TXT file search utility... something like this: http://www.sadmansoftware.com/search/

I could use that for searching the tickets on my local machine.  It would show me the ticket ID as the first column, which I could then use to jump to the ticket.

Hmmm... for that matter, I could maybe just dump it into Excel for the searching, which would preserve the columnar format.

A drawback is that the search won't find data newer than my last data dump, though I don't see that as critical if I create a reasonably simple way to refresh the local data.  Note that this isn't just for me but for the boss and the accountant in particular.  They're not particularly computer savvy, and so this needs to be simple to do.

Another drawback is that our customers won't be able to search their own tickets.  Only staff.

Anyway... if you've got ideas to do this in some other way, or if you know of a superior search utility for this, I'm anxious to hear what they are.

#34
Not necessarily an issue with SD, but a place to note the possible interaction issue with SimplePortal 2.3.3 under SMF's new 2.0 final.

Simple Machines Forum 2.0/Final
SimplePortal 2.3.3
SimpleDesk 2.0 (r483)

When using Front Page mode in SimpleDesk, the SimplePortal copyright is displayed twice on the Front Page screen.  This did not occur while running under SMF 2.0/RC5.  It has only cropped up since updating the forum to SMF 2.0/Final.

Will post the same thing at SimplePortal and then provide cross links.

Link HERE.
#35
On a commercial forum I'm working on, I need a custom footer copyright.  I know I've tried the following at least once in the past, though I don't remember which one I liked better, nor have I even checked which are RC5 compatible.

Copyright & Footer Links | S-Ace
Global Headers Footers
Custom Copyright

Does anyone have any good or bad recommendations regarding these or any other mods that accomplish the same thing?
#36
General Discussion / SMF RC5 Released
February 11, 2011, 10:08:18 PM
An FYI, SMF released 2.0/RC5 today.
#37
   SimpleDesk version: SimpleDesk 1.0 Felidae
   SMF version: SMF 2.0 RC3
   
   
#38
General Discussion / Poland
April 10, 2010, 09:20:10 PM
My sincere condolences to our Polish brothers and sisters.  You are in our prayers.
#39
Question: What determines which grid a ticket shows up in if it's viable for two?

This has been bugging me for a while, and I've hoped that the answer would become apparent just by familiarity, but I'm still occasionally wondering.

There's 4 grids in the help desk...

1)  Assigned to Me
2)  New Tickets
3)  Tickets Awaiting Staff Response
4)  Tickets Awaiting User Response

I can think of scenarios when a ticket would technically be eligible to display in more than one grid.  Specifically, grids 1 & 3 and grids 1 & 4.  Is it possible for a ticket to display in more than one grid?  From what I've seen no, but I'd like a definitive answer.  What is the order of precedence that determines which grid a ticket will be displayed in?
#40
General Discussion / Badges mother lode
March 23, 2010, 12:56:36 PM
I've been looking for a collection of badges that would be appropriate for a professional business help desk, but have not found the mother lode yet.  By "badges" I mean the little graphics that take place of the "stars."

I've seen archives that claimed to be thousands of badges, but they were always just "one more click away" through web pages that I didn't trust.

Anyone know of a good link to find what I'm looking for?