https://en.contaowiki.org/api.php?action=feedcontributions&user=Lucina&feedformat=atomContao Community Documentation - User contributions [en]2024-03-28T17:48:13ZUser contributionsMediaWiki 1.22.6https://en.contaowiki.org/Main_PageMain Page2013-05-11T11:12:11Z<p>Lucina: </p>
<hr />
<div>[[de:Hauptseite]]<br />
[[pt:Página_principal]]<br />
{| border="0" cellpadding="0" cellspacing="20" id="front-page-table"<br />
|-<br />
|[[File:Beginner.png|60px|link=Beginner|New to Contao?]]<br />
|<h3>New to Contao?</h3><br />
<p>Basic information about Contao</p><br />
|-<br />
|[[File:Installation.png|60px|link=Installation|Install Contao]]<br />
|<h3>Installation</h3><br />
<p>Install Contao</p><br />
|-<br />
|[[File:First steps.png|60px|link=:Category:First_steps|Initial configuration after installation]]<br />
|<h3>First steps</h3><br />
<p>Initial configuration after installation</p><br />
|-<br />
|[[File:Contao_Fanpage_Web-small.png|60px|link=ccden:Community Portal|Contao Community Documentation Portal]]<br />
|<p>'''The whole projects depends on the participation of it's users.<br /><br />
If you want to participate please sign up and start documenting simply by writing an e-mail to ck [at]kikmedia[dot]de.'''</p><br />
<p>The goal of the "Contao Community Documentation" project is to provide users, administrators and developers the most complete collection of information related to the content management system Contao.</p><br />
<p>The "ccd" is not an official page of the Contao project but initiated by enthusiastic users of the Content Management System Contao.<br />
So please do not report any mistakes, annotations or even generic rants concerning this documentation to the official Contao team as they have better things to do than being buggered with notices about an site they have nothing to do with.</p><br />
'''Get in touch with us on [[Chat HowTo|IRC Chat]] for an unconstrained and friendly discussion on Contao.'''<br />
|-<br />
|}<br />
<br />
<div style="float:right;text-align:center;margin-bottom: 2em;">This is an<br/>[[File:Contao_Fanpage_Web.png|Contao unofficial fanpage]]<br/>[http://www.contao.org http://www.contao.org]</div></div>Lucinahttps://en.contaowiki.org/Main_PageMain Page2013-05-11T11:11:51Z<p>Lucina: </p>
<hr />
<div>[[de:Hauptseite]]<br />
[[pt:Página_principal]]<br />
{| border="0" cellpadding="0" cellspacing="20" id="front-page-table"<br />
|-<br />
|[[File:Beginner.png|60px|link=Beginner|New to Contao?]]<br />
|<h3>New to Contao?</h3><br />
<p>Basic information about Contao</p><br />
|-<br />
|[[File:Installation.png|60px|link=Installation|Install Contao]]<br />
|<h3>Installation</h3><br />
<p>Install Contao</p><br />
|-<br />
|[[File:First steps.png|60px|link=:Category:First_steps|Initial configuration after installation]]<br />
|<h3>First steps</h3><br />
<p>Initial configuration after installation</p><br />
|-<br />
|[[File:Contao_Fanpage_Web-small.png|60px|link=ccden:Community Portal|Contao Community Documentation Portal]]<br />
|<p>'''The whole projects depends on the participation of it's users.<br /><br />
If you want to participate please sign up and start documenting simply by writingan e-mail to ck [at]kikmedia[dot]de.'''</p><br />
<p>The goal of the "Contao Community Documentation" project is to provide users, administrators and developers the most complete collection of information related to the content management system Contao.</p><br />
<p>The "ccd" is not an official page of the Contao project but initiated by enthusiastic users of the Content Management System Contao.<br />
So please do not report any mistakes, annotations or even generic rants concerning this documentation to the official Contao team as they have better things to do than being buggered with notices about an site they have nothing to do with.</p><br />
'''Get in touch with us on [[Chat HowTo|IRC Chat]] for an unconstrained and friendly discussion on Contao.'''<br />
|-<br />
|}<br />
<br />
<div style="float:right;text-align:center;margin-bottom: 2em;">This is an<br/>[[File:Contao_Fanpage_Web.png|Contao unofficial fanpage]]<br/>[http://www.contao.org http://www.contao.org]</div></div>Lucinahttps://en.contaowiki.org/ccden:Current_eventsccden:Current events2013-01-28T13:29:13Z<p>Lucina: </p>
<hr />
<div>Creating new accounts is disabled now. If you want to contribute to contaowiki.org, please let us know by sending an e-mail to ck [at] kikmedia dot de.<br />
<br />
--[[Benutzer:Lucina|Lucina]] 14:28, January 28th, 2013 (CET)<br />
<br />
<br />
Due to spambot attacks we tuned our settings a little bit, so you probably will have to wait before being able to create your very first article. Thanks to [[User:Xtra|Xtra]]. And sorry for inconveniences.<br /><br />
--[[Benutzer:Lucina|Lucina]] 14:51, 21. Feb. 2012 (CET)</div>Lucinahttps://en.contaowiki.org/MediaWiki:Deletereason-dropdownMediaWiki:Deletereason-dropdown2012-11-07T08:12:35Z<p>Lucina: Created page with '*Common delete reasons ** Author request ** Copyright violation ** Vandalism ** Spam'</p>
<hr />
<div>*Common delete reasons<br />
** Author request<br />
** Copyright violation<br />
** Vandalism<br />
** Spam</div>Lucinahttps://en.contaowiki.org/User:LucinaUser:Lucina2012-05-20T06:33:10Z<p>Lucina: Created page with 'Web developer based in Kiel, Germany and Issy-les-moulineaux, France.'</p>
<hr />
<div>Web developer based in Kiel, Germany and Issy-les-moulineaux, France.</div>Lucinahttps://en.contaowiki.org/LeadsLeads2012-04-29T09:26:40Z<p>Lucina: </p>
<hr />
<div>{{stub}}<br />
This extension allows to store form generator data in the backend, similar to EFG.<br><br />
Compared to EFG, it allows for much cleaner control, but lacks a lot of EFGs features.<br />
<br />
{{ExtInfo<br />
| Dev=Andreas Schempp ([[User:andreas.schempp|andreas.schempp]])<br />
| DevSite=http://www.iserv.ch<br />
| ExtVersion=1.0.0<br />
| Version=2.9.0 - 2.10.1<br />
| ERLink=http://www.contao.org/extension-list/view/leads.en.html<br />
| TrackerLink=http://www.contao-forge.org/projects/leads/issues<br />
}}<br />
[[Category:Extensions]]<br />
<br />
=Installation=<br />
The installation of the module occurs about the extension Repository in back-end of Contao.<br /><br />
A manual installation is possible. [http://www.contao.org/extension-list/view/leads.en.html Download] the ZIP file from Extension Repository, unzip and transfer it.<br /><br />
A directory should have been created "/system/modules/leads".<br /><br />
Then call /contao/install.php - Perform Update Database.<br /><br /><br />
<span style="color:red">'''''The module Leads is dependent on the "[[xls_export|Excel 95 writer (xls_export)]]". They must therefore be installed with manual installation.'''''</span><br />
<br /><br />
<br />
= Overview =<br />
The Leads module allows you to track leads on your website. A "lead" is considered a form submission by the website visitor.<br />
All leads will be stored in the database and can be accessed via the back-end. <br />
<br />
= Getting Started =<br />
<br />
== Tracking leads with the module ==<br />
One of the first questions you need to ask when using this module is which data do you want to store of your<br />
form. Decide which form fields you want to assoicate with a lead entry. <br />
<br />
For example, for a simple contact form you might want to store the name, email address and comment field. <br />
<br />
== Configuring the leads module ==<br />
After you have determined the necessary data for your lead. You need to add these fields to the list of lead fields by<br />
clicking on the "Fields" button in the toolbar.</div>Lucinahttps://en.contaowiki.org/HelpdeskHelpdesk2012-03-07T23:14:50Z<p>Lucina: </p>
<hr />
<div>[[de:Helpdesk]]<br />
[[Category:Extensions]]<br />
= Forum and Helpdesk =<br />
{{Note|Parts of this documentation were created by Peter Koch / IBK Software AG. Peter Koch has licensed this content for use on contoawiki.org. Content in this page must not be copied, reproduced, republished, uploaded, posted, transmitted, distributed, or used for the creation of derivative works without IBK's prior written consent.}}<br />
{{Hint|Copied from http://web.archive.org/web/20101121033235/http://contifex.com/wiki/extensions:helpdesk}}<br />
<br />
== Features ==<br />
[[File:Extensions-helpdesk-Hd130.png]]<br />
* Native Contao application; fully integrated into Contao user/member system.<br />
* Can be used as forum, as helpdesk ticketing system, or both at same time.<br />
* Both, frontend members and backend users, can be members/clients or moderators/supporters.<br />
* Multiple frontend modules with selected categories are possible; to be displayed on one or several pages, or embedded within articles.<br />
* Backend modules for configuration and forum participation.<br />
* Comprehensive and fast BBCode engine including tables, lists, several box types, syntax highlighting and more.<br />
* Popup windows for BBCode help and editor preview.<br />
* Email notification to subscribing users.<br />
* Email import to create new topics/tickets, as well as to reply to notifications.<br />
* Fully customizable layout and appearence by templates and themes.<br />
* Powerful search engine.<br />
* RSS feeds for any selection of categories.<br />
* Convenient moderator functions including cut/paste operations to move messages and topics<br />
<br />
== Abstract ==<br />
<br />
Contao Forum/Helpdesk is a message board (forum) application designed to be as well used as a helpdesk ticketing system, for example to provide formal and informal support to customers or clients. The terminology and functions of the forum categories is slightly different than the support ticketing categories, but when you know the mapping you will immediately be familiar with the application:<br />
<br />
{| border="0" cellspacing="1" cellpadding="2"<br />
! !! '''Forum''' !! '''Helpdesk'''<br />
|-<br />
| Category types (1) || Restricted or public || Private, shared or public <br />
|-<br />
| Thread naming (2) || Topics || Tickets<br />
|-<br />
| Frontend users (3) || Members || Clients<br />
|-<br />
| Backend users (4) || Moderators || Supporters<br />
|-<br />
| colspan="2" |<br />
|}<br />
<br />
== Categories ==<br />
<br />
<br />
*[[File:Extensions-helpdesk-Category416.png]] '''Public Forum''': Everybody can read the forum, even non-logged in users. Only authorized members can however open topics or reply.<br />
*[[File:Extensions-helpdesk-Category316.png]] '''Restricted Forum''': The forum is visible only for authorized members.<br />
*[[File:Extensions-helpdesk-Category216.png]] '''Public Support''': Everybody can see all tickets, even non-logged in users. Only authorized clients can however open tickets or reply.<br />
*[[File:Extensions-helpdesk-Category116.png]] '''Shared Support''': All authorized clients can see and reply each others tickets, however only the owner has priviledge to close or delete his tickets. Create such a category for example for each company with a SLA((Service level agreement)) where multiple staff members shall have access to the tickets.<br />
*[[File:Extensions-helpdesk-Category016.png]] '''Private Support''': Only the ticket owner can see his tickets, but nobody else (admins and supporters authorized for the category can of course also see and reply to the tickets). Used for example for formal support of individuals.<br />
<br />
=== Topic vs. ticket status ===<br />
<br />
==== Topic status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0116.png]] '''Pinned up:''' Open topic that is listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1116.png]] '''Normal:''' A normal open topic. <br />
*[[File:Extensions-helpdesk-Ticket2116.png]] '''Closed:''' No further edits or replies are possible, listed at the end. <br />
<br />
==== Ticket status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0016.png]] '''Unanswered:''' The ticked is open and the latest post is from a client. Listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1016.png]] '''Answered:''' The ticket is open and the latest post is from a supporter. <br />
*[[File:Extensions-helpdesk-Ticket2016.png]] '''Closed:''' Issue solved. No further edits or replies are possible, the owner may reopen it however in case. Listed at the end. <br />
<br />
=== Members and Clients ===<br />
<br />
Forum members and support clients are either "frontend members" or "backend users" in terms of TYPOlight, and belong to a member/user group authorized for the respective category. The client opening a ticket has special "owner" rights in the support type categories: He has authorization to close or delete (5) his tickets.<br />
<br />
=== Admin, Moderators and Supporters ===<br />
<br />
Moderators and supporters are either Contao backend users or frontend members, and belong to a user group authorized as moderator/supporter for the respective category. They have special rights to see unpublished, to pinup, edit, unpublish or delete any topic, ticket or message.<br />
<br />
Contao admins are special backend users and appear as moderator or supporter, he/she is automaticly authorized for all categories. Additionally the admins have authorization to administrative operations, e.g. create or delete categories or change category settings. Also admins are the only ones who can see unpublished categories.<br />
<br />
=== Deletion levels ===<br />
<br />
Tickets and messages are not permanently deleted, but only unpublished from frontend when a ticket owner or member/client "deletes" them. They are still available for moderators and supporters however, mainly to serve as a knowledge resource. Tickets and messages can be permanently deleted only by admins, moderators and supporters.<br />
<br />
== Installation and Setup ==<br />
<br />
=== Requirements ===<br />
<br />
*PHP from version 5.2.0<br />
*Other requirements like [http://www.contao.org/system-requirements.html]<br />
<br />
=== Manual Installation ===<br />
<br />
*Install these required extensions in advance: [[extensions:avatar]], [[extensions:cron]], [http://www.contao.org/extension-list/view/geshi.en.html]<br />
*Download the install package from [http://www.contao.org/extension-list/view/helpdesk.en.html].<br />
*Unzip the content of TL_ROOT to the Contao base directory on your webserver.<br />
*Unzip the content of TL_FILES to the tl_files directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/contao/install.php</nowiki><br />
*Enter the installation password and click '''Login'''<br />
*Scroll down to '''Update database tables''' and click on '''Update database'''<br />
<br />
=== Site structure settings ===<br />
<br />
The page where the forum/helpdesk is located should have caching disabled, e.g:<br />
<br />
[[File:Extensions-helpdesk-Hd200.png |Cache Settings]]<br />
<br />
=== Page layout adjustment ===<br />
<br />
The module will also work without this, however it will look poor in the frontend.<br />
<br />
Go to '''Page layouts''' and change the layout for the pages that will display the forum/helpdesk. This might be a special layout you make for the forum/helpdesk pages, or the '''Default layout'''.<br />
<br />
Scroll down to '''Additional <nowiki>‹head›</nowiki> tags''' and append the following lines to whatever might allready be in there:<br />
<br />
<source lang="php"><br />
<link rel="stylesheet" <br />
href="system/modules/helpdesk/themes/default/frontend.css" <br />
type="text/css" <br />
media="screen,projection,print" /><br />
<!--[if lte IE 6]><br />
<style type="text/css"><br />
.pngfix { behavior:url("system/modules/helpdesk/themes/default/pngfix.htc") }<br />
</style><br />
<![endif]--><br />
</source><br />
<br />
== Custom themes and templates ==<br />
<br />
=== Backend themes ===<br />
<br />
To create the theme ''mysite'' you would first of cause create a new Contao backend theme folder /system/themes/mysite and activate it in in the ''Settings''. <br />
<br />
Then likewise you would create a folder system/modules/helpdesk/themes/mysite, copy the CSS files from the adjaccent ''default'' folder and make your adjustments to them. Please note that because of the automatic fallback it is '''not''' necessary to copy all the images from the ''default'' theme. In case you want your own icons, just create a subfolder ''images'' and put them in there; any icons not found there will be taken from the ''default'' theme.<br />
<br />
=== Frontend themes ===<br />
<br />
Copy the CSS files from system/modules/helpdesk/themes/default to your custom frontend theme folder and make the desired adjustments. Don't forget to adjust the ''Page layout'' as explained before to use your custom stylesheet instead of the default one.<br />
<br />
You may want to replace some or all of the default forum/helpdesk icons too. Just put your custom icons into an ''images'' folder below your custom theme. Then enter the path of your images folder in the helpdesk settings. Again there is a fallback built in, so any icon not found in your custom images folder will be taken from the ''default'' backend theme.<br />
<br />
Instead of PNG you may use GIF icons. In case both, a GIF ''and'' a PNG icon is found, the PNG has precedence.<br />
<br />
=== Templates ===<br />
<br />
In case you need to customize the default templates, just copy the files of interest from /system/modules/helpdesk/templates to /templates and make your adjustments. <br />
<br />
Please note that the template files are used for both, frontend //and// backend.<br />
<br />
<br />
=== "Personal data" Module ===<br />
<br />
{{note|As of TYPOlight 2.5.0 it is no longer required to edit the file ModulePersonalData.php; the hook is now included in the core file. However you still need to select the template ''member_grouped_helpdesk'' up to 2.5.9. Since TYPOlight 2.6.0 you also no longer need ''member_grouped_helpdesk'' because all necessary changes got included in ''member_grouped''.}}<br />
<br />
<br />
You may want to give your frontend members the option to subscribe themself for email noification with the ''Personal data'' module. This will work right out of the box when you are using the template ''member_default''.<br />
<br />
However when using the template ''member_grouped'' you won't see the Forum/Helpdesk settings with the TYPOlight releases before 2.5.0. There is a workaround to use the grouped member display right now, which requires a small hack:<br />
<br />
Edit the file /system/modules/frontend/ModulePersonalData.php and find this code:<br />
<br />
<source lang="php">// HOOK: add newsletter fields<br />
if (in_array('newsletter', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->newsletter = $arrFields['newsletter'];<br />
$this->Template->newsletterDetails = $GLOBALS['TL_LANG']['tl_member']['newsletterDetails'];<br />
}</source><br />
<br />
Now add the following code immediately below:<br />
<br />
<source lang="php">// HOOK: add helpdesk fields<br />
if (in_array('helpdesk', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->helpdesk = $arrFields['helpdesk'];<br />
$this->Template->helpdeskDetails = $GLOBALS['TL_LANG']['tl_member']['helpdeskDetails'];<br />
}</source><br />
<br />
Finally, go to the ''Personal data'' module and select the template ''member_grouped_helpdesk''.<br />
<br />
The layout may look somewhat messy by default, here is a suggestion to add to your CSS of the respective page:<br />
<br />
<source lang="css"><br />
.mod_personalData .checkbox_container span<br />
{<br />
display:block;<br />
white-space:nowrap;<br />
}<br />
<br />
.mod_personalData .checkbox_container span *<br />
{<br />
vertical-align:middle;<br />
}<br />
</source><br />
<br />
=== Enabling RSS Feeds ===<br />
<br />
To enable RSS feeds you need to:<br />
<br />
*Make settings in each category that you want feeds for<br />
*Make global settings in the Contao settings<br />
*Add a rewrite rule to your .htaccess file<br />
*Optional: Add a link to the page header in case you want to display a feed icon in the browsers address field<br />
<br />
=== Category Settings ===<br />
<br />
In the category settings you need to enter the url of the page holding this category, plus check that RSS feeds are enabled. Repeat this for all categories where you want to have RSS feeds for:<br />
<br />
[[File:Extensions-helpdesk-Hd100.jpg|Category Settings]]<br />
<br />
=== Contao settings ===<br />
<br />
In the Contao settings enable the forum/helpdesk feeds, and then make settings for the maximum number of messages to display, the base name of the xml file (same as in the .htaccess below), the title and description of the feed. Please note that this title and description only comes into play for feeds of multiple categories, for single category feeds the title and description of the category is used:<br />
<br />
[[File:Extensions-helpdesk-Hd101.jpg|Contao Settings]]<br />
<br />
=== .htaccess Modification ===<br />
<br />
Add a rewrite rule such as below to your .htaccess file. Replace ''helpdesk'' by the term you defined as base name in the Contao settings:<br />
<br />
<source lang="php">>RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</source><br />
<br />
A typical complete .htaccess for TYPOlight 2.6.0 might be:<br />
<br />
<source lang="php"><br />
# Enable mod_rewrite<br />
RewriteEngine On<br />
RewriteBase /<br />
<br />
# Block any URI protocol in the query string<br />
RewriteCond %{QUERY_STRING} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Block any URI protocol in the request<br />
RewriteCond %{REQUEST_URI} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Rewrite TYPOlight URLs<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule .*\.html$ index.php [L]<br />
<br />
# Dynamic RSS feeds for forum/helpdesk <br />
RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</source><br />
<br />
=== Add RSS icon link to page layout ===<br />
<br />
This is optional but very convenient for your users. In case you not yet have a distinct page layout for the forum/helpdesk, make a copy of the default page layout. Edit the layout and enter the following link to the ''Additional head tags input:<br />
<br />
<source lang="php"><link rel="alternate" type="application/rss+xml" title="RSS" href="http://www.example.com/helpdesk0.xml" /></source><br />
<br />
Replace %%www.example.com%% by your site's url. The 0 tells to provide a feed over all categories the user has read access to. If you want to make a feed over the categories 4, 5 and 7 instead, the link would be helpdesk4,5,7.xml<br />
<br />
=== Email Import and Notification ===<br />
<br />
==== Email Settings ====<br />
<br />
To send out notifications and import email a batch program must run on a regular base. You need to install the [[extensions:cron|cron utility]] for this purpose. Below you find suggested settings for the two Forum/Helpdesk jobs. Use a time schedule that matches your needs; the samples below will execute once every minute.<br />
<br />
[[File:Extensions-helpdesk-Hd024.jpg|CRON Scheduler]]<br /><br />
<br />
[[File:Extensions-helpdesk-Hd025.jpg|Import Job Settings]]<br /><br />
<br />
[[File:Extensions-helpdesk-Hd026.jpg|Notification Job Settings]]<br />
<br />
==== Troubleshooting E-Mail Issues ====<br />
<br />
*Check if your servers are properly configured to send out mails by creating a test-newsletter and sending it to one of your mail accounts. Send it to another server than the one used for sending out the mail to make sure the mail is not getting caught in some spamfilters or lost in any black hole.<br />
*Using PHP Mail may work on well configured servers (which is not selve-evident these days, cheepo hosters are greeting). Use SMTP in case, that will work 100%.<br />
*A common mistake is to use a different domain in the notification sender address than in the mail account in the system settings. For example when your SMTP account in the system settings is <nowiki>admin@example.com</nowiki>, a notification sender address such as <nowiki>forum@banana.net</nowiki> is likely to fail because that would be "relaying" which is forbidden in well configured mail servers. Of cause there are exceptions from this rule, for example when the mail server is configured to handle both of those domains. Leave the notification sender address empty until notification works in case.<br />
*Switch the helpdesk logging to <nowiki>"debug"</nowiki> in the Contao system settings. You will find the log files at <nowiki>/system/logs/Helpdesk*.log</nowiki>. In case no log file gets created during the batch run, your directory permissions of /system/logs does not allow write access for the web server. In that case you can manually create the two files /system/logs/HelpdeskImport.log and /system/logs/HelpdeskNotify.log and give them read/write permissions for the web server (for example as chmod of 666).<br />
*For debugging it is time-consuming to always have to wait for the scheduler to run. You can disable the scheduler jobs and manually trigger the batch by calling these url's (replace <nowiki>%%www.example.com%%</nowiki> by your own url of cause): <br />
<source lang="php">%%http://www.example.com/system/modules/helpdesk/HelpdeskNotifyExec.php%%<br />
%%http://www.example.com/system/modules/helpdesk/HelpdeskImportExec.php%%</source><br />
You will most likely just see a blank page when executing, but then check the log files after execution to see the results.<br />
<br />
=== Manual upgrade from a previous version ===<br />
<br />
{{Caution|It is recommended to make backups of your files and your database before starting any upgrade.}}<br />
<br />
You can upgrade directly from any previous release, it is '''not''' necessary to install every version that was released between your old and new version of the application.<br />
<br />
It is optional to delete the files of the old version before installing a new release; you can choose to just overwrite the old files. However there might be obsolete files which will stay in your installation that way. So for a clean update I recommend to manually delete these files and folders in advance:<br />
<br />
*system/drivers/DC_HelpdeskTable.php<br />
*system/modules/helpdesk<br />
<br />
{{Caution|Do '''NOT''' delete the mysql tables and settings of the helpdesk application after removing the old files, neither with phpmyadmin nor by using the Contao install tool. Otherwise you will loose all your data and settings.}}<br />
<br />
Next the procedure is basicly the same as with a new installation from scratch:<br />
<br />
*Download the install package.<br />
*Unzip/upload to your Contao base directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki> <br />
*Enter the installation password and click ''Login''<br />
*Scroll down to ''Update database tables'' <br />
*If any drops of obsolete table columns are due, they are by default unchecked. It is safe to check them now in order to have clean database. <br />
*Click on ''Update database'' to have the necessary database updates applied.<br />
<br />
{{note|After upgrading, you should read the change log to see what has changed and might need your attention.}}<br />
<br />
=== Optimizing full text search ===<br />
<br />
Full text search of mysql will by default not find any words shorter than 4 characters, or in the stopword list. <br />
<br />
To improve search I recommend to lower the minimum word length to 2, or even down to 1. In case your site is not english only, you might also want to disable the default stopword list (or apply [[http://members.unine.ch/jacques.savoy/clef/index.html]]).<br />
<br />
'''Brief procedure:''<br />
* Edit the mysql configuration file<br />
* Restart the mysql server<br />
* Drop the fulltext indexes<br />
* Recreate the fulltext indexes<br />
<br />
<br />
'''More detailed description (debian example):'''<br />
<br />
Edit /etc/mysql/my.cnf\\<br />
Within the section <nowiki>**[mysqld]**</nowiki> edit or add the following lines:<br />
<br />
<source lang="php">#<br />
# Fulltext config<br />
#<br />
ft_min_word_len = 2<br />
ft_stopword_file = ""</source><br />
<br />
Restart mysql:<br />
<br />
/etc/init.d/mysql restart<br />
<br />
Check system vars in phpMyAdmin to make sure it worked:<br />
<br />
[[File:Extensions-helpdesk-Myvars1.png]]<br /><br /><br />
[[File:Extensions-helpdesk-Myvars2.png]]<br />
<br />
Drop the fulltext indexes from the tables tl_search, tl_helpdesk_tickets and tl_helpdesk_messages. Check also the tables of other installed extensions for fulltext indexes, and drop them as well:<br />
<br />
[[File:Extensions-helpdesk-Dropft3.png]]<br /><br /><br />
[[File:Extensions-helpdesk-Dropft1.png]]<br /><br /><br />
[[File:Extensions-helpdesk-Dropft2.png]]<br />
<br />
Use the contao installation or extension manager to recreate the indexes based on the new settings:<br />
<br />
[[File:Extensions-helpdesk-Makeft.png]]<br />
<br />
== Getting started ==<br />
<br />
Well this section is currently very brief. Only a few screenschots so far, but I guess you will figure out usage yourself with some Contao experience. <br />
<br />
=== Create a new category ===<br />
<br />
[[File:Extensions-helpdesk-Hd110.png|Category overview]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd113.png|Category editor]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd114.png|Category editor]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd115.png|Category editor]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd116.png|Category editor]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd117.png|Category editor]]<br />
<br />
=== Create a title module for the frontend ===<br />
<br />
Basicly a title module is not required, however it helps you structure your forums and helpdesks when you want to group the categories into blocks.<br />
<br />
[[File:Extensions-helpdesk-Hd118.png|Goto modules]]<br /><br />
[[File:Extensions-helpdesk-Hd119.png|Add a module]]<br /><br />
[[File:Extensions-helpdesk-Hd120.png|Title module settings]]<br /><br />
[[File:Extensions-helpdesk-Hd121.png|Title module settings]]<br />
<br />
=== Create block modules for the frontend ===<br />
<br />
A forum/helpdesk block module displays a selection of categories in a block on the frontend. So the minimum to get started on frontend is one module of this type. In case you want to structure your categories you will make several of these modules:<br />
<br />
[[File:Extensions-helpdesk-Hdblock.png|Block module settings]]</div>Lucinahttps://en.contaowiki.org/HelpdeskHelpdesk2012-03-07T23:13:48Z<p>Lucina: </p>
<hr />
<div>[[de:Helpdesk]]<br />
[[Category:Extensions]]<br />
= Forum and Helpdesk =<br />
{{Note|Parts of this documentation were created by Peter Koch / IBK Software AG. Peter Koch has licensed this content for use on contoawiki.org. Content in this page must not be copied, reproduced, republished, uploaded, posted, transmitted, distributed, or used for the creation of derivative works without IBK's prior written consent.}}<br />
{{Hint|http://web.archive.org/web/20101121033235/http://contifex.com/wiki/extensions:helpdesk}}<br />
{{Note|feel free to bring the content from the page above to our contaowiki!}} <br />
<br />
== Features ==<br />
[[File:Extensions-helpdesk-Hd130.png]]<br />
* Native Contao application; fully integrated into Contao user/member system.<br />
* Can be used as forum, as helpdesk ticketing system, or both at same time.<br />
* Both, frontend members and backend users, can be members/clients or moderators/supporters.<br />
* Multiple frontend modules with selected categories are possible; to be displayed on one or several pages, or embedded within articles.<br />
* Backend modules for configuration and forum participation.<br />
* Comprehensive and fast BBCode engine including tables, lists, several box types, syntax highlighting and more.<br />
* Popup windows for BBCode help and editor preview.<br />
* Email notification to subscribing users.<br />
* Email import to create new topics/tickets, as well as to reply to notifications.<br />
* Fully customizable layout and appearence by templates and themes.<br />
* Powerful search engine.<br />
* RSS feeds for any selection of categories.<br />
* Convenient moderator functions including cut/paste operations to move messages and topics<br />
<br />
== Abstract ==<br />
<br />
Contao Forum/Helpdesk is a message board (forum) application designed to be as well used as a helpdesk ticketing system, for example to provide formal and informal support to customers or clients. The terminology and functions of the forum categories is slightly different than the support ticketing categories, but when you know the mapping you will immediately be familiar with the application:<br />
<br />
{| border="0" cellspacing="1" cellpadding="2"<br />
! !! '''Forum''' !! '''Helpdesk'''<br />
|-<br />
| Category types (1) || Restricted or public || Private, shared or public <br />
|-<br />
| Thread naming (2) || Topics || Tickets<br />
|-<br />
| Frontend users (3) || Members || Clients<br />
|-<br />
| Backend users (4) || Moderators || Supporters<br />
|-<br />
| colspan="2" |<br />
|}<br />
<br />
== Categories ==<br />
<br />
<br />
*[[File:Extensions-helpdesk-Category416.png]] '''Public Forum''': Everybody can read the forum, even non-logged in users. Only authorized members can however open topics or reply.<br />
*[[File:Extensions-helpdesk-Category316.png]] '''Restricted Forum''': The forum is visible only for authorized members.<br />
*[[File:Extensions-helpdesk-Category216.png]] '''Public Support''': Everybody can see all tickets, even non-logged in users. Only authorized clients can however open tickets or reply.<br />
*[[File:Extensions-helpdesk-Category116.png]] '''Shared Support''': All authorized clients can see and reply each others tickets, however only the owner has priviledge to close or delete his tickets. Create such a category for example for each company with a SLA((Service level agreement)) where multiple staff members shall have access to the tickets.<br />
*[[File:Extensions-helpdesk-Category016.png]] '''Private Support''': Only the ticket owner can see his tickets, but nobody else (admins and supporters authorized for the category can of course also see and reply to the tickets). Used for example for formal support of individuals.<br />
<br />
=== Topic vs. ticket status ===<br />
<br />
==== Topic status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0116.png]] '''Pinned up:''' Open topic that is listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1116.png]] '''Normal:''' A normal open topic. <br />
*[[File:Extensions-helpdesk-Ticket2116.png]] '''Closed:''' No further edits or replies are possible, listed at the end. <br />
<br />
==== Ticket status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0016.png]] '''Unanswered:''' The ticked is open and the latest post is from a client. Listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1016.png]] '''Answered:''' The ticket is open and the latest post is from a supporter. <br />
*[[File:Extensions-helpdesk-Ticket2016.png]] '''Closed:''' Issue solved. No further edits or replies are possible, the owner may reopen it however in case. Listed at the end. <br />
<br />
=== Members and Clients ===<br />
<br />
Forum members and support clients are either "frontend members" or "backend users" in terms of TYPOlight, and belong to a member/user group authorized for the respective category. The client opening a ticket has special "owner" rights in the support type categories: He has authorization to close or delete (5) his tickets.<br />
<br />
=== Admin, Moderators and Supporters ===<br />
<br />
Moderators and supporters are either Contao backend users or frontend members, and belong to a user group authorized as moderator/supporter for the respective category. They have special rights to see unpublished, to pinup, edit, unpublish or delete any topic, ticket or message.<br />
<br />
Contao admins are special backend users and appear as moderator or supporter, he/she is automaticly authorized for all categories. Additionally the admins have authorization to administrative operations, e.g. create or delete categories or change category settings. Also admins are the only ones who can see unpublished categories.<br />
<br />
=== Deletion levels ===<br />
<br />
Tickets and messages are not permanently deleted, but only unpublished from frontend when a ticket owner or member/client "deletes" them. They are still available for moderators and supporters however, mainly to serve as a knowledge resource. Tickets and messages can be permanently deleted only by admins, moderators and supporters.<br />
<br />
== Installation and Setup ==<br />
<br />
=== Requirements ===<br />
<br />
*PHP from version 5.2.0<br />
*Other requirements like [http://www.contao.org/system-requirements.html]<br />
<br />
=== Manual Installation ===<br />
<br />
*Install these required extensions in advance: [[extensions:avatar]], [[extensions:cron]], [http://www.contao.org/extension-list/view/geshi.en.html]<br />
*Download the install package from [http://www.contao.org/extension-list/view/helpdesk.en.html].<br />
*Unzip the content of TL_ROOT to the Contao base directory on your webserver.<br />
*Unzip the content of TL_FILES to the tl_files directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/contao/install.php</nowiki><br />
*Enter the installation password and click '''Login'''<br />
*Scroll down to '''Update database tables''' and click on '''Update database'''<br />
<br />
=== Site structure settings ===<br />
<br />
The page where the forum/helpdesk is located should have caching disabled, e.g:<br />
<br />
[[File:Extensions-helpdesk-Hd200.png |Cache Settings]]<br />
<br />
=== Page layout adjustment ===<br />
<br />
The module will also work without this, however it will look poor in the frontend.<br />
<br />
Go to '''Page layouts''' and change the layout for the pages that will display the forum/helpdesk. This might be a special layout you make for the forum/helpdesk pages, or the '''Default layout'''.<br />
<br />
Scroll down to '''Additional <nowiki>‹head›</nowiki> tags''' and append the following lines to whatever might allready be in there:<br />
<br />
<source lang="php"><br />
<link rel="stylesheet" <br />
href="system/modules/helpdesk/themes/default/frontend.css" <br />
type="text/css" <br />
media="screen,projection,print" /><br />
<!--[if lte IE 6]><br />
<style type="text/css"><br />
.pngfix { behavior:url("system/modules/helpdesk/themes/default/pngfix.htc") }<br />
</style><br />
<![endif]--><br />
</source><br />
<br />
== Custom themes and templates ==<br />
<br />
=== Backend themes ===<br />
<br />
To create the theme ''mysite'' you would first of cause create a new Contao backend theme folder /system/themes/mysite and activate it in in the ''Settings''. <br />
<br />
Then likewise you would create a folder system/modules/helpdesk/themes/mysite, copy the CSS files from the adjaccent ''default'' folder and make your adjustments to them. Please note that because of the automatic fallback it is '''not''' necessary to copy all the images from the ''default'' theme. In case you want your own icons, just create a subfolder ''images'' and put them in there; any icons not found there will be taken from the ''default'' theme.<br />
<br />
=== Frontend themes ===<br />
<br />
Copy the CSS files from system/modules/helpdesk/themes/default to your custom frontend theme folder and make the desired adjustments. Don't forget to adjust the ''Page layout'' as explained before to use your custom stylesheet instead of the default one.<br />
<br />
You may want to replace some or all of the default forum/helpdesk icons too. Just put your custom icons into an ''images'' folder below your custom theme. Then enter the path of your images folder in the helpdesk settings. Again there is a fallback built in, so any icon not found in your custom images folder will be taken from the ''default'' backend theme.<br />
<br />
Instead of PNG you may use GIF icons. In case both, a GIF ''and'' a PNG icon is found, the PNG has precedence.<br />
<br />
=== Templates ===<br />
<br />
In case you need to customize the default templates, just copy the files of interest from /system/modules/helpdesk/templates to /templates and make your adjustments. <br />
<br />
Please note that the template files are used for both, frontend //and// backend.<br />
<br />
<br />
=== "Personal data" Module ===<br />
<br />
{{note|As of TYPOlight 2.5.0 it is no longer required to edit the file ModulePersonalData.php; the hook is now included in the core file. However you still need to select the template ''member_grouped_helpdesk'' up to 2.5.9. Since TYPOlight 2.6.0 you also no longer need ''member_grouped_helpdesk'' because all necessary changes got included in ''member_grouped''.}}<br />
<br />
<br />
You may want to give your frontend members the option to subscribe themself for email noification with the ''Personal data'' module. This will work right out of the box when you are using the template ''member_default''.<br />
<br />
However when using the template ''member_grouped'' you won't see the Forum/Helpdesk settings with the TYPOlight releases before 2.5.0. There is a workaround to use the grouped member display right now, which requires a small hack:<br />
<br />
Edit the file /system/modules/frontend/ModulePersonalData.php and find this code:<br />
<br />
<source lang="php">// HOOK: add newsletter fields<br />
if (in_array('newsletter', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->newsletter = $arrFields['newsletter'];<br />
$this->Template->newsletterDetails = $GLOBALS['TL_LANG']['tl_member']['newsletterDetails'];<br />
}</source><br />
<br />
Now add the following code immediately below:<br />
<br />
<source lang="php">// HOOK: add helpdesk fields<br />
if (in_array('helpdesk', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->helpdesk = $arrFields['helpdesk'];<br />
$this->Template->helpdeskDetails = $GLOBALS['TL_LANG']['tl_member']['helpdeskDetails'];<br />
}</source><br />
<br />
Finally, go to the ''Personal data'' module and select the template ''member_grouped_helpdesk''.<br />
<br />
The layout may look somewhat messy by default, here is a suggestion to add to your CSS of the respective page:<br />
<br />
<source lang="css"><br />
.mod_personalData .checkbox_container span<br />
{<br />
display:block;<br />
white-space:nowrap;<br />
}<br />
<br />
.mod_personalData .checkbox_container span *<br />
{<br />
vertical-align:middle;<br />
}<br />
</source><br />
<br />
=== Enabling RSS Feeds ===<br />
<br />
To enable RSS feeds you need to:<br />
<br />
*Make settings in each category that you want feeds for<br />
*Make global settings in the Contao settings<br />
*Add a rewrite rule to your .htaccess file<br />
*Optional: Add a link to the page header in case you want to display a feed icon in the browsers address field<br />
<br />
=== Category Settings ===<br />
<br />
In the category settings you need to enter the url of the page holding this category, plus check that RSS feeds are enabled. Repeat this for all categories where you want to have RSS feeds for:<br />
<br />
[[File:Extensions-helpdesk-Hd100.jpg|Category Settings]]<br />
<br />
=== Contao settings ===<br />
<br />
In the Contao settings enable the forum/helpdesk feeds, and then make settings for the maximum number of messages to display, the base name of the xml file (same as in the .htaccess below), the title and description of the feed. Please note that this title and description only comes into play for feeds of multiple categories, for single category feeds the title and description of the category is used:<br />
<br />
[[File:Extensions-helpdesk-Hd101.jpg|Contao Settings]]<br />
<br />
=== .htaccess Modification ===<br />
<br />
Add a rewrite rule such as below to your .htaccess file. Replace ''helpdesk'' by the term you defined as base name in the Contao settings:<br />
<br />
<source lang="php">>RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</source><br />
<br />
A typical complete .htaccess for TYPOlight 2.6.0 might be:<br />
<br />
<source lang="php"><br />
# Enable mod_rewrite<br />
RewriteEngine On<br />
RewriteBase /<br />
<br />
# Block any URI protocol in the query string<br />
RewriteCond %{QUERY_STRING} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Block any URI protocol in the request<br />
RewriteCond %{REQUEST_URI} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Rewrite TYPOlight URLs<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule .*\.html$ index.php [L]<br />
<br />
# Dynamic RSS feeds for forum/helpdesk <br />
RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</source><br />
<br />
=== Add RSS icon link to page layout ===<br />
<br />
This is optional but very convenient for your users. In case you not yet have a distinct page layout for the forum/helpdesk, make a copy of the default page layout. Edit the layout and enter the following link to the ''Additional head tags input:<br />
<br />
<source lang="php"><link rel="alternate" type="application/rss+xml" title="RSS" href="http://www.example.com/helpdesk0.xml" /></source><br />
<br />
Replace %%www.example.com%% by your site's url. The 0 tells to provide a feed over all categories the user has read access to. If you want to make a feed over the categories 4, 5 and 7 instead, the link would be helpdesk4,5,7.xml<br />
<br />
=== Email Import and Notification ===<br />
<br />
==== Email Settings ====<br />
<br />
To send out notifications and import email a batch program must run on a regular base. You need to install the [[extensions:cron|cron utility]] for this purpose. Below you find suggested settings for the two Forum/Helpdesk jobs. Use a time schedule that matches your needs; the samples below will execute once every minute.<br />
<br />
[[File:Extensions-helpdesk-Hd024.jpg|CRON Scheduler]]<br /><br />
<br />
[[File:Extensions-helpdesk-Hd025.jpg|Import Job Settings]]<br /><br />
<br />
[[File:Extensions-helpdesk-Hd026.jpg|Notification Job Settings]]<br />
<br />
==== Troubleshooting E-Mail Issues ====<br />
<br />
*Check if your servers are properly configured to send out mails by creating a test-newsletter and sending it to one of your mail accounts. Send it to another server than the one used for sending out the mail to make sure the mail is not getting caught in some spamfilters or lost in any black hole.<br />
*Using PHP Mail may work on well configured servers (which is not selve-evident these days, cheepo hosters are greeting). Use SMTP in case, that will work 100%.<br />
*A common mistake is to use a different domain in the notification sender address than in the mail account in the system settings. For example when your SMTP account in the system settings is <nowiki>admin@example.com</nowiki>, a notification sender address such as <nowiki>forum@banana.net</nowiki> is likely to fail because that would be "relaying" which is forbidden in well configured mail servers. Of cause there are exceptions from this rule, for example when the mail server is configured to handle both of those domains. Leave the notification sender address empty until notification works in case.<br />
*Switch the helpdesk logging to <nowiki>"debug"</nowiki> in the Contao system settings. You will find the log files at <nowiki>/system/logs/Helpdesk*.log</nowiki>. In case no log file gets created during the batch run, your directory permissions of /system/logs does not allow write access for the web server. In that case you can manually create the two files /system/logs/HelpdeskImport.log and /system/logs/HelpdeskNotify.log and give them read/write permissions for the web server (for example as chmod of 666).<br />
*For debugging it is time-consuming to always have to wait for the scheduler to run. You can disable the scheduler jobs and manually trigger the batch by calling these url's (replace <nowiki>%%www.example.com%%</nowiki> by your own url of cause): <br />
<source lang="php">%%http://www.example.com/system/modules/helpdesk/HelpdeskNotifyExec.php%%<br />
%%http://www.example.com/system/modules/helpdesk/HelpdeskImportExec.php%%</source><br />
You will most likely just see a blank page when executing, but then check the log files after execution to see the results.<br />
<br />
=== Manual upgrade from a previous version ===<br />
<br />
{{Caution|It is recommended to make backups of your files and your database before starting any upgrade.}}<br />
<br />
You can upgrade directly from any previous release, it is '''not''' necessary to install every version that was released between your old and new version of the application.<br />
<br />
It is optional to delete the files of the old version before installing a new release; you can choose to just overwrite the old files. However there might be obsolete files which will stay in your installation that way. So for a clean update I recommend to manually delete these files and folders in advance:<br />
<br />
*system/drivers/DC_HelpdeskTable.php<br />
*system/modules/helpdesk<br />
<br />
{{Caution|Do '''NOT''' delete the mysql tables and settings of the helpdesk application after removing the old files, neither with phpmyadmin nor by using the Contao install tool. Otherwise you will loose all your data and settings.}}<br />
<br />
Next the procedure is basicly the same as with a new installation from scratch:<br />
<br />
*Download the install package.<br />
*Unzip/upload to your Contao base directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki> <br />
*Enter the installation password and click ''Login''<br />
*Scroll down to ''Update database tables'' <br />
*If any drops of obsolete table columns are due, they are by default unchecked. It is safe to check them now in order to have clean database. <br />
*Click on ''Update database'' to have the necessary database updates applied.<br />
<br />
{{note|After upgrading, you should read the change log to see what has changed and might need your attention.}}<br />
<br />
=== Optimizing full text search ===<br />
<br />
Full text search of mysql will by default not find any words shorter than 4 characters, or in the stopword list. <br />
<br />
To improve search I recommend to lower the minimum word length to 2, or even down to 1. In case your site is not english only, you might also want to disable the default stopword list (or apply [[http://members.unine.ch/jacques.savoy/clef/index.html]]).<br />
<br />
'''Brief procedure:''<br />
* Edit the mysql configuration file<br />
* Restart the mysql server<br />
* Drop the fulltext indexes<br />
* Recreate the fulltext indexes<br />
<br />
<br />
'''More detailed description (debian example):'''<br />
<br />
Edit /etc/mysql/my.cnf\\<br />
Within the section <nowiki>**[mysqld]**</nowiki> edit or add the following lines:<br />
<br />
<source lang="php">#<br />
# Fulltext config<br />
#<br />
ft_min_word_len = 2<br />
ft_stopword_file = ""</source><br />
<br />
Restart mysql:<br />
<br />
/etc/init.d/mysql restart<br />
<br />
Check system vars in phpMyAdmin to make sure it worked:<br />
<br />
[[File:Extensions-helpdesk-Myvars1.png]]<br /><br /><br />
[[File:Extensions-helpdesk-Myvars2.png]]<br />
<br />
Drop the fulltext indexes from the tables tl_search, tl_helpdesk_tickets and tl_helpdesk_messages. Check also the tables of other installed extensions for fulltext indexes, and drop them as well:<br />
<br />
[[File:Extensions-helpdesk-Dropft3.png]]<br /><br /><br />
[[File:Extensions-helpdesk-Dropft1.png]]<br /><br /><br />
[[File:Extensions-helpdesk-Dropft2.png]]<br />
<br />
Use the contao installation or extension manager to recreate the indexes based on the new settings:<br />
<br />
[[File:Extensions-helpdesk-Makeft.png]]<br />
<br />
== Getting started ==<br />
<br />
Well this section is currently very brief. Only a few screenschots so far, but I guess you will figure out usage yourself with some Contao experience. <br />
<br />
=== Create a new category ===<br />
<br />
[[File:Extensions-helpdesk-Hd110.png|Category overview]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd113.png|Category editor]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd114.png|Category editor]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd115.png|Category editor]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd116.png|Category editor]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd117.png|Category editor]]<br />
<br />
=== Create a title module for the frontend ===<br />
<br />
Basicly a title module is not required, however it helps you structure your forums and helpdesks when you want to group the categories into blocks.<br />
<br />
[[File:Extensions-helpdesk-Hd118.png|Goto modules]]<br /><br />
[[File:Extensions-helpdesk-Hd119.png|Add a module]]<br /><br />
[[File:Extensions-helpdesk-Hd120.png|Title module settings]]<br /><br />
[[File:Extensions-helpdesk-Hd121.png|Title module settings]]<br />
<br />
=== Create block modules for the frontend ===<br />
<br />
A forum/helpdesk block module displays a selection of categories in a block on the frontend. So the minimum to get started on frontend is one module of this type. In case you want to structure your categories you will make several of these modules:<br />
<br />
[[File:Extensions-helpdesk-Hdblock.png|Block module settings]]</div>Lucinahttps://en.contaowiki.org/Help:ContentsHelp:Contents2012-02-24T22:14:46Z<p>Lucina: /* Translations of the Contao Community Documentation */</p>
<hr />
<div>[[de:Hilfe:Hilfe]]<br />
=Writing articles=<br />
Before starting to write an article it has to be verified that no previous article covering the selected topic exists. This can be done with the search function or via the [[Special:AllPages|list of all articles]].<br />
Before saving an article the text should be proof read to best knowledge.<br />
If you see any typos or grammatical mistakes, please keep in mind that a lot of the writers here are not speaking English as their native tongue and so you should correct any mistakes you find.<br />
<br />
'''Articles should be written from a neutral and common point of view''' (i.e. do not write "''I view the page''" or "''You view the page''", but "''Viewing the page''"), to guarantee a homogenious writing style.<br />
==Important: Provide the Contao-Version==<br />
As Contao is under constant development and subject to change the used Version is of matter.<br />
'''Therefore it is important to state the Contao version an article applies to.''' Otherwise the reader has no way to know which an article or howto refers to. By defining the version the user can follow the changes in the code and templates and change them accordingly.<br />
To state the version within an article use the following code:<br />
<pre>{{AppliesTo<br />
|Version=All versions<br />
|Ext1=SuperExtension<br />
|Ext2=HyperExtension}}</pre><br />
The following parameters can be used:<br />
* Version - The Contao version the article applies to.<br />
* Ext1 ... ExtN - The extensions the article applies to. The number N is starting from 1 and is incremented by one for every extension.<br />
* TLVersion - As a lot of the articles still apply to TYPOlight (the former name of Contao) the TYPOlight version can also be specified. The need to specify this version will decrease by time and then this parameter will cease to exist.<br />
<br />
==Categorization==<br />
An article can be filed under one or more categories. For every category one must specify a category tag. Each of those tags should be specified on a seperate line.<br />
<br />
Example:<br />
<pre><br />
[[Category:Admin HOWTOS]]<br />
[[Category:Modules]]<br />
</pre><br />
<br />
To mark an article as incomplete please add<br />
<pre>{{stub}}</pre><br />
at the very top of the code, even before the categories. This will add a notice that the article is still not completed at the very top of the page and also include the article to the [[:Category:Stub|stub category]].<br />
<br />
=Hints, notes and warnings=<br />
One can add hints, notes and warnings to an article.<br />
<br />
These are added by including a certain template in the code.<br />
<br />
==Hints==<br />
<pre><br />
{{Hint|Text of the hint}}<br />
</pre><br />
Producing the following output:<br />
{{Hint|Text of the hint}}<br />
<br />
==Notes==<br />
<pre><br />
{{Note|Text of the note}}<br />
</pre><br />
Producing the following output:<br />
{{Note|Text of the note}}<br />
<br />
==Warnings==<br />
<pre><br />
{{Caution|Text of the Warning}}<br />
</pre><br />
Producing the following output:<br />
{{Caution|Text of the Warning}}<br />
<br />
=Formatting=<br />
==Formatting text==<br />
The most common text formats are:<br />
'''bold'''<br />
<pre>'''bold'''</pre><br />
''italic''<br />
<pre>''italic''</pre><br />
'''''bold and italic'''''<br />
<pre>'''''bold and italic'''''</pre><br />
<br />
==Lists==<br />
Unordered lists<br />
<pre><br />
* foo<br />
* bar<br />
</pre><br />
resulting in<br />
* foo<br />
* bar<br />
Ordered lists<br />
<pre><br />
# foo<br />
# bar<br />
</pre><br />
resulting in<br />
# foo<br />
# bar<br />
<br />
==Structuring==<br />
It is possible (and encouraged) to structure an article into several sections to keep them readable.<br />
<pre><br />
=Section 1=<br />
Text<br />
==Subsection 1.1==<br />
Text<br />
==Subsection 1.2==<br />
Text<br />
=Section 2=<br />
Text<br />
==Subsection 2.1==<br />
Text<br />
==Subsection 2.2==<br />
etc.<br />
</pre><br />
when specifying more than three sections, a table of contents will automatically be added to the top of the page (see top of this page what it looks like).<br />
<br />
=Linking=<br />
<br />
==Text links==<br />
Text links are divided into two categories: internal and external.<br />
<br />
Internal links (within the Contao community Documentation) are specified as follows:<br />
<pre>[[Page name|description]]</pre><br />
For external links a different notation is used:<br />
<pre>[http://www.example.com description]</pre>(note the space between the URL and the description)<br />
<br />
An exception to these external links are links to certain wikis as to wikipedia or the several translations of the ccd.<br />
Links to those sources are specified in interwiki notation.<br />
<br />
Taking a link to wikipedia for example:<br />
<pre>[[w:page name|description]]</pre><br />
for specifying a page in a different language than the default language within the specified wiki the page name has to be prepended with the ISO language code.<br />
For linking to the English page within wikipedia this results in:<br />
<pre>[[w:de:page name|description]]</pre><br />
This notation is known as interwiki link notation.<br />
<br />
==Image links==<br />
Before using or linking an image in this wiki, one has to [[Special:Upload|upload]] it.<br />
<br />
To include the image in an article, use the following code:<br />
<pre>[[File:foo.jpg|Description]]</pre><br />
<br />
Images can also be used to link to another page.<br />
Internal links:<br />
<pre>[[File:foo.jpg|link=Main Page|Description]]</pre><br />
External links:<br />
<pre>[[File:foo.jpg|link=http://www.example.com|Description]]</pre><br />
<br />
<br />
----<br />
<br />
More advanced information about mediawiki syntax is available on the [http://www.mediawiki.org/wiki/Help:Contents MediaWiki Homepage]<br />
<br />
=Translations of the Contao Community Documentation=<br />
<br />
The ccd currently is available in three languages. German (http://de.contaowiki.org), English (http://en.contaowiki.org) and French (http://fr.contaowiki.org).<br />
In every article there should be a section at the bottom of the left side menu listing the languages the current article has been translated to.<br />
If there is a language missing and the reader feels confident enough to provide a translation to the missing language please do so.<br />
<br />
A small howto follows:<br />
==Determining the title==<br />
Before starting a translation one has to determine what the name translates to in the other language.<br />
Taking the fictive article "Example" (The word "Example" translates to "Beispiel" for German) the article to create on de.contaowiki.org should be named <nowiki>http://de.contaowiki.org/Beispiel</nowiki>.<br />
<br />
==Translating the text==<br />
After translating the name and opening the article in edit mode on the other side the translation continues with the text (the hardest part).<br />
One should keep in mind that the articles linked to in the original language will most likely have different names in the local language. One is encouraged to search them in the local language and update the name of the link accordingly. If there does not yet exist an article covering the linked topic, one will translate the name of the topic and link to it nonetheless. This will produce a red link to the aricle and place a new link within the [[Special:WantedPages|wanted pages]]. Translating these pages also is even better.<br />
<br />
==Placing links to other languages==<br />
After the article has been translated, the wiki must be told where it can find the translation.<br />
This is done using Interwiki-notation.<br />
<br />
In the German section the page "Beispiel" has to be edited and the following has to be added just after the categories:<br />
<nowiki>[[en:Example]]</nowiki><br />
<br />
and on the English page "Example" the following has to be added on the same place:<br />
<nowiki>[[de:Beispiel]]</nowiki><br />
<br />
Translating to French is almost the same but using the language prefix fr instead of de or en.</div>Lucinahttps://en.contaowiki.org/HelpdeskHelpdesk2012-02-22T07:55:01Z<p>Lucina: /* Manual upgrade from a previous version */</p>
<hr />
<div>{{stub}}<br />
[[de:Helpdesk]]<br />
[[Category:Extensions]]<br />
= Forum and Helpdesk =<br />
{{Note|Parts of this documentation were created by Peter Koch / IBK Software AG. Peter Koch has licensed this content for use on contoawiki.org. Content in this page must not be copied, reproduced, republished, uploaded, posted, transmitted, distributed, or used for the creation of derivative works without IBK's prior written consent.}}<br />
{{Hint|http://web.archive.org/web/20101121033235/http://contifex.com/wiki/extensions:helpdesk}}<br />
{{Note|feel free to bring the content from the page above to our contaowiki!}} <br />
<br />
== Features ==<br />
[[File:Extensions-helpdesk-Hd130.png]]<br />
* Native Contao application; fully integrated into Contao user/member system.<br />
* Can be used as forum, as helpdesk ticketing system, or both at same time.<br />
* Both, frontend members and backend users, can be members/clients or moderators/supporters.<br />
* Multiple frontend modules with selected categories are possible; to be displayed on one or several pages, or embedded within articles.<br />
* Backend modules for configuration and forum participation.<br />
* Comprehensive and fast BBCode engine including tables, lists, several box types, syntax highlighting and more.<br />
* Popup windows for BBCode help and editor preview.<br />
* Email notification to subscribing users.<br />
* Email import to create new topics/tickets, as well as to reply to notifications.<br />
* Fully customizable layout and appearence by templates and themes.<br />
* Powerful search engine.<br />
* RSS feeds for any selection of categories.<br />
* Convenient moderator functions including cut/paste operations to move messages and topics<br />
<br />
== Abstract ==<br />
<br />
Contao Forum/Helpdesk is a message board (forum) application designed to be as well used as a helpdesk ticketing system, for example to provide formal and informal support to customers or clients. The terminology and functions of the forum categories is slightly different than the support ticketing categories, but when you know the mapping you will immediately be familiar with the application:<br />
<br />
{| border="0" cellspacing="1" cellpadding="2"<br />
! !! '''Forum''' !! '''Helpdesk'''<br />
|-<br />
| Category types (1) || Restricted or public || Private, shared or public <br />
|-<br />
| Thread naming (2) || Topics || Tickets<br />
|-<br />
| Frontend users (3) || Members || Clients<br />
|-<br />
| Backend users (4) || Moderators || Supporters<br />
|-<br />
| colspan="2" |<br />
|}<br />
<br />
== Categories ==<br />
<br />
<br />
*[[File:Extensions-helpdesk-Category416.png]] '''Public Forum''': Everybody can read the forum, even non-logged in users. Only authorized members can however open topics or reply.<br />
*[[File:Extensions-helpdesk-Category316.png]] '''Restricted Forum''': The forum is visible only for authorized members.<br />
*[[File:Extensions-helpdesk-Category216.png]] '''Public Support''': Everybody can see all tickets, even non-logged in users. Only authorized clients can however open tickets or reply.<br />
*[[File:Extensions-helpdesk-Category116.png]] '''Shared Support''': All authorized clients can see and reply each others tickets, however only the owner has priviledge to close or delete his tickets. Create such a category for example for each company with a SLA((Service level agreement)) where multiple staff members shall have access to the tickets.<br />
*[[File:Extensions-helpdesk-Category016.png]] '''Private Support''': Only the ticket owner can see his tickets, but nobody else (admins and supporters authorized for the category can of course also see and reply to the tickets). Used for example for formal support of individuals.<br />
<br />
=== Topic vs. ticket status ===<br />
<br />
==== Topic status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0116.png]] '''Pinned up:''' Open topic that is listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1116.png]] '''Normal:''' A normal open topic. <br />
*[[File:Extensions-helpdesk-Ticket2116.png]] '''Closed:''' No further edits or replies are possible, listed at the end. <br />
<br />
==== Ticket status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0016.png]] '''Unanswered:''' The ticked is open and the latest post is from a client. Listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1016.png]] '''Answered:''' The ticket is open and the latest post is from a supporter. <br />
*[[File:Extensions-helpdesk-Ticket2016.png]] '''Closed:''' Issue solved. No further edits or replies are possible, the owner may reopen it however in case. Listed at the end. <br />
<br />
=== Members and Clients ===<br />
<br />
Forum members and support clients are either "frontend members" or "backend users" in terms of TYPOlight, and belong to a member/user group authorized for the respective category. The client opening a ticket has special "owner" rights in the support type categories: He has authorization to close or delete (5) his tickets.<br />
<br />
=== Admin, Moderators and Supporters ===<br />
<br />
Moderators and supporters are either Contao backend users or frontend members, and belong to a user group authorized as moderator/supporter for the respective category. They have special rights to see unpublished, to pinup, edit, unpublish or delete any topic, ticket or message.<br />
<br />
Contao admins are special backend users and appear as moderator or supporter, he/she is automaticly authorized for all categories. Additionally the admins have authorization to administrative operations, e.g. create or delete categories or change category settings. Also admins are the only ones who can see unpublished categories.<br />
<br />
=== Deletion levels ===<br />
<br />
Tickets and messages are not permanently deleted, but only unpublished from frontend when a ticket owner or member/client "deletes" them. They are still available for moderators and supporters however, mainly to serve as a knowledge resource. Tickets and messages can be permanently deleted only by admins, moderators and supporters.<br />
<br />
== Installation and Setup ==<br />
<br />
=== Requirements ===<br />
<br />
*PHP from version 5.2.0<br />
*Other requirements like [http://www.contao.org/system-requirements.html]<br />
<br />
=== Manual Installation ===<br />
<br />
*Install these required extensions in advance: [[extensions:avatar]], [[extensions:cron]], [http://www.contao.org/extension-list/view/geshi.en.html]<br />
*Download the install package from [http://www.contao.org/extension-list/view/helpdesk.en.html].<br />
*Unzip the content of TL_ROOT to the Contao base directory on your webserver.<br />
*Unzip the content of TL_FILES to the tl_files directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/contao/install.php</nowiki><br />
*Enter the installation password and click '''Login'''<br />
*Scroll down to '''Update database tables''' and click on '''Update database'''<br />
<br />
=== Site structure settings ===<br />
<br />
The page where the forum/helpdesk is located should have caching disabled, e.g:<br />
<br />
[[File:Extensions-helpdesk-Hd200.png |Cache Settings]]<br />
<br />
=== Page layout adjustment ===<br />
<br />
The module will also work without this, however it will look poor in the frontend.<br />
<br />
Go to '''Page layouts''' and change the layout for the pages that will display the forum/helpdesk. This might be a special layout you make for the forum/helpdesk pages, or the '''Default layout'''.<br />
<br />
Scroll down to '''Additional <nowiki>‹head›</nowiki> tags''' and append the following lines to whatever might allready be in there:<br />
<br />
<source lang="php"><br />
<link rel="stylesheet" <br />
href="system/modules/helpdesk/themes/default/frontend.css" <br />
type="text/css" <br />
media="screen,projection,print" /><br />
<!--[if lte IE 6]><br />
<style type="text/css"><br />
.pngfix { behavior:url("system/modules/helpdesk/themes/default/pngfix.htc") }<br />
</style><br />
<![endif]--><br />
</source><br />
<br />
== Custom themes and templates ==<br />
<br />
=== Backend themes ===<br />
<br />
To create the theme ''mysite'' you would first of cause create a new Contao backend theme folder /system/themes/mysite and activate it in in the ''Settings''. <br />
<br />
Then likewise you would create a folder system/modules/helpdesk/themes/mysite, copy the CSS files from the adjaccent ''default'' folder and make your adjustments to them. Please note that because of the automatic fallback it is '''not''' necessary to copy all the images from the ''default'' theme. In case you want your own icons, just create a subfolder ''images'' and put them in there; any icons not found there will be taken from the ''default'' theme.<br />
<br />
=== Frontend themes ===<br />
<br />
Copy the CSS files from system/modules/helpdesk/themes/default to your custom frontend theme folder and make the desired adjustments. Don't forget to adjust the ''Page layout'' as explained before to use your custom stylesheet instead of the default one.<br />
<br />
You may want to replace some or all of the default forum/helpdesk icons too. Just put your custom icons into an ''images'' folder below your custom theme. Then enter the path of your images folder in the helpdesk settings. Again there is a fallback built in, so any icon not found in your custom images folder will be taken from the ''default'' backend theme.<br />
<br />
Instead of PNG you may use GIF icons. In case both, a GIF ''and'' a PNG icon is found, the PNG has precedence.<br />
<br />
=== Templates ===<br />
<br />
In case you need to customize the default templates, just copy the files of interest from /system/modules/helpdesk/templates to /templates and make your adjustments. <br />
<br />
Please note that the template files are used for both, frontend //and// backend.<br />
<br />
<br />
=== "Personal data" Module ===<br />
<br />
{{note|As of TYPOlight 2.5.0 it is no longer required to edit the file ModulePersonalData.php; the hook is now included in the core file. However you still need to select the template ''member_grouped_helpdesk'' up to 2.5.9. Since TYPOlight 2.6.0 you also no longer need ''member_grouped_helpdesk'' because all necessary changes got included in ''member_grouped''.}}<br />
<br />
<br />
You may want to give your frontend members the option to subscribe themself for email noification with the ''Personal data'' module. This will work right out of the box when you are using the template ''member_default''.<br />
<br />
However when using the template ''member_grouped'' you won't see the Forum/Helpdesk settings with the TYPOlight releases before 2.5.0. There is a workaround to use the grouped member display right now, which requires a small hack:<br />
<br />
Edit the file /system/modules/frontend/ModulePersonalData.php and find this code:<br />
<br />
<source lang="php">// HOOK: add newsletter fields<br />
if (in_array('newsletter', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->newsletter = $arrFields['newsletter'];<br />
$this->Template->newsletterDetails = $GLOBALS['TL_LANG']['tl_member']['newsletterDetails'];<br />
}</source><br />
<br />
Now add the following code immediately below:<br />
<br />
<source lang="php">// HOOK: add helpdesk fields<br />
if (in_array('helpdesk', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->helpdesk = $arrFields['helpdesk'];<br />
$this->Template->helpdeskDetails = $GLOBALS['TL_LANG']['tl_member']['helpdeskDetails'];<br />
}</source><br />
<br />
Finally, go to the ''Personal data'' module and select the template ''member_grouped_helpdesk''.<br />
<br />
The layout may look somewhat messy by default, here is a suggestion to add to your CSS of the respective page:<br />
<br />
<source lang="css"><br />
.mod_personalData .checkbox_container span<br />
{<br />
display:block;<br />
white-space:nowrap;<br />
}<br />
<br />
.mod_personalData .checkbox_container span *<br />
{<br />
vertical-align:middle;<br />
}<br />
</source><br />
<br />
=== Enabling RSS Feeds ===<br />
<br />
To enable RSS feeds you need to:<br />
<br />
*Make settings in each category that you want feeds for<br />
*Make global settings in the Contao settings<br />
*Add a rewrite rule to your .htaccess file<br />
*Optional: Add a link to the page header in case you want to display a feed icon in the browsers address field<br />
<br />
=== Category Settings ===<br />
<br />
In the category settings you need to enter the url of the page holding this category, plus check that RSS feeds are enabled. Repeat this for all categories where you want to have RSS feeds for:<br />
<br />
[[File:Extensions-helpdesk-Hd100.jpg|Category Settings]]<br />
<br />
=== Contao settings ===<br />
<br />
In the Contao settings enable the forum/helpdesk feeds, and then make settings for the maximum number of messages to display, the base name of the xml file (same as in the .htaccess below), the title and description of the feed. Please note that this title and description only comes into play for feeds of multiple categories, for single category feeds the title and description of the category is used:<br />
<br />
[[File:Extensions-helpdesk-Hd101.jpg|Contao Settings]]<br />
<br />
=== .htaccess Modification ===<br />
<br />
Add a rewrite rule such as below to your .htaccess file. Replace ''helpdesk'' by the term you defined as base name in the Contao settings:<br />
<br />
<source lang="php">>RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</source><br />
<br />
A typical complete .htaccess for TYPOlight 2.6.0 might be:<br />
<br />
<source lang="php"><br />
# Enable mod_rewrite<br />
RewriteEngine On<br />
RewriteBase /<br />
<br />
# Block any URI protocol in the query string<br />
RewriteCond %{QUERY_STRING} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Block any URI protocol in the request<br />
RewriteCond %{REQUEST_URI} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Rewrite TYPOlight URLs<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule .*\.html$ index.php [L]<br />
<br />
# Dynamic RSS feeds for forum/helpdesk <br />
RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</source><br />
<br />
=== Add RSS icon link to page layout ===<br />
<br />
This is optional but very convenient for your users. In case you not yet have a distinct page layout for the forum/helpdesk, make a copy of the default page layout. Edit the layout and enter the following link to the ''Additional head tags input:<br />
<br />
<source lang="php"><link rel="alternate" type="application/rss+xml" title="RSS" href="http://www.example.com/helpdesk0.xml" /></source><br />
<br />
Replace %%www.example.com%% by your site's url. The 0 tells to provide a feed over all categories the user has read access to. If you want to make a feed over the categories 4, 5 and 7 instead, the link would be helpdesk4,5,7.xml<br />
<br />
=== Email Import and Notification ===<br />
<br />
==== Email Settings ====<br />
<br />
To send out notifications and import email a batch program must run on a regular base. You need to install the [[extensions:cron|cron utility]] for this purpose. Below you find suggested settings for the two Forum/Helpdesk jobs. Use a time schedule that matches your needs; the samples below will execute once every minute.<br />
<br />
[[File:Extensions-helpdesk-Hd024.jpg|CRON Scheduler]]<br /><br />
<br />
[[File:Extensions-helpdesk-Hd025.jpg|Import Job Settings]]<br /><br />
<br />
[[File:Extensions-helpdesk-Hd026.jpg|Notification Job Settings]]<br />
<br />
==== Troubleshooting E-Mail Issues ====<br />
<br />
*Check if your servers are properly configured to send out mails by creating a test-newsletter and sending it to one of your mail accounts. Send it to another server than the one used for sending out the mail to make sure the mail is not getting caught in some spamfilters or lost in any black hole.<br />
*Using PHP Mail may work on well configured servers (which is not selve-evident these days, cheepo hosters are greeting). Use SMTP in case, that will work 100%.<br />
*A common mistake is to use a different domain in the notification sender address than in the mail account in the system settings. For example when your SMTP account in the system settings is <nowiki>admin@example.com</nowiki>, a notification sender address such as <nowiki>forum@banana.net</nowiki> is likely to fail because that would be "relaying" which is forbidden in well configured mail servers. Of cause there are exceptions from this rule, for example when the mail server is configured to handle both of those domains. Leave the notification sender address empty until notification works in case.<br />
*Switch the helpdesk logging to <nowiki>"debug"</nowiki> in the Contao system settings. You will find the log files at <nowiki>/system/logs/Helpdesk*.log</nowiki>. In case no log file gets created during the batch run, your directory permissions of /system/logs does not allow write access for the web server. In that case you can manually create the two files /system/logs/HelpdeskImport.log and /system/logs/HelpdeskNotify.log and give them read/write permissions for the web server (for example as chmod of 666).<br />
*For debugging it is time-consuming to always have to wait for the scheduler to run. You can disable the scheduler jobs and manually trigger the batch by calling these url's (replace <nowiki>%%www.example.com%%</nowiki> by your own url of cause): <br />
<source lang="php">%%http://www.example.com/system/modules/helpdesk/HelpdeskNotifyExec.php%%<br />
%%http://www.example.com/system/modules/helpdesk/HelpdeskImportExec.php%%</source><br />
You will most likely just see a blank page when executing, but then check the log files after execution to see the results.<br />
<br />
=== Manual upgrade from a previous version ===<br />
<br />
{{Caution|It is recommended to make backups of your files and your database before starting any upgrade.}}<br />
<br />
You can upgrade directly from any previous release, it is '''not''' necessary to install every version that was released between your old and new version of the application.<br />
<br />
It is optional to delete the files of the old version before installing a new release; you can choose to just overwrite the old files. However there might be obsolete files which will stay in your installation that way. So for a clean update I recommend to manually delete these files and folders in advance:<br />
<br />
*system/drivers/DC_HelpdeskTable.php<br />
*system/modules/helpdesk<br />
<br />
{{Caution|Do '''NOT''' delete the mysql tables and settings of the helpdesk application after removing the old files, neither with phpmyadmin nor by using the Contao install tool. Otherwise you will loose all your data and settings.}}<br />
<br />
Next the procedure is basicly the same as with a new installation from scratch:<br />
<br />
*Download the install package.<br />
*Unzip/upload to your Contao base directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki> <br />
*Enter the installation password and click ''Login''<br />
*Scroll down to ''Update database tables'' <br />
*If any drops of obsolete table columns are due, they are by default unchecked. It is safe to check them now in order to have clean database. <br />
*Click on ''Update database'' to have the necessary database updates applied.<br />
<br />
{{note|After upgrading, you should read the change log to see what has changed and might need your attention.}}<br />
<br />
=== Optimizing full text search ===<br />
<br />
Full text search of mysql will by default not find any words shorter than 4 characters, or in the stopword list. <br />
<br />
To improve search I recommend to lower the minimum word length to 2, or even down to 1. In case your site is not english only, you might also want to disable the default stopword list (or apply [[http://members.unine.ch/jacques.savoy/clef/index.html]]).<br />
<br />
'''Brief procedure:''<br />
* Edit the mysql configuration file<br />
* Restart the mysql server<br />
* Drop the fulltext indexes<br />
* Recreate the fulltext indexes<br />
<br />
<br />
'''More detailed description (debian example):'''<br />
<br />
Edit /etc/mysql/my.cnf\\<br />
Within the section <nowiki>**[mysqld]**</nowiki> edit or add the following lines:<br />
<br />
<source lang="php">#<br />
# Fulltext config<br />
#<br />
ft_min_word_len = 2<br />
ft_stopword_file = ""</source><br />
<br />
Restart mysql:<br />
<br />
/etc/init.d/mysql restart<br />
<br />
Check system vars in phpMyAdmin to make sure it worked:<br />
<br />
[[File:Extensions-helpdesk-Myvars1.png]]<br /><br /><br />
[[File:Extensions-helpdesk-Myvars2.png]]<br />
<br />
Drop the fulltext indexes from the tables tl_search, tl_helpdesk_tickets and tl_helpdesk_messages. Check also the tables of other installed extensions for fulltext indexes, and drop them as well:<br />
<br />
[[File:Extensions-helpdesk-Dropft3.png]]<br /><br /><br />
[[File:Extensions-helpdesk-Dropft1.png]]<br /><br /><br />
[[File:Extensions-helpdesk-Dropft2.png]]<br />
<br />
Use the contao installation or extension manager to recreate the indexes based on the new settings:<br />
<br />
[[File:Extensions-helpdesk-Makeft.png]]<br />
<br />
== Getting started ==<br />
<br />
Well this section is currently very brief. Only a few screenschots so far, but I guess you will figure out usage yourself with some Contao experience. <br />
<br />
=== Create a new category ===<br />
<br />
[[File:Extensions-helpdesk-Hd110.png|Category overview]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd113.png|Category editor]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd114.png|Category editor]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd115.png|Category editor]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd116.png|Category editor]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd117.png|Category editor]]<br />
<br />
=== Create a title module for the frontend ===<br />
<br />
Basicly a title module is not required, however it helps you structure your forums and helpdesks when you want to group the categories into blocks.<br />
<br />
[[File:Extensions-helpdesk-Hd118.png|Goto modules]]<br /><br />
[[File:Extensions-helpdesk-Hd119.png|Add a module]]<br /><br />
[[File:Extensions-helpdesk-Hd120.png|Title module settings]]<br /><br />
[[File:Extensions-helpdesk-Hd121.png|Title module settings]]<br />
<br />
=== Create block modules for the frontend ===<br />
<br />
A forum/helpdesk block module displays a selection of categories in a block on the frontend. So the minimum to get started on frontend is one module of this type. In case you want to structure your categories you will make several of these modules:<br />
<br />
[[File:Extensions-helpdesk-Hdblock.png|Block module settings]]</div>Lucinahttps://en.contaowiki.org/HelpdeskHelpdesk2012-02-22T07:54:36Z<p>Lucina: /* Manual upgrade from a previous version */</p>
<hr />
<div>{{stub}}<br />
[[de:Helpdesk]]<br />
[[Category:Extensions]]<br />
= Forum and Helpdesk =<br />
{{Note|Parts of this documentation were created by Peter Koch / IBK Software AG. Peter Koch has licensed this content for use on contoawiki.org. Content in this page must not be copied, reproduced, republished, uploaded, posted, transmitted, distributed, or used for the creation of derivative works without IBK's prior written consent.}}<br />
{{Hint|http://web.archive.org/web/20101121033235/http://contifex.com/wiki/extensions:helpdesk}}<br />
{{Note|feel free to bring the content from the page above to our contaowiki!}} <br />
<br />
== Features ==<br />
[[File:Extensions-helpdesk-Hd130.png]]<br />
* Native Contao application; fully integrated into Contao user/member system.<br />
* Can be used as forum, as helpdesk ticketing system, or both at same time.<br />
* Both, frontend members and backend users, can be members/clients or moderators/supporters.<br />
* Multiple frontend modules with selected categories are possible; to be displayed on one or several pages, or embedded within articles.<br />
* Backend modules for configuration and forum participation.<br />
* Comprehensive and fast BBCode engine including tables, lists, several box types, syntax highlighting and more.<br />
* Popup windows for BBCode help and editor preview.<br />
* Email notification to subscribing users.<br />
* Email import to create new topics/tickets, as well as to reply to notifications.<br />
* Fully customizable layout and appearence by templates and themes.<br />
* Powerful search engine.<br />
* RSS feeds for any selection of categories.<br />
* Convenient moderator functions including cut/paste operations to move messages and topics<br />
<br />
== Abstract ==<br />
<br />
Contao Forum/Helpdesk is a message board (forum) application designed to be as well used as a helpdesk ticketing system, for example to provide formal and informal support to customers or clients. The terminology and functions of the forum categories is slightly different than the support ticketing categories, but when you know the mapping you will immediately be familiar with the application:<br />
<br />
{| border="0" cellspacing="1" cellpadding="2"<br />
! !! '''Forum''' !! '''Helpdesk'''<br />
|-<br />
| Category types (1) || Restricted or public || Private, shared or public <br />
|-<br />
| Thread naming (2) || Topics || Tickets<br />
|-<br />
| Frontend users (3) || Members || Clients<br />
|-<br />
| Backend users (4) || Moderators || Supporters<br />
|-<br />
| colspan="2" |<br />
|}<br />
<br />
== Categories ==<br />
<br />
<br />
*[[File:Extensions-helpdesk-Category416.png]] '''Public Forum''': Everybody can read the forum, even non-logged in users. Only authorized members can however open topics or reply.<br />
*[[File:Extensions-helpdesk-Category316.png]] '''Restricted Forum''': The forum is visible only for authorized members.<br />
*[[File:Extensions-helpdesk-Category216.png]] '''Public Support''': Everybody can see all tickets, even non-logged in users. Only authorized clients can however open tickets or reply.<br />
*[[File:Extensions-helpdesk-Category116.png]] '''Shared Support''': All authorized clients can see and reply each others tickets, however only the owner has priviledge to close or delete his tickets. Create such a category for example for each company with a SLA((Service level agreement)) where multiple staff members shall have access to the tickets.<br />
*[[File:Extensions-helpdesk-Category016.png]] '''Private Support''': Only the ticket owner can see his tickets, but nobody else (admins and supporters authorized for the category can of course also see and reply to the tickets). Used for example for formal support of individuals.<br />
<br />
=== Topic vs. ticket status ===<br />
<br />
==== Topic status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0116.png]] '''Pinned up:''' Open topic that is listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1116.png]] '''Normal:''' A normal open topic. <br />
*[[File:Extensions-helpdesk-Ticket2116.png]] '''Closed:''' No further edits or replies are possible, listed at the end. <br />
<br />
==== Ticket status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0016.png]] '''Unanswered:''' The ticked is open and the latest post is from a client. Listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1016.png]] '''Answered:''' The ticket is open and the latest post is from a supporter. <br />
*[[File:Extensions-helpdesk-Ticket2016.png]] '''Closed:''' Issue solved. No further edits or replies are possible, the owner may reopen it however in case. Listed at the end. <br />
<br />
=== Members and Clients ===<br />
<br />
Forum members and support clients are either "frontend members" or "backend users" in terms of TYPOlight, and belong to a member/user group authorized for the respective category. The client opening a ticket has special "owner" rights in the support type categories: He has authorization to close or delete (5) his tickets.<br />
<br />
=== Admin, Moderators and Supporters ===<br />
<br />
Moderators and supporters are either Contao backend users or frontend members, and belong to a user group authorized as moderator/supporter for the respective category. They have special rights to see unpublished, to pinup, edit, unpublish or delete any topic, ticket or message.<br />
<br />
Contao admins are special backend users and appear as moderator or supporter, he/she is automaticly authorized for all categories. Additionally the admins have authorization to administrative operations, e.g. create or delete categories or change category settings. Also admins are the only ones who can see unpublished categories.<br />
<br />
=== Deletion levels ===<br />
<br />
Tickets and messages are not permanently deleted, but only unpublished from frontend when a ticket owner or member/client "deletes" them. They are still available for moderators and supporters however, mainly to serve as a knowledge resource. Tickets and messages can be permanently deleted only by admins, moderators and supporters.<br />
<br />
== Installation and Setup ==<br />
<br />
=== Requirements ===<br />
<br />
*PHP from version 5.2.0<br />
*Other requirements like [http://www.contao.org/system-requirements.html]<br />
<br />
=== Manual Installation ===<br />
<br />
*Install these required extensions in advance: [[extensions:avatar]], [[extensions:cron]], [http://www.contao.org/extension-list/view/geshi.en.html]<br />
*Download the install package from [http://www.contao.org/extension-list/view/helpdesk.en.html].<br />
*Unzip the content of TL_ROOT to the Contao base directory on your webserver.<br />
*Unzip the content of TL_FILES to the tl_files directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/contao/install.php</nowiki><br />
*Enter the installation password and click '''Login'''<br />
*Scroll down to '''Update database tables''' and click on '''Update database'''<br />
<br />
=== Site structure settings ===<br />
<br />
The page where the forum/helpdesk is located should have caching disabled, e.g:<br />
<br />
[[File:Extensions-helpdesk-Hd200.png |Cache Settings]]<br />
<br />
=== Page layout adjustment ===<br />
<br />
The module will also work without this, however it will look poor in the frontend.<br />
<br />
Go to '''Page layouts''' and change the layout for the pages that will display the forum/helpdesk. This might be a special layout you make for the forum/helpdesk pages, or the '''Default layout'''.<br />
<br />
Scroll down to '''Additional <nowiki>‹head›</nowiki> tags''' and append the following lines to whatever might allready be in there:<br />
<br />
<source lang="php"><br />
<link rel="stylesheet" <br />
href="system/modules/helpdesk/themes/default/frontend.css" <br />
type="text/css" <br />
media="screen,projection,print" /><br />
<!--[if lte IE 6]><br />
<style type="text/css"><br />
.pngfix { behavior:url("system/modules/helpdesk/themes/default/pngfix.htc") }<br />
</style><br />
<![endif]--><br />
</source><br />
<br />
== Custom themes and templates ==<br />
<br />
=== Backend themes ===<br />
<br />
To create the theme ''mysite'' you would first of cause create a new Contao backend theme folder /system/themes/mysite and activate it in in the ''Settings''. <br />
<br />
Then likewise you would create a folder system/modules/helpdesk/themes/mysite, copy the CSS files from the adjaccent ''default'' folder and make your adjustments to them. Please note that because of the automatic fallback it is '''not''' necessary to copy all the images from the ''default'' theme. In case you want your own icons, just create a subfolder ''images'' and put them in there; any icons not found there will be taken from the ''default'' theme.<br />
<br />
=== Frontend themes ===<br />
<br />
Copy the CSS files from system/modules/helpdesk/themes/default to your custom frontend theme folder and make the desired adjustments. Don't forget to adjust the ''Page layout'' as explained before to use your custom stylesheet instead of the default one.<br />
<br />
You may want to replace some or all of the default forum/helpdesk icons too. Just put your custom icons into an ''images'' folder below your custom theme. Then enter the path of your images folder in the helpdesk settings. Again there is a fallback built in, so any icon not found in your custom images folder will be taken from the ''default'' backend theme.<br />
<br />
Instead of PNG you may use GIF icons. In case both, a GIF ''and'' a PNG icon is found, the PNG has precedence.<br />
<br />
=== Templates ===<br />
<br />
In case you need to customize the default templates, just copy the files of interest from /system/modules/helpdesk/templates to /templates and make your adjustments. <br />
<br />
Please note that the template files are used for both, frontend //and// backend.<br />
<br />
<br />
=== "Personal data" Module ===<br />
<br />
{{note|As of TYPOlight 2.5.0 it is no longer required to edit the file ModulePersonalData.php; the hook is now included in the core file. However you still need to select the template ''member_grouped_helpdesk'' up to 2.5.9. Since TYPOlight 2.6.0 you also no longer need ''member_grouped_helpdesk'' because all necessary changes got included in ''member_grouped''.}}<br />
<br />
<br />
You may want to give your frontend members the option to subscribe themself for email noification with the ''Personal data'' module. This will work right out of the box when you are using the template ''member_default''.<br />
<br />
However when using the template ''member_grouped'' you won't see the Forum/Helpdesk settings with the TYPOlight releases before 2.5.0. There is a workaround to use the grouped member display right now, which requires a small hack:<br />
<br />
Edit the file /system/modules/frontend/ModulePersonalData.php and find this code:<br />
<br />
<source lang="php">// HOOK: add newsletter fields<br />
if (in_array('newsletter', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->newsletter = $arrFields['newsletter'];<br />
$this->Template->newsletterDetails = $GLOBALS['TL_LANG']['tl_member']['newsletterDetails'];<br />
}</source><br />
<br />
Now add the following code immediately below:<br />
<br />
<source lang="php">// HOOK: add helpdesk fields<br />
if (in_array('helpdesk', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->helpdesk = $arrFields['helpdesk'];<br />
$this->Template->helpdeskDetails = $GLOBALS['TL_LANG']['tl_member']['helpdeskDetails'];<br />
}</source><br />
<br />
Finally, go to the ''Personal data'' module and select the template ''member_grouped_helpdesk''.<br />
<br />
The layout may look somewhat messy by default, here is a suggestion to add to your CSS of the respective page:<br />
<br />
<source lang="css"><br />
.mod_personalData .checkbox_container span<br />
{<br />
display:block;<br />
white-space:nowrap;<br />
}<br />
<br />
.mod_personalData .checkbox_container span *<br />
{<br />
vertical-align:middle;<br />
}<br />
</source><br />
<br />
=== Enabling RSS Feeds ===<br />
<br />
To enable RSS feeds you need to:<br />
<br />
*Make settings in each category that you want feeds for<br />
*Make global settings in the Contao settings<br />
*Add a rewrite rule to your .htaccess file<br />
*Optional: Add a link to the page header in case you want to display a feed icon in the browsers address field<br />
<br />
=== Category Settings ===<br />
<br />
In the category settings you need to enter the url of the page holding this category, plus check that RSS feeds are enabled. Repeat this for all categories where you want to have RSS feeds for:<br />
<br />
[[File:Extensions-helpdesk-Hd100.jpg|Category Settings]]<br />
<br />
=== Contao settings ===<br />
<br />
In the Contao settings enable the forum/helpdesk feeds, and then make settings for the maximum number of messages to display, the base name of the xml file (same as in the .htaccess below), the title and description of the feed. Please note that this title and description only comes into play for feeds of multiple categories, for single category feeds the title and description of the category is used:<br />
<br />
[[File:Extensions-helpdesk-Hd101.jpg|Contao Settings]]<br />
<br />
=== .htaccess Modification ===<br />
<br />
Add a rewrite rule such as below to your .htaccess file. Replace ''helpdesk'' by the term you defined as base name in the Contao settings:<br />
<br />
<source lang="php">>RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</source><br />
<br />
A typical complete .htaccess for TYPOlight 2.6.0 might be:<br />
<br />
<source lang="php"><br />
# Enable mod_rewrite<br />
RewriteEngine On<br />
RewriteBase /<br />
<br />
# Block any URI protocol in the query string<br />
RewriteCond %{QUERY_STRING} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Block any URI protocol in the request<br />
RewriteCond %{REQUEST_URI} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Rewrite TYPOlight URLs<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule .*\.html$ index.php [L]<br />
<br />
# Dynamic RSS feeds for forum/helpdesk <br />
RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</source><br />
<br />
=== Add RSS icon link to page layout ===<br />
<br />
This is optional but very convenient for your users. In case you not yet have a distinct page layout for the forum/helpdesk, make a copy of the default page layout. Edit the layout and enter the following link to the ''Additional head tags input:<br />
<br />
<source lang="php"><link rel="alternate" type="application/rss+xml" title="RSS" href="http://www.example.com/helpdesk0.xml" /></source><br />
<br />
Replace %%www.example.com%% by your site's url. The 0 tells to provide a feed over all categories the user has read access to. If you want to make a feed over the categories 4, 5 and 7 instead, the link would be helpdesk4,5,7.xml<br />
<br />
=== Email Import and Notification ===<br />
<br />
==== Email Settings ====<br />
<br />
To send out notifications and import email a batch program must run on a regular base. You need to install the [[extensions:cron|cron utility]] for this purpose. Below you find suggested settings for the two Forum/Helpdesk jobs. Use a time schedule that matches your needs; the samples below will execute once every minute.<br />
<br />
[[File:Extensions-helpdesk-Hd024.jpg|CRON Scheduler]]<br /><br />
<br />
[[File:Extensions-helpdesk-Hd025.jpg|Import Job Settings]]<br /><br />
<br />
[[File:Extensions-helpdesk-Hd026.jpg|Notification Job Settings]]<br />
<br />
==== Troubleshooting E-Mail Issues ====<br />
<br />
*Check if your servers are properly configured to send out mails by creating a test-newsletter and sending it to one of your mail accounts. Send it to another server than the one used for sending out the mail to make sure the mail is not getting caught in some spamfilters or lost in any black hole.<br />
*Using PHP Mail may work on well configured servers (which is not selve-evident these days, cheepo hosters are greeting). Use SMTP in case, that will work 100%.<br />
*A common mistake is to use a different domain in the notification sender address than in the mail account in the system settings. For example when your SMTP account in the system settings is <nowiki>admin@example.com</nowiki>, a notification sender address such as <nowiki>forum@banana.net</nowiki> is likely to fail because that would be "relaying" which is forbidden in well configured mail servers. Of cause there are exceptions from this rule, for example when the mail server is configured to handle both of those domains. Leave the notification sender address empty until notification works in case.<br />
*Switch the helpdesk logging to <nowiki>"debug"</nowiki> in the Contao system settings. You will find the log files at <nowiki>/system/logs/Helpdesk*.log</nowiki>. In case no log file gets created during the batch run, your directory permissions of /system/logs does not allow write access for the web server. In that case you can manually create the two files /system/logs/HelpdeskImport.log and /system/logs/HelpdeskNotify.log and give them read/write permissions for the web server (for example as chmod of 666).<br />
*For debugging it is time-consuming to always have to wait for the scheduler to run. You can disable the scheduler jobs and manually trigger the batch by calling these url's (replace <nowiki>%%www.example.com%%</nowiki> by your own url of cause): <br />
<source lang="php">%%http://www.example.com/system/modules/helpdesk/HelpdeskNotifyExec.php%%<br />
%%http://www.example.com/system/modules/helpdesk/HelpdeskImportExec.php%%</source><br />
You will most likely just see a blank page when executing, but then check the log files after execution to see the results.<br />
<br />
=== Manual upgrade from a previous version ===<br />
<br />
{{Caution|It is recommended to make backups of your files and your database before starting any upgrade.}}<br />
<br />
You can upgrade directly from any previous release, it is '''not''' necessary to install every version that was released between your old and new version of the application.<br />
<br />
It is optional to delete the files of the old version before installing a new release; you can choose to just overwrite the old files. However there might be obsolete files which will stay in your installation that way. So for a clean update I recommend to manually delete these files and folders in advance:<br />
<br />
*system/drivers/DC_HelpdeskTable.php<br />
*system/modules/helpdesk<br />
<br />
{{Caution|Do '''NOT''' delete the mysql tables and settings of the helpdesk application after removing the old files, neither with phpmyadmin nor by using the Contao install tool. Otherwise you will loose all your data and settings.}}<br />
<br />
Next the procedure is basicly the same as with a new installation from scratch:<br />
<br />
*Download the install package.<br />
*Unzip/upload to your Contaot base directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki> <br />
*Enter the installation password and click ''Login''<br />
*Scroll down to ''Update database tables'' <br />
*If any drops of obsolete table columns are due, they are by default unchecked. It is safe to check them now in order to have clean database. <br />
*Click on ''Update database'' to have the necessary database updates applied.<br />
<br />
{{note|After upgrading, you should read the change log to see what has changed and might need your attention.}}<br />
<br />
=== Optimizing full text search ===<br />
<br />
Full text search of mysql will by default not find any words shorter than 4 characters, or in the stopword list. <br />
<br />
To improve search I recommend to lower the minimum word length to 2, or even down to 1. In case your site is not english only, you might also want to disable the default stopword list (or apply [[http://members.unine.ch/jacques.savoy/clef/index.html]]).<br />
<br />
'''Brief procedure:''<br />
* Edit the mysql configuration file<br />
* Restart the mysql server<br />
* Drop the fulltext indexes<br />
* Recreate the fulltext indexes<br />
<br />
<br />
'''More detailed description (debian example):'''<br />
<br />
Edit /etc/mysql/my.cnf\\<br />
Within the section <nowiki>**[mysqld]**</nowiki> edit or add the following lines:<br />
<br />
<source lang="php">#<br />
# Fulltext config<br />
#<br />
ft_min_word_len = 2<br />
ft_stopword_file = ""</source><br />
<br />
Restart mysql:<br />
<br />
/etc/init.d/mysql restart<br />
<br />
Check system vars in phpMyAdmin to make sure it worked:<br />
<br />
[[File:Extensions-helpdesk-Myvars1.png]]<br /><br /><br />
[[File:Extensions-helpdesk-Myvars2.png]]<br />
<br />
Drop the fulltext indexes from the tables tl_search, tl_helpdesk_tickets and tl_helpdesk_messages. Check also the tables of other installed extensions for fulltext indexes, and drop them as well:<br />
<br />
[[File:Extensions-helpdesk-Dropft3.png]]<br /><br /><br />
[[File:Extensions-helpdesk-Dropft1.png]]<br /><br /><br />
[[File:Extensions-helpdesk-Dropft2.png]]<br />
<br />
Use the contao installation or extension manager to recreate the indexes based on the new settings:<br />
<br />
[[File:Extensions-helpdesk-Makeft.png]]<br />
<br />
== Getting started ==<br />
<br />
Well this section is currently very brief. Only a few screenschots so far, but I guess you will figure out usage yourself with some Contao experience. <br />
<br />
=== Create a new category ===<br />
<br />
[[File:Extensions-helpdesk-Hd110.png|Category overview]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd113.png|Category editor]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd114.png|Category editor]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd115.png|Category editor]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd116.png|Category editor]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd117.png|Category editor]]<br />
<br />
=== Create a title module for the frontend ===<br />
<br />
Basicly a title module is not required, however it helps you structure your forums and helpdesks when you want to group the categories into blocks.<br />
<br />
[[File:Extensions-helpdesk-Hd118.png|Goto modules]]<br /><br />
[[File:Extensions-helpdesk-Hd119.png|Add a module]]<br /><br />
[[File:Extensions-helpdesk-Hd120.png|Title module settings]]<br /><br />
[[File:Extensions-helpdesk-Hd121.png|Title module settings]]<br />
<br />
=== Create block modules for the frontend ===<br />
<br />
A forum/helpdesk block module displays a selection of categories in a block on the frontend. So the minimum to get started on frontend is one module of this type. In case you want to structure your categories you will make several of these modules:<br />
<br />
[[File:Extensions-helpdesk-Hdblock.png|Block module settings]]</div>Lucinahttps://en.contaowiki.org/HelpdeskHelpdesk2012-02-22T07:53:26Z<p>Lucina: /* Troubleshooting E-Mail Issues */</p>
<hr />
<div>{{stub}}<br />
[[de:Helpdesk]]<br />
[[Category:Extensions]]<br />
= Forum and Helpdesk =<br />
{{Note|Parts of this documentation were created by Peter Koch / IBK Software AG. Peter Koch has licensed this content for use on contoawiki.org. Content in this page must not be copied, reproduced, republished, uploaded, posted, transmitted, distributed, or used for the creation of derivative works without IBK's prior written consent.}}<br />
{{Hint|http://web.archive.org/web/20101121033235/http://contifex.com/wiki/extensions:helpdesk}}<br />
{{Note|feel free to bring the content from the page above to our contaowiki!}} <br />
<br />
== Features ==<br />
[[File:Extensions-helpdesk-Hd130.png]]<br />
* Native Contao application; fully integrated into Contao user/member system.<br />
* Can be used as forum, as helpdesk ticketing system, or both at same time.<br />
* Both, frontend members and backend users, can be members/clients or moderators/supporters.<br />
* Multiple frontend modules with selected categories are possible; to be displayed on one or several pages, or embedded within articles.<br />
* Backend modules for configuration and forum participation.<br />
* Comprehensive and fast BBCode engine including tables, lists, several box types, syntax highlighting and more.<br />
* Popup windows for BBCode help and editor preview.<br />
* Email notification to subscribing users.<br />
* Email import to create new topics/tickets, as well as to reply to notifications.<br />
* Fully customizable layout and appearence by templates and themes.<br />
* Powerful search engine.<br />
* RSS feeds for any selection of categories.<br />
* Convenient moderator functions including cut/paste operations to move messages and topics<br />
<br />
== Abstract ==<br />
<br />
Contao Forum/Helpdesk is a message board (forum) application designed to be as well used as a helpdesk ticketing system, for example to provide formal and informal support to customers or clients. The terminology and functions of the forum categories is slightly different than the support ticketing categories, but when you know the mapping you will immediately be familiar with the application:<br />
<br />
{| border="0" cellspacing="1" cellpadding="2"<br />
! !! '''Forum''' !! '''Helpdesk'''<br />
|-<br />
| Category types (1) || Restricted or public || Private, shared or public <br />
|-<br />
| Thread naming (2) || Topics || Tickets<br />
|-<br />
| Frontend users (3) || Members || Clients<br />
|-<br />
| Backend users (4) || Moderators || Supporters<br />
|-<br />
| colspan="2" |<br />
|}<br />
<br />
== Categories ==<br />
<br />
<br />
*[[File:Extensions-helpdesk-Category416.png]] '''Public Forum''': Everybody can read the forum, even non-logged in users. Only authorized members can however open topics or reply.<br />
*[[File:Extensions-helpdesk-Category316.png]] '''Restricted Forum''': The forum is visible only for authorized members.<br />
*[[File:Extensions-helpdesk-Category216.png]] '''Public Support''': Everybody can see all tickets, even non-logged in users. Only authorized clients can however open tickets or reply.<br />
*[[File:Extensions-helpdesk-Category116.png]] '''Shared Support''': All authorized clients can see and reply each others tickets, however only the owner has priviledge to close or delete his tickets. Create such a category for example for each company with a SLA((Service level agreement)) where multiple staff members shall have access to the tickets.<br />
*[[File:Extensions-helpdesk-Category016.png]] '''Private Support''': Only the ticket owner can see his tickets, but nobody else (admins and supporters authorized for the category can of course also see and reply to the tickets). Used for example for formal support of individuals.<br />
<br />
=== Topic vs. ticket status ===<br />
<br />
==== Topic status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0116.png]] '''Pinned up:''' Open topic that is listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1116.png]] '''Normal:''' A normal open topic. <br />
*[[File:Extensions-helpdesk-Ticket2116.png]] '''Closed:''' No further edits or replies are possible, listed at the end. <br />
<br />
==== Ticket status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0016.png]] '''Unanswered:''' The ticked is open and the latest post is from a client. Listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1016.png]] '''Answered:''' The ticket is open and the latest post is from a supporter. <br />
*[[File:Extensions-helpdesk-Ticket2016.png]] '''Closed:''' Issue solved. No further edits or replies are possible, the owner may reopen it however in case. Listed at the end. <br />
<br />
=== Members and Clients ===<br />
<br />
Forum members and support clients are either "frontend members" or "backend users" in terms of TYPOlight, and belong to a member/user group authorized for the respective category. The client opening a ticket has special "owner" rights in the support type categories: He has authorization to close or delete (5) his tickets.<br />
<br />
=== Admin, Moderators and Supporters ===<br />
<br />
Moderators and supporters are either Contao backend users or frontend members, and belong to a user group authorized as moderator/supporter for the respective category. They have special rights to see unpublished, to pinup, edit, unpublish or delete any topic, ticket or message.<br />
<br />
Contao admins are special backend users and appear as moderator or supporter, he/she is automaticly authorized for all categories. Additionally the admins have authorization to administrative operations, e.g. create or delete categories or change category settings. Also admins are the only ones who can see unpublished categories.<br />
<br />
=== Deletion levels ===<br />
<br />
Tickets and messages are not permanently deleted, but only unpublished from frontend when a ticket owner or member/client "deletes" them. They are still available for moderators and supporters however, mainly to serve as a knowledge resource. Tickets and messages can be permanently deleted only by admins, moderators and supporters.<br />
<br />
== Installation and Setup ==<br />
<br />
=== Requirements ===<br />
<br />
*PHP from version 5.2.0<br />
*Other requirements like [http://www.contao.org/system-requirements.html]<br />
<br />
=== Manual Installation ===<br />
<br />
*Install these required extensions in advance: [[extensions:avatar]], [[extensions:cron]], [http://www.contao.org/extension-list/view/geshi.en.html]<br />
*Download the install package from [http://www.contao.org/extension-list/view/helpdesk.en.html].<br />
*Unzip the content of TL_ROOT to the Contao base directory on your webserver.<br />
*Unzip the content of TL_FILES to the tl_files directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/contao/install.php</nowiki><br />
*Enter the installation password and click '''Login'''<br />
*Scroll down to '''Update database tables''' and click on '''Update database'''<br />
<br />
=== Site structure settings ===<br />
<br />
The page where the forum/helpdesk is located should have caching disabled, e.g:<br />
<br />
[[File:Extensions-helpdesk-Hd200.png |Cache Settings]]<br />
<br />
=== Page layout adjustment ===<br />
<br />
The module will also work without this, however it will look poor in the frontend.<br />
<br />
Go to '''Page layouts''' and change the layout for the pages that will display the forum/helpdesk. This might be a special layout you make for the forum/helpdesk pages, or the '''Default layout'''.<br />
<br />
Scroll down to '''Additional <nowiki>‹head›</nowiki> tags''' and append the following lines to whatever might allready be in there:<br />
<br />
<source lang="php"><br />
<link rel="stylesheet" <br />
href="system/modules/helpdesk/themes/default/frontend.css" <br />
type="text/css" <br />
media="screen,projection,print" /><br />
<!--[if lte IE 6]><br />
<style type="text/css"><br />
.pngfix { behavior:url("system/modules/helpdesk/themes/default/pngfix.htc") }<br />
</style><br />
<![endif]--><br />
</source><br />
<br />
== Custom themes and templates ==<br />
<br />
=== Backend themes ===<br />
<br />
To create the theme ''mysite'' you would first of cause create a new Contao backend theme folder /system/themes/mysite and activate it in in the ''Settings''. <br />
<br />
Then likewise you would create a folder system/modules/helpdesk/themes/mysite, copy the CSS files from the adjaccent ''default'' folder and make your adjustments to them. Please note that because of the automatic fallback it is '''not''' necessary to copy all the images from the ''default'' theme. In case you want your own icons, just create a subfolder ''images'' and put them in there; any icons not found there will be taken from the ''default'' theme.<br />
<br />
=== Frontend themes ===<br />
<br />
Copy the CSS files from system/modules/helpdesk/themes/default to your custom frontend theme folder and make the desired adjustments. Don't forget to adjust the ''Page layout'' as explained before to use your custom stylesheet instead of the default one.<br />
<br />
You may want to replace some or all of the default forum/helpdesk icons too. Just put your custom icons into an ''images'' folder below your custom theme. Then enter the path of your images folder in the helpdesk settings. Again there is a fallback built in, so any icon not found in your custom images folder will be taken from the ''default'' backend theme.<br />
<br />
Instead of PNG you may use GIF icons. In case both, a GIF ''and'' a PNG icon is found, the PNG has precedence.<br />
<br />
=== Templates ===<br />
<br />
In case you need to customize the default templates, just copy the files of interest from /system/modules/helpdesk/templates to /templates and make your adjustments. <br />
<br />
Please note that the template files are used for both, frontend //and// backend.<br />
<br />
<br />
=== "Personal data" Module ===<br />
<br />
{{note|As of TYPOlight 2.5.0 it is no longer required to edit the file ModulePersonalData.php; the hook is now included in the core file. However you still need to select the template ''member_grouped_helpdesk'' up to 2.5.9. Since TYPOlight 2.6.0 you also no longer need ''member_grouped_helpdesk'' because all necessary changes got included in ''member_grouped''.}}<br />
<br />
<br />
You may want to give your frontend members the option to subscribe themself for email noification with the ''Personal data'' module. This will work right out of the box when you are using the template ''member_default''.<br />
<br />
However when using the template ''member_grouped'' you won't see the Forum/Helpdesk settings with the TYPOlight releases before 2.5.0. There is a workaround to use the grouped member display right now, which requires a small hack:<br />
<br />
Edit the file /system/modules/frontend/ModulePersonalData.php and find this code:<br />
<br />
<source lang="php">// HOOK: add newsletter fields<br />
if (in_array('newsletter', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->newsletter = $arrFields['newsletter'];<br />
$this->Template->newsletterDetails = $GLOBALS['TL_LANG']['tl_member']['newsletterDetails'];<br />
}</source><br />
<br />
Now add the following code immediately below:<br />
<br />
<source lang="php">// HOOK: add helpdesk fields<br />
if (in_array('helpdesk', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->helpdesk = $arrFields['helpdesk'];<br />
$this->Template->helpdeskDetails = $GLOBALS['TL_LANG']['tl_member']['helpdeskDetails'];<br />
}</source><br />
<br />
Finally, go to the ''Personal data'' module and select the template ''member_grouped_helpdesk''.<br />
<br />
The layout may look somewhat messy by default, here is a suggestion to add to your CSS of the respective page:<br />
<br />
<source lang="css"><br />
.mod_personalData .checkbox_container span<br />
{<br />
display:block;<br />
white-space:nowrap;<br />
}<br />
<br />
.mod_personalData .checkbox_container span *<br />
{<br />
vertical-align:middle;<br />
}<br />
</source><br />
<br />
=== Enabling RSS Feeds ===<br />
<br />
To enable RSS feeds you need to:<br />
<br />
*Make settings in each category that you want feeds for<br />
*Make global settings in the Contao settings<br />
*Add a rewrite rule to your .htaccess file<br />
*Optional: Add a link to the page header in case you want to display a feed icon in the browsers address field<br />
<br />
=== Category Settings ===<br />
<br />
In the category settings you need to enter the url of the page holding this category, plus check that RSS feeds are enabled. Repeat this for all categories where you want to have RSS feeds for:<br />
<br />
[[File:Extensions-helpdesk-Hd100.jpg|Category Settings]]<br />
<br />
=== Contao settings ===<br />
<br />
In the Contao settings enable the forum/helpdesk feeds, and then make settings for the maximum number of messages to display, the base name of the xml file (same as in the .htaccess below), the title and description of the feed. Please note that this title and description only comes into play for feeds of multiple categories, for single category feeds the title and description of the category is used:<br />
<br />
[[File:Extensions-helpdesk-Hd101.jpg|Contao Settings]]<br />
<br />
=== .htaccess Modification ===<br />
<br />
Add a rewrite rule such as below to your .htaccess file. Replace ''helpdesk'' by the term you defined as base name in the Contao settings:<br />
<br />
<source lang="php">>RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</source><br />
<br />
A typical complete .htaccess for TYPOlight 2.6.0 might be:<br />
<br />
<source lang="php"><br />
# Enable mod_rewrite<br />
RewriteEngine On<br />
RewriteBase /<br />
<br />
# Block any URI protocol in the query string<br />
RewriteCond %{QUERY_STRING} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Block any URI protocol in the request<br />
RewriteCond %{REQUEST_URI} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Rewrite TYPOlight URLs<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule .*\.html$ index.php [L]<br />
<br />
# Dynamic RSS feeds for forum/helpdesk <br />
RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</source><br />
<br />
=== Add RSS icon link to page layout ===<br />
<br />
This is optional but very convenient for your users. In case you not yet have a distinct page layout for the forum/helpdesk, make a copy of the default page layout. Edit the layout and enter the following link to the ''Additional head tags input:<br />
<br />
<source lang="php"><link rel="alternate" type="application/rss+xml" title="RSS" href="http://www.example.com/helpdesk0.xml" /></source><br />
<br />
Replace %%www.example.com%% by your site's url. The 0 tells to provide a feed over all categories the user has read access to. If you want to make a feed over the categories 4, 5 and 7 instead, the link would be helpdesk4,5,7.xml<br />
<br />
=== Email Import and Notification ===<br />
<br />
==== Email Settings ====<br />
<br />
To send out notifications and import email a batch program must run on a regular base. You need to install the [[extensions:cron|cron utility]] for this purpose. Below you find suggested settings for the two Forum/Helpdesk jobs. Use a time schedule that matches your needs; the samples below will execute once every minute.<br />
<br />
[[File:Extensions-helpdesk-Hd024.jpg|CRON Scheduler]]<br /><br />
<br />
[[File:Extensions-helpdesk-Hd025.jpg|Import Job Settings]]<br /><br />
<br />
[[File:Extensions-helpdesk-Hd026.jpg|Notification Job Settings]]<br />
<br />
==== Troubleshooting E-Mail Issues ====<br />
<br />
*Check if your servers are properly configured to send out mails by creating a test-newsletter and sending it to one of your mail accounts. Send it to another server than the one used for sending out the mail to make sure the mail is not getting caught in some spamfilters or lost in any black hole.<br />
*Using PHP Mail may work on well configured servers (which is not selve-evident these days, cheepo hosters are greeting). Use SMTP in case, that will work 100%.<br />
*A common mistake is to use a different domain in the notification sender address than in the mail account in the system settings. For example when your SMTP account in the system settings is <nowiki>admin@example.com</nowiki>, a notification sender address such as <nowiki>forum@banana.net</nowiki> is likely to fail because that would be "relaying" which is forbidden in well configured mail servers. Of cause there are exceptions from this rule, for example when the mail server is configured to handle both of those domains. Leave the notification sender address empty until notification works in case.<br />
*Switch the helpdesk logging to <nowiki>"debug"</nowiki> in the Contao system settings. You will find the log files at <nowiki>/system/logs/Helpdesk*.log</nowiki>. In case no log file gets created during the batch run, your directory permissions of /system/logs does not allow write access for the web server. In that case you can manually create the two files /system/logs/HelpdeskImport.log and /system/logs/HelpdeskNotify.log and give them read/write permissions for the web server (for example as chmod of 666).<br />
*For debugging it is time-consuming to always have to wait for the scheduler to run. You can disable the scheduler jobs and manually trigger the batch by calling these url's (replace <nowiki>%%www.example.com%%</nowiki> by your own url of cause): <br />
<source lang="php">%%http://www.example.com/system/modules/helpdesk/HelpdeskNotifyExec.php%%<br />
%%http://www.example.com/system/modules/helpdesk/HelpdeskImportExec.php%%</source><br />
You will most likely just see a blank page when executing, but then check the log files after execution to see the results.<br />
<br />
=== Manual upgrade from a previous version ===<br />
<br />
{{Caution|It is recommended to make backups of your files and your database before starting any upgrade.}}<br />
<br />
You can upgrade directly from any previous release, it is '''not''' necessary to install every version that was released between your old and new version of the application.<br />
<br />
It is optional to delete the files of the old version before installing a new release; you can choose to just overwrite the old files. However there might be obsolete files which will stay in your installation that way. So for a clean update I recommend to manually delete these files and folders in advance:<br />
<br />
*system/drivers/DC_HelpdeskTable.php<br />
*system/modules/helpdesk<br />
<br />
{{Caution|Do '''NOT''' delete the mysql tables and settings of the helpdesk application after removing the old files, neither with phpmyadmin nor by using the Contao install tool. Otherwise you will loose all your data and settings.}}<br />
<br />
Next the procedure is basicly the same as with a new installation from scratch:<br />
<br />
*Download the install package.<br />
*Unzip/upload to your TYPOlight base directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki> <br />
*Enter the installation password and click ''Login''<br />
*Scroll down to ''Update database tables'' <br />
*If any drops of obsolete table columns are due, they are by default unchecked. It is safe to check them now in order to have clean database. <br />
*Click on ''Update database'' to have the necessary database updates applied.<br />
<br />
{{note|After upgrading, you should read the change log to see what has changed and might need your attention.}}<br />
<br />
=== Optimizing full text search ===<br />
<br />
Full text search of mysql will by default not find any words shorter than 4 characters, or in the stopword list. <br />
<br />
To improve search I recommend to lower the minimum word length to 2, or even down to 1. In case your site is not english only, you might also want to disable the default stopword list (or apply [[http://members.unine.ch/jacques.savoy/clef/index.html]]).<br />
<br />
'''Brief procedure:''<br />
* Edit the mysql configuration file<br />
* Restart the mysql server<br />
* Drop the fulltext indexes<br />
* Recreate the fulltext indexes<br />
<br />
<br />
'''More detailed description (debian example):'''<br />
<br />
Edit /etc/mysql/my.cnf\\<br />
Within the section <nowiki>**[mysqld]**</nowiki> edit or add the following lines:<br />
<br />
<source lang="php">#<br />
# Fulltext config<br />
#<br />
ft_min_word_len = 2<br />
ft_stopword_file = ""</source><br />
<br />
Restart mysql:<br />
<br />
/etc/init.d/mysql restart<br />
<br />
Check system vars in phpMyAdmin to make sure it worked:<br />
<br />
[[File:Extensions-helpdesk-Myvars1.png]]<br /><br /><br />
[[File:Extensions-helpdesk-Myvars2.png]]<br />
<br />
Drop the fulltext indexes from the tables tl_search, tl_helpdesk_tickets and tl_helpdesk_messages. Check also the tables of other installed extensions for fulltext indexes, and drop them as well:<br />
<br />
[[File:Extensions-helpdesk-Dropft3.png]]<br /><br /><br />
[[File:Extensions-helpdesk-Dropft1.png]]<br /><br /><br />
[[File:Extensions-helpdesk-Dropft2.png]]<br />
<br />
Use the contao installation or extension manager to recreate the indexes based on the new settings:<br />
<br />
[[File:Extensions-helpdesk-Makeft.png]]<br />
<br />
== Getting started ==<br />
<br />
Well this section is currently very brief. Only a few screenschots so far, but I guess you will figure out usage yourself with some Contao experience. <br />
<br />
=== Create a new category ===<br />
<br />
[[File:Extensions-helpdesk-Hd110.png|Category overview]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd113.png|Category editor]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd114.png|Category editor]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd115.png|Category editor]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd116.png|Category editor]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd117.png|Category editor]]<br />
<br />
=== Create a title module for the frontend ===<br />
<br />
Basicly a title module is not required, however it helps you structure your forums and helpdesks when you want to group the categories into blocks.<br />
<br />
[[File:Extensions-helpdesk-Hd118.png|Goto modules]]<br /><br />
[[File:Extensions-helpdesk-Hd119.png|Add a module]]<br /><br />
[[File:Extensions-helpdesk-Hd120.png|Title module settings]]<br /><br />
[[File:Extensions-helpdesk-Hd121.png|Title module settings]]<br />
<br />
=== Create block modules for the frontend ===<br />
<br />
A forum/helpdesk block module displays a selection of categories in a block on the frontend. So the minimum to get started on frontend is one module of this type. In case you want to structure your categories you will make several of these modules:<br />
<br />
[[File:Extensions-helpdesk-Hdblock.png|Block module settings]]</div>Lucinahttps://en.contaowiki.org/HelpdeskHelpdesk2012-02-22T07:50:13Z<p>Lucina: /* Admin, Moderators and Supporters */</p>
<hr />
<div>{{stub}}<br />
[[de:Helpdesk]]<br />
[[Category:Extensions]]<br />
= Forum and Helpdesk =<br />
{{Note|Parts of this documentation were created by Peter Koch / IBK Software AG. Peter Koch has licensed this content for use on contoawiki.org. Content in this page must not be copied, reproduced, republished, uploaded, posted, transmitted, distributed, or used for the creation of derivative works without IBK's prior written consent.}}<br />
{{Hint|http://web.archive.org/web/20101121033235/http://contifex.com/wiki/extensions:helpdesk}}<br />
{{Note|feel free to bring the content from the page above to our contaowiki!}} <br />
<br />
== Features ==<br />
[[File:Extensions-helpdesk-Hd130.png]]<br />
* Native Contao application; fully integrated into Contao user/member system.<br />
* Can be used as forum, as helpdesk ticketing system, or both at same time.<br />
* Both, frontend members and backend users, can be members/clients or moderators/supporters.<br />
* Multiple frontend modules with selected categories are possible; to be displayed on one or several pages, or embedded within articles.<br />
* Backend modules for configuration and forum participation.<br />
* Comprehensive and fast BBCode engine including tables, lists, several box types, syntax highlighting and more.<br />
* Popup windows for BBCode help and editor preview.<br />
* Email notification to subscribing users.<br />
* Email import to create new topics/tickets, as well as to reply to notifications.<br />
* Fully customizable layout and appearence by templates and themes.<br />
* Powerful search engine.<br />
* RSS feeds for any selection of categories.<br />
* Convenient moderator functions including cut/paste operations to move messages and topics<br />
<br />
== Abstract ==<br />
<br />
Contao Forum/Helpdesk is a message board (forum) application designed to be as well used as a helpdesk ticketing system, for example to provide formal and informal support to customers or clients. The terminology and functions of the forum categories is slightly different than the support ticketing categories, but when you know the mapping you will immediately be familiar with the application:<br />
<br />
{| border="0" cellspacing="1" cellpadding="2"<br />
! !! '''Forum''' !! '''Helpdesk'''<br />
|-<br />
| Category types (1) || Restricted or public || Private, shared or public <br />
|-<br />
| Thread naming (2) || Topics || Tickets<br />
|-<br />
| Frontend users (3) || Members || Clients<br />
|-<br />
| Backend users (4) || Moderators || Supporters<br />
|-<br />
| colspan="2" |<br />
|}<br />
<br />
== Categories ==<br />
<br />
<br />
*[[File:Extensions-helpdesk-Category416.png]] '''Public Forum''': Everybody can read the forum, even non-logged in users. Only authorized members can however open topics or reply.<br />
*[[File:Extensions-helpdesk-Category316.png]] '''Restricted Forum''': The forum is visible only for authorized members.<br />
*[[File:Extensions-helpdesk-Category216.png]] '''Public Support''': Everybody can see all tickets, even non-logged in users. Only authorized clients can however open tickets or reply.<br />
*[[File:Extensions-helpdesk-Category116.png]] '''Shared Support''': All authorized clients can see and reply each others tickets, however only the owner has priviledge to close or delete his tickets. Create such a category for example for each company with a SLA((Service level agreement)) where multiple staff members shall have access to the tickets.<br />
*[[File:Extensions-helpdesk-Category016.png]] '''Private Support''': Only the ticket owner can see his tickets, but nobody else (admins and supporters authorized for the category can of course also see and reply to the tickets). Used for example for formal support of individuals.<br />
<br />
=== Topic vs. ticket status ===<br />
<br />
==== Topic status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0116.png]] '''Pinned up:''' Open topic that is listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1116.png]] '''Normal:''' A normal open topic. <br />
*[[File:Extensions-helpdesk-Ticket2116.png]] '''Closed:''' No further edits or replies are possible, listed at the end. <br />
<br />
==== Ticket status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0016.png]] '''Unanswered:''' The ticked is open and the latest post is from a client. Listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1016.png]] '''Answered:''' The ticket is open and the latest post is from a supporter. <br />
*[[File:Extensions-helpdesk-Ticket2016.png]] '''Closed:''' Issue solved. No further edits or replies are possible, the owner may reopen it however in case. Listed at the end. <br />
<br />
=== Members and Clients ===<br />
<br />
Forum members and support clients are either "frontend members" or "backend users" in terms of TYPOlight, and belong to a member/user group authorized for the respective category. The client opening a ticket has special "owner" rights in the support type categories: He has authorization to close or delete (5) his tickets.<br />
<br />
=== Admin, Moderators and Supporters ===<br />
<br />
Moderators and supporters are either Contao backend users or frontend members, and belong to a user group authorized as moderator/supporter for the respective category. They have special rights to see unpublished, to pinup, edit, unpublish or delete any topic, ticket or message.<br />
<br />
Contao admins are special backend users and appear as moderator or supporter, he/she is automaticly authorized for all categories. Additionally the admins have authorization to administrative operations, e.g. create or delete categories or change category settings. Also admins are the only ones who can see unpublished categories.<br />
<br />
=== Deletion levels ===<br />
<br />
Tickets and messages are not permanently deleted, but only unpublished from frontend when a ticket owner or member/client "deletes" them. They are still available for moderators and supporters however, mainly to serve as a knowledge resource. Tickets and messages can be permanently deleted only by admins, moderators and supporters.<br />
<br />
== Installation and Setup ==<br />
<br />
=== Requirements ===<br />
<br />
*PHP from version 5.2.0<br />
*Other requirements like [http://www.contao.org/system-requirements.html]<br />
<br />
=== Manual Installation ===<br />
<br />
*Install these required extensions in advance: [[extensions:avatar]], [[extensions:cron]], [http://www.contao.org/extension-list/view/geshi.en.html]<br />
*Download the install package from [http://www.contao.org/extension-list/view/helpdesk.en.html].<br />
*Unzip the content of TL_ROOT to the Contao base directory on your webserver.<br />
*Unzip the content of TL_FILES to the tl_files directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/contao/install.php</nowiki><br />
*Enter the installation password and click '''Login'''<br />
*Scroll down to '''Update database tables''' and click on '''Update database'''<br />
<br />
=== Site structure settings ===<br />
<br />
The page where the forum/helpdesk is located should have caching disabled, e.g:<br />
<br />
[[File:Extensions-helpdesk-Hd200.png |Cache Settings]]<br />
<br />
=== Page layout adjustment ===<br />
<br />
The module will also work without this, however it will look poor in the frontend.<br />
<br />
Go to '''Page layouts''' and change the layout for the pages that will display the forum/helpdesk. This might be a special layout you make for the forum/helpdesk pages, or the '''Default layout'''.<br />
<br />
Scroll down to '''Additional <nowiki>‹head›</nowiki> tags''' and append the following lines to whatever might allready be in there:<br />
<br />
<source lang="php"><br />
<link rel="stylesheet" <br />
href="system/modules/helpdesk/themes/default/frontend.css" <br />
type="text/css" <br />
media="screen,projection,print" /><br />
<!--[if lte IE 6]><br />
<style type="text/css"><br />
.pngfix { behavior:url("system/modules/helpdesk/themes/default/pngfix.htc") }<br />
</style><br />
<![endif]--><br />
</source><br />
<br />
== Custom themes and templates ==<br />
<br />
=== Backend themes ===<br />
<br />
To create the theme ''mysite'' you would first of cause create a new Contao backend theme folder /system/themes/mysite and activate it in in the ''Settings''. <br />
<br />
Then likewise you would create a folder system/modules/helpdesk/themes/mysite, copy the CSS files from the adjaccent ''default'' folder and make your adjustments to them. Please note that because of the automatic fallback it is '''not''' necessary to copy all the images from the ''default'' theme. In case you want your own icons, just create a subfolder ''images'' and put them in there; any icons not found there will be taken from the ''default'' theme.<br />
<br />
=== Frontend themes ===<br />
<br />
Copy the CSS files from system/modules/helpdesk/themes/default to your custom frontend theme folder and make the desired adjustments. Don't forget to adjust the ''Page layout'' as explained before to use your custom stylesheet instead of the default one.<br />
<br />
You may want to replace some or all of the default forum/helpdesk icons too. Just put your custom icons into an ''images'' folder below your custom theme. Then enter the path of your images folder in the helpdesk settings. Again there is a fallback built in, so any icon not found in your custom images folder will be taken from the ''default'' backend theme.<br />
<br />
Instead of PNG you may use GIF icons. In case both, a GIF ''and'' a PNG icon is found, the PNG has precedence.<br />
<br />
=== Templates ===<br />
<br />
In case you need to customize the default templates, just copy the files of interest from /system/modules/helpdesk/templates to /templates and make your adjustments. <br />
<br />
Please note that the template files are used for both, frontend //and// backend.<br />
<br />
<br />
=== "Personal data" Module ===<br />
<br />
{{note|As of TYPOlight 2.5.0 it is no longer required to edit the file ModulePersonalData.php; the hook is now included in the core file. However you still need to select the template ''member_grouped_helpdesk'' up to 2.5.9. Since TYPOlight 2.6.0 you also no longer need ''member_grouped_helpdesk'' because all necessary changes got included in ''member_grouped''.}}<br />
<br />
<br />
You may want to give your frontend members the option to subscribe themself for email noification with the ''Personal data'' module. This will work right out of the box when you are using the template ''member_default''.<br />
<br />
However when using the template ''member_grouped'' you won't see the Forum/Helpdesk settings with the TYPOlight releases before 2.5.0. There is a workaround to use the grouped member display right now, which requires a small hack:<br />
<br />
Edit the file /system/modules/frontend/ModulePersonalData.php and find this code:<br />
<br />
<source lang="php">// HOOK: add newsletter fields<br />
if (in_array('newsletter', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->newsletter = $arrFields['newsletter'];<br />
$this->Template->newsletterDetails = $GLOBALS['TL_LANG']['tl_member']['newsletterDetails'];<br />
}</source><br />
<br />
Now add the following code immediately below:<br />
<br />
<source lang="php">// HOOK: add helpdesk fields<br />
if (in_array('helpdesk', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->helpdesk = $arrFields['helpdesk'];<br />
$this->Template->helpdeskDetails = $GLOBALS['TL_LANG']['tl_member']['helpdeskDetails'];<br />
}</source><br />
<br />
Finally, go to the ''Personal data'' module and select the template ''member_grouped_helpdesk''.<br />
<br />
The layout may look somewhat messy by default, here is a suggestion to add to your CSS of the respective page:<br />
<br />
<source lang="css"><br />
.mod_personalData .checkbox_container span<br />
{<br />
display:block;<br />
white-space:nowrap;<br />
}<br />
<br />
.mod_personalData .checkbox_container span *<br />
{<br />
vertical-align:middle;<br />
}<br />
</source><br />
<br />
=== Enabling RSS Feeds ===<br />
<br />
To enable RSS feeds you need to:<br />
<br />
*Make settings in each category that you want feeds for<br />
*Make global settings in the Contao settings<br />
*Add a rewrite rule to your .htaccess file<br />
*Optional: Add a link to the page header in case you want to display a feed icon in the browsers address field<br />
<br />
=== Category Settings ===<br />
<br />
In the category settings you need to enter the url of the page holding this category, plus check that RSS feeds are enabled. Repeat this for all categories where you want to have RSS feeds for:<br />
<br />
[[File:Extensions-helpdesk-Hd100.jpg|Category Settings]]<br />
<br />
=== Contao settings ===<br />
<br />
In the Contao settings enable the forum/helpdesk feeds, and then make settings for the maximum number of messages to display, the base name of the xml file (same as in the .htaccess below), the title and description of the feed. Please note that this title and description only comes into play for feeds of multiple categories, for single category feeds the title and description of the category is used:<br />
<br />
[[File:Extensions-helpdesk-Hd101.jpg|Contao Settings]]<br />
<br />
=== .htaccess Modification ===<br />
<br />
Add a rewrite rule such as below to your .htaccess file. Replace ''helpdesk'' by the term you defined as base name in the Contao settings:<br />
<br />
<source lang="php">>RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</source><br />
<br />
A typical complete .htaccess for TYPOlight 2.6.0 might be:<br />
<br />
<source lang="php"><br />
# Enable mod_rewrite<br />
RewriteEngine On<br />
RewriteBase /<br />
<br />
# Block any URI protocol in the query string<br />
RewriteCond %{QUERY_STRING} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Block any URI protocol in the request<br />
RewriteCond %{REQUEST_URI} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Rewrite TYPOlight URLs<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule .*\.html$ index.php [L]<br />
<br />
# Dynamic RSS feeds for forum/helpdesk <br />
RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</source><br />
<br />
=== Add RSS icon link to page layout ===<br />
<br />
This is optional but very convenient for your users. In case you not yet have a distinct page layout for the forum/helpdesk, make a copy of the default page layout. Edit the layout and enter the following link to the ''Additional head tags input:<br />
<br />
<source lang="php"><link rel="alternate" type="application/rss+xml" title="RSS" href="http://www.example.com/helpdesk0.xml" /></source><br />
<br />
Replace %%www.example.com%% by your site's url. The 0 tells to provide a feed over all categories the user has read access to. If you want to make a feed over the categories 4, 5 and 7 instead, the link would be helpdesk4,5,7.xml<br />
<br />
=== Email Import and Notification ===<br />
<br />
==== Email Settings ====<br />
<br />
To send out notifications and import email a batch program must run on a regular base. You need to install the [[extensions:cron|cron utility]] for this purpose. Below you find suggested settings for the two Forum/Helpdesk jobs. Use a time schedule that matches your needs; the samples below will execute once every minute.<br />
<br />
[[File:Extensions-helpdesk-Hd024.jpg|CRON Scheduler]]<br /><br />
<br />
[[File:Extensions-helpdesk-Hd025.jpg|Import Job Settings]]<br /><br />
<br />
[[File:Extensions-helpdesk-Hd026.jpg|Notification Job Settings]]<br />
<br />
==== Troubleshooting E-Mail Issues ====<br />
<br />
*Check if your servers are properly configured to send out mails by creating a test-newsletter and sending it to one of your mail accounts. Send it to another server than the one used for sending out the mail to make sure the mail is not getting caught in some spamfilters or lost in any black hole.<br />
*Using PHP Mail may work on well configured servers (which is not selve-evident these days, cheepo hosters are greeting). Use SMTP in case, that will work 100%.<br />
<br />
*A common mistake is to use a different domain in the notification sender address than in the mail account in the system settings. For example when your SMTP account in the system settings is <nowiki>admin@example.com</nowiki>, a notification sender address such as <nowiki>forum@banana.net</nowiki> is likely to fail because that would be "relaying" which is forbidden in well configured mail servers. Of cause there are exceptions from this rule, for example when the mail server is configured to handle both of those domains. Leave the notification sender address empty until notification works in case.<br />
*Switch the helpdesk logging to <nowiki>"debug"</nowiki> in the Contao system settings. You will find the log files at <nowiki>/system/logs/Helpdesk*.log</nowiki>. In case no log file gets created during the batch run, your directory permissions of /system/logs does not allow write access for the web server. In that case you can manually create the two files /system/logs/HelpdeskImport.log and /system/logs/HelpdeskNotify.log and give them read/write permissions for the web server (for example as chmod of 666).<br />
*For debugging it is time-consuming to always have to wait for the scheduler to run. You can disable the scheduler jobs and manually trigger the batch by calling these url's (replace <nowiki>%%www.example.com%%</nowiki> by your own url of cause): <br />
<source lang="php">%%http://www.example.com/system/modules/helpdesk/HelpdeskNotifyExec.php%%<br />
%%http://www.example.com/system/modules/helpdesk/HelpdeskImportExec.php%%</source><br />
You will most likely just see a blank page when executing, but then check the log files after execution to see the results.<br />
<br />
=== Manual upgrade from a previous version ===<br />
<br />
{{Caution|It is recommended to make backups of your files and your database before starting any upgrade.}}<br />
<br />
You can upgrade directly from any previous release, it is '''not''' necessary to install every version that was released between your old and new version of the application.<br />
<br />
It is optional to delete the files of the old version before installing a new release; you can choose to just overwrite the old files. However there might be obsolete files which will stay in your installation that way. So for a clean update I recommend to manually delete these files and folders in advance:<br />
<br />
*system/drivers/DC_HelpdeskTable.php<br />
*system/modules/helpdesk<br />
<br />
{{Caution|Do '''NOT''' delete the mysql tables and settings of the helpdesk application after removing the old files, neither with phpmyadmin nor by using the Contao install tool. Otherwise you will loose all your data and settings.}}<br />
<br />
Next the procedure is basicly the same as with a new installation from scratch:<br />
<br />
*Download the install package.<br />
*Unzip/upload to your TYPOlight base directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki> <br />
*Enter the installation password and click ''Login''<br />
*Scroll down to ''Update database tables'' <br />
*If any drops of obsolete table columns are due, they are by default unchecked. It is safe to check them now in order to have clean database. <br />
*Click on ''Update database'' to have the necessary database updates applied.<br />
<br />
{{note|After upgrading, you should read the change log to see what has changed and might need your attention.}}<br />
<br />
=== Optimizing full text search ===<br />
<br />
Full text search of mysql will by default not find any words shorter than 4 characters, or in the stopword list. <br />
<br />
To improve search I recommend to lower the minimum word length to 2, or even down to 1. In case your site is not english only, you might also want to disable the default stopword list (or apply [[http://members.unine.ch/jacques.savoy/clef/index.html]]).<br />
<br />
'''Brief procedure:''<br />
* Edit the mysql configuration file<br />
* Restart the mysql server<br />
* Drop the fulltext indexes<br />
* Recreate the fulltext indexes<br />
<br />
<br />
'''More detailed description (debian example):'''<br />
<br />
Edit /etc/mysql/my.cnf\\<br />
Within the section <nowiki>**[mysqld]**</nowiki> edit or add the following lines:<br />
<br />
<source lang="php">#<br />
# Fulltext config<br />
#<br />
ft_min_word_len = 2<br />
ft_stopword_file = ""</source><br />
<br />
Restart mysql:<br />
<br />
/etc/init.d/mysql restart<br />
<br />
Check system vars in phpMyAdmin to make sure it worked:<br />
<br />
[[File:Extensions-helpdesk-Myvars1.png]]<br /><br /><br />
[[File:Extensions-helpdesk-Myvars2.png]]<br />
<br />
Drop the fulltext indexes from the tables tl_search, tl_helpdesk_tickets and tl_helpdesk_messages. Check also the tables of other installed extensions for fulltext indexes, and drop them as well:<br />
<br />
[[File:Extensions-helpdesk-Dropft3.png]]<br /><br /><br />
[[File:Extensions-helpdesk-Dropft1.png]]<br /><br /><br />
[[File:Extensions-helpdesk-Dropft2.png]]<br />
<br />
Use the contao installation or extension manager to recreate the indexes based on the new settings:<br />
<br />
[[File:Extensions-helpdesk-Makeft.png]]<br />
<br />
== Getting started ==<br />
<br />
Well this section is currently very brief. Only a few screenschots so far, but I guess you will figure out usage yourself with some Contao experience. <br />
<br />
=== Create a new category ===<br />
<br />
[[File:Extensions-helpdesk-Hd110.png|Category overview]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd113.png|Category editor]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd114.png|Category editor]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd115.png|Category editor]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd116.png|Category editor]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd117.png|Category editor]]<br />
<br />
=== Create a title module for the frontend ===<br />
<br />
Basicly a title module is not required, however it helps you structure your forums and helpdesks when you want to group the categories into blocks.<br />
<br />
[[File:Extensions-helpdesk-Hd118.png|Goto modules]]<br /><br />
[[File:Extensions-helpdesk-Hd119.png|Add a module]]<br /><br />
[[File:Extensions-helpdesk-Hd120.png|Title module settings]]<br /><br />
[[File:Extensions-helpdesk-Hd121.png|Title module settings]]<br />
<br />
=== Create block modules for the frontend ===<br />
<br />
A forum/helpdesk block module displays a selection of categories in a block on the frontend. So the minimum to get started on frontend is one module of this type. In case you want to structure your categories you will make several of these modules:<br />
<br />
[[File:Extensions-helpdesk-Hdblock.png|Block module settings]]</div>Lucinahttps://en.contaowiki.org/ccden:Current_eventsccden:Current events2012-02-21T18:18:52Z<p>Lucina: </p>
<hr />
<div>Due to spambot attacks we tuned our settings a little bit, so you probably will have to wait before being able to create your very first article. Thanks to [[User:Xtra|Xtra]]. And sorry for inconveniences.<br /><br />
--[[Benutzer:Lucina|Lucina]] 14:51, 21. Feb. 2012 (CET)</div>Lucinahttps://en.contaowiki.org/ccden:Current_eventsccden:Current events2012-02-21T16:11:04Z<p>Lucina: Created page with 'Due to spambot attacks we tuned our settings a little bit, so you probably will have to wait before being able to create your very first article. Thanks to Xtra. An…'</p>
<hr />
<div>Due to spambot attacks we tuned our settings a little bit, so you probably will have to wait before being able to create your very first article. Thanks to [[User:Xtra|Xtra]]. And sorry for inconveniences.<br /><br />
--[[Benutzer:Lucina|Lucina]] 14:51, 21. Feb. 2012 (CEST)</div>Lucinahttps://en.contaowiki.org/HelpdeskHelpdesk2012-02-18T17:32:54Z<p>Lucina: </p>
<hr />
<div>{{stub}}<br />
[[de:Helpdesk]]<br />
[[Category:Extensions]]<br />
= Forum and Helpdesk =<br />
{{Note|Parts of this documentation were created by Peter Koch / IBK Software AG. Peter Koch has licensed this content for use on contoawiki.org. Content in this page must not be copied, reproduced, republished, uploaded, posted, transmitted, distributed, or used for the creation of derivative works without IBK's prior written consent.}}<br />
{{Hint|http://web.archive.org/web/20101121033235/http://contifex.com/wiki/extensions:helpdesk}}<br />
{{Note|feel free to bring the content from the page above to our contaowiki!}} <br />
<br />
== Features ==<br />
[[File:Extensions-helpdesk-Hd130.png]]<br />
* Native Contao application; fully integrated into Contao user/member system.<br />
* Can be used as forum, as helpdesk ticketing system, or both at same time.<br />
* Both, frontend members and backend users, can be members/clients or moderators/supporters.<br />
* Multiple frontend modules with selected categories are possible; to be displayed on one or several pages, or embedded within articles.<br />
* Backend modules for configuration and forum participation.<br />
* Comprehensive and fast BBCode engine including tables, lists, several box types, syntax highlighting and more.<br />
* Popup windows for BBCode help and editor preview.<br />
* Email notification to subscribing users.<br />
* Email import to create new topics/tickets, as well as to reply to notifications.<br />
* Fully customizable layout and appearence by templates and themes.<br />
* Powerful search engine.<br />
* RSS feeds for any selection of categories.<br />
* Convenient moderator functions including cut/paste operations to move messages and topics<br />
<br />
== Abstract ==<br />
<br />
Contao Forum/Helpdesk is a message board (forum) application designed to be as well used as a helpdesk ticketing system, for example to provide formal and informal support to customers or clients. The terminology and functions of the forum categories is slightly different than the support ticketing categories, but when you know the mapping you will immediately be familiar with the application:<br />
<br />
{| border="0" cellspacing="1" cellpadding="2"<br />
! !! '''Forum''' !! '''Helpdesk'''<br />
|-<br />
| Category types (1) || Restricted or public || Private, shared or public <br />
|-<br />
| Thread naming (2) || Topics || Tickets<br />
|-<br />
| Frontend users (3) || Members || Clients<br />
|-<br />
| Backend users (4) || Moderators || Supporters<br />
|-<br />
| colspan="2" |<br />
|}<br />
<br />
== Categories ==<br />
<br />
<br />
*[[File:Extensions-helpdesk-Category416.png]] '''Public Forum''': Everybody can read the forum, even non-logged in users. Only authorized members can however open topics or reply.<br />
*[[File:Extensions-helpdesk-Category316.png]] '''Restricted Forum''': The forum is visible only for authorized members.<br />
*[[File:Extensions-helpdesk-Category216.png]] '''Public Support''': Everybody can see all tickets, even non-logged in users. Only authorized clients can however open tickets or reply.<br />
*[[File:Extensions-helpdesk-Category116.png]] '''Shared Support''': All authorized clients can see and reply each others tickets, however only the owner has priviledge to close or delete his tickets. Create such a category for example for each company with a SLA((Service level agreement)) where multiple staff members shall have access to the tickets.<br />
*[[File:Extensions-helpdesk-Category016.png]] '''Private Support''': Only the ticket owner can see his tickets, but nobody else (admins and supporters authorized for the category can of course also see and reply to the tickets). Used for example for formal support of individuals.<br />
<br />
=== Topic vs. ticket status ===<br />
<br />
==== Topic status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0116.png]] '''Pinned up:''' Open topic that is listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1116.png]] '''Normal:''' A normal open topic. <br />
*[[File:Extensions-helpdesk-Ticket2116.png]] '''Closed:''' No further edits or replies are possible, listed at the end. <br />
<br />
==== Ticket status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0016.png]] '''Unanswered:''' The ticked is open and the latest post is from a client. Listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1016.png]] '''Answered:''' The ticket is open and the latest post is from a supporter. <br />
*[[File:Extensions-helpdesk-Ticket2016.png]] '''Closed:''' Issue solved. No further edits or replies are possible, the owner may reopen it however in case. Listed at the end. <br />
<br />
=== Members and Clients ===<br />
<br />
Forum members and support clients are either "frontend members" or "backend users" in terms of TYPOlight, and belong to a member/user group authorized for the respective category. The client opening a ticket has special "owner" rights in the support type categories: He has authorization to close or delete (5) his tickets.<br />
<br />
=== Admin, Moderators and Supporters ===<br />
<br />
Moderators and supporters are either TYPOlight backend users or frontend members, and belong to a user group authorized as moderator/supporter for the respective category. They have special rights to see unpublished, to pinup, edit, unpublish or delete any topic, ticket or message.<br />
<br />
Contao admins are special backend users and appear as moderator or supporter, he/she is automaticly authorized for all categories. Additionally the admins have authorization to administrative operations, e.g. create or delete categories or change category settings. Also admins are the only ones who can see unpublished categories.<br />
<br />
=== Deletion levels ===<br />
<br />
Tickets and messages are not permanently deleted, but only unpublished from frontend when a ticket owner or member/client "deletes" them. They are still available for moderators and supporters however, mainly to serve as a knowledge resource. Tickets and messages can be permanently deleted only by admins, moderators and supporters.<br />
<br />
== Installation and Setup ==<br />
<br />
=== Requirements ===<br />
<br />
*PHP from version 5.2.0<br />
*Other requirements like [http://www.contao.org/system-requirements.html]<br />
<br />
=== Manual Installation ===<br />
<br />
*Install these required extensions in advance: [[extensions:avatar]], [[extensions:cron]], [http://www.contao.org/extension-list/view/geshi.en.html]<br />
*Download the install package from [http://www.contao.org/extension-list/view/helpdesk.en.html].<br />
*Unzip the content of TL_ROOT to the Contao base directory on your webserver.<br />
*Unzip the content of TL_FILES to the tl_files directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki><br />
*Enter the installation password and click '''Login'''<br />
*Scroll down to '''Update database tables''' and click on '''Update database'''<br />
<br />
=== Site structure settings ===<br />
<br />
The page where the forum/helpdesk is located should have caching disabled, e.g:<br />
<br />
[[File:Extensions-helpdesk-Hd200.png |Cache Settings]]<br />
<br />
=== Page layout adjustment ===<br />
<br />
The module will also work without this, however it will look poor in the frontend.<br />
<br />
Go to '''Page layouts''' and change the layout for the pages that will display the forum/helpdesk. This might be a special layout you make for the forum/helpdesk pages, or the '''Default layout'''.<br />
<br />
Scroll down to '''Additional <nowiki>‹head›</nowiki> tags''' and append the following lines to whatever might allready be in there:<br />
<br />
<source lang="php"><br />
<link rel="stylesheet" <br />
href="system/modules/helpdesk/themes/default/frontend.css" <br />
type="text/css" <br />
media="screen,projection,print" /><br />
<!--[if lte IE 6]><br />
<style type="text/css"><br />
.pngfix { behavior:url("system/modules/helpdesk/themes/default/pngfix.htc") }<br />
</style><br />
<![endif]--><br />
</source><br />
<br />
== Custom themes and templates ==<br />
<br />
=== Backend themes ===<br />
<br />
To create the theme ''mysite'' you would first of cause create a new Contao backend theme folder /system/themes/mysite and activate it in in the ''Settings''. <br />
<br />
Then likewise you would create a folder system/modules/helpdesk/themes/mysite, copy the CSS files from the adjaccent ''default'' folder and make your adjustments to them. Please note that because of the automatic fallback it is '''not''' necessary to copy all the images from the ''default'' theme. In case you want your own icons, just create a subfolder ''images'' and put them in there; any icons not found there will be taken from the ''default'' theme.<br />
<br />
=== Frontend themes ===<br />
<br />
Copy the CSS files from system/modules/helpdesk/themes/default to your custom frontend theme folder and make the desired adjustments. Don't forget to adjust the ''Page layout'' as explained before to use your custom stylesheet instead of the default one.<br />
<br />
You may want to replace some or all of the default forum/helpdesk icons too. Just put your custom icons into an ''images'' folder below your custom theme. Then enter the path of your images folder in the helpdesk settings. Again there is a fallback built in, so any icon not found in your custom images folder will be taken from the ''default'' backend theme.<br />
<br />
Instead of PNG you may use GIF icons. In case both, a GIF ''and'' a PNG icon is found, the PNG has precedence.<br />
<br />
=== Templates ===<br />
<br />
In case you need to customize the default templates, just copy the files of interest from /system/modules/helpdesk/templates to /templates and make your adjustments. <br />
<br />
Please note that the template files are used for both, frontend //and// backend.<br />
<br />
<br />
=== "Personal data" Module ===<br />
<br />
{{note|As of TYPOlight 2.5.0 it is no longer required to edit the file ModulePersonalData.php; the hook is now included in the core file. However you still need to select the template ''member_grouped_helpdesk'' up to 2.5.9. Since TYPOlight 2.6.0 you also no longer need ''member_grouped_helpdesk'' because all necessary changes got included in ''member_grouped''.}}<br />
<br />
<br />
You may want to give your frontend members the option to subscribe themself for email noification with the ''Personal data'' module. This will work right out of the box when you are using the template ''member_default''.<br />
<br />
However when using the template ''member_grouped'' you won't see the Forum/Helpdesk settings with the TYPOlight releases before 2.5.0. There is a workaround to use the grouped member display right now, which requires a small hack:<br />
<br />
Edit the file /system/modules/frontend/ModulePersonalData.php and find this code:<br />
<br />
<source lang="php">// HOOK: add newsletter fields<br />
if (in_array('newsletter', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->newsletter = $arrFields['newsletter'];<br />
$this->Template->newsletterDetails = $GLOBALS['TL_LANG']['tl_member']['newsletterDetails'];<br />
}</source><br />
<br />
Now add the following code immediately below:<br />
<br />
<source lang="php">// HOOK: add helpdesk fields<br />
if (in_array('helpdesk', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->helpdesk = $arrFields['helpdesk'];<br />
$this->Template->helpdeskDetails = $GLOBALS['TL_LANG']['tl_member']['helpdeskDetails'];<br />
}</source><br />
<br />
Finally, go to the ''Personal data'' module and select the template ''member_grouped_helpdesk''.<br />
<br />
The layout may look somewhat messy by default, here is a suggestion to add to your CSS of the respective page:<br />
<br />
<source lang="css"><br />
.mod_personalData .checkbox_container span<br />
{<br />
display:block;<br />
white-space:nowrap;<br />
}<br />
<br />
.mod_personalData .checkbox_container span *<br />
{<br />
vertical-align:middle;<br />
}<br />
</source><br />
<br />
=== Enabling RSS Feeds ===<br />
<br />
To enable RSS feeds you need to:<br />
<br />
*Make settings in each category that you want feeds for<br />
*Make global settings in the Contao settings<br />
*Add a rewrite rule to your .htaccess file<br />
*Optional: Add a link to the page header in case you want to display a feed icon in the browsers address field<br />
<br />
=== Category Settings ===<br />
<br />
In the category settings you need to enter the url of the page holding this category, plus check that RSS feeds are enabled. Repeat this for all categories where you want to have RSS feeds for:<br />
<br />
[[File:Extensions-helpdesk-Hd100.jpg|Category Settings]]<br />
<br />
=== Contao settings ===<br />
<br />
In the Contao settings enable the forum/helpdesk feeds, and then make settings for the maximum number of messages to display, the base name of the xml file (same as in the .htaccess below), the title and description of the feed. Please note that this title and description only comes into play for feeds of multiple categories, for single category feeds the title and description of the category is used:<br />
<br />
[[File:Extensions-helpdesk-Hd101.jpg|Contao Settings]]<br />
<br />
=== .htaccess Modification ===<br />
<br />
Add a rewrite rule such as below to your .htaccess file. Replace ''helpdesk'' by the term you defined as base name in the Contao settings:<br />
<br />
<source lang="php">>RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</source><br />
<br />
A typical complete .htaccess for TYPOlight 2.6.0 might be:<br />
<br />
<source lang="php"><br />
# Enable mod_rewrite<br />
RewriteEngine On<br />
RewriteBase /<br />
<br />
# Block any URI protocol in the query string<br />
RewriteCond %{QUERY_STRING} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Block any URI protocol in the request<br />
RewriteCond %{REQUEST_URI} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Rewrite TYPOlight URLs<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule .*\.html$ index.php [L]<br />
<br />
# Dynamic RSS feeds for forum/helpdesk <br />
RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</source><br />
<br />
=== Add RSS icon link to page layout ===<br />
<br />
This is optional but very convenient for your users. In case you not yet have a distinct page layout for the forum/helpdesk, make a copy of the default page layout. Edit the layout and enter the following link to the ''Additional head tags input:<br />
<br />
<source lang="php"><link rel="alternate" type="application/rss+xml" title="RSS" href="http://www.example.com/helpdesk0.xml" /></source><br />
<br />
Replace %%www.example.com%% by your site's url. The 0 tells to provide a feed over all categories the user has read access to. If you want to make a feed over the categories 4, 5 and 7 instead, the link would be helpdesk4,5,7.xml<br />
<br />
=== Email Import and Notification ===<br />
<br />
==== Email Settings ====<br />
<br />
To send out notifications and import email a batch program must run on a regular base. You need to install the [[extensions:cron|cron utility]] for this purpose. Below you find suggested settings for the two Forum/Helpdesk jobs. Use a time schedule that matches your needs; the samples below will execute once every minute.<br />
<br />
[[File:Extensions-helpdesk-Hd024.jpg|CRON Scheduler]]<br /><br />
<br />
[[File:Extensions-helpdesk-Hd025.jpg|Import Job Settings]]<br /><br />
<br />
[[File:Extensions-helpdesk-Hd026.jpg|Notification Job Settings]]<br />
<br />
==== Troubleshooting E-Mail Issues ====<br />
<br />
*Check if your servers are properly configured to send out mails by creating a test-newsletter and sending it to one of your mail accounts. Send it to another server than the one used for sending out the mail to make sure the mail is not getting caught in some spamfilters or lost in any black hole.<br />
*Using PHP Mail may work on well configured servers (which is not selve-evident these days, cheepo hosters are greeting). Use SMTP in case, that will work 100%.<br />
<br />
*A common mistake is to use a different domain in the notification sender address than in the mail account in the system settings. For example when your SMTP account in the system settings is <nowiki>admin@example.com</nowiki>, a notification sender address such as <nowiki>forum@banana.net</nowiki> is likely to fail because that would be "relaying" which is forbidden in well configured mail servers. Of cause there are exceptions from this rule, for example when the mail server is configured to handle both of those domains. Leave the notification sender address empty until notification works in case.<br />
*Switch the helpdesk logging to <nowiki>"debug"</nowiki> in the Contao system settings. You will find the log files at <nowiki>/system/logs/Helpdesk*.log</nowiki>. In case no log file gets created during the batch run, your directory permissions of /system/logs does not allow write access for the web server. In that case you can manually create the two files /system/logs/HelpdeskImport.log and /system/logs/HelpdeskNotify.log and give them read/write permissions for the web server (for example as chmod of 666).<br />
*For debugging it is time-consuming to always have to wait for the scheduler to run. You can disable the scheduler jobs and manually trigger the batch by calling these url's (replace <nowiki>%%www.example.com%%</nowiki> by your own url of cause): <br />
<source lang="php">%%http://www.example.com/system/modules/helpdesk/HelpdeskNotifyExec.php%%<br />
%%http://www.example.com/system/modules/helpdesk/HelpdeskImportExec.php%%</source><br />
You will most likely just see a blank page when executing, but then check the log files after execution to see the results.<br />
<br />
=== Manual upgrade from a previous version ===<br />
<br />
{{Caution|It is recommended to make backups of your files and your database before starting any upgrade.}}<br />
<br />
You can upgrade directly from any previous release, it is '''not''' necessary to install every version that was released between your old and new version of the application.<br />
<br />
It is optional to delete the files of the old version before installing a new release; you can choose to just overwrite the old files. However there might be obsolete files which will stay in your installation that way. So for a clean update I recommend to manually delete these files and folders in advance:<br />
<br />
*system/drivers/DC_HelpdeskTable.php<br />
*system/modules/helpdesk<br />
<br />
{{Caution|Do '''NOT''' delete the mysql tables and settings of the helpdesk application after removing the old files, neither with phpmyadmin nor by using the Contao install tool. Otherwise you will loose all your data and settings.}}<br />
<br />
Next the procedure is basicly the same as with a new installation from scratch:<br />
<br />
*Download the install package.<br />
*Unzip/upload to your TYPOlight base directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki> <br />
*Enter the installation password and click ''Login''<br />
*Scroll down to ''Update database tables'' <br />
*If any drops of obsolete table columns are due, they are by default unchecked. It is safe to check them now in order to have clean database. <br />
*Click on ''Update database'' to have the necessary database updates applied.<br />
<br />
{{note|After upgrading, you should read the change log to see what has changed and might need your attention.}}<br />
<br />
=== Optimizing full text search ===<br />
<br />
Full text search of mysql will by default not find any words shorter than 4 characters, or in the stopword list. <br />
<br />
To improve search I recommend to lower the minimum word length to 2, or even down to 1. In case your site is not english only, you might also want to disable the default stopword list (or apply [[http://members.unine.ch/jacques.savoy/clef/index.html]]).<br />
<br />
'''Brief procedure:''<br />
* Edit the mysql configuration file<br />
* Restart the mysql server<br />
* Drop the fulltext indexes<br />
* Recreate the fulltext indexes<br />
<br />
<br />
'''More detailed description (debian example):'''<br />
<br />
Edit /etc/mysql/my.cnf\\<br />
Within the section <nowiki>**[mysqld]**</nowiki> edit or add the following lines:<br />
<br />
<source lang="php">#<br />
# Fulltext config<br />
#<br />
ft_min_word_len = 2<br />
ft_stopword_file = ""</source><br />
<br />
Restart mysql:<br />
<br />
/etc/init.d/mysql restart<br />
<br />
Check system vars in phpMyAdmin to make sure it worked:<br />
<br />
[[File:Extensions-helpdesk-Myvars1.png]]<br /><br /><br />
[[File:Extensions-helpdesk-Myvars2.png]]<br />
<br />
Drop the fulltext indexes from the tables tl_search, tl_helpdesk_tickets and tl_helpdesk_messages. Check also the tables of other installed extensions for fulltext indexes, and drop them as well:<br />
<br />
[[File:Extensions-helpdesk-Dropft3.png]]<br /><br /><br />
[[File:Extensions-helpdesk-Dropft1.png]]<br /><br /><br />
[[File:Extensions-helpdesk-Dropft2.png]]<br />
<br />
Use the contao installation or extension manager to recreate the indexes based on the new settings:<br />
<br />
[[File:Extensions-helpdesk-Makeft.png]]<br />
<br />
== Getting started ==<br />
<br />
Well this section is currently very brief. Only a few screenschots so far, but I guess you will figure out usage yourself with some Contao experience. <br />
<br />
=== Create a new category ===<br />
<br />
[[File:Extensions-helpdesk-Hd110.png|Category overview]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd113.png|Category editor]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd114.png|Category editor]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd115.png|Category editor]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd116.png|Category editor]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd117.png|Category editor]]<br />
<br />
=== Create a title module for the frontend ===<br />
<br />
Basicly a title module is not required, however it helps you structure your forums and helpdesks when you want to group the categories into blocks.<br />
<br />
[[File:Extensions-helpdesk-Hd118.png|Goto modules]]<br /><br />
[[File:Extensions-helpdesk-Hd119.png|Add a module]]<br /><br />
[[File:Extensions-helpdesk-Hd120.png|Title module settings]]<br /><br />
[[File:Extensions-helpdesk-Hd121.png|Title module settings]]<br />
<br />
=== Create block modules for the frontend ===<br />
<br />
A forum/helpdesk block module displays a selection of categories in a block on the frontend. So the minimum to get started on frontend is one module of this type. In case you want to structure your categories you will make several of these modules:<br />
<br />
[[File:Extensions-helpdesk-Hdblock.png|Block module settings]]</div>Lucinahttps://en.contaowiki.org/Talk:HelpdeskTalk:Helpdesk2012-02-18T15:14:37Z<p>Lucina: /* Pics */</p>
<hr />
<div>==Abstract==<br />
Ich habe gesehen das die Tabelle unter Abstract nicht einfach ist nachzubilden im wiki ... so hab ich es als Bild eingefügt. Text wäre natürlich optimaler wegen allfälligen aenderungen. Text lass ich damit man noch weiter testen kann mit den Tabellen.<br />
<br />
I just replaced that with a nice table and deleted the image you provided. Thanks anyway!<br />
<br />
==Topic Status & Ticket Status==<br />
Wolte Bilder hoch laden und habe gesehen das es die selben schon auf dem Server hat? Gibt das eine Vorlage (Template) die man nachher auch in andere Sprachen kopieren kann (Ich frage wegen den Platzhalter Template:Extensions:helpdesk:ticket0116.png) ?<br />
<br />
== Pics ==<br />
All Images are uploaded now and putted into the article. For the german site I would prefer language specific versions.<br />
.</div>Lucinahttps://en.contaowiki.org/Talk:HelpdeskTalk:Helpdesk2012-02-18T15:13:22Z<p>Lucina: /* Abstract */</p>
<hr />
<div>==Abstract==<br />
Ich habe gesehen das die Tabelle unter Abstract nicht einfach ist nachzubilden im wiki ... so hab ich es als Bild eingefügt. Text wäre natürlich optimaler wegen allfälligen aenderungen. Text lass ich damit man noch weiter testen kann mit den Tabellen.<br />
<br />
I just replaced that with a nice table and deleted the image you provided. Thanks anyway!<br />
<br />
==Topic Status & Ticket Status==<br />
Wolte Bilder hoch laden und habe gesehen das es die selben schon auf dem Server hat? Gibt das eine Vorlage (Template) die man nachher auch in andere Sprachen kopieren kann (Ich frage wegen den Platzhalter Template:Extensions:helpdesk:ticket0116.png) ?<br />
<br />
== Pics ==<br />
All Images are uploaded now, but I don't have a club if they even should be global. I would prefer language specific versions.<br />
.</div>Lucinahttps://en.contaowiki.org/HelpdeskHelpdesk2012-02-18T15:08:03Z<p>Lucina: /* Add RSS icon link to page layout */</p>
<hr />
<div>{{stub}}<br />
[[de:Helpdesk]]<br />
= Forum and Helpdesk =<br />
{{Note|Parts of this documentation were created by Peter Koch / IBK Software AG. Peter Koch has licensed this content for use on contoawiki.org. Content in this page must not be copied, reproduced, republished, uploaded, posted, transmitted, distributed, or used for the creation of derivative works without IBK's prior written consent.}}<br />
{{Hint|http://web.archive.org/web/20101121033235/http://contifex.com/wiki/extensions:helpdesk}}<br />
{{Note|feel free to bring the content from the page above to our contaowiki!}} <br />
<br />
== Features ==<br />
[[File:Extensions-helpdesk-Hd130.png]]<br />
* Native Contao application; fully integrated into Contao user/member system.<br />
* Can be used as forum, as helpdesk ticketing system, or both at same time.<br />
* Both, frontend members and backend users, can be members/clients or moderators/supporters.<br />
* Multiple frontend modules with selected categories are possible; to be displayed on one or several pages, or embedded within articles.<br />
* Backend modules for configuration and forum participation.<br />
* Comprehensive and fast BBCode engine including tables, lists, several box types, syntax highlighting and more.<br />
* Popup windows for BBCode help and editor preview.<br />
* Email notification to subscribing users.<br />
* Email import to create new topics/tickets, as well as to reply to notifications.<br />
* Fully customizable layout and appearence by templates and themes.<br />
* Powerful search engine.<br />
* RSS feeds for any selection of categories.<br />
* Convenient moderator functions including cut/paste operations to move messages and topics<br />
<br />
== Abstract ==<br />
<br />
Contao Forum/Helpdesk is a message board (forum) application designed to be as well used as a helpdesk ticketing system, for example to provide formal and informal support to customers or clients. The terminology and functions of the forum categories is slightly different than the support ticketing categories, but when you know the mapping you will immediately be familiar with the application:<br />
<br />
{| border="0" cellspacing="1" cellpadding="2"<br />
! !! '''Forum''' !! '''Helpdesk'''<br />
|-<br />
| Category types (1) || Restricted or public || Private, shared or public <br />
|-<br />
| Thread naming (2) || Topics || Tickets<br />
|-<br />
| Frontend users (3) || Members || Clients<br />
|-<br />
| Backend users (4) || Moderators || Supporters<br />
|-<br />
| colspan="2" |<br />
|}<br />
<br />
== Categories ==<br />
<br />
<br />
*[[File:Extensions-helpdesk-Category416.png]] '''Public Forum''': Everybody can read the forum, even non-logged in users. Only authorized members can however open topics or reply.<br />
*[[File:Extensions-helpdesk-Category316.png]] '''Restricted Forum''': The forum is visible only for authorized members.<br />
*[[File:Extensions-helpdesk-Category216.png]] '''Public Support''': Everybody can see all tickets, even non-logged in users. Only authorized clients can however open tickets or reply.<br />
*[[File:Extensions-helpdesk-Category116.png]] '''Shared Support''': All authorized clients can see and reply each others tickets, however only the owner has priviledge to close or delete his tickets. Create such a category for example for each company with a SLA((Service level agreement)) where multiple staff members shall have access to the tickets.<br />
*[[File:Extensions-helpdesk-Category016.png]] '''Private Support''': Only the ticket owner can see his tickets, but nobody else (admins and supporters authorized for the category can of course also see and reply to the tickets). Used for example for formal support of individuals.<br />
<br />
=== Topic vs. ticket status ===<br />
<br />
==== Topic status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0116.png]] '''Pinned up:''' Open topic that is listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1116.png]] '''Normal:''' A normal open topic. <br />
*[[File:Extensions-helpdesk-Ticket2116.png]] '''Closed:''' No further edits or replies are possible, listed at the end. <br />
<br />
==== Ticket status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0016.png]] '''Unanswered:''' The ticked is open and the latest post is from a client. Listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1016.png]] '''Answered:''' The ticket is open and the latest post is from a supporter. <br />
*[[File:Extensions-helpdesk-Ticket2016.png]] '''Closed:''' Issue solved. No further edits or replies are possible, the owner may reopen it however in case. Listed at the end. <br />
<br />
=== Members and Clients ===<br />
<br />
Forum members and support clients are either "frontend members" or "backend users" in terms of TYPOlight, and belong to a member/user group authorized for the respective category. The client opening a ticket has special "owner" rights in the support type categories: He has authorization to close or delete (5) his tickets.<br />
<br />
=== Admin, Moderators and Supporters ===<br />
<br />
Moderators and supporters are either TYPOlight backend users or frontend members, and belong to a user group authorized as moderator/supporter for the respective category. They have special rights to see unpublished, to pinup, edit, unpublish or delete any topic, ticket or message.<br />
<br />
Contao admins are special backend users and appear as moderator or supporter, he/she is automaticly authorized for all categories. Additionally the admins have authorization to administrative operations, e.g. create or delete categories or change category settings. Also admins are the only ones who can see unpublished categories.<br />
<br />
=== Deletion levels ===<br />
<br />
Tickets and messages are not permanently deleted, but only unpublished from frontend when a ticket owner or member/client "deletes" them. They are still available for moderators and supporters however, mainly to serve as a knowledge resource. Tickets and messages can be permanently deleted only by admins, moderators and supporters.<br />
<br />
== Installation and Setup ==<br />
<br />
=== Requirements ===<br />
<br />
*PHP from version 5.2.0<br />
*Other requirements like [http://www.contao.org/system-requirements.html]<br />
<br />
=== Manual Installation ===<br />
<br />
*Install these required extensions in advance: [[extensions:avatar]], [[extensions:cron]], [http://www.contao.org/extension-list/view/geshi.en.html]<br />
*Download the install package from [http://www.contao.org/extension-list/view/helpdesk.en.html].<br />
*Unzip the content of TL_ROOT to the Contao base directory on your webserver.<br />
*Unzip the content of TL_FILES to the tl_files directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki><br />
*Enter the installation password and click '''Login'''<br />
*Scroll down to '''Update database tables''' and click on '''Update database'''<br />
<br />
=== Site structure settings ===<br />
<br />
The page where the forum/helpdesk is located should have caching disabled, e.g:<br />
<br />
[[File:Extensions-helpdesk-Hd200.png |Cache Settings]]<br />
<br />
=== Page layout adjustment ===<br />
<br />
The module will also work without this, however it will look poor in the frontend.<br />
<br />
Go to '''Page layouts''' and change the layout for the pages that will display the forum/helpdesk. This might be a special layout you make for the forum/helpdesk pages, or the '''Default layout'''.<br />
<br />
Scroll down to '''Additional <nowiki>‹head›</nowiki> tags''' and append the following lines to whatever might allready be in there:<br />
<br />
<source lang="php"><br />
<link rel="stylesheet" <br />
href="system/modules/helpdesk/themes/default/frontend.css" <br />
type="text/css" <br />
media="screen,projection,print" /><br />
<!--[if lte IE 6]><br />
<style type="text/css"><br />
.pngfix { behavior:url("system/modules/helpdesk/themes/default/pngfix.htc") }<br />
</style><br />
<![endif]--><br />
</source><br />
<br />
== Custom themes and templates ==<br />
<br />
=== Backend themes ===<br />
<br />
To create the theme ''mysite'' you would first of cause create a new Contao backend theme folder /system/themes/mysite and activate it in in the ''Settings''. <br />
<br />
Then likewise you would create a folder system/modules/helpdesk/themes/mysite, copy the CSS files from the adjaccent ''default'' folder and make your adjustments to them. Please note that because of the automatic fallback it is '''not''' necessary to copy all the images from the ''default'' theme. In case you want your own icons, just create a subfolder ''images'' and put them in there; any icons not found there will be taken from the ''default'' theme.<br />
<br />
=== Frontend themes ===<br />
<br />
Copy the CSS files from system/modules/helpdesk/themes/default to your custom frontend theme folder and make the desired adjustments. Don't forget to adjust the ''Page layout'' as explained before to use your custom stylesheet instead of the default one.<br />
<br />
You may want to replace some or all of the default forum/helpdesk icons too. Just put your custom icons into an ''images'' folder below your custom theme. Then enter the path of your images folder in the helpdesk settings. Again there is a fallback built in, so any icon not found in your custom images folder will be taken from the ''default'' backend theme.<br />
<br />
Instead of PNG you may use GIF icons. In case both, a GIF ''and'' a PNG icon is found, the PNG has precedence.<br />
<br />
=== Templates ===<br />
<br />
In case you need to customize the default templates, just copy the files of interest from /system/modules/helpdesk/templates to /templates and make your adjustments. <br />
<br />
Please note that the template files are used for both, frontend //and// backend.<br />
<br />
<br />
=== "Personal data" Module ===<br />
<br />
{{note|As of TYPOlight 2.5.0 it is no longer required to edit the file ModulePersonalData.php; the hook is now included in the core file. However you still need to select the template ''member_grouped_helpdesk'' up to 2.5.9. Since TYPOlight 2.6.0 you also no longer need ''member_grouped_helpdesk'' because all necessary changes got included in ''member_grouped''.}}<br />
<br />
<br />
You may want to give your frontend members the option to subscribe themself for email noification with the ''Personal data'' module. This will work right out of the box when you are using the template ''member_default''.<br />
<br />
However when using the template ''member_grouped'' you won't see the Forum/Helpdesk settings with the TYPOlight releases before 2.5.0. There is a workaround to use the grouped member display right now, which requires a small hack:<br />
<br />
Edit the file /system/modules/frontend/ModulePersonalData.php and find this code:<br />
<br />
<source lang="php">// HOOK: add newsletter fields<br />
if (in_array('newsletter', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->newsletter = $arrFields['newsletter'];<br />
$this->Template->newsletterDetails = $GLOBALS['TL_LANG']['tl_member']['newsletterDetails'];<br />
}</source><br />
<br />
Now add the following code immediately below:<br />
<br />
<source lang="php">// HOOK: add helpdesk fields<br />
if (in_array('helpdesk', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->helpdesk = $arrFields['helpdesk'];<br />
$this->Template->helpdeskDetails = $GLOBALS['TL_LANG']['tl_member']['helpdeskDetails'];<br />
}</source><br />
<br />
Finally, go to the ''Personal data'' module and select the template ''member_grouped_helpdesk''.<br />
<br />
The layout may look somewhat messy by default, here is a suggestion to add to your CSS of the respective page:<br />
<br />
<source lang="css"><br />
.mod_personalData .checkbox_container span<br />
{<br />
display:block;<br />
white-space:nowrap;<br />
}<br />
<br />
.mod_personalData .checkbox_container span *<br />
{<br />
vertical-align:middle;<br />
}<br />
</source><br />
<br />
=== Enabling RSS Feeds ===<br />
<br />
To enable RSS feeds you need to:<br />
<br />
*Make settings in each category that you want feeds for<br />
*Make global settings in the Contao settings<br />
*Add a rewrite rule to your .htaccess file<br />
*Optional: Add a link to the page header in case you want to display a feed icon in the browsers address field<br />
<br />
=== Category Settings ===<br />
<br />
In the category settings you need to enter the url of the page holding this category, plus check that RSS feeds are enabled. Repeat this for all categories where you want to have RSS feeds for:<br />
<br />
[[File:Extensions-helpdesk-Hd100.jpg|Category Settings]]<br />
<br />
=== Contao settings ===<br />
<br />
In the Contao settings enable the forum/helpdesk feeds, and then make settings for the maximum number of messages to display, the base name of the xml file (same as in the .htaccess below), the title and description of the feed. Please note that this title and description only comes into play for feeds of multiple categories, for single category feeds the title and description of the category is used:<br />
<br />
[[File:Extensions-helpdesk-Hd101.jpg|Contao Settings]]<br />
<br />
=== .htaccess Modification ===<br />
<br />
Add a rewrite rule such as below to your .htaccess file. Replace ''helpdesk'' by the term you defined as base name in the Contao settings:<br />
<br />
<source lang="php">>RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</source><br />
<br />
A typical complete .htaccess for TYPOlight 2.6.0 might be:<br />
<br />
<source lang="php"><br />
# Enable mod_rewrite<br />
RewriteEngine On<br />
RewriteBase /<br />
<br />
# Block any URI protocol in the query string<br />
RewriteCond %{QUERY_STRING} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Block any URI protocol in the request<br />
RewriteCond %{REQUEST_URI} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Rewrite TYPOlight URLs<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule .*\.html$ index.php [L]<br />
<br />
# Dynamic RSS feeds for forum/helpdesk <br />
RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</source><br />
<br />
=== Add RSS icon link to page layout ===<br />
<br />
This is optional but very convenient for your users. In case you not yet have a distinct page layout for the forum/helpdesk, make a copy of the default page layout. Edit the layout and enter the following link to the ''Additional head tags input:<br />
<br />
<source lang="php"><link rel="alternate" type="application/rss+xml" title="RSS" href="http://www.example.com/helpdesk0.xml" /></source><br />
<br />
Replace %%www.example.com%% by your site's url. The 0 tells to provide a feed over all categories the user has read access to. If you want to make a feed over the categories 4, 5 and 7 instead, the link would be helpdesk4,5,7.xml<br />
<br />
=== Email Import and Notification ===<br />
<br />
==== Email Settings ====<br />
<br />
To send out notifications and import email a batch program must run on a regular base. You need to install the [[extensions:cron|cron utility]] for this purpose. Below you find suggested settings for the two Forum/Helpdesk jobs. Use a time schedule that matches your needs; the samples below will execute once every minute.<br />
<br />
[[File:Extensions-helpdesk-Hd024.jpg|CRON Scheduler]]<br /><br />
<br />
[[File:Extensions-helpdesk-Hd025.jpg|Import Job Settings]]<br /><br />
<br />
[[File:Extensions-helpdesk-Hd026.jpg|Notification Job Settings]]<br />
<br />
==== Troubleshooting E-Mail Issues ====<br />
<br />
*Check if your servers are properly configured to send out mails by creating a test-newsletter and sending it to one of your mail accounts. Send it to another server than the one used for sending out the mail to make sure the mail is not getting caught in some spamfilters or lost in any black hole.<br />
*Using PHP Mail may work on well configured servers (which is not selve-evident these days, cheepo hosters are greeting). Use SMTP in case, that will work 100%.<br />
<br />
*A common mistake is to use a different domain in the notification sender address than in the mail account in the system settings. For example when your SMTP account in the system settings is <nowiki>admin@example.com</nowiki>, a notification sender address such as <nowiki>forum@banana.net</nowiki> is likely to fail because that would be "relaying" which is forbidden in well configured mail servers. Of cause there are exceptions from this rule, for example when the mail server is configured to handle both of those domains. Leave the notification sender address empty until notification works in case.<br />
*Switch the helpdesk logging to <nowiki>"debug"</nowiki> in the Contao system settings. You will find the log files at <nowiki>/system/logs/Helpdesk*.log</nowiki>. In case no log file gets created during the batch run, your directory permissions of /system/logs does not allow write access for the web server. In that case you can manually create the two files /system/logs/HelpdeskImport.log and /system/logs/HelpdeskNotify.log and give them read/write permissions for the web server (for example as chmod of 666).<br />
*For debugging it is time-consuming to always have to wait for the scheduler to run. You can disable the scheduler jobs and manually trigger the batch by calling these url's (replace <nowiki>%%www.example.com%%</nowiki> by your own url of cause): <br />
<source lang="php">%%http://www.example.com/system/modules/helpdesk/HelpdeskNotifyExec.php%%<br />
%%http://www.example.com/system/modules/helpdesk/HelpdeskImportExec.php%%</source><br />
You will most likely just see a blank page when executing, but then check the log files after execution to see the results.<br />
<br />
=== Manual upgrade from a previous version ===<br />
<br />
{{Caution|It is recommended to make backups of your files and your database before starting any upgrade.}}<br />
<br />
You can upgrade directly from any previous release, it is '''not''' necessary to install every version that was released between your old and new version of the application.<br />
<br />
It is optional to delete the files of the old version before installing a new release; you can choose to just overwrite the old files. However there might be obsolete files which will stay in your installation that way. So for a clean update I recommend to manually delete these files and folders in advance:<br />
<br />
*system/drivers/DC_HelpdeskTable.php<br />
*system/modules/helpdesk<br />
<br />
{{Caution|Do '''NOT''' delete the mysql tables and settings of the helpdesk application after removing the old files, neither with phpmyadmin nor by using the Contao install tool. Otherwise you will loose all your data and settings.}}<br />
<br />
Next the procedure is basicly the same as with a new installation from scratch:<br />
<br />
*Download the install package.<br />
*Unzip/upload to your TYPOlight base directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki> <br />
*Enter the installation password and click ''Login''<br />
*Scroll down to ''Update database tables'' <br />
*If any drops of obsolete table columns are due, they are by default unchecked. It is safe to check them now in order to have clean database. <br />
*Click on ''Update database'' to have the necessary database updates applied.<br />
<br />
{{note|After upgrading, you should read the change log to see what has changed and might need your attention.}}<br />
<br />
=== Optimizing full text search ===<br />
<br />
Full text search of mysql will by default not find any words shorter than 4 characters, or in the stopword list. <br />
<br />
To improve search I recommend to lower the minimum word length to 2, or even down to 1. In case your site is not english only, you might also want to disable the default stopword list (or apply [[http://members.unine.ch/jacques.savoy/clef/index.html]]).<br />
<br />
'''Brief procedure:''<br />
* Edit the mysql configuration file<br />
* Restart the mysql server<br />
* Drop the fulltext indexes<br />
* Recreate the fulltext indexes<br />
<br />
<br />
'''More detailed description (debian example):'''<br />
<br />
Edit /etc/mysql/my.cnf\\<br />
Within the section <nowiki>**[mysqld]**</nowiki> edit or add the following lines:<br />
<br />
<source lang="php">#<br />
# Fulltext config<br />
#<br />
ft_min_word_len = 2<br />
ft_stopword_file = ""</source><br />
<br />
Restart mysql:<br />
<br />
/etc/init.d/mysql restart<br />
<br />
Check system vars in phpMyAdmin to make sure it worked:<br />
<br />
[[File:Extensions-helpdesk-Myvars1.png]]<br /><br /><br />
[[File:Extensions-helpdesk-Myvars2.png]]<br />
<br />
Drop the fulltext indexes from the tables tl_search, tl_helpdesk_tickets and tl_helpdesk_messages. Check also the tables of other installed extensions for fulltext indexes, and drop them as well:<br />
<br />
[[File:Extensions-helpdesk-Dropft3.png]]<br /><br /><br />
[[File:Extensions-helpdesk-Dropft1.png]]<br /><br /><br />
[[File:Extensions-helpdesk-Dropft2.png]]<br />
<br />
Use the contao installation or extension manager to recreate the indexes based on the new settings:<br />
<br />
[[File:Extensions-helpdesk-Makeft.png]]<br />
<br />
== Getting started ==<br />
<br />
Well this section is currently very brief. Only a few screenschots so far, but I guess you will figure out usage yourself with some Contao experience. <br />
<br />
=== Create a new category ===<br />
<br />
[[File:Extensions-helpdesk-Hd110.png|Category overview]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd113.png|Category editor]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd114.png|Category editor]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd115.png|Category editor]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd116.png|Category editor]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd117.png|Category editor]]<br />
<br />
=== Create a title module for the frontend ===<br />
<br />
Basicly a title module is not required, however it helps you structure your forums and helpdesks when you want to group the categories into blocks.<br />
<br />
[[File:Extensions-helpdesk-Hd118.png|Goto modules]]<br /><br />
[[File:Extensions-helpdesk-Hd119.png|Add a module]]<br /><br />
[[File:Extensions-helpdesk-Hd120.png|Title module settings]]<br /><br />
[[File:Extensions-helpdesk-Hd121.png|Title module settings]]<br />
<br />
=== Create block modules for the frontend ===<br />
<br />
A forum/helpdesk block module displays a selection of categories in a block on the frontend. So the minimum to get started on frontend is one module of this type. In case you want to structure your categories you will make several of these modules:<br />
<br />
[[File:Extensions-helpdesk-Hdblock.png|Block module settings]]</div>Lucinahttps://en.contaowiki.org/HelpdeskHelpdesk2012-02-18T15:06:49Z<p>Lucina: /* Create block modules for the frontend */</p>
<hr />
<div>{{stub}}<br />
[[de:Helpdesk]]<br />
= Forum and Helpdesk =<br />
{{Note|Parts of this documentation were created by Peter Koch / IBK Software AG. Peter Koch has licensed this content for use on contoawiki.org. Content in this page must not be copied, reproduced, republished, uploaded, posted, transmitted, distributed, or used for the creation of derivative works without IBK's prior written consent.}}<br />
{{Hint|http://web.archive.org/web/20101121033235/http://contifex.com/wiki/extensions:helpdesk}}<br />
{{Note|feel free to bring the content from the page above to our contaowiki!}} <br />
<br />
== Features ==<br />
[[File:Extensions-helpdesk-Hd130.png]]<br />
* Native Contao application; fully integrated into Contao user/member system.<br />
* Can be used as forum, as helpdesk ticketing system, or both at same time.<br />
* Both, frontend members and backend users, can be members/clients or moderators/supporters.<br />
* Multiple frontend modules with selected categories are possible; to be displayed on one or several pages, or embedded within articles.<br />
* Backend modules for configuration and forum participation.<br />
* Comprehensive and fast BBCode engine including tables, lists, several box types, syntax highlighting and more.<br />
* Popup windows for BBCode help and editor preview.<br />
* Email notification to subscribing users.<br />
* Email import to create new topics/tickets, as well as to reply to notifications.<br />
* Fully customizable layout and appearence by templates and themes.<br />
* Powerful search engine.<br />
* RSS feeds for any selection of categories.<br />
* Convenient moderator functions including cut/paste operations to move messages and topics<br />
<br />
== Abstract ==<br />
<br />
Contao Forum/Helpdesk is a message board (forum) application designed to be as well used as a helpdesk ticketing system, for example to provide formal and informal support to customers or clients. The terminology and functions of the forum categories is slightly different than the support ticketing categories, but when you know the mapping you will immediately be familiar with the application:<br />
<br />
{| border="0" cellspacing="1" cellpadding="2"<br />
! !! '''Forum''' !! '''Helpdesk'''<br />
|-<br />
| Category types (1) || Restricted or public || Private, shared or public <br />
|-<br />
| Thread naming (2) || Topics || Tickets<br />
|-<br />
| Frontend users (3) || Members || Clients<br />
|-<br />
| Backend users (4) || Moderators || Supporters<br />
|-<br />
| colspan="2" |<br />
|}<br />
<br />
== Categories ==<br />
<br />
<br />
*[[File:Extensions-helpdesk-Category416.png]] '''Public Forum''': Everybody can read the forum, even non-logged in users. Only authorized members can however open topics or reply.<br />
*[[File:Extensions-helpdesk-Category316.png]] '''Restricted Forum''': The forum is visible only for authorized members.<br />
*[[File:Extensions-helpdesk-Category216.png]] '''Public Support''': Everybody can see all tickets, even non-logged in users. Only authorized clients can however open tickets or reply.<br />
*[[File:Extensions-helpdesk-Category116.png]] '''Shared Support''': All authorized clients can see and reply each others tickets, however only the owner has priviledge to close or delete his tickets. Create such a category for example for each company with a SLA((Service level agreement)) where multiple staff members shall have access to the tickets.<br />
*[[File:Extensions-helpdesk-Category016.png]] '''Private Support''': Only the ticket owner can see his tickets, but nobody else (admins and supporters authorized for the category can of course also see and reply to the tickets). Used for example for formal support of individuals.<br />
<br />
=== Topic vs. ticket status ===<br />
<br />
==== Topic status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0116.png]] '''Pinned up:''' Open topic that is listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1116.png]] '''Normal:''' A normal open topic. <br />
*[[File:Extensions-helpdesk-Ticket2116.png]] '''Closed:''' No further edits or replies are possible, listed at the end. <br />
<br />
==== Ticket status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0016.png]] '''Unanswered:''' The ticked is open and the latest post is from a client. Listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1016.png]] '''Answered:''' The ticket is open and the latest post is from a supporter. <br />
*[[File:Extensions-helpdesk-Ticket2016.png]] '''Closed:''' Issue solved. No further edits or replies are possible, the owner may reopen it however in case. Listed at the end. <br />
<br />
=== Members and Clients ===<br />
<br />
Forum members and support clients are either "frontend members" or "backend users" in terms of TYPOlight, and belong to a member/user group authorized for the respective category. The client opening a ticket has special "owner" rights in the support type categories: He has authorization to close or delete (5) his tickets.<br />
<br />
=== Admin, Moderators and Supporters ===<br />
<br />
Moderators and supporters are either TYPOlight backend users or frontend members, and belong to a user group authorized as moderator/supporter for the respective category. They have special rights to see unpublished, to pinup, edit, unpublish or delete any topic, ticket or message.<br />
<br />
Contao admins are special backend users and appear as moderator or supporter, he/she is automaticly authorized for all categories. Additionally the admins have authorization to administrative operations, e.g. create or delete categories or change category settings. Also admins are the only ones who can see unpublished categories.<br />
<br />
=== Deletion levels ===<br />
<br />
Tickets and messages are not permanently deleted, but only unpublished from frontend when a ticket owner or member/client "deletes" them. They are still available for moderators and supporters however, mainly to serve as a knowledge resource. Tickets and messages can be permanently deleted only by admins, moderators and supporters.<br />
<br />
== Installation and Setup ==<br />
<br />
=== Requirements ===<br />
<br />
*PHP from version 5.2.0<br />
*Other requirements like [http://www.contao.org/system-requirements.html]<br />
<br />
=== Manual Installation ===<br />
<br />
*Install these required extensions in advance: [[extensions:avatar]], [[extensions:cron]], [http://www.contao.org/extension-list/view/geshi.en.html]<br />
*Download the install package from [http://www.contao.org/extension-list/view/helpdesk.en.html].<br />
*Unzip the content of TL_ROOT to the Contao base directory on your webserver.<br />
*Unzip the content of TL_FILES to the tl_files directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki><br />
*Enter the installation password and click '''Login'''<br />
*Scroll down to '''Update database tables''' and click on '''Update database'''<br />
<br />
=== Site structure settings ===<br />
<br />
The page where the forum/helpdesk is located should have caching disabled, e.g:<br />
<br />
[[File:Extensions-helpdesk-Hd200.png |Cache Settings]]<br />
<br />
=== Page layout adjustment ===<br />
<br />
The module will also work without this, however it will look poor in the frontend.<br />
<br />
Go to '''Page layouts''' and change the layout for the pages that will display the forum/helpdesk. This might be a special layout you make for the forum/helpdesk pages, or the '''Default layout'''.<br />
<br />
Scroll down to '''Additional <nowiki>‹head›</nowiki> tags''' and append the following lines to whatever might allready be in there:<br />
<br />
<source lang="php"><br />
<link rel="stylesheet" <br />
href="system/modules/helpdesk/themes/default/frontend.css" <br />
type="text/css" <br />
media="screen,projection,print" /><br />
<!--[if lte IE 6]><br />
<style type="text/css"><br />
.pngfix { behavior:url("system/modules/helpdesk/themes/default/pngfix.htc") }<br />
</style><br />
<![endif]--><br />
</source><br />
<br />
== Custom themes and templates ==<br />
<br />
=== Backend themes ===<br />
<br />
To create the theme ''mysite'' you would first of cause create a new Contao backend theme folder /system/themes/mysite and activate it in in the ''Settings''. <br />
<br />
Then likewise you would create a folder system/modules/helpdesk/themes/mysite, copy the CSS files from the adjaccent ''default'' folder and make your adjustments to them. Please note that because of the automatic fallback it is '''not''' necessary to copy all the images from the ''default'' theme. In case you want your own icons, just create a subfolder ''images'' and put them in there; any icons not found there will be taken from the ''default'' theme.<br />
<br />
=== Frontend themes ===<br />
<br />
Copy the CSS files from system/modules/helpdesk/themes/default to your custom frontend theme folder and make the desired adjustments. Don't forget to adjust the ''Page layout'' as explained before to use your custom stylesheet instead of the default one.<br />
<br />
You may want to replace some or all of the default forum/helpdesk icons too. Just put your custom icons into an ''images'' folder below your custom theme. Then enter the path of your images folder in the helpdesk settings. Again there is a fallback built in, so any icon not found in your custom images folder will be taken from the ''default'' backend theme.<br />
<br />
Instead of PNG you may use GIF icons. In case both, a GIF ''and'' a PNG icon is found, the PNG has precedence.<br />
<br />
=== Templates ===<br />
<br />
In case you need to customize the default templates, just copy the files of interest from /system/modules/helpdesk/templates to /templates and make your adjustments. <br />
<br />
Please note that the template files are used for both, frontend //and// backend.<br />
<br />
<br />
=== "Personal data" Module ===<br />
<br />
{{note|As of TYPOlight 2.5.0 it is no longer required to edit the file ModulePersonalData.php; the hook is now included in the core file. However you still need to select the template ''member_grouped_helpdesk'' up to 2.5.9. Since TYPOlight 2.6.0 you also no longer need ''member_grouped_helpdesk'' because all necessary changes got included in ''member_grouped''.}}<br />
<br />
<br />
You may want to give your frontend members the option to subscribe themself for email noification with the ''Personal data'' module. This will work right out of the box when you are using the template ''member_default''.<br />
<br />
However when using the template ''member_grouped'' you won't see the Forum/Helpdesk settings with the TYPOlight releases before 2.5.0. There is a workaround to use the grouped member display right now, which requires a small hack:<br />
<br />
Edit the file /system/modules/frontend/ModulePersonalData.php and find this code:<br />
<br />
<source lang="php">// HOOK: add newsletter fields<br />
if (in_array('newsletter', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->newsletter = $arrFields['newsletter'];<br />
$this->Template->newsletterDetails = $GLOBALS['TL_LANG']['tl_member']['newsletterDetails'];<br />
}</source><br />
<br />
Now add the following code immediately below:<br />
<br />
<source lang="php">// HOOK: add helpdesk fields<br />
if (in_array('helpdesk', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->helpdesk = $arrFields['helpdesk'];<br />
$this->Template->helpdeskDetails = $GLOBALS['TL_LANG']['tl_member']['helpdeskDetails'];<br />
}</source><br />
<br />
Finally, go to the ''Personal data'' module and select the template ''member_grouped_helpdesk''.<br />
<br />
The layout may look somewhat messy by default, here is a suggestion to add to your CSS of the respective page:<br />
<br />
<source lang="css"><br />
.mod_personalData .checkbox_container span<br />
{<br />
display:block;<br />
white-space:nowrap;<br />
}<br />
<br />
.mod_personalData .checkbox_container span *<br />
{<br />
vertical-align:middle;<br />
}<br />
</source><br />
<br />
=== Enabling RSS Feeds ===<br />
<br />
To enable RSS feeds you need to:<br />
<br />
*Make settings in each category that you want feeds for<br />
*Make global settings in the Contao settings<br />
*Add a rewrite rule to your .htaccess file<br />
*Optional: Add a link to the page header in case you want to display a feed icon in the browsers address field<br />
<br />
=== Category Settings ===<br />
<br />
In the category settings you need to enter the url of the page holding this category, plus check that RSS feeds are enabled. Repeat this for all categories where you want to have RSS feeds for:<br />
<br />
[[File:Extensions-helpdesk-Hd100.jpg|Category Settings]]<br />
<br />
=== Contao settings ===<br />
<br />
In the Contao settings enable the forum/helpdesk feeds, and then make settings for the maximum number of messages to display, the base name of the xml file (same as in the .htaccess below), the title and description of the feed. Please note that this title and description only comes into play for feeds of multiple categories, for single category feeds the title and description of the category is used:<br />
<br />
[[File:Extensions-helpdesk-Hd101.jpg|Contao Settings]]<br />
<br />
=== .htaccess Modification ===<br />
<br />
Add a rewrite rule such as below to your .htaccess file. Replace ''helpdesk'' by the term you defined as base name in the Contao settings:<br />
<br />
<source lang="php">>RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</source><br />
<br />
A typical complete .htaccess for TYPOlight 2.6.0 might be:<br />
<br />
<source lang="php"><br />
# Enable mod_rewrite<br />
RewriteEngine On<br />
RewriteBase /<br />
<br />
# Block any URI protocol in the query string<br />
RewriteCond %{QUERY_STRING} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Block any URI protocol in the request<br />
RewriteCond %{REQUEST_URI} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Rewrite TYPOlight URLs<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule .*\.html$ index.php [L]<br />
<br />
# Dynamic RSS feeds for forum/helpdesk <br />
RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</source><br />
<br />
=== Add RSS icon link to page layout ===<br />
<br />
This is optional but very convenient for your users. In case you not yet have a distinct page layout for the forum/helpdesk, make a copy of the default page layout. Edit the layout and enter the following link to the //Additional head tags// input:<br />
<br />
<code><link rel="alternate" type="application/rss+xml" title="RSS" href="http://www.example.com/helpdesk0.xml" /></code><br />
<br />
Replace %%www.example.com%% by your site's url. The 0 tells to provide a feed over all categories the user has read access to. If you want to make a feed over the categories 4, 5 and 7 instead, the link would be helpdesk4,5,7.xml<br />
<br />
=== Email Import and Notification ===<br />
<br />
==== Email Settings ====<br />
<br />
To send out notifications and import email a batch program must run on a regular base. You need to install the [[extensions:cron|cron utility]] for this purpose. Below you find suggested settings for the two Forum/Helpdesk jobs. Use a time schedule that matches your needs; the samples below will execute once every minute.<br />
<br />
[[File:Extensions-helpdesk-Hd024.jpg|CRON Scheduler]]<br /><br />
<br />
[[File:Extensions-helpdesk-Hd025.jpg|Import Job Settings]]<br /><br />
<br />
[[File:Extensions-helpdesk-Hd026.jpg|Notification Job Settings]]<br />
<br />
==== Troubleshooting E-Mail Issues ====<br />
<br />
*Check if your servers are properly configured to send out mails by creating a test-newsletter and sending it to one of your mail accounts. Send it to another server than the one used for sending out the mail to make sure the mail is not getting caught in some spamfilters or lost in any black hole.<br />
*Using PHP Mail may work on well configured servers (which is not selve-evident these days, cheepo hosters are greeting). Use SMTP in case, that will work 100%.<br />
<br />
*A common mistake is to use a different domain in the notification sender address than in the mail account in the system settings. For example when your SMTP account in the system settings is <nowiki>admin@example.com</nowiki>, a notification sender address such as <nowiki>forum@banana.net</nowiki> is likely to fail because that would be "relaying" which is forbidden in well configured mail servers. Of cause there are exceptions from this rule, for example when the mail server is configured to handle both of those domains. Leave the notification sender address empty until notification works in case.<br />
*Switch the helpdesk logging to <nowiki>"debug"</nowiki> in the Contao system settings. You will find the log files at <nowiki>/system/logs/Helpdesk*.log</nowiki>. In case no log file gets created during the batch run, your directory permissions of /system/logs does not allow write access for the web server. In that case you can manually create the two files /system/logs/HelpdeskImport.log and /system/logs/HelpdeskNotify.log and give them read/write permissions for the web server (for example as chmod of 666).<br />
*For debugging it is time-consuming to always have to wait for the scheduler to run. You can disable the scheduler jobs and manually trigger the batch by calling these url's (replace <nowiki>%%www.example.com%%</nowiki> by your own url of cause): <br />
<source lang="php">%%http://www.example.com/system/modules/helpdesk/HelpdeskNotifyExec.php%%<br />
%%http://www.example.com/system/modules/helpdesk/HelpdeskImportExec.php%%</source><br />
You will most likely just see a blank page when executing, but then check the log files after execution to see the results.<br />
<br />
=== Manual upgrade from a previous version ===<br />
<br />
{{Caution|It is recommended to make backups of your files and your database before starting any upgrade.}}<br />
<br />
You can upgrade directly from any previous release, it is '''not''' necessary to install every version that was released between your old and new version of the application.<br />
<br />
It is optional to delete the files of the old version before installing a new release; you can choose to just overwrite the old files. However there might be obsolete files which will stay in your installation that way. So for a clean update I recommend to manually delete these files and folders in advance:<br />
<br />
*system/drivers/DC_HelpdeskTable.php<br />
*system/modules/helpdesk<br />
<br />
{{Caution|Do '''NOT''' delete the mysql tables and settings of the helpdesk application after removing the old files, neither with phpmyadmin nor by using the Contao install tool. Otherwise you will loose all your data and settings.}}<br />
<br />
Next the procedure is basicly the same as with a new installation from scratch:<br />
<br />
*Download the install package.<br />
*Unzip/upload to your TYPOlight base directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki> <br />
*Enter the installation password and click ''Login''<br />
*Scroll down to ''Update database tables'' <br />
*If any drops of obsolete table columns are due, they are by default unchecked. It is safe to check them now in order to have clean database. <br />
*Click on ''Update database'' to have the necessary database updates applied.<br />
<br />
{{note|After upgrading, you should read the change log to see what has changed and might need your attention.}}<br />
<br />
=== Optimizing full text search ===<br />
<br />
Full text search of mysql will by default not find any words shorter than 4 characters, or in the stopword list. <br />
<br />
To improve search I recommend to lower the minimum word length to 2, or even down to 1. In case your site is not english only, you might also want to disable the default stopword list (or apply [[http://members.unine.ch/jacques.savoy/clef/index.html]]).<br />
<br />
'''Brief procedure:''<br />
* Edit the mysql configuration file<br />
* Restart the mysql server<br />
* Drop the fulltext indexes<br />
* Recreate the fulltext indexes<br />
<br />
<br />
'''More detailed description (debian example):'''<br />
<br />
Edit /etc/mysql/my.cnf\\<br />
Within the section <nowiki>**[mysqld]**</nowiki> edit or add the following lines:<br />
<br />
<source lang="php">#<br />
# Fulltext config<br />
#<br />
ft_min_word_len = 2<br />
ft_stopword_file = ""</source><br />
<br />
Restart mysql:<br />
<br />
/etc/init.d/mysql restart<br />
<br />
Check system vars in phpMyAdmin to make sure it worked:<br />
<br />
[[File:Extensions-helpdesk-Myvars1.png]]<br /><br /><br />
[[File:Extensions-helpdesk-Myvars2.png]]<br />
<br />
Drop the fulltext indexes from the tables tl_search, tl_helpdesk_tickets and tl_helpdesk_messages. Check also the tables of other installed extensions for fulltext indexes, and drop them as well:<br />
<br />
[[File:Extensions-helpdesk-Dropft3.png]]<br /><br /><br />
[[File:Extensions-helpdesk-Dropft1.png]]<br /><br /><br />
[[File:Extensions-helpdesk-Dropft2.png]]<br />
<br />
Use the contao installation or extension manager to recreate the indexes based on the new settings:<br />
<br />
[[File:Extensions-helpdesk-Makeft.png]]<br />
<br />
== Getting started ==<br />
<br />
Well this section is currently very brief. Only a few screenschots so far, but I guess you will figure out usage yourself with some Contao experience. <br />
<br />
=== Create a new category ===<br />
<br />
[[File:Extensions-helpdesk-Hd110.png|Category overview]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd113.png|Category editor]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd114.png|Category editor]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd115.png|Category editor]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd116.png|Category editor]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd117.png|Category editor]]<br />
<br />
=== Create a title module for the frontend ===<br />
<br />
Basicly a title module is not required, however it helps you structure your forums and helpdesks when you want to group the categories into blocks.<br />
<br />
[[File:Extensions-helpdesk-Hd118.png|Goto modules]]<br /><br />
[[File:Extensions-helpdesk-Hd119.png|Add a module]]<br /><br />
[[File:Extensions-helpdesk-Hd120.png|Title module settings]]<br /><br />
[[File:Extensions-helpdesk-Hd121.png|Title module settings]]<br />
<br />
=== Create block modules for the frontend ===<br />
<br />
A forum/helpdesk block module displays a selection of categories in a block on the frontend. So the minimum to get started on frontend is one module of this type. In case you want to structure your categories you will make several of these modules:<br />
<br />
[[File:Extensions-helpdesk-Hdblock.png|Block module settings]]</div>Lucinahttps://en.contaowiki.org/HelpdeskHelpdesk2012-02-18T15:06:15Z<p>Lucina: /* Getting started */</p>
<hr />
<div>{{stub}}<br />
[[de:Helpdesk]]<br />
= Forum and Helpdesk =<br />
{{Note|Parts of this documentation were created by Peter Koch / IBK Software AG. Peter Koch has licensed this content for use on contoawiki.org. Content in this page must not be copied, reproduced, republished, uploaded, posted, transmitted, distributed, or used for the creation of derivative works without IBK's prior written consent.}}<br />
{{Hint|http://web.archive.org/web/20101121033235/http://contifex.com/wiki/extensions:helpdesk}}<br />
{{Note|feel free to bring the content from the page above to our contaowiki!}} <br />
<br />
== Features ==<br />
[[File:Extensions-helpdesk-Hd130.png]]<br />
* Native Contao application; fully integrated into Contao user/member system.<br />
* Can be used as forum, as helpdesk ticketing system, or both at same time.<br />
* Both, frontend members and backend users, can be members/clients or moderators/supporters.<br />
* Multiple frontend modules with selected categories are possible; to be displayed on one or several pages, or embedded within articles.<br />
* Backend modules for configuration and forum participation.<br />
* Comprehensive and fast BBCode engine including tables, lists, several box types, syntax highlighting and more.<br />
* Popup windows for BBCode help and editor preview.<br />
* Email notification to subscribing users.<br />
* Email import to create new topics/tickets, as well as to reply to notifications.<br />
* Fully customizable layout and appearence by templates and themes.<br />
* Powerful search engine.<br />
* RSS feeds for any selection of categories.<br />
* Convenient moderator functions including cut/paste operations to move messages and topics<br />
<br />
== Abstract ==<br />
<br />
Contao Forum/Helpdesk is a message board (forum) application designed to be as well used as a helpdesk ticketing system, for example to provide formal and informal support to customers or clients. The terminology and functions of the forum categories is slightly different than the support ticketing categories, but when you know the mapping you will immediately be familiar with the application:<br />
<br />
{| border="0" cellspacing="1" cellpadding="2"<br />
! !! '''Forum''' !! '''Helpdesk'''<br />
|-<br />
| Category types (1) || Restricted or public || Private, shared or public <br />
|-<br />
| Thread naming (2) || Topics || Tickets<br />
|-<br />
| Frontend users (3) || Members || Clients<br />
|-<br />
| Backend users (4) || Moderators || Supporters<br />
|-<br />
| colspan="2" |<br />
|}<br />
<br />
== Categories ==<br />
<br />
<br />
*[[File:Extensions-helpdesk-Category416.png]] '''Public Forum''': Everybody can read the forum, even non-logged in users. Only authorized members can however open topics or reply.<br />
*[[File:Extensions-helpdesk-Category316.png]] '''Restricted Forum''': The forum is visible only for authorized members.<br />
*[[File:Extensions-helpdesk-Category216.png]] '''Public Support''': Everybody can see all tickets, even non-logged in users. Only authorized clients can however open tickets or reply.<br />
*[[File:Extensions-helpdesk-Category116.png]] '''Shared Support''': All authorized clients can see and reply each others tickets, however only the owner has priviledge to close or delete his tickets. Create such a category for example for each company with a SLA((Service level agreement)) where multiple staff members shall have access to the tickets.<br />
*[[File:Extensions-helpdesk-Category016.png]] '''Private Support''': Only the ticket owner can see his tickets, but nobody else (admins and supporters authorized for the category can of course also see and reply to the tickets). Used for example for formal support of individuals.<br />
<br />
=== Topic vs. ticket status ===<br />
<br />
==== Topic status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0116.png]] '''Pinned up:''' Open topic that is listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1116.png]] '''Normal:''' A normal open topic. <br />
*[[File:Extensions-helpdesk-Ticket2116.png]] '''Closed:''' No further edits or replies are possible, listed at the end. <br />
<br />
==== Ticket status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0016.png]] '''Unanswered:''' The ticked is open and the latest post is from a client. Listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1016.png]] '''Answered:''' The ticket is open and the latest post is from a supporter. <br />
*[[File:Extensions-helpdesk-Ticket2016.png]] '''Closed:''' Issue solved. No further edits or replies are possible, the owner may reopen it however in case. Listed at the end. <br />
<br />
=== Members and Clients ===<br />
<br />
Forum members and support clients are either "frontend members" or "backend users" in terms of TYPOlight, and belong to a member/user group authorized for the respective category. The client opening a ticket has special "owner" rights in the support type categories: He has authorization to close or delete (5) his tickets.<br />
<br />
=== Admin, Moderators and Supporters ===<br />
<br />
Moderators and supporters are either TYPOlight backend users or frontend members, and belong to a user group authorized as moderator/supporter for the respective category. They have special rights to see unpublished, to pinup, edit, unpublish or delete any topic, ticket or message.<br />
<br />
Contao admins are special backend users and appear as moderator or supporter, he/she is automaticly authorized for all categories. Additionally the admins have authorization to administrative operations, e.g. create or delete categories or change category settings. Also admins are the only ones who can see unpublished categories.<br />
<br />
=== Deletion levels ===<br />
<br />
Tickets and messages are not permanently deleted, but only unpublished from frontend when a ticket owner or member/client "deletes" them. They are still available for moderators and supporters however, mainly to serve as a knowledge resource. Tickets and messages can be permanently deleted only by admins, moderators and supporters.<br />
<br />
== Installation and Setup ==<br />
<br />
=== Requirements ===<br />
<br />
*PHP from version 5.2.0<br />
*Other requirements like [http://www.contao.org/system-requirements.html]<br />
<br />
=== Manual Installation ===<br />
<br />
*Install these required extensions in advance: [[extensions:avatar]], [[extensions:cron]], [http://www.contao.org/extension-list/view/geshi.en.html]<br />
*Download the install package from [http://www.contao.org/extension-list/view/helpdesk.en.html].<br />
*Unzip the content of TL_ROOT to the Contao base directory on your webserver.<br />
*Unzip the content of TL_FILES to the tl_files directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki><br />
*Enter the installation password and click '''Login'''<br />
*Scroll down to '''Update database tables''' and click on '''Update database'''<br />
<br />
=== Site structure settings ===<br />
<br />
The page where the forum/helpdesk is located should have caching disabled, e.g:<br />
<br />
[[File:Extensions-helpdesk-Hd200.png |Cache Settings]]<br />
<br />
=== Page layout adjustment ===<br />
<br />
The module will also work without this, however it will look poor in the frontend.<br />
<br />
Go to '''Page layouts''' and change the layout for the pages that will display the forum/helpdesk. This might be a special layout you make for the forum/helpdesk pages, or the '''Default layout'''.<br />
<br />
Scroll down to '''Additional <nowiki>‹head›</nowiki> tags''' and append the following lines to whatever might allready be in there:<br />
<br />
<source lang="php"><br />
<link rel="stylesheet" <br />
href="system/modules/helpdesk/themes/default/frontend.css" <br />
type="text/css" <br />
media="screen,projection,print" /><br />
<!--[if lte IE 6]><br />
<style type="text/css"><br />
.pngfix { behavior:url("system/modules/helpdesk/themes/default/pngfix.htc") }<br />
</style><br />
<![endif]--><br />
</source><br />
<br />
== Custom themes and templates ==<br />
<br />
=== Backend themes ===<br />
<br />
To create the theme ''mysite'' you would first of cause create a new Contao backend theme folder /system/themes/mysite and activate it in in the ''Settings''. <br />
<br />
Then likewise you would create a folder system/modules/helpdesk/themes/mysite, copy the CSS files from the adjaccent ''default'' folder and make your adjustments to them. Please note that because of the automatic fallback it is '''not''' necessary to copy all the images from the ''default'' theme. In case you want your own icons, just create a subfolder ''images'' and put them in there; any icons not found there will be taken from the ''default'' theme.<br />
<br />
=== Frontend themes ===<br />
<br />
Copy the CSS files from system/modules/helpdesk/themes/default to your custom frontend theme folder and make the desired adjustments. Don't forget to adjust the ''Page layout'' as explained before to use your custom stylesheet instead of the default one.<br />
<br />
You may want to replace some or all of the default forum/helpdesk icons too. Just put your custom icons into an ''images'' folder below your custom theme. Then enter the path of your images folder in the helpdesk settings. Again there is a fallback built in, so any icon not found in your custom images folder will be taken from the ''default'' backend theme.<br />
<br />
Instead of PNG you may use GIF icons. In case both, a GIF ''and'' a PNG icon is found, the PNG has precedence.<br />
<br />
=== Templates ===<br />
<br />
In case you need to customize the default templates, just copy the files of interest from /system/modules/helpdesk/templates to /templates and make your adjustments. <br />
<br />
Please note that the template files are used for both, frontend //and// backend.<br />
<br />
<br />
=== "Personal data" Module ===<br />
<br />
{{note|As of TYPOlight 2.5.0 it is no longer required to edit the file ModulePersonalData.php; the hook is now included in the core file. However you still need to select the template ''member_grouped_helpdesk'' up to 2.5.9. Since TYPOlight 2.6.0 you also no longer need ''member_grouped_helpdesk'' because all necessary changes got included in ''member_grouped''.}}<br />
<br />
<br />
You may want to give your frontend members the option to subscribe themself for email noification with the ''Personal data'' module. This will work right out of the box when you are using the template ''member_default''.<br />
<br />
However when using the template ''member_grouped'' you won't see the Forum/Helpdesk settings with the TYPOlight releases before 2.5.0. There is a workaround to use the grouped member display right now, which requires a small hack:<br />
<br />
Edit the file /system/modules/frontend/ModulePersonalData.php and find this code:<br />
<br />
<source lang="php">// HOOK: add newsletter fields<br />
if (in_array('newsletter', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->newsletter = $arrFields['newsletter'];<br />
$this->Template->newsletterDetails = $GLOBALS['TL_LANG']['tl_member']['newsletterDetails'];<br />
}</source><br />
<br />
Now add the following code immediately below:<br />
<br />
<source lang="php">// HOOK: add helpdesk fields<br />
if (in_array('helpdesk', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->helpdesk = $arrFields['helpdesk'];<br />
$this->Template->helpdeskDetails = $GLOBALS['TL_LANG']['tl_member']['helpdeskDetails'];<br />
}</source><br />
<br />
Finally, go to the ''Personal data'' module and select the template ''member_grouped_helpdesk''.<br />
<br />
The layout may look somewhat messy by default, here is a suggestion to add to your CSS of the respective page:<br />
<br />
<source lang="css"><br />
.mod_personalData .checkbox_container span<br />
{<br />
display:block;<br />
white-space:nowrap;<br />
}<br />
<br />
.mod_personalData .checkbox_container span *<br />
{<br />
vertical-align:middle;<br />
}<br />
</source><br />
<br />
=== Enabling RSS Feeds ===<br />
<br />
To enable RSS feeds you need to:<br />
<br />
*Make settings in each category that you want feeds for<br />
*Make global settings in the Contao settings<br />
*Add a rewrite rule to your .htaccess file<br />
*Optional: Add a link to the page header in case you want to display a feed icon in the browsers address field<br />
<br />
=== Category Settings ===<br />
<br />
In the category settings you need to enter the url of the page holding this category, plus check that RSS feeds are enabled. Repeat this for all categories where you want to have RSS feeds for:<br />
<br />
[[File:Extensions-helpdesk-Hd100.jpg|Category Settings]]<br />
<br />
=== Contao settings ===<br />
<br />
In the Contao settings enable the forum/helpdesk feeds, and then make settings for the maximum number of messages to display, the base name of the xml file (same as in the .htaccess below), the title and description of the feed. Please note that this title and description only comes into play for feeds of multiple categories, for single category feeds the title and description of the category is used:<br />
<br />
[[File:Extensions-helpdesk-Hd101.jpg|Contao Settings]]<br />
<br />
=== .htaccess Modification ===<br />
<br />
Add a rewrite rule such as below to your .htaccess file. Replace ''helpdesk'' by the term you defined as base name in the Contao settings:<br />
<br />
<source lang="php">>RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</source><br />
<br />
A typical complete .htaccess for TYPOlight 2.6.0 might be:<br />
<br />
<source lang="php"><br />
# Enable mod_rewrite<br />
RewriteEngine On<br />
RewriteBase /<br />
<br />
# Block any URI protocol in the query string<br />
RewriteCond %{QUERY_STRING} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Block any URI protocol in the request<br />
RewriteCond %{REQUEST_URI} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Rewrite TYPOlight URLs<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule .*\.html$ index.php [L]<br />
<br />
# Dynamic RSS feeds for forum/helpdesk <br />
RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</source><br />
<br />
=== Add RSS icon link to page layout ===<br />
<br />
This is optional but very convenient for your users. In case you not yet have a distinct page layout for the forum/helpdesk, make a copy of the default page layout. Edit the layout and enter the following link to the //Additional head tags// input:<br />
<br />
<code><link rel="alternate" type="application/rss+xml" title="RSS" href="http://www.example.com/helpdesk0.xml" /></code><br />
<br />
Replace %%www.example.com%% by your site's url. The 0 tells to provide a feed over all categories the user has read access to. If you want to make a feed over the categories 4, 5 and 7 instead, the link would be helpdesk4,5,7.xml<br />
<br />
=== Email Import and Notification ===<br />
<br />
==== Email Settings ====<br />
<br />
To send out notifications and import email a batch program must run on a regular base. You need to install the [[extensions:cron|cron utility]] for this purpose. Below you find suggested settings for the two Forum/Helpdesk jobs. Use a time schedule that matches your needs; the samples below will execute once every minute.<br />
<br />
[[File:Extensions-helpdesk-Hd024.jpg|CRON Scheduler]]<br /><br />
<br />
[[File:Extensions-helpdesk-Hd025.jpg|Import Job Settings]]<br /><br />
<br />
[[File:Extensions-helpdesk-Hd026.jpg|Notification Job Settings]]<br />
<br />
==== Troubleshooting E-Mail Issues ====<br />
<br />
*Check if your servers are properly configured to send out mails by creating a test-newsletter and sending it to one of your mail accounts. Send it to another server than the one used for sending out the mail to make sure the mail is not getting caught in some spamfilters or lost in any black hole.<br />
*Using PHP Mail may work on well configured servers (which is not selve-evident these days, cheepo hosters are greeting). Use SMTP in case, that will work 100%.<br />
<br />
*A common mistake is to use a different domain in the notification sender address than in the mail account in the system settings. For example when your SMTP account in the system settings is <nowiki>admin@example.com</nowiki>, a notification sender address such as <nowiki>forum@banana.net</nowiki> is likely to fail because that would be "relaying" which is forbidden in well configured mail servers. Of cause there are exceptions from this rule, for example when the mail server is configured to handle both of those domains. Leave the notification sender address empty until notification works in case.<br />
*Switch the helpdesk logging to <nowiki>"debug"</nowiki> in the Contao system settings. You will find the log files at <nowiki>/system/logs/Helpdesk*.log</nowiki>. In case no log file gets created during the batch run, your directory permissions of /system/logs does not allow write access for the web server. In that case you can manually create the two files /system/logs/HelpdeskImport.log and /system/logs/HelpdeskNotify.log and give them read/write permissions for the web server (for example as chmod of 666).<br />
*For debugging it is time-consuming to always have to wait for the scheduler to run. You can disable the scheduler jobs and manually trigger the batch by calling these url's (replace <nowiki>%%www.example.com%%</nowiki> by your own url of cause): <br />
<source lang="php">%%http://www.example.com/system/modules/helpdesk/HelpdeskNotifyExec.php%%<br />
%%http://www.example.com/system/modules/helpdesk/HelpdeskImportExec.php%%</source><br />
You will most likely just see a blank page when executing, but then check the log files after execution to see the results.<br />
<br />
=== Manual upgrade from a previous version ===<br />
<br />
{{Caution|It is recommended to make backups of your files and your database before starting any upgrade.}}<br />
<br />
You can upgrade directly from any previous release, it is '''not''' necessary to install every version that was released between your old and new version of the application.<br />
<br />
It is optional to delete the files of the old version before installing a new release; you can choose to just overwrite the old files. However there might be obsolete files which will stay in your installation that way. So for a clean update I recommend to manually delete these files and folders in advance:<br />
<br />
*system/drivers/DC_HelpdeskTable.php<br />
*system/modules/helpdesk<br />
<br />
{{Caution|Do '''NOT''' delete the mysql tables and settings of the helpdesk application after removing the old files, neither with phpmyadmin nor by using the Contao install tool. Otherwise you will loose all your data and settings.}}<br />
<br />
Next the procedure is basicly the same as with a new installation from scratch:<br />
<br />
*Download the install package.<br />
*Unzip/upload to your TYPOlight base directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki> <br />
*Enter the installation password and click ''Login''<br />
*Scroll down to ''Update database tables'' <br />
*If any drops of obsolete table columns are due, they are by default unchecked. It is safe to check them now in order to have clean database. <br />
*Click on ''Update database'' to have the necessary database updates applied.<br />
<br />
{{note|After upgrading, you should read the change log to see what has changed and might need your attention.}}<br />
<br />
=== Optimizing full text search ===<br />
<br />
Full text search of mysql will by default not find any words shorter than 4 characters, or in the stopword list. <br />
<br />
To improve search I recommend to lower the minimum word length to 2, or even down to 1. In case your site is not english only, you might also want to disable the default stopword list (or apply [[http://members.unine.ch/jacques.savoy/clef/index.html]]).<br />
<br />
'''Brief procedure:''<br />
* Edit the mysql configuration file<br />
* Restart the mysql server<br />
* Drop the fulltext indexes<br />
* Recreate the fulltext indexes<br />
<br />
<br />
'''More detailed description (debian example):'''<br />
<br />
Edit /etc/mysql/my.cnf\\<br />
Within the section <nowiki>**[mysqld]**</nowiki> edit or add the following lines:<br />
<br />
<source lang="php">#<br />
# Fulltext config<br />
#<br />
ft_min_word_len = 2<br />
ft_stopword_file = ""</source><br />
<br />
Restart mysql:<br />
<br />
/etc/init.d/mysql restart<br />
<br />
Check system vars in phpMyAdmin to make sure it worked:<br />
<br />
[[File:Extensions-helpdesk-Myvars1.png]]<br /><br /><br />
[[File:Extensions-helpdesk-Myvars2.png]]<br />
<br />
Drop the fulltext indexes from the tables tl_search, tl_helpdesk_tickets and tl_helpdesk_messages. Check also the tables of other installed extensions for fulltext indexes, and drop them as well:<br />
<br />
[[File:Extensions-helpdesk-Dropft3.png]]<br /><br /><br />
[[File:Extensions-helpdesk-Dropft1.png]]<br /><br /><br />
[[File:Extensions-helpdesk-Dropft2.png]]<br />
<br />
Use the contao installation or extension manager to recreate the indexes based on the new settings:<br />
<br />
[[File:Extensions-helpdesk-Makeft.png]]<br />
<br />
== Getting started ==<br />
<br />
Well this section is currently very brief. Only a few screenschots so far, but I guess you will figure out usage yourself with some Contao experience. <br />
<br />
=== Create a new category ===<br />
<br />
[[File:Extensions-helpdesk-Hd110.png|Category overview]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd113.png|Category editor]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd114.png|Category editor]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd115.png|Category editor]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd116.png|Category editor]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd117.png|Category editor]]<br />
<br />
=== Create a title module for the frontend ===<br />
<br />
Basicly a title module is not required, however it helps you structure your forums and helpdesks when you want to group the categories into blocks.<br />
<br />
[[File:Extensions-helpdesk-Hd118.png|Goto modules]]<br /><br />
[[File:Extensions-helpdesk-Hd119.png|Add a module]]<br /><br />
[[File:Extensions-helpdesk-Hd120.png|Title module settings]]<br /><br />
[[File:Extensions-helpdesk-Hd121.png|Title module settings]]<br />
<br />
=== Create block modules for the frontend ===<br />
<br />
A forum/helpdesk block module displays a selection of categories in a block on the frontend. So the minimum to get started on frontend is one module of this type. In case you want to structure your categories you will make several of these modules:<br />
<br />
{{:extensions:helpdesk:hdblock.png|Block module settings}}</div>Lucinahttps://en.contaowiki.org/HelpdeskHelpdesk2012-02-18T15:05:56Z<p>Lucina: /* Create a new category = */</p>
<hr />
<div>{{stub}}<br />
[[de:Helpdesk]]<br />
= Forum and Helpdesk =<br />
{{Note|Parts of this documentation were created by Peter Koch / IBK Software AG. Peter Koch has licensed this content for use on contoawiki.org. Content in this page must not be copied, reproduced, republished, uploaded, posted, transmitted, distributed, or used for the creation of derivative works without IBK's prior written consent.}}<br />
{{Hint|http://web.archive.org/web/20101121033235/http://contifex.com/wiki/extensions:helpdesk}}<br />
{{Note|feel free to bring the content from the page above to our contaowiki!}} <br />
<br />
== Features ==<br />
[[File:Extensions-helpdesk-Hd130.png]]<br />
* Native Contao application; fully integrated into Contao user/member system.<br />
* Can be used as forum, as helpdesk ticketing system, or both at same time.<br />
* Both, frontend members and backend users, can be members/clients or moderators/supporters.<br />
* Multiple frontend modules with selected categories are possible; to be displayed on one or several pages, or embedded within articles.<br />
* Backend modules for configuration and forum participation.<br />
* Comprehensive and fast BBCode engine including tables, lists, several box types, syntax highlighting and more.<br />
* Popup windows for BBCode help and editor preview.<br />
* Email notification to subscribing users.<br />
* Email import to create new topics/tickets, as well as to reply to notifications.<br />
* Fully customizable layout and appearence by templates and themes.<br />
* Powerful search engine.<br />
* RSS feeds for any selection of categories.<br />
* Convenient moderator functions including cut/paste operations to move messages and topics<br />
<br />
== Abstract ==<br />
<br />
Contao Forum/Helpdesk is a message board (forum) application designed to be as well used as a helpdesk ticketing system, for example to provide formal and informal support to customers or clients. The terminology and functions of the forum categories is slightly different than the support ticketing categories, but when you know the mapping you will immediately be familiar with the application:<br />
<br />
{| border="0" cellspacing="1" cellpadding="2"<br />
! !! '''Forum''' !! '''Helpdesk'''<br />
|-<br />
| Category types (1) || Restricted or public || Private, shared or public <br />
|-<br />
| Thread naming (2) || Topics || Tickets<br />
|-<br />
| Frontend users (3) || Members || Clients<br />
|-<br />
| Backend users (4) || Moderators || Supporters<br />
|-<br />
| colspan="2" |<br />
|}<br />
<br />
== Categories ==<br />
<br />
<br />
*[[File:Extensions-helpdesk-Category416.png]] '''Public Forum''': Everybody can read the forum, even non-logged in users. Only authorized members can however open topics or reply.<br />
*[[File:Extensions-helpdesk-Category316.png]] '''Restricted Forum''': The forum is visible only for authorized members.<br />
*[[File:Extensions-helpdesk-Category216.png]] '''Public Support''': Everybody can see all tickets, even non-logged in users. Only authorized clients can however open tickets or reply.<br />
*[[File:Extensions-helpdesk-Category116.png]] '''Shared Support''': All authorized clients can see and reply each others tickets, however only the owner has priviledge to close or delete his tickets. Create such a category for example for each company with a SLA((Service level agreement)) where multiple staff members shall have access to the tickets.<br />
*[[File:Extensions-helpdesk-Category016.png]] '''Private Support''': Only the ticket owner can see his tickets, but nobody else (admins and supporters authorized for the category can of course also see and reply to the tickets). Used for example for formal support of individuals.<br />
<br />
=== Topic vs. ticket status ===<br />
<br />
==== Topic status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0116.png]] '''Pinned up:''' Open topic that is listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1116.png]] '''Normal:''' A normal open topic. <br />
*[[File:Extensions-helpdesk-Ticket2116.png]] '''Closed:''' No further edits or replies are possible, listed at the end. <br />
<br />
==== Ticket status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0016.png]] '''Unanswered:''' The ticked is open and the latest post is from a client. Listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1016.png]] '''Answered:''' The ticket is open and the latest post is from a supporter. <br />
*[[File:Extensions-helpdesk-Ticket2016.png]] '''Closed:''' Issue solved. No further edits or replies are possible, the owner may reopen it however in case. Listed at the end. <br />
<br />
=== Members and Clients ===<br />
<br />
Forum members and support clients are either "frontend members" or "backend users" in terms of TYPOlight, and belong to a member/user group authorized for the respective category. The client opening a ticket has special "owner" rights in the support type categories: He has authorization to close or delete (5) his tickets.<br />
<br />
=== Admin, Moderators and Supporters ===<br />
<br />
Moderators and supporters are either TYPOlight backend users or frontend members, and belong to a user group authorized as moderator/supporter for the respective category. They have special rights to see unpublished, to pinup, edit, unpublish or delete any topic, ticket or message.<br />
<br />
Contao admins are special backend users and appear as moderator or supporter, he/she is automaticly authorized for all categories. Additionally the admins have authorization to administrative operations, e.g. create or delete categories or change category settings. Also admins are the only ones who can see unpublished categories.<br />
<br />
=== Deletion levels ===<br />
<br />
Tickets and messages are not permanently deleted, but only unpublished from frontend when a ticket owner or member/client "deletes" them. They are still available for moderators and supporters however, mainly to serve as a knowledge resource. Tickets and messages can be permanently deleted only by admins, moderators and supporters.<br />
<br />
== Installation and Setup ==<br />
<br />
=== Requirements ===<br />
<br />
*PHP from version 5.2.0<br />
*Other requirements like [http://www.contao.org/system-requirements.html]<br />
<br />
=== Manual Installation ===<br />
<br />
*Install these required extensions in advance: [[extensions:avatar]], [[extensions:cron]], [http://www.contao.org/extension-list/view/geshi.en.html]<br />
*Download the install package from [http://www.contao.org/extension-list/view/helpdesk.en.html].<br />
*Unzip the content of TL_ROOT to the Contao base directory on your webserver.<br />
*Unzip the content of TL_FILES to the tl_files directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki><br />
*Enter the installation password and click '''Login'''<br />
*Scroll down to '''Update database tables''' and click on '''Update database'''<br />
<br />
=== Site structure settings ===<br />
<br />
The page where the forum/helpdesk is located should have caching disabled, e.g:<br />
<br />
[[File:Extensions-helpdesk-Hd200.png |Cache Settings]]<br />
<br />
=== Page layout adjustment ===<br />
<br />
The module will also work without this, however it will look poor in the frontend.<br />
<br />
Go to '''Page layouts''' and change the layout for the pages that will display the forum/helpdesk. This might be a special layout you make for the forum/helpdesk pages, or the '''Default layout'''.<br />
<br />
Scroll down to '''Additional <nowiki>‹head›</nowiki> tags''' and append the following lines to whatever might allready be in there:<br />
<br />
<source lang="php"><br />
<link rel="stylesheet" <br />
href="system/modules/helpdesk/themes/default/frontend.css" <br />
type="text/css" <br />
media="screen,projection,print" /><br />
<!--[if lte IE 6]><br />
<style type="text/css"><br />
.pngfix { behavior:url("system/modules/helpdesk/themes/default/pngfix.htc") }<br />
</style><br />
<![endif]--><br />
</source><br />
<br />
== Custom themes and templates ==<br />
<br />
=== Backend themes ===<br />
<br />
To create the theme ''mysite'' you would first of cause create a new Contao backend theme folder /system/themes/mysite and activate it in in the ''Settings''. <br />
<br />
Then likewise you would create a folder system/modules/helpdesk/themes/mysite, copy the CSS files from the adjaccent ''default'' folder and make your adjustments to them. Please note that because of the automatic fallback it is '''not''' necessary to copy all the images from the ''default'' theme. In case you want your own icons, just create a subfolder ''images'' and put them in there; any icons not found there will be taken from the ''default'' theme.<br />
<br />
=== Frontend themes ===<br />
<br />
Copy the CSS files from system/modules/helpdesk/themes/default to your custom frontend theme folder and make the desired adjustments. Don't forget to adjust the ''Page layout'' as explained before to use your custom stylesheet instead of the default one.<br />
<br />
You may want to replace some or all of the default forum/helpdesk icons too. Just put your custom icons into an ''images'' folder below your custom theme. Then enter the path of your images folder in the helpdesk settings. Again there is a fallback built in, so any icon not found in your custom images folder will be taken from the ''default'' backend theme.<br />
<br />
Instead of PNG you may use GIF icons. In case both, a GIF ''and'' a PNG icon is found, the PNG has precedence.<br />
<br />
=== Templates ===<br />
<br />
In case you need to customize the default templates, just copy the files of interest from /system/modules/helpdesk/templates to /templates and make your adjustments. <br />
<br />
Please note that the template files are used for both, frontend //and// backend.<br />
<br />
<br />
=== "Personal data" Module ===<br />
<br />
{{note|As of TYPOlight 2.5.0 it is no longer required to edit the file ModulePersonalData.php; the hook is now included in the core file. However you still need to select the template ''member_grouped_helpdesk'' up to 2.5.9. Since TYPOlight 2.6.0 you also no longer need ''member_grouped_helpdesk'' because all necessary changes got included in ''member_grouped''.}}<br />
<br />
<br />
You may want to give your frontend members the option to subscribe themself for email noification with the ''Personal data'' module. This will work right out of the box when you are using the template ''member_default''.<br />
<br />
However when using the template ''member_grouped'' you won't see the Forum/Helpdesk settings with the TYPOlight releases before 2.5.0. There is a workaround to use the grouped member display right now, which requires a small hack:<br />
<br />
Edit the file /system/modules/frontend/ModulePersonalData.php and find this code:<br />
<br />
<source lang="php">// HOOK: add newsletter fields<br />
if (in_array('newsletter', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->newsletter = $arrFields['newsletter'];<br />
$this->Template->newsletterDetails = $GLOBALS['TL_LANG']['tl_member']['newsletterDetails'];<br />
}</source><br />
<br />
Now add the following code immediately below:<br />
<br />
<source lang="php">// HOOK: add helpdesk fields<br />
if (in_array('helpdesk', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->helpdesk = $arrFields['helpdesk'];<br />
$this->Template->helpdeskDetails = $GLOBALS['TL_LANG']['tl_member']['helpdeskDetails'];<br />
}</source><br />
<br />
Finally, go to the ''Personal data'' module and select the template ''member_grouped_helpdesk''.<br />
<br />
The layout may look somewhat messy by default, here is a suggestion to add to your CSS of the respective page:<br />
<br />
<source lang="css"><br />
.mod_personalData .checkbox_container span<br />
{<br />
display:block;<br />
white-space:nowrap;<br />
}<br />
<br />
.mod_personalData .checkbox_container span *<br />
{<br />
vertical-align:middle;<br />
}<br />
</source><br />
<br />
=== Enabling RSS Feeds ===<br />
<br />
To enable RSS feeds you need to:<br />
<br />
*Make settings in each category that you want feeds for<br />
*Make global settings in the Contao settings<br />
*Add a rewrite rule to your .htaccess file<br />
*Optional: Add a link to the page header in case you want to display a feed icon in the browsers address field<br />
<br />
=== Category Settings ===<br />
<br />
In the category settings you need to enter the url of the page holding this category, plus check that RSS feeds are enabled. Repeat this for all categories where you want to have RSS feeds for:<br />
<br />
[[File:Extensions-helpdesk-Hd100.jpg|Category Settings]]<br />
<br />
=== Contao settings ===<br />
<br />
In the Contao settings enable the forum/helpdesk feeds, and then make settings for the maximum number of messages to display, the base name of the xml file (same as in the .htaccess below), the title and description of the feed. Please note that this title and description only comes into play for feeds of multiple categories, for single category feeds the title and description of the category is used:<br />
<br />
[[File:Extensions-helpdesk-Hd101.jpg|Contao Settings]]<br />
<br />
=== .htaccess Modification ===<br />
<br />
Add a rewrite rule such as below to your .htaccess file. Replace ''helpdesk'' by the term you defined as base name in the Contao settings:<br />
<br />
<source lang="php">>RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</source><br />
<br />
A typical complete .htaccess for TYPOlight 2.6.0 might be:<br />
<br />
<source lang="php"><br />
# Enable mod_rewrite<br />
RewriteEngine On<br />
RewriteBase /<br />
<br />
# Block any URI protocol in the query string<br />
RewriteCond %{QUERY_STRING} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Block any URI protocol in the request<br />
RewriteCond %{REQUEST_URI} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Rewrite TYPOlight URLs<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule .*\.html$ index.php [L]<br />
<br />
# Dynamic RSS feeds for forum/helpdesk <br />
RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</source><br />
<br />
=== Add RSS icon link to page layout ===<br />
<br />
This is optional but very convenient for your users. In case you not yet have a distinct page layout for the forum/helpdesk, make a copy of the default page layout. Edit the layout and enter the following link to the //Additional head tags// input:<br />
<br />
<code><link rel="alternate" type="application/rss+xml" title="RSS" href="http://www.example.com/helpdesk0.xml" /></code><br />
<br />
Replace %%www.example.com%% by your site's url. The 0 tells to provide a feed over all categories the user has read access to. If you want to make a feed over the categories 4, 5 and 7 instead, the link would be helpdesk4,5,7.xml<br />
<br />
=== Email Import and Notification ===<br />
<br />
==== Email Settings ====<br />
<br />
To send out notifications and import email a batch program must run on a regular base. You need to install the [[extensions:cron|cron utility]] for this purpose. Below you find suggested settings for the two Forum/Helpdesk jobs. Use a time schedule that matches your needs; the samples below will execute once every minute.<br />
<br />
[[File:Extensions-helpdesk-Hd024.jpg|CRON Scheduler]]<br /><br />
<br />
[[File:Extensions-helpdesk-Hd025.jpg|Import Job Settings]]<br /><br />
<br />
[[File:Extensions-helpdesk-Hd026.jpg|Notification Job Settings]]<br />
<br />
==== Troubleshooting E-Mail Issues ====<br />
<br />
*Check if your servers are properly configured to send out mails by creating a test-newsletter and sending it to one of your mail accounts. Send it to another server than the one used for sending out the mail to make sure the mail is not getting caught in some spamfilters or lost in any black hole.<br />
*Using PHP Mail may work on well configured servers (which is not selve-evident these days, cheepo hosters are greeting). Use SMTP in case, that will work 100%.<br />
<br />
*A common mistake is to use a different domain in the notification sender address than in the mail account in the system settings. For example when your SMTP account in the system settings is <nowiki>admin@example.com</nowiki>, a notification sender address such as <nowiki>forum@banana.net</nowiki> is likely to fail because that would be "relaying" which is forbidden in well configured mail servers. Of cause there are exceptions from this rule, for example when the mail server is configured to handle both of those domains. Leave the notification sender address empty until notification works in case.<br />
*Switch the helpdesk logging to <nowiki>"debug"</nowiki> in the Contao system settings. You will find the log files at <nowiki>/system/logs/Helpdesk*.log</nowiki>. In case no log file gets created during the batch run, your directory permissions of /system/logs does not allow write access for the web server. In that case you can manually create the two files /system/logs/HelpdeskImport.log and /system/logs/HelpdeskNotify.log and give them read/write permissions for the web server (for example as chmod of 666).<br />
*For debugging it is time-consuming to always have to wait for the scheduler to run. You can disable the scheduler jobs and manually trigger the batch by calling these url's (replace <nowiki>%%www.example.com%%</nowiki> by your own url of cause): <br />
<source lang="php">%%http://www.example.com/system/modules/helpdesk/HelpdeskNotifyExec.php%%<br />
%%http://www.example.com/system/modules/helpdesk/HelpdeskImportExec.php%%</source><br />
You will most likely just see a blank page when executing, but then check the log files after execution to see the results.<br />
<br />
=== Manual upgrade from a previous version ===<br />
<br />
{{Caution|It is recommended to make backups of your files and your database before starting any upgrade.}}<br />
<br />
You can upgrade directly from any previous release, it is '''not''' necessary to install every version that was released between your old and new version of the application.<br />
<br />
It is optional to delete the files of the old version before installing a new release; you can choose to just overwrite the old files. However there might be obsolete files which will stay in your installation that way. So for a clean update I recommend to manually delete these files and folders in advance:<br />
<br />
*system/drivers/DC_HelpdeskTable.php<br />
*system/modules/helpdesk<br />
<br />
{{Caution|Do '''NOT''' delete the mysql tables and settings of the helpdesk application after removing the old files, neither with phpmyadmin nor by using the Contao install tool. Otherwise you will loose all your data and settings.}}<br />
<br />
Next the procedure is basicly the same as with a new installation from scratch:<br />
<br />
*Download the install package.<br />
*Unzip/upload to your TYPOlight base directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki> <br />
*Enter the installation password and click ''Login''<br />
*Scroll down to ''Update database tables'' <br />
*If any drops of obsolete table columns are due, they are by default unchecked. It is safe to check them now in order to have clean database. <br />
*Click on ''Update database'' to have the necessary database updates applied.<br />
<br />
{{note|After upgrading, you should read the change log to see what has changed and might need your attention.}}<br />
<br />
=== Optimizing full text search ===<br />
<br />
Full text search of mysql will by default not find any words shorter than 4 characters, or in the stopword list. <br />
<br />
To improve search I recommend to lower the minimum word length to 2, or even down to 1. In case your site is not english only, you might also want to disable the default stopword list (or apply [[http://members.unine.ch/jacques.savoy/clef/index.html]]).<br />
<br />
'''Brief procedure:''<br />
* Edit the mysql configuration file<br />
* Restart the mysql server<br />
* Drop the fulltext indexes<br />
* Recreate the fulltext indexes<br />
<br />
<br />
'''More detailed description (debian example):'''<br />
<br />
Edit /etc/mysql/my.cnf\\<br />
Within the section <nowiki>**[mysqld]**</nowiki> edit or add the following lines:<br />
<br />
<source lang="php">#<br />
# Fulltext config<br />
#<br />
ft_min_word_len = 2<br />
ft_stopword_file = ""</source><br />
<br />
Restart mysql:<br />
<br />
/etc/init.d/mysql restart<br />
<br />
Check system vars in phpMyAdmin to make sure it worked:<br />
<br />
[[File:Extensions-helpdesk-Myvars1.png]]<br /><br /><br />
[[File:Extensions-helpdesk-Myvars2.png]]<br />
<br />
Drop the fulltext indexes from the tables tl_search, tl_helpdesk_tickets and tl_helpdesk_messages. Check also the tables of other installed extensions for fulltext indexes, and drop them as well:<br />
<br />
[[File:Extensions-helpdesk-Dropft3.png]]<br /><br /><br />
[[File:Extensions-helpdesk-Dropft1.png]]<br /><br /><br />
[[File:Extensions-helpdesk-Dropft2.png]]<br />
<br />
Use the contao installation or extension manager to recreate the indexes based on the new settings:<br />
<br />
[[File:Extensions-helpdesk-Makeft.png]]<br />
<br />
== Getting started ==<br />
<br />
Well this section is currently very brief. Only a few screenschots so far, but I guess you will figure out usage yourself with some TYPOlight experience. <br />
<br />
=== Create a new category ===<br />
<br />
[[File:Extensions-helpdesk-Hd110.png|Category overview]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd113.png|Category editor]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd114.png|Category editor]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd115.png|Category editor]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd116.png|Category editor]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd117.png|Category editor]]<br />
<br />
=== Create a title module for the frontend ===<br />
<br />
Basicly a title module is not required, however it helps you structure your forums and helpdesks when you want to group the categories into blocks.<br />
<br />
[[File:Extensions-helpdesk-Hd118.png|Goto modules]]<br /><br />
[[File:Extensions-helpdesk-Hd119.png|Add a module]]<br /><br />
[[File:Extensions-helpdesk-Hd120.png|Title module settings]]<br /><br />
[[File:Extensions-helpdesk-Hd121.png|Title module settings]]<br />
<br />
=== Create block modules for the frontend ===<br />
<br />
A forum/helpdesk block module displays a selection of categories in a block on the frontend. So the minimum to get started on frontend is one module of this type. In case you want to structure your categories you will make several of these modules:<br />
<br />
{{:extensions:helpdesk:hdblock.png|Block module settings}}</div>Lucinahttps://en.contaowiki.org/File:Extensions-helpdesk-Hd119.pngFile:Extensions-helpdesk-Hd119.png2012-02-18T15:02:46Z<p>Lucina: </p>
<hr />
<div></div>Lucinahttps://en.contaowiki.org/File:Extensions-helpdesk-Hd118.pngFile:Extensions-helpdesk-Hd118.png2012-02-18T15:02:12Z<p>Lucina: </p>
<hr />
<div></div>Lucinahttps://en.contaowiki.org/HelpdeskHelpdesk2012-02-18T15:00:42Z<p>Lucina: /* images added */</p>
<hr />
<div>{{stub}}<br />
[[de:Helpdesk]]<br />
= Forum and Helpdesk =<br />
{{Note|Parts of this documentation were created by Peter Koch / IBK Software AG. Peter Koch has licensed this content for use on contoawiki.org. Content in this page must not be copied, reproduced, republished, uploaded, posted, transmitted, distributed, or used for the creation of derivative works without IBK's prior written consent.}}<br />
{{Hint|http://web.archive.org/web/20101121033235/http://contifex.com/wiki/extensions:helpdesk}}<br />
{{Note|feel free to bring the content from the page above to our contaowiki!}} <br />
<br />
== Features ==<br />
[[File:Extensions-helpdesk-Hd130.png]]<br />
* Native Contao application; fully integrated into Contao user/member system.<br />
* Can be used as forum, as helpdesk ticketing system, or both at same time.<br />
* Both, frontend members and backend users, can be members/clients or moderators/supporters.<br />
* Multiple frontend modules with selected categories are possible; to be displayed on one or several pages, or embedded within articles.<br />
* Backend modules for configuration and forum participation.<br />
* Comprehensive and fast BBCode engine including tables, lists, several box types, syntax highlighting and more.<br />
* Popup windows for BBCode help and editor preview.<br />
* Email notification to subscribing users.<br />
* Email import to create new topics/tickets, as well as to reply to notifications.<br />
* Fully customizable layout and appearence by templates and themes.<br />
* Powerful search engine.<br />
* RSS feeds for any selection of categories.<br />
* Convenient moderator functions including cut/paste operations to move messages and topics<br />
<br />
== Abstract ==<br />
<br />
Contao Forum/Helpdesk is a message board (forum) application designed to be as well used as a helpdesk ticketing system, for example to provide formal and informal support to customers or clients. The terminology and functions of the forum categories is slightly different than the support ticketing categories, but when you know the mapping you will immediately be familiar with the application:<br />
<br />
{| border="0" cellspacing="1" cellpadding="2"<br />
! !! '''Forum''' !! '''Helpdesk'''<br />
|-<br />
| Category types (1) || Restricted or public || Private, shared or public <br />
|-<br />
| Thread naming (2) || Topics || Tickets<br />
|-<br />
| Frontend users (3) || Members || Clients<br />
|-<br />
| Backend users (4) || Moderators || Supporters<br />
|-<br />
| colspan="2" |<br />
|}<br />
<br />
== Categories ==<br />
<br />
<br />
*[[File:Extensions-helpdesk-Category416.png]] '''Public Forum''': Everybody can read the forum, even non-logged in users. Only authorized members can however open topics or reply.<br />
*[[File:Extensions-helpdesk-Category316.png]] '''Restricted Forum''': The forum is visible only for authorized members.<br />
*[[File:Extensions-helpdesk-Category216.png]] '''Public Support''': Everybody can see all tickets, even non-logged in users. Only authorized clients can however open tickets or reply.<br />
*[[File:Extensions-helpdesk-Category116.png]] '''Shared Support''': All authorized clients can see and reply each others tickets, however only the owner has priviledge to close or delete his tickets. Create such a category for example for each company with a SLA((Service level agreement)) where multiple staff members shall have access to the tickets.<br />
*[[File:Extensions-helpdesk-Category016.png]] '''Private Support''': Only the ticket owner can see his tickets, but nobody else (admins and supporters authorized for the category can of course also see and reply to the tickets). Used for example for formal support of individuals.<br />
<br />
=== Topic vs. ticket status ===<br />
<br />
==== Topic status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0116.png]] '''Pinned up:''' Open topic that is listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1116.png]] '''Normal:''' A normal open topic. <br />
*[[File:Extensions-helpdesk-Ticket2116.png]] '''Closed:''' No further edits or replies are possible, listed at the end. <br />
<br />
==== Ticket status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0016.png]] '''Unanswered:''' The ticked is open and the latest post is from a client. Listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1016.png]] '''Answered:''' The ticket is open and the latest post is from a supporter. <br />
*[[File:Extensions-helpdesk-Ticket2016.png]] '''Closed:''' Issue solved. No further edits or replies are possible, the owner may reopen it however in case. Listed at the end. <br />
<br />
=== Members and Clients ===<br />
<br />
Forum members and support clients are either "frontend members" or "backend users" in terms of TYPOlight, and belong to a member/user group authorized for the respective category. The client opening a ticket has special "owner" rights in the support type categories: He has authorization to close or delete (5) his tickets.<br />
<br />
=== Admin, Moderators and Supporters ===<br />
<br />
Moderators and supporters are either TYPOlight backend users or frontend members, and belong to a user group authorized as moderator/supporter for the respective category. They have special rights to see unpublished, to pinup, edit, unpublish or delete any topic, ticket or message.<br />
<br />
Contao admins are special backend users and appear as moderator or supporter, he/she is automaticly authorized for all categories. Additionally the admins have authorization to administrative operations, e.g. create or delete categories or change category settings. Also admins are the only ones who can see unpublished categories.<br />
<br />
=== Deletion levels ===<br />
<br />
Tickets and messages are not permanently deleted, but only unpublished from frontend when a ticket owner or member/client "deletes" them. They are still available for moderators and supporters however, mainly to serve as a knowledge resource. Tickets and messages can be permanently deleted only by admins, moderators and supporters.<br />
<br />
== Installation and Setup ==<br />
<br />
=== Requirements ===<br />
<br />
*PHP from version 5.2.0<br />
*Other requirements like [http://www.contao.org/system-requirements.html]<br />
<br />
=== Manual Installation ===<br />
<br />
*Install these required extensions in advance: [[extensions:avatar]], [[extensions:cron]], [http://www.contao.org/extension-list/view/geshi.en.html]<br />
*Download the install package from [http://www.contao.org/extension-list/view/helpdesk.en.html].<br />
*Unzip the content of TL_ROOT to the Contao base directory on your webserver.<br />
*Unzip the content of TL_FILES to the tl_files directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki><br />
*Enter the installation password and click '''Login'''<br />
*Scroll down to '''Update database tables''' and click on '''Update database'''<br />
<br />
=== Site structure settings ===<br />
<br />
The page where the forum/helpdesk is located should have caching disabled, e.g:<br />
<br />
[[File:Extensions-helpdesk-Hd200.png |Cache Settings]]<br />
<br />
=== Page layout adjustment ===<br />
<br />
The module will also work without this, however it will look poor in the frontend.<br />
<br />
Go to '''Page layouts''' and change the layout for the pages that will display the forum/helpdesk. This might be a special layout you make for the forum/helpdesk pages, or the '''Default layout'''.<br />
<br />
Scroll down to '''Additional <nowiki>‹head›</nowiki> tags''' and append the following lines to whatever might allready be in there:<br />
<br />
<source lang="php"><br />
<link rel="stylesheet" <br />
href="system/modules/helpdesk/themes/default/frontend.css" <br />
type="text/css" <br />
media="screen,projection,print" /><br />
<!--[if lte IE 6]><br />
<style type="text/css"><br />
.pngfix { behavior:url("system/modules/helpdesk/themes/default/pngfix.htc") }<br />
</style><br />
<![endif]--><br />
</source><br />
<br />
== Custom themes and templates ==<br />
<br />
=== Backend themes ===<br />
<br />
To create the theme ''mysite'' you would first of cause create a new Contao backend theme folder /system/themes/mysite and activate it in in the ''Settings''. <br />
<br />
Then likewise you would create a folder system/modules/helpdesk/themes/mysite, copy the CSS files from the adjaccent ''default'' folder and make your adjustments to them. Please note that because of the automatic fallback it is '''not''' necessary to copy all the images from the ''default'' theme. In case you want your own icons, just create a subfolder ''images'' and put them in there; any icons not found there will be taken from the ''default'' theme.<br />
<br />
=== Frontend themes ===<br />
<br />
Copy the CSS files from system/modules/helpdesk/themes/default to your custom frontend theme folder and make the desired adjustments. Don't forget to adjust the ''Page layout'' as explained before to use your custom stylesheet instead of the default one.<br />
<br />
You may want to replace some or all of the default forum/helpdesk icons too. Just put your custom icons into an ''images'' folder below your custom theme. Then enter the path of your images folder in the helpdesk settings. Again there is a fallback built in, so any icon not found in your custom images folder will be taken from the ''default'' backend theme.<br />
<br />
Instead of PNG you may use GIF icons. In case both, a GIF ''and'' a PNG icon is found, the PNG has precedence.<br />
<br />
=== Templates ===<br />
<br />
In case you need to customize the default templates, just copy the files of interest from /system/modules/helpdesk/templates to /templates and make your adjustments. <br />
<br />
Please note that the template files are used for both, frontend //and// backend.<br />
<br />
<br />
=== "Personal data" Module ===<br />
<br />
{{note|As of TYPOlight 2.5.0 it is no longer required to edit the file ModulePersonalData.php; the hook is now included in the core file. However you still need to select the template ''member_grouped_helpdesk'' up to 2.5.9. Since TYPOlight 2.6.0 you also no longer need ''member_grouped_helpdesk'' because all necessary changes got included in ''member_grouped''.}}<br />
<br />
<br />
You may want to give your frontend members the option to subscribe themself for email noification with the ''Personal data'' module. This will work right out of the box when you are using the template ''member_default''.<br />
<br />
However when using the template ''member_grouped'' you won't see the Forum/Helpdesk settings with the TYPOlight releases before 2.5.0. There is a workaround to use the grouped member display right now, which requires a small hack:<br />
<br />
Edit the file /system/modules/frontend/ModulePersonalData.php and find this code:<br />
<br />
<source lang="php">// HOOK: add newsletter fields<br />
if (in_array('newsletter', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->newsletter = $arrFields['newsletter'];<br />
$this->Template->newsletterDetails = $GLOBALS['TL_LANG']['tl_member']['newsletterDetails'];<br />
}</source><br />
<br />
Now add the following code immediately below:<br />
<br />
<source lang="php">// HOOK: add helpdesk fields<br />
if (in_array('helpdesk', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->helpdesk = $arrFields['helpdesk'];<br />
$this->Template->helpdeskDetails = $GLOBALS['TL_LANG']['tl_member']['helpdeskDetails'];<br />
}</source><br />
<br />
Finally, go to the ''Personal data'' module and select the template ''member_grouped_helpdesk''.<br />
<br />
The layout may look somewhat messy by default, here is a suggestion to add to your CSS of the respective page:<br />
<br />
<source lang="css"><br />
.mod_personalData .checkbox_container span<br />
{<br />
display:block;<br />
white-space:nowrap;<br />
}<br />
<br />
.mod_personalData .checkbox_container span *<br />
{<br />
vertical-align:middle;<br />
}<br />
</source><br />
<br />
=== Enabling RSS Feeds ===<br />
<br />
To enable RSS feeds you need to:<br />
<br />
*Make settings in each category that you want feeds for<br />
*Make global settings in the Contao settings<br />
*Add a rewrite rule to your .htaccess file<br />
*Optional: Add a link to the page header in case you want to display a feed icon in the browsers address field<br />
<br />
=== Category Settings ===<br />
<br />
In the category settings you need to enter the url of the page holding this category, plus check that RSS feeds are enabled. Repeat this for all categories where you want to have RSS feeds for:<br />
<br />
[[File:Extensions-helpdesk-Hd100.jpg|Category Settings]]<br />
<br />
=== Contao settings ===<br />
<br />
In the Contao settings enable the forum/helpdesk feeds, and then make settings for the maximum number of messages to display, the base name of the xml file (same as in the .htaccess below), the title and description of the feed. Please note that this title and description only comes into play for feeds of multiple categories, for single category feeds the title and description of the category is used:<br />
<br />
[[File:Extensions-helpdesk-Hd101.jpg|Contao Settings]]<br />
<br />
=== .htaccess Modification ===<br />
<br />
Add a rewrite rule such as below to your .htaccess file. Replace ''helpdesk'' by the term you defined as base name in the Contao settings:<br />
<br />
<source lang="php">>RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</source><br />
<br />
A typical complete .htaccess for TYPOlight 2.6.0 might be:<br />
<br />
<source lang="php"><br />
# Enable mod_rewrite<br />
RewriteEngine On<br />
RewriteBase /<br />
<br />
# Block any URI protocol in the query string<br />
RewriteCond %{QUERY_STRING} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Block any URI protocol in the request<br />
RewriteCond %{REQUEST_URI} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Rewrite TYPOlight URLs<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule .*\.html$ index.php [L]<br />
<br />
# Dynamic RSS feeds for forum/helpdesk <br />
RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</source><br />
<br />
=== Add RSS icon link to page layout ===<br />
<br />
This is optional but very convenient for your users. In case you not yet have a distinct page layout for the forum/helpdesk, make a copy of the default page layout. Edit the layout and enter the following link to the //Additional head tags// input:<br />
<br />
<code><link rel="alternate" type="application/rss+xml" title="RSS" href="http://www.example.com/helpdesk0.xml" /></code><br />
<br />
Replace %%www.example.com%% by your site's url. The 0 tells to provide a feed over all categories the user has read access to. If you want to make a feed over the categories 4, 5 and 7 instead, the link would be helpdesk4,5,7.xml<br />
<br />
=== Email Import and Notification ===<br />
<br />
==== Email Settings ====<br />
<br />
To send out notifications and import email a batch program must run on a regular base. You need to install the [[extensions:cron|cron utility]] for this purpose. Below you find suggested settings for the two Forum/Helpdesk jobs. Use a time schedule that matches your needs; the samples below will execute once every minute.<br />
<br />
[[File:Extensions-helpdesk-Hd024.jpg|CRON Scheduler]]<br /><br />
<br />
[[File:Extensions-helpdesk-Hd025.jpg|Import Job Settings]]<br /><br />
<br />
[[File:Extensions-helpdesk-Hd026.jpg|Notification Job Settings]]<br />
<br />
==== Troubleshooting E-Mail Issues ====<br />
<br />
*Check if your servers are properly configured to send out mails by creating a test-newsletter and sending it to one of your mail accounts. Send it to another server than the one used for sending out the mail to make sure the mail is not getting caught in some spamfilters or lost in any black hole.<br />
*Using PHP Mail may work on well configured servers (which is not selve-evident these days, cheepo hosters are greeting). Use SMTP in case, that will work 100%.<br />
<br />
*A common mistake is to use a different domain in the notification sender address than in the mail account in the system settings. For example when your SMTP account in the system settings is <nowiki>admin@example.com</nowiki>, a notification sender address such as <nowiki>forum@banana.net</nowiki> is likely to fail because that would be "relaying" which is forbidden in well configured mail servers. Of cause there are exceptions from this rule, for example when the mail server is configured to handle both of those domains. Leave the notification sender address empty until notification works in case.<br />
*Switch the helpdesk logging to <nowiki>"debug"</nowiki> in the Contao system settings. You will find the log files at <nowiki>/system/logs/Helpdesk*.log</nowiki>. In case no log file gets created during the batch run, your directory permissions of /system/logs does not allow write access for the web server. In that case you can manually create the two files /system/logs/HelpdeskImport.log and /system/logs/HelpdeskNotify.log and give them read/write permissions for the web server (for example as chmod of 666).<br />
*For debugging it is time-consuming to always have to wait for the scheduler to run. You can disable the scheduler jobs and manually trigger the batch by calling these url's (replace <nowiki>%%www.example.com%%</nowiki> by your own url of cause): <br />
<source lang="php">%%http://www.example.com/system/modules/helpdesk/HelpdeskNotifyExec.php%%<br />
%%http://www.example.com/system/modules/helpdesk/HelpdeskImportExec.php%%</source><br />
You will most likely just see a blank page when executing, but then check the log files after execution to see the results.<br />
<br />
=== Manual upgrade from a previous version ===<br />
<br />
{{Caution|It is recommended to make backups of your files and your database before starting any upgrade.}}<br />
<br />
You can upgrade directly from any previous release, it is '''not''' necessary to install every version that was released between your old and new version of the application.<br />
<br />
It is optional to delete the files of the old version before installing a new release; you can choose to just overwrite the old files. However there might be obsolete files which will stay in your installation that way. So for a clean update I recommend to manually delete these files and folders in advance:<br />
<br />
*system/drivers/DC_HelpdeskTable.php<br />
*system/modules/helpdesk<br />
<br />
{{Caution|Do '''NOT''' delete the mysql tables and settings of the helpdesk application after removing the old files, neither with phpmyadmin nor by using the Contao install tool. Otherwise you will loose all your data and settings.}}<br />
<br />
Next the procedure is basicly the same as with a new installation from scratch:<br />
<br />
*Download the install package.<br />
*Unzip/upload to your TYPOlight base directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki> <br />
*Enter the installation password and click ''Login''<br />
*Scroll down to ''Update database tables'' <br />
*If any drops of obsolete table columns are due, they are by default unchecked. It is safe to check them now in order to have clean database. <br />
*Click on ''Update database'' to have the necessary database updates applied.<br />
<br />
{{note|After upgrading, you should read the change log to see what has changed and might need your attention.}}<br />
<br />
=== Optimizing full text search ===<br />
<br />
Full text search of mysql will by default not find any words shorter than 4 characters, or in the stopword list. <br />
<br />
To improve search I recommend to lower the minimum word length to 2, or even down to 1. In case your site is not english only, you might also want to disable the default stopword list (or apply [[http://members.unine.ch/jacques.savoy/clef/index.html]]).<br />
<br />
'''Brief procedure:''<br />
* Edit the mysql configuration file<br />
* Restart the mysql server<br />
* Drop the fulltext indexes<br />
* Recreate the fulltext indexes<br />
<br />
<br />
'''More detailed description (debian example):'''<br />
<br />
Edit /etc/mysql/my.cnf\\<br />
Within the section <nowiki>**[mysqld]**</nowiki> edit or add the following lines:<br />
<br />
<source lang="php">#<br />
# Fulltext config<br />
#<br />
ft_min_word_len = 2<br />
ft_stopword_file = ""</source><br />
<br />
Restart mysql:<br />
<br />
/etc/init.d/mysql restart<br />
<br />
Check system vars in phpMyAdmin to make sure it worked:<br />
<br />
[[File:Extensions-helpdesk-Myvars1.png]]<br /><br /><br />
[[File:Extensions-helpdesk-Myvars2.png]]<br />
<br />
Drop the fulltext indexes from the tables tl_search, tl_helpdesk_tickets and tl_helpdesk_messages. Check also the tables of other installed extensions for fulltext indexes, and drop them as well:<br />
<br />
[[File:Extensions-helpdesk-Dropft3.png]]<br /><br /><br />
[[File:Extensions-helpdesk-Dropft1.png]]<br /><br /><br />
[[File:Extensions-helpdesk-Dropft2.png]]<br />
<br />
Use the contao installation or extension manager to recreate the indexes based on the new settings:<br />
<br />
[[File:Extensions-helpdesk-Makeft.png]]<br />
<br />
== Getting started ==<br />
<br />
Well this section is currently very brief. Only a few screenschots so far, but I guess you will figure out usage yourself with some TYPOlight experience. <br />
<br />
=== Create a new category ====<br />
<br />
[[File:Extensions-helpdesk-Hd111.png|Goto helpdesk structure]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd110.png|Category overview]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd113.png|Category editor]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd114.png|Category editor]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd115.png|Category editor]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd116.png|Category editor]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd117.png|Category editor]]<br />
<br />
=== Create a title module for the frontend ===<br />
<br />
Basicly a title module is not required, however it helps you structure your forums and helpdesks when you want to group the categories into blocks.<br />
<br />
[[File:Extensions-helpdesk-Hd118.png|Goto modules]]<br /><br />
[[File:Extensions-helpdesk-Hd119.png|Add a module]]<br /><br />
[[File:Extensions-helpdesk-Hd120.png|Title module settings]]<br /><br />
[[File:Extensions-helpdesk-Hd121.png|Title module settings]]<br />
<br />
=== Create block modules for the frontend ===<br />
<br />
A forum/helpdesk block module displays a selection of categories in a block on the frontend. So the minimum to get started on frontend is one module of this type. In case you want to structure your categories you will make several of these modules:<br />
<br />
{{:extensions:helpdesk:hdblock.png|Block module settings}}</div>Lucinahttps://en.contaowiki.org/HelpdeskHelpdesk2012-02-18T14:58:59Z<p>Lucina: /* images added */</p>
<hr />
<div>{{stub}}<br />
[[de:Helpdesk]]<br />
= Forum and Helpdesk =<br />
{{Note|Parts of this documentation were created by Peter Koch / IBK Software AG. Peter Koch has licensed this content for use on contoawiki.org. Content in this page must not be copied, reproduced, republished, uploaded, posted, transmitted, distributed, or used for the creation of derivative works without IBK's prior written consent.}}<br />
{{Hint|http://web.archive.org/web/20101121033235/http://contifex.com/wiki/extensions:helpdesk}}<br />
{{Note|feel free to bring the content from the page above to our contaowiki!}} <br />
<br />
== Features ==<br />
[[File:Extensions-helpdesk-Hd130.png]]<br />
* Native Contao application; fully integrated into Contao user/member system.<br />
* Can be used as forum, as helpdesk ticketing system, or both at same time.<br />
* Both, frontend members and backend users, can be members/clients or moderators/supporters.<br />
* Multiple frontend modules with selected categories are possible; to be displayed on one or several pages, or embedded within articles.<br />
* Backend modules for configuration and forum participation.<br />
* Comprehensive and fast BBCode engine including tables, lists, several box types, syntax highlighting and more.<br />
* Popup windows for BBCode help and editor preview.<br />
* Email notification to subscribing users.<br />
* Email import to create new topics/tickets, as well as to reply to notifications.<br />
* Fully customizable layout and appearence by templates and themes.<br />
* Powerful search engine.<br />
* RSS feeds for any selection of categories.<br />
* Convenient moderator functions including cut/paste operations to move messages and topics<br />
<br />
== Abstract ==<br />
<br />
Contao Forum/Helpdesk is a message board (forum) application designed to be as well used as a helpdesk ticketing system, for example to provide formal and informal support to customers or clients. The terminology and functions of the forum categories is slightly different than the support ticketing categories, but when you know the mapping you will immediately be familiar with the application:<br />
<br />
{| border="0" cellspacing="1" cellpadding="2"<br />
! !! '''Forum''' !! '''Helpdesk'''<br />
|-<br />
| Category types (1) || Restricted or public || Private, shared or public <br />
|-<br />
| Thread naming (2) || Topics || Tickets<br />
|-<br />
| Frontend users (3) || Members || Clients<br />
|-<br />
| Backend users (4) || Moderators || Supporters<br />
|-<br />
| colspan="2" |<br />
|}<br />
<br />
== Categories ==<br />
<br />
<br />
*[[File:Extensions-helpdesk-Category416.png]] '''Public Forum''': Everybody can read the forum, even non-logged in users. Only authorized members can however open topics or reply.<br />
*[[File:Extensions-helpdesk-Category316.png]] '''Restricted Forum''': The forum is visible only for authorized members.<br />
*[[File:Extensions-helpdesk-Category216.png]] '''Public Support''': Everybody can see all tickets, even non-logged in users. Only authorized clients can however open tickets or reply.<br />
*[[File:Extensions-helpdesk-Category116.png]] '''Shared Support''': All authorized clients can see and reply each others tickets, however only the owner has priviledge to close or delete his tickets. Create such a category for example for each company with a SLA((Service level agreement)) where multiple staff members shall have access to the tickets.<br />
*[[File:Extensions-helpdesk-Category016.png]] '''Private Support''': Only the ticket owner can see his tickets, but nobody else (admins and supporters authorized for the category can of course also see and reply to the tickets). Used for example for formal support of individuals.<br />
<br />
=== Topic vs. ticket status ===<br />
<br />
==== Topic status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0116.png]] '''Pinned up:''' Open topic that is listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1116.png]] '''Normal:''' A normal open topic. <br />
*[[File:Extensions-helpdesk-Ticket2116.png]] '''Closed:''' No further edits or replies are possible, listed at the end. <br />
<br />
==== Ticket status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0016.png]] '''Unanswered:''' The ticked is open and the latest post is from a client. Listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1016.png]] '''Answered:''' The ticket is open and the latest post is from a supporter. <br />
*[[File:Extensions-helpdesk-Ticket2016.png]] '''Closed:''' Issue solved. No further edits or replies are possible, the owner may reopen it however in case. Listed at the end. <br />
<br />
=== Members and Clients ===<br />
<br />
Forum members and support clients are either "frontend members" or "backend users" in terms of TYPOlight, and belong to a member/user group authorized for the respective category. The client opening a ticket has special "owner" rights in the support type categories: He has authorization to close or delete (5) his tickets.<br />
<br />
=== Admin, Moderators and Supporters ===<br />
<br />
Moderators and supporters are either TYPOlight backend users or frontend members, and belong to a user group authorized as moderator/supporter for the respective category. They have special rights to see unpublished, to pinup, edit, unpublish or delete any topic, ticket or message.<br />
<br />
Contao admins are special backend users and appear as moderator or supporter, he/she is automaticly authorized for all categories. Additionally the admins have authorization to administrative operations, e.g. create or delete categories or change category settings. Also admins are the only ones who can see unpublished categories.<br />
<br />
=== Deletion levels ===<br />
<br />
Tickets and messages are not permanently deleted, but only unpublished from frontend when a ticket owner or member/client "deletes" them. They are still available for moderators and supporters however, mainly to serve as a knowledge resource. Tickets and messages can be permanently deleted only by admins, moderators and supporters.<br />
<br />
== Installation and Setup ==<br />
<br />
=== Requirements ===<br />
<br />
*PHP from version 5.2.0<br />
*Other requirements like [http://www.contao.org/system-requirements.html]<br />
<br />
=== Manual Installation ===<br />
<br />
*Install these required extensions in advance: [[extensions:avatar]], [[extensions:cron]], [http://www.contao.org/extension-list/view/geshi.en.html]<br />
*Download the install package from [http://www.contao.org/extension-list/view/helpdesk.en.html].<br />
*Unzip the content of TL_ROOT to the Contao base directory on your webserver.<br />
*Unzip the content of TL_FILES to the tl_files directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki><br />
*Enter the installation password and click '''Login'''<br />
*Scroll down to '''Update database tables''' and click on '''Update database'''<br />
<br />
=== Site structure settings ===<br />
<br />
The page where the forum/helpdesk is located should have caching disabled, e.g:<br />
<br />
[[File:Extensions-helpdesk-Hd200.png |Cache Settings]]<br />
<br />
=== Page layout adjustment ===<br />
<br />
The module will also work without this, however it will look poor in the frontend.<br />
<br />
Go to '''Page layouts''' and change the layout for the pages that will display the forum/helpdesk. This might be a special layout you make for the forum/helpdesk pages, or the '''Default layout'''.<br />
<br />
Scroll down to '''Additional <nowiki>‹head›</nowiki> tags''' and append the following lines to whatever might allready be in there:<br />
<br />
<source lang="php"><br />
<link rel="stylesheet" <br />
href="system/modules/helpdesk/themes/default/frontend.css" <br />
type="text/css" <br />
media="screen,projection,print" /><br />
<!--[if lte IE 6]><br />
<style type="text/css"><br />
.pngfix { behavior:url("system/modules/helpdesk/themes/default/pngfix.htc") }<br />
</style><br />
<![endif]--><br />
</source><br />
<br />
== Custom themes and templates ==<br />
<br />
=== Backend themes ===<br />
<br />
To create the theme ''mysite'' you would first of cause create a new Contao backend theme folder /system/themes/mysite and activate it in in the ''Settings''. <br />
<br />
Then likewise you would create a folder system/modules/helpdesk/themes/mysite, copy the CSS files from the adjaccent ''default'' folder and make your adjustments to them. Please note that because of the automatic fallback it is '''not''' necessary to copy all the images from the ''default'' theme. In case you want your own icons, just create a subfolder ''images'' and put them in there; any icons not found there will be taken from the ''default'' theme.<br />
<br />
=== Frontend themes ===<br />
<br />
Copy the CSS files from system/modules/helpdesk/themes/default to your custom frontend theme folder and make the desired adjustments. Don't forget to adjust the ''Page layout'' as explained before to use your custom stylesheet instead of the default one.<br />
<br />
You may want to replace some or all of the default forum/helpdesk icons too. Just put your custom icons into an ''images'' folder below your custom theme. Then enter the path of your images folder in the helpdesk settings. Again there is a fallback built in, so any icon not found in your custom images folder will be taken from the ''default'' backend theme.<br />
<br />
Instead of PNG you may use GIF icons. In case both, a GIF ''and'' a PNG icon is found, the PNG has precedence.<br />
<br />
=== Templates ===<br />
<br />
In case you need to customize the default templates, just copy the files of interest from /system/modules/helpdesk/templates to /templates and make your adjustments. <br />
<br />
Please note that the template files are used for both, frontend //and// backend.<br />
<br />
<br />
=== "Personal data" Module ===<br />
<br />
{{note|As of TYPOlight 2.5.0 it is no longer required to edit the file ModulePersonalData.php; the hook is now included in the core file. However you still need to select the template ''member_grouped_helpdesk'' up to 2.5.9. Since TYPOlight 2.6.0 you also no longer need ''member_grouped_helpdesk'' because all necessary changes got included in ''member_grouped''.}}<br />
<br />
<br />
You may want to give your frontend members the option to subscribe themself for email noification with the ''Personal data'' module. This will work right out of the box when you are using the template ''member_default''.<br />
<br />
However when using the template ''member_grouped'' you won't see the Forum/Helpdesk settings with the TYPOlight releases before 2.5.0. There is a workaround to use the grouped member display right now, which requires a small hack:<br />
<br />
Edit the file /system/modules/frontend/ModulePersonalData.php and find this code:<br />
<br />
<source lang="php">// HOOK: add newsletter fields<br />
if (in_array('newsletter', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->newsletter = $arrFields['newsletter'];<br />
$this->Template->newsletterDetails = $GLOBALS['TL_LANG']['tl_member']['newsletterDetails'];<br />
}</source><br />
<br />
Now add the following code immediately below:<br />
<br />
<source lang="php">// HOOK: add helpdesk fields<br />
if (in_array('helpdesk', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->helpdesk = $arrFields['helpdesk'];<br />
$this->Template->helpdeskDetails = $GLOBALS['TL_LANG']['tl_member']['helpdeskDetails'];<br />
}</source><br />
<br />
Finally, go to the ''Personal data'' module and select the template ''member_grouped_helpdesk''.<br />
<br />
The layout may look somewhat messy by default, here is a suggestion to add to your CSS of the respective page:<br />
<br />
<source lang="css"><br />
.mod_personalData .checkbox_container span<br />
{<br />
display:block;<br />
white-space:nowrap;<br />
}<br />
<br />
.mod_personalData .checkbox_container span *<br />
{<br />
vertical-align:middle;<br />
}<br />
</source><br />
<br />
=== Enabling RSS Feeds ===<br />
<br />
To enable RSS feeds you need to:<br />
<br />
*Make settings in each category that you want feeds for<br />
*Make global settings in the Contao settings<br />
*Add a rewrite rule to your .htaccess file<br />
*Optional: Add a link to the page header in case you want to display a feed icon in the browsers address field<br />
<br />
=== Category Settings ===<br />
<br />
In the category settings you need to enter the url of the page holding this category, plus check that RSS feeds are enabled. Repeat this for all categories where you want to have RSS feeds for:<br />
<br />
[[File:Extensions-helpdesk-Hd100.jpg|Category Settings]]<br />
<br />
=== Contao settings ===<br />
<br />
In the Contao settings enable the forum/helpdesk feeds, and then make settings for the maximum number of messages to display, the base name of the xml file (same as in the .htaccess below), the title and description of the feed. Please note that this title and description only comes into play for feeds of multiple categories, for single category feeds the title and description of the category is used:<br />
<br />
[[File:Extensions-helpdesk-Hd101.jpg|Contao Settings]]<br />
<br />
=== .htaccess Modification ===<br />
<br />
Add a rewrite rule such as below to your .htaccess file. Replace ''helpdesk'' by the term you defined as base name in the Contao settings:<br />
<br />
<source lang="php">>RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</source><br />
<br />
A typical complete .htaccess for TYPOlight 2.6.0 might be:<br />
<br />
<source lang="php"><br />
# Enable mod_rewrite<br />
RewriteEngine On<br />
RewriteBase /<br />
<br />
# Block any URI protocol in the query string<br />
RewriteCond %{QUERY_STRING} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Block any URI protocol in the request<br />
RewriteCond %{REQUEST_URI} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Rewrite TYPOlight URLs<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule .*\.html$ index.php [L]<br />
<br />
# Dynamic RSS feeds for forum/helpdesk <br />
RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</source><br />
<br />
=== Add RSS icon link to page layout ===<br />
<br />
This is optional but very convenient for your users. In case you not yet have a distinct page layout for the forum/helpdesk, make a copy of the default page layout. Edit the layout and enter the following link to the //Additional head tags// input:<br />
<br />
<code><link rel="alternate" type="application/rss+xml" title="RSS" href="http://www.example.com/helpdesk0.xml" /></code><br />
<br />
Replace %%www.example.com%% by your site's url. The 0 tells to provide a feed over all categories the user has read access to. If you want to make a feed over the categories 4, 5 and 7 instead, the link would be helpdesk4,5,7.xml<br />
<br />
=== Email Import and Notification ===<br />
<br />
==== Email Settings ====<br />
<br />
To send out notifications and import email a batch program must run on a regular base. You need to install the [[extensions:cron|cron utility]] for this purpose. Below you find suggested settings for the two Forum/Helpdesk jobs. Use a time schedule that matches your needs; the samples below will execute once every minute.<br />
<br />
[[File:Extensions-helpdesk-Hd024.jpg|CRON Scheduler]]<br /><br />
<br />
[[File:Extensions-helpdesk-Hd025.jpg|Import Job Settings]]<br /><br />
<br />
[[File:Extensions-helpdesk-Hd026.jpg|Notification Job Settings]]<br />
<br />
==== Troubleshooting E-Mail Issues ====<br />
<br />
*Check if your servers are properly configured to send out mails by creating a test-newsletter and sending it to one of your mail accounts. Send it to another server than the one used for sending out the mail to make sure the mail is not getting caught in some spamfilters or lost in any black hole.<br />
*Using PHP Mail may work on well configured servers (which is not selve-evident these days, cheepo hosters are greeting). Use SMTP in case, that will work 100%.<br />
<br />
*A common mistake is to use a different domain in the notification sender address than in the mail account in the system settings. For example when your SMTP account in the system settings is <nowiki>admin@example.com</nowiki>, a notification sender address such as <nowiki>forum@banana.net</nowiki> is likely to fail because that would be "relaying" which is forbidden in well configured mail servers. Of cause there are exceptions from this rule, for example when the mail server is configured to handle both of those domains. Leave the notification sender address empty until notification works in case.<br />
*Switch the helpdesk logging to <nowiki>"debug"</nowiki> in the Contao system settings. You will find the log files at <nowiki>/system/logs/Helpdesk*.log</nowiki>. In case no log file gets created during the batch run, your directory permissions of /system/logs does not allow write access for the web server. In that case you can manually create the two files /system/logs/HelpdeskImport.log and /system/logs/HelpdeskNotify.log and give them read/write permissions for the web server (for example as chmod of 666).<br />
*For debugging it is time-consuming to always have to wait for the scheduler to run. You can disable the scheduler jobs and manually trigger the batch by calling these url's (replace <nowiki>%%www.example.com%%</nowiki> by your own url of cause): <br />
<source lang="php">%%http://www.example.com/system/modules/helpdesk/HelpdeskNotifyExec.php%%<br />
%%http://www.example.com/system/modules/helpdesk/HelpdeskImportExec.php%%</source><br />
You will most likely just see a blank page when executing, but then check the log files after execution to see the results.<br />
<br />
=== Manual upgrade from a previous version ===<br />
<br />
{{Caution|It is recommended to make backups of your files and your database before starting any upgrade.}}<br />
<br />
You can upgrade directly from any previous release, it is '''not''' necessary to install every version that was released between your old and new version of the application.<br />
<br />
It is optional to delete the files of the old version before installing a new release; you can choose to just overwrite the old files. However there might be obsolete files which will stay in your installation that way. So for a clean update I recommend to manually delete these files and folders in advance:<br />
<br />
*system/drivers/DC_HelpdeskTable.php<br />
*system/modules/helpdesk<br />
<br />
{{Caution|Do '''NOT''' delete the mysql tables and settings of the helpdesk application after removing the old files, neither with phpmyadmin nor by using the Contao install tool. Otherwise you will loose all your data and settings.}}<br />
<br />
Next the procedure is basicly the same as with a new installation from scratch:<br />
<br />
*Download the install package.<br />
*Unzip/upload to your TYPOlight base directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki> <br />
*Enter the installation password and click ''Login''<br />
*Scroll down to ''Update database tables'' <br />
*If any drops of obsolete table columns are due, they are by default unchecked. It is safe to check them now in order to have clean database. <br />
*Click on ''Update database'' to have the necessary database updates applied.<br />
<br />
{{note|After upgrading, you should read the change log to see what has changed and might need your attention.}}<br />
<br />
=== Optimizing full text search ===<br />
<br />
Full text search of mysql will by default not find any words shorter than 4 characters, or in the stopword list. <br />
<br />
To improve search I recommend to lower the minimum word length to 2, or even down to 1. In case your site is not english only, you might also want to disable the default stopword list (or apply [[http://members.unine.ch/jacques.savoy/clef/index.html]]).<br />
<br />
'''Brief procedure:''<br />
* Edit the mysql configuration file<br />
* Restart the mysql server<br />
* Drop the fulltext indexes<br />
* Recreate the fulltext indexes<br />
<br />
<br />
'''More detailed description (debian example):'''<br />
<br />
Edit /etc/mysql/my.cnf\\<br />
Within the section <nowiki>**[mysqld]**</nowiki> edit or add the following lines:<br />
<br />
<source lang="php">#<br />
# Fulltext config<br />
#<br />
ft_min_word_len = 2<br />
ft_stopword_file = ""</source><br />
<br />
Restart mysql:<br />
<br />
/etc/init.d/mysql restart<br />
<br />
Check system vars in phpMyAdmin to make sure it worked:<br />
<br />
[[File:Extensions-helpdesk-Myvars1.png]]<br /><br /><br />
[[File:Extensions-helpdesk-Myvars2.png]]<br />
<br />
Drop the fulltext indexes from the tables tl_search, tl_helpdesk_tickets and tl_helpdesk_messages. Check also the tables of other installed extensions for fulltext indexes, and drop them as well:<br />
<br />
[[File:Extensions-helpdesk-Dropft3.png]]<br /><br /><br />
[[File:Extensions-helpdesk-Dropft1.png]]<br /><br /><br />
[[File:Extensions-helpdesk-Dropft2.png]]<br />
<br />
Use the contao installation or extension manager to recreate the indexes based on the new settings:<br />
<br />
[[File:Extensions-helpdesk-Makeft.png]]<br />
<br />
== Getting started ==<br />
<br />
Well this section is currently very brief. Only a few screenschots so far, but I guess you will figure out usage yourself with some TYPOlight experience. <br />
<br />
=== Create a new category ====<br />
<br />
[[File:Extensions-helpdesk-Hd111.png|Goto helpdesk structure]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd110.png|Category overview]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd113.png|Category editor]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd114.png|Category editor]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd115.png|Category editor]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd116.png|Category editor]]<br /><br /><br />
[[File:Extensions-helpdesk-Hd117.png|Category editor]]<br />
<br />
=== Create a title module for the frontend ===<br />
<br />
Basicly a title module is not required, however it helps you structure your forums and helpdesks when you want to group the categories into blocks.<br />
<br />
{{extensions:helpdesk:hd118.png|Goto modules}}<br />
{{extensions:helpdesk:hd119.png|Add a module}}<br />
<br />
{{extensions:helpdesk:hd120.png|Title module settings}}<br />
{{extensions:helpdesk:hd121.png|Title module settings}}<br />
<br />
=== Create block modules for the frontend ===<br />
<br />
A forum/helpdesk block module displays a selection of categories in a block on the frontend. So the minimum to get started on frontend is one module of this type. In case you want to structure your categories you will make several of these modules:<br />
<br />
{{:extensions:helpdesk:hdblock.png|Block module settings}}</div>Lucinahttps://en.contaowiki.org/HelpdeskHelpdesk2012-02-18T14:54:27Z<p>Lucina: /* Optimizing full text search */</p>
<hr />
<div>{{stub}}<br />
[[de:Helpdesk]]<br />
= Forum and Helpdesk =<br />
{{Note|Parts of this documentation were created by Peter Koch / IBK Software AG. Peter Koch has licensed this content for use on contoawiki.org. Content in this page must not be copied, reproduced, republished, uploaded, posted, transmitted, distributed, or used for the creation of derivative works without IBK's prior written consent.}}<br />
{{Hint|http://web.archive.org/web/20101121033235/http://contifex.com/wiki/extensions:helpdesk}}<br />
{{Note|feel free to bring the content from the page above to our contaowiki!}} <br />
<br />
== Features ==<br />
[[File:Extensions-helpdesk-Hd130.png]]<br />
* Native Contao application; fully integrated into Contao user/member system.<br />
* Can be used as forum, as helpdesk ticketing system, or both at same time.<br />
* Both, frontend members and backend users, can be members/clients or moderators/supporters.<br />
* Multiple frontend modules with selected categories are possible; to be displayed on one or several pages, or embedded within articles.<br />
* Backend modules for configuration and forum participation.<br />
* Comprehensive and fast BBCode engine including tables, lists, several box types, syntax highlighting and more.<br />
* Popup windows for BBCode help and editor preview.<br />
* Email notification to subscribing users.<br />
* Email import to create new topics/tickets, as well as to reply to notifications.<br />
* Fully customizable layout and appearence by templates and themes.<br />
* Powerful search engine.<br />
* RSS feeds for any selection of categories.<br />
* Convenient moderator functions including cut/paste operations to move messages and topics<br />
<br />
== Abstract ==<br />
<br />
Contao Forum/Helpdesk is a message board (forum) application designed to be as well used as a helpdesk ticketing system, for example to provide formal and informal support to customers or clients. The terminology and functions of the forum categories is slightly different than the support ticketing categories, but when you know the mapping you will immediately be familiar with the application:<br />
<br />
{| border="0" cellspacing="1" cellpadding="2"<br />
! !! '''Forum''' !! '''Helpdesk'''<br />
|-<br />
| Category types (1) || Restricted or public || Private, shared or public <br />
|-<br />
| Thread naming (2) || Topics || Tickets<br />
|-<br />
| Frontend users (3) || Members || Clients<br />
|-<br />
| Backend users (4) || Moderators || Supporters<br />
|-<br />
| colspan="2" |<br />
|}<br />
<br />
== Categories ==<br />
<br />
<br />
*[[File:Extensions-helpdesk-Category416.png]] '''Public Forum''': Everybody can read the forum, even non-logged in users. Only authorized members can however open topics or reply.<br />
*[[File:Extensions-helpdesk-Category316.png]] '''Restricted Forum''': The forum is visible only for authorized members.<br />
*[[File:Extensions-helpdesk-Category216.png]] '''Public Support''': Everybody can see all tickets, even non-logged in users. Only authorized clients can however open tickets or reply.<br />
*[[File:Extensions-helpdesk-Category116.png]] '''Shared Support''': All authorized clients can see and reply each others tickets, however only the owner has priviledge to close or delete his tickets. Create such a category for example for each company with a SLA((Service level agreement)) where multiple staff members shall have access to the tickets.<br />
*[[File:Extensions-helpdesk-Category016.png]] '''Private Support''': Only the ticket owner can see his tickets, but nobody else (admins and supporters authorized for the category can of course also see and reply to the tickets). Used for example for formal support of individuals.<br />
<br />
=== Topic vs. ticket status ===<br />
<br />
==== Topic status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0116.png]] '''Pinned up:''' Open topic that is listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1116.png]] '''Normal:''' A normal open topic. <br />
*[[File:Extensions-helpdesk-Ticket2116.png]] '''Closed:''' No further edits or replies are possible, listed at the end. <br />
<br />
==== Ticket status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0016.png]] '''Unanswered:''' The ticked is open and the latest post is from a client. Listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1016.png]] '''Answered:''' The ticket is open and the latest post is from a supporter. <br />
*[[File:Extensions-helpdesk-Ticket2016.png]] '''Closed:''' Issue solved. No further edits or replies are possible, the owner may reopen it however in case. Listed at the end. <br />
<br />
=== Members and Clients ===<br />
<br />
Forum members and support clients are either "frontend members" or "backend users" in terms of TYPOlight, and belong to a member/user group authorized for the respective category. The client opening a ticket has special "owner" rights in the support type categories: He has authorization to close or delete (5) his tickets.<br />
<br />
=== Admin, Moderators and Supporters ===<br />
<br />
Moderators and supporters are either TYPOlight backend users or frontend members, and belong to a user group authorized as moderator/supporter for the respective category. They have special rights to see unpublished, to pinup, edit, unpublish or delete any topic, ticket or message.<br />
<br />
Contao admins are special backend users and appear as moderator or supporter, he/she is automaticly authorized for all categories. Additionally the admins have authorization to administrative operations, e.g. create or delete categories or change category settings. Also admins are the only ones who can see unpublished categories.<br />
<br />
=== Deletion levels ===<br />
<br />
Tickets and messages are not permanently deleted, but only unpublished from frontend when a ticket owner or member/client "deletes" them. They are still available for moderators and supporters however, mainly to serve as a knowledge resource. Tickets and messages can be permanently deleted only by admins, moderators and supporters.<br />
<br />
== Installation and Setup ==<br />
<br />
=== Requirements ===<br />
<br />
*PHP from version 5.2.0<br />
*Other requirements like [http://www.contao.org/system-requirements.html]<br />
<br />
=== Manual Installation ===<br />
<br />
*Install these required extensions in advance: [[extensions:avatar]], [[extensions:cron]], [http://www.contao.org/extension-list/view/geshi.en.html]<br />
*Download the install package from [http://www.contao.org/extension-list/view/helpdesk.en.html].<br />
*Unzip the content of TL_ROOT to the Contao base directory on your webserver.<br />
*Unzip the content of TL_FILES to the tl_files directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki><br />
*Enter the installation password and click '''Login'''<br />
*Scroll down to '''Update database tables''' and click on '''Update database'''<br />
<br />
=== Site structure settings ===<br />
<br />
The page where the forum/helpdesk is located should have caching disabled, e.g:<br />
<br />
[[File:Extensions-helpdesk-Hd200.png |Cache Settings]]<br />
<br />
=== Page layout adjustment ===<br />
<br />
The module will also work without this, however it will look poor in the frontend.<br />
<br />
Go to '''Page layouts''' and change the layout for the pages that will display the forum/helpdesk. This might be a special layout you make for the forum/helpdesk pages, or the '''Default layout'''.<br />
<br />
Scroll down to '''Additional <nowiki>‹head›</nowiki> tags''' and append the following lines to whatever might allready be in there:<br />
<br />
<source lang="php"><br />
<link rel="stylesheet" <br />
href="system/modules/helpdesk/themes/default/frontend.css" <br />
type="text/css" <br />
media="screen,projection,print" /><br />
<!--[if lte IE 6]><br />
<style type="text/css"><br />
.pngfix { behavior:url("system/modules/helpdesk/themes/default/pngfix.htc") }<br />
</style><br />
<![endif]--><br />
</source><br />
<br />
== Custom themes and templates ==<br />
<br />
=== Backend themes ===<br />
<br />
To create the theme ''mysite'' you would first of cause create a new Contao backend theme folder /system/themes/mysite and activate it in in the ''Settings''. <br />
<br />
Then likewise you would create a folder system/modules/helpdesk/themes/mysite, copy the CSS files from the adjaccent ''default'' folder and make your adjustments to them. Please note that because of the automatic fallback it is '''not''' necessary to copy all the images from the ''default'' theme. In case you want your own icons, just create a subfolder ''images'' and put them in there; any icons not found there will be taken from the ''default'' theme.<br />
<br />
=== Frontend themes ===<br />
<br />
Copy the CSS files from system/modules/helpdesk/themes/default to your custom frontend theme folder and make the desired adjustments. Don't forget to adjust the ''Page layout'' as explained before to use your custom stylesheet instead of the default one.<br />
<br />
You may want to replace some or all of the default forum/helpdesk icons too. Just put your custom icons into an ''images'' folder below your custom theme. Then enter the path of your images folder in the helpdesk settings. Again there is a fallback built in, so any icon not found in your custom images folder will be taken from the ''default'' backend theme.<br />
<br />
Instead of PNG you may use GIF icons. In case both, a GIF ''and'' a PNG icon is found, the PNG has precedence.<br />
<br />
=== Templates ===<br />
<br />
In case you need to customize the default templates, just copy the files of interest from /system/modules/helpdesk/templates to /templates and make your adjustments. <br />
<br />
Please note that the template files are used for both, frontend //and// backend.<br />
<br />
<br />
=== "Personal data" Module ===<br />
<br />
{{note|As of TYPOlight 2.5.0 it is no longer required to edit the file ModulePersonalData.php; the hook is now included in the core file. However you still need to select the template ''member_grouped_helpdesk'' up to 2.5.9. Since TYPOlight 2.6.0 you also no longer need ''member_grouped_helpdesk'' because all necessary changes got included in ''member_grouped''.}}<br />
<br />
<br />
You may want to give your frontend members the option to subscribe themself for email noification with the ''Personal data'' module. This will work right out of the box when you are using the template ''member_default''.<br />
<br />
However when using the template ''member_grouped'' you won't see the Forum/Helpdesk settings with the TYPOlight releases before 2.5.0. There is a workaround to use the grouped member display right now, which requires a small hack:<br />
<br />
Edit the file /system/modules/frontend/ModulePersonalData.php and find this code:<br />
<br />
<source lang="php">// HOOK: add newsletter fields<br />
if (in_array('newsletter', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->newsletter = $arrFields['newsletter'];<br />
$this->Template->newsletterDetails = $GLOBALS['TL_LANG']['tl_member']['newsletterDetails'];<br />
}</source><br />
<br />
Now add the following code immediately below:<br />
<br />
<source lang="php">// HOOK: add helpdesk fields<br />
if (in_array('helpdesk', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->helpdesk = $arrFields['helpdesk'];<br />
$this->Template->helpdeskDetails = $GLOBALS['TL_LANG']['tl_member']['helpdeskDetails'];<br />
}</source><br />
<br />
Finally, go to the ''Personal data'' module and select the template ''member_grouped_helpdesk''.<br />
<br />
The layout may look somewhat messy by default, here is a suggestion to add to your CSS of the respective page:<br />
<br />
<source lang="css"><br />
.mod_personalData .checkbox_container span<br />
{<br />
display:block;<br />
white-space:nowrap;<br />
}<br />
<br />
.mod_personalData .checkbox_container span *<br />
{<br />
vertical-align:middle;<br />
}<br />
</source><br />
<br />
=== Enabling RSS Feeds ===<br />
<br />
To enable RSS feeds you need to:<br />
<br />
*Make settings in each category that you want feeds for<br />
*Make global settings in the Contao settings<br />
*Add a rewrite rule to your .htaccess file<br />
*Optional: Add a link to the page header in case you want to display a feed icon in the browsers address field<br />
<br />
=== Category Settings ===<br />
<br />
In the category settings you need to enter the url of the page holding this category, plus check that RSS feeds are enabled. Repeat this for all categories where you want to have RSS feeds for:<br />
<br />
[[File:Extensions-helpdesk-Hd100.jpg|Category Settings]]<br />
<br />
=== Contao settings ===<br />
<br />
In the Contao settings enable the forum/helpdesk feeds, and then make settings for the maximum number of messages to display, the base name of the xml file (same as in the .htaccess below), the title and description of the feed. Please note that this title and description only comes into play for feeds of multiple categories, for single category feeds the title and description of the category is used:<br />
<br />
[[File:Extensions-helpdesk-Hd101.jpg|Contao Settings]]<br />
<br />
=== .htaccess Modification ===<br />
<br />
Add a rewrite rule such as below to your .htaccess file. Replace ''helpdesk'' by the term you defined as base name in the Contao settings:<br />
<br />
<source lang="php">>RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</source><br />
<br />
A typical complete .htaccess for TYPOlight 2.6.0 might be:<br />
<br />
<source lang="php"><br />
# Enable mod_rewrite<br />
RewriteEngine On<br />
RewriteBase /<br />
<br />
# Block any URI protocol in the query string<br />
RewriteCond %{QUERY_STRING} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Block any URI protocol in the request<br />
RewriteCond %{REQUEST_URI} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Rewrite TYPOlight URLs<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule .*\.html$ index.php [L]<br />
<br />
# Dynamic RSS feeds for forum/helpdesk <br />
RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</source><br />
<br />
=== Add RSS icon link to page layout ===<br />
<br />
This is optional but very convenient for your users. In case you not yet have a distinct page layout for the forum/helpdesk, make a copy of the default page layout. Edit the layout and enter the following link to the //Additional head tags// input:<br />
<br />
<code><link rel="alternate" type="application/rss+xml" title="RSS" href="http://www.example.com/helpdesk0.xml" /></code><br />
<br />
Replace %%www.example.com%% by your site's url. The 0 tells to provide a feed over all categories the user has read access to. If you want to make a feed over the categories 4, 5 and 7 instead, the link would be helpdesk4,5,7.xml<br />
<br />
=== Email Import and Notification ===<br />
<br />
==== Email Settings ====<br />
<br />
To send out notifications and import email a batch program must run on a regular base. You need to install the [[extensions:cron|cron utility]] for this purpose. Below you find suggested settings for the two Forum/Helpdesk jobs. Use a time schedule that matches your needs; the samples below will execute once every minute.<br />
<br />
[[File:Extensions-helpdesk-Hd024.jpg|CRON Scheduler]]<br /><br />
<br />
[[File:Extensions-helpdesk-Hd025.jpg|Import Job Settings]]<br /><br />
<br />
[[File:Extensions-helpdesk-Hd026.jpg|Notification Job Settings]]<br />
<br />
==== Troubleshooting E-Mail Issues ====<br />
<br />
*Check if your servers are properly configured to send out mails by creating a test-newsletter and sending it to one of your mail accounts. Send it to another server than the one used for sending out the mail to make sure the mail is not getting caught in some spamfilters or lost in any black hole.<br />
*Using PHP Mail may work on well configured servers (which is not selve-evident these days, cheepo hosters are greeting). Use SMTP in case, that will work 100%.<br />
<br />
*A common mistake is to use a different domain in the notification sender address than in the mail account in the system settings. For example when your SMTP account in the system settings is <nowiki>admin@example.com</nowiki>, a notification sender address such as <nowiki>forum@banana.net</nowiki> is likely to fail because that would be "relaying" which is forbidden in well configured mail servers. Of cause there are exceptions from this rule, for example when the mail server is configured to handle both of those domains. Leave the notification sender address empty until notification works in case.<br />
*Switch the helpdesk logging to <nowiki>"debug"</nowiki> in the Contao system settings. You will find the log files at <nowiki>/system/logs/Helpdesk*.log</nowiki>. In case no log file gets created during the batch run, your directory permissions of /system/logs does not allow write access for the web server. In that case you can manually create the two files /system/logs/HelpdeskImport.log and /system/logs/HelpdeskNotify.log and give them read/write permissions for the web server (for example as chmod of 666).<br />
*For debugging it is time-consuming to always have to wait for the scheduler to run. You can disable the scheduler jobs and manually trigger the batch by calling these url's (replace <nowiki>%%www.example.com%%</nowiki> by your own url of cause): <br />
<source lang="php">%%http://www.example.com/system/modules/helpdesk/HelpdeskNotifyExec.php%%<br />
%%http://www.example.com/system/modules/helpdesk/HelpdeskImportExec.php%%</source><br />
You will most likely just see a blank page when executing, but then check the log files after execution to see the results.<br />
<br />
=== Manual upgrade from a previous version ===<br />
<br />
{{Caution|It is recommended to make backups of your files and your database before starting any upgrade.}}<br />
<br />
You can upgrade directly from any previous release, it is '''not''' necessary to install every version that was released between your old and new version of the application.<br />
<br />
It is optional to delete the files of the old version before installing a new release; you can choose to just overwrite the old files. However there might be obsolete files which will stay in your installation that way. So for a clean update I recommend to manually delete these files and folders in advance:<br />
<br />
*system/drivers/DC_HelpdeskTable.php<br />
*system/modules/helpdesk<br />
<br />
{{Caution|Do '''NOT''' delete the mysql tables and settings of the helpdesk application after removing the old files, neither with phpmyadmin nor by using the Contao install tool. Otherwise you will loose all your data and settings.}}<br />
<br />
Next the procedure is basicly the same as with a new installation from scratch:<br />
<br />
*Download the install package.<br />
*Unzip/upload to your TYPOlight base directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki> <br />
*Enter the installation password and click ''Login''<br />
*Scroll down to ''Update database tables'' <br />
*If any drops of obsolete table columns are due, they are by default unchecked. It is safe to check them now in order to have clean database. <br />
*Click on ''Update database'' to have the necessary database updates applied.<br />
<br />
{{note|After upgrading, you should read the change log to see what has changed and might need your attention.}}<br />
<br />
=== Optimizing full text search ===<br />
<br />
Full text search of mysql will by default not find any words shorter than 4 characters, or in the stopword list. <br />
<br />
To improve search I recommend to lower the minimum word length to 2, or even down to 1. In case your site is not english only, you might also want to disable the default stopword list (or apply [[http://members.unine.ch/jacques.savoy/clef/index.html]]).<br />
<br />
'''Brief procedure:''<br />
* Edit the mysql configuration file<br />
* Restart the mysql server<br />
* Drop the fulltext indexes<br />
* Recreate the fulltext indexes<br />
<br />
<br />
'''More detailed description (debian example):'''<br />
<br />
Edit /etc/mysql/my.cnf\\<br />
Within the section <nowiki>**[mysqld]**</nowiki> edit or add the following lines:<br />
<br />
<source lang="php">#<br />
# Fulltext config<br />
#<br />
ft_min_word_len = 2<br />
ft_stopword_file = ""</source><br />
<br />
Restart mysql:<br />
<br />
/etc/init.d/mysql restart<br />
<br />
Check system vars in phpMyAdmin to make sure it worked:<br />
<br />
[[File:Extensions-helpdesk-Myvars1.png]]<br /><br /><br />
[[File:Extensions-helpdesk-Myvars2.png]]<br />
<br />
Drop the fulltext indexes from the tables tl_search, tl_helpdesk_tickets and tl_helpdesk_messages. Check also the tables of other installed extensions for fulltext indexes, and drop them as well:<br />
<br />
[[File:Extensions-helpdesk-Dropft3.png]]<br /><br /><br />
[[File:Extensions-helpdesk-Dropft1.png]]<br /><br /><br />
[[File:Extensions-helpdesk-Dropft2.png]]<br />
<br />
Use the contao installation or extension manager to recreate the indexes based on the new settings:<br />
<br />
[[File:Extensions-helpdesk-Makeft.png]]<br />
<br />
== Getting started ==<br />
<br />
Well this section is currently very brief. Only a few screenschots so far, but I guess you will figure out usage yourself with some TYPOlight experience. <br />
<br />
=== Create a new category ====<br />
<br />
{{extensions:helpdesk:hd111.png|Goto helpdesk structure}}<br />
<br />
{{extensions:helpdesk:hd110.png|Category overview}}<br />
<br />
{{extensions:helpdesk:hd113.png|Category editor}}<br />
{{extensions:helpdesk:hd114.png|Category editor}}<br />
{{extensions:helpdesk:hd115.png|Category editor}}<br />
{{extensions:helpdesk:hd116.png|Category editor}}<br />
{{extensions:helpdesk:hd117.png|Category editor}}<br />
<br />
=== Create a title module for the frontend ===<br />
<br />
Basicly a title module is not required, however it helps you structure your forums and helpdesks when you want to group the categories into blocks.<br />
<br />
{{extensions:helpdesk:hd118.png|Goto modules}}<br />
{{extensions:helpdesk:hd119.png|Add a module}}<br />
<br />
{{extensions:helpdesk:hd120.png|Title module settings}}<br />
{{extensions:helpdesk:hd121.png|Title module settings}}<br />
<br />
=== Create block modules for the frontend ===<br />
<br />
A forum/helpdesk block module displays a selection of categories in a block on the frontend. So the minimum to get started on frontend is one module of this type. In case you want to structure your categories you will make several of these modules:<br />
<br />
{{:extensions:helpdesk:hdblock.png|Block module settings}}</div>Lucinahttps://en.contaowiki.org/File:Extensions-helpdesk-Myvars1.pngFile:Extensions-helpdesk-Myvars1.png2012-02-18T14:52:55Z<p>Lucina: </p>
<hr />
<div></div>Lucinahttps://en.contaowiki.org/File:Extensions-helpdesk-Dropft2.pngFile:Extensions-helpdesk-Dropft2.png2012-02-18T14:52:08Z<p>Lucina: </p>
<hr />
<div></div>Lucinahttps://en.contaowiki.org/HelpdeskHelpdesk2012-02-18T14:49:08Z<p>Lucina: /* images added */</p>
<hr />
<div>{{stub}}<br />
[[de:Helpdesk]]<br />
= Forum and Helpdesk =<br />
{{Note|Parts of this documentation were created by Peter Koch / IBK Software AG. Peter Koch has licensed this content for use on contoawiki.org. Content in this page must not be copied, reproduced, republished, uploaded, posted, transmitted, distributed, or used for the creation of derivative works without IBK's prior written consent.}}<br />
{{Hint|http://web.archive.org/web/20101121033235/http://contifex.com/wiki/extensions:helpdesk}}<br />
{{Note|feel free to bring the content from the page above to our contaowiki!}} <br />
<br />
== Features ==<br />
[[File:Extensions-helpdesk-Hd130.png]]<br />
* Native Contao application; fully integrated into Contao user/member system.<br />
* Can be used as forum, as helpdesk ticketing system, or both at same time.<br />
* Both, frontend members and backend users, can be members/clients or moderators/supporters.<br />
* Multiple frontend modules with selected categories are possible; to be displayed on one or several pages, or embedded within articles.<br />
* Backend modules for configuration and forum participation.<br />
* Comprehensive and fast BBCode engine including tables, lists, several box types, syntax highlighting and more.<br />
* Popup windows for BBCode help and editor preview.<br />
* Email notification to subscribing users.<br />
* Email import to create new topics/tickets, as well as to reply to notifications.<br />
* Fully customizable layout and appearence by templates and themes.<br />
* Powerful search engine.<br />
* RSS feeds for any selection of categories.<br />
* Convenient moderator functions including cut/paste operations to move messages and topics<br />
<br />
== Abstract ==<br />
<br />
Contao Forum/Helpdesk is a message board (forum) application designed to be as well used as a helpdesk ticketing system, for example to provide formal and informal support to customers or clients. The terminology and functions of the forum categories is slightly different than the support ticketing categories, but when you know the mapping you will immediately be familiar with the application:<br />
<br />
{| border="0" cellspacing="1" cellpadding="2"<br />
! !! '''Forum''' !! '''Helpdesk'''<br />
|-<br />
| Category types (1) || Restricted or public || Private, shared or public <br />
|-<br />
| Thread naming (2) || Topics || Tickets<br />
|-<br />
| Frontend users (3) || Members || Clients<br />
|-<br />
| Backend users (4) || Moderators || Supporters<br />
|-<br />
| colspan="2" |<br />
|}<br />
<br />
== Categories ==<br />
<br />
<br />
*[[File:Extensions-helpdesk-Category416.png]] '''Public Forum''': Everybody can read the forum, even non-logged in users. Only authorized members can however open topics or reply.<br />
*[[File:Extensions-helpdesk-Category316.png]] '''Restricted Forum''': The forum is visible only for authorized members.<br />
*[[File:Extensions-helpdesk-Category216.png]] '''Public Support''': Everybody can see all tickets, even non-logged in users. Only authorized clients can however open tickets or reply.<br />
*[[File:Extensions-helpdesk-Category116.png]] '''Shared Support''': All authorized clients can see and reply each others tickets, however only the owner has priviledge to close or delete his tickets. Create such a category for example for each company with a SLA((Service level agreement)) where multiple staff members shall have access to the tickets.<br />
*[[File:Extensions-helpdesk-Category016.png]] '''Private Support''': Only the ticket owner can see his tickets, but nobody else (admins and supporters authorized for the category can of course also see and reply to the tickets). Used for example for formal support of individuals.<br />
<br />
=== Topic vs. ticket status ===<br />
<br />
==== Topic status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0116.png]] '''Pinned up:''' Open topic that is listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1116.png]] '''Normal:''' A normal open topic. <br />
*[[File:Extensions-helpdesk-Ticket2116.png]] '''Closed:''' No further edits or replies are possible, listed at the end. <br />
<br />
==== Ticket status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0016.png]] '''Unanswered:''' The ticked is open and the latest post is from a client. Listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1016.png]] '''Answered:''' The ticket is open and the latest post is from a supporter. <br />
*[[File:Extensions-helpdesk-Ticket2016.png]] '''Closed:''' Issue solved. No further edits or replies are possible, the owner may reopen it however in case. Listed at the end. <br />
<br />
=== Members and Clients ===<br />
<br />
Forum members and support clients are either "frontend members" or "backend users" in terms of TYPOlight, and belong to a member/user group authorized for the respective category. The client opening a ticket has special "owner" rights in the support type categories: He has authorization to close or delete (5) his tickets.<br />
<br />
=== Admin, Moderators and Supporters ===<br />
<br />
Moderators and supporters are either TYPOlight backend users or frontend members, and belong to a user group authorized as moderator/supporter for the respective category. They have special rights to see unpublished, to pinup, edit, unpublish or delete any topic, ticket or message.<br />
<br />
Contao admins are special backend users and appear as moderator or supporter, he/she is automaticly authorized for all categories. Additionally the admins have authorization to administrative operations, e.g. create or delete categories or change category settings. Also admins are the only ones who can see unpublished categories.<br />
<br />
=== Deletion levels ===<br />
<br />
Tickets and messages are not permanently deleted, but only unpublished from frontend when a ticket owner or member/client "deletes" them. They are still available for moderators and supporters however, mainly to serve as a knowledge resource. Tickets and messages can be permanently deleted only by admins, moderators and supporters.<br />
<br />
== Installation and Setup ==<br />
<br />
=== Requirements ===<br />
<br />
*PHP from version 5.2.0<br />
*Other requirements like [http://www.contao.org/system-requirements.html]<br />
<br />
=== Manual Installation ===<br />
<br />
*Install these required extensions in advance: [[extensions:avatar]], [[extensions:cron]], [http://www.contao.org/extension-list/view/geshi.en.html]<br />
*Download the install package from [http://www.contao.org/extension-list/view/helpdesk.en.html].<br />
*Unzip the content of TL_ROOT to the Contao base directory on your webserver.<br />
*Unzip the content of TL_FILES to the tl_files directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki><br />
*Enter the installation password and click '''Login'''<br />
*Scroll down to '''Update database tables''' and click on '''Update database'''<br />
<br />
=== Site structure settings ===<br />
<br />
The page where the forum/helpdesk is located should have caching disabled, e.g:<br />
<br />
[[File:Extensions-helpdesk-Hd200.png |Cache Settings]]<br />
<br />
=== Page layout adjustment ===<br />
<br />
The module will also work without this, however it will look poor in the frontend.<br />
<br />
Go to '''Page layouts''' and change the layout for the pages that will display the forum/helpdesk. This might be a special layout you make for the forum/helpdesk pages, or the '''Default layout'''.<br />
<br />
Scroll down to '''Additional <nowiki>‹head›</nowiki> tags''' and append the following lines to whatever might allready be in there:<br />
<br />
<source lang="php"><br />
<link rel="stylesheet" <br />
href="system/modules/helpdesk/themes/default/frontend.css" <br />
type="text/css" <br />
media="screen,projection,print" /><br />
<!--[if lte IE 6]><br />
<style type="text/css"><br />
.pngfix { behavior:url("system/modules/helpdesk/themes/default/pngfix.htc") }<br />
</style><br />
<![endif]--><br />
</source><br />
<br />
== Custom themes and templates ==<br />
<br />
=== Backend themes ===<br />
<br />
To create the theme ''mysite'' you would first of cause create a new Contao backend theme folder /system/themes/mysite and activate it in in the ''Settings''. <br />
<br />
Then likewise you would create a folder system/modules/helpdesk/themes/mysite, copy the CSS files from the adjaccent ''default'' folder and make your adjustments to them. Please note that because of the automatic fallback it is '''not''' necessary to copy all the images from the ''default'' theme. In case you want your own icons, just create a subfolder ''images'' and put them in there; any icons not found there will be taken from the ''default'' theme.<br />
<br />
=== Frontend themes ===<br />
<br />
Copy the CSS files from system/modules/helpdesk/themes/default to your custom frontend theme folder and make the desired adjustments. Don't forget to adjust the ''Page layout'' as explained before to use your custom stylesheet instead of the default one.<br />
<br />
You may want to replace some or all of the default forum/helpdesk icons too. Just put your custom icons into an ''images'' folder below your custom theme. Then enter the path of your images folder in the helpdesk settings. Again there is a fallback built in, so any icon not found in your custom images folder will be taken from the ''default'' backend theme.<br />
<br />
Instead of PNG you may use GIF icons. In case both, a GIF ''and'' a PNG icon is found, the PNG has precedence.<br />
<br />
=== Templates ===<br />
<br />
In case you need to customize the default templates, just copy the files of interest from /system/modules/helpdesk/templates to /templates and make your adjustments. <br />
<br />
Please note that the template files are used for both, frontend //and// backend.<br />
<br />
<br />
=== "Personal data" Module ===<br />
<br />
{{note|As of TYPOlight 2.5.0 it is no longer required to edit the file ModulePersonalData.php; the hook is now included in the core file. However you still need to select the template ''member_grouped_helpdesk'' up to 2.5.9. Since TYPOlight 2.6.0 you also no longer need ''member_grouped_helpdesk'' because all necessary changes got included in ''member_grouped''.}}<br />
<br />
<br />
You may want to give your frontend members the option to subscribe themself for email noification with the ''Personal data'' module. This will work right out of the box when you are using the template ''member_default''.<br />
<br />
However when using the template ''member_grouped'' you won't see the Forum/Helpdesk settings with the TYPOlight releases before 2.5.0. There is a workaround to use the grouped member display right now, which requires a small hack:<br />
<br />
Edit the file /system/modules/frontend/ModulePersonalData.php and find this code:<br />
<br />
<source lang="php">// HOOK: add newsletter fields<br />
if (in_array('newsletter', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->newsletter = $arrFields['newsletter'];<br />
$this->Template->newsletterDetails = $GLOBALS['TL_LANG']['tl_member']['newsletterDetails'];<br />
}</source><br />
<br />
Now add the following code immediately below:<br />
<br />
<source lang="php">// HOOK: add helpdesk fields<br />
if (in_array('helpdesk', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->helpdesk = $arrFields['helpdesk'];<br />
$this->Template->helpdeskDetails = $GLOBALS['TL_LANG']['tl_member']['helpdeskDetails'];<br />
}</source><br />
<br />
Finally, go to the ''Personal data'' module and select the template ''member_grouped_helpdesk''.<br />
<br />
The layout may look somewhat messy by default, here is a suggestion to add to your CSS of the respective page:<br />
<br />
<source lang="css"><br />
.mod_personalData .checkbox_container span<br />
{<br />
display:block;<br />
white-space:nowrap;<br />
}<br />
<br />
.mod_personalData .checkbox_container span *<br />
{<br />
vertical-align:middle;<br />
}<br />
</source><br />
<br />
=== Enabling RSS Feeds ===<br />
<br />
To enable RSS feeds you need to:<br />
<br />
*Make settings in each category that you want feeds for<br />
*Make global settings in the Contao settings<br />
*Add a rewrite rule to your .htaccess file<br />
*Optional: Add a link to the page header in case you want to display a feed icon in the browsers address field<br />
<br />
=== Category Settings ===<br />
<br />
In the category settings you need to enter the url of the page holding this category, plus check that RSS feeds are enabled. Repeat this for all categories where you want to have RSS feeds for:<br />
<br />
[[File:Extensions-helpdesk-Hd100.jpg|Category Settings]]<br />
<br />
=== Contao settings ===<br />
<br />
In the Contao settings enable the forum/helpdesk feeds, and then make settings for the maximum number of messages to display, the base name of the xml file (same as in the .htaccess below), the title and description of the feed. Please note that this title and description only comes into play for feeds of multiple categories, for single category feeds the title and description of the category is used:<br />
<br />
[[File:Extensions-helpdesk-Hd101.jpg|Contao Settings]]<br />
<br />
=== .htaccess Modification ===<br />
<br />
Add a rewrite rule such as below to your .htaccess file. Replace ''helpdesk'' by the term you defined as base name in the Contao settings:<br />
<br />
<source lang="php">>RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</source><br />
<br />
A typical complete .htaccess for TYPOlight 2.6.0 might be:<br />
<br />
<source lang="php"><br />
# Enable mod_rewrite<br />
RewriteEngine On<br />
RewriteBase /<br />
<br />
# Block any URI protocol in the query string<br />
RewriteCond %{QUERY_STRING} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Block any URI protocol in the request<br />
RewriteCond %{REQUEST_URI} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Rewrite TYPOlight URLs<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule .*\.html$ index.php [L]<br />
<br />
# Dynamic RSS feeds for forum/helpdesk <br />
RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</source><br />
<br />
=== Add RSS icon link to page layout ===<br />
<br />
This is optional but very convenient for your users. In case you not yet have a distinct page layout for the forum/helpdesk, make a copy of the default page layout. Edit the layout and enter the following link to the //Additional head tags// input:<br />
<br />
<code><link rel="alternate" type="application/rss+xml" title="RSS" href="http://www.example.com/helpdesk0.xml" /></code><br />
<br />
Replace %%www.example.com%% by your site's url. The 0 tells to provide a feed over all categories the user has read access to. If you want to make a feed over the categories 4, 5 and 7 instead, the link would be helpdesk4,5,7.xml<br />
<br />
=== Email Import and Notification ===<br />
<br />
==== Email Settings ====<br />
<br />
To send out notifications and import email a batch program must run on a regular base. You need to install the [[extensions:cron|cron utility]] for this purpose. Below you find suggested settings for the two Forum/Helpdesk jobs. Use a time schedule that matches your needs; the samples below will execute once every minute.<br />
<br />
[[File:Extensions-helpdesk-Hd024.jpg|CRON Scheduler]]<br /><br />
<br />
[[File:Extensions-helpdesk-Hd025.jpg|Import Job Settings]]<br /><br />
<br />
[[File:Extensions-helpdesk-Hd026.jpg|Notification Job Settings]]<br />
<br />
==== Troubleshooting E-Mail Issues ====<br />
<br />
*Check if your servers are properly configured to send out mails by creating a test-newsletter and sending it to one of your mail accounts. Send it to another server than the one used for sending out the mail to make sure the mail is not getting caught in some spamfilters or lost in any black hole.<br />
*Using PHP Mail may work on well configured servers (which is not selve-evident these days, cheepo hosters are greeting). Use SMTP in case, that will work 100%.<br />
<br />
*A common mistake is to use a different domain in the notification sender address than in the mail account in the system settings. For example when your SMTP account in the system settings is <nowiki>admin@example.com</nowiki>, a notification sender address such as <nowiki>forum@banana.net</nowiki> is likely to fail because that would be "relaying" which is forbidden in well configured mail servers. Of cause there are exceptions from this rule, for example when the mail server is configured to handle both of those domains. Leave the notification sender address empty until notification works in case.<br />
*Switch the helpdesk logging to <nowiki>"debug"</nowiki> in the Contao system settings. You will find the log files at <nowiki>/system/logs/Helpdesk*.log</nowiki>. In case no log file gets created during the batch run, your directory permissions of /system/logs does not allow write access for the web server. In that case you can manually create the two files /system/logs/HelpdeskImport.log and /system/logs/HelpdeskNotify.log and give them read/write permissions for the web server (for example as chmod of 666).<br />
*For debugging it is time-consuming to always have to wait for the scheduler to run. You can disable the scheduler jobs and manually trigger the batch by calling these url's (replace <nowiki>%%www.example.com%%</nowiki> by your own url of cause): <br />
<source lang="php">%%http://www.example.com/system/modules/helpdesk/HelpdeskNotifyExec.php%%<br />
%%http://www.example.com/system/modules/helpdesk/HelpdeskImportExec.php%%</source><br />
You will most likely just see a blank page when executing, but then check the log files after execution to see the results.<br />
<br />
=== Manual upgrade from a previous version ===<br />
<br />
{{Caution|It is recommended to make backups of your files and your database before starting any upgrade.}}<br />
<br />
You can upgrade directly from any previous release, it is '''not''' necessary to install every version that was released between your old and new version of the application.<br />
<br />
It is optional to delete the files of the old version before installing a new release; you can choose to just overwrite the old files. However there might be obsolete files which will stay in your installation that way. So for a clean update I recommend to manually delete these files and folders in advance:<br />
<br />
*system/drivers/DC_HelpdeskTable.php<br />
*system/modules/helpdesk<br />
<br />
{{Caution|Do '''NOT''' delete the mysql tables and settings of the helpdesk application after removing the old files, neither with phpmyadmin nor by using the Contao install tool. Otherwise you will loose all your data and settings.}}<br />
<br />
Next the procedure is basicly the same as with a new installation from scratch:<br />
<br />
*Download the install package.<br />
*Unzip/upload to your TYPOlight base directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki> <br />
*Enter the installation password and click ''Login''<br />
*Scroll down to ''Update database tables'' <br />
*If any drops of obsolete table columns are due, they are by default unchecked. It is safe to check them now in order to have clean database. <br />
*Click on ''Update database'' to have the necessary database updates applied.<br />
<br />
{{note|After upgrading, you should read the change log to see what has changed and might need your attention.}}<br />
<br />
=== Optimizing full text search ===<br />
<br />
Full text search of mysql will by default not find any words shorter than 4 characters, or in the stopword list. <br />
<br />
To improve search I recommend to lower the minimum word length to 2, or even down to 1. In case your site is not english only, you might also want to disable the default stopword list (or apply [[http://members.unine.ch/jacques.savoy/clef/index.html]]).<br />
<br />
'''Brief procedure:''<br />
* Edit the mysql configuration file<br />
* Restart the mysql server<br />
* Drop the fulltext indexes<br />
* Recreate the fulltext indexes<br />
<br />
<br />
'''More detailed description (debian example):'''<br />
<br />
Edit /etc/mysql/my.cnf\\<br />
Within the section <nowiki>**[mysqld]**</nowiki> edit or add the following lines:<br />
<br />
<source lang="php">#<br />
# Fulltext config<br />
#<br />
ft_min_word_len = 2<br />
ft_stopword_file = ""</source><br />
<br />
Restart mysql:<br />
<br />
/etc/init.d/mysql restart<br />
<br />
Check system vars in phpMyAdmin to make sure it worked:<br />
<br />
[[File:Extensions-helpdesk-Myvars1.png]]<br /><br />
[[File:Extensions-helpdesk-Myvars2.png]]<br />
<br />
Drop the fulltext indexes from the tables tl_search, tl_helpdesk_tickets and tl_helpdesk_messages. Check also the tables of other installed extensions for fulltext indexes, and drop them as well:<br />
<br />
[[File:Extensions-helpdesk-Dropft3.png]]<br /><br />
[[File:Extensions-helpdesk-Dropft1.png]]<br /><br />
[[File:Extensions-helpdesk-Dropft2.png]]<br />
<br />
Use the contao installation or extension manager to recreate the indexes based on the new settings:<br />
<br />
[[File:Extensions-helpdesk-Makeft.png]]<br />
<br />
== Getting started ==<br />
<br />
Well this section is currently very brief. Only a few screenschots so far, but I guess you will figure out usage yourself with some TYPOlight experience. <br />
<br />
=== Create a new category ====<br />
<br />
{{extensions:helpdesk:hd111.png|Goto helpdesk structure}}<br />
<br />
{{extensions:helpdesk:hd110.png|Category overview}}<br />
<br />
{{extensions:helpdesk:hd113.png|Category editor}}<br />
{{extensions:helpdesk:hd114.png|Category editor}}<br />
{{extensions:helpdesk:hd115.png|Category editor}}<br />
{{extensions:helpdesk:hd116.png|Category editor}}<br />
{{extensions:helpdesk:hd117.png|Category editor}}<br />
<br />
=== Create a title module for the frontend ===<br />
<br />
Basicly a title module is not required, however it helps you structure your forums and helpdesks when you want to group the categories into blocks.<br />
<br />
{{extensions:helpdesk:hd118.png|Goto modules}}<br />
{{extensions:helpdesk:hd119.png|Add a module}}<br />
<br />
{{extensions:helpdesk:hd120.png|Title module settings}}<br />
{{extensions:helpdesk:hd121.png|Title module settings}}<br />
<br />
=== Create block modules for the frontend ===<br />
<br />
A forum/helpdesk block module displays a selection of categories in a block on the frontend. So the minimum to get started on frontend is one module of this type. In case you want to structure your categories you will make several of these modules:<br />
<br />
{{:extensions:helpdesk:hdblock.png|Block module settings}}</div>Lucinahttps://en.contaowiki.org/HelpdeskHelpdesk2012-02-18T14:43:07Z<p>Lucina: /* Add RSS icon link to page layout */</p>
<hr />
<div>{{stub}}<br />
[[de:Helpdesk]]<br />
= Forum and Helpdesk =<br />
{{Note|Parts of this documentation were created by Peter Koch / IBK Software AG. Peter Koch has licensed this content for use on contoawiki.org. Content in this page must not be copied, reproduced, republished, uploaded, posted, transmitted, distributed, or used for the creation of derivative works without IBK's prior written consent.}}<br />
{{Hint|http://web.archive.org/web/20101121033235/http://contifex.com/wiki/extensions:helpdesk}}<br />
{{Note|feel free to bring the content from the page above to our contaowiki!}} <br />
<br />
== Features ==<br />
[[File:Extensions-helpdesk-Hd130.png]]<br />
* Native Contao application; fully integrated into Contao user/member system.<br />
* Can be used as forum, as helpdesk ticketing system, or both at same time.<br />
* Both, frontend members and backend users, can be members/clients or moderators/supporters.<br />
* Multiple frontend modules with selected categories are possible; to be displayed on one or several pages, or embedded within articles.<br />
* Backend modules for configuration and forum participation.<br />
* Comprehensive and fast BBCode engine including tables, lists, several box types, syntax highlighting and more.<br />
* Popup windows for BBCode help and editor preview.<br />
* Email notification to subscribing users.<br />
* Email import to create new topics/tickets, as well as to reply to notifications.<br />
* Fully customizable layout and appearence by templates and themes.<br />
* Powerful search engine.<br />
* RSS feeds for any selection of categories.<br />
* Convenient moderator functions including cut/paste operations to move messages and topics<br />
<br />
== Abstract ==<br />
<br />
Contao Forum/Helpdesk is a message board (forum) application designed to be as well used as a helpdesk ticketing system, for example to provide formal and informal support to customers or clients. The terminology and functions of the forum categories is slightly different than the support ticketing categories, but when you know the mapping you will immediately be familiar with the application:<br />
<br />
{| border="0" cellspacing="1" cellpadding="2"<br />
! !! '''Forum''' !! '''Helpdesk'''<br />
|-<br />
| Category types (1) || Restricted or public || Private, shared or public <br />
|-<br />
| Thread naming (2) || Topics || Tickets<br />
|-<br />
| Frontend users (3) || Members || Clients<br />
|-<br />
| Backend users (4) || Moderators || Supporters<br />
|-<br />
| colspan="2" |<br />
|}<br />
<br />
== Categories ==<br />
<br />
<br />
*[[File:Extensions-helpdesk-Category416.png]] '''Public Forum''': Everybody can read the forum, even non-logged in users. Only authorized members can however open topics or reply.<br />
*[[File:Extensions-helpdesk-Category316.png]] '''Restricted Forum''': The forum is visible only for authorized members.<br />
*[[File:Extensions-helpdesk-Category216.png]] '''Public Support''': Everybody can see all tickets, even non-logged in users. Only authorized clients can however open tickets or reply.<br />
*[[File:Extensions-helpdesk-Category116.png]] '''Shared Support''': All authorized clients can see and reply each others tickets, however only the owner has priviledge to close or delete his tickets. Create such a category for example for each company with a SLA((Service level agreement)) where multiple staff members shall have access to the tickets.<br />
*[[File:Extensions-helpdesk-Category016.png]] '''Private Support''': Only the ticket owner can see his tickets, but nobody else (admins and supporters authorized for the category can of course also see and reply to the tickets). Used for example for formal support of individuals.<br />
<br />
=== Topic vs. ticket status ===<br />
<br />
==== Topic status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0116.png]] '''Pinned up:''' Open topic that is listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1116.png]] '''Normal:''' A normal open topic. <br />
*[[File:Extensions-helpdesk-Ticket2116.png]] '''Closed:''' No further edits or replies are possible, listed at the end. <br />
<br />
==== Ticket status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0016.png]] '''Unanswered:''' The ticked is open and the latest post is from a client. Listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1016.png]] '''Answered:''' The ticket is open and the latest post is from a supporter. <br />
*[[File:Extensions-helpdesk-Ticket2016.png]] '''Closed:''' Issue solved. No further edits or replies are possible, the owner may reopen it however in case. Listed at the end. <br />
<br />
=== Members and Clients ===<br />
<br />
Forum members and support clients are either "frontend members" or "backend users" in terms of TYPOlight, and belong to a member/user group authorized for the respective category. The client opening a ticket has special "owner" rights in the support type categories: He has authorization to close or delete (5) his tickets.<br />
<br />
=== Admin, Moderators and Supporters ===<br />
<br />
Moderators and supporters are either TYPOlight backend users or frontend members, and belong to a user group authorized as moderator/supporter for the respective category. They have special rights to see unpublished, to pinup, edit, unpublish or delete any topic, ticket or message.<br />
<br />
Contao admins are special backend users and appear as moderator or supporter, he/she is automaticly authorized for all categories. Additionally the admins have authorization to administrative operations, e.g. create or delete categories or change category settings. Also admins are the only ones who can see unpublished categories.<br />
<br />
=== Deletion levels ===<br />
<br />
Tickets and messages are not permanently deleted, but only unpublished from frontend when a ticket owner or member/client "deletes" them. They are still available for moderators and supporters however, mainly to serve as a knowledge resource. Tickets and messages can be permanently deleted only by admins, moderators and supporters.<br />
<br />
== Installation and Setup ==<br />
<br />
=== Requirements ===<br />
<br />
*PHP from version 5.2.0<br />
*Other requirements like [http://www.contao.org/system-requirements.html]<br />
<br />
=== Manual Installation ===<br />
<br />
*Install these required extensions in advance: [[extensions:avatar]], [[extensions:cron]], [http://www.contao.org/extension-list/view/geshi.en.html]<br />
*Download the install package from [http://www.contao.org/extension-list/view/helpdesk.en.html].<br />
*Unzip the content of TL_ROOT to the Contao base directory on your webserver.<br />
*Unzip the content of TL_FILES to the tl_files directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki><br />
*Enter the installation password and click '''Login'''<br />
*Scroll down to '''Update database tables''' and click on '''Update database'''<br />
<br />
=== Site structure settings ===<br />
<br />
The page where the forum/helpdesk is located should have caching disabled, e.g:<br />
<br />
[[File:Extensions-helpdesk-Hd200.png |Cache Settings]]<br />
<br />
=== Page layout adjustment ===<br />
<br />
The module will also work without this, however it will look poor in the frontend.<br />
<br />
Go to '''Page layouts''' and change the layout for the pages that will display the forum/helpdesk. This might be a special layout you make for the forum/helpdesk pages, or the '''Default layout'''.<br />
<br />
Scroll down to '''Additional <nowiki>‹head›</nowiki> tags''' and append the following lines to whatever might allready be in there:<br />
<br />
<source lang="php"><br />
<link rel="stylesheet" <br />
href="system/modules/helpdesk/themes/default/frontend.css" <br />
type="text/css" <br />
media="screen,projection,print" /><br />
<!--[if lte IE 6]><br />
<style type="text/css"><br />
.pngfix { behavior:url("system/modules/helpdesk/themes/default/pngfix.htc") }<br />
</style><br />
<![endif]--><br />
</source><br />
<br />
== Custom themes and templates ==<br />
<br />
=== Backend themes ===<br />
<br />
To create the theme ''mysite'' you would first of cause create a new Contao backend theme folder /system/themes/mysite and activate it in in the ''Settings''. <br />
<br />
Then likewise you would create a folder system/modules/helpdesk/themes/mysite, copy the CSS files from the adjaccent ''default'' folder and make your adjustments to them. Please note that because of the automatic fallback it is '''not''' necessary to copy all the images from the ''default'' theme. In case you want your own icons, just create a subfolder ''images'' and put them in there; any icons not found there will be taken from the ''default'' theme.<br />
<br />
=== Frontend themes ===<br />
<br />
Copy the CSS files from system/modules/helpdesk/themes/default to your custom frontend theme folder and make the desired adjustments. Don't forget to adjust the ''Page layout'' as explained before to use your custom stylesheet instead of the default one.<br />
<br />
You may want to replace some or all of the default forum/helpdesk icons too. Just put your custom icons into an ''images'' folder below your custom theme. Then enter the path of your images folder in the helpdesk settings. Again there is a fallback built in, so any icon not found in your custom images folder will be taken from the ''default'' backend theme.<br />
<br />
Instead of PNG you may use GIF icons. In case both, a GIF ''and'' a PNG icon is found, the PNG has precedence.<br />
<br />
=== Templates ===<br />
<br />
In case you need to customize the default templates, just copy the files of interest from /system/modules/helpdesk/templates to /templates and make your adjustments. <br />
<br />
Please note that the template files are used for both, frontend //and// backend.<br />
<br />
<br />
=== "Personal data" Module ===<br />
<br />
{{note|As of TYPOlight 2.5.0 it is no longer required to edit the file ModulePersonalData.php; the hook is now included in the core file. However you still need to select the template ''member_grouped_helpdesk'' up to 2.5.9. Since TYPOlight 2.6.0 you also no longer need ''member_grouped_helpdesk'' because all necessary changes got included in ''member_grouped''.}}<br />
<br />
<br />
You may want to give your frontend members the option to subscribe themself for email noification with the ''Personal data'' module. This will work right out of the box when you are using the template ''member_default''.<br />
<br />
However when using the template ''member_grouped'' you won't see the Forum/Helpdesk settings with the TYPOlight releases before 2.5.0. There is a workaround to use the grouped member display right now, which requires a small hack:<br />
<br />
Edit the file /system/modules/frontend/ModulePersonalData.php and find this code:<br />
<br />
<source lang="php">// HOOK: add newsletter fields<br />
if (in_array('newsletter', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->newsletter = $arrFields['newsletter'];<br />
$this->Template->newsletterDetails = $GLOBALS['TL_LANG']['tl_member']['newsletterDetails'];<br />
}</source><br />
<br />
Now add the following code immediately below:<br />
<br />
<source lang="php">// HOOK: add helpdesk fields<br />
if (in_array('helpdesk', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->helpdesk = $arrFields['helpdesk'];<br />
$this->Template->helpdeskDetails = $GLOBALS['TL_LANG']['tl_member']['helpdeskDetails'];<br />
}</source><br />
<br />
Finally, go to the ''Personal data'' module and select the template ''member_grouped_helpdesk''.<br />
<br />
The layout may look somewhat messy by default, here is a suggestion to add to your CSS of the respective page:<br />
<br />
<source lang="css"><br />
.mod_personalData .checkbox_container span<br />
{<br />
display:block;<br />
white-space:nowrap;<br />
}<br />
<br />
.mod_personalData .checkbox_container span *<br />
{<br />
vertical-align:middle;<br />
}<br />
</source><br />
<br />
=== Enabling RSS Feeds ===<br />
<br />
To enable RSS feeds you need to:<br />
<br />
*Make settings in each category that you want feeds for<br />
*Make global settings in the Contao settings<br />
*Add a rewrite rule to your .htaccess file<br />
*Optional: Add a link to the page header in case you want to display a feed icon in the browsers address field<br />
<br />
=== Category Settings ===<br />
<br />
In the category settings you need to enter the url of the page holding this category, plus check that RSS feeds are enabled. Repeat this for all categories where you want to have RSS feeds for:<br />
<br />
[[File:Extensions-helpdesk-Hd100.jpg|Category Settings]]<br />
<br />
=== Contao settings ===<br />
<br />
In the Contao settings enable the forum/helpdesk feeds, and then make settings for the maximum number of messages to display, the base name of the xml file (same as in the .htaccess below), the title and description of the feed. Please note that this title and description only comes into play for feeds of multiple categories, for single category feeds the title and description of the category is used:<br />
<br />
[[File:Extensions-helpdesk-Hd101.jpg|Contao Settings]]<br />
<br />
=== .htaccess Modification ===<br />
<br />
Add a rewrite rule such as below to your .htaccess file. Replace ''helpdesk'' by the term you defined as base name in the Contao settings:<br />
<br />
<source lang="php">>RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</source><br />
<br />
A typical complete .htaccess for TYPOlight 2.6.0 might be:<br />
<br />
<source lang="php"><br />
# Enable mod_rewrite<br />
RewriteEngine On<br />
RewriteBase /<br />
<br />
# Block any URI protocol in the query string<br />
RewriteCond %{QUERY_STRING} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Block any URI protocol in the request<br />
RewriteCond %{REQUEST_URI} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Rewrite TYPOlight URLs<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule .*\.html$ index.php [L]<br />
<br />
# Dynamic RSS feeds for forum/helpdesk <br />
RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</source><br />
<br />
=== Add RSS icon link to page layout ===<br />
<br />
This is optional but very convenient for your users. In case you not yet have a distinct page layout for the forum/helpdesk, make a copy of the default page layout. Edit the layout and enter the following link to the //Additional head tags// input:<br />
<br />
<code><link rel="alternate" type="application/rss+xml" title="RSS" href="http://www.example.com/helpdesk0.xml" /></code><br />
<br />
Replace %%www.example.com%% by your site's url. The 0 tells to provide a feed over all categories the user has read access to. If you want to make a feed over the categories 4, 5 and 7 instead, the link would be helpdesk4,5,7.xml<br />
<br />
=== Email Import and Notification ===<br />
<br />
==== Email Settings ====<br />
<br />
To send out notifications and import email a batch program must run on a regular base. You need to install the [[extensions:cron|cron utility]] for this purpose. Below you find suggested settings for the two Forum/Helpdesk jobs. Use a time schedule that matches your needs; the samples below will execute once every minute.<br />
<br />
[[File:Extensions-helpdesk-Hd024.jpg|CRON Scheduler]]<br /><br />
<br />
[[File:Extensions-helpdesk-Hd025.jpg|Import Job Settings]]<br /><br />
<br />
[[File:Extensions-helpdesk-Hd026.jpg|Notification Job Settings]]<br />
<br />
==== Troubleshooting E-Mail Issues ====<br />
<br />
*Check if your servers are properly configured to send out mails by creating a test-newsletter and sending it to one of your mail accounts. Send it to another server than the one used for sending out the mail to make sure the mail is not getting caught in some spamfilters or lost in any black hole.<br />
*Using PHP Mail may work on well configured servers (which is not selve-evident these days, cheepo hosters are greeting). Use SMTP in case, that will work 100%.<br />
<br />
*A common mistake is to use a different domain in the notification sender address than in the mail account in the system settings. For example when your SMTP account in the system settings is <nowiki>admin@example.com</nowiki>, a notification sender address such as <nowiki>forum@banana.net</nowiki> is likely to fail because that would be "relaying" which is forbidden in well configured mail servers. Of cause there are exceptions from this rule, for example when the mail server is configured to handle both of those domains. Leave the notification sender address empty until notification works in case.<br />
*Switch the helpdesk logging to <nowiki>"debug"</nowiki> in the Contao system settings. You will find the log files at <nowiki>/system/logs/Helpdesk*.log</nowiki>. In case no log file gets created during the batch run, your directory permissions of /system/logs does not allow write access for the web server. In that case you can manually create the two files /system/logs/HelpdeskImport.log and /system/logs/HelpdeskNotify.log and give them read/write permissions for the web server (for example as chmod of 666).<br />
*For debugging it is time-consuming to always have to wait for the scheduler to run. You can disable the scheduler jobs and manually trigger the batch by calling these url's (replace <nowiki>%%www.example.com%%</nowiki> by your own url of cause): <br />
<source lang="php">%%http://www.example.com/system/modules/helpdesk/HelpdeskNotifyExec.php%%<br />
%%http://www.example.com/system/modules/helpdesk/HelpdeskImportExec.php%%</source><br />
You will most likely just see a blank page when executing, but then check the log files after execution to see the results.<br />
<br />
=== Manual upgrade from a previous version ===<br />
<br />
{{Caution|It is recommended to make backups of your files and your database before starting any upgrade.}}<br />
<br />
You can upgrade directly from any previous release, it is '''not''' necessary to install every version that was released between your old and new version of the application.<br />
<br />
It is optional to delete the files of the old version before installing a new release; you can choose to just overwrite the old files. However there might be obsolete files which will stay in your installation that way. So for a clean update I recommend to manually delete these files and folders in advance:<br />
<br />
*system/drivers/DC_HelpdeskTable.php<br />
*system/modules/helpdesk<br />
<br />
{{Caution|Do '''NOT''' delete the mysql tables and settings of the helpdesk application after removing the old files, neither with phpmyadmin nor by using the Contao install tool. Otherwise you will loose all your data and settings.}}<br />
<br />
Next the procedure is basicly the same as with a new installation from scratch:<br />
<br />
*Download the install package.<br />
*Unzip/upload to your TYPOlight base directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki> <br />
*Enter the installation password and click ''Login''<br />
*Scroll down to ''Update database tables'' <br />
*If any drops of obsolete table columns are due, they are by default unchecked. It is safe to check them now in order to have clean database. <br />
*Click on ''Update database'' to have the necessary database updates applied.<br />
<br />
{{note|After upgrading, you should read the change log to see what has changed and might need your attention.}}<br />
<br />
=== Optimizing full text search ===<br />
<br />
Full text search of mysql will by default not find any words shorter than 4 characters, or in the stopword list. <br />
<br />
To improve search I recommend to lower the minimum word length to 2, or even down to 1. In case your site is not english only, you might also want to disable the default stopword list (or apply [[http://members.unine.ch/jacques.savoy/clef/index.html|a customized one in your language]]).<br />
<br />
**Brief procedure:**<br />
<br />
* Edit the mysql configuration file<br />
* Restart the mysql server<br />
* Drop the fulltext indexes<br />
* Recreate the fulltext indexes<br />
<br />
<br />
**More detailed description (debian example):**<br />
<br />
Edit /etc/mysql/my.cnf\\<br />
Within the section **[mysqld]** edit or add the following lines:<br />
<br />
<code>#<br />
# Fulltext config<br />
#<br />
ft_min_word_len = 2<br />
ft_stopword_file = ""</code><br />
<br />
Restart mysql:<br />
<br />
/etc/init.d/mysql restart<br />
<br />
Check system vars in phpMyAdmin to make sure it worked:<br />
<br />
{{ :extensions:helpdesk:myvars1.png }}<br />
{{ :extensions:helpdesk:myvars2.png }}<br />
<br />
Drop the fulltext indexes from the tables tl_search, tl_helpdesk_tickets and tl_helpdesk_messages. Check also the tables of other installed extensions for fulltext indexes, and drop them as well:<br />
<br />
{{ :extensions:helpdesk:dropft3.png }}<br />
<br />
{{ :extensions:helpdesk:dropft1.png }}<br />
<br />
{{ :extensions:helpdesk:dropft2.png }}<br />
<br />
Use the TYPOlight installation or extension manager to recreate the indexes based on the new settings:<br />
<br />
{{ :extensions:helpdesk:makeft.png }}<br />
<br />
<br />
== Getting started ==<br />
<br />
Well this section is currently very brief. Only a few screenschots so far, but I guess you will figure out usage yourself with some TYPOlight experience. <br />
<br />
=== Create a new category ====<br />
<br />
{{extensions:helpdesk:hd111.png|Goto helpdesk structure}}<br />
<br />
{{extensions:helpdesk:hd110.png|Category overview}}<br />
<br />
{{extensions:helpdesk:hd113.png|Category editor}}<br />
{{extensions:helpdesk:hd114.png|Category editor}}<br />
{{extensions:helpdesk:hd115.png|Category editor}}<br />
{{extensions:helpdesk:hd116.png|Category editor}}<br />
{{extensions:helpdesk:hd117.png|Category editor}}<br />
<br />
=== Create a title module for the frontend ===<br />
<br />
Basicly a title module is not required, however it helps you structure your forums and helpdesks when you want to group the categories into blocks.<br />
<br />
{{extensions:helpdesk:hd118.png|Goto modules}}<br />
{{extensions:helpdesk:hd119.png|Add a module}}<br />
<br />
{{extensions:helpdesk:hd120.png|Title module settings}}<br />
{{extensions:helpdesk:hd121.png|Title module settings}}<br />
<br />
=== Create block modules for the frontend ===<br />
<br />
A forum/helpdesk block module displays a selection of categories in a block on the frontend. So the minimum to get started on frontend is one module of this type. In case you want to structure your categories you will make several of these modules:<br />
<br />
{{:extensions:helpdesk:hdblock.png|Block module settings}}</div>Lucinahttps://en.contaowiki.org/HelpdeskHelpdesk2012-02-18T14:42:47Z<p>Lucina: /* .htaccess Modification */</p>
<hr />
<div>{{stub}}<br />
[[de:Helpdesk]]<br />
= Forum and Helpdesk =<br />
{{Note|Parts of this documentation were created by Peter Koch / IBK Software AG. Peter Koch has licensed this content for use on contoawiki.org. Content in this page must not be copied, reproduced, republished, uploaded, posted, transmitted, distributed, or used for the creation of derivative works without IBK's prior written consent.}}<br />
{{Hint|http://web.archive.org/web/20101121033235/http://contifex.com/wiki/extensions:helpdesk}}<br />
{{Note|feel free to bring the content from the page above to our contaowiki!}} <br />
<br />
== Features ==<br />
[[File:Extensions-helpdesk-Hd130.png]]<br />
* Native Contao application; fully integrated into Contao user/member system.<br />
* Can be used as forum, as helpdesk ticketing system, or both at same time.<br />
* Both, frontend members and backend users, can be members/clients or moderators/supporters.<br />
* Multiple frontend modules with selected categories are possible; to be displayed on one or several pages, or embedded within articles.<br />
* Backend modules for configuration and forum participation.<br />
* Comprehensive and fast BBCode engine including tables, lists, several box types, syntax highlighting and more.<br />
* Popup windows for BBCode help and editor preview.<br />
* Email notification to subscribing users.<br />
* Email import to create new topics/tickets, as well as to reply to notifications.<br />
* Fully customizable layout and appearence by templates and themes.<br />
* Powerful search engine.<br />
* RSS feeds for any selection of categories.<br />
* Convenient moderator functions including cut/paste operations to move messages and topics<br />
<br />
== Abstract ==<br />
<br />
Contao Forum/Helpdesk is a message board (forum) application designed to be as well used as a helpdesk ticketing system, for example to provide formal and informal support to customers or clients. The terminology and functions of the forum categories is slightly different than the support ticketing categories, but when you know the mapping you will immediately be familiar with the application:<br />
<br />
{| border="0" cellspacing="1" cellpadding="2"<br />
! !! '''Forum''' !! '''Helpdesk'''<br />
|-<br />
| Category types (1) || Restricted or public || Private, shared or public <br />
|-<br />
| Thread naming (2) || Topics || Tickets<br />
|-<br />
| Frontend users (3) || Members || Clients<br />
|-<br />
| Backend users (4) || Moderators || Supporters<br />
|-<br />
| colspan="2" |<br />
|}<br />
<br />
== Categories ==<br />
<br />
<br />
*[[File:Extensions-helpdesk-Category416.png]] '''Public Forum''': Everybody can read the forum, even non-logged in users. Only authorized members can however open topics or reply.<br />
*[[File:Extensions-helpdesk-Category316.png]] '''Restricted Forum''': The forum is visible only for authorized members.<br />
*[[File:Extensions-helpdesk-Category216.png]] '''Public Support''': Everybody can see all tickets, even non-logged in users. Only authorized clients can however open tickets or reply.<br />
*[[File:Extensions-helpdesk-Category116.png]] '''Shared Support''': All authorized clients can see and reply each others tickets, however only the owner has priviledge to close or delete his tickets. Create such a category for example for each company with a SLA((Service level agreement)) where multiple staff members shall have access to the tickets.<br />
*[[File:Extensions-helpdesk-Category016.png]] '''Private Support''': Only the ticket owner can see his tickets, but nobody else (admins and supporters authorized for the category can of course also see and reply to the tickets). Used for example for formal support of individuals.<br />
<br />
=== Topic vs. ticket status ===<br />
<br />
==== Topic status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0116.png]] '''Pinned up:''' Open topic that is listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1116.png]] '''Normal:''' A normal open topic. <br />
*[[File:Extensions-helpdesk-Ticket2116.png]] '''Closed:''' No further edits or replies are possible, listed at the end. <br />
<br />
==== Ticket status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0016.png]] '''Unanswered:''' The ticked is open and the latest post is from a client. Listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1016.png]] '''Answered:''' The ticket is open and the latest post is from a supporter. <br />
*[[File:Extensions-helpdesk-Ticket2016.png]] '''Closed:''' Issue solved. No further edits or replies are possible, the owner may reopen it however in case. Listed at the end. <br />
<br />
=== Members and Clients ===<br />
<br />
Forum members and support clients are either "frontend members" or "backend users" in terms of TYPOlight, and belong to a member/user group authorized for the respective category. The client opening a ticket has special "owner" rights in the support type categories: He has authorization to close or delete (5) his tickets.<br />
<br />
=== Admin, Moderators and Supporters ===<br />
<br />
Moderators and supporters are either TYPOlight backend users or frontend members, and belong to a user group authorized as moderator/supporter for the respective category. They have special rights to see unpublished, to pinup, edit, unpublish or delete any topic, ticket or message.<br />
<br />
Contao admins are special backend users and appear as moderator or supporter, he/she is automaticly authorized for all categories. Additionally the admins have authorization to administrative operations, e.g. create or delete categories or change category settings. Also admins are the only ones who can see unpublished categories.<br />
<br />
=== Deletion levels ===<br />
<br />
Tickets and messages are not permanently deleted, but only unpublished from frontend when a ticket owner or member/client "deletes" them. They are still available for moderators and supporters however, mainly to serve as a knowledge resource. Tickets and messages can be permanently deleted only by admins, moderators and supporters.<br />
<br />
== Installation and Setup ==<br />
<br />
=== Requirements ===<br />
<br />
*PHP from version 5.2.0<br />
*Other requirements like [http://www.contao.org/system-requirements.html]<br />
<br />
=== Manual Installation ===<br />
<br />
*Install these required extensions in advance: [[extensions:avatar]], [[extensions:cron]], [http://www.contao.org/extension-list/view/geshi.en.html]<br />
*Download the install package from [http://www.contao.org/extension-list/view/helpdesk.en.html].<br />
*Unzip the content of TL_ROOT to the Contao base directory on your webserver.<br />
*Unzip the content of TL_FILES to the tl_files directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki><br />
*Enter the installation password and click '''Login'''<br />
*Scroll down to '''Update database tables''' and click on '''Update database'''<br />
<br />
=== Site structure settings ===<br />
<br />
The page where the forum/helpdesk is located should have caching disabled, e.g:<br />
<br />
[[File:Extensions-helpdesk-Hd200.png |Cache Settings]]<br />
<br />
=== Page layout adjustment ===<br />
<br />
The module will also work without this, however it will look poor in the frontend.<br />
<br />
Go to '''Page layouts''' and change the layout for the pages that will display the forum/helpdesk. This might be a special layout you make for the forum/helpdesk pages, or the '''Default layout'''.<br />
<br />
Scroll down to '''Additional <nowiki>‹head›</nowiki> tags''' and append the following lines to whatever might allready be in there:<br />
<br />
<source lang="php"><br />
<link rel="stylesheet" <br />
href="system/modules/helpdesk/themes/default/frontend.css" <br />
type="text/css" <br />
media="screen,projection,print" /><br />
<!--[if lte IE 6]><br />
<style type="text/css"><br />
.pngfix { behavior:url("system/modules/helpdesk/themes/default/pngfix.htc") }<br />
</style><br />
<![endif]--><br />
</source><br />
<br />
== Custom themes and templates ==<br />
<br />
=== Backend themes ===<br />
<br />
To create the theme ''mysite'' you would first of cause create a new Contao backend theme folder /system/themes/mysite and activate it in in the ''Settings''. <br />
<br />
Then likewise you would create a folder system/modules/helpdesk/themes/mysite, copy the CSS files from the adjaccent ''default'' folder and make your adjustments to them. Please note that because of the automatic fallback it is '''not''' necessary to copy all the images from the ''default'' theme. In case you want your own icons, just create a subfolder ''images'' and put them in there; any icons not found there will be taken from the ''default'' theme.<br />
<br />
=== Frontend themes ===<br />
<br />
Copy the CSS files from system/modules/helpdesk/themes/default to your custom frontend theme folder and make the desired adjustments. Don't forget to adjust the ''Page layout'' as explained before to use your custom stylesheet instead of the default one.<br />
<br />
You may want to replace some or all of the default forum/helpdesk icons too. Just put your custom icons into an ''images'' folder below your custom theme. Then enter the path of your images folder in the helpdesk settings. Again there is a fallback built in, so any icon not found in your custom images folder will be taken from the ''default'' backend theme.<br />
<br />
Instead of PNG you may use GIF icons. In case both, a GIF ''and'' a PNG icon is found, the PNG has precedence.<br />
<br />
=== Templates ===<br />
<br />
In case you need to customize the default templates, just copy the files of interest from /system/modules/helpdesk/templates to /templates and make your adjustments. <br />
<br />
Please note that the template files are used for both, frontend //and// backend.<br />
<br />
<br />
=== "Personal data" Module ===<br />
<br />
{{note|As of TYPOlight 2.5.0 it is no longer required to edit the file ModulePersonalData.php; the hook is now included in the core file. However you still need to select the template ''member_grouped_helpdesk'' up to 2.5.9. Since TYPOlight 2.6.0 you also no longer need ''member_grouped_helpdesk'' because all necessary changes got included in ''member_grouped''.}}<br />
<br />
<br />
You may want to give your frontend members the option to subscribe themself for email noification with the ''Personal data'' module. This will work right out of the box when you are using the template ''member_default''.<br />
<br />
However when using the template ''member_grouped'' you won't see the Forum/Helpdesk settings with the TYPOlight releases before 2.5.0. There is a workaround to use the grouped member display right now, which requires a small hack:<br />
<br />
Edit the file /system/modules/frontend/ModulePersonalData.php and find this code:<br />
<br />
<source lang="php">// HOOK: add newsletter fields<br />
if (in_array('newsletter', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->newsletter = $arrFields['newsletter'];<br />
$this->Template->newsletterDetails = $GLOBALS['TL_LANG']['tl_member']['newsletterDetails'];<br />
}</source><br />
<br />
Now add the following code immediately below:<br />
<br />
<source lang="php">// HOOK: add helpdesk fields<br />
if (in_array('helpdesk', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->helpdesk = $arrFields['helpdesk'];<br />
$this->Template->helpdeskDetails = $GLOBALS['TL_LANG']['tl_member']['helpdeskDetails'];<br />
}</source><br />
<br />
Finally, go to the ''Personal data'' module and select the template ''member_grouped_helpdesk''.<br />
<br />
The layout may look somewhat messy by default, here is a suggestion to add to your CSS of the respective page:<br />
<br />
<source lang="css"><br />
.mod_personalData .checkbox_container span<br />
{<br />
display:block;<br />
white-space:nowrap;<br />
}<br />
<br />
.mod_personalData .checkbox_container span *<br />
{<br />
vertical-align:middle;<br />
}<br />
</source><br />
<br />
=== Enabling RSS Feeds ===<br />
<br />
To enable RSS feeds you need to:<br />
<br />
*Make settings in each category that you want feeds for<br />
*Make global settings in the Contao settings<br />
*Add a rewrite rule to your .htaccess file<br />
*Optional: Add a link to the page header in case you want to display a feed icon in the browsers address field<br />
<br />
=== Category Settings ===<br />
<br />
In the category settings you need to enter the url of the page holding this category, plus check that RSS feeds are enabled. Repeat this for all categories where you want to have RSS feeds for:<br />
<br />
[[File:Extensions-helpdesk-Hd100.jpg|Category Settings]]<br />
<br />
=== Contao settings ===<br />
<br />
In the Contao settings enable the forum/helpdesk feeds, and then make settings for the maximum number of messages to display, the base name of the xml file (same as in the .htaccess below), the title and description of the feed. Please note that this title and description only comes into play for feeds of multiple categories, for single category feeds the title and description of the category is used:<br />
<br />
[[File:Extensions-helpdesk-Hd101.jpg|Contao Settings]]<br />
<br />
=== .htaccess Modification ===<br />
<br />
Add a rewrite rule such as below to your .htaccess file. Replace ''helpdesk'' by the term you defined as base name in the Contao settings:<br />
<br />
<source lang="php">>RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</source><br />
<br />
A typical complete .htaccess for TYPOlight 2.6.0 might be:<br />
<br />
<source lang="php"><br />
# Enable mod_rewrite<br />
RewriteEngine On<br />
RewriteBase /<br />
<br />
# Block any URI protocol in the query string<br />
RewriteCond %{QUERY_STRING} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Block any URI protocol in the request<br />
RewriteCond %{REQUEST_URI} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Rewrite TYPOlight URLs<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule .*\.html$ index.php [L]<br />
<br />
# Dynamic RSS feeds for forum/helpdesk <br />
RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</source><br />
<br />
=== Add RSS icon link to page layout ===<br />
<br />
This is optional but very convenient for your users. In case you not yet have a distinct page layout for the forum/helpdesk, make a copy of the default page layout. Edit the layout and enter the following link to the //Additional head tags// input:<br />
<br />
<code><link rel="alternate" type="application/rss+xml" title="RSS" href="http://www.example.com/helpdesk0.xml" /></code><br />
<br />
Replace %%www.example.com%% by your site's url. The 0 tells to provide a feed over all categories the user has read access to. If you want to make a feed over the categories 4, 5 and 7 instead, the link would be helpdesk4,5,7.xml<br />
<br />
<br />
<br />
<br />
<br />
=== Email Import and Notification ===<br />
<br />
==== Email Settings ====<br />
<br />
To send out notifications and import email a batch program must run on a regular base. You need to install the [[extensions:cron|cron utility]] for this purpose. Below you find suggested settings for the two Forum/Helpdesk jobs. Use a time schedule that matches your needs; the samples below will execute once every minute.<br />
<br />
[[File:Extensions-helpdesk-Hd024.jpg|CRON Scheduler]]<br /><br />
<br />
[[File:Extensions-helpdesk-Hd025.jpg|Import Job Settings]]<br /><br />
<br />
[[File:Extensions-helpdesk-Hd026.jpg|Notification Job Settings]]<br />
<br />
==== Troubleshooting E-Mail Issues ====<br />
<br />
*Check if your servers are properly configured to send out mails by creating a test-newsletter and sending it to one of your mail accounts. Send it to another server than the one used for sending out the mail to make sure the mail is not getting caught in some spamfilters or lost in any black hole.<br />
*Using PHP Mail may work on well configured servers (which is not selve-evident these days, cheepo hosters are greeting). Use SMTP in case, that will work 100%.<br />
<br />
*A common mistake is to use a different domain in the notification sender address than in the mail account in the system settings. For example when your SMTP account in the system settings is <nowiki>admin@example.com</nowiki>, a notification sender address such as <nowiki>forum@banana.net</nowiki> is likely to fail because that would be "relaying" which is forbidden in well configured mail servers. Of cause there are exceptions from this rule, for example when the mail server is configured to handle both of those domains. Leave the notification sender address empty until notification works in case.<br />
*Switch the helpdesk logging to <nowiki>"debug"</nowiki> in the Contao system settings. You will find the log files at <nowiki>/system/logs/Helpdesk*.log</nowiki>. In case no log file gets created during the batch run, your directory permissions of /system/logs does not allow write access for the web server. In that case you can manually create the two files /system/logs/HelpdeskImport.log and /system/logs/HelpdeskNotify.log and give them read/write permissions for the web server (for example as chmod of 666).<br />
*For debugging it is time-consuming to always have to wait for the scheduler to run. You can disable the scheduler jobs and manually trigger the batch by calling these url's (replace <nowiki>%%www.example.com%%</nowiki> by your own url of cause): <br />
<source lang="php">%%http://www.example.com/system/modules/helpdesk/HelpdeskNotifyExec.php%%<br />
%%http://www.example.com/system/modules/helpdesk/HelpdeskImportExec.php%%</source><br />
You will most likely just see a blank page when executing, but then check the log files after execution to see the results.<br />
<br />
=== Manual upgrade from a previous version ===<br />
<br />
{{Caution|It is recommended to make backups of your files and your database before starting any upgrade.}}<br />
<br />
You can upgrade directly from any previous release, it is '''not''' necessary to install every version that was released between your old and new version of the application.<br />
<br />
It is optional to delete the files of the old version before installing a new release; you can choose to just overwrite the old files. However there might be obsolete files which will stay in your installation that way. So for a clean update I recommend to manually delete these files and folders in advance:<br />
<br />
*system/drivers/DC_HelpdeskTable.php<br />
*system/modules/helpdesk<br />
<br />
{{Caution|Do '''NOT''' delete the mysql tables and settings of the helpdesk application after removing the old files, neither with phpmyadmin nor by using the Contao install tool. Otherwise you will loose all your data and settings.}}<br />
<br />
Next the procedure is basicly the same as with a new installation from scratch:<br />
<br />
*Download the install package.<br />
*Unzip/upload to your TYPOlight base directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki> <br />
*Enter the installation password and click ''Login''<br />
*Scroll down to ''Update database tables'' <br />
*If any drops of obsolete table columns are due, they are by default unchecked. It is safe to check them now in order to have clean database. <br />
*Click on ''Update database'' to have the necessary database updates applied.<br />
<br />
{{note|After upgrading, you should read the change log to see what has changed and might need your attention.}}<br />
<br />
=== Optimizing full text search ===<br />
<br />
Full text search of mysql will by default not find any words shorter than 4 characters, or in the stopword list. <br />
<br />
To improve search I recommend to lower the minimum word length to 2, or even down to 1. In case your site is not english only, you might also want to disable the default stopword list (or apply [[http://members.unine.ch/jacques.savoy/clef/index.html|a customized one in your language]]).<br />
<br />
**Brief procedure:**<br />
<br />
* Edit the mysql configuration file<br />
* Restart the mysql server<br />
* Drop the fulltext indexes<br />
* Recreate the fulltext indexes<br />
<br />
<br />
**More detailed description (debian example):**<br />
<br />
Edit /etc/mysql/my.cnf\\<br />
Within the section **[mysqld]** edit or add the following lines:<br />
<br />
<code>#<br />
# Fulltext config<br />
#<br />
ft_min_word_len = 2<br />
ft_stopword_file = ""</code><br />
<br />
Restart mysql:<br />
<br />
/etc/init.d/mysql restart<br />
<br />
Check system vars in phpMyAdmin to make sure it worked:<br />
<br />
{{ :extensions:helpdesk:myvars1.png }}<br />
{{ :extensions:helpdesk:myvars2.png }}<br />
<br />
Drop the fulltext indexes from the tables tl_search, tl_helpdesk_tickets and tl_helpdesk_messages. Check also the tables of other installed extensions for fulltext indexes, and drop them as well:<br />
<br />
{{ :extensions:helpdesk:dropft3.png }}<br />
<br />
{{ :extensions:helpdesk:dropft1.png }}<br />
<br />
{{ :extensions:helpdesk:dropft2.png }}<br />
<br />
Use the TYPOlight installation or extension manager to recreate the indexes based on the new settings:<br />
<br />
{{ :extensions:helpdesk:makeft.png }}<br />
<br />
<br />
== Getting started ==<br />
<br />
Well this section is currently very brief. Only a few screenschots so far, but I guess you will figure out usage yourself with some TYPOlight experience. <br />
<br />
=== Create a new category ====<br />
<br />
{{extensions:helpdesk:hd111.png|Goto helpdesk structure}}<br />
<br />
{{extensions:helpdesk:hd110.png|Category overview}}<br />
<br />
{{extensions:helpdesk:hd113.png|Category editor}}<br />
{{extensions:helpdesk:hd114.png|Category editor}}<br />
{{extensions:helpdesk:hd115.png|Category editor}}<br />
{{extensions:helpdesk:hd116.png|Category editor}}<br />
{{extensions:helpdesk:hd117.png|Category editor}}<br />
<br />
=== Create a title module for the frontend ===<br />
<br />
Basicly a title module is not required, however it helps you structure your forums and helpdesks when you want to group the categories into blocks.<br />
<br />
{{extensions:helpdesk:hd118.png|Goto modules}}<br />
{{extensions:helpdesk:hd119.png|Add a module}}<br />
<br />
{{extensions:helpdesk:hd120.png|Title module settings}}<br />
{{extensions:helpdesk:hd121.png|Title module settings}}<br />
<br />
=== Create block modules for the frontend ===<br />
<br />
A forum/helpdesk block module displays a selection of categories in a block on the frontend. So the minimum to get started on frontend is one module of this type. In case you want to structure your categories you will make several of these modules:<br />
<br />
{{:extensions:helpdesk:hdblock.png|Block module settings}}</div>Lucinahttps://en.contaowiki.org/HelpdeskHelpdesk2012-02-18T14:40:59Z<p>Lucina: /* "Personal data" Module */</p>
<hr />
<div>{{stub}}<br />
[[de:Helpdesk]]<br />
= Forum and Helpdesk =<br />
{{Note|Parts of this documentation were created by Peter Koch / IBK Software AG. Peter Koch has licensed this content for use on contoawiki.org. Content in this page must not be copied, reproduced, republished, uploaded, posted, transmitted, distributed, or used for the creation of derivative works without IBK's prior written consent.}}<br />
{{Hint|http://web.archive.org/web/20101121033235/http://contifex.com/wiki/extensions:helpdesk}}<br />
{{Note|feel free to bring the content from the page above to our contaowiki!}} <br />
<br />
== Features ==<br />
[[File:Extensions-helpdesk-Hd130.png]]<br />
* Native Contao application; fully integrated into Contao user/member system.<br />
* Can be used as forum, as helpdesk ticketing system, or both at same time.<br />
* Both, frontend members and backend users, can be members/clients or moderators/supporters.<br />
* Multiple frontend modules with selected categories are possible; to be displayed on one or several pages, or embedded within articles.<br />
* Backend modules for configuration and forum participation.<br />
* Comprehensive and fast BBCode engine including tables, lists, several box types, syntax highlighting and more.<br />
* Popup windows for BBCode help and editor preview.<br />
* Email notification to subscribing users.<br />
* Email import to create new topics/tickets, as well as to reply to notifications.<br />
* Fully customizable layout and appearence by templates and themes.<br />
* Powerful search engine.<br />
* RSS feeds for any selection of categories.<br />
* Convenient moderator functions including cut/paste operations to move messages and topics<br />
<br />
== Abstract ==<br />
<br />
Contao Forum/Helpdesk is a message board (forum) application designed to be as well used as a helpdesk ticketing system, for example to provide formal and informal support to customers or clients. The terminology and functions of the forum categories is slightly different than the support ticketing categories, but when you know the mapping you will immediately be familiar with the application:<br />
<br />
{| border="0" cellspacing="1" cellpadding="2"<br />
! !! '''Forum''' !! '''Helpdesk'''<br />
|-<br />
| Category types (1) || Restricted or public || Private, shared or public <br />
|-<br />
| Thread naming (2) || Topics || Tickets<br />
|-<br />
| Frontend users (3) || Members || Clients<br />
|-<br />
| Backend users (4) || Moderators || Supporters<br />
|-<br />
| colspan="2" |<br />
|}<br />
<br />
== Categories ==<br />
<br />
<br />
*[[File:Extensions-helpdesk-Category416.png]] '''Public Forum''': Everybody can read the forum, even non-logged in users. Only authorized members can however open topics or reply.<br />
*[[File:Extensions-helpdesk-Category316.png]] '''Restricted Forum''': The forum is visible only for authorized members.<br />
*[[File:Extensions-helpdesk-Category216.png]] '''Public Support''': Everybody can see all tickets, even non-logged in users. Only authorized clients can however open tickets or reply.<br />
*[[File:Extensions-helpdesk-Category116.png]] '''Shared Support''': All authorized clients can see and reply each others tickets, however only the owner has priviledge to close or delete his tickets. Create such a category for example for each company with a SLA((Service level agreement)) where multiple staff members shall have access to the tickets.<br />
*[[File:Extensions-helpdesk-Category016.png]] '''Private Support''': Only the ticket owner can see his tickets, but nobody else (admins and supporters authorized for the category can of course also see and reply to the tickets). Used for example for formal support of individuals.<br />
<br />
=== Topic vs. ticket status ===<br />
<br />
==== Topic status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0116.png]] '''Pinned up:''' Open topic that is listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1116.png]] '''Normal:''' A normal open topic. <br />
*[[File:Extensions-helpdesk-Ticket2116.png]] '''Closed:''' No further edits or replies are possible, listed at the end. <br />
<br />
==== Ticket status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0016.png]] '''Unanswered:''' The ticked is open and the latest post is from a client. Listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1016.png]] '''Answered:''' The ticket is open and the latest post is from a supporter. <br />
*[[File:Extensions-helpdesk-Ticket2016.png]] '''Closed:''' Issue solved. No further edits or replies are possible, the owner may reopen it however in case. Listed at the end. <br />
<br />
=== Members and Clients ===<br />
<br />
Forum members and support clients are either "frontend members" or "backend users" in terms of TYPOlight, and belong to a member/user group authorized for the respective category. The client opening a ticket has special "owner" rights in the support type categories: He has authorization to close or delete (5) his tickets.<br />
<br />
=== Admin, Moderators and Supporters ===<br />
<br />
Moderators and supporters are either TYPOlight backend users or frontend members, and belong to a user group authorized as moderator/supporter for the respective category. They have special rights to see unpublished, to pinup, edit, unpublish or delete any topic, ticket or message.<br />
<br />
Contao admins are special backend users and appear as moderator or supporter, he/she is automaticly authorized for all categories. Additionally the admins have authorization to administrative operations, e.g. create or delete categories or change category settings. Also admins are the only ones who can see unpublished categories.<br />
<br />
=== Deletion levels ===<br />
<br />
Tickets and messages are not permanently deleted, but only unpublished from frontend when a ticket owner or member/client "deletes" them. They are still available for moderators and supporters however, mainly to serve as a knowledge resource. Tickets and messages can be permanently deleted only by admins, moderators and supporters.<br />
<br />
== Installation and Setup ==<br />
<br />
=== Requirements ===<br />
<br />
*PHP from version 5.2.0<br />
*Other requirements like [http://www.contao.org/system-requirements.html]<br />
<br />
=== Manual Installation ===<br />
<br />
*Install these required extensions in advance: [[extensions:avatar]], [[extensions:cron]], [http://www.contao.org/extension-list/view/geshi.en.html]<br />
*Download the install package from [http://www.contao.org/extension-list/view/helpdesk.en.html].<br />
*Unzip the content of TL_ROOT to the Contao base directory on your webserver.<br />
*Unzip the content of TL_FILES to the tl_files directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki><br />
*Enter the installation password and click '''Login'''<br />
*Scroll down to '''Update database tables''' and click on '''Update database'''<br />
<br />
=== Site structure settings ===<br />
<br />
The page where the forum/helpdesk is located should have caching disabled, e.g:<br />
<br />
[[File:Extensions-helpdesk-Hd200.png |Cache Settings]]<br />
<br />
=== Page layout adjustment ===<br />
<br />
The module will also work without this, however it will look poor in the frontend.<br />
<br />
Go to '''Page layouts''' and change the layout for the pages that will display the forum/helpdesk. This might be a special layout you make for the forum/helpdesk pages, or the '''Default layout'''.<br />
<br />
Scroll down to '''Additional <nowiki>‹head›</nowiki> tags''' and append the following lines to whatever might allready be in there:<br />
<br />
<source lang="php"><br />
<link rel="stylesheet" <br />
href="system/modules/helpdesk/themes/default/frontend.css" <br />
type="text/css" <br />
media="screen,projection,print" /><br />
<!--[if lte IE 6]><br />
<style type="text/css"><br />
.pngfix { behavior:url("system/modules/helpdesk/themes/default/pngfix.htc") }<br />
</style><br />
<![endif]--><br />
</source><br />
<br />
== Custom themes and templates ==<br />
<br />
=== Backend themes ===<br />
<br />
To create the theme ''mysite'' you would first of cause create a new Contao backend theme folder /system/themes/mysite and activate it in in the ''Settings''. <br />
<br />
Then likewise you would create a folder system/modules/helpdesk/themes/mysite, copy the CSS files from the adjaccent ''default'' folder and make your adjustments to them. Please note that because of the automatic fallback it is '''not''' necessary to copy all the images from the ''default'' theme. In case you want your own icons, just create a subfolder ''images'' and put them in there; any icons not found there will be taken from the ''default'' theme.<br />
<br />
=== Frontend themes ===<br />
<br />
Copy the CSS files from system/modules/helpdesk/themes/default to your custom frontend theme folder and make the desired adjustments. Don't forget to adjust the ''Page layout'' as explained before to use your custom stylesheet instead of the default one.<br />
<br />
You may want to replace some or all of the default forum/helpdesk icons too. Just put your custom icons into an ''images'' folder below your custom theme. Then enter the path of your images folder in the helpdesk settings. Again there is a fallback built in, so any icon not found in your custom images folder will be taken from the ''default'' backend theme.<br />
<br />
Instead of PNG you may use GIF icons. In case both, a GIF ''and'' a PNG icon is found, the PNG has precedence.<br />
<br />
=== Templates ===<br />
<br />
In case you need to customize the default templates, just copy the files of interest from /system/modules/helpdesk/templates to /templates and make your adjustments. <br />
<br />
Please note that the template files are used for both, frontend //and// backend.<br />
<br />
<br />
=== "Personal data" Module ===<br />
<br />
{{note|As of TYPOlight 2.5.0 it is no longer required to edit the file ModulePersonalData.php; the hook is now included in the core file. However you still need to select the template ''member_grouped_helpdesk'' up to 2.5.9. Since TYPOlight 2.6.0 you also no longer need ''member_grouped_helpdesk'' because all necessary changes got included in ''member_grouped''.}}<br />
<br />
<br />
You may want to give your frontend members the option to subscribe themself for email noification with the ''Personal data'' module. This will work right out of the box when you are using the template ''member_default''.<br />
<br />
However when using the template ''member_grouped'' you won't see the Forum/Helpdesk settings with the TYPOlight releases before 2.5.0. There is a workaround to use the grouped member display right now, which requires a small hack:<br />
<br />
Edit the file /system/modules/frontend/ModulePersonalData.php and find this code:<br />
<br />
<source lang="php">// HOOK: add newsletter fields<br />
if (in_array('newsletter', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->newsletter = $arrFields['newsletter'];<br />
$this->Template->newsletterDetails = $GLOBALS['TL_LANG']['tl_member']['newsletterDetails'];<br />
}</source><br />
<br />
Now add the following code immediately below:<br />
<br />
<source lang="php">// HOOK: add helpdesk fields<br />
if (in_array('helpdesk', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->helpdesk = $arrFields['helpdesk'];<br />
$this->Template->helpdeskDetails = $GLOBALS['TL_LANG']['tl_member']['helpdeskDetails'];<br />
}</source><br />
<br />
Finally, go to the ''Personal data'' module and select the template ''member_grouped_helpdesk''.<br />
<br />
The layout may look somewhat messy by default, here is a suggestion to add to your CSS of the respective page:<br />
<br />
<source lang="css"><br />
.mod_personalData .checkbox_container span<br />
{<br />
display:block;<br />
white-space:nowrap;<br />
}<br />
<br />
.mod_personalData .checkbox_container span *<br />
{<br />
vertical-align:middle;<br />
}<br />
</source><br />
<br />
=== Enabling RSS Feeds ===<br />
<br />
To enable RSS feeds you need to:<br />
<br />
*Make settings in each category that you want feeds for<br />
*Make global settings in the Contao settings<br />
*Add a rewrite rule to your .htaccess file<br />
*Optional: Add a link to the page header in case you want to display a feed icon in the browsers address field<br />
<br />
=== Category Settings ===<br />
<br />
In the category settings you need to enter the url of the page holding this category, plus check that RSS feeds are enabled. Repeat this for all categories where you want to have RSS feeds for:<br />
<br />
[[File:Extensions-helpdesk-Hd100.jpg|Category Settings]]<br />
<br />
=== Contao settings ===<br />
<br />
In the Contao settings enable the forum/helpdesk feeds, and then make settings for the maximum number of messages to display, the base name of the xml file (same as in the .htaccess below), the title and description of the feed. Please note that this title and description only comes into play for feeds of multiple categories, for single category feeds the title and description of the category is used:<br />
<br />
[[File:Extensions-helpdesk-Hd101.jpg|Contao Settings]]<br />
<br />
=== .htaccess Modification ===<br />
<br />
Add a rewrite rule such as below to your .htaccess file. Replace //helpdesk// by the term you defined as base name in the TYPOlight settings:<br />
<br />
<code>RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</code><br />
<br />
A typical complete .htaccess for TYPOlight 2.6.0 might be:<br />
<br />
<code><br />
# Enable mod_rewrite<br />
RewriteEngine On<br />
RewriteBase /<br />
<br />
# Block any URI protocol in the query string<br />
RewriteCond %{QUERY_STRING} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Block any URI protocol in the request<br />
RewriteCond %{REQUEST_URI} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Rewrite TYPOlight URLs<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule .*\.html$ index.php [L]<br />
<br />
# Dynamic RSS feeds for forum/helpdesk <br />
RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</code><br />
<br />
=== Add RSS icon link to page layout ===<br />
<br />
This is optional but very convenient for your users. In case you not yet have a distinct page layout for the forum/helpdesk, make a copy of the default page layout. Edit the layout and enter the following link to the //Additional head tags// input:<br />
<br />
<code><link rel="alternate" type="application/rss+xml" title="RSS" href="http://www.example.com/helpdesk0.xml" /></code><br />
<br />
Replace %%www.example.com%% by your site's url. The 0 tells to provide a feed over all categories the user has read access to. If you want to make a feed over the categories 4, 5 and 7 instead, the link would be helpdesk4,5,7.xml<br />
<br />
<br />
<br />
<br />
<br />
=== Email Import and Notification ===<br />
<br />
==== Email Settings ====<br />
<br />
To send out notifications and import email a batch program must run on a regular base. You need to install the [[extensions:cron|cron utility]] for this purpose. Below you find suggested settings for the two Forum/Helpdesk jobs. Use a time schedule that matches your needs; the samples below will execute once every minute.<br />
<br />
[[File:Extensions-helpdesk-Hd024.jpg|CRON Scheduler]]<br /><br />
<br />
[[File:Extensions-helpdesk-Hd025.jpg|Import Job Settings]]<br /><br />
<br />
[[File:Extensions-helpdesk-Hd026.jpg|Notification Job Settings]]<br />
<br />
==== Troubleshooting E-Mail Issues ====<br />
<br />
*Check if your servers are properly configured to send out mails by creating a test-newsletter and sending it to one of your mail accounts. Send it to another server than the one used for sending out the mail to make sure the mail is not getting caught in some spamfilters or lost in any black hole.<br />
*Using PHP Mail may work on well configured servers (which is not selve-evident these days, cheepo hosters are greeting). Use SMTP in case, that will work 100%.<br />
<br />
*A common mistake is to use a different domain in the notification sender address than in the mail account in the system settings. For example when your SMTP account in the system settings is <nowiki>admin@example.com</nowiki>, a notification sender address such as <nowiki>forum@banana.net</nowiki> is likely to fail because that would be "relaying" which is forbidden in well configured mail servers. Of cause there are exceptions from this rule, for example when the mail server is configured to handle both of those domains. Leave the notification sender address empty until notification works in case.<br />
*Switch the helpdesk logging to <nowiki>"debug"</nowiki> in the Contao system settings. You will find the log files at <nowiki>/system/logs/Helpdesk*.log</nowiki>. In case no log file gets created during the batch run, your directory permissions of /system/logs does not allow write access for the web server. In that case you can manually create the two files /system/logs/HelpdeskImport.log and /system/logs/HelpdeskNotify.log and give them read/write permissions for the web server (for example as chmod of 666).<br />
*For debugging it is time-consuming to always have to wait for the scheduler to run. You can disable the scheduler jobs and manually trigger the batch by calling these url's (replace <nowiki>%%www.example.com%%</nowiki> by your own url of cause): <br />
<source lang="php">%%http://www.example.com/system/modules/helpdesk/HelpdeskNotifyExec.php%%<br />
%%http://www.example.com/system/modules/helpdesk/HelpdeskImportExec.php%%</source><br />
You will most likely just see a blank page when executing, but then check the log files after execution to see the results.<br />
<br />
=== Manual upgrade from a previous version ===<br />
<br />
{{Caution|It is recommended to make backups of your files and your database before starting any upgrade.}}<br />
<br />
You can upgrade directly from any previous release, it is '''not''' necessary to install every version that was released between your old and new version of the application.<br />
<br />
It is optional to delete the files of the old version before installing a new release; you can choose to just overwrite the old files. However there might be obsolete files which will stay in your installation that way. So for a clean update I recommend to manually delete these files and folders in advance:<br />
<br />
*system/drivers/DC_HelpdeskTable.php<br />
*system/modules/helpdesk<br />
<br />
{{Caution|Do '''NOT''' delete the mysql tables and settings of the helpdesk application after removing the old files, neither with phpmyadmin nor by using the Contao install tool. Otherwise you will loose all your data and settings.}}<br />
<br />
Next the procedure is basicly the same as with a new installation from scratch:<br />
<br />
*Download the install package.<br />
*Unzip/upload to your TYPOlight base directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki> <br />
*Enter the installation password and click ''Login''<br />
*Scroll down to ''Update database tables'' <br />
*If any drops of obsolete table columns are due, they are by default unchecked. It is safe to check them now in order to have clean database. <br />
*Click on ''Update database'' to have the necessary database updates applied.<br />
<br />
{{note|After upgrading, you should read the change log to see what has changed and might need your attention.}}<br />
<br />
=== Optimizing full text search ===<br />
<br />
Full text search of mysql will by default not find any words shorter than 4 characters, or in the stopword list. <br />
<br />
To improve search I recommend to lower the minimum word length to 2, or even down to 1. In case your site is not english only, you might also want to disable the default stopword list (or apply [[http://members.unine.ch/jacques.savoy/clef/index.html|a customized one in your language]]).<br />
<br />
**Brief procedure:**<br />
<br />
* Edit the mysql configuration file<br />
* Restart the mysql server<br />
* Drop the fulltext indexes<br />
* Recreate the fulltext indexes<br />
<br />
<br />
**More detailed description (debian example):**<br />
<br />
Edit /etc/mysql/my.cnf\\<br />
Within the section **[mysqld]** edit or add the following lines:<br />
<br />
<code>#<br />
# Fulltext config<br />
#<br />
ft_min_word_len = 2<br />
ft_stopword_file = ""</code><br />
<br />
Restart mysql:<br />
<br />
/etc/init.d/mysql restart<br />
<br />
Check system vars in phpMyAdmin to make sure it worked:<br />
<br />
{{ :extensions:helpdesk:myvars1.png }}<br />
{{ :extensions:helpdesk:myvars2.png }}<br />
<br />
Drop the fulltext indexes from the tables tl_search, tl_helpdesk_tickets and tl_helpdesk_messages. Check also the tables of other installed extensions for fulltext indexes, and drop them as well:<br />
<br />
{{ :extensions:helpdesk:dropft3.png }}<br />
<br />
{{ :extensions:helpdesk:dropft1.png }}<br />
<br />
{{ :extensions:helpdesk:dropft2.png }}<br />
<br />
Use the TYPOlight installation or extension manager to recreate the indexes based on the new settings:<br />
<br />
{{ :extensions:helpdesk:makeft.png }}<br />
<br />
<br />
== Getting started ==<br />
<br />
Well this section is currently very brief. Only a few screenschots so far, but I guess you will figure out usage yourself with some TYPOlight experience. <br />
<br />
=== Create a new category ====<br />
<br />
{{extensions:helpdesk:hd111.png|Goto helpdesk structure}}<br />
<br />
{{extensions:helpdesk:hd110.png|Category overview}}<br />
<br />
{{extensions:helpdesk:hd113.png|Category editor}}<br />
{{extensions:helpdesk:hd114.png|Category editor}}<br />
{{extensions:helpdesk:hd115.png|Category editor}}<br />
{{extensions:helpdesk:hd116.png|Category editor}}<br />
{{extensions:helpdesk:hd117.png|Category editor}}<br />
<br />
=== Create a title module for the frontend ===<br />
<br />
Basicly a title module is not required, however it helps you structure your forums and helpdesks when you want to group the categories into blocks.<br />
<br />
{{extensions:helpdesk:hd118.png|Goto modules}}<br />
{{extensions:helpdesk:hd119.png|Add a module}}<br />
<br />
{{extensions:helpdesk:hd120.png|Title module settings}}<br />
{{extensions:helpdesk:hd121.png|Title module settings}}<br />
<br />
=== Create block modules for the frontend ===<br />
<br />
A forum/helpdesk block module displays a selection of categories in a block on the frontend. So the minimum to get started on frontend is one module of this type. In case you want to structure your categories you will make several of these modules:<br />
<br />
{{:extensions:helpdesk:hdblock.png|Block module settings}}</div>Lucinahttps://en.contaowiki.org/HelpdeskHelpdesk2012-02-18T14:39:51Z<p>Lucina: /* Frontend themes */</p>
<hr />
<div>{{stub}}<br />
[[de:Helpdesk]]<br />
= Forum and Helpdesk =<br />
{{Note|Parts of this documentation were created by Peter Koch / IBK Software AG. Peter Koch has licensed this content for use on contoawiki.org. Content in this page must not be copied, reproduced, republished, uploaded, posted, transmitted, distributed, or used for the creation of derivative works without IBK's prior written consent.}}<br />
{{Hint|http://web.archive.org/web/20101121033235/http://contifex.com/wiki/extensions:helpdesk}}<br />
{{Note|feel free to bring the content from the page above to our contaowiki!}} <br />
<br />
== Features ==<br />
[[File:Extensions-helpdesk-Hd130.png]]<br />
* Native Contao application; fully integrated into Contao user/member system.<br />
* Can be used as forum, as helpdesk ticketing system, or both at same time.<br />
* Both, frontend members and backend users, can be members/clients or moderators/supporters.<br />
* Multiple frontend modules with selected categories are possible; to be displayed on one or several pages, or embedded within articles.<br />
* Backend modules for configuration and forum participation.<br />
* Comprehensive and fast BBCode engine including tables, lists, several box types, syntax highlighting and more.<br />
* Popup windows for BBCode help and editor preview.<br />
* Email notification to subscribing users.<br />
* Email import to create new topics/tickets, as well as to reply to notifications.<br />
* Fully customizable layout and appearence by templates and themes.<br />
* Powerful search engine.<br />
* RSS feeds for any selection of categories.<br />
* Convenient moderator functions including cut/paste operations to move messages and topics<br />
<br />
== Abstract ==<br />
<br />
Contao Forum/Helpdesk is a message board (forum) application designed to be as well used as a helpdesk ticketing system, for example to provide formal and informal support to customers or clients. The terminology and functions of the forum categories is slightly different than the support ticketing categories, but when you know the mapping you will immediately be familiar with the application:<br />
<br />
{| border="0" cellspacing="1" cellpadding="2"<br />
! !! '''Forum''' !! '''Helpdesk'''<br />
|-<br />
| Category types (1) || Restricted or public || Private, shared or public <br />
|-<br />
| Thread naming (2) || Topics || Tickets<br />
|-<br />
| Frontend users (3) || Members || Clients<br />
|-<br />
| Backend users (4) || Moderators || Supporters<br />
|-<br />
| colspan="2" |<br />
|}<br />
<br />
== Categories ==<br />
<br />
<br />
*[[File:Extensions-helpdesk-Category416.png]] '''Public Forum''': Everybody can read the forum, even non-logged in users. Only authorized members can however open topics or reply.<br />
*[[File:Extensions-helpdesk-Category316.png]] '''Restricted Forum''': The forum is visible only for authorized members.<br />
*[[File:Extensions-helpdesk-Category216.png]] '''Public Support''': Everybody can see all tickets, even non-logged in users. Only authorized clients can however open tickets or reply.<br />
*[[File:Extensions-helpdesk-Category116.png]] '''Shared Support''': All authorized clients can see and reply each others tickets, however only the owner has priviledge to close or delete his tickets. Create such a category for example for each company with a SLA((Service level agreement)) where multiple staff members shall have access to the tickets.<br />
*[[File:Extensions-helpdesk-Category016.png]] '''Private Support''': Only the ticket owner can see his tickets, but nobody else (admins and supporters authorized for the category can of course also see and reply to the tickets). Used for example for formal support of individuals.<br />
<br />
=== Topic vs. ticket status ===<br />
<br />
==== Topic status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0116.png]] '''Pinned up:''' Open topic that is listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1116.png]] '''Normal:''' A normal open topic. <br />
*[[File:Extensions-helpdesk-Ticket2116.png]] '''Closed:''' No further edits or replies are possible, listed at the end. <br />
<br />
==== Ticket status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0016.png]] '''Unanswered:''' The ticked is open and the latest post is from a client. Listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1016.png]] '''Answered:''' The ticket is open and the latest post is from a supporter. <br />
*[[File:Extensions-helpdesk-Ticket2016.png]] '''Closed:''' Issue solved. No further edits or replies are possible, the owner may reopen it however in case. Listed at the end. <br />
<br />
=== Members and Clients ===<br />
<br />
Forum members and support clients are either "frontend members" or "backend users" in terms of TYPOlight, and belong to a member/user group authorized for the respective category. The client opening a ticket has special "owner" rights in the support type categories: He has authorization to close or delete (5) his tickets.<br />
<br />
=== Admin, Moderators and Supporters ===<br />
<br />
Moderators and supporters are either TYPOlight backend users or frontend members, and belong to a user group authorized as moderator/supporter for the respective category. They have special rights to see unpublished, to pinup, edit, unpublish or delete any topic, ticket or message.<br />
<br />
Contao admins are special backend users and appear as moderator or supporter, he/she is automaticly authorized for all categories. Additionally the admins have authorization to administrative operations, e.g. create or delete categories or change category settings. Also admins are the only ones who can see unpublished categories.<br />
<br />
=== Deletion levels ===<br />
<br />
Tickets and messages are not permanently deleted, but only unpublished from frontend when a ticket owner or member/client "deletes" them. They are still available for moderators and supporters however, mainly to serve as a knowledge resource. Tickets and messages can be permanently deleted only by admins, moderators and supporters.<br />
<br />
== Installation and Setup ==<br />
<br />
=== Requirements ===<br />
<br />
*PHP from version 5.2.0<br />
*Other requirements like [http://www.contao.org/system-requirements.html]<br />
<br />
=== Manual Installation ===<br />
<br />
*Install these required extensions in advance: [[extensions:avatar]], [[extensions:cron]], [http://www.contao.org/extension-list/view/geshi.en.html]<br />
*Download the install package from [http://www.contao.org/extension-list/view/helpdesk.en.html].<br />
*Unzip the content of TL_ROOT to the Contao base directory on your webserver.<br />
*Unzip the content of TL_FILES to the tl_files directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki><br />
*Enter the installation password and click '''Login'''<br />
*Scroll down to '''Update database tables''' and click on '''Update database'''<br />
<br />
=== Site structure settings ===<br />
<br />
The page where the forum/helpdesk is located should have caching disabled, e.g:<br />
<br />
[[File:Extensions-helpdesk-Hd200.png |Cache Settings]]<br />
<br />
=== Page layout adjustment ===<br />
<br />
The module will also work without this, however it will look poor in the frontend.<br />
<br />
Go to '''Page layouts''' and change the layout for the pages that will display the forum/helpdesk. This might be a special layout you make for the forum/helpdesk pages, or the '''Default layout'''.<br />
<br />
Scroll down to '''Additional <nowiki>‹head›</nowiki> tags''' and append the following lines to whatever might allready be in there:<br />
<br />
<source lang="php"><br />
<link rel="stylesheet" <br />
href="system/modules/helpdesk/themes/default/frontend.css" <br />
type="text/css" <br />
media="screen,projection,print" /><br />
<!--[if lte IE 6]><br />
<style type="text/css"><br />
.pngfix { behavior:url("system/modules/helpdesk/themes/default/pngfix.htc") }<br />
</style><br />
<![endif]--><br />
</source><br />
<br />
== Custom themes and templates ==<br />
<br />
=== Backend themes ===<br />
<br />
To create the theme ''mysite'' you would first of cause create a new Contao backend theme folder /system/themes/mysite and activate it in in the ''Settings''. <br />
<br />
Then likewise you would create a folder system/modules/helpdesk/themes/mysite, copy the CSS files from the adjaccent ''default'' folder and make your adjustments to them. Please note that because of the automatic fallback it is '''not''' necessary to copy all the images from the ''default'' theme. In case you want your own icons, just create a subfolder ''images'' and put them in there; any icons not found there will be taken from the ''default'' theme.<br />
<br />
=== Frontend themes ===<br />
<br />
Copy the CSS files from system/modules/helpdesk/themes/default to your custom frontend theme folder and make the desired adjustments. Don't forget to adjust the ''Page layout'' as explained before to use your custom stylesheet instead of the default one.<br />
<br />
You may want to replace some or all of the default forum/helpdesk icons too. Just put your custom icons into an ''images'' folder below your custom theme. Then enter the path of your images folder in the helpdesk settings. Again there is a fallback built in, so any icon not found in your custom images folder will be taken from the ''default'' backend theme.<br />
<br />
Instead of PNG you may use GIF icons. In case both, a GIF ''and'' a PNG icon is found, the PNG has precedence.<br />
<br />
=== Templates ===<br />
<br />
In case you need to customize the default templates, just copy the files of interest from /system/modules/helpdesk/templates to /templates and make your adjustments. <br />
<br />
Please note that the template files are used for both, frontend //and// backend.<br />
<br />
<br />
=== "Personal data" Module ===<br />
<br />
{{note|As of TYPOlight 2.5.0 it is no longer required to edit the file ModulePersonalData.php; the hook is now included in the core file. However you still need to select the template ''member_grouped_helpdesk'' up to 2.5.9. Since TYPOlight 2.6.0 you also no longer need ''member_grouped_helpdesk'' because all necessary changes got included in ''member_grouped''.}}<br />
<br />
<br />
You may want to give your frontend members the option to subscribe themself for email noification with the ''Personal data'' module. This will work right out of the box when you are using the template ''member_default''.<br />
<br />
However when using the template ''member_grouped' you won't see the Forum/Helpdesk settings with the TYPOlight releases before 2.5.0. There is a workaround to use the grouped member display right now, which requires a small hack:<br />
<br />
Edit the file /system/modules/frontend/ModulePersonalData.php and find this code:<br />
<br />
<source lang="php">// HOOK: add newsletter fields<br />
if (in_array('newsletter', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->newsletter = $arrFields['newsletter'];<br />
$this->Template->newsletterDetails = $GLOBALS['TL_LANG']['tl_member']['newsletterDetails'];<br />
}</source><br />
<br />
Now add the following code immediately below:<br />
<br />
<source lang="php">// HOOK: add helpdesk fields<br />
if (in_array('helpdesk', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->helpdesk = $arrFields['helpdesk'];<br />
$this->Template->helpdeskDetails = $GLOBALS['TL_LANG']['tl_member']['helpdeskDetails'];<br />
}</source><br />
<br />
Finally, go to the ''Personal data'' module and select the template ''member_grouped_helpdesk''.<br />
<br />
The layout may look somewhat messy by default, here is a suggestion to add to your CSS of the respective page:<br />
<br />
<source lang="css"><br />
.mod_personalData .checkbox_container span<br />
{<br />
display:block;<br />
white-space:nowrap;<br />
}<br />
<br />
.mod_personalData .checkbox_container span *<br />
{<br />
vertical-align:middle;<br />
}<br />
</source><br />
<br />
=== Enabling RSS Feeds ===<br />
<br />
To enable RSS feeds you need to:<br />
<br />
*Make settings in each category that you want feeds for<br />
*Make global settings in the Contao settings<br />
*Add a rewrite rule to your .htaccess file<br />
*Optional: Add a link to the page header in case you want to display a feed icon in the browsers address field<br />
<br />
=== Category Settings ===<br />
<br />
In the category settings you need to enter the url of the page holding this category, plus check that RSS feeds are enabled. Repeat this for all categories where you want to have RSS feeds for:<br />
<br />
[[File:Extensions-helpdesk-Hd100.jpg|Category Settings]]<br />
<br />
=== Contao settings ===<br />
<br />
In the Contao settings enable the forum/helpdesk feeds, and then make settings for the maximum number of messages to display, the base name of the xml file (same as in the .htaccess below), the title and description of the feed. Please note that this title and description only comes into play for feeds of multiple categories, for single category feeds the title and description of the category is used:<br />
<br />
[[File:Extensions-helpdesk-Hd101.jpg|Contao Settings]]<br />
<br />
=== .htaccess Modification ===<br />
<br />
Add a rewrite rule such as below to your .htaccess file. Replace //helpdesk// by the term you defined as base name in the TYPOlight settings:<br />
<br />
<code>RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</code><br />
<br />
A typical complete .htaccess for TYPOlight 2.6.0 might be:<br />
<br />
<code><br />
# Enable mod_rewrite<br />
RewriteEngine On<br />
RewriteBase /<br />
<br />
# Block any URI protocol in the query string<br />
RewriteCond %{QUERY_STRING} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Block any URI protocol in the request<br />
RewriteCond %{REQUEST_URI} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Rewrite TYPOlight URLs<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule .*\.html$ index.php [L]<br />
<br />
# Dynamic RSS feeds for forum/helpdesk <br />
RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</code><br />
<br />
=== Add RSS icon link to page layout ===<br />
<br />
This is optional but very convenient for your users. In case you not yet have a distinct page layout for the forum/helpdesk, make a copy of the default page layout. Edit the layout and enter the following link to the //Additional head tags// input:<br />
<br />
<code><link rel="alternate" type="application/rss+xml" title="RSS" href="http://www.example.com/helpdesk0.xml" /></code><br />
<br />
Replace %%www.example.com%% by your site's url. The 0 tells to provide a feed over all categories the user has read access to. If you want to make a feed over the categories 4, 5 and 7 instead, the link would be helpdesk4,5,7.xml<br />
<br />
<br />
<br />
<br />
<br />
=== Email Import and Notification ===<br />
<br />
==== Email Settings ====<br />
<br />
To send out notifications and import email a batch program must run on a regular base. You need to install the [[extensions:cron|cron utility]] for this purpose. Below you find suggested settings for the two Forum/Helpdesk jobs. Use a time schedule that matches your needs; the samples below will execute once every minute.<br />
<br />
[[File:Extensions-helpdesk-Hd024.jpg|CRON Scheduler]]<br /><br />
<br />
[[File:Extensions-helpdesk-Hd025.jpg|Import Job Settings]]<br /><br />
<br />
[[File:Extensions-helpdesk-Hd026.jpg|Notification Job Settings]]<br />
<br />
==== Troubleshooting E-Mail Issues ====<br />
<br />
*Check if your servers are properly configured to send out mails by creating a test-newsletter and sending it to one of your mail accounts. Send it to another server than the one used for sending out the mail to make sure the mail is not getting caught in some spamfilters or lost in any black hole.<br />
*Using PHP Mail may work on well configured servers (which is not selve-evident these days, cheepo hosters are greeting). Use SMTP in case, that will work 100%.<br />
<br />
*A common mistake is to use a different domain in the notification sender address than in the mail account in the system settings. For example when your SMTP account in the system settings is <nowiki>admin@example.com</nowiki>, a notification sender address such as <nowiki>forum@banana.net</nowiki> is likely to fail because that would be "relaying" which is forbidden in well configured mail servers. Of cause there are exceptions from this rule, for example when the mail server is configured to handle both of those domains. Leave the notification sender address empty until notification works in case.<br />
*Switch the helpdesk logging to <nowiki>"debug"</nowiki> in the Contao system settings. You will find the log files at <nowiki>/system/logs/Helpdesk*.log</nowiki>. In case no log file gets created during the batch run, your directory permissions of /system/logs does not allow write access for the web server. In that case you can manually create the two files /system/logs/HelpdeskImport.log and /system/logs/HelpdeskNotify.log and give them read/write permissions for the web server (for example as chmod of 666).<br />
*For debugging it is time-consuming to always have to wait for the scheduler to run. You can disable the scheduler jobs and manually trigger the batch by calling these url's (replace <nowiki>%%www.example.com%%</nowiki> by your own url of cause): <br />
<source lang="php">%%http://www.example.com/system/modules/helpdesk/HelpdeskNotifyExec.php%%<br />
%%http://www.example.com/system/modules/helpdesk/HelpdeskImportExec.php%%</source><br />
You will most likely just see a blank page when executing, but then check the log files after execution to see the results.<br />
<br />
=== Manual upgrade from a previous version ===<br />
<br />
{{Caution|It is recommended to make backups of your files and your database before starting any upgrade.}}<br />
<br />
You can upgrade directly from any previous release, it is '''not''' necessary to install every version that was released between your old and new version of the application.<br />
<br />
It is optional to delete the files of the old version before installing a new release; you can choose to just overwrite the old files. However there might be obsolete files which will stay in your installation that way. So for a clean update I recommend to manually delete these files and folders in advance:<br />
<br />
*system/drivers/DC_HelpdeskTable.php<br />
*system/modules/helpdesk<br />
<br />
{{Caution|Do '''NOT''' delete the mysql tables and settings of the helpdesk application after removing the old files, neither with phpmyadmin nor by using the Contao install tool. Otherwise you will loose all your data and settings.}}<br />
<br />
Next the procedure is basicly the same as with a new installation from scratch:<br />
<br />
*Download the install package.<br />
*Unzip/upload to your TYPOlight base directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki> <br />
*Enter the installation password and click ''Login''<br />
*Scroll down to ''Update database tables'' <br />
*If any drops of obsolete table columns are due, they are by default unchecked. It is safe to check them now in order to have clean database. <br />
*Click on ''Update database'' to have the necessary database updates applied.<br />
<br />
{{note|After upgrading, you should read the change log to see what has changed and might need your attention.}}<br />
<br />
=== Optimizing full text search ===<br />
<br />
Full text search of mysql will by default not find any words shorter than 4 characters, or in the stopword list. <br />
<br />
To improve search I recommend to lower the minimum word length to 2, or even down to 1. In case your site is not english only, you might also want to disable the default stopword list (or apply [[http://members.unine.ch/jacques.savoy/clef/index.html|a customized one in your language]]).<br />
<br />
**Brief procedure:**<br />
<br />
* Edit the mysql configuration file<br />
* Restart the mysql server<br />
* Drop the fulltext indexes<br />
* Recreate the fulltext indexes<br />
<br />
<br />
**More detailed description (debian example):**<br />
<br />
Edit /etc/mysql/my.cnf\\<br />
Within the section **[mysqld]** edit or add the following lines:<br />
<br />
<code>#<br />
# Fulltext config<br />
#<br />
ft_min_word_len = 2<br />
ft_stopword_file = ""</code><br />
<br />
Restart mysql:<br />
<br />
/etc/init.d/mysql restart<br />
<br />
Check system vars in phpMyAdmin to make sure it worked:<br />
<br />
{{ :extensions:helpdesk:myvars1.png }}<br />
{{ :extensions:helpdesk:myvars2.png }}<br />
<br />
Drop the fulltext indexes from the tables tl_search, tl_helpdesk_tickets and tl_helpdesk_messages. Check also the tables of other installed extensions for fulltext indexes, and drop them as well:<br />
<br />
{{ :extensions:helpdesk:dropft3.png }}<br />
<br />
{{ :extensions:helpdesk:dropft1.png }}<br />
<br />
{{ :extensions:helpdesk:dropft2.png }}<br />
<br />
Use the TYPOlight installation or extension manager to recreate the indexes based on the new settings:<br />
<br />
{{ :extensions:helpdesk:makeft.png }}<br />
<br />
<br />
== Getting started ==<br />
<br />
Well this section is currently very brief. Only a few screenschots so far, but I guess you will figure out usage yourself with some TYPOlight experience. <br />
<br />
=== Create a new category ====<br />
<br />
{{extensions:helpdesk:hd111.png|Goto helpdesk structure}}<br />
<br />
{{extensions:helpdesk:hd110.png|Category overview}}<br />
<br />
{{extensions:helpdesk:hd113.png|Category editor}}<br />
{{extensions:helpdesk:hd114.png|Category editor}}<br />
{{extensions:helpdesk:hd115.png|Category editor}}<br />
{{extensions:helpdesk:hd116.png|Category editor}}<br />
{{extensions:helpdesk:hd117.png|Category editor}}<br />
<br />
=== Create a title module for the frontend ===<br />
<br />
Basicly a title module is not required, however it helps you structure your forums and helpdesks when you want to group the categories into blocks.<br />
<br />
{{extensions:helpdesk:hd118.png|Goto modules}}<br />
{{extensions:helpdesk:hd119.png|Add a module}}<br />
<br />
{{extensions:helpdesk:hd120.png|Title module settings}}<br />
{{extensions:helpdesk:hd121.png|Title module settings}}<br />
<br />
=== Create block modules for the frontend ===<br />
<br />
A forum/helpdesk block module displays a selection of categories in a block on the frontend. So the minimum to get started on frontend is one module of this type. In case you want to structure your categories you will make several of these modules:<br />
<br />
{{:extensions:helpdesk:hdblock.png|Block module settings}}</div>Lucinahttps://en.contaowiki.org/HelpdeskHelpdesk2012-02-18T14:38:36Z<p>Lucina: /* Backend themes */</p>
<hr />
<div>{{stub}}<br />
[[de:Helpdesk]]<br />
= Forum and Helpdesk =<br />
{{Note|Parts of this documentation were created by Peter Koch / IBK Software AG. Peter Koch has licensed this content for use on contoawiki.org. Content in this page must not be copied, reproduced, republished, uploaded, posted, transmitted, distributed, or used for the creation of derivative works without IBK's prior written consent.}}<br />
{{Hint|http://web.archive.org/web/20101121033235/http://contifex.com/wiki/extensions:helpdesk}}<br />
{{Note|feel free to bring the content from the page above to our contaowiki!}} <br />
<br />
== Features ==<br />
[[File:Extensions-helpdesk-Hd130.png]]<br />
* Native Contao application; fully integrated into Contao user/member system.<br />
* Can be used as forum, as helpdesk ticketing system, or both at same time.<br />
* Both, frontend members and backend users, can be members/clients or moderators/supporters.<br />
* Multiple frontend modules with selected categories are possible; to be displayed on one or several pages, or embedded within articles.<br />
* Backend modules for configuration and forum participation.<br />
* Comprehensive and fast BBCode engine including tables, lists, several box types, syntax highlighting and more.<br />
* Popup windows for BBCode help and editor preview.<br />
* Email notification to subscribing users.<br />
* Email import to create new topics/tickets, as well as to reply to notifications.<br />
* Fully customizable layout and appearence by templates and themes.<br />
* Powerful search engine.<br />
* RSS feeds for any selection of categories.<br />
* Convenient moderator functions including cut/paste operations to move messages and topics<br />
<br />
== Abstract ==<br />
<br />
Contao Forum/Helpdesk is a message board (forum) application designed to be as well used as a helpdesk ticketing system, for example to provide formal and informal support to customers or clients. The terminology and functions of the forum categories is slightly different than the support ticketing categories, but when you know the mapping you will immediately be familiar with the application:<br />
<br />
{| border="0" cellspacing="1" cellpadding="2"<br />
! !! '''Forum''' !! '''Helpdesk'''<br />
|-<br />
| Category types (1) || Restricted or public || Private, shared or public <br />
|-<br />
| Thread naming (2) || Topics || Tickets<br />
|-<br />
| Frontend users (3) || Members || Clients<br />
|-<br />
| Backend users (4) || Moderators || Supporters<br />
|-<br />
| colspan="2" |<br />
|}<br />
<br />
== Categories ==<br />
<br />
<br />
*[[File:Extensions-helpdesk-Category416.png]] '''Public Forum''': Everybody can read the forum, even non-logged in users. Only authorized members can however open topics or reply.<br />
*[[File:Extensions-helpdesk-Category316.png]] '''Restricted Forum''': The forum is visible only for authorized members.<br />
*[[File:Extensions-helpdesk-Category216.png]] '''Public Support''': Everybody can see all tickets, even non-logged in users. Only authorized clients can however open tickets or reply.<br />
*[[File:Extensions-helpdesk-Category116.png]] '''Shared Support''': All authorized clients can see and reply each others tickets, however only the owner has priviledge to close or delete his tickets. Create such a category for example for each company with a SLA((Service level agreement)) where multiple staff members shall have access to the tickets.<br />
*[[File:Extensions-helpdesk-Category016.png]] '''Private Support''': Only the ticket owner can see his tickets, but nobody else (admins and supporters authorized for the category can of course also see and reply to the tickets). Used for example for formal support of individuals.<br />
<br />
=== Topic vs. ticket status ===<br />
<br />
==== Topic status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0116.png]] '''Pinned up:''' Open topic that is listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1116.png]] '''Normal:''' A normal open topic. <br />
*[[File:Extensions-helpdesk-Ticket2116.png]] '''Closed:''' No further edits or replies are possible, listed at the end. <br />
<br />
==== Ticket status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0016.png]] '''Unanswered:''' The ticked is open and the latest post is from a client. Listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1016.png]] '''Answered:''' The ticket is open and the latest post is from a supporter. <br />
*[[File:Extensions-helpdesk-Ticket2016.png]] '''Closed:''' Issue solved. No further edits or replies are possible, the owner may reopen it however in case. Listed at the end. <br />
<br />
=== Members and Clients ===<br />
<br />
Forum members and support clients are either "frontend members" or "backend users" in terms of TYPOlight, and belong to a member/user group authorized for the respective category. The client opening a ticket has special "owner" rights in the support type categories: He has authorization to close or delete (5) his tickets.<br />
<br />
=== Admin, Moderators and Supporters ===<br />
<br />
Moderators and supporters are either TYPOlight backend users or frontend members, and belong to a user group authorized as moderator/supporter for the respective category. They have special rights to see unpublished, to pinup, edit, unpublish or delete any topic, ticket or message.<br />
<br />
Contao admins are special backend users and appear as moderator or supporter, he/she is automaticly authorized for all categories. Additionally the admins have authorization to administrative operations, e.g. create or delete categories or change category settings. Also admins are the only ones who can see unpublished categories.<br />
<br />
=== Deletion levels ===<br />
<br />
Tickets and messages are not permanently deleted, but only unpublished from frontend when a ticket owner or member/client "deletes" them. They are still available for moderators and supporters however, mainly to serve as a knowledge resource. Tickets and messages can be permanently deleted only by admins, moderators and supporters.<br />
<br />
== Installation and Setup ==<br />
<br />
=== Requirements ===<br />
<br />
*PHP from version 5.2.0<br />
*Other requirements like [http://www.contao.org/system-requirements.html]<br />
<br />
=== Manual Installation ===<br />
<br />
*Install these required extensions in advance: [[extensions:avatar]], [[extensions:cron]], [http://www.contao.org/extension-list/view/geshi.en.html]<br />
*Download the install package from [http://www.contao.org/extension-list/view/helpdesk.en.html].<br />
*Unzip the content of TL_ROOT to the Contao base directory on your webserver.<br />
*Unzip the content of TL_FILES to the tl_files directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki><br />
*Enter the installation password and click '''Login'''<br />
*Scroll down to '''Update database tables''' and click on '''Update database'''<br />
<br />
=== Site structure settings ===<br />
<br />
The page where the forum/helpdesk is located should have caching disabled, e.g:<br />
<br />
[[File:Extensions-helpdesk-Hd200.png |Cache Settings]]<br />
<br />
=== Page layout adjustment ===<br />
<br />
The module will also work without this, however it will look poor in the frontend.<br />
<br />
Go to '''Page layouts''' and change the layout for the pages that will display the forum/helpdesk. This might be a special layout you make for the forum/helpdesk pages, or the '''Default layout'''.<br />
<br />
Scroll down to '''Additional <nowiki>‹head›</nowiki> tags''' and append the following lines to whatever might allready be in there:<br />
<br />
<source lang="php"><br />
<link rel="stylesheet" <br />
href="system/modules/helpdesk/themes/default/frontend.css" <br />
type="text/css" <br />
media="screen,projection,print" /><br />
<!--[if lte IE 6]><br />
<style type="text/css"><br />
.pngfix { behavior:url("system/modules/helpdesk/themes/default/pngfix.htc") }<br />
</style><br />
<![endif]--><br />
</source><br />
<br />
== Custom themes and templates ==<br />
<br />
=== Backend themes ===<br />
<br />
To create the theme ''mysite'' you would first of cause create a new Contao backend theme folder /system/themes/mysite and activate it in in the ''Settings''. <br />
<br />
Then likewise you would create a folder system/modules/helpdesk/themes/mysite, copy the CSS files from the adjaccent ''default'' folder and make your adjustments to them. Please note that because of the automatic fallback it is '''not''' necessary to copy all the images from the ''default'' theme. In case you want your own icons, just create a subfolder ''images'' and put them in there; any icons not found there will be taken from the ''default'' theme.<br />
<br />
=== Frontend themes ===<br />
<br />
Copy the CSS files from system/modules/helpdesk/themes/default to your custom frontend theme folder and make the desired adjustments. Don't forget to adjust the //Page layout// as explained before to use your custom stylesheet instead of the default one.<br />
<br />
You may want to replace some or all of the default forum/helpdesk icons too. Just put your custom icons into an //images// folder below your custom theme. Then enter the path of your images folder in the helpdesk settings. Again there is a fallback built in, so any icon not found in your custom images folder will be taken from the //default// backend theme.<br />
<br />
Instead of PNG you may use GIF icons. In case both, a GIF //and// a PNG icon is found, the PNG has precedence.<br />
<br />
=== Templates ===<br />
<br />
In case you need to customize the default templates, just copy the files of interest from /system/modules/helpdesk/templates to /templates and make your adjustments. <br />
<br />
Please note that the template files are used for both, frontend //and// backend.<br />
<br />
<br />
=== "Personal data" Module ===<br />
<br />
{{note|As of TYPOlight 2.5.0 it is no longer required to edit the file ModulePersonalData.php; the hook is now included in the core file. However you still need to select the template ''member_grouped_helpdesk'' up to 2.5.9. Since TYPOlight 2.6.0 you also no longer need ''member_grouped_helpdesk'' because all necessary changes got included in ''member_grouped''.}}<br />
<br />
<br />
You may want to give your frontend members the option to subscribe themself for email noification with the ''Personal data'' module. This will work right out of the box when you are using the template ''member_default''.<br />
<br />
However when using the template ''member_grouped' you won't see the Forum/Helpdesk settings with the TYPOlight releases before 2.5.0. There is a workaround to use the grouped member display right now, which requires a small hack:<br />
<br />
Edit the file /system/modules/frontend/ModulePersonalData.php and find this code:<br />
<br />
<source lang="php">// HOOK: add newsletter fields<br />
if (in_array('newsletter', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->newsletter = $arrFields['newsletter'];<br />
$this->Template->newsletterDetails = $GLOBALS['TL_LANG']['tl_member']['newsletterDetails'];<br />
}</source><br />
<br />
Now add the following code immediately below:<br />
<br />
<source lang="php">// HOOK: add helpdesk fields<br />
if (in_array('helpdesk', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->helpdesk = $arrFields['helpdesk'];<br />
$this->Template->helpdeskDetails = $GLOBALS['TL_LANG']['tl_member']['helpdeskDetails'];<br />
}</source><br />
<br />
Finally, go to the ''Personal data'' module and select the template ''member_grouped_helpdesk''.<br />
<br />
The layout may look somewhat messy by default, here is a suggestion to add to your CSS of the respective page:<br />
<br />
<source lang="css"><br />
.mod_personalData .checkbox_container span<br />
{<br />
display:block;<br />
white-space:nowrap;<br />
}<br />
<br />
.mod_personalData .checkbox_container span *<br />
{<br />
vertical-align:middle;<br />
}<br />
</source><br />
<br />
=== Enabling RSS Feeds ===<br />
<br />
To enable RSS feeds you need to:<br />
<br />
*Make settings in each category that you want feeds for<br />
*Make global settings in the Contao settings<br />
*Add a rewrite rule to your .htaccess file<br />
*Optional: Add a link to the page header in case you want to display a feed icon in the browsers address field<br />
<br />
=== Category Settings ===<br />
<br />
In the category settings you need to enter the url of the page holding this category, plus check that RSS feeds are enabled. Repeat this for all categories where you want to have RSS feeds for:<br />
<br />
[[File:Extensions-helpdesk-Hd100.jpg|Category Settings]]<br />
<br />
=== Contao settings ===<br />
<br />
In the Contao settings enable the forum/helpdesk feeds, and then make settings for the maximum number of messages to display, the base name of the xml file (same as in the .htaccess below), the title and description of the feed. Please note that this title and description only comes into play for feeds of multiple categories, for single category feeds the title and description of the category is used:<br />
<br />
[[File:Extensions-helpdesk-Hd101.jpg|Contao Settings]]<br />
<br />
=== .htaccess Modification ===<br />
<br />
Add a rewrite rule such as below to your .htaccess file. Replace //helpdesk// by the term you defined as base name in the TYPOlight settings:<br />
<br />
<code>RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</code><br />
<br />
A typical complete .htaccess for TYPOlight 2.6.0 might be:<br />
<br />
<code><br />
# Enable mod_rewrite<br />
RewriteEngine On<br />
RewriteBase /<br />
<br />
# Block any URI protocol in the query string<br />
RewriteCond %{QUERY_STRING} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Block any URI protocol in the request<br />
RewriteCond %{REQUEST_URI} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Rewrite TYPOlight URLs<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule .*\.html$ index.php [L]<br />
<br />
# Dynamic RSS feeds for forum/helpdesk <br />
RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</code><br />
<br />
=== Add RSS icon link to page layout ===<br />
<br />
This is optional but very convenient for your users. In case you not yet have a distinct page layout for the forum/helpdesk, make a copy of the default page layout. Edit the layout and enter the following link to the //Additional head tags// input:<br />
<br />
<code><link rel="alternate" type="application/rss+xml" title="RSS" href="http://www.example.com/helpdesk0.xml" /></code><br />
<br />
Replace %%www.example.com%% by your site's url. The 0 tells to provide a feed over all categories the user has read access to. If you want to make a feed over the categories 4, 5 and 7 instead, the link would be helpdesk4,5,7.xml<br />
<br />
<br />
<br />
<br />
<br />
=== Email Import and Notification ===<br />
<br />
==== Email Settings ====<br />
<br />
To send out notifications and import email a batch program must run on a regular base. You need to install the [[extensions:cron|cron utility]] for this purpose. Below you find suggested settings for the two Forum/Helpdesk jobs. Use a time schedule that matches your needs; the samples below will execute once every minute.<br />
<br />
[[File:Extensions-helpdesk-Hd024.jpg|CRON Scheduler]]<br /><br />
<br />
[[File:Extensions-helpdesk-Hd025.jpg|Import Job Settings]]<br /><br />
<br />
[[File:Extensions-helpdesk-Hd026.jpg|Notification Job Settings]]<br />
<br />
==== Troubleshooting E-Mail Issues ====<br />
<br />
*Check if your servers are properly configured to send out mails by creating a test-newsletter and sending it to one of your mail accounts. Send it to another server than the one used for sending out the mail to make sure the mail is not getting caught in some spamfilters or lost in any black hole.<br />
*Using PHP Mail may work on well configured servers (which is not selve-evident these days, cheepo hosters are greeting). Use SMTP in case, that will work 100%.<br />
<br />
*A common mistake is to use a different domain in the notification sender address than in the mail account in the system settings. For example when your SMTP account in the system settings is <nowiki>admin@example.com</nowiki>, a notification sender address such as <nowiki>forum@banana.net</nowiki> is likely to fail because that would be "relaying" which is forbidden in well configured mail servers. Of cause there are exceptions from this rule, for example when the mail server is configured to handle both of those domains. Leave the notification sender address empty until notification works in case.<br />
*Switch the helpdesk logging to <nowiki>"debug"</nowiki> in the Contao system settings. You will find the log files at <nowiki>/system/logs/Helpdesk*.log</nowiki>. In case no log file gets created during the batch run, your directory permissions of /system/logs does not allow write access for the web server. In that case you can manually create the two files /system/logs/HelpdeskImport.log and /system/logs/HelpdeskNotify.log and give them read/write permissions for the web server (for example as chmod of 666).<br />
*For debugging it is time-consuming to always have to wait for the scheduler to run. You can disable the scheduler jobs and manually trigger the batch by calling these url's (replace <nowiki>%%www.example.com%%</nowiki> by your own url of cause): <br />
<source lang="php">%%http://www.example.com/system/modules/helpdesk/HelpdeskNotifyExec.php%%<br />
%%http://www.example.com/system/modules/helpdesk/HelpdeskImportExec.php%%</source><br />
You will most likely just see a blank page when executing, but then check the log files after execution to see the results.<br />
<br />
=== Manual upgrade from a previous version ===<br />
<br />
{{Caution|It is recommended to make backups of your files and your database before starting any upgrade.}}<br />
<br />
You can upgrade directly from any previous release, it is '''not''' necessary to install every version that was released between your old and new version of the application.<br />
<br />
It is optional to delete the files of the old version before installing a new release; you can choose to just overwrite the old files. However there might be obsolete files which will stay in your installation that way. So for a clean update I recommend to manually delete these files and folders in advance:<br />
<br />
*system/drivers/DC_HelpdeskTable.php<br />
*system/modules/helpdesk<br />
<br />
{{Caution|Do '''NOT''' delete the mysql tables and settings of the helpdesk application after removing the old files, neither with phpmyadmin nor by using the Contao install tool. Otherwise you will loose all your data and settings.}}<br />
<br />
Next the procedure is basicly the same as with a new installation from scratch:<br />
<br />
*Download the install package.<br />
*Unzip/upload to your TYPOlight base directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki> <br />
*Enter the installation password and click ''Login''<br />
*Scroll down to ''Update database tables'' <br />
*If any drops of obsolete table columns are due, they are by default unchecked. It is safe to check them now in order to have clean database. <br />
*Click on ''Update database'' to have the necessary database updates applied.<br />
<br />
{{note|After upgrading, you should read the change log to see what has changed and might need your attention.}}<br />
<br />
=== Optimizing full text search ===<br />
<br />
Full text search of mysql will by default not find any words shorter than 4 characters, or in the stopword list. <br />
<br />
To improve search I recommend to lower the minimum word length to 2, or even down to 1. In case your site is not english only, you might also want to disable the default stopword list (or apply [[http://members.unine.ch/jacques.savoy/clef/index.html|a customized one in your language]]).<br />
<br />
**Brief procedure:**<br />
<br />
* Edit the mysql configuration file<br />
* Restart the mysql server<br />
* Drop the fulltext indexes<br />
* Recreate the fulltext indexes<br />
<br />
<br />
**More detailed description (debian example):**<br />
<br />
Edit /etc/mysql/my.cnf\\<br />
Within the section **[mysqld]** edit or add the following lines:<br />
<br />
<code>#<br />
# Fulltext config<br />
#<br />
ft_min_word_len = 2<br />
ft_stopword_file = ""</code><br />
<br />
Restart mysql:<br />
<br />
/etc/init.d/mysql restart<br />
<br />
Check system vars in phpMyAdmin to make sure it worked:<br />
<br />
{{ :extensions:helpdesk:myvars1.png }}<br />
{{ :extensions:helpdesk:myvars2.png }}<br />
<br />
Drop the fulltext indexes from the tables tl_search, tl_helpdesk_tickets and tl_helpdesk_messages. Check also the tables of other installed extensions for fulltext indexes, and drop them as well:<br />
<br />
{{ :extensions:helpdesk:dropft3.png }}<br />
<br />
{{ :extensions:helpdesk:dropft1.png }}<br />
<br />
{{ :extensions:helpdesk:dropft2.png }}<br />
<br />
Use the TYPOlight installation or extension manager to recreate the indexes based on the new settings:<br />
<br />
{{ :extensions:helpdesk:makeft.png }}<br />
<br />
<br />
== Getting started ==<br />
<br />
Well this section is currently very brief. Only a few screenschots so far, but I guess you will figure out usage yourself with some TYPOlight experience. <br />
<br />
=== Create a new category ====<br />
<br />
{{extensions:helpdesk:hd111.png|Goto helpdesk structure}}<br />
<br />
{{extensions:helpdesk:hd110.png|Category overview}}<br />
<br />
{{extensions:helpdesk:hd113.png|Category editor}}<br />
{{extensions:helpdesk:hd114.png|Category editor}}<br />
{{extensions:helpdesk:hd115.png|Category editor}}<br />
{{extensions:helpdesk:hd116.png|Category editor}}<br />
{{extensions:helpdesk:hd117.png|Category editor}}<br />
<br />
=== Create a title module for the frontend ===<br />
<br />
Basicly a title module is not required, however it helps you structure your forums and helpdesks when you want to group the categories into blocks.<br />
<br />
{{extensions:helpdesk:hd118.png|Goto modules}}<br />
{{extensions:helpdesk:hd119.png|Add a module}}<br />
<br />
{{extensions:helpdesk:hd120.png|Title module settings}}<br />
{{extensions:helpdesk:hd121.png|Title module settings}}<br />
<br />
=== Create block modules for the frontend ===<br />
<br />
A forum/helpdesk block module displays a selection of categories in a block on the frontend. So the minimum to get started on frontend is one module of this type. In case you want to structure your categories you will make several of these modules:<br />
<br />
{{:extensions:helpdesk:hdblock.png|Block module settings}}</div>Lucinahttps://en.contaowiki.org/HelpdeskHelpdesk2012-02-18T14:36:36Z<p>Lucina: /* Manual Installation */</p>
<hr />
<div>{{stub}}<br />
[[de:Helpdesk]]<br />
= Forum and Helpdesk =<br />
{{Note|Parts of this documentation were created by Peter Koch / IBK Software AG. Peter Koch has licensed this content for use on contoawiki.org. Content in this page must not be copied, reproduced, republished, uploaded, posted, transmitted, distributed, or used for the creation of derivative works without IBK's prior written consent.}}<br />
{{Hint|http://web.archive.org/web/20101121033235/http://contifex.com/wiki/extensions:helpdesk}}<br />
{{Note|feel free to bring the content from the page above to our contaowiki!}} <br />
<br />
== Features ==<br />
[[File:Extensions-helpdesk-Hd130.png]]<br />
* Native Contao application; fully integrated into Contao user/member system.<br />
* Can be used as forum, as helpdesk ticketing system, or both at same time.<br />
* Both, frontend members and backend users, can be members/clients or moderators/supporters.<br />
* Multiple frontend modules with selected categories are possible; to be displayed on one or several pages, or embedded within articles.<br />
* Backend modules for configuration and forum participation.<br />
* Comprehensive and fast BBCode engine including tables, lists, several box types, syntax highlighting and more.<br />
* Popup windows for BBCode help and editor preview.<br />
* Email notification to subscribing users.<br />
* Email import to create new topics/tickets, as well as to reply to notifications.<br />
* Fully customizable layout and appearence by templates and themes.<br />
* Powerful search engine.<br />
* RSS feeds for any selection of categories.<br />
* Convenient moderator functions including cut/paste operations to move messages and topics<br />
<br />
== Abstract ==<br />
<br />
Contao Forum/Helpdesk is a message board (forum) application designed to be as well used as a helpdesk ticketing system, for example to provide formal and informal support to customers or clients. The terminology and functions of the forum categories is slightly different than the support ticketing categories, but when you know the mapping you will immediately be familiar with the application:<br />
<br />
{| border="0" cellspacing="1" cellpadding="2"<br />
! !! '''Forum''' !! '''Helpdesk'''<br />
|-<br />
| Category types (1) || Restricted or public || Private, shared or public <br />
|-<br />
| Thread naming (2) || Topics || Tickets<br />
|-<br />
| Frontend users (3) || Members || Clients<br />
|-<br />
| Backend users (4) || Moderators || Supporters<br />
|-<br />
| colspan="2" |<br />
|}<br />
<br />
== Categories ==<br />
<br />
<br />
*[[File:Extensions-helpdesk-Category416.png]] '''Public Forum''': Everybody can read the forum, even non-logged in users. Only authorized members can however open topics or reply.<br />
*[[File:Extensions-helpdesk-Category316.png]] '''Restricted Forum''': The forum is visible only for authorized members.<br />
*[[File:Extensions-helpdesk-Category216.png]] '''Public Support''': Everybody can see all tickets, even non-logged in users. Only authorized clients can however open tickets or reply.<br />
*[[File:Extensions-helpdesk-Category116.png]] '''Shared Support''': All authorized clients can see and reply each others tickets, however only the owner has priviledge to close or delete his tickets. Create such a category for example for each company with a SLA((Service level agreement)) where multiple staff members shall have access to the tickets.<br />
*[[File:Extensions-helpdesk-Category016.png]] '''Private Support''': Only the ticket owner can see his tickets, but nobody else (admins and supporters authorized for the category can of course also see and reply to the tickets). Used for example for formal support of individuals.<br />
<br />
=== Topic vs. ticket status ===<br />
<br />
==== Topic status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0116.png]] '''Pinned up:''' Open topic that is listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1116.png]] '''Normal:''' A normal open topic. <br />
*[[File:Extensions-helpdesk-Ticket2116.png]] '''Closed:''' No further edits or replies are possible, listed at the end. <br />
<br />
==== Ticket status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0016.png]] '''Unanswered:''' The ticked is open and the latest post is from a client. Listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1016.png]] '''Answered:''' The ticket is open and the latest post is from a supporter. <br />
*[[File:Extensions-helpdesk-Ticket2016.png]] '''Closed:''' Issue solved. No further edits or replies are possible, the owner may reopen it however in case. Listed at the end. <br />
<br />
=== Members and Clients ===<br />
<br />
Forum members and support clients are either "frontend members" or "backend users" in terms of TYPOlight, and belong to a member/user group authorized for the respective category. The client opening a ticket has special "owner" rights in the support type categories: He has authorization to close or delete (5) his tickets.<br />
<br />
=== Admin, Moderators and Supporters ===<br />
<br />
Moderators and supporters are either TYPOlight backend users or frontend members, and belong to a user group authorized as moderator/supporter for the respective category. They have special rights to see unpublished, to pinup, edit, unpublish or delete any topic, ticket or message.<br />
<br />
Contao admins are special backend users and appear as moderator or supporter, he/she is automaticly authorized for all categories. Additionally the admins have authorization to administrative operations, e.g. create or delete categories or change category settings. Also admins are the only ones who can see unpublished categories.<br />
<br />
=== Deletion levels ===<br />
<br />
Tickets and messages are not permanently deleted, but only unpublished from frontend when a ticket owner or member/client "deletes" them. They are still available for moderators and supporters however, mainly to serve as a knowledge resource. Tickets and messages can be permanently deleted only by admins, moderators and supporters.<br />
<br />
== Installation and Setup ==<br />
<br />
=== Requirements ===<br />
<br />
*PHP from version 5.2.0<br />
*Other requirements like [http://www.contao.org/system-requirements.html]<br />
<br />
=== Manual Installation ===<br />
<br />
*Install these required extensions in advance: [[extensions:avatar]], [[extensions:cron]], [http://www.contao.org/extension-list/view/geshi.en.html]<br />
*Download the install package from [http://www.contao.org/extension-list/view/helpdesk.en.html].<br />
*Unzip the content of TL_ROOT to the Contao base directory on your webserver.<br />
*Unzip the content of TL_FILES to the tl_files directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki><br />
*Enter the installation password and click '''Login'''<br />
*Scroll down to '''Update database tables''' and click on '''Update database'''<br />
<br />
=== Site structure settings ===<br />
<br />
The page where the forum/helpdesk is located should have caching disabled, e.g:<br />
<br />
[[File:Extensions-helpdesk-Hd200.png |Cache Settings]]<br />
<br />
=== Page layout adjustment ===<br />
<br />
The module will also work without this, however it will look poor in the frontend.<br />
<br />
Go to '''Page layouts''' and change the layout for the pages that will display the forum/helpdesk. This might be a special layout you make for the forum/helpdesk pages, or the '''Default layout'''.<br />
<br />
Scroll down to '''Additional <nowiki>‹head›</nowiki> tags''' and append the following lines to whatever might allready be in there:<br />
<br />
<source lang="php"><br />
<link rel="stylesheet" <br />
href="system/modules/helpdesk/themes/default/frontend.css" <br />
type="text/css" <br />
media="screen,projection,print" /><br />
<!--[if lte IE 6]><br />
<style type="text/css"><br />
.pngfix { behavior:url("system/modules/helpdesk/themes/default/pngfix.htc") }<br />
</style><br />
<![endif]--><br />
</source><br />
<br />
== Custom themes and templates ==<br />
<br />
=== Backend themes ===<br />
<br />
To create the theme //mysite// you would first of cause create a new TYPOlight backend theme folder /system/themes/mysite and activate it in in the //Settings//. <br />
<br />
Then likewise you would create a folder system/modules/helpdesk/themes/mysite, copy the CSS files from the adjaccent //default// folder and make your adjustments to them. Please note that because of the automatic fallback it is //not// necessary to copy all the images from the //default// theme. In case you want your own icons, just create a subfolder //images// and put them in there; any icons not found there will be taken from the //default// theme.<br />
<br />
=== Frontend themes ===<br />
<br />
Copy the CSS files from system/modules/helpdesk/themes/default to your custom frontend theme folder and make the desired adjustments. Don't forget to adjust the //Page layout// as explained before to use your custom stylesheet instead of the default one.<br />
<br />
You may want to replace some or all of the default forum/helpdesk icons too. Just put your custom icons into an //images// folder below your custom theme. Then enter the path of your images folder in the helpdesk settings. Again there is a fallback built in, so any icon not found in your custom images folder will be taken from the //default// backend theme.<br />
<br />
Instead of PNG you may use GIF icons. In case both, a GIF //and// a PNG icon is found, the PNG has precedence.<br />
<br />
=== Templates ===<br />
<br />
In case you need to customize the default templates, just copy the files of interest from /system/modules/helpdesk/templates to /templates and make your adjustments. <br />
<br />
Please note that the template files are used for both, frontend //and// backend.<br />
<br />
<br />
=== "Personal data" Module ===<br />
<br />
{{note|As of TYPOlight 2.5.0 it is no longer required to edit the file ModulePersonalData.php; the hook is now included in the core file. However you still need to select the template ''member_grouped_helpdesk'' up to 2.5.9. Since TYPOlight 2.6.0 you also no longer need ''member_grouped_helpdesk'' because all necessary changes got included in ''member_grouped''.}}<br />
<br />
<br />
You may want to give your frontend members the option to subscribe themself for email noification with the ''Personal data'' module. This will work right out of the box when you are using the template ''member_default''.<br />
<br />
However when using the template ''member_grouped' you won't see the Forum/Helpdesk settings with the TYPOlight releases before 2.5.0. There is a workaround to use the grouped member display right now, which requires a small hack:<br />
<br />
Edit the file /system/modules/frontend/ModulePersonalData.php and find this code:<br />
<br />
<source lang="php">// HOOK: add newsletter fields<br />
if (in_array('newsletter', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->newsletter = $arrFields['newsletter'];<br />
$this->Template->newsletterDetails = $GLOBALS['TL_LANG']['tl_member']['newsletterDetails'];<br />
}</source><br />
<br />
Now add the following code immediately below:<br />
<br />
<source lang="php">// HOOK: add helpdesk fields<br />
if (in_array('helpdesk', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->helpdesk = $arrFields['helpdesk'];<br />
$this->Template->helpdeskDetails = $GLOBALS['TL_LANG']['tl_member']['helpdeskDetails'];<br />
}</source><br />
<br />
Finally, go to the ''Personal data'' module and select the template ''member_grouped_helpdesk''.<br />
<br />
The layout may look somewhat messy by default, here is a suggestion to add to your CSS of the respective page:<br />
<br />
<source lang="css"><br />
.mod_personalData .checkbox_container span<br />
{<br />
display:block;<br />
white-space:nowrap;<br />
}<br />
<br />
.mod_personalData .checkbox_container span *<br />
{<br />
vertical-align:middle;<br />
}<br />
</source><br />
<br />
=== Enabling RSS Feeds ===<br />
<br />
To enable RSS feeds you need to:<br />
<br />
*Make settings in each category that you want feeds for<br />
*Make global settings in the Contao settings<br />
*Add a rewrite rule to your .htaccess file<br />
*Optional: Add a link to the page header in case you want to display a feed icon in the browsers address field<br />
<br />
=== Category Settings ===<br />
<br />
In the category settings you need to enter the url of the page holding this category, plus check that RSS feeds are enabled. Repeat this for all categories where you want to have RSS feeds for:<br />
<br />
[[File:Extensions-helpdesk-Hd100.jpg|Category Settings]]<br />
<br />
=== Contao settings ===<br />
<br />
In the Contao settings enable the forum/helpdesk feeds, and then make settings for the maximum number of messages to display, the base name of the xml file (same as in the .htaccess below), the title and description of the feed. Please note that this title and description only comes into play for feeds of multiple categories, for single category feeds the title and description of the category is used:<br />
<br />
[[File:Extensions-helpdesk-Hd101.jpg|Contao Settings]]<br />
<br />
=== .htaccess Modification ===<br />
<br />
Add a rewrite rule such as below to your .htaccess file. Replace //helpdesk// by the term you defined as base name in the TYPOlight settings:<br />
<br />
<code>RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</code><br />
<br />
A typical complete .htaccess for TYPOlight 2.6.0 might be:<br />
<br />
<code><br />
# Enable mod_rewrite<br />
RewriteEngine On<br />
RewriteBase /<br />
<br />
# Block any URI protocol in the query string<br />
RewriteCond %{QUERY_STRING} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Block any URI protocol in the request<br />
RewriteCond %{REQUEST_URI} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Rewrite TYPOlight URLs<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule .*\.html$ index.php [L]<br />
<br />
# Dynamic RSS feeds for forum/helpdesk <br />
RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</code><br />
<br />
=== Add RSS icon link to page layout ===<br />
<br />
This is optional but very convenient for your users. In case you not yet have a distinct page layout for the forum/helpdesk, make a copy of the default page layout. Edit the layout and enter the following link to the //Additional head tags// input:<br />
<br />
<code><link rel="alternate" type="application/rss+xml" title="RSS" href="http://www.example.com/helpdesk0.xml" /></code><br />
<br />
Replace %%www.example.com%% by your site's url. The 0 tells to provide a feed over all categories the user has read access to. If you want to make a feed over the categories 4, 5 and 7 instead, the link would be helpdesk4,5,7.xml<br />
<br />
<br />
<br />
<br />
<br />
=== Email Import and Notification ===<br />
<br />
==== Email Settings ====<br />
<br />
To send out notifications and import email a batch program must run on a regular base. You need to install the [[extensions:cron|cron utility]] for this purpose. Below you find suggested settings for the two Forum/Helpdesk jobs. Use a time schedule that matches your needs; the samples below will execute once every minute.<br />
<br />
[[File:Extensions-helpdesk-Hd024.jpg|CRON Scheduler]]<br /><br />
<br />
[[File:Extensions-helpdesk-Hd025.jpg|Import Job Settings]]<br /><br />
<br />
[[File:Extensions-helpdesk-Hd026.jpg|Notification Job Settings]]<br />
<br />
==== Troubleshooting E-Mail Issues ====<br />
<br />
*Check if your servers are properly configured to send out mails by creating a test-newsletter and sending it to one of your mail accounts. Send it to another server than the one used for sending out the mail to make sure the mail is not getting caught in some spamfilters or lost in any black hole.<br />
*Using PHP Mail may work on well configured servers (which is not selve-evident these days, cheepo hosters are greeting). Use SMTP in case, that will work 100%.<br />
<br />
*A common mistake is to use a different domain in the notification sender address than in the mail account in the system settings. For example when your SMTP account in the system settings is <nowiki>admin@example.com</nowiki>, a notification sender address such as <nowiki>forum@banana.net</nowiki> is likely to fail because that would be "relaying" which is forbidden in well configured mail servers. Of cause there are exceptions from this rule, for example when the mail server is configured to handle both of those domains. Leave the notification sender address empty until notification works in case.<br />
*Switch the helpdesk logging to <nowiki>"debug"</nowiki> in the Contao system settings. You will find the log files at <nowiki>/system/logs/Helpdesk*.log</nowiki>. In case no log file gets created during the batch run, your directory permissions of /system/logs does not allow write access for the web server. In that case you can manually create the two files /system/logs/HelpdeskImport.log and /system/logs/HelpdeskNotify.log and give them read/write permissions for the web server (for example as chmod of 666).<br />
*For debugging it is time-consuming to always have to wait for the scheduler to run. You can disable the scheduler jobs and manually trigger the batch by calling these url's (replace <nowiki>%%www.example.com%%</nowiki> by your own url of cause): <br />
<source lang="php">%%http://www.example.com/system/modules/helpdesk/HelpdeskNotifyExec.php%%<br />
%%http://www.example.com/system/modules/helpdesk/HelpdeskImportExec.php%%</source><br />
You will most likely just see a blank page when executing, but then check the log files after execution to see the results.<br />
<br />
=== Manual upgrade from a previous version ===<br />
<br />
{{Caution|It is recommended to make backups of your files and your database before starting any upgrade.}}<br />
<br />
You can upgrade directly from any previous release, it is '''not''' necessary to install every version that was released between your old and new version of the application.<br />
<br />
It is optional to delete the files of the old version before installing a new release; you can choose to just overwrite the old files. However there might be obsolete files which will stay in your installation that way. So for a clean update I recommend to manually delete these files and folders in advance:<br />
<br />
*system/drivers/DC_HelpdeskTable.php<br />
*system/modules/helpdesk<br />
<br />
{{Caution|Do '''NOT''' delete the mysql tables and settings of the helpdesk application after removing the old files, neither with phpmyadmin nor by using the Contao install tool. Otherwise you will loose all your data and settings.}}<br />
<br />
Next the procedure is basicly the same as with a new installation from scratch:<br />
<br />
*Download the install package.<br />
*Unzip/upload to your TYPOlight base directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki> <br />
*Enter the installation password and click ''Login''<br />
*Scroll down to ''Update database tables'' <br />
*If any drops of obsolete table columns are due, they are by default unchecked. It is safe to check them now in order to have clean database. <br />
*Click on ''Update database'' to have the necessary database updates applied.<br />
<br />
{{note|After upgrading, you should read the change log to see what has changed and might need your attention.}}<br />
<br />
=== Optimizing full text search ===<br />
<br />
Full text search of mysql will by default not find any words shorter than 4 characters, or in the stopword list. <br />
<br />
To improve search I recommend to lower the minimum word length to 2, or even down to 1. In case your site is not english only, you might also want to disable the default stopword list (or apply [[http://members.unine.ch/jacques.savoy/clef/index.html|a customized one in your language]]).<br />
<br />
**Brief procedure:**<br />
<br />
* Edit the mysql configuration file<br />
* Restart the mysql server<br />
* Drop the fulltext indexes<br />
* Recreate the fulltext indexes<br />
<br />
<br />
**More detailed description (debian example):**<br />
<br />
Edit /etc/mysql/my.cnf\\<br />
Within the section **[mysqld]** edit or add the following lines:<br />
<br />
<code>#<br />
# Fulltext config<br />
#<br />
ft_min_word_len = 2<br />
ft_stopword_file = ""</code><br />
<br />
Restart mysql:<br />
<br />
/etc/init.d/mysql restart<br />
<br />
Check system vars in phpMyAdmin to make sure it worked:<br />
<br />
{{ :extensions:helpdesk:myvars1.png }}<br />
{{ :extensions:helpdesk:myvars2.png }}<br />
<br />
Drop the fulltext indexes from the tables tl_search, tl_helpdesk_tickets and tl_helpdesk_messages. Check also the tables of other installed extensions for fulltext indexes, and drop them as well:<br />
<br />
{{ :extensions:helpdesk:dropft3.png }}<br />
<br />
{{ :extensions:helpdesk:dropft1.png }}<br />
<br />
{{ :extensions:helpdesk:dropft2.png }}<br />
<br />
Use the TYPOlight installation or extension manager to recreate the indexes based on the new settings:<br />
<br />
{{ :extensions:helpdesk:makeft.png }}<br />
<br />
<br />
== Getting started ==<br />
<br />
Well this section is currently very brief. Only a few screenschots so far, but I guess you will figure out usage yourself with some TYPOlight experience. <br />
<br />
=== Create a new category ====<br />
<br />
{{extensions:helpdesk:hd111.png|Goto helpdesk structure}}<br />
<br />
{{extensions:helpdesk:hd110.png|Category overview}}<br />
<br />
{{extensions:helpdesk:hd113.png|Category editor}}<br />
{{extensions:helpdesk:hd114.png|Category editor}}<br />
{{extensions:helpdesk:hd115.png|Category editor}}<br />
{{extensions:helpdesk:hd116.png|Category editor}}<br />
{{extensions:helpdesk:hd117.png|Category editor}}<br />
<br />
=== Create a title module for the frontend ===<br />
<br />
Basicly a title module is not required, however it helps you structure your forums and helpdesks when you want to group the categories into blocks.<br />
<br />
{{extensions:helpdesk:hd118.png|Goto modules}}<br />
{{extensions:helpdesk:hd119.png|Add a module}}<br />
<br />
{{extensions:helpdesk:hd120.png|Title module settings}}<br />
{{extensions:helpdesk:hd121.png|Title module settings}}<br />
<br />
=== Create block modules for the frontend ===<br />
<br />
A forum/helpdesk block module displays a selection of categories in a block on the frontend. So the minimum to get started on frontend is one module of this type. In case you want to structure your categories you will make several of these modules:<br />
<br />
{{:extensions:helpdesk:hdblock.png|Block module settings}}</div>Lucinahttps://en.contaowiki.org/HelpdeskHelpdesk2012-02-18T14:34:53Z<p>Lucina: /* Requirements */</p>
<hr />
<div>{{stub}}<br />
[[de:Helpdesk]]<br />
= Forum and Helpdesk =<br />
{{Note|Parts of this documentation were created by Peter Koch / IBK Software AG. Peter Koch has licensed this content for use on contoawiki.org. Content in this page must not be copied, reproduced, republished, uploaded, posted, transmitted, distributed, or used for the creation of derivative works without IBK's prior written consent.}}<br />
{{Hint|http://web.archive.org/web/20101121033235/http://contifex.com/wiki/extensions:helpdesk}}<br />
{{Note|feel free to bring the content from the page above to our contaowiki!}} <br />
<br />
== Features ==<br />
[[File:Extensions-helpdesk-Hd130.png]]<br />
* Native Contao application; fully integrated into Contao user/member system.<br />
* Can be used as forum, as helpdesk ticketing system, or both at same time.<br />
* Both, frontend members and backend users, can be members/clients or moderators/supporters.<br />
* Multiple frontend modules with selected categories are possible; to be displayed on one or several pages, or embedded within articles.<br />
* Backend modules for configuration and forum participation.<br />
* Comprehensive and fast BBCode engine including tables, lists, several box types, syntax highlighting and more.<br />
* Popup windows for BBCode help and editor preview.<br />
* Email notification to subscribing users.<br />
* Email import to create new topics/tickets, as well as to reply to notifications.<br />
* Fully customizable layout and appearence by templates and themes.<br />
* Powerful search engine.<br />
* RSS feeds for any selection of categories.<br />
* Convenient moderator functions including cut/paste operations to move messages and topics<br />
<br />
== Abstract ==<br />
<br />
Contao Forum/Helpdesk is a message board (forum) application designed to be as well used as a helpdesk ticketing system, for example to provide formal and informal support to customers or clients. The terminology and functions of the forum categories is slightly different than the support ticketing categories, but when you know the mapping you will immediately be familiar with the application:<br />
<br />
{| border="0" cellspacing="1" cellpadding="2"<br />
! !! '''Forum''' !! '''Helpdesk'''<br />
|-<br />
| Category types (1) || Restricted or public || Private, shared or public <br />
|-<br />
| Thread naming (2) || Topics || Tickets<br />
|-<br />
| Frontend users (3) || Members || Clients<br />
|-<br />
| Backend users (4) || Moderators || Supporters<br />
|-<br />
| colspan="2" |<br />
|}<br />
<br />
== Categories ==<br />
<br />
<br />
*[[File:Extensions-helpdesk-Category416.png]] '''Public Forum''': Everybody can read the forum, even non-logged in users. Only authorized members can however open topics or reply.<br />
*[[File:Extensions-helpdesk-Category316.png]] '''Restricted Forum''': The forum is visible only for authorized members.<br />
*[[File:Extensions-helpdesk-Category216.png]] '''Public Support''': Everybody can see all tickets, even non-logged in users. Only authorized clients can however open tickets or reply.<br />
*[[File:Extensions-helpdesk-Category116.png]] '''Shared Support''': All authorized clients can see and reply each others tickets, however only the owner has priviledge to close or delete his tickets. Create such a category for example for each company with a SLA((Service level agreement)) where multiple staff members shall have access to the tickets.<br />
*[[File:Extensions-helpdesk-Category016.png]] '''Private Support''': Only the ticket owner can see his tickets, but nobody else (admins and supporters authorized for the category can of course also see and reply to the tickets). Used for example for formal support of individuals.<br />
<br />
=== Topic vs. ticket status ===<br />
<br />
==== Topic status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0116.png]] '''Pinned up:''' Open topic that is listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1116.png]] '''Normal:''' A normal open topic. <br />
*[[File:Extensions-helpdesk-Ticket2116.png]] '''Closed:''' No further edits or replies are possible, listed at the end. <br />
<br />
==== Ticket status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0016.png]] '''Unanswered:''' The ticked is open and the latest post is from a client. Listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1016.png]] '''Answered:''' The ticket is open and the latest post is from a supporter. <br />
*[[File:Extensions-helpdesk-Ticket2016.png]] '''Closed:''' Issue solved. No further edits or replies are possible, the owner may reopen it however in case. Listed at the end. <br />
<br />
=== Members and Clients ===<br />
<br />
Forum members and support clients are either "frontend members" or "backend users" in terms of TYPOlight, and belong to a member/user group authorized for the respective category. The client opening a ticket has special "owner" rights in the support type categories: He has authorization to close or delete (5) his tickets.<br />
<br />
=== Admin, Moderators and Supporters ===<br />
<br />
Moderators and supporters are either TYPOlight backend users or frontend members, and belong to a user group authorized as moderator/supporter for the respective category. They have special rights to see unpublished, to pinup, edit, unpublish or delete any topic, ticket or message.<br />
<br />
Contao admins are special backend users and appear as moderator or supporter, he/she is automaticly authorized for all categories. Additionally the admins have authorization to administrative operations, e.g. create or delete categories or change category settings. Also admins are the only ones who can see unpublished categories.<br />
<br />
=== Deletion levels ===<br />
<br />
Tickets and messages are not permanently deleted, but only unpublished from frontend when a ticket owner or member/client "deletes" them. They are still available for moderators and supporters however, mainly to serve as a knowledge resource. Tickets and messages can be permanently deleted only by admins, moderators and supporters.<br />
<br />
== Installation and Setup ==<br />
<br />
=== Requirements ===<br />
<br />
*PHP from version 5.2.0<br />
*Other requirements like [http://www.contao.org/system-requirements.html]<br />
<br />
=== Manual Installation ===<br />
<br />
*Install these required extensions in advance: [[extensions:avatar]], [[extensions:cron]], [[http://www.typolight.org/extension-list/view/geshi.en.html|geshi]]<br />
*Download the install package from [[http://www.typolight.org/extension-list/view/helpdesk.en.html|here]].<br />
*Unzip the content of TL_ROOT to the TYPOlight base directory on your webserver.<br />
*Unzip the content of TL_FILES to the tl_files directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki><br />
*Enter the installation password and click '''Login'''<br />
*Scroll down to '''Update database tables''' and click on '''Update database'''<br />
<br />
=== Site structure settings ===<br />
<br />
The page where the forum/helpdesk is located should have caching disabled, e.g:<br />
<br />
[[File:Extensions-helpdesk-Hd200.png |Cache Settings]]<br />
<br />
=== Page layout adjustment ===<br />
<br />
The module will also work without this, however it will look poor in the frontend.<br />
<br />
Go to '''Page layouts''' and change the layout for the pages that will display the forum/helpdesk. This might be a special layout you make for the forum/helpdesk pages, or the '''Default layout'''.<br />
<br />
Scroll down to '''Additional <nowiki>‹head›</nowiki> tags''' and append the following lines to whatever might allready be in there:<br />
<br />
<source lang="php"><br />
<link rel="stylesheet" <br />
href="system/modules/helpdesk/themes/default/frontend.css" <br />
type="text/css" <br />
media="screen,projection,print" /><br />
<!--[if lte IE 6]><br />
<style type="text/css"><br />
.pngfix { behavior:url("system/modules/helpdesk/themes/default/pngfix.htc") }<br />
</style><br />
<![endif]--><br />
</source><br />
<br />
== Custom themes and templates ==<br />
<br />
=== Backend themes ===<br />
<br />
To create the theme //mysite// you would first of cause create a new TYPOlight backend theme folder /system/themes/mysite and activate it in in the //Settings//. <br />
<br />
Then likewise you would create a folder system/modules/helpdesk/themes/mysite, copy the CSS files from the adjaccent //default// folder and make your adjustments to them. Please note that because of the automatic fallback it is //not// necessary to copy all the images from the //default// theme. In case you want your own icons, just create a subfolder //images// and put them in there; any icons not found there will be taken from the //default// theme.<br />
<br />
=== Frontend themes ===<br />
<br />
Copy the CSS files from system/modules/helpdesk/themes/default to your custom frontend theme folder and make the desired adjustments. Don't forget to adjust the //Page layout// as explained before to use your custom stylesheet instead of the default one.<br />
<br />
You may want to replace some or all of the default forum/helpdesk icons too. Just put your custom icons into an //images// folder below your custom theme. Then enter the path of your images folder in the helpdesk settings. Again there is a fallback built in, so any icon not found in your custom images folder will be taken from the //default// backend theme.<br />
<br />
Instead of PNG you may use GIF icons. In case both, a GIF //and// a PNG icon is found, the PNG has precedence.<br />
<br />
=== Templates ===<br />
<br />
In case you need to customize the default templates, just copy the files of interest from /system/modules/helpdesk/templates to /templates and make your adjustments. <br />
<br />
Please note that the template files are used for both, frontend //and// backend.<br />
<br />
<br />
=== "Personal data" Module ===<br />
<br />
{{note|As of TYPOlight 2.5.0 it is no longer required to edit the file ModulePersonalData.php; the hook is now included in the core file. However you still need to select the template ''member_grouped_helpdesk'' up to 2.5.9. Since TYPOlight 2.6.0 you also no longer need ''member_grouped_helpdesk'' because all necessary changes got included in ''member_grouped''.}}<br />
<br />
<br />
You may want to give your frontend members the option to subscribe themself for email noification with the ''Personal data'' module. This will work right out of the box when you are using the template ''member_default''.<br />
<br />
However when using the template ''member_grouped' you won't see the Forum/Helpdesk settings with the TYPOlight releases before 2.5.0. There is a workaround to use the grouped member display right now, which requires a small hack:<br />
<br />
Edit the file /system/modules/frontend/ModulePersonalData.php and find this code:<br />
<br />
<source lang="php">// HOOK: add newsletter fields<br />
if (in_array('newsletter', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->newsletter = $arrFields['newsletter'];<br />
$this->Template->newsletterDetails = $GLOBALS['TL_LANG']['tl_member']['newsletterDetails'];<br />
}</source><br />
<br />
Now add the following code immediately below:<br />
<br />
<source lang="php">// HOOK: add helpdesk fields<br />
if (in_array('helpdesk', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->helpdesk = $arrFields['helpdesk'];<br />
$this->Template->helpdeskDetails = $GLOBALS['TL_LANG']['tl_member']['helpdeskDetails'];<br />
}</source><br />
<br />
Finally, go to the ''Personal data'' module and select the template ''member_grouped_helpdesk''.<br />
<br />
The layout may look somewhat messy by default, here is a suggestion to add to your CSS of the respective page:<br />
<br />
<source lang="css"><br />
.mod_personalData .checkbox_container span<br />
{<br />
display:block;<br />
white-space:nowrap;<br />
}<br />
<br />
.mod_personalData .checkbox_container span *<br />
{<br />
vertical-align:middle;<br />
}<br />
</source><br />
<br />
=== Enabling RSS Feeds ===<br />
<br />
To enable RSS feeds you need to:<br />
<br />
*Make settings in each category that you want feeds for<br />
*Make global settings in the Contao settings<br />
*Add a rewrite rule to your .htaccess file<br />
*Optional: Add a link to the page header in case you want to display a feed icon in the browsers address field<br />
<br />
=== Category Settings ===<br />
<br />
In the category settings you need to enter the url of the page holding this category, plus check that RSS feeds are enabled. Repeat this for all categories where you want to have RSS feeds for:<br />
<br />
[[File:Extensions-helpdesk-Hd100.jpg|Category Settings]]<br />
<br />
=== Contao settings ===<br />
<br />
In the Contao settings enable the forum/helpdesk feeds, and then make settings for the maximum number of messages to display, the base name of the xml file (same as in the .htaccess below), the title and description of the feed. Please note that this title and description only comes into play for feeds of multiple categories, for single category feeds the title and description of the category is used:<br />
<br />
[[File:Extensions-helpdesk-Hd101.jpg|Contao Settings]]<br />
<br />
=== .htaccess Modification ===<br />
<br />
Add a rewrite rule such as below to your .htaccess file. Replace //helpdesk// by the term you defined as base name in the TYPOlight settings:<br />
<br />
<code>RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</code><br />
<br />
A typical complete .htaccess for TYPOlight 2.6.0 might be:<br />
<br />
<code><br />
# Enable mod_rewrite<br />
RewriteEngine On<br />
RewriteBase /<br />
<br />
# Block any URI protocol in the query string<br />
RewriteCond %{QUERY_STRING} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Block any URI protocol in the request<br />
RewriteCond %{REQUEST_URI} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Rewrite TYPOlight URLs<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule .*\.html$ index.php [L]<br />
<br />
# Dynamic RSS feeds for forum/helpdesk <br />
RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</code><br />
<br />
=== Add RSS icon link to page layout ===<br />
<br />
This is optional but very convenient for your users. In case you not yet have a distinct page layout for the forum/helpdesk, make a copy of the default page layout. Edit the layout and enter the following link to the //Additional head tags// input:<br />
<br />
<code><link rel="alternate" type="application/rss+xml" title="RSS" href="http://www.example.com/helpdesk0.xml" /></code><br />
<br />
Replace %%www.example.com%% by your site's url. The 0 tells to provide a feed over all categories the user has read access to. If you want to make a feed over the categories 4, 5 and 7 instead, the link would be helpdesk4,5,7.xml<br />
<br />
<br />
<br />
<br />
<br />
=== Email Import and Notification ===<br />
<br />
==== Email Settings ====<br />
<br />
To send out notifications and import email a batch program must run on a regular base. You need to install the [[extensions:cron|cron utility]] for this purpose. Below you find suggested settings for the two Forum/Helpdesk jobs. Use a time schedule that matches your needs; the samples below will execute once every minute.<br />
<br />
[[File:Extensions-helpdesk-Hd024.jpg|CRON Scheduler]]<br /><br />
<br />
[[File:Extensions-helpdesk-Hd025.jpg|Import Job Settings]]<br /><br />
<br />
[[File:Extensions-helpdesk-Hd026.jpg|Notification Job Settings]]<br />
<br />
==== Troubleshooting E-Mail Issues ====<br />
<br />
*Check if your servers are properly configured to send out mails by creating a test-newsletter and sending it to one of your mail accounts. Send it to another server than the one used for sending out the mail to make sure the mail is not getting caught in some spamfilters or lost in any black hole.<br />
*Using PHP Mail may work on well configured servers (which is not selve-evident these days, cheepo hosters are greeting). Use SMTP in case, that will work 100%.<br />
<br />
*A common mistake is to use a different domain in the notification sender address than in the mail account in the system settings. For example when your SMTP account in the system settings is <nowiki>admin@example.com</nowiki>, a notification sender address such as <nowiki>forum@banana.net</nowiki> is likely to fail because that would be "relaying" which is forbidden in well configured mail servers. Of cause there are exceptions from this rule, for example when the mail server is configured to handle both of those domains. Leave the notification sender address empty until notification works in case.<br />
*Switch the helpdesk logging to <nowiki>"debug"</nowiki> in the Contao system settings. You will find the log files at <nowiki>/system/logs/Helpdesk*.log</nowiki>. In case no log file gets created during the batch run, your directory permissions of /system/logs does not allow write access for the web server. In that case you can manually create the two files /system/logs/HelpdeskImport.log and /system/logs/HelpdeskNotify.log and give them read/write permissions for the web server (for example as chmod of 666).<br />
*For debugging it is time-consuming to always have to wait for the scheduler to run. You can disable the scheduler jobs and manually trigger the batch by calling these url's (replace <nowiki>%%www.example.com%%</nowiki> by your own url of cause): <br />
<source lang="php">%%http://www.example.com/system/modules/helpdesk/HelpdeskNotifyExec.php%%<br />
%%http://www.example.com/system/modules/helpdesk/HelpdeskImportExec.php%%</source><br />
You will most likely just see a blank page when executing, but then check the log files after execution to see the results.<br />
<br />
=== Manual upgrade from a previous version ===<br />
<br />
{{Caution|It is recommended to make backups of your files and your database before starting any upgrade.}}<br />
<br />
You can upgrade directly from any previous release, it is '''not''' necessary to install every version that was released between your old and new version of the application.<br />
<br />
It is optional to delete the files of the old version before installing a new release; you can choose to just overwrite the old files. However there might be obsolete files which will stay in your installation that way. So for a clean update I recommend to manually delete these files and folders in advance:<br />
<br />
*system/drivers/DC_HelpdeskTable.php<br />
*system/modules/helpdesk<br />
<br />
{{Caution|Do '''NOT''' delete the mysql tables and settings of the helpdesk application after removing the old files, neither with phpmyadmin nor by using the Contao install tool. Otherwise you will loose all your data and settings.}}<br />
<br />
Next the procedure is basicly the same as with a new installation from scratch:<br />
<br />
*Download the install package.<br />
*Unzip/upload to your TYPOlight base directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki> <br />
*Enter the installation password and click ''Login''<br />
*Scroll down to ''Update database tables'' <br />
*If any drops of obsolete table columns are due, they are by default unchecked. It is safe to check them now in order to have clean database. <br />
*Click on ''Update database'' to have the necessary database updates applied.<br />
<br />
{{note|After upgrading, you should read the change log to see what has changed and might need your attention.}}<br />
<br />
=== Optimizing full text search ===<br />
<br />
Full text search of mysql will by default not find any words shorter than 4 characters, or in the stopword list. <br />
<br />
To improve search I recommend to lower the minimum word length to 2, or even down to 1. In case your site is not english only, you might also want to disable the default stopword list (or apply [[http://members.unine.ch/jacques.savoy/clef/index.html|a customized one in your language]]).<br />
<br />
**Brief procedure:**<br />
<br />
* Edit the mysql configuration file<br />
* Restart the mysql server<br />
* Drop the fulltext indexes<br />
* Recreate the fulltext indexes<br />
<br />
<br />
**More detailed description (debian example):**<br />
<br />
Edit /etc/mysql/my.cnf\\<br />
Within the section **[mysqld]** edit or add the following lines:<br />
<br />
<code>#<br />
# Fulltext config<br />
#<br />
ft_min_word_len = 2<br />
ft_stopword_file = ""</code><br />
<br />
Restart mysql:<br />
<br />
/etc/init.d/mysql restart<br />
<br />
Check system vars in phpMyAdmin to make sure it worked:<br />
<br />
{{ :extensions:helpdesk:myvars1.png }}<br />
{{ :extensions:helpdesk:myvars2.png }}<br />
<br />
Drop the fulltext indexes from the tables tl_search, tl_helpdesk_tickets and tl_helpdesk_messages. Check also the tables of other installed extensions for fulltext indexes, and drop them as well:<br />
<br />
{{ :extensions:helpdesk:dropft3.png }}<br />
<br />
{{ :extensions:helpdesk:dropft1.png }}<br />
<br />
{{ :extensions:helpdesk:dropft2.png }}<br />
<br />
Use the TYPOlight installation or extension manager to recreate the indexes based on the new settings:<br />
<br />
{{ :extensions:helpdesk:makeft.png }}<br />
<br />
<br />
== Getting started ==<br />
<br />
Well this section is currently very brief. Only a few screenschots so far, but I guess you will figure out usage yourself with some TYPOlight experience. <br />
<br />
=== Create a new category ====<br />
<br />
{{extensions:helpdesk:hd111.png|Goto helpdesk structure}}<br />
<br />
{{extensions:helpdesk:hd110.png|Category overview}}<br />
<br />
{{extensions:helpdesk:hd113.png|Category editor}}<br />
{{extensions:helpdesk:hd114.png|Category editor}}<br />
{{extensions:helpdesk:hd115.png|Category editor}}<br />
{{extensions:helpdesk:hd116.png|Category editor}}<br />
{{extensions:helpdesk:hd117.png|Category editor}}<br />
<br />
=== Create a title module for the frontend ===<br />
<br />
Basicly a title module is not required, however it helps you structure your forums and helpdesks when you want to group the categories into blocks.<br />
<br />
{{extensions:helpdesk:hd118.png|Goto modules}}<br />
{{extensions:helpdesk:hd119.png|Add a module}}<br />
<br />
{{extensions:helpdesk:hd120.png|Title module settings}}<br />
{{extensions:helpdesk:hd121.png|Title module settings}}<br />
<br />
=== Create block modules for the frontend ===<br />
<br />
A forum/helpdesk block module displays a selection of categories in a block on the frontend. So the minimum to get started on frontend is one module of this type. In case you want to structure your categories you will make several of these modules:<br />
<br />
{{:extensions:helpdesk:hdblock.png|Block module settings}}</div>Lucinahttps://en.contaowiki.org/HelpdeskHelpdesk2012-02-18T14:33:41Z<p>Lucina: /* Abstract */</p>
<hr />
<div>{{stub}}<br />
[[de:Helpdesk]]<br />
= Forum and Helpdesk =<br />
{{Note|Parts of this documentation were created by Peter Koch / IBK Software AG. Peter Koch has licensed this content for use on contoawiki.org. Content in this page must not be copied, reproduced, republished, uploaded, posted, transmitted, distributed, or used for the creation of derivative works without IBK's prior written consent.}}<br />
{{Hint|http://web.archive.org/web/20101121033235/http://contifex.com/wiki/extensions:helpdesk}}<br />
{{Note|feel free to bring the content from the page above to our contaowiki!}} <br />
<br />
== Features ==<br />
[[File:Extensions-helpdesk-Hd130.png]]<br />
* Native Contao application; fully integrated into Contao user/member system.<br />
* Can be used as forum, as helpdesk ticketing system, or both at same time.<br />
* Both, frontend members and backend users, can be members/clients or moderators/supporters.<br />
* Multiple frontend modules with selected categories are possible; to be displayed on one or several pages, or embedded within articles.<br />
* Backend modules for configuration and forum participation.<br />
* Comprehensive and fast BBCode engine including tables, lists, several box types, syntax highlighting and more.<br />
* Popup windows for BBCode help and editor preview.<br />
* Email notification to subscribing users.<br />
* Email import to create new topics/tickets, as well as to reply to notifications.<br />
* Fully customizable layout and appearence by templates and themes.<br />
* Powerful search engine.<br />
* RSS feeds for any selection of categories.<br />
* Convenient moderator functions including cut/paste operations to move messages and topics<br />
<br />
== Abstract ==<br />
<br />
Contao Forum/Helpdesk is a message board (forum) application designed to be as well used as a helpdesk ticketing system, for example to provide formal and informal support to customers or clients. The terminology and functions of the forum categories is slightly different than the support ticketing categories, but when you know the mapping you will immediately be familiar with the application:<br />
<br />
{| border="0" cellspacing="1" cellpadding="2"<br />
! !! '''Forum''' !! '''Helpdesk'''<br />
|-<br />
| Category types (1) || Restricted or public || Private, shared or public <br />
|-<br />
| Thread naming (2) || Topics || Tickets<br />
|-<br />
| Frontend users (3) || Members || Clients<br />
|-<br />
| Backend users (4) || Moderators || Supporters<br />
|-<br />
| colspan="2" |<br />
|}<br />
<br />
== Categories ==<br />
<br />
<br />
*[[File:Extensions-helpdesk-Category416.png]] '''Public Forum''': Everybody can read the forum, even non-logged in users. Only authorized members can however open topics or reply.<br />
*[[File:Extensions-helpdesk-Category316.png]] '''Restricted Forum''': The forum is visible only for authorized members.<br />
*[[File:Extensions-helpdesk-Category216.png]] '''Public Support''': Everybody can see all tickets, even non-logged in users. Only authorized clients can however open tickets or reply.<br />
*[[File:Extensions-helpdesk-Category116.png]] '''Shared Support''': All authorized clients can see and reply each others tickets, however only the owner has priviledge to close or delete his tickets. Create such a category for example for each company with a SLA((Service level agreement)) where multiple staff members shall have access to the tickets.<br />
*[[File:Extensions-helpdesk-Category016.png]] '''Private Support''': Only the ticket owner can see his tickets, but nobody else (admins and supporters authorized for the category can of course also see and reply to the tickets). Used for example for formal support of individuals.<br />
<br />
=== Topic vs. ticket status ===<br />
<br />
==== Topic status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0116.png]] '''Pinned up:''' Open topic that is listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1116.png]] '''Normal:''' A normal open topic. <br />
*[[File:Extensions-helpdesk-Ticket2116.png]] '''Closed:''' No further edits or replies are possible, listed at the end. <br />
<br />
==== Ticket status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0016.png]] '''Unanswered:''' The ticked is open and the latest post is from a client. Listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1016.png]] '''Answered:''' The ticket is open and the latest post is from a supporter. <br />
*[[File:Extensions-helpdesk-Ticket2016.png]] '''Closed:''' Issue solved. No further edits or replies are possible, the owner may reopen it however in case. Listed at the end. <br />
<br />
=== Members and Clients ===<br />
<br />
Forum members and support clients are either "frontend members" or "backend users" in terms of TYPOlight, and belong to a member/user group authorized for the respective category. The client opening a ticket has special "owner" rights in the support type categories: He has authorization to close or delete (5) his tickets.<br />
<br />
=== Admin, Moderators and Supporters ===<br />
<br />
Moderators and supporters are either TYPOlight backend users or frontend members, and belong to a user group authorized as moderator/supporter for the respective category. They have special rights to see unpublished, to pinup, edit, unpublish or delete any topic, ticket or message.<br />
<br />
Contao admins are special backend users and appear as moderator or supporter, he/she is automaticly authorized for all categories. Additionally the admins have authorization to administrative operations, e.g. create or delete categories or change category settings. Also admins are the only ones who can see unpublished categories.<br />
<br />
=== Deletion levels ===<br />
<br />
Tickets and messages are not permanently deleted, but only unpublished from frontend when a ticket owner or member/client "deletes" them. They are still available for moderators and supporters however, mainly to serve as a knowledge resource. Tickets and messages can be permanently deleted only by admins, moderators and supporters.<br />
<br />
== Installation and Setup ==<br />
<br />
=== Requirements ===<br />
<br />
*PHP from version 5.2.0<br />
*Other requirements like [[http://www.contao.org/system-requirements.html|TYPOlight]]<br />
<br />
=== Manual Installation ===<br />
<br />
*Install these required extensions in advance: [[extensions:avatar]], [[extensions:cron]], [[http://www.typolight.org/extension-list/view/geshi.en.html|geshi]]<br />
*Download the install package from [[http://www.typolight.org/extension-list/view/helpdesk.en.html|here]].<br />
*Unzip the content of TL_ROOT to the TYPOlight base directory on your webserver.<br />
*Unzip the content of TL_FILES to the tl_files directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki><br />
*Enter the installation password and click '''Login'''<br />
*Scroll down to '''Update database tables''' and click on '''Update database'''<br />
<br />
=== Site structure settings ===<br />
<br />
The page where the forum/helpdesk is located should have caching disabled, e.g:<br />
<br />
[[File:Extensions-helpdesk-Hd200.png |Cache Settings]]<br />
<br />
=== Page layout adjustment ===<br />
<br />
The module will also work without this, however it will look poor in the frontend.<br />
<br />
Go to '''Page layouts''' and change the layout for the pages that will display the forum/helpdesk. This might be a special layout you make for the forum/helpdesk pages, or the '''Default layout'''.<br />
<br />
Scroll down to '''Additional <nowiki>‹head›</nowiki> tags''' and append the following lines to whatever might allready be in there:<br />
<br />
<source lang="php"><br />
<link rel="stylesheet" <br />
href="system/modules/helpdesk/themes/default/frontend.css" <br />
type="text/css" <br />
media="screen,projection,print" /><br />
<!--[if lte IE 6]><br />
<style type="text/css"><br />
.pngfix { behavior:url("system/modules/helpdesk/themes/default/pngfix.htc") }<br />
</style><br />
<![endif]--><br />
</source><br />
<br />
== Custom themes and templates ==<br />
<br />
=== Backend themes ===<br />
<br />
To create the theme //mysite// you would first of cause create a new TYPOlight backend theme folder /system/themes/mysite and activate it in in the //Settings//. <br />
<br />
Then likewise you would create a folder system/modules/helpdesk/themes/mysite, copy the CSS files from the adjaccent //default// folder and make your adjustments to them. Please note that because of the automatic fallback it is //not// necessary to copy all the images from the //default// theme. In case you want your own icons, just create a subfolder //images// and put them in there; any icons not found there will be taken from the //default// theme.<br />
<br />
=== Frontend themes ===<br />
<br />
Copy the CSS files from system/modules/helpdesk/themes/default to your custom frontend theme folder and make the desired adjustments. Don't forget to adjust the //Page layout// as explained before to use your custom stylesheet instead of the default one.<br />
<br />
You may want to replace some or all of the default forum/helpdesk icons too. Just put your custom icons into an //images// folder below your custom theme. Then enter the path of your images folder in the helpdesk settings. Again there is a fallback built in, so any icon not found in your custom images folder will be taken from the //default// backend theme.<br />
<br />
Instead of PNG you may use GIF icons. In case both, a GIF //and// a PNG icon is found, the PNG has precedence.<br />
<br />
=== Templates ===<br />
<br />
In case you need to customize the default templates, just copy the files of interest from /system/modules/helpdesk/templates to /templates and make your adjustments. <br />
<br />
Please note that the template files are used for both, frontend //and// backend.<br />
<br />
<br />
=== "Personal data" Module ===<br />
<br />
{{note|As of TYPOlight 2.5.0 it is no longer required to edit the file ModulePersonalData.php; the hook is now included in the core file. However you still need to select the template ''member_grouped_helpdesk'' up to 2.5.9. Since TYPOlight 2.6.0 you also no longer need ''member_grouped_helpdesk'' because all necessary changes got included in ''member_grouped''.}}<br />
<br />
<br />
You may want to give your frontend members the option to subscribe themself for email noification with the ''Personal data'' module. This will work right out of the box when you are using the template ''member_default''.<br />
<br />
However when using the template ''member_grouped' you won't see the Forum/Helpdesk settings with the TYPOlight releases before 2.5.0. There is a workaround to use the grouped member display right now, which requires a small hack:<br />
<br />
Edit the file /system/modules/frontend/ModulePersonalData.php and find this code:<br />
<br />
<source lang="php">// HOOK: add newsletter fields<br />
if (in_array('newsletter', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->newsletter = $arrFields['newsletter'];<br />
$this->Template->newsletterDetails = $GLOBALS['TL_LANG']['tl_member']['newsletterDetails'];<br />
}</source><br />
<br />
Now add the following code immediately below:<br />
<br />
<source lang="php">// HOOK: add helpdesk fields<br />
if (in_array('helpdesk', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->helpdesk = $arrFields['helpdesk'];<br />
$this->Template->helpdeskDetails = $GLOBALS['TL_LANG']['tl_member']['helpdeskDetails'];<br />
}</source><br />
<br />
Finally, go to the ''Personal data'' module and select the template ''member_grouped_helpdesk''.<br />
<br />
The layout may look somewhat messy by default, here is a suggestion to add to your CSS of the respective page:<br />
<br />
<source lang="css"><br />
.mod_personalData .checkbox_container span<br />
{<br />
display:block;<br />
white-space:nowrap;<br />
}<br />
<br />
.mod_personalData .checkbox_container span *<br />
{<br />
vertical-align:middle;<br />
}<br />
</source><br />
<br />
=== Enabling RSS Feeds ===<br />
<br />
To enable RSS feeds you need to:<br />
<br />
*Make settings in each category that you want feeds for<br />
*Make global settings in the Contao settings<br />
*Add a rewrite rule to your .htaccess file<br />
*Optional: Add a link to the page header in case you want to display a feed icon in the browsers address field<br />
<br />
=== Category Settings ===<br />
<br />
In the category settings you need to enter the url of the page holding this category, plus check that RSS feeds are enabled. Repeat this for all categories where you want to have RSS feeds for:<br />
<br />
[[File:Extensions-helpdesk-Hd100.jpg|Category Settings]]<br />
<br />
=== Contao settings ===<br />
<br />
In the Contao settings enable the forum/helpdesk feeds, and then make settings for the maximum number of messages to display, the base name of the xml file (same as in the .htaccess below), the title and description of the feed. Please note that this title and description only comes into play for feeds of multiple categories, for single category feeds the title and description of the category is used:<br />
<br />
[[File:Extensions-helpdesk-Hd101.jpg|Contao Settings]]<br />
<br />
=== .htaccess Modification ===<br />
<br />
Add a rewrite rule such as below to your .htaccess file. Replace //helpdesk// by the term you defined as base name in the TYPOlight settings:<br />
<br />
<code>RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</code><br />
<br />
A typical complete .htaccess for TYPOlight 2.6.0 might be:<br />
<br />
<code><br />
# Enable mod_rewrite<br />
RewriteEngine On<br />
RewriteBase /<br />
<br />
# Block any URI protocol in the query string<br />
RewriteCond %{QUERY_STRING} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Block any URI protocol in the request<br />
RewriteCond %{REQUEST_URI} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Rewrite TYPOlight URLs<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule .*\.html$ index.php [L]<br />
<br />
# Dynamic RSS feeds for forum/helpdesk <br />
RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</code><br />
<br />
=== Add RSS icon link to page layout ===<br />
<br />
This is optional but very convenient for your users. In case you not yet have a distinct page layout for the forum/helpdesk, make a copy of the default page layout. Edit the layout and enter the following link to the //Additional head tags// input:<br />
<br />
<code><link rel="alternate" type="application/rss+xml" title="RSS" href="http://www.example.com/helpdesk0.xml" /></code><br />
<br />
Replace %%www.example.com%% by your site's url. The 0 tells to provide a feed over all categories the user has read access to. If you want to make a feed over the categories 4, 5 and 7 instead, the link would be helpdesk4,5,7.xml<br />
<br />
<br />
<br />
<br />
<br />
=== Email Import and Notification ===<br />
<br />
==== Email Settings ====<br />
<br />
To send out notifications and import email a batch program must run on a regular base. You need to install the [[extensions:cron|cron utility]] for this purpose. Below you find suggested settings for the two Forum/Helpdesk jobs. Use a time schedule that matches your needs; the samples below will execute once every minute.<br />
<br />
[[File:Extensions-helpdesk-Hd024.jpg|CRON Scheduler]]<br /><br />
<br />
[[File:Extensions-helpdesk-Hd025.jpg|Import Job Settings]]<br /><br />
<br />
[[File:Extensions-helpdesk-Hd026.jpg|Notification Job Settings]]<br />
<br />
==== Troubleshooting E-Mail Issues ====<br />
<br />
*Check if your servers are properly configured to send out mails by creating a test-newsletter and sending it to one of your mail accounts. Send it to another server than the one used for sending out the mail to make sure the mail is not getting caught in some spamfilters or lost in any black hole.<br />
*Using PHP Mail may work on well configured servers (which is not selve-evident these days, cheepo hosters are greeting). Use SMTP in case, that will work 100%.<br />
<br />
*A common mistake is to use a different domain in the notification sender address than in the mail account in the system settings. For example when your SMTP account in the system settings is <nowiki>admin@example.com</nowiki>, a notification sender address such as <nowiki>forum@banana.net</nowiki> is likely to fail because that would be "relaying" which is forbidden in well configured mail servers. Of cause there are exceptions from this rule, for example when the mail server is configured to handle both of those domains. Leave the notification sender address empty until notification works in case.<br />
*Switch the helpdesk logging to <nowiki>"debug"</nowiki> in the Contao system settings. You will find the log files at <nowiki>/system/logs/Helpdesk*.log</nowiki>. In case no log file gets created during the batch run, your directory permissions of /system/logs does not allow write access for the web server. In that case you can manually create the two files /system/logs/HelpdeskImport.log and /system/logs/HelpdeskNotify.log and give them read/write permissions for the web server (for example as chmod of 666).<br />
*For debugging it is time-consuming to always have to wait for the scheduler to run. You can disable the scheduler jobs and manually trigger the batch by calling these url's (replace <nowiki>%%www.example.com%%</nowiki> by your own url of cause): <br />
<source lang="php">%%http://www.example.com/system/modules/helpdesk/HelpdeskNotifyExec.php%%<br />
%%http://www.example.com/system/modules/helpdesk/HelpdeskImportExec.php%%</source><br />
You will most likely just see a blank page when executing, but then check the log files after execution to see the results.<br />
<br />
=== Manual upgrade from a previous version ===<br />
<br />
{{Caution|It is recommended to make backups of your files and your database before starting any upgrade.}}<br />
<br />
You can upgrade directly from any previous release, it is '''not''' necessary to install every version that was released between your old and new version of the application.<br />
<br />
It is optional to delete the files of the old version before installing a new release; you can choose to just overwrite the old files. However there might be obsolete files which will stay in your installation that way. So for a clean update I recommend to manually delete these files and folders in advance:<br />
<br />
*system/drivers/DC_HelpdeskTable.php<br />
*system/modules/helpdesk<br />
<br />
{{Caution|Do '''NOT''' delete the mysql tables and settings of the helpdesk application after removing the old files, neither with phpmyadmin nor by using the Contao install tool. Otherwise you will loose all your data and settings.}}<br />
<br />
Next the procedure is basicly the same as with a new installation from scratch:<br />
<br />
*Download the install package.<br />
*Unzip/upload to your TYPOlight base directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki> <br />
*Enter the installation password and click ''Login''<br />
*Scroll down to ''Update database tables'' <br />
*If any drops of obsolete table columns are due, they are by default unchecked. It is safe to check them now in order to have clean database. <br />
*Click on ''Update database'' to have the necessary database updates applied.<br />
<br />
{{note|After upgrading, you should read the change log to see what has changed and might need your attention.}}<br />
<br />
=== Optimizing full text search ===<br />
<br />
Full text search of mysql will by default not find any words shorter than 4 characters, or in the stopword list. <br />
<br />
To improve search I recommend to lower the minimum word length to 2, or even down to 1. In case your site is not english only, you might also want to disable the default stopword list (or apply [[http://members.unine.ch/jacques.savoy/clef/index.html|a customized one in your language]]).<br />
<br />
**Brief procedure:**<br />
<br />
* Edit the mysql configuration file<br />
* Restart the mysql server<br />
* Drop the fulltext indexes<br />
* Recreate the fulltext indexes<br />
<br />
<br />
**More detailed description (debian example):**<br />
<br />
Edit /etc/mysql/my.cnf\\<br />
Within the section **[mysqld]** edit or add the following lines:<br />
<br />
<code>#<br />
# Fulltext config<br />
#<br />
ft_min_word_len = 2<br />
ft_stopword_file = ""</code><br />
<br />
Restart mysql:<br />
<br />
/etc/init.d/mysql restart<br />
<br />
Check system vars in phpMyAdmin to make sure it worked:<br />
<br />
{{ :extensions:helpdesk:myvars1.png }}<br />
{{ :extensions:helpdesk:myvars2.png }}<br />
<br />
Drop the fulltext indexes from the tables tl_search, tl_helpdesk_tickets and tl_helpdesk_messages. Check also the tables of other installed extensions for fulltext indexes, and drop them as well:<br />
<br />
{{ :extensions:helpdesk:dropft3.png }}<br />
<br />
{{ :extensions:helpdesk:dropft1.png }}<br />
<br />
{{ :extensions:helpdesk:dropft2.png }}<br />
<br />
Use the TYPOlight installation or extension manager to recreate the indexes based on the new settings:<br />
<br />
{{ :extensions:helpdesk:makeft.png }}<br />
<br />
<br />
== Getting started ==<br />
<br />
Well this section is currently very brief. Only a few screenschots so far, but I guess you will figure out usage yourself with some TYPOlight experience. <br />
<br />
=== Create a new category ====<br />
<br />
{{extensions:helpdesk:hd111.png|Goto helpdesk structure}}<br />
<br />
{{extensions:helpdesk:hd110.png|Category overview}}<br />
<br />
{{extensions:helpdesk:hd113.png|Category editor}}<br />
{{extensions:helpdesk:hd114.png|Category editor}}<br />
{{extensions:helpdesk:hd115.png|Category editor}}<br />
{{extensions:helpdesk:hd116.png|Category editor}}<br />
{{extensions:helpdesk:hd117.png|Category editor}}<br />
<br />
=== Create a title module for the frontend ===<br />
<br />
Basicly a title module is not required, however it helps you structure your forums and helpdesks when you want to group the categories into blocks.<br />
<br />
{{extensions:helpdesk:hd118.png|Goto modules}}<br />
{{extensions:helpdesk:hd119.png|Add a module}}<br />
<br />
{{extensions:helpdesk:hd120.png|Title module settings}}<br />
{{extensions:helpdesk:hd121.png|Title module settings}}<br />
<br />
=== Create block modules for the frontend ===<br />
<br />
A forum/helpdesk block module displays a selection of categories in a block on the frontend. So the minimum to get started on frontend is one module of this type. In case you want to structure your categories you will make several of these modules:<br />
<br />
{{:extensions:helpdesk:hdblock.png|Block module settings}}</div>Lucinahttps://en.contaowiki.org/HelpdeskHelpdesk2012-02-18T14:33:16Z<p>Lucina: /* Features */</p>
<hr />
<div>{{stub}}<br />
[[de:Helpdesk]]<br />
= Forum and Helpdesk =<br />
{{Note|Parts of this documentation were created by Peter Koch / IBK Software AG. Peter Koch has licensed this content for use on contoawiki.org. Content in this page must not be copied, reproduced, republished, uploaded, posted, transmitted, distributed, or used for the creation of derivative works without IBK's prior written consent.}}<br />
{{Hint|http://web.archive.org/web/20101121033235/http://contifex.com/wiki/extensions:helpdesk}}<br />
{{Note|feel free to bring the content from the page above to our contaowiki!}} <br />
<br />
== Features ==<br />
[[File:Extensions-helpdesk-Hd130.png]]<br />
* Native Contao application; fully integrated into Contao user/member system.<br />
* Can be used as forum, as helpdesk ticketing system, or both at same time.<br />
* Both, frontend members and backend users, can be members/clients or moderators/supporters.<br />
* Multiple frontend modules with selected categories are possible; to be displayed on one or several pages, or embedded within articles.<br />
* Backend modules for configuration and forum participation.<br />
* Comprehensive and fast BBCode engine including tables, lists, several box types, syntax highlighting and more.<br />
* Popup windows for BBCode help and editor preview.<br />
* Email notification to subscribing users.<br />
* Email import to create new topics/tickets, as well as to reply to notifications.<br />
* Fully customizable layout and appearence by templates and themes.<br />
* Powerful search engine.<br />
* RSS feeds for any selection of categories.<br />
* Convenient moderator functions including cut/paste operations to move messages and topics<br />
<br />
== Abstract ==<br />
<br />
TYPOlight Forum/Helpdesk is a message board (forum) application designed to be as well used as a helpdesk ticketing system, for example to provide formal and informal support to customers or clients. The terminology and functions of the forum categories is slightly different than the support ticketing categories, but when you know the mapping you will immediately be familiar with the application:<br />
<br />
{| border="0" cellspacing="1" cellpadding="2"<br />
! !! '''Forum''' !! '''Helpdesk'''<br />
|-<br />
| Category types (1) || Restricted or public || Private, shared or public <br />
|-<br />
| Thread naming (2) || Topics || Tickets<br />
|-<br />
| Frontend users (3) || Members || Clients<br />
|-<br />
| Backend users (4) || Moderators || Supporters<br />
|-<br />
| colspan="2" |<br />
|}<br />
<br />
== Categories ==<br />
<br />
<br />
*[[File:Extensions-helpdesk-Category416.png]] '''Public Forum''': Everybody can read the forum, even non-logged in users. Only authorized members can however open topics or reply.<br />
*[[File:Extensions-helpdesk-Category316.png]] '''Restricted Forum''': The forum is visible only for authorized members.<br />
*[[File:Extensions-helpdesk-Category216.png]] '''Public Support''': Everybody can see all tickets, even non-logged in users. Only authorized clients can however open tickets or reply.<br />
*[[File:Extensions-helpdesk-Category116.png]] '''Shared Support''': All authorized clients can see and reply each others tickets, however only the owner has priviledge to close or delete his tickets. Create such a category for example for each company with a SLA((Service level agreement)) where multiple staff members shall have access to the tickets.<br />
*[[File:Extensions-helpdesk-Category016.png]] '''Private Support''': Only the ticket owner can see his tickets, but nobody else (admins and supporters authorized for the category can of course also see and reply to the tickets). Used for example for formal support of individuals.<br />
<br />
=== Topic vs. ticket status ===<br />
<br />
==== Topic status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0116.png]] '''Pinned up:''' Open topic that is listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1116.png]] '''Normal:''' A normal open topic. <br />
*[[File:Extensions-helpdesk-Ticket2116.png]] '''Closed:''' No further edits or replies are possible, listed at the end. <br />
<br />
==== Ticket status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0016.png]] '''Unanswered:''' The ticked is open and the latest post is from a client. Listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1016.png]] '''Answered:''' The ticket is open and the latest post is from a supporter. <br />
*[[File:Extensions-helpdesk-Ticket2016.png]] '''Closed:''' Issue solved. No further edits or replies are possible, the owner may reopen it however in case. Listed at the end. <br />
<br />
=== Members and Clients ===<br />
<br />
Forum members and support clients are either "frontend members" or "backend users" in terms of TYPOlight, and belong to a member/user group authorized for the respective category. The client opening a ticket has special "owner" rights in the support type categories: He has authorization to close or delete (5) his tickets.<br />
<br />
=== Admin, Moderators and Supporters ===<br />
<br />
Moderators and supporters are either TYPOlight backend users or frontend members, and belong to a user group authorized as moderator/supporter for the respective category. They have special rights to see unpublished, to pinup, edit, unpublish or delete any topic, ticket or message.<br />
<br />
Contao admins are special backend users and appear as moderator or supporter, he/she is automaticly authorized for all categories. Additionally the admins have authorization to administrative operations, e.g. create or delete categories or change category settings. Also admins are the only ones who can see unpublished categories.<br />
<br />
=== Deletion levels ===<br />
<br />
Tickets and messages are not permanently deleted, but only unpublished from frontend when a ticket owner or member/client "deletes" them. They are still available for moderators and supporters however, mainly to serve as a knowledge resource. Tickets and messages can be permanently deleted only by admins, moderators and supporters.<br />
<br />
== Installation and Setup ==<br />
<br />
=== Requirements ===<br />
<br />
*PHP from version 5.2.0<br />
*Other requirements like [[http://www.contao.org/system-requirements.html|TYPOlight]]<br />
<br />
=== Manual Installation ===<br />
<br />
*Install these required extensions in advance: [[extensions:avatar]], [[extensions:cron]], [[http://www.typolight.org/extension-list/view/geshi.en.html|geshi]]<br />
*Download the install package from [[http://www.typolight.org/extension-list/view/helpdesk.en.html|here]].<br />
*Unzip the content of TL_ROOT to the TYPOlight base directory on your webserver.<br />
*Unzip the content of TL_FILES to the tl_files directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki><br />
*Enter the installation password and click '''Login'''<br />
*Scroll down to '''Update database tables''' and click on '''Update database'''<br />
<br />
=== Site structure settings ===<br />
<br />
The page where the forum/helpdesk is located should have caching disabled, e.g:<br />
<br />
[[File:Extensions-helpdesk-Hd200.png |Cache Settings]]<br />
<br />
=== Page layout adjustment ===<br />
<br />
The module will also work without this, however it will look poor in the frontend.<br />
<br />
Go to '''Page layouts''' and change the layout for the pages that will display the forum/helpdesk. This might be a special layout you make for the forum/helpdesk pages, or the '''Default layout'''.<br />
<br />
Scroll down to '''Additional <nowiki>‹head›</nowiki> tags''' and append the following lines to whatever might allready be in there:<br />
<br />
<source lang="php"><br />
<link rel="stylesheet" <br />
href="system/modules/helpdesk/themes/default/frontend.css" <br />
type="text/css" <br />
media="screen,projection,print" /><br />
<!--[if lte IE 6]><br />
<style type="text/css"><br />
.pngfix { behavior:url("system/modules/helpdesk/themes/default/pngfix.htc") }<br />
</style><br />
<![endif]--><br />
</source><br />
<br />
== Custom themes and templates ==<br />
<br />
=== Backend themes ===<br />
<br />
To create the theme //mysite// you would first of cause create a new TYPOlight backend theme folder /system/themes/mysite and activate it in in the //Settings//. <br />
<br />
Then likewise you would create a folder system/modules/helpdesk/themes/mysite, copy the CSS files from the adjaccent //default// folder and make your adjustments to them. Please note that because of the automatic fallback it is //not// necessary to copy all the images from the //default// theme. In case you want your own icons, just create a subfolder //images// and put them in there; any icons not found there will be taken from the //default// theme.<br />
<br />
=== Frontend themes ===<br />
<br />
Copy the CSS files from system/modules/helpdesk/themes/default to your custom frontend theme folder and make the desired adjustments. Don't forget to adjust the //Page layout// as explained before to use your custom stylesheet instead of the default one.<br />
<br />
You may want to replace some or all of the default forum/helpdesk icons too. Just put your custom icons into an //images// folder below your custom theme. Then enter the path of your images folder in the helpdesk settings. Again there is a fallback built in, so any icon not found in your custom images folder will be taken from the //default// backend theme.<br />
<br />
Instead of PNG you may use GIF icons. In case both, a GIF //and// a PNG icon is found, the PNG has precedence.<br />
<br />
=== Templates ===<br />
<br />
In case you need to customize the default templates, just copy the files of interest from /system/modules/helpdesk/templates to /templates and make your adjustments. <br />
<br />
Please note that the template files are used for both, frontend //and// backend.<br />
<br />
<br />
=== "Personal data" Module ===<br />
<br />
{{note|As of TYPOlight 2.5.0 it is no longer required to edit the file ModulePersonalData.php; the hook is now included in the core file. However you still need to select the template ''member_grouped_helpdesk'' up to 2.5.9. Since TYPOlight 2.6.0 you also no longer need ''member_grouped_helpdesk'' because all necessary changes got included in ''member_grouped''.}}<br />
<br />
<br />
You may want to give your frontend members the option to subscribe themself for email noification with the ''Personal data'' module. This will work right out of the box when you are using the template ''member_default''.<br />
<br />
However when using the template ''member_grouped' you won't see the Forum/Helpdesk settings with the TYPOlight releases before 2.5.0. There is a workaround to use the grouped member display right now, which requires a small hack:<br />
<br />
Edit the file /system/modules/frontend/ModulePersonalData.php and find this code:<br />
<br />
<source lang="php">// HOOK: add newsletter fields<br />
if (in_array('newsletter', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->newsletter = $arrFields['newsletter'];<br />
$this->Template->newsletterDetails = $GLOBALS['TL_LANG']['tl_member']['newsletterDetails'];<br />
}</source><br />
<br />
Now add the following code immediately below:<br />
<br />
<source lang="php">// HOOK: add helpdesk fields<br />
if (in_array('helpdesk', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->helpdesk = $arrFields['helpdesk'];<br />
$this->Template->helpdeskDetails = $GLOBALS['TL_LANG']['tl_member']['helpdeskDetails'];<br />
}</source><br />
<br />
Finally, go to the ''Personal data'' module and select the template ''member_grouped_helpdesk''.<br />
<br />
The layout may look somewhat messy by default, here is a suggestion to add to your CSS of the respective page:<br />
<br />
<source lang="css"><br />
.mod_personalData .checkbox_container span<br />
{<br />
display:block;<br />
white-space:nowrap;<br />
}<br />
<br />
.mod_personalData .checkbox_container span *<br />
{<br />
vertical-align:middle;<br />
}<br />
</source><br />
<br />
=== Enabling RSS Feeds ===<br />
<br />
To enable RSS feeds you need to:<br />
<br />
*Make settings in each category that you want feeds for<br />
*Make global settings in the Contao settings<br />
*Add a rewrite rule to your .htaccess file<br />
*Optional: Add a link to the page header in case you want to display a feed icon in the browsers address field<br />
<br />
=== Category Settings ===<br />
<br />
In the category settings you need to enter the url of the page holding this category, plus check that RSS feeds are enabled. Repeat this for all categories where you want to have RSS feeds for:<br />
<br />
[[File:Extensions-helpdesk-Hd100.jpg|Category Settings]]<br />
<br />
=== Contao settings ===<br />
<br />
In the Contao settings enable the forum/helpdesk feeds, and then make settings for the maximum number of messages to display, the base name of the xml file (same as in the .htaccess below), the title and description of the feed. Please note that this title and description only comes into play for feeds of multiple categories, for single category feeds the title and description of the category is used:<br />
<br />
[[File:Extensions-helpdesk-Hd101.jpg|Contao Settings]]<br />
<br />
=== .htaccess Modification ===<br />
<br />
Add a rewrite rule such as below to your .htaccess file. Replace //helpdesk// by the term you defined as base name in the TYPOlight settings:<br />
<br />
<code>RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</code><br />
<br />
A typical complete .htaccess for TYPOlight 2.6.0 might be:<br />
<br />
<code><br />
# Enable mod_rewrite<br />
RewriteEngine On<br />
RewriteBase /<br />
<br />
# Block any URI protocol in the query string<br />
RewriteCond %{QUERY_STRING} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Block any URI protocol in the request<br />
RewriteCond %{REQUEST_URI} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Rewrite TYPOlight URLs<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule .*\.html$ index.php [L]<br />
<br />
# Dynamic RSS feeds for forum/helpdesk <br />
RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</code><br />
<br />
=== Add RSS icon link to page layout ===<br />
<br />
This is optional but very convenient for your users. In case you not yet have a distinct page layout for the forum/helpdesk, make a copy of the default page layout. Edit the layout and enter the following link to the //Additional head tags// input:<br />
<br />
<code><link rel="alternate" type="application/rss+xml" title="RSS" href="http://www.example.com/helpdesk0.xml" /></code><br />
<br />
Replace %%www.example.com%% by your site's url. The 0 tells to provide a feed over all categories the user has read access to. If you want to make a feed over the categories 4, 5 and 7 instead, the link would be helpdesk4,5,7.xml<br />
<br />
<br />
<br />
<br />
<br />
=== Email Import and Notification ===<br />
<br />
==== Email Settings ====<br />
<br />
To send out notifications and import email a batch program must run on a regular base. You need to install the [[extensions:cron|cron utility]] for this purpose. Below you find suggested settings for the two Forum/Helpdesk jobs. Use a time schedule that matches your needs; the samples below will execute once every minute.<br />
<br />
[[File:Extensions-helpdesk-Hd024.jpg|CRON Scheduler]]<br /><br />
<br />
[[File:Extensions-helpdesk-Hd025.jpg|Import Job Settings]]<br /><br />
<br />
[[File:Extensions-helpdesk-Hd026.jpg|Notification Job Settings]]<br />
<br />
==== Troubleshooting E-Mail Issues ====<br />
<br />
*Check if your servers are properly configured to send out mails by creating a test-newsletter and sending it to one of your mail accounts. Send it to another server than the one used for sending out the mail to make sure the mail is not getting caught in some spamfilters or lost in any black hole.<br />
*Using PHP Mail may work on well configured servers (which is not selve-evident these days, cheepo hosters are greeting). Use SMTP in case, that will work 100%.<br />
<br />
*A common mistake is to use a different domain in the notification sender address than in the mail account in the system settings. For example when your SMTP account in the system settings is <nowiki>admin@example.com</nowiki>, a notification sender address such as <nowiki>forum@banana.net</nowiki> is likely to fail because that would be "relaying" which is forbidden in well configured mail servers. Of cause there are exceptions from this rule, for example when the mail server is configured to handle both of those domains. Leave the notification sender address empty until notification works in case.<br />
*Switch the helpdesk logging to <nowiki>"debug"</nowiki> in the Contao system settings. You will find the log files at <nowiki>/system/logs/Helpdesk*.log</nowiki>. In case no log file gets created during the batch run, your directory permissions of /system/logs does not allow write access for the web server. In that case you can manually create the two files /system/logs/HelpdeskImport.log and /system/logs/HelpdeskNotify.log and give them read/write permissions for the web server (for example as chmod of 666).<br />
*For debugging it is time-consuming to always have to wait for the scheduler to run. You can disable the scheduler jobs and manually trigger the batch by calling these url's (replace <nowiki>%%www.example.com%%</nowiki> by your own url of cause): <br />
<source lang="php">%%http://www.example.com/system/modules/helpdesk/HelpdeskNotifyExec.php%%<br />
%%http://www.example.com/system/modules/helpdesk/HelpdeskImportExec.php%%</source><br />
You will most likely just see a blank page when executing, but then check the log files after execution to see the results.<br />
<br />
=== Manual upgrade from a previous version ===<br />
<br />
{{Caution|It is recommended to make backups of your files and your database before starting any upgrade.}}<br />
<br />
You can upgrade directly from any previous release, it is '''not''' necessary to install every version that was released between your old and new version of the application.<br />
<br />
It is optional to delete the files of the old version before installing a new release; you can choose to just overwrite the old files. However there might be obsolete files which will stay in your installation that way. So for a clean update I recommend to manually delete these files and folders in advance:<br />
<br />
*system/drivers/DC_HelpdeskTable.php<br />
*system/modules/helpdesk<br />
<br />
{{Caution|Do '''NOT''' delete the mysql tables and settings of the helpdesk application after removing the old files, neither with phpmyadmin nor by using the Contao install tool. Otherwise you will loose all your data and settings.}}<br />
<br />
Next the procedure is basicly the same as with a new installation from scratch:<br />
<br />
*Download the install package.<br />
*Unzip/upload to your TYPOlight base directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki> <br />
*Enter the installation password and click ''Login''<br />
*Scroll down to ''Update database tables'' <br />
*If any drops of obsolete table columns are due, they are by default unchecked. It is safe to check them now in order to have clean database. <br />
*Click on ''Update database'' to have the necessary database updates applied.<br />
<br />
{{note|After upgrading, you should read the change log to see what has changed and might need your attention.}}<br />
<br />
=== Optimizing full text search ===<br />
<br />
Full text search of mysql will by default not find any words shorter than 4 characters, or in the stopword list. <br />
<br />
To improve search I recommend to lower the minimum word length to 2, or even down to 1. In case your site is not english only, you might also want to disable the default stopword list (or apply [[http://members.unine.ch/jacques.savoy/clef/index.html|a customized one in your language]]).<br />
<br />
**Brief procedure:**<br />
<br />
* Edit the mysql configuration file<br />
* Restart the mysql server<br />
* Drop the fulltext indexes<br />
* Recreate the fulltext indexes<br />
<br />
<br />
**More detailed description (debian example):**<br />
<br />
Edit /etc/mysql/my.cnf\\<br />
Within the section **[mysqld]** edit or add the following lines:<br />
<br />
<code>#<br />
# Fulltext config<br />
#<br />
ft_min_word_len = 2<br />
ft_stopword_file = ""</code><br />
<br />
Restart mysql:<br />
<br />
/etc/init.d/mysql restart<br />
<br />
Check system vars in phpMyAdmin to make sure it worked:<br />
<br />
{{ :extensions:helpdesk:myvars1.png }}<br />
{{ :extensions:helpdesk:myvars2.png }}<br />
<br />
Drop the fulltext indexes from the tables tl_search, tl_helpdesk_tickets and tl_helpdesk_messages. Check also the tables of other installed extensions for fulltext indexes, and drop them as well:<br />
<br />
{{ :extensions:helpdesk:dropft3.png }}<br />
<br />
{{ :extensions:helpdesk:dropft1.png }}<br />
<br />
{{ :extensions:helpdesk:dropft2.png }}<br />
<br />
Use the TYPOlight installation or extension manager to recreate the indexes based on the new settings:<br />
<br />
{{ :extensions:helpdesk:makeft.png }}<br />
<br />
<br />
== Getting started ==<br />
<br />
Well this section is currently very brief. Only a few screenschots so far, but I guess you will figure out usage yourself with some TYPOlight experience. <br />
<br />
=== Create a new category ====<br />
<br />
{{extensions:helpdesk:hd111.png|Goto helpdesk structure}}<br />
<br />
{{extensions:helpdesk:hd110.png|Category overview}}<br />
<br />
{{extensions:helpdesk:hd113.png|Category editor}}<br />
{{extensions:helpdesk:hd114.png|Category editor}}<br />
{{extensions:helpdesk:hd115.png|Category editor}}<br />
{{extensions:helpdesk:hd116.png|Category editor}}<br />
{{extensions:helpdesk:hd117.png|Category editor}}<br />
<br />
=== Create a title module for the frontend ===<br />
<br />
Basicly a title module is not required, however it helps you structure your forums and helpdesks when you want to group the categories into blocks.<br />
<br />
{{extensions:helpdesk:hd118.png|Goto modules}}<br />
{{extensions:helpdesk:hd119.png|Add a module}}<br />
<br />
{{extensions:helpdesk:hd120.png|Title module settings}}<br />
{{extensions:helpdesk:hd121.png|Title module settings}}<br />
<br />
=== Create block modules for the frontend ===<br />
<br />
A forum/helpdesk block module displays a selection of categories in a block on the frontend. So the minimum to get started on frontend is one module of this type. In case you want to structure your categories you will make several of these modules:<br />
<br />
{{:extensions:helpdesk:hdblock.png|Block module settings}}</div>Lucinahttps://en.contaowiki.org/HelpdeskHelpdesk2012-02-18T14:29:35Z<p>Lucina: /* Email Settings */</p>
<hr />
<div>{{stub}}<br />
[[de:Helpdesk]]<br />
= Forum and Helpdesk =<br />
{{Note|Parts of this documentation were created by Peter Koch / IBK Software AG. Peter Koch has licensed this content for use on contoawiki.org. Content in this page must not be copied, reproduced, republished, uploaded, posted, transmitted, distributed, or used for the creation of derivative works without IBK's prior written consent.}}<br />
{{Hint|http://web.archive.org/web/20101121033235/http://contifex.com/wiki/extensions:helpdesk}}<br />
{{Note|feel free to bring the content from the page above to our contaowiki!}} <br />
<br />
== Features ==<br />
[[File:Extensions-helpdesk-Hd130.png]]<br />
* Native TYPOlight application; fully integrated into TYPOlight user/member system.<br />
* Can be used as forum, as helpdesk ticketing system, or both at same time.<br />
* Both, frontend members and backend users, can be members/clients or moderators/supporters.<br />
* Multiple frontend modules with selected categories are possible; to be displayed on one or several pages, or embedded within articles.<br />
* Backend modules for configuration and forum participation.<br />
* Comprehensive and fast BBCode engine including tables, lists, several box types, syntax highlighting and more.<br />
* Popup windows for BBCode help and editor preview.<br />
* Email notification to subscribing users.<br />
* Email import to create new topics/tickets, as well as to reply to notifications.<br />
* Fully customizable layout and appearence by templates and themes.<br />
* Powerful search engine.<br />
* RSS feeds for any selection of categories.<br />
* Convenient moderator functions including cut/paste operations to move messages and topics<br />
<br />
<br />
== Abstract ==<br />
<br />
TYPOlight Forum/Helpdesk is a message board (forum) application designed to be as well used as a helpdesk ticketing system, for example to provide formal and informal support to customers or clients. The terminology and functions of the forum categories is slightly different than the support ticketing categories, but when you know the mapping you will immediately be familiar with the application:<br />
<br />
{| border="0" cellspacing="1" cellpadding="2"<br />
! !! '''Forum''' !! '''Helpdesk'''<br />
|-<br />
| Category types (1) || Restricted or public || Private, shared or public <br />
|-<br />
| Thread naming (2) || Topics || Tickets<br />
|-<br />
| Frontend users (3) || Members || Clients<br />
|-<br />
| Backend users (4) || Moderators || Supporters<br />
|-<br />
| colspan="2" |<br />
|}<br />
<br />
== Categories ==<br />
<br />
<br />
*[[File:Extensions-helpdesk-Category416.png]] '''Public Forum''': Everybody can read the forum, even non-logged in users. Only authorized members can however open topics or reply.<br />
*[[File:Extensions-helpdesk-Category316.png]] '''Restricted Forum''': The forum is visible only for authorized members.<br />
*[[File:Extensions-helpdesk-Category216.png]] '''Public Support''': Everybody can see all tickets, even non-logged in users. Only authorized clients can however open tickets or reply.<br />
*[[File:Extensions-helpdesk-Category116.png]] '''Shared Support''': All authorized clients can see and reply each others tickets, however only the owner has priviledge to close or delete his tickets. Create such a category for example for each company with a SLA((Service level agreement)) where multiple staff members shall have access to the tickets.<br />
*[[File:Extensions-helpdesk-Category016.png]] '''Private Support''': Only the ticket owner can see his tickets, but nobody else (admins and supporters authorized for the category can of course also see and reply to the tickets). Used for example for formal support of individuals.<br />
<br />
=== Topic vs. ticket status ===<br />
<br />
==== Topic status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0116.png]] '''Pinned up:''' Open topic that is listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1116.png]] '''Normal:''' A normal open topic. <br />
*[[File:Extensions-helpdesk-Ticket2116.png]] '''Closed:''' No further edits or replies are possible, listed at the end. <br />
<br />
==== Ticket status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0016.png]] '''Unanswered:''' The ticked is open and the latest post is from a client. Listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1016.png]] '''Answered:''' The ticket is open and the latest post is from a supporter. <br />
*[[File:Extensions-helpdesk-Ticket2016.png]] '''Closed:''' Issue solved. No further edits or replies are possible, the owner may reopen it however in case. Listed at the end. <br />
<br />
=== Members and Clients ===<br />
<br />
Forum members and support clients are either "frontend members" or "backend users" in terms of TYPOlight, and belong to a member/user group authorized for the respective category. The client opening a ticket has special "owner" rights in the support type categories: He has authorization to close or delete (5) his tickets.<br />
<br />
=== Admin, Moderators and Supporters ===<br />
<br />
Moderators and supporters are either TYPOlight backend users or frontend members, and belong to a user group authorized as moderator/supporter for the respective category. They have special rights to see unpublished, to pinup, edit, unpublish or delete any topic, ticket or message.<br />
<br />
Contao admins are special backend users and appear as moderator or supporter, he/she is automaticly authorized for all categories. Additionally the admins have authorization to administrative operations, e.g. create or delete categories or change category settings. Also admins are the only ones who can see unpublished categories.<br />
<br />
=== Deletion levels ===<br />
<br />
Tickets and messages are not permanently deleted, but only unpublished from frontend when a ticket owner or member/client "deletes" them. They are still available for moderators and supporters however, mainly to serve as a knowledge resource. Tickets and messages can be permanently deleted only by admins, moderators and supporters.<br />
<br />
== Installation and Setup ==<br />
<br />
=== Requirements ===<br />
<br />
*PHP from version 5.2.0<br />
*Other requirements like [[http://www.contao.org/system-requirements.html|TYPOlight]]<br />
<br />
=== Manual Installation ===<br />
<br />
*Install these required extensions in advance: [[extensions:avatar]], [[extensions:cron]], [[http://www.typolight.org/extension-list/view/geshi.en.html|geshi]]<br />
*Download the install package from [[http://www.typolight.org/extension-list/view/helpdesk.en.html|here]].<br />
*Unzip the content of TL_ROOT to the TYPOlight base directory on your webserver.<br />
*Unzip the content of TL_FILES to the tl_files directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki><br />
*Enter the installation password and click '''Login'''<br />
*Scroll down to '''Update database tables''' and click on '''Update database'''<br />
<br />
=== Site structure settings ===<br />
<br />
The page where the forum/helpdesk is located should have caching disabled, e.g:<br />
<br />
[[File:Extensions-helpdesk-Hd200.png |Cache Settings]]<br />
<br />
=== Page layout adjustment ===<br />
<br />
The module will also work without this, however it will look poor in the frontend.<br />
<br />
Go to '''Page layouts''' and change the layout for the pages that will display the forum/helpdesk. This might be a special layout you make for the forum/helpdesk pages, or the '''Default layout'''.<br />
<br />
Scroll down to '''Additional <nowiki>‹head›</nowiki> tags''' and append the following lines to whatever might allready be in there:<br />
<br />
<source lang="php"><br />
<link rel="stylesheet" <br />
href="system/modules/helpdesk/themes/default/frontend.css" <br />
type="text/css" <br />
media="screen,projection,print" /><br />
<!--[if lte IE 6]><br />
<style type="text/css"><br />
.pngfix { behavior:url("system/modules/helpdesk/themes/default/pngfix.htc") }<br />
</style><br />
<![endif]--><br />
</source><br />
<br />
== Custom themes and templates ==<br />
<br />
=== Backend themes ===<br />
<br />
To create the theme //mysite// you would first of cause create a new TYPOlight backend theme folder /system/themes/mysite and activate it in in the //Settings//. <br />
<br />
Then likewise you would create a folder system/modules/helpdesk/themes/mysite, copy the CSS files from the adjaccent //default// folder and make your adjustments to them. Please note that because of the automatic fallback it is //not// necessary to copy all the images from the //default// theme. In case you want your own icons, just create a subfolder //images// and put them in there; any icons not found there will be taken from the //default// theme.<br />
<br />
=== Frontend themes ===<br />
<br />
Copy the CSS files from system/modules/helpdesk/themes/default to your custom frontend theme folder and make the desired adjustments. Don't forget to adjust the //Page layout// as explained before to use your custom stylesheet instead of the default one.<br />
<br />
You may want to replace some or all of the default forum/helpdesk icons too. Just put your custom icons into an //images// folder below your custom theme. Then enter the path of your images folder in the helpdesk settings. Again there is a fallback built in, so any icon not found in your custom images folder will be taken from the //default// backend theme.<br />
<br />
Instead of PNG you may use GIF icons. In case both, a GIF //and// a PNG icon is found, the PNG has precedence.<br />
<br />
=== Templates ===<br />
<br />
In case you need to customize the default templates, just copy the files of interest from /system/modules/helpdesk/templates to /templates and make your adjustments. <br />
<br />
Please note that the template files are used for both, frontend //and// backend.<br />
<br />
<br />
=== "Personal data" Module ===<br />
<br />
{{note|As of TYPOlight 2.5.0 it is no longer required to edit the file ModulePersonalData.php; the hook is now included in the core file. However you still need to select the template ''member_grouped_helpdesk'' up to 2.5.9. Since TYPOlight 2.6.0 you also no longer need ''member_grouped_helpdesk'' because all necessary changes got included in ''member_grouped''.}}<br />
<br />
<br />
You may want to give your frontend members the option to subscribe themself for email noification with the ''Personal data'' module. This will work right out of the box when you are using the template ''member_default''.<br />
<br />
However when using the template ''member_grouped' you won't see the Forum/Helpdesk settings with the TYPOlight releases before 2.5.0. There is a workaround to use the grouped member display right now, which requires a small hack:<br />
<br />
Edit the file /system/modules/frontend/ModulePersonalData.php and find this code:<br />
<br />
<source lang="php">// HOOK: add newsletter fields<br />
if (in_array('newsletter', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->newsletter = $arrFields['newsletter'];<br />
$this->Template->newsletterDetails = $GLOBALS['TL_LANG']['tl_member']['newsletterDetails'];<br />
}</source><br />
<br />
Now add the following code immediately below:<br />
<br />
<source lang="php">// HOOK: add helpdesk fields<br />
if (in_array('helpdesk', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->helpdesk = $arrFields['helpdesk'];<br />
$this->Template->helpdeskDetails = $GLOBALS['TL_LANG']['tl_member']['helpdeskDetails'];<br />
}</source><br />
<br />
Finally, go to the ''Personal data'' module and select the template ''member_grouped_helpdesk''.<br />
<br />
The layout may look somewhat messy by default, here is a suggestion to add to your CSS of the respective page:<br />
<br />
<source lang="css"><br />
.mod_personalData .checkbox_container span<br />
{<br />
display:block;<br />
white-space:nowrap;<br />
}<br />
<br />
.mod_personalData .checkbox_container span *<br />
{<br />
vertical-align:middle;<br />
}<br />
</source><br />
<br />
=== Enabling RSS Feeds ===<br />
<br />
To enable RSS feeds you need to:<br />
<br />
*Make settings in each category that you want feeds for<br />
*Make global settings in the Contao settings<br />
*Add a rewrite rule to your .htaccess file<br />
*Optional: Add a link to the page header in case you want to display a feed icon in the browsers address field<br />
<br />
=== Category Settings ===<br />
<br />
In the category settings you need to enter the url of the page holding this category, plus check that RSS feeds are enabled. Repeat this for all categories where you want to have RSS feeds for:<br />
<br />
[[File:Extensions-helpdesk-Hd100.jpg|Category Settings]]<br />
<br />
=== Contao settings ===<br />
<br />
In the Contao settings enable the forum/helpdesk feeds, and then make settings for the maximum number of messages to display, the base name of the xml file (same as in the .htaccess below), the title and description of the feed. Please note that this title and description only comes into play for feeds of multiple categories, for single category feeds the title and description of the category is used:<br />
<br />
[[File:Extensions-helpdesk-Hd101.jpg|Contao Settings]]<br />
<br />
=== .htaccess Modification ===<br />
<br />
Add a rewrite rule such as below to your .htaccess file. Replace //helpdesk// by the term you defined as base name in the TYPOlight settings:<br />
<br />
<code>RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</code><br />
<br />
A typical complete .htaccess for TYPOlight 2.6.0 might be:<br />
<br />
<code><br />
# Enable mod_rewrite<br />
RewriteEngine On<br />
RewriteBase /<br />
<br />
# Block any URI protocol in the query string<br />
RewriteCond %{QUERY_STRING} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Block any URI protocol in the request<br />
RewriteCond %{REQUEST_URI} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Rewrite TYPOlight URLs<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule .*\.html$ index.php [L]<br />
<br />
# Dynamic RSS feeds for forum/helpdesk <br />
RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</code><br />
<br />
=== Add RSS icon link to page layout ===<br />
<br />
This is optional but very convenient for your users. In case you not yet have a distinct page layout for the forum/helpdesk, make a copy of the default page layout. Edit the layout and enter the following link to the //Additional head tags// input:<br />
<br />
<code><link rel="alternate" type="application/rss+xml" title="RSS" href="http://www.example.com/helpdesk0.xml" /></code><br />
<br />
Replace %%www.example.com%% by your site's url. The 0 tells to provide a feed over all categories the user has read access to. If you want to make a feed over the categories 4, 5 and 7 instead, the link would be helpdesk4,5,7.xml<br />
<br />
<br />
<br />
<br />
<br />
=== Email Import and Notification ===<br />
<br />
==== Email Settings ====<br />
<br />
To send out notifications and import email a batch program must run on a regular base. You need to install the [[extensions:cron|cron utility]] for this purpose. Below you find suggested settings for the two Forum/Helpdesk jobs. Use a time schedule that matches your needs; the samples below will execute once every minute.<br />
<br />
[[File:Extensions-helpdesk-Hd024.jpg|CRON Scheduler]]<br /><br />
<br />
[[File:Extensions-helpdesk-Hd025.jpg|Import Job Settings]]<br /><br />
<br />
[[File:Extensions-helpdesk-Hd026.jpg|Notification Job Settings]]<br />
<br />
==== Troubleshooting E-Mail Issues ====<br />
<br />
*Check if your servers are properly configured to send out mails by creating a test-newsletter and sending it to one of your mail accounts. Send it to another server than the one used for sending out the mail to make sure the mail is not getting caught in some spamfilters or lost in any black hole.<br />
*Using PHP Mail may work on well configured servers (which is not selve-evident these days, cheepo hosters are greeting). Use SMTP in case, that will work 100%.<br />
<br />
*A common mistake is to use a different domain in the notification sender address than in the mail account in the system settings. For example when your SMTP account in the system settings is <nowiki>admin@example.com</nowiki>, a notification sender address such as <nowiki>forum@banana.net</nowiki> is likely to fail because that would be "relaying" which is forbidden in well configured mail servers. Of cause there are exceptions from this rule, for example when the mail server is configured to handle both of those domains. Leave the notification sender address empty until notification works in case.<br />
*Switch the helpdesk logging to <nowiki>"debug"</nowiki> in the Contao system settings. You will find the log files at <nowiki>/system/logs/Helpdesk*.log</nowiki>. In case no log file gets created during the batch run, your directory permissions of /system/logs does not allow write access for the web server. In that case you can manually create the two files /system/logs/HelpdeskImport.log and /system/logs/HelpdeskNotify.log and give them read/write permissions for the web server (for example as chmod of 666).<br />
*For debugging it is time-consuming to always have to wait for the scheduler to run. You can disable the scheduler jobs and manually trigger the batch by calling these url's (replace <nowiki>%%www.example.com%%</nowiki> by your own url of cause): <br />
<source lang="php">%%http://www.example.com/system/modules/helpdesk/HelpdeskNotifyExec.php%%<br />
%%http://www.example.com/system/modules/helpdesk/HelpdeskImportExec.php%%</source><br />
You will most likely just see a blank page when executing, but then check the log files after execution to see the results.<br />
<br />
=== Manual upgrade from a previous version ===<br />
<br />
{{Caution|It is recommended to make backups of your files and your database before starting any upgrade.}}<br />
<br />
You can upgrade directly from any previous release, it is '''not''' necessary to install every version that was released between your old and new version of the application.<br />
<br />
It is optional to delete the files of the old version before installing a new release; you can choose to just overwrite the old files. However there might be obsolete files which will stay in your installation that way. So for a clean update I recommend to manually delete these files and folders in advance:<br />
<br />
*system/drivers/DC_HelpdeskTable.php<br />
*system/modules/helpdesk<br />
<br />
{{Caution|Do '''NOT''' delete the mysql tables and settings of the helpdesk application after removing the old files, neither with phpmyadmin nor by using the Contao install tool. Otherwise you will loose all your data and settings.}}<br />
<br />
Next the procedure is basicly the same as with a new installation from scratch:<br />
<br />
*Download the install package.<br />
*Unzip/upload to your TYPOlight base directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki> <br />
*Enter the installation password and click ''Login''<br />
*Scroll down to ''Update database tables'' <br />
*If any drops of obsolete table columns are due, they are by default unchecked. It is safe to check them now in order to have clean database. <br />
*Click on ''Update database'' to have the necessary database updates applied.<br />
<br />
{{note|After upgrading, you should read the change log to see what has changed and might need your attention.}}<br />
<br />
=== Optimizing full text search ===<br />
<br />
Full text search of mysql will by default not find any words shorter than 4 characters, or in the stopword list. <br />
<br />
To improve search I recommend to lower the minimum word length to 2, or even down to 1. In case your site is not english only, you might also want to disable the default stopword list (or apply [[http://members.unine.ch/jacques.savoy/clef/index.html|a customized one in your language]]).<br />
<br />
**Brief procedure:**<br />
<br />
* Edit the mysql configuration file<br />
* Restart the mysql server<br />
* Drop the fulltext indexes<br />
* Recreate the fulltext indexes<br />
<br />
<br />
**More detailed description (debian example):**<br />
<br />
Edit /etc/mysql/my.cnf\\<br />
Within the section **[mysqld]** edit or add the following lines:<br />
<br />
<code>#<br />
# Fulltext config<br />
#<br />
ft_min_word_len = 2<br />
ft_stopword_file = ""</code><br />
<br />
Restart mysql:<br />
<br />
/etc/init.d/mysql restart<br />
<br />
Check system vars in phpMyAdmin to make sure it worked:<br />
<br />
{{ :extensions:helpdesk:myvars1.png }}<br />
{{ :extensions:helpdesk:myvars2.png }}<br />
<br />
Drop the fulltext indexes from the tables tl_search, tl_helpdesk_tickets and tl_helpdesk_messages. Check also the tables of other installed extensions for fulltext indexes, and drop them as well:<br />
<br />
{{ :extensions:helpdesk:dropft3.png }}<br />
<br />
{{ :extensions:helpdesk:dropft1.png }}<br />
<br />
{{ :extensions:helpdesk:dropft2.png }}<br />
<br />
Use the TYPOlight installation or extension manager to recreate the indexes based on the new settings:<br />
<br />
{{ :extensions:helpdesk:makeft.png }}<br />
<br />
<br />
== Getting started ==<br />
<br />
Well this section is currently very brief. Only a few screenschots so far, but I guess you will figure out usage yourself with some TYPOlight experience. <br />
<br />
=== Create a new category ====<br />
<br />
{{extensions:helpdesk:hd111.png|Goto helpdesk structure}}<br />
<br />
{{extensions:helpdesk:hd110.png|Category overview}}<br />
<br />
{{extensions:helpdesk:hd113.png|Category editor}}<br />
{{extensions:helpdesk:hd114.png|Category editor}}<br />
{{extensions:helpdesk:hd115.png|Category editor}}<br />
{{extensions:helpdesk:hd116.png|Category editor}}<br />
{{extensions:helpdesk:hd117.png|Category editor}}<br />
<br />
=== Create a title module for the frontend ===<br />
<br />
Basicly a title module is not required, however it helps you structure your forums and helpdesks when you want to group the categories into blocks.<br />
<br />
{{extensions:helpdesk:hd118.png|Goto modules}}<br />
{{extensions:helpdesk:hd119.png|Add a module}}<br />
<br />
{{extensions:helpdesk:hd120.png|Title module settings}}<br />
{{extensions:helpdesk:hd121.png|Title module settings}}<br />
<br />
=== Create block modules for the frontend ===<br />
<br />
A forum/helpdesk block module displays a selection of categories in a block on the frontend. So the minimum to get started on frontend is one module of this type. In case you want to structure your categories you will make several of these modules:<br />
<br />
{{:extensions:helpdesk:hdblock.png|Block module settings}}</div>Lucinahttps://en.contaowiki.org/HelpdeskHelpdesk2012-02-18T14:28:55Z<p>Lucina: /* images added */</p>
<hr />
<div>{{stub}}<br />
[[de:Helpdesk]]<br />
= Forum and Helpdesk =<br />
{{Note|Parts of this documentation were created by Peter Koch / IBK Software AG. Peter Koch has licensed this content for use on contoawiki.org. Content in this page must not be copied, reproduced, republished, uploaded, posted, transmitted, distributed, or used for the creation of derivative works without IBK's prior written consent.}}<br />
{{Hint|http://web.archive.org/web/20101121033235/http://contifex.com/wiki/extensions:helpdesk}}<br />
{{Note|feel free to bring the content from the page above to our contaowiki!}} <br />
<br />
== Features ==<br />
[[File:Extensions-helpdesk-Hd130.png]]<br />
* Native TYPOlight application; fully integrated into TYPOlight user/member system.<br />
* Can be used as forum, as helpdesk ticketing system, or both at same time.<br />
* Both, frontend members and backend users, can be members/clients or moderators/supporters.<br />
* Multiple frontend modules with selected categories are possible; to be displayed on one or several pages, or embedded within articles.<br />
* Backend modules for configuration and forum participation.<br />
* Comprehensive and fast BBCode engine including tables, lists, several box types, syntax highlighting and more.<br />
* Popup windows for BBCode help and editor preview.<br />
* Email notification to subscribing users.<br />
* Email import to create new topics/tickets, as well as to reply to notifications.<br />
* Fully customizable layout and appearence by templates and themes.<br />
* Powerful search engine.<br />
* RSS feeds for any selection of categories.<br />
* Convenient moderator functions including cut/paste operations to move messages and topics<br />
<br />
<br />
== Abstract ==<br />
<br />
TYPOlight Forum/Helpdesk is a message board (forum) application designed to be as well used as a helpdesk ticketing system, for example to provide formal and informal support to customers or clients. The terminology and functions of the forum categories is slightly different than the support ticketing categories, but when you know the mapping you will immediately be familiar with the application:<br />
<br />
{| border="0" cellspacing="1" cellpadding="2"<br />
! !! '''Forum''' !! '''Helpdesk'''<br />
|-<br />
| Category types (1) || Restricted or public || Private, shared or public <br />
|-<br />
| Thread naming (2) || Topics || Tickets<br />
|-<br />
| Frontend users (3) || Members || Clients<br />
|-<br />
| Backend users (4) || Moderators || Supporters<br />
|-<br />
| colspan="2" |<br />
|}<br />
<br />
== Categories ==<br />
<br />
<br />
*[[File:Extensions-helpdesk-Category416.png]] '''Public Forum''': Everybody can read the forum, even non-logged in users. Only authorized members can however open topics or reply.<br />
*[[File:Extensions-helpdesk-Category316.png]] '''Restricted Forum''': The forum is visible only for authorized members.<br />
*[[File:Extensions-helpdesk-Category216.png]] '''Public Support''': Everybody can see all tickets, even non-logged in users. Only authorized clients can however open tickets or reply.<br />
*[[File:Extensions-helpdesk-Category116.png]] '''Shared Support''': All authorized clients can see and reply each others tickets, however only the owner has priviledge to close or delete his tickets. Create such a category for example for each company with a SLA((Service level agreement)) where multiple staff members shall have access to the tickets.<br />
*[[File:Extensions-helpdesk-Category016.png]] '''Private Support''': Only the ticket owner can see his tickets, but nobody else (admins and supporters authorized for the category can of course also see and reply to the tickets). Used for example for formal support of individuals.<br />
<br />
=== Topic vs. ticket status ===<br />
<br />
==== Topic status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0116.png]] '''Pinned up:''' Open topic that is listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1116.png]] '''Normal:''' A normal open topic. <br />
*[[File:Extensions-helpdesk-Ticket2116.png]] '''Closed:''' No further edits or replies are possible, listed at the end. <br />
<br />
==== Ticket status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0016.png]] '''Unanswered:''' The ticked is open and the latest post is from a client. Listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1016.png]] '''Answered:''' The ticket is open and the latest post is from a supporter. <br />
*[[File:Extensions-helpdesk-Ticket2016.png]] '''Closed:''' Issue solved. No further edits or replies are possible, the owner may reopen it however in case. Listed at the end. <br />
<br />
=== Members and Clients ===<br />
<br />
Forum members and support clients are either "frontend members" or "backend users" in terms of TYPOlight, and belong to a member/user group authorized for the respective category. The client opening a ticket has special "owner" rights in the support type categories: He has authorization to close or delete (5) his tickets.<br />
<br />
=== Admin, Moderators and Supporters ===<br />
<br />
Moderators and supporters are either TYPOlight backend users or frontend members, and belong to a user group authorized as moderator/supporter for the respective category. They have special rights to see unpublished, to pinup, edit, unpublish or delete any topic, ticket or message.<br />
<br />
Contao admins are special backend users and appear as moderator or supporter, he/she is automaticly authorized for all categories. Additionally the admins have authorization to administrative operations, e.g. create or delete categories or change category settings. Also admins are the only ones who can see unpublished categories.<br />
<br />
=== Deletion levels ===<br />
<br />
Tickets and messages are not permanently deleted, but only unpublished from frontend when a ticket owner or member/client "deletes" them. They are still available for moderators and supporters however, mainly to serve as a knowledge resource. Tickets and messages can be permanently deleted only by admins, moderators and supporters.<br />
<br />
== Installation and Setup ==<br />
<br />
=== Requirements ===<br />
<br />
*PHP from version 5.2.0<br />
*Other requirements like [[http://www.contao.org/system-requirements.html|TYPOlight]]<br />
<br />
=== Manual Installation ===<br />
<br />
*Install these required extensions in advance: [[extensions:avatar]], [[extensions:cron]], [[http://www.typolight.org/extension-list/view/geshi.en.html|geshi]]<br />
*Download the install package from [[http://www.typolight.org/extension-list/view/helpdesk.en.html|here]].<br />
*Unzip the content of TL_ROOT to the TYPOlight base directory on your webserver.<br />
*Unzip the content of TL_FILES to the tl_files directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki><br />
*Enter the installation password and click '''Login'''<br />
*Scroll down to '''Update database tables''' and click on '''Update database'''<br />
<br />
=== Site structure settings ===<br />
<br />
The page where the forum/helpdesk is located should have caching disabled, e.g:<br />
<br />
[[File:Extensions-helpdesk-Hd200.png |Cache Settings]]<br />
<br />
=== Page layout adjustment ===<br />
<br />
The module will also work without this, however it will look poor in the frontend.<br />
<br />
Go to '''Page layouts''' and change the layout for the pages that will display the forum/helpdesk. This might be a special layout you make for the forum/helpdesk pages, or the '''Default layout'''.<br />
<br />
Scroll down to '''Additional <nowiki>‹head›</nowiki> tags''' and append the following lines to whatever might allready be in there:<br />
<br />
<source lang="php"><br />
<link rel="stylesheet" <br />
href="system/modules/helpdesk/themes/default/frontend.css" <br />
type="text/css" <br />
media="screen,projection,print" /><br />
<!--[if lte IE 6]><br />
<style type="text/css"><br />
.pngfix { behavior:url("system/modules/helpdesk/themes/default/pngfix.htc") }<br />
</style><br />
<![endif]--><br />
</source><br />
<br />
== Custom themes and templates ==<br />
<br />
=== Backend themes ===<br />
<br />
To create the theme //mysite// you would first of cause create a new TYPOlight backend theme folder /system/themes/mysite and activate it in in the //Settings//. <br />
<br />
Then likewise you would create a folder system/modules/helpdesk/themes/mysite, copy the CSS files from the adjaccent //default// folder and make your adjustments to them. Please note that because of the automatic fallback it is //not// necessary to copy all the images from the //default// theme. In case you want your own icons, just create a subfolder //images// and put them in there; any icons not found there will be taken from the //default// theme.<br />
<br />
=== Frontend themes ===<br />
<br />
Copy the CSS files from system/modules/helpdesk/themes/default to your custom frontend theme folder and make the desired adjustments. Don't forget to adjust the //Page layout// as explained before to use your custom stylesheet instead of the default one.<br />
<br />
You may want to replace some or all of the default forum/helpdesk icons too. Just put your custom icons into an //images// folder below your custom theme. Then enter the path of your images folder in the helpdesk settings. Again there is a fallback built in, so any icon not found in your custom images folder will be taken from the //default// backend theme.<br />
<br />
Instead of PNG you may use GIF icons. In case both, a GIF //and// a PNG icon is found, the PNG has precedence.<br />
<br />
=== Templates ===<br />
<br />
In case you need to customize the default templates, just copy the files of interest from /system/modules/helpdesk/templates to /templates and make your adjustments. <br />
<br />
Please note that the template files are used for both, frontend //and// backend.<br />
<br />
<br />
=== "Personal data" Module ===<br />
<br />
{{note|As of TYPOlight 2.5.0 it is no longer required to edit the file ModulePersonalData.php; the hook is now included in the core file. However you still need to select the template ''member_grouped_helpdesk'' up to 2.5.9. Since TYPOlight 2.6.0 you also no longer need ''member_grouped_helpdesk'' because all necessary changes got included in ''member_grouped''.}}<br />
<br />
<br />
You may want to give your frontend members the option to subscribe themself for email noification with the ''Personal data'' module. This will work right out of the box when you are using the template ''member_default''.<br />
<br />
However when using the template ''member_grouped' you won't see the Forum/Helpdesk settings with the TYPOlight releases before 2.5.0. There is a workaround to use the grouped member display right now, which requires a small hack:<br />
<br />
Edit the file /system/modules/frontend/ModulePersonalData.php and find this code:<br />
<br />
<source lang="php">// HOOK: add newsletter fields<br />
if (in_array('newsletter', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->newsletter = $arrFields['newsletter'];<br />
$this->Template->newsletterDetails = $GLOBALS['TL_LANG']['tl_member']['newsletterDetails'];<br />
}</source><br />
<br />
Now add the following code immediately below:<br />
<br />
<source lang="php">// HOOK: add helpdesk fields<br />
if (in_array('helpdesk', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->helpdesk = $arrFields['helpdesk'];<br />
$this->Template->helpdeskDetails = $GLOBALS['TL_LANG']['tl_member']['helpdeskDetails'];<br />
}</source><br />
<br />
Finally, go to the ''Personal data'' module and select the template ''member_grouped_helpdesk''.<br />
<br />
The layout may look somewhat messy by default, here is a suggestion to add to your CSS of the respective page:<br />
<br />
<source lang="css"><br />
.mod_personalData .checkbox_container span<br />
{<br />
display:block;<br />
white-space:nowrap;<br />
}<br />
<br />
.mod_personalData .checkbox_container span *<br />
{<br />
vertical-align:middle;<br />
}<br />
</source><br />
<br />
=== Enabling RSS Feeds ===<br />
<br />
To enable RSS feeds you need to:<br />
<br />
*Make settings in each category that you want feeds for<br />
*Make global settings in the Contao settings<br />
*Add a rewrite rule to your .htaccess file<br />
*Optional: Add a link to the page header in case you want to display a feed icon in the browsers address field<br />
<br />
=== Category Settings ===<br />
<br />
In the category settings you need to enter the url of the page holding this category, plus check that RSS feeds are enabled. Repeat this for all categories where you want to have RSS feeds for:<br />
<br />
[[File:Extensions-helpdesk-Hd100.jpg|Category Settings]]<br />
<br />
=== Contao settings ===<br />
<br />
In the Contao settings enable the forum/helpdesk feeds, and then make settings for the maximum number of messages to display, the base name of the xml file (same as in the .htaccess below), the title and description of the feed. Please note that this title and description only comes into play for feeds of multiple categories, for single category feeds the title and description of the category is used:<br />
<br />
[[File:Extensions-helpdesk-Hd101.jpg|Contao Settings]]<br />
<br />
=== .htaccess Modification ===<br />
<br />
Add a rewrite rule such as below to your .htaccess file. Replace //helpdesk// by the term you defined as base name in the TYPOlight settings:<br />
<br />
<code>RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</code><br />
<br />
A typical complete .htaccess for TYPOlight 2.6.0 might be:<br />
<br />
<code><br />
# Enable mod_rewrite<br />
RewriteEngine On<br />
RewriteBase /<br />
<br />
# Block any URI protocol in the query string<br />
RewriteCond %{QUERY_STRING} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Block any URI protocol in the request<br />
RewriteCond %{REQUEST_URI} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Rewrite TYPOlight URLs<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule .*\.html$ index.php [L]<br />
<br />
# Dynamic RSS feeds for forum/helpdesk <br />
RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</code><br />
<br />
=== Add RSS icon link to page layout ===<br />
<br />
This is optional but very convenient for your users. In case you not yet have a distinct page layout for the forum/helpdesk, make a copy of the default page layout. Edit the layout and enter the following link to the //Additional head tags// input:<br />
<br />
<code><link rel="alternate" type="application/rss+xml" title="RSS" href="http://www.example.com/helpdesk0.xml" /></code><br />
<br />
Replace %%www.example.com%% by your site's url. The 0 tells to provide a feed over all categories the user has read access to. If you want to make a feed over the categories 4, 5 and 7 instead, the link would be helpdesk4,5,7.xml<br />
<br />
<br />
<br />
<br />
<br />
=== Email Import and Notification ===<br />
<br />
==== Email Settings ====<br />
<br />
To send out notifications and import email a batch program must run on a regular base. You need to install the [[extensions:cron|cron utility]] for this purpose. Below you find suggested settings for the two Forum/Helpdesk jobs. Use a time schedule that matches your needs; the samples below will execute once every minute.<br />
<br />
[[File:Extensions-helpdesk-Hd024.jpg|CRON Scheduler]]<br />
[[File:Extensions-helpdesk-Hd025.jpg|Import Job Settings]]<br />
[[File:Extensions-helpdesk-Hd026.jpg|Notification Job Settings]]<br />
<br />
==== Troubleshooting E-Mail Issues ====<br />
<br />
*Check if your servers are properly configured to send out mails by creating a test-newsletter and sending it to one of your mail accounts. Send it to another server than the one used for sending out the mail to make sure the mail is not getting caught in some spamfilters or lost in any black hole.<br />
*Using PHP Mail may work on well configured servers (which is not selve-evident these days, cheepo hosters are greeting). Use SMTP in case, that will work 100%.<br />
<br />
*A common mistake is to use a different domain in the notification sender address than in the mail account in the system settings. For example when your SMTP account in the system settings is <nowiki>admin@example.com</nowiki>, a notification sender address such as <nowiki>forum@banana.net</nowiki> is likely to fail because that would be "relaying" which is forbidden in well configured mail servers. Of cause there are exceptions from this rule, for example when the mail server is configured to handle both of those domains. Leave the notification sender address empty until notification works in case.<br />
*Switch the helpdesk logging to <nowiki>"debug"</nowiki> in the Contao system settings. You will find the log files at <nowiki>/system/logs/Helpdesk*.log</nowiki>. In case no log file gets created during the batch run, your directory permissions of /system/logs does not allow write access for the web server. In that case you can manually create the two files /system/logs/HelpdeskImport.log and /system/logs/HelpdeskNotify.log and give them read/write permissions for the web server (for example as chmod of 666).<br />
*For debugging it is time-consuming to always have to wait for the scheduler to run. You can disable the scheduler jobs and manually trigger the batch by calling these url's (replace <nowiki>%%www.example.com%%</nowiki> by your own url of cause): <br />
<source lang="php">%%http://www.example.com/system/modules/helpdesk/HelpdeskNotifyExec.php%%<br />
%%http://www.example.com/system/modules/helpdesk/HelpdeskImportExec.php%%</source><br />
You will most likely just see a blank page when executing, but then check the log files after execution to see the results.<br />
<br />
=== Manual upgrade from a previous version ===<br />
<br />
{{Caution|It is recommended to make backups of your files and your database before starting any upgrade.}}<br />
<br />
You can upgrade directly from any previous release, it is '''not''' necessary to install every version that was released between your old and new version of the application.<br />
<br />
It is optional to delete the files of the old version before installing a new release; you can choose to just overwrite the old files. However there might be obsolete files which will stay in your installation that way. So for a clean update I recommend to manually delete these files and folders in advance:<br />
<br />
*system/drivers/DC_HelpdeskTable.php<br />
*system/modules/helpdesk<br />
<br />
{{Caution|Do '''NOT''' delete the mysql tables and settings of the helpdesk application after removing the old files, neither with phpmyadmin nor by using the Contao install tool. Otherwise you will loose all your data and settings.}}<br />
<br />
Next the procedure is basicly the same as with a new installation from scratch:<br />
<br />
*Download the install package.<br />
*Unzip/upload to your TYPOlight base directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki> <br />
*Enter the installation password and click ''Login''<br />
*Scroll down to ''Update database tables'' <br />
*If any drops of obsolete table columns are due, they are by default unchecked. It is safe to check them now in order to have clean database. <br />
*Click on ''Update database'' to have the necessary database updates applied.<br />
<br />
{{note|After upgrading, you should read the change log to see what has changed and might need your attention.}}<br />
<br />
=== Optimizing full text search ===<br />
<br />
Full text search of mysql will by default not find any words shorter than 4 characters, or in the stopword list. <br />
<br />
To improve search I recommend to lower the minimum word length to 2, or even down to 1. In case your site is not english only, you might also want to disable the default stopword list (or apply [[http://members.unine.ch/jacques.savoy/clef/index.html|a customized one in your language]]).<br />
<br />
**Brief procedure:**<br />
<br />
* Edit the mysql configuration file<br />
* Restart the mysql server<br />
* Drop the fulltext indexes<br />
* Recreate the fulltext indexes<br />
<br />
<br />
**More detailed description (debian example):**<br />
<br />
Edit /etc/mysql/my.cnf\\<br />
Within the section **[mysqld]** edit or add the following lines:<br />
<br />
<code>#<br />
# Fulltext config<br />
#<br />
ft_min_word_len = 2<br />
ft_stopword_file = ""</code><br />
<br />
Restart mysql:<br />
<br />
/etc/init.d/mysql restart<br />
<br />
Check system vars in phpMyAdmin to make sure it worked:<br />
<br />
{{ :extensions:helpdesk:myvars1.png }}<br />
{{ :extensions:helpdesk:myvars2.png }}<br />
<br />
Drop the fulltext indexes from the tables tl_search, tl_helpdesk_tickets and tl_helpdesk_messages. Check also the tables of other installed extensions for fulltext indexes, and drop them as well:<br />
<br />
{{ :extensions:helpdesk:dropft3.png }}<br />
<br />
{{ :extensions:helpdesk:dropft1.png }}<br />
<br />
{{ :extensions:helpdesk:dropft2.png }}<br />
<br />
Use the TYPOlight installation or extension manager to recreate the indexes based on the new settings:<br />
<br />
{{ :extensions:helpdesk:makeft.png }}<br />
<br />
<br />
== Getting started ==<br />
<br />
Well this section is currently very brief. Only a few screenschots so far, but I guess you will figure out usage yourself with some TYPOlight experience. <br />
<br />
=== Create a new category ====<br />
<br />
{{extensions:helpdesk:hd111.png|Goto helpdesk structure}}<br />
<br />
{{extensions:helpdesk:hd110.png|Category overview}}<br />
<br />
{{extensions:helpdesk:hd113.png|Category editor}}<br />
{{extensions:helpdesk:hd114.png|Category editor}}<br />
{{extensions:helpdesk:hd115.png|Category editor}}<br />
{{extensions:helpdesk:hd116.png|Category editor}}<br />
{{extensions:helpdesk:hd117.png|Category editor}}<br />
<br />
=== Create a title module for the frontend ===<br />
<br />
Basicly a title module is not required, however it helps you structure your forums and helpdesks when you want to group the categories into blocks.<br />
<br />
{{extensions:helpdesk:hd118.png|Goto modules}}<br />
{{extensions:helpdesk:hd119.png|Add a module}}<br />
<br />
{{extensions:helpdesk:hd120.png|Title module settings}}<br />
{{extensions:helpdesk:hd121.png|Title module settings}}<br />
<br />
=== Create block modules for the frontend ===<br />
<br />
A forum/helpdesk block module displays a selection of categories in a block on the frontend. So the minimum to get started on frontend is one module of this type. In case you want to structure your categories you will make several of these modules:<br />
<br />
{{:extensions:helpdesk:hdblock.png|Block module settings}}</div>Lucinahttps://en.contaowiki.org/HelpdeskHelpdesk2012-02-18T14:27:50Z<p>Lucina: /* Category Settings */</p>
<hr />
<div>{{stub}}<br />
[[de:Helpdesk]]<br />
= Forum and Helpdesk =<br />
{{Note|Parts of this documentation were created by Peter Koch / IBK Software AG. Peter Koch has licensed this content for use on contoawiki.org. Content in this page must not be copied, reproduced, republished, uploaded, posted, transmitted, distributed, or used for the creation of derivative works without IBK's prior written consent.}}<br />
{{Hint|http://web.archive.org/web/20101121033235/http://contifex.com/wiki/extensions:helpdesk}}<br />
{{Note|feel free to bring the content from the page above to our contaowiki!}} <br />
<br />
== Features ==<br />
[[File:Extensions-helpdesk-Hd130.png]]<br />
* Native TYPOlight application; fully integrated into TYPOlight user/member system.<br />
* Can be used as forum, as helpdesk ticketing system, or both at same time.<br />
* Both, frontend members and backend users, can be members/clients or moderators/supporters.<br />
* Multiple frontend modules with selected categories are possible; to be displayed on one or several pages, or embedded within articles.<br />
* Backend modules for configuration and forum participation.<br />
* Comprehensive and fast BBCode engine including tables, lists, several box types, syntax highlighting and more.<br />
* Popup windows for BBCode help and editor preview.<br />
* Email notification to subscribing users.<br />
* Email import to create new topics/tickets, as well as to reply to notifications.<br />
* Fully customizable layout and appearence by templates and themes.<br />
* Powerful search engine.<br />
* RSS feeds for any selection of categories.<br />
* Convenient moderator functions including cut/paste operations to move messages and topics<br />
<br />
<br />
== Abstract ==<br />
<br />
TYPOlight Forum/Helpdesk is a message board (forum) application designed to be as well used as a helpdesk ticketing system, for example to provide formal and informal support to customers or clients. The terminology and functions of the forum categories is slightly different than the support ticketing categories, but when you know the mapping you will immediately be familiar with the application:<br />
<br />
{| border="0" cellspacing="1" cellpadding="2"<br />
! !! '''Forum''' !! '''Helpdesk'''<br />
|-<br />
| Category types (1) || Restricted or public || Private, shared or public <br />
|-<br />
| Thread naming (2) || Topics || Tickets<br />
|-<br />
| Frontend users (3) || Members || Clients<br />
|-<br />
| Backend users (4) || Moderators || Supporters<br />
|-<br />
| colspan="2" |<br />
|}<br />
<br />
== Categories ==<br />
<br />
<br />
*[[File:Extensions-helpdesk-Category416.png]] '''Public Forum''': Everybody can read the forum, even non-logged in users. Only authorized members can however open topics or reply.<br />
*[[File:Extensions-helpdesk-Category316.png]] '''Restricted Forum''': The forum is visible only for authorized members.<br />
*[[File:Extensions-helpdesk-Category216.png]] '''Public Support''': Everybody can see all tickets, even non-logged in users. Only authorized clients can however open tickets or reply.<br />
*[[File:Extensions-helpdesk-Category116.png]] '''Shared Support''': All authorized clients can see and reply each others tickets, however only the owner has priviledge to close or delete his tickets. Create such a category for example for each company with a SLA((Service level agreement)) where multiple staff members shall have access to the tickets.<br />
*[[File:Extensions-helpdesk-Category016.png]] '''Private Support''': Only the ticket owner can see his tickets, but nobody else (admins and supporters authorized for the category can of course also see and reply to the tickets). Used for example for formal support of individuals.<br />
<br />
=== Topic vs. ticket status ===<br />
<br />
==== Topic status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0116.png]] '''Pinned up:''' Open topic that is listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1116.png]] '''Normal:''' A normal open topic. <br />
*[[File:Extensions-helpdesk-Ticket2116.png]] '''Closed:''' No further edits or replies are possible, listed at the end. <br />
<br />
==== Ticket status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0016.png]] '''Unanswered:''' The ticked is open and the latest post is from a client. Listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1016.png]] '''Answered:''' The ticket is open and the latest post is from a supporter. <br />
*[[File:Extensions-helpdesk-Ticket2016.png]] '''Closed:''' Issue solved. No further edits or replies are possible, the owner may reopen it however in case. Listed at the end. <br />
<br />
=== Members and Clients ===<br />
<br />
Forum members and support clients are either "frontend members" or "backend users" in terms of TYPOlight, and belong to a member/user group authorized for the respective category. The client opening a ticket has special "owner" rights in the support type categories: He has authorization to close or delete (5) his tickets.<br />
<br />
=== Admin, Moderators and Supporters ===<br />
<br />
Moderators and supporters are either TYPOlight backend users or frontend members, and belong to a user group authorized as moderator/supporter for the respective category. They have special rights to see unpublished, to pinup, edit, unpublish or delete any topic, ticket or message.<br />
<br />
Contao admins are special backend users and appear as moderator or supporter, he/she is automaticly authorized for all categories. Additionally the admins have authorization to administrative operations, e.g. create or delete categories or change category settings. Also admins are the only ones who can see unpublished categories.<br />
<br />
=== Deletion levels ===<br />
<br />
Tickets and messages are not permanently deleted, but only unpublished from frontend when a ticket owner or member/client "deletes" them. They are still available for moderators and supporters however, mainly to serve as a knowledge resource. Tickets and messages can be permanently deleted only by admins, moderators and supporters.<br />
<br />
== Installation and Setup ==<br />
<br />
=== Requirements ===<br />
<br />
*PHP from version 5.2.0<br />
*Other requirements like [[http://www.contao.org/system-requirements.html|TYPOlight]]<br />
<br />
=== Manual Installation ===<br />
<br />
*Install these required extensions in advance: [[extensions:avatar]], [[extensions:cron]], [[http://www.typolight.org/extension-list/view/geshi.en.html|geshi]]<br />
*Download the install package from [[http://www.typolight.org/extension-list/view/helpdesk.en.html|here]].<br />
*Unzip the content of TL_ROOT to the TYPOlight base directory on your webserver.<br />
*Unzip the content of TL_FILES to the tl_files directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki><br />
*Enter the installation password and click '''Login'''<br />
*Scroll down to '''Update database tables''' and click on '''Update database'''<br />
<br />
=== Site structure settings ===<br />
<br />
The page where the forum/helpdesk is located should have caching disabled, e.g:<br />
<br />
[[File:Extensions-helpdesk-Hd200.png |Cache Settings]]<br />
<br />
=== Page layout adjustment ===<br />
<br />
The module will also work without this, however it will look poor in the frontend.<br />
<br />
Go to '''Page layouts''' and change the layout for the pages that will display the forum/helpdesk. This might be a special layout you make for the forum/helpdesk pages, or the '''Default layout'''.<br />
<br />
Scroll down to '''Additional <nowiki>‹head›</nowiki> tags''' and append the following lines to whatever might allready be in there:<br />
<br />
<source lang="php"><br />
<link rel="stylesheet" <br />
href="system/modules/helpdesk/themes/default/frontend.css" <br />
type="text/css" <br />
media="screen,projection,print" /><br />
<!--[if lte IE 6]><br />
<style type="text/css"><br />
.pngfix { behavior:url("system/modules/helpdesk/themes/default/pngfix.htc") }<br />
</style><br />
<![endif]--><br />
</source><br />
<br />
== Custom themes and templates ==<br />
<br />
=== Backend themes ===<br />
<br />
To create the theme //mysite// you would first of cause create a new TYPOlight backend theme folder /system/themes/mysite and activate it in in the //Settings//. <br />
<br />
Then likewise you would create a folder system/modules/helpdesk/themes/mysite, copy the CSS files from the adjaccent //default// folder and make your adjustments to them. Please note that because of the automatic fallback it is //not// necessary to copy all the images from the //default// theme. In case you want your own icons, just create a subfolder //images// and put them in there; any icons not found there will be taken from the //default// theme.<br />
<br />
=== Frontend themes ===<br />
<br />
Copy the CSS files from system/modules/helpdesk/themes/default to your custom frontend theme folder and make the desired adjustments. Don't forget to adjust the //Page layout// as explained before to use your custom stylesheet instead of the default one.<br />
<br />
You may want to replace some or all of the default forum/helpdesk icons too. Just put your custom icons into an //images// folder below your custom theme. Then enter the path of your images folder in the helpdesk settings. Again there is a fallback built in, so any icon not found in your custom images folder will be taken from the //default// backend theme.<br />
<br />
Instead of PNG you may use GIF icons. In case both, a GIF //and// a PNG icon is found, the PNG has precedence.<br />
<br />
=== Templates ===<br />
<br />
In case you need to customize the default templates, just copy the files of interest from /system/modules/helpdesk/templates to /templates and make your adjustments. <br />
<br />
Please note that the template files are used for both, frontend //and// backend.<br />
<br />
<br />
=== "Personal data" Module ===<br />
<br />
{{note|As of TYPOlight 2.5.0 it is no longer required to edit the file ModulePersonalData.php; the hook is now included in the core file. However you still need to select the template ''member_grouped_helpdesk'' up to 2.5.9. Since TYPOlight 2.6.0 you also no longer need ''member_grouped_helpdesk'' because all necessary changes got included in ''member_grouped''.}}<br />
<br />
<br />
You may want to give your frontend members the option to subscribe themself for email noification with the ''Personal data'' module. This will work right out of the box when you are using the template ''member_default''.<br />
<br />
However when using the template ''member_grouped' you won't see the Forum/Helpdesk settings with the TYPOlight releases before 2.5.0. There is a workaround to use the grouped member display right now, which requires a small hack:<br />
<br />
Edit the file /system/modules/frontend/ModulePersonalData.php and find this code:<br />
<br />
<source lang="php">// HOOK: add newsletter fields<br />
if (in_array('newsletter', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->newsletter = $arrFields['newsletter'];<br />
$this->Template->newsletterDetails = $GLOBALS['TL_LANG']['tl_member']['newsletterDetails'];<br />
}</source><br />
<br />
Now add the following code immediately below:<br />
<br />
<source lang="php">// HOOK: add helpdesk fields<br />
if (in_array('helpdesk', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->helpdesk = $arrFields['helpdesk'];<br />
$this->Template->helpdeskDetails = $GLOBALS['TL_LANG']['tl_member']['helpdeskDetails'];<br />
}</source><br />
<br />
Finally, go to the ''Personal data'' module and select the template ''member_grouped_helpdesk''.<br />
<br />
The layout may look somewhat messy by default, here is a suggestion to add to your CSS of the respective page:<br />
<br />
<source lang="css"><br />
.mod_personalData .checkbox_container span<br />
{<br />
display:block;<br />
white-space:nowrap;<br />
}<br />
<br />
.mod_personalData .checkbox_container span *<br />
{<br />
vertical-align:middle;<br />
}<br />
</source><br />
<br />
=== Enabling RSS Feeds ===<br />
<br />
To enable RSS feeds you need to:<br />
<br />
*Make settings in each category that you want feeds for<br />
*Make global settings in the Contao settings<br />
*Add a rewrite rule to your .htaccess file<br />
*Optional: Add a link to the page header in case you want to display a feed icon in the browsers address field<br />
<br />
=== Category Settings ===<br />
<br />
In the category settings you need to enter the url of the page holding this category, plus check that RSS feeds are enabled. Repeat this for all categories where you want to have RSS feeds for:<br />
<br />
[[File:Extensions-helpdesk-Hd100.jpg|Category Settings]]<br />
<br />
=== Contao settings ===<br />
<br />
In the Contao settings enable the forum/helpdesk feeds, and then make settings for the maximum number of messages to display, the base name of the xml file (same as in the .htaccess below), the title and description of the feed. Please note that this title and description only comes into play for feeds of multiple categories, for single category feeds the title and description of the category is used:<br />
<br />
[[File:Extensions-helpdesk-Hd101.jpg|Contao Settings]]<br />
<br />
=== .htaccess Modification ===<br />
<br />
Add a rewrite rule such as below to your .htaccess file. Replace //helpdesk// by the term you defined as base name in the TYPOlight settings:<br />
<br />
<code>RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</code><br />
<br />
A typical complete .htaccess for TYPOlight 2.6.0 might be:<br />
<br />
<code><br />
# Enable mod_rewrite<br />
RewriteEngine On<br />
RewriteBase /<br />
<br />
# Block any URI protocol in the query string<br />
RewriteCond %{QUERY_STRING} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Block any URI protocol in the request<br />
RewriteCond %{REQUEST_URI} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Rewrite TYPOlight URLs<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule .*\.html$ index.php [L]<br />
<br />
# Dynamic RSS feeds for forum/helpdesk <br />
RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</code><br />
<br />
=== Add RSS icon link to page layout ===<br />
<br />
This is optional but very convenient for your users. In case you not yet have a distinct page layout for the forum/helpdesk, make a copy of the default page layout. Edit the layout and enter the following link to the //Additional head tags// input:<br />
<br />
<code><link rel="alternate" type="application/rss+xml" title="RSS" href="http://www.example.com/helpdesk0.xml" /></code><br />
<br />
Replace %%www.example.com%% by your site's url. The 0 tells to provide a feed over all categories the user has read access to. If you want to make a feed over the categories 4, 5 and 7 instead, the link would be helpdesk4,5,7.xml<br />
<br />
<br />
<br />
<br />
<br />
=== Email Import and Notification ===<br />
<br />
==== Email Settings ====<br />
<br />
To send out notifications and import email a batch program must run on a regular base. You need to install the [[extensions:cron|cron utility]] for this purpose. Below you find suggested settings for the two Forum/Helpdesk jobs. Use a time schedule that matches your needs; the samples below will execute once every minute.<br />
<br />
{{extensions:helpdesk:hd024.jpg|CRON Scheduler}}<br />
{{extensions:helpdesk:hd025.jpg|Import Job Settings}}<br />
{{extensions:helpdesk:hd026.jpg|Notification Job Settings}}<br />
<br />
==== Troubleshooting E-Mail Issues ====<br />
<br />
*Check if your servers are properly configured to send out mails by creating a test-newsletter and sending it to one of your mail accounts. Send it to another server than the one used for sending out the mail to make sure the mail is not getting caught in some spamfilters or lost in any black hole.<br />
*Using PHP Mail may work on well configured servers (which is not selve-evident these days, cheepo hosters are greeting). Use SMTP in case, that will work 100%.<br />
<br />
*A common mistake is to use a different domain in the notification sender address than in the mail account in the system settings. For example when your SMTP account in the system settings is <nowiki>admin@example.com</nowiki>, a notification sender address such as <nowiki>forum@banana.net</nowiki> is likely to fail because that would be "relaying" which is forbidden in well configured mail servers. Of cause there are exceptions from this rule, for example when the mail server is configured to handle both of those domains. Leave the notification sender address empty until notification works in case.<br />
*Switch the helpdesk logging to <nowiki>"debug"</nowiki> in the Contao system settings. You will find the log files at <nowiki>/system/logs/Helpdesk*.log</nowiki>. In case no log file gets created during the batch run, your directory permissions of /system/logs does not allow write access for the web server. In that case you can manually create the two files /system/logs/HelpdeskImport.log and /system/logs/HelpdeskNotify.log and give them read/write permissions for the web server (for example as chmod of 666).<br />
*For debugging it is time-consuming to always have to wait for the scheduler to run. You can disable the scheduler jobs and manually trigger the batch by calling these url's (replace <nowiki>%%www.example.com%%</nowiki> by your own url of cause): <br />
<source lang="php">%%http://www.example.com/system/modules/helpdesk/HelpdeskNotifyExec.php%%<br />
%%http://www.example.com/system/modules/helpdesk/HelpdeskImportExec.php%%</source><br />
You will most likely just see a blank page when executing, but then check the log files after execution to see the results.<br />
<br />
=== Manual upgrade from a previous version ===<br />
<br />
{{Caution|It is recommended to make backups of your files and your database before starting any upgrade.}}<br />
<br />
You can upgrade directly from any previous release, it is '''not''' necessary to install every version that was released between your old and new version of the application.<br />
<br />
It is optional to delete the files of the old version before installing a new release; you can choose to just overwrite the old files. However there might be obsolete files which will stay in your installation that way. So for a clean update I recommend to manually delete these files and folders in advance:<br />
<br />
*system/drivers/DC_HelpdeskTable.php<br />
*system/modules/helpdesk<br />
<br />
{{Caution|Do '''NOT''' delete the mysql tables and settings of the helpdesk application after removing the old files, neither with phpmyadmin nor by using the Contao install tool. Otherwise you will loose all your data and settings.}}<br />
<br />
Next the procedure is basicly the same as with a new installation from scratch:<br />
<br />
*Download the install package.<br />
*Unzip/upload to your TYPOlight base directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki> <br />
*Enter the installation password and click ''Login''<br />
*Scroll down to ''Update database tables'' <br />
*If any drops of obsolete table columns are due, they are by default unchecked. It is safe to check them now in order to have clean database. <br />
*Click on ''Update database'' to have the necessary database updates applied.<br />
<br />
{{note|After upgrading, you should read the change log to see what has changed and might need your attention.}}<br />
<br />
=== Optimizing full text search ===<br />
<br />
Full text search of mysql will by default not find any words shorter than 4 characters, or in the stopword list. <br />
<br />
To improve search I recommend to lower the minimum word length to 2, or even down to 1. In case your site is not english only, you might also want to disable the default stopword list (or apply [[http://members.unine.ch/jacques.savoy/clef/index.html|a customized one in your language]]).<br />
<br />
**Brief procedure:**<br />
<br />
* Edit the mysql configuration file<br />
* Restart the mysql server<br />
* Drop the fulltext indexes<br />
* Recreate the fulltext indexes<br />
<br />
<br />
**More detailed description (debian example):**<br />
<br />
Edit /etc/mysql/my.cnf\\<br />
Within the section **[mysqld]** edit or add the following lines:<br />
<br />
<code>#<br />
# Fulltext config<br />
#<br />
ft_min_word_len = 2<br />
ft_stopword_file = ""</code><br />
<br />
Restart mysql:<br />
<br />
/etc/init.d/mysql restart<br />
<br />
Check system vars in phpMyAdmin to make sure it worked:<br />
<br />
{{ :extensions:helpdesk:myvars1.png }}<br />
{{ :extensions:helpdesk:myvars2.png }}<br />
<br />
Drop the fulltext indexes from the tables tl_search, tl_helpdesk_tickets and tl_helpdesk_messages. Check also the tables of other installed extensions for fulltext indexes, and drop them as well:<br />
<br />
{{ :extensions:helpdesk:dropft3.png }}<br />
<br />
{{ :extensions:helpdesk:dropft1.png }}<br />
<br />
{{ :extensions:helpdesk:dropft2.png }}<br />
<br />
Use the TYPOlight installation or extension manager to recreate the indexes based on the new settings:<br />
<br />
{{ :extensions:helpdesk:makeft.png }}<br />
<br />
<br />
== Getting started ==<br />
<br />
Well this section is currently very brief. Only a few screenschots so far, but I guess you will figure out usage yourself with some TYPOlight experience. <br />
<br />
=== Create a new category ====<br />
<br />
{{extensions:helpdesk:hd111.png|Goto helpdesk structure}}<br />
<br />
{{extensions:helpdesk:hd110.png|Category overview}}<br />
<br />
{{extensions:helpdesk:hd113.png|Category editor}}<br />
{{extensions:helpdesk:hd114.png|Category editor}}<br />
{{extensions:helpdesk:hd115.png|Category editor}}<br />
{{extensions:helpdesk:hd116.png|Category editor}}<br />
{{extensions:helpdesk:hd117.png|Category editor}}<br />
<br />
=== Create a title module for the frontend ===<br />
<br />
Basicly a title module is not required, however it helps you structure your forums and helpdesks when you want to group the categories into blocks.<br />
<br />
{{extensions:helpdesk:hd118.png|Goto modules}}<br />
{{extensions:helpdesk:hd119.png|Add a module}}<br />
<br />
{{extensions:helpdesk:hd120.png|Title module settings}}<br />
{{extensions:helpdesk:hd121.png|Title module settings}}<br />
<br />
=== Create block modules for the frontend ===<br />
<br />
A forum/helpdesk block module displays a selection of categories in a block on the frontend. So the minimum to get started on frontend is one module of this type. In case you want to structure your categories you will make several of these modules:<br />
<br />
{{:extensions:helpdesk:hdblock.png|Block module settings}}</div>Lucinahttps://en.contaowiki.org/HelpdeskHelpdesk2012-02-18T14:27:18Z<p>Lucina: /* Enabling RSS Feeds */</p>
<hr />
<div>{{stub}}<br />
[[de:Helpdesk]]<br />
= Forum and Helpdesk =<br />
{{Note|Parts of this documentation were created by Peter Koch / IBK Software AG. Peter Koch has licensed this content for use on contoawiki.org. Content in this page must not be copied, reproduced, republished, uploaded, posted, transmitted, distributed, or used for the creation of derivative works without IBK's prior written consent.}}<br />
{{Hint|http://web.archive.org/web/20101121033235/http://contifex.com/wiki/extensions:helpdesk}}<br />
{{Note|feel free to bring the content from the page above to our contaowiki!}} <br />
<br />
== Features ==<br />
[[File:Extensions-helpdesk-Hd130.png]]<br />
* Native TYPOlight application; fully integrated into TYPOlight user/member system.<br />
* Can be used as forum, as helpdesk ticketing system, or both at same time.<br />
* Both, frontend members and backend users, can be members/clients or moderators/supporters.<br />
* Multiple frontend modules with selected categories are possible; to be displayed on one or several pages, or embedded within articles.<br />
* Backend modules for configuration and forum participation.<br />
* Comprehensive and fast BBCode engine including tables, lists, several box types, syntax highlighting and more.<br />
* Popup windows for BBCode help and editor preview.<br />
* Email notification to subscribing users.<br />
* Email import to create new topics/tickets, as well as to reply to notifications.<br />
* Fully customizable layout and appearence by templates and themes.<br />
* Powerful search engine.<br />
* RSS feeds for any selection of categories.<br />
* Convenient moderator functions including cut/paste operations to move messages and topics<br />
<br />
<br />
== Abstract ==<br />
<br />
TYPOlight Forum/Helpdesk is a message board (forum) application designed to be as well used as a helpdesk ticketing system, for example to provide formal and informal support to customers or clients. The terminology and functions of the forum categories is slightly different than the support ticketing categories, but when you know the mapping you will immediately be familiar with the application:<br />
<br />
{| border="0" cellspacing="1" cellpadding="2"<br />
! !! '''Forum''' !! '''Helpdesk'''<br />
|-<br />
| Category types (1) || Restricted or public || Private, shared or public <br />
|-<br />
| Thread naming (2) || Topics || Tickets<br />
|-<br />
| Frontend users (3) || Members || Clients<br />
|-<br />
| Backend users (4) || Moderators || Supporters<br />
|-<br />
| colspan="2" |<br />
|}<br />
<br />
== Categories ==<br />
<br />
<br />
*[[File:Extensions-helpdesk-Category416.png]] '''Public Forum''': Everybody can read the forum, even non-logged in users. Only authorized members can however open topics or reply.<br />
*[[File:Extensions-helpdesk-Category316.png]] '''Restricted Forum''': The forum is visible only for authorized members.<br />
*[[File:Extensions-helpdesk-Category216.png]] '''Public Support''': Everybody can see all tickets, even non-logged in users. Only authorized clients can however open tickets or reply.<br />
*[[File:Extensions-helpdesk-Category116.png]] '''Shared Support''': All authorized clients can see and reply each others tickets, however only the owner has priviledge to close or delete his tickets. Create such a category for example for each company with a SLA((Service level agreement)) where multiple staff members shall have access to the tickets.<br />
*[[File:Extensions-helpdesk-Category016.png]] '''Private Support''': Only the ticket owner can see his tickets, but nobody else (admins and supporters authorized for the category can of course also see and reply to the tickets). Used for example for formal support of individuals.<br />
<br />
=== Topic vs. ticket status ===<br />
<br />
==== Topic status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0116.png]] '''Pinned up:''' Open topic that is listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1116.png]] '''Normal:''' A normal open topic. <br />
*[[File:Extensions-helpdesk-Ticket2116.png]] '''Closed:''' No further edits or replies are possible, listed at the end. <br />
<br />
==== Ticket status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0016.png]] '''Unanswered:''' The ticked is open and the latest post is from a client. Listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1016.png]] '''Answered:''' The ticket is open and the latest post is from a supporter. <br />
*[[File:Extensions-helpdesk-Ticket2016.png]] '''Closed:''' Issue solved. No further edits or replies are possible, the owner may reopen it however in case. Listed at the end. <br />
<br />
=== Members and Clients ===<br />
<br />
Forum members and support clients are either "frontend members" or "backend users" in terms of TYPOlight, and belong to a member/user group authorized for the respective category. The client opening a ticket has special "owner" rights in the support type categories: He has authorization to close or delete (5) his tickets.<br />
<br />
=== Admin, Moderators and Supporters ===<br />
<br />
Moderators and supporters are either TYPOlight backend users or frontend members, and belong to a user group authorized as moderator/supporter for the respective category. They have special rights to see unpublished, to pinup, edit, unpublish or delete any topic, ticket or message.<br />
<br />
Contao admins are special backend users and appear as moderator or supporter, he/she is automaticly authorized for all categories. Additionally the admins have authorization to administrative operations, e.g. create or delete categories or change category settings. Also admins are the only ones who can see unpublished categories.<br />
<br />
=== Deletion levels ===<br />
<br />
Tickets and messages are not permanently deleted, but only unpublished from frontend when a ticket owner or member/client "deletes" them. They are still available for moderators and supporters however, mainly to serve as a knowledge resource. Tickets and messages can be permanently deleted only by admins, moderators and supporters.<br />
<br />
== Installation and Setup ==<br />
<br />
=== Requirements ===<br />
<br />
*PHP from version 5.2.0<br />
*Other requirements like [[http://www.contao.org/system-requirements.html|TYPOlight]]<br />
<br />
=== Manual Installation ===<br />
<br />
*Install these required extensions in advance: [[extensions:avatar]], [[extensions:cron]], [[http://www.typolight.org/extension-list/view/geshi.en.html|geshi]]<br />
*Download the install package from [[http://www.typolight.org/extension-list/view/helpdesk.en.html|here]].<br />
*Unzip the content of TL_ROOT to the TYPOlight base directory on your webserver.<br />
*Unzip the content of TL_FILES to the tl_files directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki><br />
*Enter the installation password and click '''Login'''<br />
*Scroll down to '''Update database tables''' and click on '''Update database'''<br />
<br />
=== Site structure settings ===<br />
<br />
The page where the forum/helpdesk is located should have caching disabled, e.g:<br />
<br />
[[File:Extensions-helpdesk-Hd200.png |Cache Settings]]<br />
<br />
=== Page layout adjustment ===<br />
<br />
The module will also work without this, however it will look poor in the frontend.<br />
<br />
Go to '''Page layouts''' and change the layout for the pages that will display the forum/helpdesk. This might be a special layout you make for the forum/helpdesk pages, or the '''Default layout'''.<br />
<br />
Scroll down to '''Additional <nowiki>‹head›</nowiki> tags''' and append the following lines to whatever might allready be in there:<br />
<br />
<source lang="php"><br />
<link rel="stylesheet" <br />
href="system/modules/helpdesk/themes/default/frontend.css" <br />
type="text/css" <br />
media="screen,projection,print" /><br />
<!--[if lte IE 6]><br />
<style type="text/css"><br />
.pngfix { behavior:url("system/modules/helpdesk/themes/default/pngfix.htc") }<br />
</style><br />
<![endif]--><br />
</source><br />
<br />
== Custom themes and templates ==<br />
<br />
=== Backend themes ===<br />
<br />
To create the theme //mysite// you would first of cause create a new TYPOlight backend theme folder /system/themes/mysite and activate it in in the //Settings//. <br />
<br />
Then likewise you would create a folder system/modules/helpdesk/themes/mysite, copy the CSS files from the adjaccent //default// folder and make your adjustments to them. Please note that because of the automatic fallback it is //not// necessary to copy all the images from the //default// theme. In case you want your own icons, just create a subfolder //images// and put them in there; any icons not found there will be taken from the //default// theme.<br />
<br />
=== Frontend themes ===<br />
<br />
Copy the CSS files from system/modules/helpdesk/themes/default to your custom frontend theme folder and make the desired adjustments. Don't forget to adjust the //Page layout// as explained before to use your custom stylesheet instead of the default one.<br />
<br />
You may want to replace some or all of the default forum/helpdesk icons too. Just put your custom icons into an //images// folder below your custom theme. Then enter the path of your images folder in the helpdesk settings. Again there is a fallback built in, so any icon not found in your custom images folder will be taken from the //default// backend theme.<br />
<br />
Instead of PNG you may use GIF icons. In case both, a GIF //and// a PNG icon is found, the PNG has precedence.<br />
<br />
=== Templates ===<br />
<br />
In case you need to customize the default templates, just copy the files of interest from /system/modules/helpdesk/templates to /templates and make your adjustments. <br />
<br />
Please note that the template files are used for both, frontend //and// backend.<br />
<br />
<br />
=== "Personal data" Module ===<br />
<br />
{{note|As of TYPOlight 2.5.0 it is no longer required to edit the file ModulePersonalData.php; the hook is now included in the core file. However you still need to select the template ''member_grouped_helpdesk'' up to 2.5.9. Since TYPOlight 2.6.0 you also no longer need ''member_grouped_helpdesk'' because all necessary changes got included in ''member_grouped''.}}<br />
<br />
<br />
You may want to give your frontend members the option to subscribe themself for email noification with the ''Personal data'' module. This will work right out of the box when you are using the template ''member_default''.<br />
<br />
However when using the template ''member_grouped' you won't see the Forum/Helpdesk settings with the TYPOlight releases before 2.5.0. There is a workaround to use the grouped member display right now, which requires a small hack:<br />
<br />
Edit the file /system/modules/frontend/ModulePersonalData.php and find this code:<br />
<br />
<source lang="php">// HOOK: add newsletter fields<br />
if (in_array('newsletter', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->newsletter = $arrFields['newsletter'];<br />
$this->Template->newsletterDetails = $GLOBALS['TL_LANG']['tl_member']['newsletterDetails'];<br />
}</source><br />
<br />
Now add the following code immediately below:<br />
<br />
<source lang="php">// HOOK: add helpdesk fields<br />
if (in_array('helpdesk', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->helpdesk = $arrFields['helpdesk'];<br />
$this->Template->helpdeskDetails = $GLOBALS['TL_LANG']['tl_member']['helpdeskDetails'];<br />
}</source><br />
<br />
Finally, go to the ''Personal data'' module and select the template ''member_grouped_helpdesk''.<br />
<br />
The layout may look somewhat messy by default, here is a suggestion to add to your CSS of the respective page:<br />
<br />
<source lang="css"><br />
.mod_personalData .checkbox_container span<br />
{<br />
display:block;<br />
white-space:nowrap;<br />
}<br />
<br />
.mod_personalData .checkbox_container span *<br />
{<br />
vertical-align:middle;<br />
}<br />
</source><br />
<br />
=== Enabling RSS Feeds ===<br />
<br />
To enable RSS feeds you need to:<br />
<br />
*Make settings in each category that you want feeds for<br />
*Make global settings in the Contao settings<br />
*Add a rewrite rule to your .htaccess file<br />
*Optional: Add a link to the page header in case you want to display a feed icon in the browsers address field<br />
<br />
=== Category Settings ===<br />
<br />
In the category settings you need to enter the url of the page holding this category, plus check that RSS feeds are enabled. Repeat this for all categories where you want to have RSS feeds for:<br />
<br />
{{extensions:helpdesk:hd100.jpg|Category Settings}}<br />
<br />
=== Contao settings ===<br />
<br />
In the Contao settings enable the forum/helpdesk feeds, and then make settings for the maximum number of messages to display, the base name of the xml file (same as in the .htaccess below), the title and description of the feed. Please note that this title and description only comes into play for feeds of multiple categories, for single category feeds the title and description of the category is used:<br />
<br />
[[File:Extensions-helpdesk-Hd101.jpg|Contao Settings]]<br />
<br />
=== .htaccess Modification ===<br />
<br />
Add a rewrite rule such as below to your .htaccess file. Replace //helpdesk// by the term you defined as base name in the TYPOlight settings:<br />
<br />
<code>RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</code><br />
<br />
A typical complete .htaccess for TYPOlight 2.6.0 might be:<br />
<br />
<code><br />
# Enable mod_rewrite<br />
RewriteEngine On<br />
RewriteBase /<br />
<br />
# Block any URI protocol in the query string<br />
RewriteCond %{QUERY_STRING} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Block any URI protocol in the request<br />
RewriteCond %{REQUEST_URI} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Rewrite TYPOlight URLs<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule .*\.html$ index.php [L]<br />
<br />
# Dynamic RSS feeds for forum/helpdesk <br />
RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</code><br />
<br />
=== Add RSS icon link to page layout ===<br />
<br />
This is optional but very convenient for your users. In case you not yet have a distinct page layout for the forum/helpdesk, make a copy of the default page layout. Edit the layout and enter the following link to the //Additional head tags// input:<br />
<br />
<code><link rel="alternate" type="application/rss+xml" title="RSS" href="http://www.example.com/helpdesk0.xml" /></code><br />
<br />
Replace %%www.example.com%% by your site's url. The 0 tells to provide a feed over all categories the user has read access to. If you want to make a feed over the categories 4, 5 and 7 instead, the link would be helpdesk4,5,7.xml<br />
<br />
<br />
<br />
<br />
<br />
=== Email Import and Notification ===<br />
<br />
==== Email Settings ====<br />
<br />
To send out notifications and import email a batch program must run on a regular base. You need to install the [[extensions:cron|cron utility]] for this purpose. Below you find suggested settings for the two Forum/Helpdesk jobs. Use a time schedule that matches your needs; the samples below will execute once every minute.<br />
<br />
{{extensions:helpdesk:hd024.jpg|CRON Scheduler}}<br />
{{extensions:helpdesk:hd025.jpg|Import Job Settings}}<br />
{{extensions:helpdesk:hd026.jpg|Notification Job Settings}}<br />
<br />
==== Troubleshooting E-Mail Issues ====<br />
<br />
*Check if your servers are properly configured to send out mails by creating a test-newsletter and sending it to one of your mail accounts. Send it to another server than the one used for sending out the mail to make sure the mail is not getting caught in some spamfilters or lost in any black hole.<br />
*Using PHP Mail may work on well configured servers (which is not selve-evident these days, cheepo hosters are greeting). Use SMTP in case, that will work 100%.<br />
<br />
*A common mistake is to use a different domain in the notification sender address than in the mail account in the system settings. For example when your SMTP account in the system settings is <nowiki>admin@example.com</nowiki>, a notification sender address such as <nowiki>forum@banana.net</nowiki> is likely to fail because that would be "relaying" which is forbidden in well configured mail servers. Of cause there are exceptions from this rule, for example when the mail server is configured to handle both of those domains. Leave the notification sender address empty until notification works in case.<br />
*Switch the helpdesk logging to <nowiki>"debug"</nowiki> in the Contao system settings. You will find the log files at <nowiki>/system/logs/Helpdesk*.log</nowiki>. In case no log file gets created during the batch run, your directory permissions of /system/logs does not allow write access for the web server. In that case you can manually create the two files /system/logs/HelpdeskImport.log and /system/logs/HelpdeskNotify.log and give them read/write permissions for the web server (for example as chmod of 666).<br />
*For debugging it is time-consuming to always have to wait for the scheduler to run. You can disable the scheduler jobs and manually trigger the batch by calling these url's (replace <nowiki>%%www.example.com%%</nowiki> by your own url of cause): <br />
<source lang="php">%%http://www.example.com/system/modules/helpdesk/HelpdeskNotifyExec.php%%<br />
%%http://www.example.com/system/modules/helpdesk/HelpdeskImportExec.php%%</source><br />
You will most likely just see a blank page when executing, but then check the log files after execution to see the results.<br />
<br />
=== Manual upgrade from a previous version ===<br />
<br />
{{Caution|It is recommended to make backups of your files and your database before starting any upgrade.}}<br />
<br />
You can upgrade directly from any previous release, it is '''not''' necessary to install every version that was released between your old and new version of the application.<br />
<br />
It is optional to delete the files of the old version before installing a new release; you can choose to just overwrite the old files. However there might be obsolete files which will stay in your installation that way. So for a clean update I recommend to manually delete these files and folders in advance:<br />
<br />
*system/drivers/DC_HelpdeskTable.php<br />
*system/modules/helpdesk<br />
<br />
{{Caution|Do '''NOT''' delete the mysql tables and settings of the helpdesk application after removing the old files, neither with phpmyadmin nor by using the Contao install tool. Otherwise you will loose all your data and settings.}}<br />
<br />
Next the procedure is basicly the same as with a new installation from scratch:<br />
<br />
*Download the install package.<br />
*Unzip/upload to your TYPOlight base directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki> <br />
*Enter the installation password and click ''Login''<br />
*Scroll down to ''Update database tables'' <br />
*If any drops of obsolete table columns are due, they are by default unchecked. It is safe to check them now in order to have clean database. <br />
*Click on ''Update database'' to have the necessary database updates applied.<br />
<br />
{{note|After upgrading, you should read the change log to see what has changed and might need your attention.}}<br />
<br />
=== Optimizing full text search ===<br />
<br />
Full text search of mysql will by default not find any words shorter than 4 characters, or in the stopword list. <br />
<br />
To improve search I recommend to lower the minimum word length to 2, or even down to 1. In case your site is not english only, you might also want to disable the default stopword list (or apply [[http://members.unine.ch/jacques.savoy/clef/index.html|a customized one in your language]]).<br />
<br />
**Brief procedure:**<br />
<br />
* Edit the mysql configuration file<br />
* Restart the mysql server<br />
* Drop the fulltext indexes<br />
* Recreate the fulltext indexes<br />
<br />
<br />
**More detailed description (debian example):**<br />
<br />
Edit /etc/mysql/my.cnf\\<br />
Within the section **[mysqld]** edit or add the following lines:<br />
<br />
<code>#<br />
# Fulltext config<br />
#<br />
ft_min_word_len = 2<br />
ft_stopword_file = ""</code><br />
<br />
Restart mysql:<br />
<br />
/etc/init.d/mysql restart<br />
<br />
Check system vars in phpMyAdmin to make sure it worked:<br />
<br />
{{ :extensions:helpdesk:myvars1.png }}<br />
{{ :extensions:helpdesk:myvars2.png }}<br />
<br />
Drop the fulltext indexes from the tables tl_search, tl_helpdesk_tickets and tl_helpdesk_messages. Check also the tables of other installed extensions for fulltext indexes, and drop them as well:<br />
<br />
{{ :extensions:helpdesk:dropft3.png }}<br />
<br />
{{ :extensions:helpdesk:dropft1.png }}<br />
<br />
{{ :extensions:helpdesk:dropft2.png }}<br />
<br />
Use the TYPOlight installation or extension manager to recreate the indexes based on the new settings:<br />
<br />
{{ :extensions:helpdesk:makeft.png }}<br />
<br />
<br />
== Getting started ==<br />
<br />
Well this section is currently very brief. Only a few screenschots so far, but I guess you will figure out usage yourself with some TYPOlight experience. <br />
<br />
=== Create a new category ====<br />
<br />
{{extensions:helpdesk:hd111.png|Goto helpdesk structure}}<br />
<br />
{{extensions:helpdesk:hd110.png|Category overview}}<br />
<br />
{{extensions:helpdesk:hd113.png|Category editor}}<br />
{{extensions:helpdesk:hd114.png|Category editor}}<br />
{{extensions:helpdesk:hd115.png|Category editor}}<br />
{{extensions:helpdesk:hd116.png|Category editor}}<br />
{{extensions:helpdesk:hd117.png|Category editor}}<br />
<br />
=== Create a title module for the frontend ===<br />
<br />
Basicly a title module is not required, however it helps you structure your forums and helpdesks when you want to group the categories into blocks.<br />
<br />
{{extensions:helpdesk:hd118.png|Goto modules}}<br />
{{extensions:helpdesk:hd119.png|Add a module}}<br />
<br />
{{extensions:helpdesk:hd120.png|Title module settings}}<br />
{{extensions:helpdesk:hd121.png|Title module settings}}<br />
<br />
=== Create block modules for the frontend ===<br />
<br />
A forum/helpdesk block module displays a selection of categories in a block on the frontend. So the minimum to get started on frontend is one module of this type. In case you want to structure your categories you will make several of these modules:<br />
<br />
{{:extensions:helpdesk:hdblock.png|Block module settings}}</div>Lucinahttps://en.contaowiki.org/HelpdeskHelpdesk2012-02-18T14:26:50Z<p>Lucina: /* wiki syntax, replacing TYPOlight */</p>
<hr />
<div>{{stub}}<br />
[[de:Helpdesk]]<br />
= Forum and Helpdesk =<br />
{{Note|Parts of this documentation were created by Peter Koch / IBK Software AG. Peter Koch has licensed this content for use on contoawiki.org. Content in this page must not be copied, reproduced, republished, uploaded, posted, transmitted, distributed, or used for the creation of derivative works without IBK's prior written consent.}}<br />
{{Hint|http://web.archive.org/web/20101121033235/http://contifex.com/wiki/extensions:helpdesk}}<br />
{{Note|feel free to bring the content from the page above to our contaowiki!}} <br />
<br />
== Features ==<br />
[[File:Extensions-helpdesk-Hd130.png]]<br />
* Native TYPOlight application; fully integrated into TYPOlight user/member system.<br />
* Can be used as forum, as helpdesk ticketing system, or both at same time.<br />
* Both, frontend members and backend users, can be members/clients or moderators/supporters.<br />
* Multiple frontend modules with selected categories are possible; to be displayed on one or several pages, or embedded within articles.<br />
* Backend modules for configuration and forum participation.<br />
* Comprehensive and fast BBCode engine including tables, lists, several box types, syntax highlighting and more.<br />
* Popup windows for BBCode help and editor preview.<br />
* Email notification to subscribing users.<br />
* Email import to create new topics/tickets, as well as to reply to notifications.<br />
* Fully customizable layout and appearence by templates and themes.<br />
* Powerful search engine.<br />
* RSS feeds for any selection of categories.<br />
* Convenient moderator functions including cut/paste operations to move messages and topics<br />
<br />
<br />
== Abstract ==<br />
<br />
TYPOlight Forum/Helpdesk is a message board (forum) application designed to be as well used as a helpdesk ticketing system, for example to provide formal and informal support to customers or clients. The terminology and functions of the forum categories is slightly different than the support ticketing categories, but when you know the mapping you will immediately be familiar with the application:<br />
<br />
{| border="0" cellspacing="1" cellpadding="2"<br />
! !! '''Forum''' !! '''Helpdesk'''<br />
|-<br />
| Category types (1) || Restricted or public || Private, shared or public <br />
|-<br />
| Thread naming (2) || Topics || Tickets<br />
|-<br />
| Frontend users (3) || Members || Clients<br />
|-<br />
| Backend users (4) || Moderators || Supporters<br />
|-<br />
| colspan="2" |<br />
|}<br />
<br />
== Categories ==<br />
<br />
<br />
*[[File:Extensions-helpdesk-Category416.png]] '''Public Forum''': Everybody can read the forum, even non-logged in users. Only authorized members can however open topics or reply.<br />
*[[File:Extensions-helpdesk-Category316.png]] '''Restricted Forum''': The forum is visible only for authorized members.<br />
*[[File:Extensions-helpdesk-Category216.png]] '''Public Support''': Everybody can see all tickets, even non-logged in users. Only authorized clients can however open tickets or reply.<br />
*[[File:Extensions-helpdesk-Category116.png]] '''Shared Support''': All authorized clients can see and reply each others tickets, however only the owner has priviledge to close or delete his tickets. Create such a category for example for each company with a SLA((Service level agreement)) where multiple staff members shall have access to the tickets.<br />
*[[File:Extensions-helpdesk-Category016.png]] '''Private Support''': Only the ticket owner can see his tickets, but nobody else (admins and supporters authorized for the category can of course also see and reply to the tickets). Used for example for formal support of individuals.<br />
<br />
=== Topic vs. ticket status ===<br />
<br />
==== Topic status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0116.png]] '''Pinned up:''' Open topic that is listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1116.png]] '''Normal:''' A normal open topic. <br />
*[[File:Extensions-helpdesk-Ticket2116.png]] '''Closed:''' No further edits or replies are possible, listed at the end. <br />
<br />
==== Ticket status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0016.png]] '''Unanswered:''' The ticked is open and the latest post is from a client. Listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1016.png]] '''Answered:''' The ticket is open and the latest post is from a supporter. <br />
*[[File:Extensions-helpdesk-Ticket2016.png]] '''Closed:''' Issue solved. No further edits or replies are possible, the owner may reopen it however in case. Listed at the end. <br />
<br />
=== Members and Clients ===<br />
<br />
Forum members and support clients are either "frontend members" or "backend users" in terms of TYPOlight, and belong to a member/user group authorized for the respective category. The client opening a ticket has special "owner" rights in the support type categories: He has authorization to close or delete (5) his tickets.<br />
<br />
=== Admin, Moderators and Supporters ===<br />
<br />
Moderators and supporters are either TYPOlight backend users or frontend members, and belong to a user group authorized as moderator/supporter for the respective category. They have special rights to see unpublished, to pinup, edit, unpublish or delete any topic, ticket or message.<br />
<br />
Contao admins are special backend users and appear as moderator or supporter, he/she is automaticly authorized for all categories. Additionally the admins have authorization to administrative operations, e.g. create or delete categories or change category settings. Also admins are the only ones who can see unpublished categories.<br />
<br />
=== Deletion levels ===<br />
<br />
Tickets and messages are not permanently deleted, but only unpublished from frontend when a ticket owner or member/client "deletes" them. They are still available for moderators and supporters however, mainly to serve as a knowledge resource. Tickets and messages can be permanently deleted only by admins, moderators and supporters.<br />
<br />
== Installation and Setup ==<br />
<br />
=== Requirements ===<br />
<br />
*PHP from version 5.2.0<br />
*Other requirements like [[http://www.contao.org/system-requirements.html|TYPOlight]]<br />
<br />
=== Manual Installation ===<br />
<br />
*Install these required extensions in advance: [[extensions:avatar]], [[extensions:cron]], [[http://www.typolight.org/extension-list/view/geshi.en.html|geshi]]<br />
*Download the install package from [[http://www.typolight.org/extension-list/view/helpdesk.en.html|here]].<br />
*Unzip the content of TL_ROOT to the TYPOlight base directory on your webserver.<br />
*Unzip the content of TL_FILES to the tl_files directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki><br />
*Enter the installation password and click '''Login'''<br />
*Scroll down to '''Update database tables''' and click on '''Update database'''<br />
<br />
=== Site structure settings ===<br />
<br />
The page where the forum/helpdesk is located should have caching disabled, e.g:<br />
<br />
[[File:Extensions-helpdesk-Hd200.png |Cache Settings]]<br />
<br />
=== Page layout adjustment ===<br />
<br />
The module will also work without this, however it will look poor in the frontend.<br />
<br />
Go to '''Page layouts''' and change the layout for the pages that will display the forum/helpdesk. This might be a special layout you make for the forum/helpdesk pages, or the '''Default layout'''.<br />
<br />
Scroll down to '''Additional <nowiki>‹head›</nowiki> tags''' and append the following lines to whatever might allready be in there:<br />
<br />
<source lang="php"><br />
<link rel="stylesheet" <br />
href="system/modules/helpdesk/themes/default/frontend.css" <br />
type="text/css" <br />
media="screen,projection,print" /><br />
<!--[if lte IE 6]><br />
<style type="text/css"><br />
.pngfix { behavior:url("system/modules/helpdesk/themes/default/pngfix.htc") }<br />
</style><br />
<![endif]--><br />
</source><br />
<br />
== Custom themes and templates ==<br />
<br />
=== Backend themes ===<br />
<br />
To create the theme //mysite// you would first of cause create a new TYPOlight backend theme folder /system/themes/mysite and activate it in in the //Settings//. <br />
<br />
Then likewise you would create a folder system/modules/helpdesk/themes/mysite, copy the CSS files from the adjaccent //default// folder and make your adjustments to them. Please note that because of the automatic fallback it is //not// necessary to copy all the images from the //default// theme. In case you want your own icons, just create a subfolder //images// and put them in there; any icons not found there will be taken from the //default// theme.<br />
<br />
=== Frontend themes ===<br />
<br />
Copy the CSS files from system/modules/helpdesk/themes/default to your custom frontend theme folder and make the desired adjustments. Don't forget to adjust the //Page layout// as explained before to use your custom stylesheet instead of the default one.<br />
<br />
You may want to replace some or all of the default forum/helpdesk icons too. Just put your custom icons into an //images// folder below your custom theme. Then enter the path of your images folder in the helpdesk settings. Again there is a fallback built in, so any icon not found in your custom images folder will be taken from the //default// backend theme.<br />
<br />
Instead of PNG you may use GIF icons. In case both, a GIF //and// a PNG icon is found, the PNG has precedence.<br />
<br />
=== Templates ===<br />
<br />
In case you need to customize the default templates, just copy the files of interest from /system/modules/helpdesk/templates to /templates and make your adjustments. <br />
<br />
Please note that the template files are used for both, frontend //and// backend.<br />
<br />
<br />
=== "Personal data" Module ===<br />
<br />
{{note|As of TYPOlight 2.5.0 it is no longer required to edit the file ModulePersonalData.php; the hook is now included in the core file. However you still need to select the template ''member_grouped_helpdesk'' up to 2.5.9. Since TYPOlight 2.6.0 you also no longer need ''member_grouped_helpdesk'' because all necessary changes got included in ''member_grouped''.}}<br />
<br />
<br />
You may want to give your frontend members the option to subscribe themself for email noification with the ''Personal data'' module. This will work right out of the box when you are using the template ''member_default''.<br />
<br />
However when using the template ''member_grouped' you won't see the Forum/Helpdesk settings with the TYPOlight releases before 2.5.0. There is a workaround to use the grouped member display right now, which requires a small hack:<br />
<br />
Edit the file /system/modules/frontend/ModulePersonalData.php and find this code:<br />
<br />
<source lang="php">// HOOK: add newsletter fields<br />
if (in_array('newsletter', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->newsletter = $arrFields['newsletter'];<br />
$this->Template->newsletterDetails = $GLOBALS['TL_LANG']['tl_member']['newsletterDetails'];<br />
}</source><br />
<br />
Now add the following code immediately below:<br />
<br />
<source lang="php">// HOOK: add helpdesk fields<br />
if (in_array('helpdesk', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->helpdesk = $arrFields['helpdesk'];<br />
$this->Template->helpdeskDetails = $GLOBALS['TL_LANG']['tl_member']['helpdeskDetails'];<br />
}</source><br />
<br />
Finally, go to the ''Personal data'' module and select the template ''member_grouped_helpdesk''.<br />
<br />
The layout may look somewhat messy by default, here is a suggestion to add to your CSS of the respective page:<br />
<br />
<source lang="css"><br />
.mod_personalData .checkbox_container span<br />
{<br />
display:block;<br />
white-space:nowrap;<br />
}<br />
<br />
.mod_personalData .checkbox_container span *<br />
{<br />
vertical-align:middle;<br />
}<br />
</source><br />
<br />
=== Enabling RSS Feeds ===<br />
<br />
To enable RSS feeds you need to:<br />
<br />
*Make settings in each category that you want feeds for<br />
*Make global settings in the TYPOlight settings<br />
*Add a rewrite rule to your .htaccess file<br />
*Optional: Add a link to the page header in case you want to display a feed icon in the browsers address field<br />
<br />
=== Category Settings ===<br />
<br />
In the category settings you need to enter the url of the page holding this category, plus check that RSS feeds are enabled. Repeat this for all categories where you want to have RSS feeds for:<br />
<br />
{{extensions:helpdesk:hd100.jpg|Category Settings}}<br />
<br />
=== Contao settings ===<br />
<br />
In the Contao settings enable the forum/helpdesk feeds, and then make settings for the maximum number of messages to display, the base name of the xml file (same as in the .htaccess below), the title and description of the feed. Please note that this title and description only comes into play for feeds of multiple categories, for single category feeds the title and description of the category is used:<br />
<br />
[[File:Extensions-helpdesk-Hd101.jpg|Contao Settings]]<br />
<br />
=== .htaccess Modification ===<br />
<br />
Add a rewrite rule such as below to your .htaccess file. Replace //helpdesk// by the term you defined as base name in the TYPOlight settings:<br />
<br />
<code>RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</code><br />
<br />
A typical complete .htaccess for TYPOlight 2.6.0 might be:<br />
<br />
<code><br />
# Enable mod_rewrite<br />
RewriteEngine On<br />
RewriteBase /<br />
<br />
# Block any URI protocol in the query string<br />
RewriteCond %{QUERY_STRING} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Block any URI protocol in the request<br />
RewriteCond %{REQUEST_URI} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Rewrite TYPOlight URLs<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule .*\.html$ index.php [L]<br />
<br />
# Dynamic RSS feeds for forum/helpdesk <br />
RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</code><br />
<br />
=== Add RSS icon link to page layout ===<br />
<br />
This is optional but very convenient for your users. In case you not yet have a distinct page layout for the forum/helpdesk, make a copy of the default page layout. Edit the layout and enter the following link to the //Additional head tags// input:<br />
<br />
<code><link rel="alternate" type="application/rss+xml" title="RSS" href="http://www.example.com/helpdesk0.xml" /></code><br />
<br />
Replace %%www.example.com%% by your site's url. The 0 tells to provide a feed over all categories the user has read access to. If you want to make a feed over the categories 4, 5 and 7 instead, the link would be helpdesk4,5,7.xml<br />
<br />
<br />
<br />
<br />
<br />
=== Email Import and Notification ===<br />
<br />
==== Email Settings ====<br />
<br />
To send out notifications and import email a batch program must run on a regular base. You need to install the [[extensions:cron|cron utility]] for this purpose. Below you find suggested settings for the two Forum/Helpdesk jobs. Use a time schedule that matches your needs; the samples below will execute once every minute.<br />
<br />
{{extensions:helpdesk:hd024.jpg|CRON Scheduler}}<br />
{{extensions:helpdesk:hd025.jpg|Import Job Settings}}<br />
{{extensions:helpdesk:hd026.jpg|Notification Job Settings}}<br />
<br />
==== Troubleshooting E-Mail Issues ====<br />
<br />
*Check if your servers are properly configured to send out mails by creating a test-newsletter and sending it to one of your mail accounts. Send it to another server than the one used for sending out the mail to make sure the mail is not getting caught in some spamfilters or lost in any black hole.<br />
*Using PHP Mail may work on well configured servers (which is not selve-evident these days, cheepo hosters are greeting). Use SMTP in case, that will work 100%.<br />
<br />
*A common mistake is to use a different domain in the notification sender address than in the mail account in the system settings. For example when your SMTP account in the system settings is <nowiki>admin@example.com</nowiki>, a notification sender address such as <nowiki>forum@banana.net</nowiki> is likely to fail because that would be "relaying" which is forbidden in well configured mail servers. Of cause there are exceptions from this rule, for example when the mail server is configured to handle both of those domains. Leave the notification sender address empty until notification works in case.<br />
*Switch the helpdesk logging to <nowiki>"debug"</nowiki> in the Contao system settings. You will find the log files at <nowiki>/system/logs/Helpdesk*.log</nowiki>. In case no log file gets created during the batch run, your directory permissions of /system/logs does not allow write access for the web server. In that case you can manually create the two files /system/logs/HelpdeskImport.log and /system/logs/HelpdeskNotify.log and give them read/write permissions for the web server (for example as chmod of 666).<br />
*For debugging it is time-consuming to always have to wait for the scheduler to run. You can disable the scheduler jobs and manually trigger the batch by calling these url's (replace <nowiki>%%www.example.com%%</nowiki> by your own url of cause): <br />
<source lang="php">%%http://www.example.com/system/modules/helpdesk/HelpdeskNotifyExec.php%%<br />
%%http://www.example.com/system/modules/helpdesk/HelpdeskImportExec.php%%</source><br />
You will most likely just see a blank page when executing, but then check the log files after execution to see the results.<br />
<br />
=== Manual upgrade from a previous version ===<br />
<br />
{{Caution|It is recommended to make backups of your files and your database before starting any upgrade.}}<br />
<br />
You can upgrade directly from any previous release, it is '''not''' necessary to install every version that was released between your old and new version of the application.<br />
<br />
It is optional to delete the files of the old version before installing a new release; you can choose to just overwrite the old files. However there might be obsolete files which will stay in your installation that way. So for a clean update I recommend to manually delete these files and folders in advance:<br />
<br />
*system/drivers/DC_HelpdeskTable.php<br />
*system/modules/helpdesk<br />
<br />
{{Caution|Do '''NOT''' delete the mysql tables and settings of the helpdesk application after removing the old files, neither with phpmyadmin nor by using the Contao install tool. Otherwise you will loose all your data and settings.}}<br />
<br />
Next the procedure is basicly the same as with a new installation from scratch:<br />
<br />
*Download the install package.<br />
*Unzip/upload to your TYPOlight base directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki> <br />
*Enter the installation password and click ''Login''<br />
*Scroll down to ''Update database tables'' <br />
*If any drops of obsolete table columns are due, they are by default unchecked. It is safe to check them now in order to have clean database. <br />
*Click on ''Update database'' to have the necessary database updates applied.<br />
<br />
{{note|After upgrading, you should read the change log to see what has changed and might need your attention.}}<br />
<br />
=== Optimizing full text search ===<br />
<br />
Full text search of mysql will by default not find any words shorter than 4 characters, or in the stopword list. <br />
<br />
To improve search I recommend to lower the minimum word length to 2, or even down to 1. In case your site is not english only, you might also want to disable the default stopword list (or apply [[http://members.unine.ch/jacques.savoy/clef/index.html|a customized one in your language]]).<br />
<br />
**Brief procedure:**<br />
<br />
* Edit the mysql configuration file<br />
* Restart the mysql server<br />
* Drop the fulltext indexes<br />
* Recreate the fulltext indexes<br />
<br />
<br />
**More detailed description (debian example):**<br />
<br />
Edit /etc/mysql/my.cnf\\<br />
Within the section **[mysqld]** edit or add the following lines:<br />
<br />
<code>#<br />
# Fulltext config<br />
#<br />
ft_min_word_len = 2<br />
ft_stopword_file = ""</code><br />
<br />
Restart mysql:<br />
<br />
/etc/init.d/mysql restart<br />
<br />
Check system vars in phpMyAdmin to make sure it worked:<br />
<br />
{{ :extensions:helpdesk:myvars1.png }}<br />
{{ :extensions:helpdesk:myvars2.png }}<br />
<br />
Drop the fulltext indexes from the tables tl_search, tl_helpdesk_tickets and tl_helpdesk_messages. Check also the tables of other installed extensions for fulltext indexes, and drop them as well:<br />
<br />
{{ :extensions:helpdesk:dropft3.png }}<br />
<br />
{{ :extensions:helpdesk:dropft1.png }}<br />
<br />
{{ :extensions:helpdesk:dropft2.png }}<br />
<br />
Use the TYPOlight installation or extension manager to recreate the indexes based on the new settings:<br />
<br />
{{ :extensions:helpdesk:makeft.png }}<br />
<br />
<br />
== Getting started ==<br />
<br />
Well this section is currently very brief. Only a few screenschots so far, but I guess you will figure out usage yourself with some TYPOlight experience. <br />
<br />
=== Create a new category ====<br />
<br />
{{extensions:helpdesk:hd111.png|Goto helpdesk structure}}<br />
<br />
{{extensions:helpdesk:hd110.png|Category overview}}<br />
<br />
{{extensions:helpdesk:hd113.png|Category editor}}<br />
{{extensions:helpdesk:hd114.png|Category editor}}<br />
{{extensions:helpdesk:hd115.png|Category editor}}<br />
{{extensions:helpdesk:hd116.png|Category editor}}<br />
{{extensions:helpdesk:hd117.png|Category editor}}<br />
<br />
=== Create a title module for the frontend ===<br />
<br />
Basicly a title module is not required, however it helps you structure your forums and helpdesks when you want to group the categories into blocks.<br />
<br />
{{extensions:helpdesk:hd118.png|Goto modules}}<br />
{{extensions:helpdesk:hd119.png|Add a module}}<br />
<br />
{{extensions:helpdesk:hd120.png|Title module settings}}<br />
{{extensions:helpdesk:hd121.png|Title module settings}}<br />
<br />
=== Create block modules for the frontend ===<br />
<br />
A forum/helpdesk block module displays a selection of categories in a block on the frontend. So the minimum to get started on frontend is one module of this type. In case you want to structure your categories you will make several of these modules:<br />
<br />
{{:extensions:helpdesk:hdblock.png|Block module settings}}</div>Lucinahttps://en.contaowiki.org/HelpdeskHelpdesk2012-02-18T14:23:57Z<p>Lucina: /* wiki syntax */</p>
<hr />
<div>{{stub}}<br />
[[de:Helpdesk]]<br />
= Forum and Helpdesk =<br />
{{Note|Parts of this documentation were created by Peter Koch / IBK Software AG. Peter Koch has licensed this content for use on contoawiki.org. Content in this page must not be copied, reproduced, republished, uploaded, posted, transmitted, distributed, or used for the creation of derivative works without IBK's prior written consent.}}<br />
{{Hint|http://web.archive.org/web/20101121033235/http://contifex.com/wiki/extensions:helpdesk}}<br />
{{Note|feel free to bring the content from the page above to our contaowiki!}} <br />
<br />
== Features ==<br />
[[File:Extensions-helpdesk-Hd130.png]]<br />
* Native TYPOlight application; fully integrated into TYPOlight user/member system.<br />
* Can be used as forum, as helpdesk ticketing system, or both at same time.<br />
* Both, frontend members and backend users, can be members/clients or moderators/supporters.<br />
* Multiple frontend modules with selected categories are possible; to be displayed on one or several pages, or embedded within articles.<br />
* Backend modules for configuration and forum participation.<br />
* Comprehensive and fast BBCode engine including tables, lists, several box types, syntax highlighting and more.<br />
* Popup windows for BBCode help and editor preview.<br />
* Email notification to subscribing users.<br />
* Email import to create new topics/tickets, as well as to reply to notifications.<br />
* Fully customizable layout and appearence by templates and themes.<br />
* Powerful search engine.<br />
* RSS feeds for any selection of categories.<br />
* Convenient moderator functions including cut/paste operations to move messages and topics<br />
<br />
<br />
== Abstract ==<br />
<br />
TYPOlight Forum/Helpdesk is a message board (forum) application designed to be as well used as a helpdesk ticketing system, for example to provide formal and informal support to customers or clients. The terminology and functions of the forum categories is slightly different than the support ticketing categories, but when you know the mapping you will immediately be familiar with the application:<br />
<br />
{| border="0" cellspacing="1" cellpadding="2"<br />
! !! '''Forum''' !! '''Helpdesk'''<br />
|-<br />
| Category types (1) || Restricted or public || Private, shared or public <br />
|-<br />
| Thread naming (2) || Topics || Tickets<br />
|-<br />
| Frontend users (3) || Members || Clients<br />
|-<br />
| Backend users (4) || Moderators || Supporters<br />
|-<br />
| colspan="2" |<br />
|}<br />
<br />
== Categories ==<br />
<br />
<br />
*[[File:Extensions-helpdesk-Category416.png]] '''Public Forum''': Everybody can read the forum, even non-logged in users. Only authorized members can however open topics or reply.<br />
*[[File:Extensions-helpdesk-Category316.png]] '''Restricted Forum''': The forum is visible only for authorized members.<br />
*[[File:Extensions-helpdesk-Category216.png]] '''Public Support''': Everybody can see all tickets, even non-logged in users. Only authorized clients can however open tickets or reply.<br />
*[[File:Extensions-helpdesk-Category116.png]] '''Shared Support''': All authorized clients can see and reply each others tickets, however only the owner has priviledge to close or delete his tickets. Create such a category for example for each company with a SLA((Service level agreement)) where multiple staff members shall have access to the tickets.<br />
*[[File:Extensions-helpdesk-Category016.png]] '''Private Support''': Only the ticket owner can see his tickets, but nobody else (admins and supporters authorized for the category can of course also see and reply to the tickets). Used for example for formal support of individuals.<br />
<br />
=== Topic vs. ticket status ===<br />
<br />
==== Topic status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0116.png]] '''Pinned up:''' Open topic that is listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1116.png]] '''Normal:''' A normal open topic. <br />
*[[File:Extensions-helpdesk-Ticket2116.png]] '''Closed:''' No further edits or replies are possible, listed at the end. <br />
<br />
==== Ticket status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0016.png]] '''Unanswered:''' The ticked is open and the latest post is from a client. Listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1016.png]] '''Answered:''' The ticket is open and the latest post is from a supporter. <br />
*[[File:Extensions-helpdesk-Ticket2016.png]] '''Closed:''' Issue solved. No further edits or replies are possible, the owner may reopen it however in case. Listed at the end. <br />
<br />
=== Members and Clients ===<br />
<br />
Forum members and support clients are either "frontend members" or "backend users" in terms of TYPOlight, and belong to a member/user group authorized for the respective category. The client opening a ticket has special "owner" rights in the support type categories: He has authorization to close or delete (5) his tickets.<br />
<br />
=== Admin, Moderators and Supporters ===<br />
<br />
Moderators and supporters are either TYPOlight backend users or frontend members, and belong to a user group authorized as moderator/supporter for the respective category. They have special rights to see unpublished, to pinup, edit, unpublish or delete any topic, ticket or message.<br />
<br />
Contao admins are special backend users and appear as moderator or supporter, he/she is automaticly authorized for all categories. Additionally the admins have authorization to administrative operations, e.g. create or delete categories or change category settings. Also admins are the only ones who can see unpublished categories.<br />
<br />
=== Deletion levels ===<br />
<br />
Tickets and messages are not permanently deleted, but only unpublished from frontend when a ticket owner or member/client "deletes" them. They are still available for moderators and supporters however, mainly to serve as a knowledge resource. Tickets and messages can be permanently deleted only by admins, moderators and supporters.<br />
<br />
== Installation and Setup ==<br />
<br />
=== Requirements ===<br />
<br />
*PHP from version 5.2.0<br />
*Other requirements like [[http://www.contao.org/system-requirements.html|TYPOlight]]<br />
<br />
=== Manual Installation ===<br />
<br />
*Install these required extensions in advance: [[extensions:avatar]], [[extensions:cron]], [[http://www.typolight.org/extension-list/view/geshi.en.html|geshi]]<br />
*Download the install package from [[http://www.typolight.org/extension-list/view/helpdesk.en.html|here]].<br />
*Unzip the content of TL_ROOT to the TYPOlight base directory on your webserver.<br />
*Unzip the content of TL_FILES to the tl_files directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki><br />
*Enter the installation password and click '''Login'''<br />
*Scroll down to '''Update database tables''' and click on '''Update database'''<br />
<br />
=== Site structure settings ===<br />
<br />
The page where the forum/helpdesk is located should have caching disabled, e.g:<br />
<br />
[[File:Extensions-helpdesk-Hd200.png |Cache Settings]]<br />
<br />
=== Page layout adjustment ===<br />
<br />
The module will also work without this, however it will look poor in the frontend.<br />
<br />
Go to '''Page layouts''' and change the layout for the pages that will display the forum/helpdesk. This might be a special layout you make for the forum/helpdesk pages, or the '''Default layout'''.<br />
<br />
Scroll down to '''Additional <nowiki>‹head›</nowiki> tags''' and append the following lines to whatever might allready be in there:<br />
<br />
<source lang="php"><br />
<link rel="stylesheet" <br />
href="system/modules/helpdesk/themes/default/frontend.css" <br />
type="text/css" <br />
media="screen,projection,print" /><br />
<!--[if lte IE 6]><br />
<style type="text/css"><br />
.pngfix { behavior:url("system/modules/helpdesk/themes/default/pngfix.htc") }<br />
</style><br />
<![endif]--><br />
</source><br />
<br />
== Custom themes and templates ==<br />
<br />
=== Backend themes ===<br />
<br />
To create the theme //mysite// you would first of cause create a new TYPOlight backend theme folder /system/themes/mysite and activate it in in the //Settings//. <br />
<br />
Then likewise you would create a folder system/modules/helpdesk/themes/mysite, copy the CSS files from the adjaccent //default// folder and make your adjustments to them. Please note that because of the automatic fallback it is //not// necessary to copy all the images from the //default// theme. In case you want your own icons, just create a subfolder //images// and put them in there; any icons not found there will be taken from the //default// theme.<br />
<br />
=== Frontend themes ===<br />
<br />
Copy the CSS files from system/modules/helpdesk/themes/default to your custom frontend theme folder and make the desired adjustments. Don't forget to adjust the //Page layout// as explained before to use your custom stylesheet instead of the default one.<br />
<br />
You may want to replace some or all of the default forum/helpdesk icons too. Just put your custom icons into an //images// folder below your custom theme. Then enter the path of your images folder in the helpdesk settings. Again there is a fallback built in, so any icon not found in your custom images folder will be taken from the //default// backend theme.<br />
<br />
Instead of PNG you may use GIF icons. In case both, a GIF //and// a PNG icon is found, the PNG has precedence.<br />
<br />
=== Templates ===<br />
<br />
In case you need to customize the default templates, just copy the files of interest from /system/modules/helpdesk/templates to /templates and make your adjustments. <br />
<br />
Please note that the template files are used for both, frontend //and// backend.<br />
<br />
<br />
=== "Personal data" Module ===<br />
<br />
{{note|As of TYPOlight 2.5.0 it is no longer required to edit the file ModulePersonalData.php; the hook is now included in the core file. However you still need to select the template ''member_grouped_helpdesk'' up to 2.5.9. Since TYPOlight 2.6.0 you also no longer need ''member_grouped_helpdesk'' because all necessary changes got included in ''member_grouped''.}}<br />
<br />
<br />
You may want to give your frontend members the option to subscribe themself for email noification with the ''Personal data'' module. This will work right out of the box when you are using the template ''member_default''.<br />
<br />
However when using the template ''member_grouped' you won't see the Forum/Helpdesk settings with the TYPOlight releases before 2.5.0. There is a workaround to use the grouped member display right now, which requires a small hack:<br />
<br />
Edit the file /system/modules/frontend/ModulePersonalData.php and find this code:<br />
<br />
<source lang="php">// HOOK: add newsletter fields<br />
if (in_array('newsletter', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->newsletter = $arrFields['newsletter'];<br />
$this->Template->newsletterDetails = $GLOBALS['TL_LANG']['tl_member']['newsletterDetails'];<br />
}</source><br />
<br />
Now add the following code immediately below:<br />
<br />
<source lang="php">// HOOK: add helpdesk fields<br />
if (in_array('helpdesk', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->helpdesk = $arrFields['helpdesk'];<br />
$this->Template->helpdeskDetails = $GLOBALS['TL_LANG']['tl_member']['helpdeskDetails'];<br />
}</source><br />
<br />
Finally, go to the ''Personal data'' module and select the template ''member_grouped_helpdesk''.<br />
<br />
The layout may look somewhat messy by default, here is a suggestion to add to your CSS of the respective page:<br />
<br />
<source lang="css"><br />
.mod_personalData .checkbox_container span<br />
{<br />
display:block;<br />
white-space:nowrap;<br />
}<br />
<br />
.mod_personalData .checkbox_container span *<br />
{<br />
vertical-align:middle;<br />
}<br />
</source><br />
<br />
=== Enabling RSS Feeds ===<br />
<br />
To enable RSS feeds you need to:<br />
<br />
*Make settings in each category that you want feeds for<br />
*Make global settings in the TYPOlight settings<br />
*Add a rewrite rule to your .htaccess file<br />
*Optional: Add a link to the page header in case you want to display a feed icon in the browsers address field<br />
<br />
=== Category Settings ===<br />
<br />
In the category settings you need to enter the url of the page holding this category, plus check that RSS feeds are enabled. Repeat this for all categories where you want to have RSS feeds for:<br />
<br />
{{extensions:helpdesk:hd100.jpg|Category Settings}}<br />
<br />
=== TYPOlight settings ===<br />
<br />
In the TYPOlight settings enable the forum/helpdesk feeds, and then make settings for the maximum number of messages to display, the base name of the xml file (same as in the .htaccess below), the title and description of the feed. Please note that this title and description only comes into play for feeds of multiple categories, for single category feeds the title and description of the category is used:<br />
<br />
{{extensions:helpdesk:hd101.jpg|TYPOlight Settings}}<br />
<br />
=== .htaccess Modification ===<br />
<br />
Add a rewrite rule such as below to your .htaccess file. Replace //helpdesk// by the term you defined as base name in the TYPOlight settings:<br />
<br />
<code>RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</code><br />
<br />
A typical complete .htaccess for TYPOlight 2.6.0 might be:<br />
<br />
<code><br />
# Enable mod_rewrite<br />
RewriteEngine On<br />
RewriteBase /<br />
<br />
# Block any URI protocol in the query string<br />
RewriteCond %{QUERY_STRING} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Block any URI protocol in the request<br />
RewriteCond %{REQUEST_URI} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Rewrite TYPOlight URLs<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule .*\.html$ index.php [L]<br />
<br />
# Dynamic RSS feeds for forum/helpdesk <br />
RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</code><br />
<br />
=== Add RSS icon link to page layout ===<br />
<br />
This is optional but very convenient for your users. In case you not yet have a distinct page layout for the forum/helpdesk, make a copy of the default page layout. Edit the layout and enter the following link to the //Additional head tags// input:<br />
<br />
<code><link rel="alternate" type="application/rss+xml" title="RSS" href="http://www.example.com/helpdesk0.xml" /></code><br />
<br />
Replace %%www.example.com%% by your site's url. The 0 tells to provide a feed over all categories the user has read access to. If you want to make a feed over the categories 4, 5 and 7 instead, the link would be helpdesk4,5,7.xml<br />
<br />
<br />
<br />
<br />
<br />
=== Email Import and Notification ===<br />
<br />
==== Email Settings ====<br />
<br />
To send out notifications and import email a batch program must run on a regular base. You need to install the [[extensions:cron|cron utility]] for this purpose. Below you find suggested settings for the two Forum/Helpdesk jobs. Use a time schedule that matches your needs; the samples below will execute once every minute.<br />
<br />
{{extensions:helpdesk:hd024.jpg|CRON Scheduler}}<br />
{{extensions:helpdesk:hd025.jpg|Import Job Settings}}<br />
{{extensions:helpdesk:hd026.jpg|Notification Job Settings}}<br />
<br />
==== Troubleshooting E-Mail Issues ====<br />
<br />
*Check if your servers are properly configured to send out mails by creating a test-newsletter and sending it to one of your mail accounts. Send it to another server than the one used for sending out the mail to make sure the mail is not getting caught in some spamfilters or lost in any black hole.<br />
*Using PHP Mail may work on well configured servers (which is not selve-evident these days, cheepo hosters are greeting). Use SMTP in case, that will work 100%.<br />
<br />
*A common mistake is to use a different domain in the notification sender address than in the mail account in the system settings. For example when your SMTP account in the system settings is <nowiki>admin@example.com</nowiki>, a notification sender address such as <nowiki>forum@banana.net</nowiki> is likely to fail because that would be "relaying" which is forbidden in well configured mail servers. Of cause there are exceptions from this rule, for example when the mail server is configured to handle both of those domains. Leave the notification sender address empty until notification works in case.<br />
*Switch the helpdesk logging to <nowiki>"debug"</nowiki> in the Contao system settings. You will find the log files at <nowiki>/system/logs/Helpdesk*.log</nowiki>. In case no log file gets created during the batch run, your directory permissions of /system/logs does not allow write access for the web server. In that case you can manually create the two files /system/logs/HelpdeskImport.log and /system/logs/HelpdeskNotify.log and give them read/write permissions for the web server (for example as chmod of 666).<br />
*For debugging it is time-consuming to always have to wait for the scheduler to run. You can disable the scheduler jobs and manually trigger the batch by calling these url's (replace <nowiki>%%www.example.com%%</nowiki> by your own url of cause): <br />
<source lang="php">%%http://www.example.com/system/modules/helpdesk/HelpdeskNotifyExec.php%%<br />
%%http://www.example.com/system/modules/helpdesk/HelpdeskImportExec.php%%</source><br />
You will most likely just see a blank page when executing, but then check the log files after execution to see the results.<br />
<br />
=== Manual upgrade from a previous version ===<br />
<br />
{{Caution|It is recommended to make backups of your files and your database before starting any upgrade.}}<br />
<br />
You can upgrade directly from any previous release, it is '''not''' necessary to install every version that was released between your old and new version of the application.<br />
<br />
It is optional to delete the files of the old version before installing a new release; you can choose to just overwrite the old files. However there might be obsolete files which will stay in your installation that way. So for a clean update I recommend to manually delete these files and folders in advance:<br />
<br />
*system/drivers/DC_HelpdeskTable.php<br />
*system/modules/helpdesk<br />
<br />
{{Caution|Do '''NOT''' delete the mysql tables and settings of the helpdesk application after removing the old files, neither with phpmyadmin nor by using the Contao install tool. Otherwise you will loose all your data and settings.}}<br />
<br />
Next the procedure is basicly the same as with a new installation from scratch:<br />
<br />
*Download the install package.<br />
*Unzip/upload to your TYPOlight base directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki> <br />
*Enter the installation password and click ''Login''<br />
*Scroll down to ''Update database tables'' <br />
*If any drops of obsolete table columns are due, they are by default unchecked. It is safe to check them now in order to have clean database. <br />
*Click on ''Update database'' to have the necessary database updates applied.<br />
<br />
{{note|After upgrading, you should read the change log to see what has changed and might need your attention.}}<br />
<br />
=== Optimizing full text search ===<br />
<br />
Full text search of mysql will by default not find any words shorter than 4 characters, or in the stopword list. <br />
<br />
To improve search I recommend to lower the minimum word length to 2, or even down to 1. In case your site is not english only, you might also want to disable the default stopword list (or apply [[http://members.unine.ch/jacques.savoy/clef/index.html|a customized one in your language]]).<br />
<br />
**Brief procedure:**<br />
<br />
* Edit the mysql configuration file<br />
* Restart the mysql server<br />
* Drop the fulltext indexes<br />
* Recreate the fulltext indexes<br />
<br />
<br />
**More detailed description (debian example):**<br />
<br />
Edit /etc/mysql/my.cnf\\<br />
Within the section **[mysqld]** edit or add the following lines:<br />
<br />
<code>#<br />
# Fulltext config<br />
#<br />
ft_min_word_len = 2<br />
ft_stopword_file = ""</code><br />
<br />
Restart mysql:<br />
<br />
/etc/init.d/mysql restart<br />
<br />
Check system vars in phpMyAdmin to make sure it worked:<br />
<br />
{{ :extensions:helpdesk:myvars1.png }}<br />
{{ :extensions:helpdesk:myvars2.png }}<br />
<br />
Drop the fulltext indexes from the tables tl_search, tl_helpdesk_tickets and tl_helpdesk_messages. Check also the tables of other installed extensions for fulltext indexes, and drop them as well:<br />
<br />
{{ :extensions:helpdesk:dropft3.png }}<br />
<br />
{{ :extensions:helpdesk:dropft1.png }}<br />
<br />
{{ :extensions:helpdesk:dropft2.png }}<br />
<br />
Use the TYPOlight installation or extension manager to recreate the indexes based on the new settings:<br />
<br />
{{ :extensions:helpdesk:makeft.png }}<br />
<br />
<br />
== Getting started ==<br />
<br />
Well this section is currently very brief. Only a few screenschots so far, but I guess you will figure out usage yourself with some TYPOlight experience. <br />
<br />
=== Create a new category ====<br />
<br />
{{extensions:helpdesk:hd111.png|Goto helpdesk structure}}<br />
<br />
{{extensions:helpdesk:hd110.png|Category overview}}<br />
<br />
{{extensions:helpdesk:hd113.png|Category editor}}<br />
{{extensions:helpdesk:hd114.png|Category editor}}<br />
{{extensions:helpdesk:hd115.png|Category editor}}<br />
{{extensions:helpdesk:hd116.png|Category editor}}<br />
{{extensions:helpdesk:hd117.png|Category editor}}<br />
<br />
=== Create a title module for the frontend ===<br />
<br />
Basicly a title module is not required, however it helps you structure your forums and helpdesks when you want to group the categories into blocks.<br />
<br />
{{extensions:helpdesk:hd118.png|Goto modules}}<br />
{{extensions:helpdesk:hd119.png|Add a module}}<br />
<br />
{{extensions:helpdesk:hd120.png|Title module settings}}<br />
{{extensions:helpdesk:hd121.png|Title module settings}}<br />
<br />
=== Create block modules for the frontend ===<br />
<br />
A forum/helpdesk block module displays a selection of categories in a block on the frontend. So the minimum to get started on frontend is one module of this type. In case you want to structure your categories you will make several of these modules:<br />
<br />
{{:extensions:helpdesk:hdblock.png|Block module settings}}</div>Lucinahttps://en.contaowiki.org/File:Extensions-helpdesk-Ticket1016.pngFile:Extensions-helpdesk-Ticket1016.png2012-02-18T14:22:25Z<p>Lucina: </p>
<hr />
<div></div>Lucinahttps://en.contaowiki.org/HelpdeskHelpdesk2012-02-18T14:21:31Z<p>Lucina: /* wiki syntax, images added */</p>
<hr />
<div>{{stub}}<br />
[[de:Helpdesk]]<br />
= Forum and Helpdesk =<br />
{{Note|Parts of this documentation were created by Peter Koch / IBK Software AG. Peter Koch has licensed this content for use on contoawiki.org. Content in this page must not be copied, reproduced, republished, uploaded, posted, transmitted, distributed, or used for the creation of derivative works without IBK's prior written consent.}}<br />
{{Hint|http://web.archive.org/web/20101121033235/http://contifex.com/wiki/extensions:helpdesk}}<br />
{{Note|feel free to bring the content from the page above to our contaowiki!}} <br />
<br />
== Features ==<br />
[[File:Extensions-helpdesk-Hd130.png]]<br />
* Native TYPOlight application; fully integrated into TYPOlight user/member system.<br />
* Can be used as forum, as helpdesk ticketing system, or both at same time.<br />
* Both, frontend members and backend users, can be members/clients or moderators/supporters.<br />
* Multiple frontend modules with selected categories are possible; to be displayed on one or several pages, or embedded within articles.<br />
* Backend modules for configuration and forum participation.<br />
* Comprehensive and fast BBCode engine including tables, lists, several box types, syntax highlighting and more.<br />
* Popup windows for BBCode help and editor preview.<br />
* Email notification to subscribing users.<br />
* Email import to create new topics/tickets, as well as to reply to notifications.<br />
* Fully customizable layout and appearence by templates and themes.<br />
* Powerful search engine.<br />
* RSS feeds for any selection of categories.<br />
* Convenient moderator functions including cut/paste operations to move messages and topics<br />
<br />
<br />
== Abstract ==<br />
<br />
TYPOlight Forum/Helpdesk is a message board (forum) application designed to be as well used as a helpdesk ticketing system, for example to provide formal and informal support to customers or clients. The terminology and functions of the forum categories is slightly different than the support ticketing categories, but when you know the mapping you will immediately be familiar with the application:<br />
<br />
{| border="0" cellspacing="1" cellpadding="2"<br />
! !! '''Forum''' !! '''Helpdesk'''<br />
|-<br />
| Category types (1) || Restricted or public || Private, shared or public <br />
|-<br />
| Thread naming (2) || Topics || Tickets<br />
|-<br />
| Frontend users (3) || Members || Clients<br />
|-<br />
| Backend users (4) || Moderators || Supporters<br />
|-<br />
| colspan="2" |<br />
|}<br />
<br />
== Categories ==<br />
<br />
<br />
*[[File:Extensions-helpdesk-Category416.png]] '''Public Forum''': Everybody can read the forum, even non-logged in users. Only authorized members can however open topics or reply.<br />
*[[File:Extensions-helpdesk-Category316.png]] '''Restricted Forum''': The forum is visible only for authorized members.<br />
*[[File:Extensions-helpdesk-Category216.png]] '''Public Support''': Everybody can see all tickets, even non-logged in users. Only authorized clients can however open tickets or reply.<br />
*[[File:Extensions-helpdesk-Category116.png]] '''Shared Support''': All authorized clients can see and reply each others tickets, however only the owner has priviledge to close or delete his tickets. Create such a category for example for each company with a SLA((Service level agreement)) where multiple staff members shall have access to the tickets.<br />
*[[File:Extensions-helpdesk-Category016.png]] '''Private Support''': Only the ticket owner can see his tickets, but nobody else (admins and supporters authorized for the category can of course also see and reply to the tickets). Used for example for formal support of individuals.<br />
<br />
=== Topic vs. ticket status ===<br />
<br />
==== Topic status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0116.png]] '''Pinned up:''' Open topic that is listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1116.png]] '''Normal:''' A normal open topic. <br />
*[[File:Extensions-helpdesk-Ticket2116.png]] '''Closed:''' No further edits or replies are possible, listed at the end. <br />
<br />
==== Ticket status ====<br />
<br />
*[[File:Extensions-helpdesk-Ticket0016.png]] '''Unanswered:''' The ticked is open and the latest post is from a client. Listed on the top. <br />
*[[File:Extensions-helpdesk-Ticket1016.png]] '''Answered:''' The ticket is open and the latest post is from a supporter. <br />
*[[File:Extensions-helpdesk-Ticket2016.png]] '''Closed:''' Issue solved. No further edits or replies are possible, the owner may reopen it however in case. Listed at the end. <br />
<br />
=== Members and Clients ===<br />
<br />
Forum members and support clients are either "frontend members" or "backend users" in terms of TYPOlight, and belong to a member/user group authorized for the respective category. The client opening a ticket has special "owner" rights in the support type categories: He has authorization to close or delete (5) his tickets.<br />
<br />
=== Admin, Moderators and Supporters ===<br />
<br />
Moderators and supporters are either TYPOlight backend users or frontend members, and belong to a user group authorized as moderator/supporter for the respective category. They have special rights to see unpublished, to pinup, edit, unpublish or delete any topic, ticket or message.<br />
<br />
Contao admins are special backend users and appear as moderator or supporter, he/she is automaticly authorized for all categories. Additionally the admins have authorization to administrative operations, e.g. create or delete categories or change category settings. Also admins are the only ones who can see unpublished categories.<br />
<br />
=== Deletion levels ===<br />
<br />
Tickets and messages are not permanently deleted, but only unpublished from frontend when a ticket owner or member/client "deletes" them. They are still available for moderators and supporters however, mainly to serve as a knowledge resource. Tickets and messages can be permanently deleted only by admins, moderators and supporters.<br />
<br />
== Installation and Setup ==<br />
<br />
=== Requirements ===<br />
<br />
*PHP from version 5.2.0<br />
*Other requirements like [[http://www.contao.org/system-requirements.html|TYPOlight]]<br />
<br />
=== Manual Installation ===<br />
<br />
*Install these required extensions in advance: [[extensions:avatar]], [[extensions:cron]], [[http://www.typolight.org/extension-list/view/geshi.en.html|geshi]]<br />
*Download the install package from [[http://www.typolight.org/extension-list/view/helpdesk.en.html|here]].<br />
*Unzip the content of TL_ROOT to the TYPOlight base directory on your webserver.<br />
*Unzip the content of TL_FILES to the tl_files directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki><br />
*Enter the installation password and click '''Login'''<br />
*Scroll down to '''Update database tables''' and click on '''Update database'''<br />
<br />
=== Site structure settings ===<br />
<br />
The page where the forum/helpdesk is located should have caching disabled, e.g:<br />
<br />
{{ :extensions:helpdesk:hd200.png |Cache Settings}}<br />
<br />
=== Page layout adjustment ===<br />
<br />
The module will also work without this, however it will look poor in the frontend.<br />
<br />
Go to '''Page layouts''' and change the layout for the pages that will display the forum/helpdesk. This might be a special layout you make for the forum/helpdesk pages, or the '''Default layout'''.<br />
<br />
Scroll down to '''Additional <nowiki>‹head›</nowiki> tags''' and append the following lines to whatever might allready be in there:<br />
<br />
<source lang="php"><br />
<link rel="stylesheet" <br />
href="system/modules/helpdesk/themes/default/frontend.css" <br />
type="text/css" <br />
media="screen,projection,print" /><br />
<!--[if lte IE 6]><br />
<style type="text/css"><br />
.pngfix { behavior:url("system/modules/helpdesk/themes/default/pngfix.htc") }<br />
</style><br />
<![endif]--><br />
</source><br />
<br />
== Custom themes and templates ==<br />
<br />
=== Backend themes ===<br />
<br />
To create the theme //mysite// you would first of cause create a new TYPOlight backend theme folder /system/themes/mysite and activate it in in the //Settings//. <br />
<br />
Then likewise you would create a folder system/modules/helpdesk/themes/mysite, copy the CSS files from the adjaccent //default// folder and make your adjustments to them. Please note that because of the automatic fallback it is //not// necessary to copy all the images from the //default// theme. In case you want your own icons, just create a subfolder //images// and put them in there; any icons not found there will be taken from the //default// theme.<br />
<br />
=== Frontend themes ===<br />
<br />
Copy the CSS files from system/modules/helpdesk/themes/default to your custom frontend theme folder and make the desired adjustments. Don't forget to adjust the //Page layout// as explained before to use your custom stylesheet instead of the default one.<br />
<br />
You may want to replace some or all of the default forum/helpdesk icons too. Just put your custom icons into an //images// folder below your custom theme. Then enter the path of your images folder in the helpdesk settings. Again there is a fallback built in, so any icon not found in your custom images folder will be taken from the //default// backend theme.<br />
<br />
Instead of PNG you may use GIF icons. In case both, a GIF //and// a PNG icon is found, the PNG has precedence.<br />
<br />
=== Templates ===<br />
<br />
In case you need to customize the default templates, just copy the files of interest from /system/modules/helpdesk/templates to /templates and make your adjustments. <br />
<br />
Please note that the template files are used for both, frontend //and// backend.<br />
<br />
<br />
=== "Personal data" Module ===<br />
<br />
{{note|As of TYPOlight 2.5.0 it is no longer required to edit the file ModulePersonalData.php; the hook is now included in the core file. However you still need to select the template ''member_grouped_helpdesk'' up to 2.5.9. Since TYPOlight 2.6.0 you also no longer need ''member_grouped_helpdesk'' because all necessary changes got included in ''member_grouped''.}}<br />
<br />
<br />
You may want to give your frontend members the option to subscribe themself for email noification with the ''Personal data'' module. This will work right out of the box when you are using the template ''member_default''.<br />
<br />
However when using the template ''member_grouped' you won't see the Forum/Helpdesk settings with the TYPOlight releases before 2.5.0. There is a workaround to use the grouped member display right now, which requires a small hack:<br />
<br />
Edit the file /system/modules/frontend/ModulePersonalData.php and find this code:<br />
<br />
<source lang="php">// HOOK: add newsletter fields<br />
if (in_array('newsletter', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->newsletter = $arrFields['newsletter'];<br />
$this->Template->newsletterDetails = $GLOBALS['TL_LANG']['tl_member']['newsletterDetails'];<br />
}</source><br />
<br />
Now add the following code immediately below:<br />
<br />
<source lang="php">// HOOK: add helpdesk fields<br />
if (in_array('helpdesk', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->helpdesk = $arrFields['helpdesk'];<br />
$this->Template->helpdeskDetails = $GLOBALS['TL_LANG']['tl_member']['helpdeskDetails'];<br />
}</source><br />
<br />
Finally, go to the ''Personal data'' module and select the template ''member_grouped_helpdesk''.<br />
<br />
The layout may look somewhat messy by default, here is a suggestion to add to your CSS of the respective page:<br />
<br />
<source lang="css"><br />
.mod_personalData .checkbox_container span<br />
{<br />
display:block;<br />
white-space:nowrap;<br />
}<br />
<br />
.mod_personalData .checkbox_container span *<br />
{<br />
vertical-align:middle;<br />
}<br />
</source><br />
<br />
=== Enabling RSS Feeds ===<br />
<br />
To enable RSS feeds you need to:<br />
<br />
*Make settings in each category that you want feeds for<br />
*Make global settings in the TYPOlight settings<br />
*Add a rewrite rule to your .htaccess file<br />
*Optional: Add a link to the page header in case you want to display a feed icon in the browsers address field<br />
<br />
=== Category Settings ===<br />
<br />
In the category settings you need to enter the url of the page holding this category, plus check that RSS feeds are enabled. Repeat this for all categories where you want to have RSS feeds for:<br />
<br />
{{extensions:helpdesk:hd100.jpg|Category Settings}}<br />
<br />
=== TYPOlight settings ===<br />
<br />
In the TYPOlight settings enable the forum/helpdesk feeds, and then make settings for the maximum number of messages to display, the base name of the xml file (same as in the .htaccess below), the title and description of the feed. Please note that this title and description only comes into play for feeds of multiple categories, for single category feeds the title and description of the category is used:<br />
<br />
{{extensions:helpdesk:hd101.jpg|TYPOlight Settings}}<br />
<br />
=== .htaccess Modification ===<br />
<br />
Add a rewrite rule such as below to your .htaccess file. Replace //helpdesk// by the term you defined as base name in the TYPOlight settings:<br />
<br />
<code>RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</code><br />
<br />
A typical complete .htaccess for TYPOlight 2.6.0 might be:<br />
<br />
<code><br />
# Enable mod_rewrite<br />
RewriteEngine On<br />
RewriteBase /<br />
<br />
# Block any URI protocol in the query string<br />
RewriteCond %{QUERY_STRING} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Block any URI protocol in the request<br />
RewriteCond %{REQUEST_URI} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Rewrite TYPOlight URLs<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule .*\.html$ index.php [L]<br />
<br />
# Dynamic RSS feeds for forum/helpdesk <br />
RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</code><br />
<br />
=== Add RSS icon link to page layout ===<br />
<br />
This is optional but very convenient for your users. In case you not yet have a distinct page layout for the forum/helpdesk, make a copy of the default page layout. Edit the layout and enter the following link to the //Additional head tags// input:<br />
<br />
<code><link rel="alternate" type="application/rss+xml" title="RSS" href="http://www.example.com/helpdesk0.xml" /></code><br />
<br />
Replace %%www.example.com%% by your site's url. The 0 tells to provide a feed over all categories the user has read access to. If you want to make a feed over the categories 4, 5 and 7 instead, the link would be helpdesk4,5,7.xml<br />
<br />
<br />
<br />
<br />
<br />
=== Email Import and Notification ===<br />
<br />
==== Email Settings ====<br />
<br />
To send out notifications and import email a batch program must run on a regular base. You need to install the [[extensions:cron|cron utility]] for this purpose. Below you find suggested settings for the two Forum/Helpdesk jobs. Use a time schedule that matches your needs; the samples below will execute once every minute.<br />
<br />
{{extensions:helpdesk:hd024.jpg|CRON Scheduler}}<br />
{{extensions:helpdesk:hd025.jpg|Import Job Settings}}<br />
{{extensions:helpdesk:hd026.jpg|Notification Job Settings}}<br />
<br />
==== Troubleshooting E-Mail Issues ====<br />
<br />
*Check if your servers are properly configured to send out mails by creating a test-newsletter and sending it to one of your mail accounts. Send it to another server than the one used for sending out the mail to make sure the mail is not getting caught in some spamfilters or lost in any black hole.<br />
*Using PHP Mail may work on well configured servers (which is not selve-evident these days, cheepo hosters are greeting). Use SMTP in case, that will work 100%.<br />
<br />
*A common mistake is to use a different domain in the notification sender address than in the mail account in the system settings. For example when your SMTP account in the system settings is <nowiki>admin@example.com</nowiki>, a notification sender address such as <nowiki>forum@banana.net</nowiki> is likely to fail because that would be "relaying" which is forbidden in well configured mail servers. Of cause there are exceptions from this rule, for example when the mail server is configured to handle both of those domains. Leave the notification sender address empty until notification works in case.<br />
*Switch the helpdesk logging to <nowiki>"debug"</nowiki> in the Contao system settings. You will find the log files at <nowiki>/system/logs/Helpdesk*.log</nowiki>. In case no log file gets created during the batch run, your directory permissions of /system/logs does not allow write access for the web server. In that case you can manually create the two files /system/logs/HelpdeskImport.log and /system/logs/HelpdeskNotify.log and give them read/write permissions for the web server (for example as chmod of 666).<br />
*For debugging it is time-consuming to always have to wait for the scheduler to run. You can disable the scheduler jobs and manually trigger the batch by calling these url's (replace <nowiki>%%www.example.com%%</nowiki> by your own url of cause): <br />
<source lang="php">%%http://www.example.com/system/modules/helpdesk/HelpdeskNotifyExec.php%%<br />
%%http://www.example.com/system/modules/helpdesk/HelpdeskImportExec.php%%</source><br />
You will most likely just see a blank page when executing, but then check the log files after execution to see the results.<br />
<br />
=== Manual upgrade from a previous version ===<br />
<br />
{{Caution|It is recommended to make backups of your files and your database before starting any upgrade.}}<br />
<br />
You can upgrade directly from any previous release, it is '''not''' necessary to install every version that was released between your old and new version of the application.<br />
<br />
It is optional to delete the files of the old version before installing a new release; you can choose to just overwrite the old files. However there might be obsolete files which will stay in your installation that way. So for a clean update I recommend to manually delete these files and folders in advance:<br />
<br />
*system/drivers/DC_HelpdeskTable.php<br />
*system/modules/helpdesk<br />
<br />
{{Caution|Do '''NOT''' delete the mysql tables and settings of the helpdesk application after removing the old files, neither with phpmyadmin nor by using the Contao install tool. Otherwise you will loose all your data and settings.}}<br />
<br />
Next the procedure is basicly the same as with a new installation from scratch:<br />
<br />
*Download the install package.<br />
*Unzip/upload to your TYPOlight base directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki> <br />
*Enter the installation password and click ''Login''<br />
*Scroll down to ''Update database tables'' <br />
*If any drops of obsolete table columns are due, they are by default unchecked. It is safe to check them now in order to have clean database. <br />
*Click on ''Update database'' to have the necessary database updates applied.<br />
<br />
{{note|After upgrading, you should read the change log to see what has changed and might need your attention.}}<br />
<br />
=== Optimizing full text search ===<br />
<br />
Full text search of mysql will by default not find any words shorter than 4 characters, or in the stopword list. <br />
<br />
To improve search I recommend to lower the minimum word length to 2, or even down to 1. In case your site is not english only, you might also want to disable the default stopword list (or apply [[http://members.unine.ch/jacques.savoy/clef/index.html|a customized one in your language]]).<br />
<br />
**Brief procedure:**<br />
<br />
* Edit the mysql configuration file<br />
* Restart the mysql server<br />
* Drop the fulltext indexes<br />
* Recreate the fulltext indexes<br />
<br />
<br />
**More detailed description (debian example):**<br />
<br />
Edit /etc/mysql/my.cnf\\<br />
Within the section **[mysqld]** edit or add the following lines:<br />
<br />
<code>#<br />
# Fulltext config<br />
#<br />
ft_min_word_len = 2<br />
ft_stopword_file = ""</code><br />
<br />
Restart mysql:<br />
<br />
/etc/init.d/mysql restart<br />
<br />
Check system vars in phpMyAdmin to make sure it worked:<br />
<br />
{{ :extensions:helpdesk:myvars1.png }}<br />
{{ :extensions:helpdesk:myvars2.png }}<br />
<br />
Drop the fulltext indexes from the tables tl_search, tl_helpdesk_tickets and tl_helpdesk_messages. Check also the tables of other installed extensions for fulltext indexes, and drop them as well:<br />
<br />
{{ :extensions:helpdesk:dropft3.png }}<br />
<br />
{{ :extensions:helpdesk:dropft1.png }}<br />
<br />
{{ :extensions:helpdesk:dropft2.png }}<br />
<br />
Use the TYPOlight installation or extension manager to recreate the indexes based on the new settings:<br />
<br />
{{ :extensions:helpdesk:makeft.png }}<br />
<br />
<br />
== Getting started ==<br />
<br />
Well this section is currently very brief. Only a few screenschots so far, but I guess you will figure out usage yourself with some TYPOlight experience. <br />
<br />
=== Create a new category ====<br />
<br />
{{extensions:helpdesk:hd111.png|Goto helpdesk structure}}<br />
<br />
{{extensions:helpdesk:hd110.png|Category overview}}<br />
<br />
{{extensions:helpdesk:hd113.png|Category editor}}<br />
{{extensions:helpdesk:hd114.png|Category editor}}<br />
{{extensions:helpdesk:hd115.png|Category editor}}<br />
{{extensions:helpdesk:hd116.png|Category editor}}<br />
{{extensions:helpdesk:hd117.png|Category editor}}<br />
<br />
=== Create a title module for the frontend ===<br />
<br />
Basicly a title module is not required, however it helps you structure your forums and helpdesks when you want to group the categories into blocks.<br />
<br />
{{extensions:helpdesk:hd118.png|Goto modules}}<br />
{{extensions:helpdesk:hd119.png|Add a module}}<br />
<br />
{{extensions:helpdesk:hd120.png|Title module settings}}<br />
{{extensions:helpdesk:hd121.png|Title module settings}}<br />
<br />
=== Create block modules for the frontend ===<br />
<br />
A forum/helpdesk block module displays a selection of categories in a block on the frontend. So the minimum to get started on frontend is one module of this type. In case you want to structure your categories you will make several of these modules:<br />
<br />
{{:extensions:helpdesk:hdblock.png|Block module settings}}</div>Lucinahttps://en.contaowiki.org/HelpdeskHelpdesk2012-02-18T14:15:08Z<p>Lucina: /* wiki syntax */</p>
<hr />
<div>{{stub}}<br />
[[de:Helpdesk]]<br />
= Forum and Helpdesk =<br />
{{Note|Parts of this documentation were created by Peter Koch / IBK Software AG. Peter Koch has licensed this content for use on contoawiki.org. Content in this page must not be copied, reproduced, republished, uploaded, posted, transmitted, distributed, or used for the creation of derivative works without IBK's prior written consent.}}<br />
{{Hint|http://web.archive.org/web/20101121033235/http://contifex.com/wiki/extensions:helpdesk}}<br />
{{Note|feel free to bring the content from the page above to our contaowiki!}} <br />
<br />
== Features ==<br />
[[File:Extensions-helpdesk-Hd130.png]]<br />
* Native TYPOlight application; fully integrated into TYPOlight user/member system.<br />
* Can be used as forum, as helpdesk ticketing system, or both at same time.<br />
* Both, frontend members and backend users, can be members/clients or moderators/supporters.<br />
* Multiple frontend modules with selected categories are possible; to be displayed on one or several pages, or embedded within articles.<br />
* Backend modules for configuration and forum participation.<br />
* Comprehensive and fast BBCode engine including tables, lists, several box types, syntax highlighting and more.<br />
* Popup windows for BBCode help and editor preview.<br />
* Email notification to subscribing users.<br />
* Email import to create new topics/tickets, as well as to reply to notifications.<br />
* Fully customizable layout and appearence by templates and themes.<br />
* Powerful search engine.<br />
* RSS feeds for any selection of categories.<br />
* Convenient moderator functions including cut/paste operations to move messages and topics<br />
<br />
<br />
== Abstract ==<br />
<br />
TYPOlight Forum/Helpdesk is a message board (forum) application designed to be as well used as a helpdesk ticketing system, for example to provide formal and informal support to customers or clients. The terminology and functions of the forum categories is slightly different than the support ticketing categories, but when you know the mapping you will immediately be familiar with the application:<br />
<br />
{| border="0" cellspacing="1" cellpadding="2"<br />
! !! '''Forum''' !! '''Helpdesk'''<br />
|-<br />
| Category types (1) || Restricted or public || Private, shared or public <br />
|-<br />
| Thread naming (2) || Topics || Tickets<br />
|-<br />
| Frontend users (3) || Members || Clients<br />
|-<br />
| Backend users (4) || Moderators || Supporters<br />
|-<br />
| colspan="2" |<br />
|}<br />
<br />
== Categories ==<br />
<br />
<br />
* [[File:Extensions-helpdesk-Category416.png]] '''Public Forum''': Everybody can read the forum, even non-logged in users. Only authorized members can however open topics or reply.<br />
<br />
* [[File:Extensions-helpdesk-Category316.png]] '''Restricted Forum''': The forum is visible only for authorized members.<br />
<br />
* [[File:Extensions-helpdesk-Category216.png]] '''Public Support''': Everybody can see all tickets, even non-logged in users. Only authorized clients can however open tickets or reply.<br />
<br />
* [[File:Extensions-helpdesk-Category116.png]] '''Shared Support''': All authorized clients can see and reply each others tickets, however only the owner has priviledge to close or delete his tickets. Create such a category for example for each company with a SLA((Service level agreement)) where multiple staff members shall have access to the tickets.<br />
<br />
* [[File:Extensions-helpdesk-Category016.png]] '''Private Support''': Only the ticket owner can see his tickets, but nobody else (admins and supporters authorized for the category can of course also see and reply to the tickets). Used for example for formal support of individuals.<br />
<br />
=== Topic vs. ticket status ===<br />
<br />
==== Topic status ====<br />
<br />
* {{extensions:helpdesk:ticket0116.png}}**Pinned up**: Open topic that is listed on the top. <br />
* {{extensions:helpdesk:ticket1116.png}}**Normal**: A normal open topic. <br />
* {{extensions:helpdesk:ticket2116.png}}**Closed**: No further edits or replies are possible, listed at the end. <br />
<br />
==== Ticket status ====<br />
<br />
* {{extensions:helpdesk:ticket0016.png}}**Unanswered**: The ticked is open and the latest post is from a client. Listed on the top. <br />
* {{extensions:helpdesk:ticket1016.png}}**Answered**: The ticket is open and the latest post is from a supporter. <br />
* {{extensions:helpdesk:ticket2016.png}}**Closed**: Issue solved. No further edits or replies are possible, the owner may reopen it however in case. Listed at the end. <br />
<br />
=== Members and Clients ===<br />
<br />
Forum members and support clients are either "frontend members" or "backend users" in terms of TYPOlight, and belong to a member/user group authorized for the respective category. The client opening a ticket has special "owner" rights in the support type categories: He has authorization to close or delete (5) his tickets.<br />
<br />
=== Admin, Moderators and Supporters ===<br />
<br />
Moderators and supporters are either TYPOlight backend users or frontend members, and belong to a user group authorized as moderator/supporter for the respective category. They have special rights to see unpublished, to pinup, edit, unpublish or delete any topic, ticket or message.<br />
<br />
TYPOlight admins are special backend users and appear as moderator or supporter, he/she is automaticly authorized for all categories. Additionally the admins have authorization to administrative operations, e.g. create or delete categories or change category settings. Also admins are the only ones who can see unpublished categories.<br />
<br />
=== Deletion levels ===<br />
<br />
Tickets and messages are not permanently deleted, but only unpublished from frontend when a ticket owner or member/client "deletes" them. They are still available for moderators and supporters however, mainly to serve as a knowledge resource. Tickets and messages can be permanently deleted only by admins, moderators and supporters.<br />
<br />
<br />
== Installation and Setup ==<br />
<br />
=== Requirements ===<br />
<br />
*PHP from version 5.2.0<br />
*Other requirements like [[http://www.contao.org/system-requirements.html|TYPOlight]]<br />
<br />
=== Manual Installation ===<br />
<br />
*Install these required extensions in advance: [[extensions:avatar]], [[extensions:cron]], [[http://www.typolight.org/extension-list/view/geshi.en.html|geshi]]<br />
*Download the install package from [[http://www.typolight.org/extension-list/view/helpdesk.en.html|here]].<br />
*Unzip the content of TL_ROOT to the TYPOlight base directory on your webserver.<br />
*Unzip the content of TL_FILES to the tl_files directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki><br />
*Enter the installation password and click '''Login'''<br />
*Scroll down to '''Update database tables''' and click on '''Update database'''<br />
<br />
=== Site structure settings ===<br />
<br />
The page where the forum/helpdesk is located should have caching disabled, e.g:<br />
<br />
{{ :extensions:helpdesk:hd200.png |Cache Settings}}<br />
<br />
=== Page layout adjustment ===<br />
<br />
The module will also work without this, however it will look poor in the frontend.<br />
<br />
Go to '''Page layouts''' and change the layout for the pages that will display the forum/helpdesk. This might be a special layout you make for the forum/helpdesk pages, or the '''Default layout'''.<br />
<br />
Scroll down to '''Additional <nowiki>‹head›</nowiki> tags''' and append the following lines to whatever might allready be in there:<br />
<br />
<source lang="php"><br />
<link rel="stylesheet" <br />
href="system/modules/helpdesk/themes/default/frontend.css" <br />
type="text/css" <br />
media="screen,projection,print" /><br />
<!--[if lte IE 6]><br />
<style type="text/css"><br />
.pngfix { behavior:url("system/modules/helpdesk/themes/default/pngfix.htc") }<br />
</style><br />
<![endif]--><br />
</source><br />
<br />
== Custom themes and templates ==<br />
<br />
=== Backend themes ===<br />
<br />
To create the theme //mysite// you would first of cause create a new TYPOlight backend theme folder /system/themes/mysite and activate it in in the //Settings//. <br />
<br />
Then likewise you would create a folder system/modules/helpdesk/themes/mysite, copy the CSS files from the adjaccent //default// folder and make your adjustments to them. Please note that because of the automatic fallback it is //not// necessary to copy all the images from the //default// theme. In case you want your own icons, just create a subfolder //images// and put them in there; any icons not found there will be taken from the //default// theme.<br />
<br />
=== Frontend themes ===<br />
<br />
Copy the CSS files from system/modules/helpdesk/themes/default to your custom frontend theme folder and make the desired adjustments. Don't forget to adjust the //Page layout// as explained before to use your custom stylesheet instead of the default one.<br />
<br />
You may want to replace some or all of the default forum/helpdesk icons too. Just put your custom icons into an //images// folder below your custom theme. Then enter the path of your images folder in the helpdesk settings. Again there is a fallback built in, so any icon not found in your custom images folder will be taken from the //default// backend theme.<br />
<br />
Instead of PNG you may use GIF icons. In case both, a GIF //and// a PNG icon is found, the PNG has precedence.<br />
<br />
=== Templates ===<br />
<br />
In case you need to customize the default templates, just copy the files of interest from /system/modules/helpdesk/templates to /templates and make your adjustments. <br />
<br />
Please note that the template files are used for both, frontend //and// backend.<br />
<br />
<br />
=== "Personal data" Module ===<br />
<br />
{{note|As of TYPOlight 2.5.0 it is no longer required to edit the file ModulePersonalData.php; the hook is now included in the core file. However you still need to select the template ''member_grouped_helpdesk'' up to 2.5.9. Since TYPOlight 2.6.0 you also no longer need ''member_grouped_helpdesk'' because all necessary changes got included in ''member_grouped''.}}<br />
<br />
<br />
You may want to give your frontend members the option to subscribe themself for email noification with the ''Personal data'' module. This will work right out of the box when you are using the template ''member_default''.<br />
<br />
However when using the template ''member_grouped' you won't see the Forum/Helpdesk settings with the TYPOlight releases before 2.5.0. There is a workaround to use the grouped member display right now, which requires a small hack:<br />
<br />
Edit the file /system/modules/frontend/ModulePersonalData.php and find this code:<br />
<br />
<source lang="php">// HOOK: add newsletter fields<br />
if (in_array('newsletter', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->newsletter = $arrFields['newsletter'];<br />
$this->Template->newsletterDetails = $GLOBALS['TL_LANG']['tl_member']['newsletterDetails'];<br />
}</source><br />
<br />
Now add the following code immediately below:<br />
<br />
<source lang="php">// HOOK: add helpdesk fields<br />
if (in_array('helpdesk', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->helpdesk = $arrFields['helpdesk'];<br />
$this->Template->helpdeskDetails = $GLOBALS['TL_LANG']['tl_member']['helpdeskDetails'];<br />
}</source><br />
<br />
Finally, go to the ''Personal data'' module and select the template ''member_grouped_helpdesk''.<br />
<br />
The layout may look somewhat messy by default, here is a suggestion to add to your CSS of the respective page:<br />
<br />
<source lang="css"><br />
.mod_personalData .checkbox_container span<br />
{<br />
display:block;<br />
white-space:nowrap;<br />
}<br />
<br />
.mod_personalData .checkbox_container span *<br />
{<br />
vertical-align:middle;<br />
}<br />
</source><br />
<br />
=== Enabling RSS Feeds ===<br />
<br />
To enable RSS feeds you need to:<br />
<br />
*Make settings in each category that you want feeds for<br />
*Make global settings in the TYPOlight settings<br />
*Add a rewrite rule to your .htaccess file<br />
*Optional: Add a link to the page header in case you want to display a feed icon in the browsers address field<br />
<br />
=== Category Settings ===<br />
<br />
In the category settings you need to enter the url of the page holding this category, plus check that RSS feeds are enabled. Repeat this for all categories where you want to have RSS feeds for:<br />
<br />
{{extensions:helpdesk:hd100.jpg|Category Settings}}<br />
<br />
=== TYPOlight settings ===<br />
<br />
In the TYPOlight settings enable the forum/helpdesk feeds, and then make settings for the maximum number of messages to display, the base name of the xml file (same as in the .htaccess below), the title and description of the feed. Please note that this title and description only comes into play for feeds of multiple categories, for single category feeds the title and description of the category is used:<br />
<br />
{{extensions:helpdesk:hd101.jpg|TYPOlight Settings}}<br />
<br />
=== .htaccess Modification ===<br />
<br />
Add a rewrite rule such as below to your .htaccess file. Replace //helpdesk// by the term you defined as base name in the TYPOlight settings:<br />
<br />
<code>RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</code><br />
<br />
A typical complete .htaccess for TYPOlight 2.6.0 might be:<br />
<br />
<code><br />
# Enable mod_rewrite<br />
RewriteEngine On<br />
RewriteBase /<br />
<br />
# Block any URI protocol in the query string<br />
RewriteCond %{QUERY_STRING} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Block any URI protocol in the request<br />
RewriteCond %{REQUEST_URI} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Rewrite TYPOlight URLs<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule .*\.html$ index.php [L]<br />
<br />
# Dynamic RSS feeds for forum/helpdesk <br />
RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</code><br />
<br />
=== Add RSS icon link to page layout ===<br />
<br />
This is optional but very convenient for your users. In case you not yet have a distinct page layout for the forum/helpdesk, make a copy of the default page layout. Edit the layout and enter the following link to the //Additional head tags// input:<br />
<br />
<code><link rel="alternate" type="application/rss+xml" title="RSS" href="http://www.example.com/helpdesk0.xml" /></code><br />
<br />
Replace %%www.example.com%% by your site's url. The 0 tells to provide a feed over all categories the user has read access to. If you want to make a feed over the categories 4, 5 and 7 instead, the link would be helpdesk4,5,7.xml<br />
<br />
<br />
<br />
<br />
<br />
=== Email Import and Notification ===<br />
<br />
==== Email Settings ====<br />
<br />
To send out notifications and import email a batch program must run on a regular base. You need to install the [[extensions:cron|cron utility]] for this purpose. Below you find suggested settings for the two Forum/Helpdesk jobs. Use a time schedule that matches your needs; the samples below will execute once every minute.<br />
<br />
{{extensions:helpdesk:hd024.jpg|CRON Scheduler}}<br />
{{extensions:helpdesk:hd025.jpg|Import Job Settings}}<br />
{{extensions:helpdesk:hd026.jpg|Notification Job Settings}}<br />
<br />
==== Troubleshooting E-Mail Issues ====<br />
<br />
*Check if your servers are properly configured to send out mails by creating a test-newsletter and sending it to one of your mail accounts. Send it to another server than the one used for sending out the mail to make sure the mail is not getting caught in some spamfilters or lost in any black hole.<br />
*Using PHP Mail may work on well configured servers (which is not selve-evident these days, cheepo hosters are greeting). Use SMTP in case, that will work 100%.<br />
<br />
*A common mistake is to use a different domain in the notification sender address than in the mail account in the system settings. For example when your SMTP account in the system settings is <nowiki>admin@example.com</nowiki>, a notification sender address such as <nowiki>forum@banana.net</nowiki> is likely to fail because that would be "relaying" which is forbidden in well configured mail servers. Of cause there are exceptions from this rule, for example when the mail server is configured to handle both of those domains. Leave the notification sender address empty until notification works in case.<br />
*Switch the helpdesk logging to <nowiki>"debug"</nowiki> in the Contao system settings. You will find the log files at <nowiki>/system/logs/Helpdesk*.log</nowiki>. In case no log file gets created during the batch run, your directory permissions of /system/logs does not allow write access for the web server. In that case you can manually create the two files /system/logs/HelpdeskImport.log and /system/logs/HelpdeskNotify.log and give them read/write permissions for the web server (for example as chmod of 666).<br />
*For debugging it is time-consuming to always have to wait for the scheduler to run. You can disable the scheduler jobs and manually trigger the batch by calling these url's (replace <nowiki>%%www.example.com%%</nowiki> by your own url of cause): <br />
<source lang="php">%%http://www.example.com/system/modules/helpdesk/HelpdeskNotifyExec.php%%<br />
%%http://www.example.com/system/modules/helpdesk/HelpdeskImportExec.php%%</source><br />
You will most likely just see a blank page when executing, but then check the log files after execution to see the results.<br />
<br />
=== Manual upgrade from a previous version ===<br />
<br />
{{Caution|It is recommended to make backups of your files and your database before starting any upgrade.}}<br />
<br />
You can upgrade directly from any previous release, it is '''not''' necessary to install every version that was released between your old and new version of the application.<br />
<br />
It is optional to delete the files of the old version before installing a new release; you can choose to just overwrite the old files. However there might be obsolete files which will stay in your installation that way. So for a clean update I recommend to manually delete these files and folders in advance:<br />
<br />
*system/drivers/DC_HelpdeskTable.php<br />
*system/modules/helpdesk<br />
<br />
{{Caution|Do '''NOT''' delete the mysql tables and settings of the helpdesk application after removing the old files, neither with phpmyadmin nor by using the Contao install tool. Otherwise you will loose all your data and settings.}}<br />
<br />
Next the procedure is basicly the same as with a new installation from scratch:<br />
<br />
*Download the install package.<br />
*Unzip/upload to your TYPOlight base directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki> <br />
*Enter the installation password and click ''Login''<br />
*Scroll down to ''Update database tables'' <br />
*If any drops of obsolete table columns are due, they are by default unchecked. It is safe to check them now in order to have clean database. <br />
*Click on ''Update database'' to have the necessary database updates applied.<br />
<br />
{{note|After upgrading, you should read the change log to see what has changed and might need your attention.}}<br />
<br />
=== Optimizing full text search ===<br />
<br />
Full text search of mysql will by default not find any words shorter than 4 characters, or in the stopword list. <br />
<br />
To improve search I recommend to lower the minimum word length to 2, or even down to 1. In case your site is not english only, you might also want to disable the default stopword list (or apply [[http://members.unine.ch/jacques.savoy/clef/index.html|a customized one in your language]]).<br />
<br />
**Brief procedure:**<br />
<br />
* Edit the mysql configuration file<br />
* Restart the mysql server<br />
* Drop the fulltext indexes<br />
* Recreate the fulltext indexes<br />
<br />
<br />
**More detailed description (debian example):**<br />
<br />
Edit /etc/mysql/my.cnf\\<br />
Within the section **[mysqld]** edit or add the following lines:<br />
<br />
<code>#<br />
# Fulltext config<br />
#<br />
ft_min_word_len = 2<br />
ft_stopword_file = ""</code><br />
<br />
Restart mysql:<br />
<br />
/etc/init.d/mysql restart<br />
<br />
Check system vars in phpMyAdmin to make sure it worked:<br />
<br />
{{ :extensions:helpdesk:myvars1.png }}<br />
{{ :extensions:helpdesk:myvars2.png }}<br />
<br />
Drop the fulltext indexes from the tables tl_search, tl_helpdesk_tickets and tl_helpdesk_messages. Check also the tables of other installed extensions for fulltext indexes, and drop them as well:<br />
<br />
{{ :extensions:helpdesk:dropft3.png }}<br />
<br />
{{ :extensions:helpdesk:dropft1.png }}<br />
<br />
{{ :extensions:helpdesk:dropft2.png }}<br />
<br />
Use the TYPOlight installation or extension manager to recreate the indexes based on the new settings:<br />
<br />
{{ :extensions:helpdesk:makeft.png }}<br />
<br />
<br />
== Getting started ==<br />
<br />
Well this section is currently very brief. Only a few screenschots so far, but I guess you will figure out usage yourself with some TYPOlight experience. <br />
<br />
=== Create a new category ====<br />
<br />
{{extensions:helpdesk:hd111.png|Goto helpdesk structure}}<br />
<br />
{{extensions:helpdesk:hd110.png|Category overview}}<br />
<br />
{{extensions:helpdesk:hd113.png|Category editor}}<br />
{{extensions:helpdesk:hd114.png|Category editor}}<br />
{{extensions:helpdesk:hd115.png|Category editor}}<br />
{{extensions:helpdesk:hd116.png|Category editor}}<br />
{{extensions:helpdesk:hd117.png|Category editor}}<br />
<br />
=== Create a title module for the frontend ===<br />
<br />
Basicly a title module is not required, however it helps you structure your forums and helpdesks when you want to group the categories into blocks.<br />
<br />
{{extensions:helpdesk:hd118.png|Goto modules}}<br />
{{extensions:helpdesk:hd119.png|Add a module}}<br />
<br />
{{extensions:helpdesk:hd120.png|Title module settings}}<br />
{{extensions:helpdesk:hd121.png|Title module settings}}<br />
<br />
=== Create block modules for the frontend ===<br />
<br />
A forum/helpdesk block module displays a selection of categories in a block on the frontend. So the minimum to get started on frontend is one module of this type. In case you want to structure your categories you will make several of these modules:<br />
<br />
{{:extensions:helpdesk:hdblock.png|Block module settings}}</div>Lucinahttps://en.contaowiki.org/HelpdeskHelpdesk2012-02-18T14:09:18Z<p>Lucina: /* wiki syntax */</p>
<hr />
<div>{{stub}}<br />
[[de:Helpdesk]]<br />
= Forum and Helpdesk =<br />
{{Note|Parts of this documentation were created by Peter Koch / IBK Software AG. Peter Koch has licensed this content for use on contoawiki.org. Content in this page must not be copied, reproduced, republished, uploaded, posted, transmitted, distributed, or used for the creation of derivative works without IBK's prior written consent.}}<br />
{{Hint|http://web.archive.org/web/20101121033235/http://contifex.com/wiki/extensions:helpdesk}}<br />
{{Note|feel free to bring the content from the page above to our contaowiki!}} <br />
<br />
== Features ==<br />
[[File:Extensions-helpdesk-Hd130.png]]<br />
* Native TYPOlight application; fully integrated into TYPOlight user/member system.<br />
* Can be used as forum, as helpdesk ticketing system, or both at same time.<br />
* Both, frontend members and backend users, can be members/clients or moderators/supporters.<br />
* Multiple frontend modules with selected categories are possible; to be displayed on one or several pages, or embedded within articles.<br />
* Backend modules for configuration and forum participation.<br />
* Comprehensive and fast BBCode engine including tables, lists, several box types, syntax highlighting and more.<br />
* Popup windows for BBCode help and editor preview.<br />
* Email notification to subscribing users.<br />
* Email import to create new topics/tickets, as well as to reply to notifications.<br />
* Fully customizable layout and appearence by templates and themes.<br />
* Powerful search engine.<br />
* RSS feeds for any selection of categories.<br />
* Convenient moderator functions including cut/paste operations to move messages and topics<br />
<br />
<br />
== Abstract ==<br />
<br />
TYPOlight Forum/Helpdesk is a message board (forum) application designed to be as well used as a helpdesk ticketing system, for example to provide formal and informal support to customers or clients. The terminology and functions of the forum categories is slightly different than the support ticketing categories, but when you know the mapping you will immediately be familiar with the application:<br />
<br />
{| border="0" cellspacing="1" cellpadding="2"<br />
! !! '''Forum''' !! '''Helpdesk'''<br />
|-<br />
| Category types (1) || Restricted or public || Private, shared or public <br />
|-<br />
| Thread naming (2) || Topics || Tickets<br />
|-<br />
| Frontend users (3) || Members || Clients<br />
|-<br />
| Backend users (4) || Moderators || Supporters<br />
|-<br />
| colspan="2" |<br />
|}<br />
<br />
== Categories ==<br />
<br />
<br />
* [[File:Extensions-helpdesk-Category416.png]] '''Public Forum''': Everybody can read the forum, even non-logged in users. Only authorized members can however open topics or reply.<br />
<br />
* [[File:Extensions-helpdesk-Category316.png]] '''Restricted Forum''': The forum is visible only for authorized members.<br />
<br />
* [[File:Extensions-helpdesk-Category216.png]] '''Public Support''': Everybody can see all tickets, even non-logged in users. Only authorized clients can however open tickets or reply.<br />
<br />
* [[File:Extensions-helpdesk-Category116.png]] '''Shared Support''': All authorized clients can see and reply each others tickets, however only the owner has priviledge to close or delete his tickets. Create such a category for example for each company with a SLA((Service level agreement)) where multiple staff members shall have access to the tickets.<br />
<br />
* [[File:Extensions-helpdesk-Category016.png]] '''Private Support''': Only the ticket owner can see his tickets, but nobody else (admins and supporters authorized for the category can of course also see and reply to the tickets). Used for example for formal support of individuals.<br />
<br />
=== Topic vs. ticket status ===<br />
<br />
==== Topic status ====<br />
<br />
* {{extensions:helpdesk:ticket0116.png}}**Pinned up**: Open topic that is listed on the top. <br />
* {{extensions:helpdesk:ticket1116.png}}**Normal**: A normal open topic. <br />
* {{extensions:helpdesk:ticket2116.png}}**Closed**: No further edits or replies are possible, listed at the end. <br />
<br />
==== Ticket status ====<br />
<br />
* {{extensions:helpdesk:ticket0016.png}}**Unanswered**: The ticked is open and the latest post is from a client. Listed on the top. <br />
* {{extensions:helpdesk:ticket1016.png}}**Answered**: The ticket is open and the latest post is from a supporter. <br />
* {{extensions:helpdesk:ticket2016.png}}**Closed**: Issue solved. No further edits or replies are possible, the owner may reopen it however in case. Listed at the end. <br />
<br />
=== Members and Clients ===<br />
<br />
Forum members and support clients are either "frontend members" or "backend users" in terms of TYPOlight, and belong to a member/user group authorized for the respective category. The client opening a ticket has special "owner" rights in the support type categories: He has authorization to close or delete (5) his tickets.<br />
<br />
=== Admin, Moderators and Supporters ===<br />
<br />
Moderators and supporters are either TYPOlight backend users or frontend members, and belong to a user group authorized as moderator/supporter for the respective category. They have special rights to see unpublished, to pinup, edit, unpublish or delete any topic, ticket or message.<br />
<br />
TYPOlight admins are special backend users and appear as moderator or supporter, he/she is automaticly authorized for all categories. Additionally the admins have authorization to administrative operations, e.g. create or delete categories or change category settings. Also admins are the only ones who can see unpublished categories.<br />
<br />
=== Deletion levels ===<br />
<br />
Tickets and messages are not permanently deleted, but only unpublished from frontend when a ticket owner or member/client "deletes" them. They are still available for moderators and supporters however, mainly to serve as a knowledge resource. Tickets and messages can be permanently deleted only by admins, moderators and supporters.<br />
<br />
<br />
== Installation and Setup ==<br />
<br />
=== Requirements ===<br />
<br />
*PHP from version 5.2.0<br />
*Other requirements like [[http://www.contao.org/system-requirements.html|TYPOlight]]<br />
<br />
=== Manual Installation ===<br />
<br />
*Install these required extensions in advance: [[extensions:avatar]], [[extensions:cron]], [[http://www.typolight.org/extension-list/view/geshi.en.html|geshi]]<br />
*Download the install package from [[http://www.typolight.org/extension-list/view/helpdesk.en.html|here]].<br />
*Unzip the content of TL_ROOT to the TYPOlight base directory on your webserver.<br />
*Unzip the content of TL_FILES to the tl_files directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki><br />
*Enter the installation password and click '''Login'''<br />
*Scroll down to '''Update database tables''' and click on '''Update database'''<br />
<br />
=== Site structure settings ===<br />
<br />
The page where the forum/helpdesk is located should have caching disabled, e.g:<br />
<br />
{{ :extensions:helpdesk:hd200.png |Cache Settings}}<br />
<br />
=== Page layout adjustment ===<br />
<br />
The module will also work without this, however it will look poor in the frontend.<br />
<br />
Go to '''Page layouts''' and change the layout for the pages that will display the forum/helpdesk. This might be a special layout you make for the forum/helpdesk pages, or the '''Default layout'''.<br />
<br />
Scroll down to '''Additional <nowiki>‹head›</nowiki> tags''' and append the following lines to whatever might allready be in there:<br />
<br />
<source lang="php"><br />
<link rel="stylesheet" <br />
href="system/modules/helpdesk/themes/default/frontend.css" <br />
type="text/css" <br />
media="screen,projection,print" /><br />
<!--[if lte IE 6]><br />
<style type="text/css"><br />
.pngfix { behavior:url("system/modules/helpdesk/themes/default/pngfix.htc") }<br />
</style><br />
<![endif]--><br />
</source><br />
<br />
== Custom themes and templates ==<br />
<br />
=== Backend themes ===<br />
<br />
To create the theme //mysite// you would first of cause create a new TYPOlight backend theme folder /system/themes/mysite and activate it in in the //Settings//. <br />
<br />
Then likewise you would create a folder system/modules/helpdesk/themes/mysite, copy the CSS files from the adjaccent //default// folder and make your adjustments to them. Please note that because of the automatic fallback it is //not// necessary to copy all the images from the //default// theme. In case you want your own icons, just create a subfolder //images// and put them in there; any icons not found there will be taken from the //default// theme.<br />
<br />
=== Frontend themes ===<br />
<br />
Copy the CSS files from system/modules/helpdesk/themes/default to your custom frontend theme folder and make the desired adjustments. Don't forget to adjust the //Page layout// as explained before to use your custom stylesheet instead of the default one.<br />
<br />
You may want to replace some or all of the default forum/helpdesk icons too. Just put your custom icons into an //images// folder below your custom theme. Then enter the path of your images folder in the helpdesk settings. Again there is a fallback built in, so any icon not found in your custom images folder will be taken from the //default// backend theme.<br />
<br />
Instead of PNG you may use GIF icons. In case both, a GIF //and// a PNG icon is found, the PNG has precedence.<br />
<br />
=== Templates ===<br />
<br />
In case you need to customize the default templates, just copy the files of interest from /system/modules/helpdesk/templates to /templates and make your adjustments. <br />
<br />
Please note that the template files are used for both, frontend //and// backend.<br />
<br />
<br />
=== "Personal data" Module ===<br />
<br />
{{note|As of TYPOlight 2.5.0 it is no longer required to edit the file ModulePersonalData.php; the hook is now included in the core file. However you still need to select the template ''member_grouped_helpdesk'' up to 2.5.9. Since TYPOlight 2.6.0 you also no longer need ''member_grouped_helpdesk'' because all necessary changes got included in ''member_grouped''.}}<br />
<br />
<br />
You may want to give your frontend members the option to subscribe themself for email noification with the ''Personal data'' module. This will work right out of the box when you are using the template ''member_default''.<br />
<br />
However when using the template ''member_grouped' you won't see the Forum/Helpdesk settings with the TYPOlight releases before 2.5.0. There is a workaround to use the grouped member display right now, which requires a small hack:<br />
<br />
Edit the file /system/modules/frontend/ModulePersonalData.php and find this code:<br />
<br />
<source lang="php">// HOOK: add newsletter fields<br />
if (in_array('newsletter', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->newsletter = $arrFields['newsletter'];<br />
$this->Template->newsletterDetails = $GLOBALS['TL_LANG']['tl_member']['newsletterDetails'];<br />
}</source><br />
<br />
Now add the following code immediately below:<br />
<br />
<source lang="php">// HOOK: add helpdesk fields<br />
if (in_array('helpdesk', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->helpdesk = $arrFields['helpdesk'];<br />
$this->Template->helpdeskDetails = $GLOBALS['TL_LANG']['tl_member']['helpdeskDetails'];<br />
}</source><br />
<br />
Finally, go to the ''Personal data'' module and select the template ''member_grouped_helpdesk''.<br />
<br />
The layout may look somewhat messy by default, here is a suggestion to add to your CSS of the respective page:<br />
<br />
<source lang="css"><br />
.mod_personalData .checkbox_container span<br />
{<br />
display:block;<br />
white-space:nowrap;<br />
}<br />
<br />
.mod_personalData .checkbox_container span *<br />
{<br />
vertical-align:middle;<br />
}<br />
</source><br />
<br />
=== Enabling RSS Feeds ===<br />
<br />
To enable RSS feeds you need to:<br />
<br />
*Make settings in each category that you want feeds for<br />
*Make global settings in the TYPOlight settings<br />
*Add a rewrite rule to your .htaccess file<br />
*Optional: Add a link to the page header in case you want to display a feed icon in the browsers address field<br />
<br />
=== Category Settings ===<br />
<br />
In the category settings you need to enter the url of the page holding this category, plus check that RSS feeds are enabled. Repeat this for all categories where you want to have RSS feeds for:<br />
<br />
{{extensions:helpdesk:hd100.jpg|Category Settings}}<br />
<br />
=== TYPOlight settings ===<br />
<br />
In the TYPOlight settings enable the forum/helpdesk feeds, and then make settings for the maximum number of messages to display, the base name of the xml file (same as in the .htaccess below), the title and description of the feed. Please note that this title and description only comes into play for feeds of multiple categories, for single category feeds the title and description of the category is used:<br />
<br />
{{extensions:helpdesk:hd101.jpg|TYPOlight Settings}}<br />
<br />
=== .htaccess Modification ===<br />
<br />
Add a rewrite rule such as below to your .htaccess file. Replace //helpdesk// by the term you defined as base name in the TYPOlight settings:<br />
<br />
<code>RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</code><br />
<br />
A typical complete .htaccess for TYPOlight 2.6.0 might be:<br />
<br />
<code><br />
# Enable mod_rewrite<br />
RewriteEngine On<br />
RewriteBase /<br />
<br />
# Block any URI protocol in the query string<br />
RewriteCond %{QUERY_STRING} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Block any URI protocol in the request<br />
RewriteCond %{REQUEST_URI} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Rewrite TYPOlight URLs<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule .*\.html$ index.php [L]<br />
<br />
# Dynamic RSS feeds for forum/helpdesk <br />
RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</code><br />
<br />
=== Add RSS icon link to page layout ===<br />
<br />
This is optional but very convenient for your users. In case you not yet have a distinct page layout for the forum/helpdesk, make a copy of the default page layout. Edit the layout and enter the following link to the //Additional head tags// input:<br />
<br />
<code><link rel="alternate" type="application/rss+xml" title="RSS" href="http://www.example.com/helpdesk0.xml" /></code><br />
<br />
Replace %%www.example.com%% by your site's url. The 0 tells to provide a feed over all categories the user has read access to. If you want to make a feed over the categories 4, 5 and 7 instead, the link would be helpdesk4,5,7.xml<br />
<br />
<br />
<br />
<br />
<br />
=== Email Import and Notification ===<br />
<br />
==== Email Settings ====<br />
<br />
To send out notifications and import email a batch program must run on a regular base. You need to install the [[extensions:cron|cron utility]] for this purpose. Below you find suggested settings for the two Forum/Helpdesk jobs. Use a time schedule that matches your needs; the samples below will execute once every minute.<br />
<br />
{{extensions:helpdesk:hd024.jpg|CRON Scheduler}}<br />
{{extensions:helpdesk:hd025.jpg|Import Job Settings}}<br />
{{extensions:helpdesk:hd026.jpg|Notification Job Settings}}<br />
<br />
==== Troubleshooting E-Mail Issues ====<br />
<br />
*Check if your servers are properly configured to send out mails by creating a test-newsletter and sending it to one of your mail accounts. Send it to another server than the one used for sending out the mail to make sure the mail is not getting caught in some spamfilters or lost in any black hole.<br />
*Using PHP Mail may work on well configured servers (which is not selve-evident these days, cheepo hosters are greeting). Use SMTP in case, that will work 100%.<br />
<br />
*A common mistake is to use a different domain in the notification sender address than in the mail account in the system settings. For example when your SMTP account in the system settings is <nowiki>admin@example.com</nowiki>, a notification sender address such as <nowiki>forum@banana.net</nowiki> is likely to fail because that would be "relaying" which is forbidden in well configured mail servers. Of cause there are exceptions from this rule, for example when the mail server is configured to handle both of those domains. Leave the notification sender address empty until notification works in case.<br />
*Switch the helpdesk logging to <nowiki>"debug"</nowiki> in the Contao system settings. You will find the log files at <nowiki>/system/logs/Helpdesk*.log</nowiki>. In case no log file gets created during the batch run, your directory permissions of /system/logs does not allow write access for the web server. In that case you can manually create the two files /system/logs/HelpdeskImport.log and /system/logs/HelpdeskNotify.log and give them read/write permissions for the web server (for example as chmod of 666).<br />
*For debugging it is time-consuming to always have to wait for the scheduler to run. You can disable the scheduler jobs and manually trigger the batch by calling these url's (replace <nowiki>%%www.example.com%%</nowiki> by your own url of cause): <br />
<source lang="php">%%http://www.example.com/system/modules/helpdesk/HelpdeskNotifyExec.php%%<br />
%%http://www.example.com/system/modules/helpdesk/HelpdeskImportExec.php%%</source><br />
You will most likely just see a blank page when executing, but then check the log files after execution to see the results.<br />
<br />
=== Manual upgrade from a previous version ===<br />
<br />
**It is recommended to make backups of your files and your database before starting any upgrade.**<br />
<br />
You can upgrade directly from any previous release, it is //not// necessary to install every version that was released between your old and new version of the application.<br />
<br />
It is optional to delete the files of the old version before installing a new release; you can choose to just overwrite the old files. However there might be obsolete files which will stay in your installation that way. So for a clean update I recommend to manually delete these files and folders in advance:<br />
<br />
* system/drivers/DC_HelpdeskTable.php<br />
* system/modules/helpdesk<br />
<br />
<note warning>Do **NOT** delete the mysql tables and settings of the helpdesk application after removing the old files, neither with phpmyadmin nor by using the TYPOlight install tool. Otherwise you will loose all your data and settings.</note><br />
<br />
Next the procedure is basicly the same as with a new installation from scratch:<br />
<br />
* Download the install package.<br />
* Unzip/upload to your TYPOlight base directory on your webserver.<br />
* Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki> <br />
* Enter the installation password and click //Login//<br />
* Scroll down to //Update database tables// <br />
* If any drops of obsolete table columns are due, they are by default unchecked. It is safe to check them now in order to have clean database. <br />
* Click on //Update database// to have the necessary database updates applied.<br />
<br />
<note>**After upgrading, you should read the change log to see what has changed and might need your attention.**</note><br />
<br />
=== Optimizing full text search ===<br />
<br />
Full text search of mysql will by default not find any words shorter than 4 characters, or in the stopword list. <br />
<br />
To improve search I recommend to lower the minimum word length to 2, or even down to 1. In case your site is not english only, you might also want to disable the default stopword list (or apply [[http://members.unine.ch/jacques.savoy/clef/index.html|a customized one in your language]]).<br />
<br />
**Brief procedure:**<br />
<br />
* Edit the mysql configuration file<br />
* Restart the mysql server<br />
* Drop the fulltext indexes<br />
* Recreate the fulltext indexes<br />
<br />
<br />
**More detailed description (debian example):**<br />
<br />
Edit /etc/mysql/my.cnf\\<br />
Within the section **[mysqld]** edit or add the following lines:<br />
<br />
<code>#<br />
# Fulltext config<br />
#<br />
ft_min_word_len = 2<br />
ft_stopword_file = ""</code><br />
<br />
Restart mysql:<br />
<br />
/etc/init.d/mysql restart<br />
<br />
Check system vars in phpMyAdmin to make sure it worked:<br />
<br />
{{ :extensions:helpdesk:myvars1.png }}<br />
{{ :extensions:helpdesk:myvars2.png }}<br />
<br />
Drop the fulltext indexes from the tables tl_search, tl_helpdesk_tickets and tl_helpdesk_messages. Check also the tables of other installed extensions for fulltext indexes, and drop them as well:<br />
<br />
{{ :extensions:helpdesk:dropft3.png }}<br />
<br />
{{ :extensions:helpdesk:dropft1.png }}<br />
<br />
{{ :extensions:helpdesk:dropft2.png }}<br />
<br />
Use the TYPOlight installation or extension manager to recreate the indexes based on the new settings:<br />
<br />
{{ :extensions:helpdesk:makeft.png }}<br />
<br />
<br />
== Getting started ==<br />
<br />
Well this section is currently very brief. Only a few screenschots so far, but I guess you will figure out usage yourself with some TYPOlight experience. <br />
<br />
=== Create a new category ====<br />
<br />
{{extensions:helpdesk:hd111.png|Goto helpdesk structure}}<br />
<br />
{{extensions:helpdesk:hd110.png|Category overview}}<br />
<br />
{{extensions:helpdesk:hd113.png|Category editor}}<br />
{{extensions:helpdesk:hd114.png|Category editor}}<br />
{{extensions:helpdesk:hd115.png|Category editor}}<br />
{{extensions:helpdesk:hd116.png|Category editor}}<br />
{{extensions:helpdesk:hd117.png|Category editor}}<br />
<br />
=== Create a title module for the frontend ===<br />
<br />
Basicly a title module is not required, however it helps you structure your forums and helpdesks when you want to group the categories into blocks.<br />
<br />
{{extensions:helpdesk:hd118.png|Goto modules}}<br />
{{extensions:helpdesk:hd119.png|Add a module}}<br />
<br />
{{extensions:helpdesk:hd120.png|Title module settings}}<br />
{{extensions:helpdesk:hd121.png|Title module settings}}<br />
<br />
=== Create block modules for the frontend ===<br />
<br />
A forum/helpdesk block module displays a selection of categories in a block on the frontend. So the minimum to get started on frontend is one module of this type. In case you want to structure your categories you will make several of these modules:<br />
<br />
{{:extensions:helpdesk:hdblock.png|Block module settings}}</div>Lucinahttps://en.contaowiki.org/HelpdeskHelpdesk2012-02-18T14:02:24Z<p>Lucina: /* Enabling RSS Feeds */</p>
<hr />
<div>{{stub}}<br />
[[de:Helpdesk]]<br />
= Forum and Helpdesk =<br />
{{Note|Parts of this documentation were created by Peter Koch / IBK Software AG. Peter Koch has licensed this content for use on contoawiki.org. Content in this page must not be copied, reproduced, republished, uploaded, posted, transmitted, distributed, or used for the creation of derivative works without IBK's prior written consent.}}<br />
{{Hint|http://web.archive.org/web/20101121033235/http://contifex.com/wiki/extensions:helpdesk}}<br />
{{Note|feel free to bring the content from the page above to our contaowiki!}} <br />
<br />
== Features ==<br />
[[File:Extensions-helpdesk-Hd130.png]]<br />
* Native TYPOlight application; fully integrated into TYPOlight user/member system.<br />
* Can be used as forum, as helpdesk ticketing system, or both at same time.<br />
* Both, frontend members and backend users, can be members/clients or moderators/supporters.<br />
* Multiple frontend modules with selected categories are possible; to be displayed on one or several pages, or embedded within articles.<br />
* Backend modules for configuration and forum participation.<br />
* Comprehensive and fast BBCode engine including tables, lists, several box types, syntax highlighting and more.<br />
* Popup windows for BBCode help and editor preview.<br />
* Email notification to subscribing users.<br />
* Email import to create new topics/tickets, as well as to reply to notifications.<br />
* Fully customizable layout and appearence by templates and themes.<br />
* Powerful search engine.<br />
* RSS feeds for any selection of categories.<br />
* Convenient moderator functions including cut/paste operations to move messages and topics<br />
<br />
<br />
== Abstract ==<br />
<br />
TYPOlight Forum/Helpdesk is a message board (forum) application designed to be as well used as a helpdesk ticketing system, for example to provide formal and informal support to customers or clients. The terminology and functions of the forum categories is slightly different than the support ticketing categories, but when you know the mapping you will immediately be familiar with the application:<br />
<br />
{| border="0" cellspacing="1" cellpadding="2"<br />
! !! '''Forum''' !! '''Helpdesk'''<br />
|-<br />
| Category types (1) || Restricted or public || Private, shared or public <br />
|-<br />
| Thread naming (2) || Topics || Tickets<br />
|-<br />
| Frontend users (3) || Members || Clients<br />
|-<br />
| Backend users (4) || Moderators || Supporters<br />
|-<br />
| colspan="2" |<br />
|}<br />
<br />
== Categories ==<br />
<br />
<br />
* [[File:Extensions-helpdesk-Category416.png]] '''Public Forum''': Everybody can read the forum, even non-logged in users. Only authorized members can however open topics or reply.<br />
<br />
* [[File:Extensions-helpdesk-Category316.png]] '''Restricted Forum''': The forum is visible only for authorized members.<br />
<br />
* [[File:Extensions-helpdesk-Category216.png]] '''Public Support''': Everybody can see all tickets, even non-logged in users. Only authorized clients can however open tickets or reply.<br />
<br />
* [[File:Extensions-helpdesk-Category116.png]] '''Shared Support''': All authorized clients can see and reply each others tickets, however only the owner has priviledge to close or delete his tickets. Create such a category for example for each company with a SLA((Service level agreement)) where multiple staff members shall have access to the tickets.<br />
<br />
* [[File:Extensions-helpdesk-Category016.png]] '''Private Support''': Only the ticket owner can see his tickets, but nobody else (admins and supporters authorized for the category can of course also see and reply to the tickets). Used for example for formal support of individuals.<br />
<br />
=== Topic vs. ticket status ===<br />
<br />
==== Topic status ====<br />
<br />
* {{extensions:helpdesk:ticket0116.png}}**Pinned up**: Open topic that is listed on the top. <br />
* {{extensions:helpdesk:ticket1116.png}}**Normal**: A normal open topic. <br />
* {{extensions:helpdesk:ticket2116.png}}**Closed**: No further edits or replies are possible, listed at the end. <br />
<br />
==== Ticket status ====<br />
<br />
* {{extensions:helpdesk:ticket0016.png}}**Unanswered**: The ticked is open and the latest post is from a client. Listed on the top. <br />
* {{extensions:helpdesk:ticket1016.png}}**Answered**: The ticket is open and the latest post is from a supporter. <br />
* {{extensions:helpdesk:ticket2016.png}}**Closed**: Issue solved. No further edits or replies are possible, the owner may reopen it however in case. Listed at the end. <br />
<br />
=== Members and Clients ===<br />
<br />
Forum members and support clients are either "frontend members" or "backend users" in terms of TYPOlight, and belong to a member/user group authorized for the respective category. The client opening a ticket has special "owner" rights in the support type categories: He has authorization to close or delete (5) his tickets.<br />
<br />
=== Admin, Moderators and Supporters ===<br />
<br />
Moderators and supporters are either TYPOlight backend users or frontend members, and belong to a user group authorized as moderator/supporter for the respective category. They have special rights to see unpublished, to pinup, edit, unpublish or delete any topic, ticket or message.<br />
<br />
TYPOlight admins are special backend users and appear as moderator or supporter, he/she is automaticly authorized for all categories. Additionally the admins have authorization to administrative operations, e.g. create or delete categories or change category settings. Also admins are the only ones who can see unpublished categories.<br />
<br />
=== Deletion levels ===<br />
<br />
Tickets and messages are not permanently deleted, but only unpublished from frontend when a ticket owner or member/client "deletes" them. They are still available for moderators and supporters however, mainly to serve as a knowledge resource. Tickets and messages can be permanently deleted only by admins, moderators and supporters.<br />
<br />
<br />
== Installation and Setup ==<br />
<br />
=== Requirements ===<br />
<br />
*PHP from version 5.2.0<br />
*Other requirements like [[http://www.contao.org/system-requirements.html|TYPOlight]]<br />
<br />
=== Manual Installation ===<br />
<br />
*Install these required extensions in advance: [[extensions:avatar]], [[extensions:cron]], [[http://www.typolight.org/extension-list/view/geshi.en.html|geshi]]<br />
*Download the install package from [[http://www.typolight.org/extension-list/view/helpdesk.en.html|here]].<br />
*Unzip the content of TL_ROOT to the TYPOlight base directory on your webserver.<br />
*Unzip the content of TL_FILES to the tl_files directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki><br />
*Enter the installation password and click '''Login'''<br />
*Scroll down to '''Update database tables''' and click on '''Update database'''<br />
<br />
=== Site structure settings ===<br />
<br />
The page where the forum/helpdesk is located should have caching disabled, e.g:<br />
<br />
{{ :extensions:helpdesk:hd200.png |Cache Settings}}<br />
<br />
=== Page layout adjustment ===<br />
<br />
The module will also work without this, however it will look poor in the frontend.<br />
<br />
Go to '''Page layouts''' and change the layout for the pages that will display the forum/helpdesk. This might be a special layout you make for the forum/helpdesk pages, or the '''Default layout'''.<br />
<br />
Scroll down to '''Additional <nowiki>‹head›</nowiki> tags''' and append the following lines to whatever might allready be in there:<br />
<br />
<source lang="php"><br />
<link rel="stylesheet" <br />
href="system/modules/helpdesk/themes/default/frontend.css" <br />
type="text/css" <br />
media="screen,projection,print" /><br />
<!--[if lte IE 6]><br />
<style type="text/css"><br />
.pngfix { behavior:url("system/modules/helpdesk/themes/default/pngfix.htc") }<br />
</style><br />
<![endif]--><br />
</source><br />
<br />
== Custom themes and templates ==<br />
<br />
=== Backend themes ===<br />
<br />
To create the theme //mysite// you would first of cause create a new TYPOlight backend theme folder /system/themes/mysite and activate it in in the //Settings//. <br />
<br />
Then likewise you would create a folder system/modules/helpdesk/themes/mysite, copy the CSS files from the adjaccent //default// folder and make your adjustments to them. Please note that because of the automatic fallback it is //not// necessary to copy all the images from the //default// theme. In case you want your own icons, just create a subfolder //images// and put them in there; any icons not found there will be taken from the //default// theme.<br />
<br />
=== Frontend themes ===<br />
<br />
Copy the CSS files from system/modules/helpdesk/themes/default to your custom frontend theme folder and make the desired adjustments. Don't forget to adjust the //Page layout// as explained before to use your custom stylesheet instead of the default one.<br />
<br />
You may want to replace some or all of the default forum/helpdesk icons too. Just put your custom icons into an //images// folder below your custom theme. Then enter the path of your images folder in the helpdesk settings. Again there is a fallback built in, so any icon not found in your custom images folder will be taken from the //default// backend theme.<br />
<br />
Instead of PNG you may use GIF icons. In case both, a GIF //and// a PNG icon is found, the PNG has precedence.<br />
<br />
=== Templates ===<br />
<br />
In case you need to customize the default templates, just copy the files of interest from /system/modules/helpdesk/templates to /templates and make your adjustments. <br />
<br />
Please note that the template files are used for both, frontend //and// backend.<br />
<br />
<br />
=== "Personal data" Module ===<br />
<br />
{{note|As of TYPOlight 2.5.0 it is no longer required to edit the file ModulePersonalData.php; the hook is now included in the core file. However you still need to select the template ''member_grouped_helpdesk'' up to 2.5.9. Since TYPOlight 2.6.0 you also no longer need ''member_grouped_helpdesk'' because all necessary changes got included in ''member_grouped''.}}<br />
<br />
<br />
You may want to give your frontend members the option to subscribe themself for email noification with the ''Personal data'' module. This will work right out of the box when you are using the template ''member_default''.<br />
<br />
However when using the template ''member_grouped' you won't see the Forum/Helpdesk settings with the TYPOlight releases before 2.5.0. There is a workaround to use the grouped member display right now, which requires a small hack:<br />
<br />
Edit the file /system/modules/frontend/ModulePersonalData.php and find this code:<br />
<br />
<source lang="php">// HOOK: add newsletter fields<br />
if (in_array('newsletter', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->newsletter = $arrFields['newsletter'];<br />
$this->Template->newsletterDetails = $GLOBALS['TL_LANG']['tl_member']['newsletterDetails'];<br />
}</source><br />
<br />
Now add the following code immediately below:<br />
<br />
<source lang="php">// HOOK: add helpdesk fields<br />
if (in_array('helpdesk', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->helpdesk = $arrFields['helpdesk'];<br />
$this->Template->helpdeskDetails = $GLOBALS['TL_LANG']['tl_member']['helpdeskDetails'];<br />
}</source><br />
<br />
Finally, go to the ''Personal data'' module and select the template ''member_grouped_helpdesk''.<br />
<br />
The layout may look somewhat messy by default, here is a suggestion to add to your CSS of the respective page:<br />
<br />
<source lang="css"><br />
.mod_personalData .checkbox_container span<br />
{<br />
display:block;<br />
white-space:nowrap;<br />
}<br />
<br />
.mod_personalData .checkbox_container span *<br />
{<br />
vertical-align:middle;<br />
}<br />
</source><br />
<br />
=== Enabling RSS Feeds ===<br />
<br />
To enable RSS feeds you need to:<br />
<br />
*Make settings in each category that you want feeds for<br />
*Make global settings in the TYPOlight settings<br />
*Add a rewrite rule to your .htaccess file<br />
*Optional: Add a link to the page header in case you want to display a feed icon in the browsers address field<br />
<br />
=== Category Settings ===<br />
<br />
In the category settings you need to enter the url of the page holding this category, plus check that RSS feeds are enabled. Repeat this for all categories where you want to have RSS feeds for:<br />
<br />
{{extensions:helpdesk:hd100.jpg|Category Settings}}<br />
<br />
=== TYPOlight settings ===<br />
<br />
In the TYPOlight settings enable the forum/helpdesk feeds, and then make settings for the maximum number of messages to display, the base name of the xml file (same as in the .htaccess below), the title and description of the feed. Please note that this title and description only comes into play for feeds of multiple categories, for single category feeds the title and description of the category is used:<br />
<br />
{{extensions:helpdesk:hd101.jpg|TYPOlight Settings}}<br />
<br />
=== .htaccess Modification ===<br />
<br />
Add a rewrite rule such as below to your .htaccess file. Replace //helpdesk// by the term you defined as base name in the TYPOlight settings:<br />
<br />
<code>RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</code><br />
<br />
A typical complete .htaccess for TYPOlight 2.6.0 might be:<br />
<br />
<code><br />
# Enable mod_rewrite<br />
RewriteEngine On<br />
RewriteBase /<br />
<br />
# Block any URI protocol in the query string<br />
RewriteCond %{QUERY_STRING} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Block any URI protocol in the request<br />
RewriteCond %{REQUEST_URI} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Rewrite TYPOlight URLs<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule .*\.html$ index.php [L]<br />
<br />
# Dynamic RSS feeds for forum/helpdesk <br />
RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</code><br />
<br />
=== Add RSS icon link to page layout ===<br />
<br />
This is optional but very convenient for your users. In case you not yet have a distinct page layout for the forum/helpdesk, make a copy of the default page layout. Edit the layout and enter the following link to the //Additional head tags// input:<br />
<br />
<code><link rel="alternate" type="application/rss+xml" title="RSS" href="http://www.example.com/helpdesk0.xml" /></code><br />
<br />
Replace %%www.example.com%% by your site's url. The 0 tells to provide a feed over all categories the user has read access to. If you want to make a feed over the categories 4, 5 and 7 instead, the link would be helpdesk4,5,7.xml<br />
<br />
<br />
<br />
<br />
<br />
=== Email Import and Notification ===<br />
<br />
==== Email Settings ====<br />
<br />
To send out notifications and import email a batch program must run on a regular base. You need to install the [[extensions:cron|cron utility]] for this purpose. Below you find suggested settings for the two Forum/Helpdesk jobs. Use a time schedule that matches your needs; the samples below will execute once every minute.<br />
<br />
{{extensions:helpdesk:hd024.jpg|CRON Scheduler}}<br />
{{extensions:helpdesk:hd025.jpg|Import Job Settings}}<br />
{{extensions:helpdesk:hd026.jpg|Notification Job Settings}}<br />
<br />
==== Troubleshooting EMail Issues ====<br />
<br />
* Check if your servers are properly configured to send out mails by creating a test-newsletter and sending it to one of your mail accounts. Send it to another server than the one used for sending out the mail to make sure the mail is not getting caught in some spamfilters or lost in any black hole.<br />
<br />
* Using PHP Mail may work on well configured servers (which is not selve-evident these days, cheepo hosters are greeting). Use SMTP in case, that will work 100%.<br />
<br />
* A common mistake is to use a different domain in the notification sender address than in the mail account in the system settings. For example when your SMTP account in the system settings is admin@example.com, a notification sender address such as forum@banana.net is likely to fail because that would be "relaying" which is forbidden in well configured mail servers. Of cause there are exceptions from this rule, for example when the mail server is configured to handle both of those domains. Leave the notification sender address empty until notification works in case.<br />
<br />
* Switch the helpdesk logging to "debug" in the TYPOlight system settings. You will find the log files at /system/logs/Helpdesk*.log. In case no log file gets created during the batch run, your directory permissions of /system/logs does not allow write access for the web server. In that case you can manually create the two files /system/logs/HelpdeskImport.log and /system/logs/HelpdeskNotify.log and give them read/write permissions for the web server (for example as chmod of 666).<br />
<br />
* For debugging it is time-consuming to always have to wait for the scheduler to run. You can disable the scheduler jobs and manually trigger the batch by calling these url's (replace %%www.example.com%% by your own url of cause):\\ \\ %%http://www.example.com/system/modules/helpdesk/HelpdeskNotifyExec.php%%\\ %%http://www.example.com/system/modules/helpdesk/HelpdeskImportExec.php%%\\ \\ You will most likely just see a blank page when executing, but then check the log files after execution to see the results.<br />
<br />
=== Manual upgrade from a previous version ===<br />
<br />
**It is recommended to make backups of your files and your database before starting any upgrade.**<br />
<br />
You can upgrade directly from any previous release, it is //not// necessary to install every version that was released between your old and new version of the application.<br />
<br />
It is optional to delete the files of the old version before installing a new release; you can choose to just overwrite the old files. However there might be obsolete files which will stay in your installation that way. So for a clean update I recommend to manually delete these files and folders in advance:<br />
<br />
* system/drivers/DC_HelpdeskTable.php<br />
* system/modules/helpdesk<br />
<br />
<note warning>Do **NOT** delete the mysql tables and settings of the helpdesk application after removing the old files, neither with phpmyadmin nor by using the TYPOlight install tool. Otherwise you will loose all your data and settings.</note><br />
<br />
Next the procedure is basicly the same as with a new installation from scratch:<br />
<br />
* Download the install package.<br />
* Unzip/upload to your TYPOlight base directory on your webserver.<br />
* Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki> <br />
* Enter the installation password and click //Login//<br />
* Scroll down to //Update database tables// <br />
* If any drops of obsolete table columns are due, they are by default unchecked. It is safe to check them now in order to have clean database. <br />
* Click on //Update database// to have the necessary database updates applied.<br />
<br />
<note>**After upgrading, you should read the change log to see what has changed and might need your attention.**</note><br />
<br />
=== Optimizing full text search ===<br />
<br />
Full text search of mysql will by default not find any words shorter than 4 characters, or in the stopword list. <br />
<br />
To improve search I recommend to lower the minimum word length to 2, or even down to 1. In case your site is not english only, you might also want to disable the default stopword list (or apply [[http://members.unine.ch/jacques.savoy/clef/index.html|a customized one in your language]]).<br />
<br />
**Brief procedure:**<br />
<br />
* Edit the mysql configuration file<br />
* Restart the mysql server<br />
* Drop the fulltext indexes<br />
* Recreate the fulltext indexes<br />
<br />
<br />
**More detailed description (debian example):**<br />
<br />
Edit /etc/mysql/my.cnf\\<br />
Within the section **[mysqld]** edit or add the following lines:<br />
<br />
<code>#<br />
# Fulltext config<br />
#<br />
ft_min_word_len = 2<br />
ft_stopword_file = ""</code><br />
<br />
Restart mysql:<br />
<br />
/etc/init.d/mysql restart<br />
<br />
Check system vars in phpMyAdmin to make sure it worked:<br />
<br />
{{ :extensions:helpdesk:myvars1.png }}<br />
{{ :extensions:helpdesk:myvars2.png }}<br />
<br />
Drop the fulltext indexes from the tables tl_search, tl_helpdesk_tickets and tl_helpdesk_messages. Check also the tables of other installed extensions for fulltext indexes, and drop them as well:<br />
<br />
{{ :extensions:helpdesk:dropft3.png }}<br />
<br />
{{ :extensions:helpdesk:dropft1.png }}<br />
<br />
{{ :extensions:helpdesk:dropft2.png }}<br />
<br />
Use the TYPOlight installation or extension manager to recreate the indexes based on the new settings:<br />
<br />
{{ :extensions:helpdesk:makeft.png }}<br />
<br />
<br />
== Getting started ==<br />
<br />
Well this section is currently very brief. Only a few screenschots so far, but I guess you will figure out usage yourself with some TYPOlight experience. <br />
<br />
=== Create a new category ====<br />
<br />
{{extensions:helpdesk:hd111.png|Goto helpdesk structure}}<br />
<br />
{{extensions:helpdesk:hd110.png|Category overview}}<br />
<br />
{{extensions:helpdesk:hd113.png|Category editor}}<br />
{{extensions:helpdesk:hd114.png|Category editor}}<br />
{{extensions:helpdesk:hd115.png|Category editor}}<br />
{{extensions:helpdesk:hd116.png|Category editor}}<br />
{{extensions:helpdesk:hd117.png|Category editor}}<br />
<br />
=== Create a title module for the frontend ===<br />
<br />
Basicly a title module is not required, however it helps you structure your forums and helpdesks when you want to group the categories into blocks.<br />
<br />
{{extensions:helpdesk:hd118.png|Goto modules}}<br />
{{extensions:helpdesk:hd119.png|Add a module}}<br />
<br />
{{extensions:helpdesk:hd120.png|Title module settings}}<br />
{{extensions:helpdesk:hd121.png|Title module settings}}<br />
<br />
=== Create block modules for the frontend ===<br />
<br />
A forum/helpdesk block module displays a selection of categories in a block on the frontend. So the minimum to get started on frontend is one module of this type. In case you want to structure your categories you will make several of these modules:<br />
<br />
{{:extensions:helpdesk:hdblock.png|Block module settings}}</div>Lucinahttps://en.contaowiki.org/HelpdeskHelpdesk2012-02-18T14:01:40Z<p>Lucina: /* wiki syntax */</p>
<hr />
<div>{{stub}}<br />
[[de:Helpdesk]]<br />
= Forum and Helpdesk =<br />
{{Note|Parts of this documentation were created by Peter Koch / IBK Software AG. Peter Koch has licensed this content for use on contoawiki.org. Content in this page must not be copied, reproduced, republished, uploaded, posted, transmitted, distributed, or used for the creation of derivative works without IBK's prior written consent.}}<br />
{{Hint|http://web.archive.org/web/20101121033235/http://contifex.com/wiki/extensions:helpdesk}}<br />
{{Note|feel free to bring the content from the page above to our contaowiki!}} <br />
<br />
== Features ==<br />
[[File:Extensions-helpdesk-Hd130.png]]<br />
* Native TYPOlight application; fully integrated into TYPOlight user/member system.<br />
* Can be used as forum, as helpdesk ticketing system, or both at same time.<br />
* Both, frontend members and backend users, can be members/clients or moderators/supporters.<br />
* Multiple frontend modules with selected categories are possible; to be displayed on one or several pages, or embedded within articles.<br />
* Backend modules for configuration and forum participation.<br />
* Comprehensive and fast BBCode engine including tables, lists, several box types, syntax highlighting and more.<br />
* Popup windows for BBCode help and editor preview.<br />
* Email notification to subscribing users.<br />
* Email import to create new topics/tickets, as well as to reply to notifications.<br />
* Fully customizable layout and appearence by templates and themes.<br />
* Powerful search engine.<br />
* RSS feeds for any selection of categories.<br />
* Convenient moderator functions including cut/paste operations to move messages and topics<br />
<br />
<br />
== Abstract ==<br />
<br />
TYPOlight Forum/Helpdesk is a message board (forum) application designed to be as well used as a helpdesk ticketing system, for example to provide formal and informal support to customers or clients. The terminology and functions of the forum categories is slightly different than the support ticketing categories, but when you know the mapping you will immediately be familiar with the application:<br />
<br />
{| border="0" cellspacing="1" cellpadding="2"<br />
! !! '''Forum''' !! '''Helpdesk'''<br />
|-<br />
| Category types (1) || Restricted or public || Private, shared or public <br />
|-<br />
| Thread naming (2) || Topics || Tickets<br />
|-<br />
| Frontend users (3) || Members || Clients<br />
|-<br />
| Backend users (4) || Moderators || Supporters<br />
|-<br />
| colspan="2" |<br />
|}<br />
<br />
== Categories ==<br />
<br />
<br />
* [[File:Extensions-helpdesk-Category416.png]] '''Public Forum''': Everybody can read the forum, even non-logged in users. Only authorized members can however open topics or reply.<br />
<br />
* [[File:Extensions-helpdesk-Category316.png]] '''Restricted Forum''': The forum is visible only for authorized members.<br />
<br />
* [[File:Extensions-helpdesk-Category216.png]] '''Public Support''': Everybody can see all tickets, even non-logged in users. Only authorized clients can however open tickets or reply.<br />
<br />
* [[File:Extensions-helpdesk-Category116.png]] '''Shared Support''': All authorized clients can see and reply each others tickets, however only the owner has priviledge to close or delete his tickets. Create such a category for example for each company with a SLA((Service level agreement)) where multiple staff members shall have access to the tickets.<br />
<br />
* [[File:Extensions-helpdesk-Category016.png]] '''Private Support''': Only the ticket owner can see his tickets, but nobody else (admins and supporters authorized for the category can of course also see and reply to the tickets). Used for example for formal support of individuals.<br />
<br />
=== Topic vs. ticket status ===<br />
<br />
==== Topic status ====<br />
<br />
* {{extensions:helpdesk:ticket0116.png}}**Pinned up**: Open topic that is listed on the top. <br />
* {{extensions:helpdesk:ticket1116.png}}**Normal**: A normal open topic. <br />
* {{extensions:helpdesk:ticket2116.png}}**Closed**: No further edits or replies are possible, listed at the end. <br />
<br />
==== Ticket status ====<br />
<br />
* {{extensions:helpdesk:ticket0016.png}}**Unanswered**: The ticked is open and the latest post is from a client. Listed on the top. <br />
* {{extensions:helpdesk:ticket1016.png}}**Answered**: The ticket is open and the latest post is from a supporter. <br />
* {{extensions:helpdesk:ticket2016.png}}**Closed**: Issue solved. No further edits or replies are possible, the owner may reopen it however in case. Listed at the end. <br />
<br />
=== Members and Clients ===<br />
<br />
Forum members and support clients are either "frontend members" or "backend users" in terms of TYPOlight, and belong to a member/user group authorized for the respective category. The client opening a ticket has special "owner" rights in the support type categories: He has authorization to close or delete (5) his tickets.<br />
<br />
=== Admin, Moderators and Supporters ===<br />
<br />
Moderators and supporters are either TYPOlight backend users or frontend members, and belong to a user group authorized as moderator/supporter for the respective category. They have special rights to see unpublished, to pinup, edit, unpublish or delete any topic, ticket or message.<br />
<br />
TYPOlight admins are special backend users and appear as moderator or supporter, he/she is automaticly authorized for all categories. Additionally the admins have authorization to administrative operations, e.g. create or delete categories or change category settings. Also admins are the only ones who can see unpublished categories.<br />
<br />
=== Deletion levels ===<br />
<br />
Tickets and messages are not permanently deleted, but only unpublished from frontend when a ticket owner or member/client "deletes" them. They are still available for moderators and supporters however, mainly to serve as a knowledge resource. Tickets and messages can be permanently deleted only by admins, moderators and supporters.<br />
<br />
<br />
== Installation and Setup ==<br />
<br />
=== Requirements ===<br />
<br />
*PHP from version 5.2.0<br />
*Other requirements like [[http://www.contao.org/system-requirements.html|TYPOlight]]<br />
<br />
=== Manual Installation ===<br />
<br />
*Install these required extensions in advance: [[extensions:avatar]], [[extensions:cron]], [[http://www.typolight.org/extension-list/view/geshi.en.html|geshi]]<br />
*Download the install package from [[http://www.typolight.org/extension-list/view/helpdesk.en.html|here]].<br />
*Unzip the content of TL_ROOT to the TYPOlight base directory on your webserver.<br />
*Unzip the content of TL_FILES to the tl_files directory on your webserver.<br />
*Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki><br />
*Enter the installation password and click '''Login'''<br />
*Scroll down to '''Update database tables''' and click on '''Update database'''<br />
<br />
=== Site structure settings ===<br />
<br />
The page where the forum/helpdesk is located should have caching disabled, e.g:<br />
<br />
{{ :extensions:helpdesk:hd200.png |Cache Settings}}<br />
<br />
=== Page layout adjustment ===<br />
<br />
The module will also work without this, however it will look poor in the frontend.<br />
<br />
Go to '''Page layouts''' and change the layout for the pages that will display the forum/helpdesk. This might be a special layout you make for the forum/helpdesk pages, or the '''Default layout'''.<br />
<br />
Scroll down to '''Additional <nowiki>‹head›</nowiki> tags''' and append the following lines to whatever might allready be in there:<br />
<br />
<source lang="php"><br />
<link rel="stylesheet" <br />
href="system/modules/helpdesk/themes/default/frontend.css" <br />
type="text/css" <br />
media="screen,projection,print" /><br />
<!--[if lte IE 6]><br />
<style type="text/css"><br />
.pngfix { behavior:url("system/modules/helpdesk/themes/default/pngfix.htc") }<br />
</style><br />
<![endif]--><br />
</source><br />
<br />
== Custom themes and templates ==<br />
<br />
=== Backend themes ===<br />
<br />
To create the theme //mysite// you would first of cause create a new TYPOlight backend theme folder /system/themes/mysite and activate it in in the //Settings//. <br />
<br />
Then likewise you would create a folder system/modules/helpdesk/themes/mysite, copy the CSS files from the adjaccent //default// folder and make your adjustments to them. Please note that because of the automatic fallback it is //not// necessary to copy all the images from the //default// theme. In case you want your own icons, just create a subfolder //images// and put them in there; any icons not found there will be taken from the //default// theme.<br />
<br />
=== Frontend themes ===<br />
<br />
Copy the CSS files from system/modules/helpdesk/themes/default to your custom frontend theme folder and make the desired adjustments. Don't forget to adjust the //Page layout// as explained before to use your custom stylesheet instead of the default one.<br />
<br />
You may want to replace some or all of the default forum/helpdesk icons too. Just put your custom icons into an //images// folder below your custom theme. Then enter the path of your images folder in the helpdesk settings. Again there is a fallback built in, so any icon not found in your custom images folder will be taken from the //default// backend theme.<br />
<br />
Instead of PNG you may use GIF icons. In case both, a GIF //and// a PNG icon is found, the PNG has precedence.<br />
<br />
=== Templates ===<br />
<br />
In case you need to customize the default templates, just copy the files of interest from /system/modules/helpdesk/templates to /templates and make your adjustments. <br />
<br />
Please note that the template files are used for both, frontend //and// backend.<br />
<br />
<br />
=== "Personal data" Module ===<br />
<br />
{{note|As of TYPOlight 2.5.0 it is no longer required to edit the file ModulePersonalData.php; the hook is now included in the core file. However you still need to select the template ''member_grouped_helpdesk'' up to 2.5.9. Since TYPOlight 2.6.0 you also no longer need ''member_grouped_helpdesk'' because all necessary changes got included in ''member_grouped''.}}<br />
<br />
<br />
You may want to give your frontend members the option to subscribe themself for email noification with the ''Personal data'' module. This will work right out of the box when you are using the template ''member_default''.<br />
<br />
However when using the template ''member_grouped' you won't see the Forum/Helpdesk settings with the TYPOlight releases before 2.5.0. There is a workaround to use the grouped member display right now, which requires a small hack:<br />
<br />
Edit the file /system/modules/frontend/ModulePersonalData.php and find this code:<br />
<br />
<source lang="php">// HOOK: add newsletter fields<br />
if (in_array('newsletter', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->newsletter = $arrFields['newsletter'];<br />
$this->Template->newsletterDetails = $GLOBALS['TL_LANG']['tl_member']['newsletterDetails'];<br />
}</source><br />
<br />
Now add the following code immediately below:<br />
<br />
<source lang="php">// HOOK: add helpdesk fields<br />
if (in_array('helpdesk', $this->Config->getActiveModules()))<br />
{<br />
$this->Template->helpdesk = $arrFields['helpdesk'];<br />
$this->Template->helpdeskDetails = $GLOBALS['TL_LANG']['tl_member']['helpdeskDetails'];<br />
}</source><br />
<br />
Finally, go to the ''Personal data'' module and select the template ''member_grouped_helpdesk''.<br />
<br />
The layout may look somewhat messy by default, here is a suggestion to add to your CSS of the respective page:<br />
<br />
<source lang="css"><br />
.mod_personalData .checkbox_container span<br />
{<br />
display:block;<br />
white-space:nowrap;<br />
}<br />
<br />
.mod_personalData .checkbox_container span *<br />
{<br />
vertical-align:middle;<br />
}<br />
</source><br />
<br />
=== Enabling RSS Feeds ===<br />
<br />
To enable RSS feeds you need to:<br />
<br />
- Make settings in each category that you want feeds for<br />
- Make global settings in the TYPOlight settings<br />
- Add a rewrite rule to your .htaccess file<br />
- Optional: Add a link to the page header in case you want to display a feed icon in the browsers address field<br />
<br />
=== Category Settings ===<br />
<br />
In the category settings you need to enter the url of the page holding this category, plus check that RSS feeds are enabled. Repeat this for all categories where you want to have RSS feeds for:<br />
<br />
{{extensions:helpdesk:hd100.jpg|Category Settings}}<br />
<br />
=== TYPOlight settings ===<br />
<br />
In the TYPOlight settings enable the forum/helpdesk feeds, and then make settings for the maximum number of messages to display, the base name of the xml file (same as in the .htaccess below), the title and description of the feed. Please note that this title and description only comes into play for feeds of multiple categories, for single category feeds the title and description of the category is used:<br />
<br />
{{extensions:helpdesk:hd101.jpg|TYPOlight Settings}}<br />
<br />
=== .htaccess Modification ===<br />
<br />
Add a rewrite rule such as below to your .htaccess file. Replace //helpdesk// by the term you defined as base name in the TYPOlight settings:<br />
<br />
<code>RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</code><br />
<br />
A typical complete .htaccess for TYPOlight 2.6.0 might be:<br />
<br />
<code><br />
# Enable mod_rewrite<br />
RewriteEngine On<br />
RewriteBase /<br />
<br />
# Block any URI protocol in the query string<br />
RewriteCond %{QUERY_STRING} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Block any URI protocol in the request<br />
RewriteCond %{REQUEST_URI} (ftp|https?):|/etc/ [NC]<br />
RewriteRule .* - [F,L]<br />
<br />
# Rewrite TYPOlight URLs<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule .*\.html$ index.php [L]<br />
<br />
# Dynamic RSS feeds for forum/helpdesk <br />
RewriteRule ^helpdesk([0-9,]+).xml$ system/modules/helpdesk/HelpdeskFeed.php?id=$1 [L]</code><br />
<br />
=== Add RSS icon link to page layout ===<br />
<br />
This is optional but very convenient for your users. In case you not yet have a distinct page layout for the forum/helpdesk, make a copy of the default page layout. Edit the layout and enter the following link to the //Additional head tags// input:<br />
<br />
<code><link rel="alternate" type="application/rss+xml" title="RSS" href="http://www.example.com/helpdesk0.xml" /></code><br />
<br />
Replace %%www.example.com%% by your site's url. The 0 tells to provide a feed over all categories the user has read access to. If you want to make a feed over the categories 4, 5 and 7 instead, the link would be helpdesk4,5,7.xml<br />
<br />
<br />
<br />
<br />
<br />
=== Email Import and Notification ===<br />
<br />
==== Email Settings ====<br />
<br />
To send out notifications and import email a batch program must run on a regular base. You need to install the [[extensions:cron|cron utility]] for this purpose. Below you find suggested settings for the two Forum/Helpdesk jobs. Use a time schedule that matches your needs; the samples below will execute once every minute.<br />
<br />
{{extensions:helpdesk:hd024.jpg|CRON Scheduler}}<br />
{{extensions:helpdesk:hd025.jpg|Import Job Settings}}<br />
{{extensions:helpdesk:hd026.jpg|Notification Job Settings}}<br />
<br />
==== Troubleshooting EMail Issues ====<br />
<br />
* Check if your servers are properly configured to send out mails by creating a test-newsletter and sending it to one of your mail accounts. Send it to another server than the one used for sending out the mail to make sure the mail is not getting caught in some spamfilters or lost in any black hole.<br />
<br />
* Using PHP Mail may work on well configured servers (which is not selve-evident these days, cheepo hosters are greeting). Use SMTP in case, that will work 100%.<br />
<br />
* A common mistake is to use a different domain in the notification sender address than in the mail account in the system settings. For example when your SMTP account in the system settings is admin@example.com, a notification sender address such as forum@banana.net is likely to fail because that would be "relaying" which is forbidden in well configured mail servers. Of cause there are exceptions from this rule, for example when the mail server is configured to handle both of those domains. Leave the notification sender address empty until notification works in case.<br />
<br />
* Switch the helpdesk logging to "debug" in the TYPOlight system settings. You will find the log files at /system/logs/Helpdesk*.log. In case no log file gets created during the batch run, your directory permissions of /system/logs does not allow write access for the web server. In that case you can manually create the two files /system/logs/HelpdeskImport.log and /system/logs/HelpdeskNotify.log and give them read/write permissions for the web server (for example as chmod of 666).<br />
<br />
* For debugging it is time-consuming to always have to wait for the scheduler to run. You can disable the scheduler jobs and manually trigger the batch by calling these url's (replace %%www.example.com%% by your own url of cause):\\ \\ %%http://www.example.com/system/modules/helpdesk/HelpdeskNotifyExec.php%%\\ %%http://www.example.com/system/modules/helpdesk/HelpdeskImportExec.php%%\\ \\ You will most likely just see a blank page when executing, but then check the log files after execution to see the results.<br />
<br />
=== Manual upgrade from a previous version ===<br />
<br />
**It is recommended to make backups of your files and your database before starting any upgrade.**<br />
<br />
You can upgrade directly from any previous release, it is //not// necessary to install every version that was released between your old and new version of the application.<br />
<br />
It is optional to delete the files of the old version before installing a new release; you can choose to just overwrite the old files. However there might be obsolete files which will stay in your installation that way. So for a clean update I recommend to manually delete these files and folders in advance:<br />
<br />
* system/drivers/DC_HelpdeskTable.php<br />
* system/modules/helpdesk<br />
<br />
<note warning>Do **NOT** delete the mysql tables and settings of the helpdesk application after removing the old files, neither with phpmyadmin nor by using the TYPOlight install tool. Otherwise you will loose all your data and settings.</note><br />
<br />
Next the procedure is basicly the same as with a new installation from scratch:<br />
<br />
* Download the install package.<br />
* Unzip/upload to your TYPOlight base directory on your webserver.<br />
* Point your browser to <nowiki>http://www.yourdomain.com/typolight/install.php</nowiki> <br />
* Enter the installation password and click //Login//<br />
* Scroll down to //Update database tables// <br />
* If any drops of obsolete table columns are due, they are by default unchecked. It is safe to check them now in order to have clean database. <br />
* Click on //Update database// to have the necessary database updates applied.<br />
<br />
<note>**After upgrading, you should read the change log to see what has changed and might need your attention.**</note><br />
<br />
=== Optimizing full text search ===<br />
<br />
Full text search of mysql will by default not find any words shorter than 4 characters, or in the stopword list. <br />
<br />
To improve search I recommend to lower the minimum word length to 2, or even down to 1. In case your site is not english only, you might also want to disable the default stopword list (or apply [[http://members.unine.ch/jacques.savoy/clef/index.html|a customized one in your language]]).<br />
<br />
**Brief procedure:**<br />
<br />
* Edit the mysql configuration file<br />
* Restart the mysql server<br />
* Drop the fulltext indexes<br />
* Recreate the fulltext indexes<br />
<br />
<br />
**More detailed description (debian example):**<br />
<br />
Edit /etc/mysql/my.cnf\\<br />
Within the section **[mysqld]** edit or add the following lines:<br />
<br />
<code>#<br />
# Fulltext config<br />
#<br />
ft_min_word_len = 2<br />
ft_stopword_file = ""</code><br />
<br />
Restart mysql:<br />
<br />
/etc/init.d/mysql restart<br />
<br />
Check system vars in phpMyAdmin to make sure it worked:<br />
<br />
{{ :extensions:helpdesk:myvars1.png }}<br />
{{ :extensions:helpdesk:myvars2.png }}<br />
<br />
Drop the fulltext indexes from the tables tl_search, tl_helpdesk_tickets and tl_helpdesk_messages. Check also the tables of other installed extensions for fulltext indexes, and drop them as well:<br />
<br />
{{ :extensions:helpdesk:dropft3.png }}<br />
<br />
{{ :extensions:helpdesk:dropft1.png }}<br />
<br />
{{ :extensions:helpdesk:dropft2.png }}<br />
<br />
Use the TYPOlight installation or extension manager to recreate the indexes based on the new settings:<br />
<br />
{{ :extensions:helpdesk:makeft.png }}<br />
<br />
<br />
== Getting started ==<br />
<br />
Well this section is currently very brief. Only a few screenschots so far, but I guess you will figure out usage yourself with some TYPOlight experience. <br />
<br />
=== Create a new category ====<br />
<br />
{{extensions:helpdesk:hd111.png|Goto helpdesk structure}}<br />
<br />
{{extensions:helpdesk:hd110.png|Category overview}}<br />
<br />
{{extensions:helpdesk:hd113.png|Category editor}}<br />
{{extensions:helpdesk:hd114.png|Category editor}}<br />
{{extensions:helpdesk:hd115.png|Category editor}}<br />
{{extensions:helpdesk:hd116.png|Category editor}}<br />
{{extensions:helpdesk:hd117.png|Category editor}}<br />
<br />
=== Create a title module for the frontend ===<br />
<br />
Basicly a title module is not required, however it helps you structure your forums and helpdesks when you want to group the categories into blocks.<br />
<br />
{{extensions:helpdesk:hd118.png|Goto modules}}<br />
{{extensions:helpdesk:hd119.png|Add a module}}<br />
<br />
{{extensions:helpdesk:hd120.png|Title module settings}}<br />
{{extensions:helpdesk:hd121.png|Title module settings}}<br />
<br />
=== Create block modules for the frontend ===<br />
<br />
A forum/helpdesk block module displays a selection of categories in a block on the frontend. So the minimum to get started on frontend is one module of this type. In case you want to structure your categories you will make several of these modules:<br />
<br />
{{:extensions:helpdesk:hdblock.png|Block module settings}}</div>Lucina