Tickets Plugin 🎟

What are the correct steps to install this plugin? I just followed the following steps, just like any other plugin: Install Plugins in Discourse

There are also the notes in the OP.

Is it possible you have a typo in the tag group names? Should be tickets_ not ticket_.

Nope, that was just my typo. I did enter a few tags in each group.

there is currently no UI to add tickets in the composer (coming soon)

This one still confuses me as I have no idea how to assign a ticket to a topic

There are three site settings (in addition to the enabled setting)

I’m not sure where these are or if I need to do something.

Here are the plugins I’ve installed:

Well, once you get it working right you will see what we see when editing topic titles. Promise. :sunflower:

Look in ADMIN > SETTINGS and search for “tickets”. Here’s what it looks like for me:


Aside - I’ve just been nudged that it’s time for you and I to get a room. :slight_smile: If this still doesn’t get you on your way and you still need help with getting the ticket button showing up when editing topic title, please PM me.

Consider replying to more people

You’ve already replied 3 times to @GeertClaes in this particular topic.

Have you considered replying to other people in the discussion, too? A great discussion involves many voices and perspectives.

If you’d like to continue your conversation with this particular user at length, send them a personal message.

Thanks everyone … especially @tobiaseigen :grin:

I thought I’d share my solution for others in the future. I had assumed that the fact that the Tickets Plugin shows up as “Enabled” in Plugins it meant that the tickets plugin is enabled. However, it appears that there is another “Enable tickets on topics?” setting. Maybe an idea to add this to the notes above?

1 Like

OK, I have edited the OP with my wishlist, consolidating info from various places where we’ve talked about it. Feel free to scale back ambitions or reorganize as you see fit. :seedling:

I updated the notes in the OP to hopefully address this concern. Let me know if you think my fix is good enough or feel free to improve further.

1 Like

So far we really like the Tickets plugin, so thanks heaps for creating this plugin @angus!

Its no biggie, but I would suggest adding a “Settings” button in /admin/plugins (which probably should only shows the plugin as being enabled when the “Enable tickets on topics?” is enabled, no?)


Clicking the Settings button in plugins should take the user to:

1 Like

This is a good idea and would bring this plugin in line. I will add to the task list… hopefully it’s easy and low hanging fruit.

That said, this is a bit of polish that I think can wait, or maybe someone else can add it. I’d prefer for Angus to devote the limited pro bono time he has to fixing bugs and adding the features to make the plugin more useful as a ticket system. The instructions in the OP are reasonably clear and should be enough to get started. If they aren’t, we can improve the instructions.

@angus I just noticed that the tickets plugin does not have a category on your sandbox to allow people to donate to its development. Maybe this would be a good idea now to allow people to give you encouragement. :wink:

@GeertClaes also wrote to me in a PM that he’d like to be able to rename the ticket system and the ticket tag groups. This presumably could also be made possible using admin settings. It’s not a bad idea and I can see how it would help some communities. But I also see it as a lower priority item. I’ve added it to the task list in the OP.

1 Like

Follow-up … to my many earlier posts here … apologies, I don’t mean to spam this thread :grinning:

Anyhow, we are testing re-purposing “Tickets” as “Initiatives” in the context of an “Innovation Funnel”. So, we have renamed “Tickets” to “Initiatives” and Priority/Reason/Status to things that mean something in our process.

Also, no big deal, but maybe renaming “Tickets” to “Tracking” would allow any use of tracking a topic through whatever stages make sense to people? Having “tracking” instead of tickets in the URL would look better (for us) too :grin:

But it is indeed not the highest priority.

Renaming can for almost everything easily be done via “Customise/Text Content” … but I do struggle to find where/how to replace the Priority/Reason/Status in the following places:

  • where does the “{{type}}” come from which is used in the text? js.tickets.topic.select > Select a {{type}}
  • where/how can I change the Priority/Reason/Status items in the “select a field” dropdown on /admin/tickets

@tobiaseigen Thanks for the to-do list :slight_smile:

I’ve added a category for this plugin on my sandbox: Tickets - Angus' Sandbox

