Go to main content

Textpattern CMS support forum

You are not logged in. Register | Login | Help

#1 2009-02-06 18:38:19

driz
Member
From: Huddersfield, UK
Registered: 2008-03-18
Posts: 441
Website

Support Ticket System

A client of mine needs a Support System, whereby a user will submit an issue and then get a ticket? I’m not entirely sure how one would work?

The whole website is powered by TXP, so something that can integrate into the site would be perfect.

Any ideas? Anyone done anything Support System-like with TXP?

Thanks


~ Cameron

Offline

#2 2009-02-06 18:42:19

els
Moderator
From: The Netherlands
Registered: 2004-06-06
Posts: 7,458

Re: Support Ticket System

Hmm… interesting. Maybe use a password protected section and then articles (+ comments) as tickets?

Offline

#3 2009-02-06 20:17:50

driz
Member
From: Huddersfield, UK
Registered: 2008-03-18
Posts: 441
Website

Re: Support Ticket System

Els wrote:

Hmm… interesting. Maybe use a password protected section and then articles (+ comments) as tickets?

How would the user submit an article? They would have to have access to the TXP backend! I don’t want that! It needs to be user-friendly.


~ Cameron

Offline

#4 2009-02-06 20:31:09

Bloke
Developer
From: Leeds, UK
Registered: 2006-01-29
Posts: 11,447
Website GitHub

Re: Support Ticket System

driz wrote:

How would the user submit an article? They would have to have access to the TXP backend!

Not with ign_password_protect and mem_form they wouldn’t. Wrap igner’s plugin around an HTML form with fields made up of mem_form widgets, and then — when the form is submitted — store that in the database as an article. Alternatively, write your own HTML form. but mem_form might ease the job a bit.

Once submitted, you can send an acknowledgement email containing a link to the article just created (e.g put them all in a “support” section). As Els implies, you should then be able to use normal comments against that article as the “back and forth” between tech and user. There’s probably a neater way, that’s off the top of my head.

Perhaps when an issue (=article) is “closed” you can set its status to “hidden” or simply disable commenting or something. If you use the former method, you’ll still be able to list the “closed” articles via <txp:article_custom status="whatever" /> but you won’t be able to see the contents until that article is “reopened” (i.e. set back to ‘Live’).

It seems on the surface to be fairly straight forward (ha ha, famous last words!)

The only sticking point I can foresee is that you’ll have to do some cleverness to make sure people didn’t see support tickets of other users. AFAIK, igner’s plugin only supports privs at the “role” level — publisher, managing editor, freelancer etc — but I think if you use his alternate user table then you can have as many roles as you like… in this case you’d need one ‘role’ per registered user. I may be wrong here.

It’s a bit of work, but it sounds doable. Does that give you anything to work on or give you some (probably better!) ideas?

Last edited by Bloke (2009-02-06 20:35:26)


The smd plugin menagerie — for when you need one more gribble of power from Textpattern. Bleeding-edge code available on GitHub.

Txp Builders – finely-crafted code, design and Txp

Offline

#5 2009-02-06 20:35:14

the_ghost
Plugin Author
From: Minsk, The Republic of Belarus
Registered: 2007-07-26
Posts: 907
Website

Re: Support Ticket System

I made some sort of ticketing system with _zem_contact – after mail was sent, user is shown and 4 digit random number, which was sent in topic of his message. So, user can ask you “Hey! What did you do with my order #2151??” And support looks in mail base for message with topic #2151.


Providing help in hacking ATM! Come to courses and don’t forget to bring us notebook and hammer! What for notebook? What a kind of hacker you are without notebok?

Offline

#6 2009-02-06 20:36:27

Bloke
Developer
From: Leeds, UK
Registered: 2006-01-29
Posts: 11,447
Website GitHub

Re: Support Ticket System

Genius.

the_ghost’s system is much easier. Use that instead of all the crap I posted :-)))

Last edited by Bloke (2009-02-06 20:36:43)


