Problems, need help? Have a tip or advice? Post it here.
5 posts Page 1 of 1
Hi guys, so I'm a little stuck trying to decide how to go about creating a notification system within my site.

A little about my site and the system - The site has a front-end couchcms support ticket system using the extended users module. What we'd like to achieve is some kind of advanced notification system for both staff and users. Currently, users can create a support ticket, input details of the issue and select a priority from a dropdown box. Then a ticket is created where both site staff (admins) and the user can comment on the support ticket and change the priority/status as they go until it is closed.

The only thing missing is notification system on the site for the tickets. Basically, I'd like to display a notification icon next to the staff/user profiles when there is a reply to read. (And, for staff, when there are new tickets created). I have E-mail notifications setup, but I'm not quite sure how to display notifications on the site.
Furthermore, I'd also like to be able to have the notification icon removed once an admin reads the new ticket, or when a user reads the new comment on their ticket.

Any ideas on an easy and manageable way to do this? I'm probably just having a funny 5 minutes but every way I can think of seems overly complex.

I'd also like to make this system more advanced, displaying the number of notifications to staff/users, so if there are 5 new (unread) tickets, I could display that to admins on the site. The same goes for users and their notifications.

I'd love to hear peoples opinions on this topic and how they would go about achieving it, I'm sure I could cobble it together myself but doubt I'd do it in the best way possible.
Image
Think of Users, Notes and Pads application.
http://www.couchcms.com/docs/advanced-t ... rough.html

Attachments

Join COUCH:TALK channel here https://t.me/couchcms_chat
Ryazania — a framework to boost productivity with Add-ons viewtopic.php?f=2&t=13475
Support my efforts to help the community https://boosty.to/trendo/donate
I could help you with advice and some parts of code if it gets complicated sometimes, if later the whole setup can be reused in other websites and uploaded to forum, to save time for other people.

Best regards
Join COUCH:TALK channel here https://t.me/couchcms_chat
Ryazania — a framework to boost productivity with Add-ons viewtopic.php?f=2&t=13475
Support my efforts to help the community https://boosty.to/trendo/donate
Hi Trendoman,

I spent some time today going over the documentation of that application again, since it has been some time. I don't know which part of that application would help with what I'm trying to achieve in this thread, could you elaborate?

I'm trying to find the best approach to achieve this, it's not as simple as having one set of notifications, there needs to be two sets, one for the user when an admin has commented/updated their ticket and one for the admin(s) when a user replies to a ticket. Also, when the status of a ticket is changed (For example, a user thinks their issue hasn't been solved and wishes to reopen the ticket).

Does anybody have some ideas for approaching a full notification system?

Once I have the system created and working, of course, I will write a tutorial for users to create their own. :)

I'd like this system to somewhat be expansible, too. So, for example later I wish to add notifications for another module/area of the site, I should be able to incorporate it into the existing system. I've been trying to plan out in my head the best approach to creating such a system, thinking of how easy it will be to trigger a notification, how to set some notifications to all admins, while others just to users or a specific admin, etc.

Any input is greatly appreciated!
Image
two sets, one for the user when an admin has commented/updated their ticket and one for the admin(s) when a user replies to a ticket. Also, when the status of a ticket is changed (For example, a user thinks their issue hasn't been solved and wishes to reopen the ticket).


Think of a mailbox. Each user has some letters attached and each letter can have a follow-up (reply/forward).

Starting with tickets.php template with cloned tickets. Each has a user-owner (related from extended_users template) and some assigned person to that ticket (or many) and a supervising person maybe too. So, 2-3 related fields.

Why would we have it like this? Because a ticket holds all necessary service information about it, not only mere conversation chunks.

So, then each ticket has another 'many' relation to messages.php template. Each can have some ID, date, status, and a relation to previous message to track a tree of messages in case the structure is not linear. If it's linear - like message->reply->message->reply, then it will be easier and straightforward to fetch them by dates or ascending IDs..

Now, admin easily fetches tickets with status='open'. User easily fetches tickets, which belong to him, also easily fetches read/unread messages.

Everything you are trying to do is covered by <cms:pages > and custom_field parameter, which supports relation fields.

You have to be more specific about any troubles you've run into while implementing this, so I can help. If some advanced fetching/aggregation is required, I'd help with direct query to db.
Join COUCH:TALK channel here https://t.me/couchcms_chat
Ryazania — a framework to boost productivity with Add-ons viewtopic.php?f=2&t=13475
Support my efforts to help the community https://boosty.to/trendo/donate
5 posts Page 1 of 1