00204: New FAQ system based on a ticket system

Summary: New FAQ system based on a ticket system
Created: 2004-12-03 10:34
Status: Closed
Category: Feature
Priority: 1
Version: 2.0 beta5
OS: Apache/2.0.52 (Win32) mod_ssl/2.0.52 PHP/5.0.2

Description: Real big FAQs, all edited by hand are difficult to keep with pmwiki.

I need a FAQ that can be managed trough a ticket system (similar to what PITS is) and I can pay for it as long as it's not too expansive and if it doesn't go against the PmWiki:Philosophy? and if the system will be used and improved, by been released as a cookbook recipie.

Give me a few more details about how it should work and I'll see what I can put together (and what it might cost). Some initial questions:

  • What fields does the basic input form need?
  • How should the FAQ tickets be named/identified?
  • What sort of output ordering needs to be available?

Instead of doing sequential tickets, as PITS does, it might be useful to take advantage of categories. Then we could have a sequence of pages that are included into the FAQ by simply placing a [[!FAQ]] markup on them.


Basically, all I want is to have categories displaying the questions only (we have about 400 questions ) and the questions would be a link to the answers but i give you freedom, to think what is the best thing to do.

Carlos AB

What about a real Ticket System?

It should include at least the following fields:

  • Editor/Owner
  • Phone number
  • email address
  • Date/Time
  • Open/closed/Awaiting Feedback
  • Ticket number (of course)

It should be possible to get the results on different pages:

  • All open tickets
  • All open ticket per Editor/Owner
  • Closed tickets
  • Closed tickets per Editor/Owner
  • All tickets

I think the Editors/Owners should be listed on the main ticket page

What do you think? Klonk

You should take a look to [(approve links) edit diff] . This FAQ engine is PHP driven with a Mysql database backend. It is also Open Source and very powerful. Maybe this fits more to your needs (400 questions!!).

Nino Bolis

Modifying the ToDo script

You can create a ticketing system fairly easily, by modifying one of the ToDo scripts (XToDo), as follows. The idea is that you have two todoform markups: a standard one and a "full" one. The standard form is for users to make new requests. The "full" one is for the administrators.

Add a "todoformfull" markup, before "todoform". Add a parameter to XToDoFormMarkup, as shown. For the last parameter, a value of 0 refers to the standard form; a value of 1 refers to the full form.

 Markup('todoformfull',       'inline',    '/\\(:todoformfull\\s*(.*?):\\)/e',
       "Keep(XToDoFormMarkup('$pagename', '$1', 1),'')");
 Markup('todoform',       'inline',    '/\\(:todoform\\s*(.*?):\\)/e',
       "Keep(XToDoFormMarkup('$pagename', '$1', 0),'')");

You will have to modify other functions to include that last parameter, too. Here are examples.

 function XToDoFormDisplay($pagename, $category, $full)
 function XToDoForm($item_id, $create_date, $action, $next_page, $group_name,
   $category, $owners, $selection, $submit_text, $full)

You then just change any parts of the script where you want ($full == 1) to do something special. I have a next_page going to a "thank you" page when $full==0. I remove other form fields from the standard from using these conditional statements.

-- Mike  07 Dec 2005

From a casual look, I'd say WikiForms should be able to do the job nicely. --Henning May 02, 2006, at 04:45 AM