[2.6.0] Calendar Planning

One of the biggest features coming into Mods for HESK 2.6.0 is an all-new module: Calendar Planning.  This module will add a calendar that both customers and staff can see.  Let’s take a quick look at this new module and the changes introduced.

I) Categories

Screen Shot 2016-05-02 at 3.42.26 PM

Categories have been adjusted to support both tickets and events.  When creating / editing a category, you can now add two new properties:

  • Usage
  • Color

Usage will specify what the category can be used for. You can use a category only for tickets, only for events, or both.  Color specifies the category color (if any).  You can specify the hex code of the color, or use the integrated colorpicker.  The color will be used as the background on the calendar event (more on that soon).  Editing categories has now been moved to an on-screen modal, which can be accessed by clicking the “Edit” icon next to any category (right next to the delete button).

II) Calendar

Screen Shot 2016-05-02 at 3.47.18 PM

The calendar is the major new module.  If you’re familiar with other calendar solutions (such as JEvents or Google Calendar), this calendar should be very similar.  You are able to create all-day events, or events that only last a couple hours.  You can also view the calendar in month, week, or day views (you can also set a default view, and staff can have their default views).

You can also set reminders for events.  Each user can currently have one reminder per event, in which an email will be sent to them once it is time for them to get the reminder.  These emails are processed via a cron job that the server administrator will need to set up when updating (otherwise reminders will never be sent).

More information about the calendar module (such as how to perform certain actions) will be posted on the Mods for HESK documentation when 2.6.0 is released.

III) Ticket Due Dates

Since Mods for HESK can handle calendar reminders and certain date-specific functions, another new feature coming along with the calendar is ticket due dates.  You can now specify a due date for a ticket on the left-hand side of the view ticket page.  If the ticket is not closed and the current date is after the due date, an email will be sent to the ticket owner, as well as any users who request overdue email notifications for tickets not assigned to them.

Migration to GitLab

On March 23, 2014, Mods for HESK (known as “HESK UI” at the time) was released for the first time.  The only changes Mods for HESK supported at the time was a responsive UI.  Now, almost two years later, nearly 30 new features have been added, most of them based on user requests.

Right now, Mods for HESK has several different systems in place to handle certain requests:

  • There is a UserVoice page setup for feature requests, where a user can submit a request and others can vote on them,
  • The GitHub issue tracker: to keep track of bug reports, as well as what I am currently working on developing for the next release, and
  • The official Mods for HESK sub-forum, located at the PHPJunkyard forums to live closely with HESK for general discussions and questions.

As you can probably tell, using three systems to keep track of new features that users want, as well as reporting bugs and other generic questions can be quite burdensome.  To alleviate this burden a bit, I have decided to move all primary source code and issue management to GitLab, instead of GitHub.  Now, you may be asking, “Why? Isn’t GitHub good enough?”  Well, the answer to that is yes, and no.  GitHub is an excellent tool for maintaining git repositories and communicating across open-source projects.  However, I have decided that I want to consolidate some of these systems together, and GitLab is the solution. GitLab supports issue voting (similar to UserVoice), so now GitHub issues and the UserVoice page can (and will) be combined into one game.

Over the next few days, the following will happen:

  • Existing UserVoice feature requests will be converted into GitLab issues, and the current number of votes will be recorded. Additional votes will be cast via the thumbs up / thumbs down icons.
  • The GitHub issue tracker will be shut down in favor of the GitLab issue tracker. All previous issues created in GitHub have already been migrated to GitLab.
  • The Mods for HESK website will be updated to replace all references to the GitHub repo to the GitLab repo.

The GitHub repo will still be updated on a regular basis and will allow pull requests for the foreseeable future.

Using XDebug for PHP Development

Well, this post is a slight shift from Mods for HESK development, as this article isn’t directly about Mods for HESK, but instead is a tool I’m now using for Mods for HESK development.  This tool, in conjunction with PhpStorm (the IDE I’m using for development), is called XDebug.  Most IDEs for other languages, such as Eclipse or IntelliJ IDEA for Java, has debugging out-of-the-box. Unfortunately, PHP doesn’t have this. This is where XDebug comes in.  Since this is a somewhat annoying process, here’s how I got working (note that I am using a Mac running OS X 10.10 Yosemite).

1. Install XDebug using Homebrew – Using Homebrew to install XDebug is the easiest way to get started. Simply run “brew install php55-xdebug” to install XDebug for PHP 5.5 (use php54 or php56 for PHP 5.4 or PHP 5.6, respecively)

2. Update php.ini for XDebug – Open php.ini using a text editor (such as TextWrangler), and add the following lines at the bottom:

xdebug.remote_host=<URL to PHP installation>
xdebug.remote_port=<port to broadcast>

Save your php.ini file and restart Apache / PHP

3. Setup PHPStorm – In PHPStorm, near the top-right is an icon of a telephone with a bug. This, when clicked, will listen for incoming XDebug sessions, and attach to your file. Once this is clicked, startup your server and navigate to your breakpoint!

This is a quick rundown and keeps out some basic parts, but it takes care of some of the annoying parts!

[2.3.0] Service Message Icons

Well, I finally found some time to start working on version 2.3.0 of Mods for HESK. First item in the list is something I wanted to include way back in 2.1.0, but there were some technical issues causing this feature to be released in 2.3.0. Well here it is: service message icons.

The manage service messages page will have a new field added, known as the “Icon” field. Here you can select any Font Awesome or Octicon icon to accompany your service message text, regardless of the type of message (success, info, etc).

Screenshot of Service Messages

The icon dropdown, which is powered by a modified version of the bootstrap-iconpicker GitHub repository, allows you to easily see what the icon is and what it will look like using an easy-to-use interface.  If you don’t want an icon to accompany your service message, simply select “No icon”.  Clicking on the “Success”, “Info”, “Notice”, or “Error” styles will automatically change the icon to the style’s default icon (which is currently used in Mods for HESK 2.0.0 to 2.2.1) to hopefully make it easy to quickly create a new service message.

When this feature is released, will you be using custom icons for service messages?