
Full blown event notification
Reported by Clemens Kofler | September 29th, 2008 @ 05:15 PM
This is a successor of #11.
As discussed in IRC, I'll try to outline my ideas for the adva_activity engine.
Currently, adva_activity only logs (i.e. stores in the database) a couple of different events (e.g. create and destroy) for articles, comments and wikipages. However, in the near future this should and definitely will change. Therefore, it is important to think about the best way to handle activities.
One thing that the CMS definitely needs is some kind of notifications for users. Think about users publishing articles - moderators and admins should then be told that there are articles awaiting moderation. This notification can be presented in various different ways (e.g. e-mail, RSS, live on the page, etc.) but the underlying functionality stays the same.
The idea is to use some kind of bottom-up event bubbling to notify all users who are watching either an object itself or one of their parent objects.
Imagine the following site structure: "advaBEST" (= the site's name) has a section named "adva_cms" which in turn has a section named "adva_cms Wiki" (which is, of course, a wiki). Now let's assume the following two activities on the page:
- A user adds a new wiki page to the adva_cms Wiki.
- A user modifies an existing wiki page of the adva_cms Wiki.
In the first scenario, we'd have to notify the following users (in this order):
- Users watching the wiki section "adva_cms Wiki"
- Users watching the section "adva_cms"
- Users watching the site "advaBEST"
Administrators of a given site and superusers should be subscribed to the whole site (advaBEST) by default but can then, of course, unsubscribe.
In the second scenario, we'd also have to inform subscribers of the respective wiki page.
The implementation can be done with a relatively simple subscription model that pretty much only includes the user_id, object_id and object_type (which can be Section, Wikipage, etc.). Later in the game, we could also think about providing some option similar to Google Groups (i.e. a daily digest instead of a notification for every single activity one is subscribed to). Then, when an activity is triggered, we walk the object tree recursively (via commentable_id, section_id, parent_id, etc.) until we hit the first section with parent_id = NULL at which point we fetch the site object. This way, everybody in the object hierarchy gets notified and we have a flexible solution that concrete presentation layers (like RSS, e-mail, etc.).
Let me know if anything's unclear or if you have suggestions to improve this model.
Comments and changes to this ticket
-
Sven Fuchs January 9th, 2009 @ 10:36 AM
- Milestone cleared.
- State changed from new to open
-
-
Elvis Wolf June 21st, 2021 @ 10:27 AM
There are a titanic heap of striking affinities an understudy can benefit by learning at the SUNY College at Geneseo. Visit https://www.passivevoicecorrector.com/active-and-passive-voice-corrector/ for more ideas. Regardless, it is acceptably reproved.
-
Buturing1958 June 21st, 2021 @ 11:59 AM
Light House is a website that needs to make an account first to get information from it. You can add your forums for getting more data with authentic data. So, you can get easy essay writing services that helpful for all levels of students. They are offering a free sign-up account. Join their website for more.
-
Elvis Wolf June 24th, 2021 @ 07:54 AM
I'm feeling so crushed and flopping for that understudy who was getting attacked. Click https://www.passivevoicefixer.com/8-reasons-to-get-passive-voice-detector-online-today/ for more ideas. We should devise a declaration plan for such individuals.
-
Elvis Wolf July 12th, 2021 @ 10:55 AM
The piece of theory of Tilburg University has been all through the world saw as the best. Visit www.plagerismchecker.net to check grammar mistakes in work. Since I have beginning late found a reduced getting learning at this school, I am surprisingly amped open.
-
maria yousof July 31st, 2021 @ 07:03 PM
Great blog...
If anyone wants to know about Philips Respironics,must read this. -
nicolesmith August 25th, 2021 @ 02:21 AM
Thank you for sharing this code with us, I really appreciated it. I will check it now but while I am doing that, can you also please check this pokemon cafe mix. It is my favorite puzzle game and I want you to try it. Also visit this link for more fashion interior design games. Play them both when you have free time and ask your friend to join you. Have a nice day and enjoy these two amazing games.
-
Please Sign in or create a free account to add a new ticket.
With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.
Create your profile
Help contribute to this project by taking a few moments to create your personal profile. Create your profile »
<p>Cutting edge cms, blog, wiki, forum ... plattform.</p>
<p>Find the code on <a href="http://github.com/svenfuchs/adva_cms/tree/master">GitHub: adva cms</a></p>
<p>Part of the business application framework <a href="http://www.advabest.org/">adva best</a>.</p>
People watching this ticket
Tags
Referenced by
-
11 Event email notification Small version (only notify site admins and superusers) is...
-
91 Outline thoughts about notification engine See #74.
-
92 Expand thoughts about notification engine Take over Josh's work on #91 and expand it to full storie...
-
263 Feature request: Don't sent an email every time a section is updated I think this is very much related to ticket #74 what is a...