Rework README and CONTRIBUTING to remove redundancy. Some README statements moved to install docs instead.

This commit is contained in:
Garret Wassermann 2017-03-20 03:19:53 -04:00
parent 64076237ee
commit a69cf25c71
5 changed files with 122 additions and 74 deletions

2
.gitignore vendored
View File

@ -1,6 +1,8 @@
*.pyc *.pyc
/dist/ /dist/
django_helpdesk.egg-info django_helpdesk.egg-info
demo/*.egg-info
demo/demodesk/*.sqlite3
docs/html/* docs/html/*
docs/doctrees/* docs/doctrees/*
.coverage .coverage

View File

@ -2,16 +2,23 @@ Contributing
============ ============
django-helpdesk is an open-source project and as such contributions from the django-helpdesk is an open-source project and as such contributions from the
community are welcomed and encouraged. community are welcomed and encouraged!
Please read these guidelines to get up to speed quickly. If you have any
questions, please file an issue ticket on GitHub. Our main project
repository is available at:
https://github.com/django-helpdesk/django-helpdesk
Licensing Licensing
--------- ---------
All contributions to django-helpdesk must be under the BSD license documented in All contributions to django-helpdesk must be under the BSD license documented in
the LICENSE file in the top-level directory of this project. By submitting a the LICENSE file in the top-level directory of this project.
contribution to this project (in any way: via e-mail, via GitHub forks,
attachments, etc), you acknowledge that your contribution is open-source and By submitting a contribution to this project (in any way: via e-mail,
licensed under the BSD license. via GitHub forks, attachments, etc), you acknowledge that your contribution is
open-source and licensed under the BSD license.
If you or your organisation does not accept these license terms then we cannot If you or your organisation does not accept these license terms then we cannot
accept your contribution. Please reconsider! accept your contribution. Please reconsider!
@ -20,8 +27,8 @@ Translations
------------ ------------
Although django-helpdesk has originally been written for the English language, Although django-helpdesk has originally been written for the English language,
there are already multiple translations to Spanish, Polish, and German and more there are already multiple translations to Spanish, Polish, German and Russian.
translations are welcomed. More translations are welcomed!
Translations are handled using the excellent Transifex service which is much Translations are handled using the excellent Transifex service which is much
easier for most users than manually editing .po files. It also allows easier for most users than manually editing .po files. It also allows

View File

@ -7,65 +7,74 @@ django-helpdesk - A Django powered ticket tracker for small businesses.
.. image:: https://codecov.io/gh/django-helpdesk/django-helpdesk/branch/master/graph/badge.svg .. image:: https://codecov.io/gh/django-helpdesk/django-helpdesk/branch/master/graph/badge.svg
:target: https://codecov.io/gh/django-helpdesk/django-helpdesk :target: https://codecov.io/gh/django-helpdesk/django-helpdesk
Copyright 2009- Ross Poulton and contributors. All Rights Reserved. See LICENSE for details. Copyright 2009- Ross Poulton and contributors. All Rights Reserved.
See LICENSE for details.
django-helpdesk was formerly known as Jutda Helpdesk, named after the django-helpdesk was formerly known as Jutda Helpdesk, named after the
company which originally created it. As of January 2011 the name has been company which originally created it. As of January 2011 the name has been
changed to reflect what it really is: a Django-powered ticket tracker with changed to reflect what it really is: a Django-powered ticket tracker with
contributors reaching far beyond Jutda. contributors reaching far beyond Jutda.
Complete documentation is available in the docs/ directory, or online at http://django-helpdesk.readthedocs.org/. Complete documentation is available in the docs/ directory,
or online at http://django-helpdesk.readthedocs.org/.
You can see a demo installation at http://django-helpdesk-demo.herokuapp.com/ You can see a demo installation at http://django-helpdesk-demo.herokuapp.com/,
or run a demo locally in just a couple steps!
Licensing Licensing
--------- ---------
See the file 'LICENSE' for licensing terms. Note that django-helpdesk is django-helpdesk is licensed under terms of the BSD 3-clause license.
distributed with 3rd party products which have their own licenses. See See the file 'LICENSE' for full licensing terms.
LICENSE.3RDPARTY for license terms for included packages.
Dependencies (pre-flight checklist) Note that django-helpdesk is distributed with 3rd party products which
----------------------------------- have their own licenses. See LICENSE.3RDPARTY for license terms for
included packages.
1. Python 2.7 or 3.4+ (3.4+ support is new, please let us know how it goes) Demo Quickstart
2. Django (1.8+, preferably 1.10) ---------------
3. An existing WORKING Django project with database etc. If you
cannot log into the Admin, you won't get this product working. django-helpdesk includes a basic demo Django project so that you may easily
4. `pip install django-bootstrap-form` and add `bootstrapform` to `settings.INSTALLED_APPS` get started with testing or developing django-helpdesk. The demo project
5. `pip install django-markdown-deux` and add `markdown_deux` to `settings.INSTALLED_APPS` resides in the demo/ top-level folder.
6. `pip install email-reply-parser` to get smart email reply handling
7. Add 'django.contrib.sites' to settings.INSTALLED_APPS, ensure there is at least 1 site created. It's likely that you can start up a demo project server by running
only the command:
sudo make rundemo
then pointing your web browser at localhost:8080.
For more information and options, please read the demo/README.rst file.
**NOTE REGARDING SQLITE AND SEARCHING:** **NOTE REGARDING SQLITE AND SEARCHING:**
If you use sqlite as your database, the search function will not work as The demo project uses sqlite as its database. Sqlite does not allow
effectively as it will with other databases due to its inability to do case-insensitive searches and so the search function may not work as
case-insensitive searches. It's recommended that you use PostgreSQL or MySQL effectively as it would on other database such as PostgreSQL or MySQL
if possible. For more information, see this note in the Django documentation: that does support case-insensitive searches.
For more information, see this note in the Django documentation:
http://docs.djangoproject.com/en/dev/ref/databases/#sqlite-string-matching http://docs.djangoproject.com/en/dev/ref/databases/#sqlite-string-matching
When you try to do a keyword search using sqlite, a message will be displayed When you try to do a keyword search using sqlite, a message will be displayed
to alert you to this shortcoming. There is no way around it, sorry. to alert you to this shortcoming. There is no way around it, sorry.
**NOTE REGARDING MySQL:** Installation
If you use MySQL, with most default configurations you will receive an error ------------
when creating the database tables as we populate a number of default templates
in languages other than English.
You must create the database the holds the django-helpdesk tables using the django-helpdesk requires either Python 2.7 or 3.4+, as well as Django 1.8+.
UTF-8 collation; see the MySQL manual for more information: The recommended combination is Python 3.4+ with Django 1.10.
http://dev.mysql.com/doc/refman/5.1/en/charset-database.html
If you do NOT do this step, and you only want to use English-language templates, You can quickly install the latest stable version of django-helpdesk app via pip:
you can continue however you will receive a warning when running the 'migrate'
commands.
Fresh Django Installations pip install django-helpdesk
--------------------------
If you're on a brand new Django installation, make sure you do a ``migrate`` You may also check out the master branch on GitHub, and install manually:
**before** adding ``helpdesk`` to your ``INSTALLED_APPS``. This will avoid
errors with trying to create User settings. python setup.py install
Either way, you will need to add django-helpdesk to an existing Django project.
For further installation information see docs/install.html and docs/configuration.html
Upgrading from previous versions Upgrading from previous versions
-------------------------------- --------------------------------
@ -80,25 +89,16 @@ migrations, get an up to date version of the code base (eg by using
Lastly, restart your web server software (eg Apache) or FastCGI instance, to Lastly, restart your web server software (eg Apache) or FastCGI instance, to
ensure the latest changes are in use. ensure the latest changes are in use.
If you are using django-helpdesk pre-migrations (ie pre-2011) then you're Unfortunately we are unable to assist if you are upgrading from a
on your own, sorry. version of django-helpdesk prior to migrations (ie pre-2011).
You can continue to the 'Initial Configuration' area, if needed. You can continue to the 'Initial Configuration' area, if needed.
Installation
------------
``pip install django-helpdesk``
For further installation information see docs/install.html and docs/configuration.html
Contributing Contributing
------------ ------------
If you want to help translate django-helpdesk into languages other than English, we encourage you to make use of our Transifex project. We're happy to include any type of contribution! This can be back-end
python/django code development, front-end web development
(HTML/Javascript, especially jQuery), or even language translations.
https://www.transifex.com/django-helpdesk/django-helpdesk/ For more information on contributing, please see the CONTRIBUTING.rst file.
Feel free to request access to contribute your translations.
Pull requests for all other changes are welcome. We're currently trying to add test cases wherever possible, so please continue to include tests with pull requests.

View File

@ -29,6 +29,10 @@ Download, extract, and drop ``helpdesk`` into your ``PYTHONPATH``
Adding To Your Django Project Adding To Your Django Project
----------------------------- -----------------------------
If you're on a brand new Django installation, make sure you do a ``migrate``
**before** adding ``helpdesk`` to your ``INSTALLED_APPS``. This will avoid
errors with trying to create User settings.
1. Edit your ``settings.py`` file and add ``helpdesk`` to the ``INSTALLED_APPS`` setting. You also need ``django.contrib.admin`` in ``INSTALLED_APPS`` if you haven't already added it. eg:: 1. Edit your ``settings.py`` file and add ``helpdesk`` to the ``INSTALLED_APPS`` setting. You also need ``django.contrib.admin`` in ``INSTALLED_APPS`` if you haven't already added it. eg::
INSTALLED_APPS = ( INSTALLED_APPS = (
@ -115,3 +119,46 @@ Adding To Your Django Project
Also, be aware that if a disk error occurs and the local file is not deleted, the mail may be processed multiple times and generate duplicate tickets until the file is removed. It is recommended to monitor log files for ERRORS when a file is unable to be deleted. Also, be aware that if a disk error occurs and the local file is not deleted, the mail may be processed multiple times and generate duplicate tickets until the file is removed. It is recommended to monitor log files for ERRORS when a file is unable to be deleted.
Upgrading from previous versions
--------------------------------
If you are upgrading from a previous version of django-helpdesk that used
migrations, get an up to date version of the code base (eg by using
`git pull` or `pip install --upgrade django-helpdesk`) then migrate the database::
python manage.py migrate helpdesk --db-dry-run # DB untouched
python manage.py migrate helpdesk
Lastly, restart your web server software (eg Apache) or FastCGI instance, to
ensure the latest changes are in use.
Unfortunately we are unable to assist if you are upgrading from a
version of django-helpdesk prior to migrations (ie pre-2011).
You can continue to the 'Initial Configuration' area, if needed.
Notes on database backends
--------------------------
**NOTE REGARDING SQLITE AND SEARCHING:**
If you use sqlite as your database, the search function will not work as
effectively as it will with other databases due to its inability to do
case-insensitive searches. It's recommended that you use PostgreSQL or MySQL
if possible. For more information, see this note in the Django documentation:
http://docs.djangoproject.com/en/dev/ref/databases/#sqlite-string-matching
When you try to do a keyword search using sqlite, a message will be displayed
to alert you to this shortcoming. There is no way around it, sorry.
**NOTE REGARDING MySQL:**
If you use MySQL, with most default configurations you will receive an error
when creating the database tables as we populate a number of default templates
in languages other than English.
You must create the database the holds the django-helpdesk tables using the
UTF-8 collation; see the MySQL manual for more information:
http://dev.mysql.com/doc/refman/5.1/en/charset-database.html
If you do NOT do this step, and you only want to use English-language templates,
you can continue however you will receive a warning when running the 'migrate'
commands.

View File

@ -1,15 +1,7 @@
Settings Settings
======== ========
First, django-helpdesk needs ``django.core.context_processors.request`` activated, so you must add it to the ``settings.py``. For Django 1.7, add:: First, django-helpdesk needs ``django.core.context_processors.request`` activated, so you must add it to the ``settings.py``. Add the following::
from django.conf import global_settings
TEMPLATE_CONTEXT_PROCESSORS = (
global_settings.TEMPLATE_CONTEXT_PROCESSORS +
('django.core.context_processors.request',)
)
For Django 1.8 and onwards, the settings are located in the ``TEMPLATES``, and the ``request`` module has moved. Add the following instead::
TEMPLATES = [ TEMPLATES = [
{ {
@ -75,11 +67,11 @@ These changes are visible throughout django-helpdesk
**Default:** ``HELPDESK_SHOW_CHANGE_PASSWORD = False`` **Default:** ``HELPDESK_SHOW_CHANGE_PASSWORD = False``
- **HELPDESK_FOLLOWUP_MOD** Allow user to override default layout for 'followups' (work in progress) - **HELPDESK_FOLLOWUP_MOD** Allow user to override default layout for 'followups' (work in progress)
**Default:** ``HELPDESK_FOLLOWUP_MOD = False`` **Default:** ``HELPDESK_FOLLOWUP_MOD = False``
- **HELPDESK_AUTO_SUBSCRIBE_ON_TICKET_RESPONSE** Auto-subscribe user to ticket as a 'CC' if (s)he responds to a ticket? - **HELPDESK_AUTO_SUBSCRIBE_ON_TICKET_RESPONSE** Auto-subscribe user to ticket as a 'CC' if (s)he responds to a ticket?
**Default:** ``HELPDESK_AUTO_SUBSCRIBE_ON_TICKET_RESPONSE = False`` **Default:** ``HELPDESK_AUTO_SUBSCRIBE_ON_TICKET_RESPONSE = False``
- **HELPDESK_EMAIL_SUBJECT_TEMPLATE** Subject template for templated emails. ``%(subject)s`` represents the subject wording from the email template (e.g. "(Closed)"). - **HELPDESK_EMAIL_SUBJECT_TEMPLATE** Subject template for templated emails. ``%(subject)s`` represents the subject wording from the email template (e.g. "(Closed)").
@ -97,24 +89,24 @@ Options shown on public pages
These options only change display of items on public-facing pages, not staff pages. These options only change display of items on public-facing pages, not staff pages.
- **HELPDESK_VIEW_A_TICKET_PUBLIC** Show 'View a Ticket' section on public page? - **HELPDESK_VIEW_A_TICKET_PUBLIC** Show 'View a Ticket' section on public page?
**Default:** ``HELPDESK_VIEW_A_TICKET_PUBLIC = True`` **Default:** ``HELPDESK_VIEW_A_TICKET_PUBLIC = True``
- **HELPDESK_SUBMIT_A_TICKET_PUBLIC** Show 'submit a ticket' section & form on public page? - **HELPDESK_SUBMIT_A_TICKET_PUBLIC** Show 'submit a ticket' section & form on public page?
**Default:** ``HELPDESK_SUBMIT_A_TICKET_PUBLIC = True`` **Default:** ``HELPDESK_SUBMIT_A_TICKET_PUBLIC = True``
Options that change ticket updates Options that change ticket updates
---------------------------------- ----------------------------------
- **HELPDESK_ALLOW_NON_STAFF_TICKET_UPDATE** Allow non-staff users to interact with tickets? This will also change how 'staff_member_required' - **HELPDESK_ALLOW_NON_STAFF_TICKET_UPDATE** Allow non-staff users to interact with tickets? This will also change how 'staff_member_required'
in staff.py will be defined. in staff.py will be defined.
**Default:** ``HELPDESK_ALLOW_NON_STAFF_TICKET_UPDATE = False`` **Default:** ``HELPDESK_ALLOW_NON_STAFF_TICKET_UPDATE = False``
- **HELPDESK_SHOW_EDIT_BUTTON_FOLLOW_UP** Show edit buttons in ticket follow ups? - **HELPDESK_SHOW_EDIT_BUTTON_FOLLOW_UP** Show edit buttons in ticket follow ups?
**Default:** ``HELPDESK_SHOW_EDIT_BUTTON_FOLLOW_UP = True`` **Default:** ``HELPDESK_SHOW_EDIT_BUTTON_FOLLOW_UP = True``
- **HELPDESK_SHOW_DELETE_BUTTON_SUPERUSER_FOLLOW_UP** Show delete buttons in ticket follow ups if user is 'superuser'? - **HELPDESK_SHOW_DELETE_BUTTON_SUPERUSER_FOLLOW_UP** Show delete buttons in ticket follow ups if user is 'superuser'?
@ -167,7 +159,7 @@ Discontinued Settings
The following settings were defined in previous versions and are no longer supported. The following settings were defined in previous versions and are no longer supported.
- **HELPDESK_CUSTOM_WELCOME** - **HELPDESK_CUSTOM_WELCOME**
- **HELDPESK_KB_ENABLED_STAFF** Now always True - **HELDPESK_KB_ENABLED_STAFF** Now always True