Out of that big list, what would you say are the top three items?

1 Like

My ideas above are low priority which is fine … but can anyone still provide some advice on my 2 questions? :grin: Where/how to replace the Priority/Reason/Status in the following places:

  • where does the “{{type}}” come from which is used in the text? js.tickets.topic.select > Select a {{type}} because I want to rename this too
  • where/how can I change the Priority/Reason/Status items in the “select a field” dropdown on /admin/tickets

@angus I am assuming I write to you here now about bugs with this plugin. Let me know if you prefer our other channels. :male_detective:

We’ve recently started having a new issue that may be a bug… perhaps a change in discourse has affected this plugin. Now, when adding ticket details to a message and adding the helpdesk group to the ticket, it looks like the helpdesk group is added but actually it is not.

Meanwhile, and this is worth testing separately to see if it’s a bug with the assign plugin, the person in the helpdesk group I assign the ticket to is notified about it but does not have access. It seems to me this person should not be notified if they don’t have access to the message.

1 Like

@tobiaseigen I’ve scheduled the bug investigations for next week:

https://discourse.angusmcleod.com.au/t/tickets-various-bugs/906

1 Like

As promised, just took a look at this.

This one should be fixed now:

I’m a bit confused by this one. How did you assign a non-staff member to a message?

1 Like

Moderators are staff but do not have access to all messages. Hence the need for a helpdesk group.

Looks like I misunderstood the functionality in the official Discourse Assign plugin when Angus and I started working on this plugin.

As discussed elsewhere, the assigned plugin is meant to be used to assign topics that need attention. Topics are then unassigned again when whatever the task is has been completed. Meanwhile, we designed the tickets plugin around the idea that tickets remain forever assigned even once it has been resolved, so we can follow up and help desk team colleagues who are allowing tickets to languish.

The assigned plugin has been improved recently with a new daily/weekly or monthly reminder message and improvements to the assigned activity page. With these improvements, it’s more obvious how it is intended to be used.

Now that I understand it better, I think the assigned plugin gets it right and will start going through tickets on my system and unassigning those that do not need handling or that are resolved.

The new flow, I think, will be:

  • new tickets are not always assigned
  • tickets are assigned when followup is needed
  • once an assigned ticket is resolved, it is unassigned again
  • if someone replies or wants to reopen it, we reassign it

When someone leaves the team, one of the following happens:

  • they resolve and unassign their remaining tickets
  • they reassign their remaining tickets to someone else
  • an admin unassigns all their tasks or reassigns them to someone else

Two things come to mind that need some thought here:

  • @angus: the dashboard, when overhauled, will want to show (and be filterable by) people who were involved in a ticket… for various reasons… because it is about them, was started by them or contains replies by them, or was assigned to them at some point. The simplest way to handle this methinks would be to not try to distinguish between these various reasons and just list them together just like on the messages.
  • when a colleague leaves the team and is removed from the helpdeskteam group, they still have access to the messages they wrote or were involved in while they were in the group. This is a bit weird, though in practice it hasn’t been an issue so far. I guess if we have a problematic break with a colleague, which thankfully has never happened, we can anonymize their account when they leave.
1 Like

@angus looks like my ticket system broke recently, perhaps also as a result of events plugin updates? As of this morning, the ticket tags are not available when editing message titles and then it becomes impossible to make any more changes until I refresh in the web browser or close and reopen the tab. In this case there is an error in the log that seems to refer to events.

I am doing a quick update of my discourse to see if recent updates fixes things. When it comes back I will let you know if it does.

Here’s the backtrace for the errors:

