mirror of
https://gitea.mueller.network/extern/django-helpdesk.git
synced 2024-12-27 09:08:53 +01:00
2895891fb0
* Removed horrid file headers * Added API - Mostly untested at this stage. Works via HTTP POST. * Added API documentation
114 lines
3.9 KiB
Plaintext
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!
|