Giter Site home page Giter Site logo

taskulu / deskulu Goto Github PK

View Code? Open in Web Editor NEW
486.0 28.0 52.0 16.7 MB

Opensource helpdesk and ticketing system by Taskulu

License: GNU General Public License v2.0

ApacheConf 0.03% PHP 73.09% JavaScript 7.20% CSS 4.30% HTML 14.93% Shell 0.14% Batchfile 0.01% Ruby 0.31%

deskulu's Introduction

#Intro Deskulu is an opensource helpdesk and ticketing system based on Drupal 7, developed as a weekend project by Taskulu - a task management tool for enterprise. We've been using Deskulu as our own helpdesk since the initial development and have been fixing bugs and making improvements. It's quite production ready at this point.

Knowledge baseKnowledge base

Agent DashboardAgent dashboard

TicketTicket

##Features Deskulu is based on Drupal and inherits all its flexibility and plethora of modules that allow you to add more functionality. Here's what Deskulu offers by default:

  • All existing features offered by Drupal (Role-based user management, customizable fields on all entities, etc), Views (easily visualize information in any format you want) and Rules (automate workflows without any coding).
  • Knowledge base
  • Discussions (public product forums)
  • Ticketing system
    • Ticket submission by both anonymous and logged in users.
    • Email integration for replying to tickets (for both users and support agents).
    • Assign tickets to support agents.
    • Configurable ticket status (open/closed/etc).
    • Configurable ticket categories (feature request/bug report/technical support/etc)
    • Configurable ticket priorities (urgent/high/low/etc).
    • Ticket tagging.
  • Multi-lingual support
    • Farsi and English are available by default.
    • Default theme supports RTL layout.
  • RESTful API for integration with your own product using the Services module.

Installation

Before you continue please make sure that you have all the necessary requirements. You also need a Mandrill account for the email integration to work. For the rest of this guide I'll be assuming that deskulu will be accessible from http://yoursite.com/.

Configure Mandrill for sending/receiving emails

  1. Open your Mandrill account and go to https://mandrillapp.com/settings/sending-domains.
  2. Add a new sending domain for Deskulu (for example helpmail.yoursite.com).
  3. Visit https://mandrillapp.com/inbound and add helpmail.yoursite.com domain.
  4. On the same page click on helpmail.yoursite.com in the table.
  5. Click on the "+Add New Route" button.
  1. Add another route by clicking on the "+Add New Route" button again.
  1. Visit https://mandrillapp.com/settings/index and generate a new API key for the helpdesk. You'll need this API key later.
  2. Open your own mail administration tool and create an Alias to forward all emails sent to [email protected] to [email protected].

Install and configure Deskulu

  1. Clone the repository (or download the zip file and extrac it) in your webserver's documentroot.
    • Apply all patches available in /sites/all/patches
  2. Create a new database and import deskulu.sql.gz
  3. Adjust your PHP configuration to make sure it meets Drupal requirements.
  4. Configure your web server
  1. Open sites/default/settings.php, replace DB_NAME, USERNAME and PASSWORD with your database name, username and password.
  2. Open the website in your browser and login
  • Username: admin
  • Password: admin
  1. Visit http://yoursite.com/user/1/edit and change your password.
  2. Visit http://yoursite.com/admin/config/system/site-information (Configuration > System > Site Information in the top menu) and change Site name and Email address.
  3. Visit http://yoursite.com/admin/appearance/settings/ht (Appearance > Settings > Helpdesk theme), scroll down "Override Global Settings" select "Logo image settings" and upload a new logo.
  4. Visit http://yoursite.com/admin/config/regional/language (Configuration > System > Regional and language > Languages)
  • If you don't need the Persian language, delete it, otherwise Enable it.
  • If you need any other languages, see the Localization section below.
  • If you don't need the multiple languages at all, visit http://yoursite.com/admin/modules (Modules in the top menu) and disable all modules related to "Multilingual", "Multilingual - Entity Translation" and "Multilingual - Internationalization". Also disable "Calendar Systems" and "Locale" modules (Please note that you need to disable modules that depend on these modules first).
  1. Open http://yoursite.com/admin/config/workflow/rules/reaction/manage/rules_send_thank_you_email_for_new_tickets/edit/3
  • Find SENDER E-MAIL ADDRESS and change its value to ticket-[node:nid]-[node:field-security-token]@helpmail.yoursite.com
  1. Open http://yoursite.com/admin/config/workflow/rules/reaction/manage/rules_send_email_to_support_agent/edit/4
  • Find SENDER E-MAIL ADDRESS and change its value to ticket-[node:nid]-[node:field-security-token]@helpmail.yoursite.com
  1. Open http://yoursite.com/admin/config/workflow/rules/reaction/manage/rules_notify_agents_about_new_comments/edit/3
  • Find SENDER E-MAIL ADDRESS and change its value to ticket-[comment:node:nid]-[comment:node:field-security-token]@helpmail.yoursite.com
  1. Open http://yoursite.com/admin/config/workflow/rules/reaction/manage/rules_send_notification_email_to_site_owners/edit/3
  • Find REPLY E-MAIL ADDRESS and change its value to ticket-[node:nid]-[node:field_security_token]@helpmail.yoursite.com
  1. Open http://yoursite.com/admin/config/services/mandrill and set the Mandrill API Key.

Note: You can see all automation Rules and add/remove/edit them here: http://yoursite.com/admin/config/workflow/rules (Configuration > Workflow > Rules).