TypeError: Cannot read property 'events_enabled' of undefined
    at r (https://community.namati.org/assets/plugin-third-party-b00e9ca3a937f62c59e9423868d9060c782a415960d1eb8dace484dd50630de7.js:3:24118)
    at n.setupComponent (https://community.namati.org/assets/plugin-third-party-b00e9ca3a937f62c59e9423868d9060c782a415960d1eb8dace484dd50630de7.js:3:24216)
    at n.init (https://community.namati.org/assets/application-f9e6f6819207e61f66ae15772bb734043a3cf73147d80dfe51497ec17116b0fd.js:33:13639)
    at n [as init] (https://community.namati.org/assets/ember_jquery-0ae86c6a7527a99c2b9b8a11521273bd9cb4f7d41bc546df081b7ee94f26d9c3.js:10:2282)
    at c (https://community.namati.org/assets/ember_jquery-0ae86c6a7527a99c2b9b8a11521273bd9cb4f7d41bc546df081b7ee94f26d9c3.js:9:26835)
    at Function.e.create (https://community.namati.org/assets/ember_jquery-0ae86c6a7527a99c2b9b8a11521273bd9cb4f7d41bc546df081b7ee94f26d9c3.js:9:28708)
    at e.n.create (https://community.namati.org/assets/ember_jquery-0ae86c6a7527a99c2b9b8a11521273bd9cb4f7d41bc546df081b7ee94f26d9c3.js:3:31978)
    at t.i.create (https://community.namati.org/assets/ember_jquery-0ae86c6a7527a99c2b9b8a11521273bd9cb4f7d41bc546df081b7ee94f26d9c3.js:5:17983)
    at Object.evaluate (https://community.namati.org/assets/ember_jquery-0ae86c6a7527a99c2b9b8a11521273bd9cb4f7d41bc546df081b7ee94f26d9c3.js:14:13469)
    at e.t.evaluate (https://community.namati.org/assets/ember_jquery-0ae86c6a7527a99c2b9b8a11521273bd9cb4f7d41bc546df081b7ee94f26d9c3.js:14:42)

TypeError: Cannot read property 'lastNode' of null
    at e.t.lastNode (https://community.namati.org/assets/ember_jquery-0ae86c6a7527a99c2b9b8a11521273bd9cb4f7d41bc546df081b7ee94f26d9c3.js:15:3516)
    at n.t.lastNode (https://community.namati.org/assets/ember_jquery-0ae86c6a7527a99c2b9b8a11521273bd9cb4f7d41bc546df081b7ee94f26d9c3.js:15:3516)
    at i.r.lastNode (https://community.namati.org/assets/ember_jquery-0ae86c6a7527a99c2b9b8a11521273bd9cb4f7d41bc546df081b7ee94f26d9c3.js:15:8412)
    at e.t.lastNode (https://community.namati.org/assets/ember_jquery-0ae86c6a7527a99c2b9b8a11521273bd9cb4f7d41bc546df081b7ee94f26d9c3.js:15:4839)
    at i.o.evaluate (https://community.namati.org/assets/ember_jquery-0ae86c6a7527a99c2b9b8a11521273bd9cb4f7d41bc546df081b7ee94f26d9c3.js:15:10929)
    at e.r.execute (https://community.namati.org/assets/ember_jquery-0ae86c6a7527a99c2b9b8a11521273bd9cb4f7d41bc546df081b7ee94f26d9c3.js:15:7722)
    at e.t.rerender (https://community.namati.org/assets/ember_jquery-0ae86c6a7527a99c2b9b8a11521273bd9cb4f7d41bc546df081b7ee94f26d9c3.js:15:11945)
    at e.s.render (https://community.namati.org/assets/ember_jquery-0ae86c6a7527a99c2b9b8a11521273bd9cb4f7d41bc546df081b7ee94f26d9c3.js:5:22193)
    at Pt (https://community.namati.org/assets/ember_jquery-0ae86c6a7527a99c2b9b8a11521273bd9cb4f7d41bc546df081b7ee94f26d9c3.js:7:3730)
    at t._renderRoots (https://community.namati.org/assets/ember_jquery-0ae86c6a7527a99c2b9b8a11521273bd9cb4f7d41bc546df081b7ee94f26d9c3.js:5:24657)

I see the ticket button on edit but not on create … is this a known issue?

Hi Keith! This is by design. You can only add the ticket details after saving the topic.

1 Like

I’m currently getting

When assigning values to a ticket.

What’s the process to resolve this? … the dialog is unclear … to me.

1 Like