Tickets Plugin šŸŽŸ

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: https://discourse.angusmcleod.com.au/c/tickets

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

Hi Keith! This is a bug that cropped up recentlyā€¦ I am getting it too. @angus can you take a look somewhat urgently?

2 Likes

Iā€™ve got an issue where the values Iā€™m putting in on the tickets are not being saved.

Example

Any pointers on how to debug?

Any known workarounds?

@tobiaseigen @csmu I will take another look at it today, however Iā€™ve yet to repro the ā€˜topic allowed groups is invalidā€™ issue on https://discourse.angusmcleod.com.au.

If you could attempt to isolate:

  • The type of topic it appears in
  • Whether it only appears when certain features are used
  • Whether there are any associated exceptions in the web console or /logs.

That would greatly assist the process.

Ideally, if someone could make a full bug report at Bug Report that would be great. Thanks in advance!

2 Likes

Would you like a login to our site?

Thanks, Angus! I will take a closer look at this tomorrow.

1 Like