Chapter5.The plugins

Chapter5.The plugins

Note

Some of the plugins are not available in Akeeba Ticket System Core.

Some features of Akeeba Ticket System require an integration with Joomla. As is usual, this is done through plugins.

We also use plugins to implement utility tasks which will can be set to run on a schedule.

The plugins can be found in the Joomla! plugins manager (System, Manage area, Plugins link). The plugins are placed in different groups, depending on the kind of functionality they perform. This chapter is organised by plugin group.

1.The “ats” plugins

Unlike plug–ins in the other groups, the ATS plugins are only loaded by and used in Akeeba Ticket System to implement task automation features.

1.1.Automatically close old tickets

Note

This plugin is NOT available in Akeeba Ticket System Core.

Displayed in the Joomla! Plugin Manager as Akeeba Ticket System - Automatically close old tickets

This plugin allows you to automatically close tickets with a status other than Open or Closed which have not received a reply from either the client or the support staff for a specific amount of time. It makes the autoclose CRON command available.

The idea behind this plugin is that some clients will see the reply from the support staff which addresses their issue but will neither reply nor close their ticket. Over time your support ticket system will show too many tickets as pending a reply from the client which makes it really hard for you to understand how many support cases are really open, making it potentially difficult to schedule your support staff. This plugin automatically closes stale tickets which are most likely resolved or for which the client has otherwise lost interest.

The plugin can send an automatic post on the ticket when closing it depending on the options below.

Maximum inactive ticket age

Eligible tickets older than this many days (but newer than the "Silent close period") will be set to Closed status, posting a notification that the ticket is closed because it's inactive. If you don't want to use this feature set it to a really long time e.g. 10950 (that's 30 years in days).

Silent close period

Eligible tickets older than this many days will be set to Closed status, without posting a notification. This must be a bigger number than the previous setting. Otherwise all tickets will be closed silently. If you don't want to use this feature set it to a really long time e.g. 10950 (that's 30 years in days).

1.2.Automatic replies

Note

This plugin is NOT available in Akeeba Ticket System Core.

Displayed in the Joomla! Plugin Manager as Akeeba Ticket System - Automatic replies

This plugin allows you to send automatic replies to tickets, either instantly (when they are filed) or on a schedule. It makes the autoreply CRON command available when set up to do so.

You can set up the automatic replies and the rules under which they are sent in the Auto-replies page of the component.

Run on ticket creation

Should automatic replies be processed immediately after a new ticket is created?

Be careful with this option. If an Auto-reply rule results in a reply being sent it will appear to be sent at the same time as the new ticket is submitted. This may confuse clients and they might even ignore the automatic reply, confusing it with the new ticket confirmation they received at the same time.

Make available as a CRON task

When enabled, it makes the autoreply CRON command available to the CLI CRON script and the CRON URL of ATS. This command processes all Auto-Reply rules for all currently Open tickets and sends the corresponding emails.

Bot usernames

When you are using the auto-reply feature in Akeeba Ticket System you need one or more Joomla users to appear as the senders of the reply text. This is where you specify their usernames, one per line.

Important

The users must already exist in your Joomla! site. If you have not created them already, go to Users, User Manager in the back-end of your site and create one or more users. These users DO NOT have to have Support Staff permissions in any ATS category. In fact, you never need to log in with these users or even have valid email addresses for them.

As an example, you can make a new user with the full name Automatic Reply, username auto_reply_bot and email address [email protected].

1.3.Delete Manager Notes on ticket close / unpublish

Note

This plugin is NOT available in Akeeba Ticket System Core.

Displayed in the Joomla! Plugin Manager as Akeeba Ticket System - Delete Manager Notes on ticket close / unpublish

This plugin allows you to delete the manager notes from tickets when they get closed or unpublished. It makes the deletnotes CRON command available when set up to do so.

This might be a requirement for EU GDPR compliance. If you collect personally identifiable or confidential information in Manager Notes -- such as social security numbers, login credentials etc -- you have to delete them when you no longer need them to fulfil the request of your client. Obviously, when a ticket is closed or unpublished we can reasonably assume that the request of the client has been fulfilled therefore there is no legal basis for keeping this information in the ticket system. This plugin can automatically delete that information either immediately at ticket close / unpublish or after the fact for all closed / unpublished tickets.