###Localization You can enable as many languages as you need. To do that you first need to add thos languages from http://yoursite.com/admin/config/regional/language (Configuration > Regional and language > Languages). Most of languages have translations available in https://localize.drupal.org/. You can download translations from this site and import them in http://yoursite.com/admin/config/regional/translate/import (Configuration > Regional and language > Translate interface > Import). If there are strings that are not translated after importing, you can use the form at http://yoursite.com/admin/config/regional/translate/translate (Configuration > Regional and language > Translate interface > Translate) to translate them yourself.

###Adding agents If you want to add agents use the form at http://yoursite.com/admin/people/create (People > Add user) and give them the "agent" role. If you want to change what agents can and cannot do, checkout this page: http://yoursite.com/admin/people/permissions (People > Permissions).

###Changing heldesk article and ticket categories, priorities and statuses and discussion forums. If you need to change categories, priorities or statuses, visit http://yoursite.com/admin/structure/taxonomy (Structure > Taxonomy). Click on List terms in from of each Vocabulary to see/edit the list of available options.

###Changing Menues You probably want to change the menus. You can do that from here: http://yoursite.com/admin/structure/menu (Structre > Menu).

###Changing fields on helpdesk articles, tickets and discussion forums If you need to add/remove fields to helpdesk articles or tickets visit this page: http://yoursite.com/admin/structure/types (Structure > Content types).

###Using the RESTful API Please see the documentation of Services module.

##Roadmap

  • Add a more minimal theme.
  • Create a Drupal distribution that automates installation and initial configuration.
  • Add support for SendGrid and other transactional mail systems.
  • Add configuration forms and introduce tokens to make it possible to change Rules configs from a single form.

##License GPLv2. See LICENSE.txt.

deskulu's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

deskulu's Issues

White Page after Update.

The site ask for "important updates" and after downloading and installing the updates, it never comes back.

https://cdesk.micronotas.cl/

There are 2 errors on the error_log:

[Sun Nov 26 01:38:56.403251 2017] [:error] [pid 28155] [client 186.136.172.19:52362] FastCGI: server "/var/www/clients/client6/web39/cgi-bin/php5-fcgi-*-443-cdesk.micronotas.cl" stderr: PHP message: PHP Notice: Constant DATE_RFC7231 already defined in /var/www/clients/client6/web39/web/includes/bootstrap.inc on line 258

[Sun Nov 26 01:38:56.403323 2017] [:error] [pid 28155] [client 186.136.172.19:52362] FastCGI: server "/var/www/clients/client6/web39/cgi-bin/php5-fcgi-*-443-cdesk.micronotas.cl" stderr: PHP message: PHP Fatal error: Cannot use isset() on the result of an expression (you can use "null !== expression" instead) in /var/www/clients/client6/web39/web/sites/all/modules/i18n/i18n_user/i18n_user.module on line 13

The second one I already fixed. This happened twice installing all from scratch, changing the password and then updating drupal.

The system is Ubuntu 16.04.3 with PHP 7.0.25 and MySQL 5.7.20

Thanks in advance.

Images not showing

Hello I've never worked with drupal, but I managed to install it and also deskulu, but the images are not showing correctly and uploading custom pictures gives me this error:

File temporary://661.JPG could not be copied, because the destination directory private://pictures is not configured correctly.

Email API

now that Mandrill is out of the loop for this, what is the alternative email API for deskulu??

email reply via ticket REST API call

Hi all,

very nice looking project!

Reading the howto and not sure if this isn't a typo:

When The Receiving Email Address Matches: [email protected]
Post To URL: http://yoursite.com/tickets/incoming/new

Shouldn't existing ticket go to different REST call?

Good luck!
cheers
P.

Language selection on new ticket

Hi,
I'm trying to understand why in the new ticket page I'm not able to select the language for the ticket, being enabled multilingual support.
I saw that you disabled the display of the language in the ticket creation here. Commenting that line enables the language selector in node/add/ticket, that by default is not visible to anonymous users. However the language selector is not visible in ticket/new.

_options_prepare_options() error after drupal core update

Hi,
I updated drupal core and modules after installing deskulu. Everything works except for the error below, reported a dozen of times at the beginning of the ticket/new page.

Notice: Undefined index: strip_tags_and_unescape in _options_prepare_options() (line 282 of /var/www/html/deskulu/modules/field/modules/options/options.module).

Any hint on what this could be?

README.md refers to non-existent LICENSE.txt file.

At the bottom of README.md, it says the license is "GPLv2. See LICENSE.txt." However, there is no LICENSE.txt at the top level of the tree.

(There are 50 interior LICENSE.txt files, under sites/all/modules/ and sites/all/themes/, but I assume those are all third-party license files -- they're not expressing the license for Deskulu as a whole work.)

Post comments in a ticket node as anonymous user

Hi,
I'm trying to enable the posting of a comment in a ticket node by an anonymous user. Although I set correctly the permissions for the comment and in the ticket page it shows me as anonymous user the comment form, after clicking send it returns me to a comment/reply/% page with "access denied".

Anyone can help debugging this issue?

Setup Docker

This project seems very awsome, but I am not familiar with Drupal, so stuff like "Make configuration meet the needs of Drupal" as one of 13 steps keeps me from even trying it out. Maybe an expert on Drupal could provide a Dockerfile so all others can try it out with ease?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.