On 05/18/2017 02:17 PM, Thomas Mortagne wrote:
On Thu, May 18, 2017 at 2:11 PM, Thomas Mortagne <[email protected]> wrote:
On Thu, May 18, 2017 at 10:34 AM, Clément Aubin <[email protected]> wrote:
On 05/18/2017 10:18 AM, Guillaume Delhumeau wrote:
Hi Clément
2017-05-17 23:29 GMT+02:00 Clément Aubin <[email protected]>:
Hi everyone,
I’m currently working on a feature that should allow users to define custom notification types in XWiki only through the definition of an XObject (link to the issue : https://jira.xwiki.org/browse/XWIKI-14119).
In this context, I wanted to know your thoughts about what properties should be proposed by this XObject.
Currently, here is my proposition :
- The application name (applicationName) : the event application name
- A unique ID for the event (eventId)
What does it mean? If the ID is unique, it must be computed every time an event is created and it's not the job of the event descriptor to generate this.
This event ID is used to uniquely identify an event type (I should maybe rename it to eventTypeID in order to avoid some confusion), but the idea of generating this ID automatically is very interesting !
You already have another field with the event type so I still don't see what this eventid field is about.
Here, eventId is used to uniquely identify an event. If I take the exemple of the application-blog, this eventId would be «BlogPostPublishedEvent». Note that, as Guillaume suggested, I plan to rename it eventType in order to avoid confusion. The current «eventType» field will be renamed «listenTo» or «eventTrigger».
- An event «pretty» name / description (eventPrettyName)
- An event icon, mainly displayed in the user notification preferences pane (eventIcon)
- An event type (eventType) : the name of the event that should trigger the notification (such as org.xwiki.bridge.event.DocumentUpdatedEvent)
- An object type (objectType) : an XObject that _has_ to be associated with the document triggering the event in order to trigger the custom notification
Should be optional IMO and most of the time the class should be the document in which the event type descriptor it's stored like I explained in my example.
Ok !
- A validation expression (validationExpression) : a script that will be parsed in the event context in order to filter certain event kinds.
- A notification template (notificationTemplate) : the template that should be used for rendering the notification in the notification center
What do you mean exactly by "template" ? A reference to a template, the actual wiki content that will do the display ?
Currently, it’s the actual wiki content that will be displayed.
To summarize, a custom notification is triggered if the following expression is fully satisfied : «The (eventType) has been triggered on a document having (objectType) in his XObjects and the (validationExpression) is true in the current context».
What do you think ?
Thanks,
-- Clément Aubin Web Developer Intern @XWiki SAS [email protected] More about us at http://www.xwiki.com