The options for this plugin are:

Run on ticket close / unpublish

Automatically deletes the Manager Notes as soon as a ticket's status is set to Closed or when the ticket itself is unpublished.

Make available as a CRON task

When enabled, it makes the deletenotes CRON command available to the CLI CRON script and the CRON URL of ATS. This command will delete the Manager Notes from all tickets which are already closed or unpublished, in batches of 100 tickets.

1.4.Fetch email

Note

This plugin is NOT available in Akeeba Ticket System Core.

Displayed in the Joomla! Plugin Manager as Akeeba Ticket System - Fetch Email

This plugin is responsible for receiving email and creating ticket replies or new tickets. This feature is documented in its own documentation section.

1.5.Remove Obsolete Attachments

Note

This plugin is NOT available in Akeeba Ticket System Core.

Displayed in the Joomla! Plugin Manager as Akeeba Ticket System - Remove Obsolete Attachments

This plugin allows you to automatically delete attachments a certain amount of time after they are sent. It makes the removeattachments CRON command available when set up to do so.

Only closed

When enabled only attachments which are old enough and belong to already closed tickets will be removed. Otherwise all attachments, even from open tickets, will be removed if they are old enough.

Maximum attachment age (days)

Attachments older than this many days will be deleted.

1.6.Web Push Notifications

Note

This plugin is NOT available in Akeeba Ticket System Core.

Displayed in the Joomla! Plugin Manager as Akeeba Ticket System — Web Push Notifications

This plugin sends browser push notifications alongside the email notifications that Akeeba Ticket System already sends for ticket events. When a ticket event triggers an email (new ticket, new reply, edited post, manager note, ticket assignment), users who have subscribed to Web Push will also receive a browser notification on each device where they have subscribed.

The subscription is global per user and device. Once a user subscribes on a browser, they will receive push notifications for all ATS emails they would normally receive. There is no per-ticket subscription. The same filtering and security rules that apply to email notifications (assigned manager only, notify/exclude staff, post author exclusion, ticket visibility) also apply to push notifications — the plugin hooks into the same event that fires once per email recipient.

Important

Web Push requires HTTPS. It will not work on sites served over plain HTTP. Additionally, the user's browser must support the Web Push standard. Most modern browsers (Chrome, Edge, Firefox, Opera) support it. Safari has limited support.

1.6.1.Subscribing to push notifications

Users can subscribe to push notifications in two places:

  • Ticket reply area. A subscribe button appears below the reply button on every ticket page, both in the front-end and the back-end.

  • User profile. A "Web Push Notifications" section is added to the user profile edit page (Users, My Profile, or the administrator profile page).

When a user clicks the subscribe button, their browser will ask for permission to show notifications. If the user grants permission, the subscription is saved and the button changes to an unsubscribe button. Users can unsubscribe at any time by clicking the unsubscribe button.

Each browser and device requires its own subscription. Subscribing on Chrome on a desktop computer does not automatically subscribe Firefox on the same computer or Chrome on a mobile phone.

1.6.2.Plugin options

Enable logging

When enabled, the plugin writes detailed debug log entries to a separate log file (plg_ats_webpush.php) in Joomla's log directory. This is useful for troubleshooting notification delivery issues. You should disable this option in production to avoid unnecessary log file growth.

1.6.3.Technical notes

  • VAPID keys. The plugin uses VAPID (Voluntary Application Server Identification) keys for authentication with push services. These are automatically generated on first use and stored in the component's parameters. Do not change or delete the VAPID keys; doing so will invalidate all existing push subscriptions.

  • Subscription storage. Push subscriptions are stored in Joomla's #__user_profiles table under the key com_ats.webPushSubscription. No additional database tables are required.

  • Notification grouping. Notifications for the same ticket are grouped using a tag (ats-ticket-{id}). This means a new notification for the same ticket will replace the previous one on the user's device, preventing notification clutter.

  • Click action. Clicking on a push notification opens the ticket in the browser.