The smd plugin menagerie — for when you need one more gribble of power from Textpattern. Bleeding-edge code available on GitHub.

Txp Builders – finely-crafted code, design and Txp

Offline

#7 2009-02-06 20:39:59

driz
Member
From: Huddersfield, UK
Registered: 2008-03-18
Posts: 441
Website

Re: Support Ticket System

the_ghost wrote:

I made some sort of ticketing system with _zem_contact – after mail was sent, user is shown and 4 digit random number, which was sent in topic of his message. So, user can ask you “Hey! What did you do with my order #2151??” And support looks in mail base for message with topic #2151.

By any chance could you post the code for the form? Thanks


~ Cameron

Offline

#8 2009-02-06 21:42:25

the_ghost
Plugin Author
From: Minsk, The Republic of Belarus
Registered: 2007-07-26
Posts: 907
Website

Re: Support Ticket System

Below is my code – i look at it and don’t recognize – can’t remeber why i have if_variable inside :) But i remember, that $_server variable was used to “move” random message number from one page to another… I think there can exist more accurate methode to do this… Anyway, glad to show you my work:

Screenshots:

  1. This is before sending
  2. This shows after send
  3. This is gmail after sending

this is posted to any article
notice spaces “ “ before lines – they are to exclude textile procession

 <txp:zem_contact label="" 
to="nemiga@gmail.com" 
subject='Letter form site <txp:site_name />'
thanks_form="zem_ticket_thanks">

 <txp:zem_contact_text
label="Your name:"
name="name" break="" size="40" /><br /><br />

 <txp:zem_contact_email
label="Your email:"
name="zemail" break="" size="40" /><br /><br />

 <txp:zem_contact_text
label="Your phone:"
name="name" break="" size="20" /><br /><br />

 <txp:zem_contact_select
label="Choose topic of mail:" 
break="" 
list=",
Error,
Questions,
Other"
required="yes" name="reciever"/>
<br /><br />
 <txp:zem_contact_textarea cols="40" label="Your message:" name="message" break=""/><br /><br />

 <txp:if_variable name="random_ticket"><txp:else />
 <txp:php>
 $r=mt_rand(1000,9999);
 variable(array('name' =>'random_ticket', 'value' => $r ));
 $_SERVER['random_ticket']=$r;
 </txp:php>
 </txp:if_variable>

 <txp:zem_contact_secret name="zem_contact_ticket" label="Message number">
 <txp:variable name="random_ticket" />
 </txp:zem_contact_secret>

 <txp:zem_contact_submit label="Send message" /><br />

 </txp:zem_contact>

form zem_ticket_thanks

<h1>Thanks!</h1>

We recieved your message under number #
<b><txp:php> echo $_SERVER["random_ticket"]; </txp:php></b>.

We will answer as soon as posible!

Providing help in hacking ATM! Come to courses and don’t forget to bring us notebook and hammer! What for notebook? What a kind of hacker you are without notebok?

Offline

#9 2009-02-07 04:14:12

Gocom
Developer Emeritus
From: Helsinki, Finland
Registered: 2006-07-14
Posts: 4,533
Website

Re: Support Ticket System

the_ghost wrote:

Below is my code – i look at it and don’t recognize – can’t remeber why i have if_variable inside :)

Nice the_ghost :)

Possibly first you thought doing it with variable(), but after thinking used $_SERVER["random_ticket"], because you noticed that variable()s aren’t saved in the memory for decades like globals :)

PS. You might want to unset $_SERVER["random_ticket"] after using it ;)

Last edited by Gocom (2009-02-07 04:16:16)

Offline

#10 2009-02-07 04:26:44

renobird
Member
From: Gainesville, Florida
Registered: 2005-03-02
Posts: 786
Website

Re: Support Ticket System

the_ghost,

This is nice. I don’t have an immediate need – but I’m going to build it anyway.

Thanks for posting the code.

:)


Tom

Offline

Board footer

Powered by FluxBB