django-helpdeskmig/README
Ross Poulton 2895891fb0 * Removed horrid license - moved to BSD.
* Removed horrid file headers

* Added API - Mostly untested at this stage. Works via HTTP POST.
* Added API documentation
2008-02-06 04:36:07 +00:00

114 lines
3.9 KiB
Plaintext

Jutda Helpdesk - A Django powered ticket tracker for small enterprise.
(c) Copyright 2008 Jutda. All Rights Reserved. See LICENSE for details.
#########################
0. Table of Contents
#########################
1. Licensing
2. Dependencies (pre-flight checklist)
3. Installation
4. Initial Configuration
#########################
1. Licensing
#########################
See the file 'LICENSE' for licensing terms. Note that jQuery and nicEdit
are both distributed with this product, and have their own licenses. See
LICENSE.JQUERY and LICENSE.NICEDIT for their respective license terms.
#########################
2. Dependencies (pre-flight checklist)
#########################
1. Python 2.3+
2. Django (post-0.96, eg SVN checkout)
3. An existing WORKING Django project with database etc. If you
cannot log into the Admin, you won't get this product working.
4. pygooglechart (needs minor mods to @staticmethod calls for python 2.3)
http://pygooglechart.slowchop.com/
#########################
3. Installation
#########################
1. Place 'helpdesk' in your Python path. I use /var/django, others may use
/usr/lib/python2.3/site-packages/ or a similar path.
2. In your projects' settings.py file, add these lines to the INSTALLED_APPS
setting:
'helpdesk',
'django.contrib.admin',
3. In your projects' urls.py file, add this line:
(r'helpdesk/', include('helpdesk.urls')),
You can substitute 'helpdesk/' for something else, eg 'support/' or even ''.
4. Ensure the admin line is un-hashed in urls.py:
# Uncomment this for admin:
(r'^admin/', include('django.contrib.admin.urls')),
If you use helpdesk at the top of your domain (at /), ensure the admin
line comes BEFORE the helpdesk line.
5. In your project directory (NOT the helpdesk directory) run
./manage.py syncdb
to create database tables
6. Inside your MEDIA_ROOT folder, create a new folder called 'helpdesk' and
copy the contents of helpdesk/htdocs/ into it. Alternatively, create a
symlink:
ln -s /path/to/helpdesk/htdocs /path/to/media/helpdesk
This application assumes all helpdesk media will be accessible at
http://MEDIA_PATH/helpdesk/
#########################
4. Initial Configuration
#########################
1. Visit http://yoursite/admin/ and add a Helpdesk Queue. If you wish,
enter your POP3 or IMAP server details.
IMPORTANT NOTE: Any tickets created via POP3 or IMAP mailboxes will DELETE
the original e-mail from the mail server.
2. Visit http://yoursite/helpdesk/ (or other path as defined in your urls.py)
3. If you wish to automatically create tickets from the contents of an e-mail
inbox, set up a cronjob to run scripts/get_email.py on a regular basis.
Don't forget to set the relevant Django environment variables in your
crontab:
*/5 * * * * DJANGO_SETTINGS_MODULE='myproject.settings' python /path/to/helpdesk/scripts/get_email.py
This will run the e-mail import every 5 minutes
IMPORTANT NOTE: Any tickets created via POP3 or IMAP mailboxes will DELETE
the original e-mail from the mail server.
4. If you wish to automatically escalate tickets based on their age, set up
a cronjob to run scripts/escalate_tickets.py on a regular basis:
0 * * * * DJANGO_SETTINGS_MODULE='myproject.settings' python /path/to/helpdesk/scripts/escalate_tickets.py
This will run the escalation process hourly, using the 'Escalation Hours'
setting for each queue to determine which tickets to escalate.
5. If you wish to exclude some days (eg, weekends) from escalation calculations, enter
the dates manually via the Admin, or setup a cronjob to run
scripts/create_escalation_exclusions.py on a regular basis:
0 0 * * 0 DJANGO_SETTINGS_MODULE='myproject.settings' python /path/to/helpdesk/scripts/create_escalation_exclusions.py --days saturday,sunday --verbose
This will, on a weekly basis, create exclusions for the coming weekend.
You're now up and running!