Uploaded image for project: 'XWiki Platform'
  1. XWiki Platform
  2. XWIKI-14597

Add UI for "Location" and "Global Notification Preferences" in the Notification Center

Details

    • Improvement
    • Resolution: Fixed
    • Major
    • 9.8-rc-1
    • 9.7-rc-1
    • Notifications
    • None
    • Unknown

    Description

      evalica recently proposed a new UI for the notifications, this will allow the user to get a clearer view of its notification preferences, and will allow us to introduce the preferences for the watchlist equivalent in the notifications center.

      This issue is about implementing this new UI.

      Attachments

        1. collapsed.png
          collapsed.png
          663 kB
        2. idea2-4.png
          idea2-4.png
          226 kB
        3. idea3-1.png
          idea3-1.png
          72 kB
        4. idea3-2.png
          idea3-2.png
          78 kB
        5. BoxWithIcon.png
          BoxWithIcon.png
          25 kB
        6. selects-on-bootstrap.png
          selects-on-bootstrap.png
          22 kB
        7. idea-3-3.png
          idea-3-3.png
          76 kB
        8. FiltersUI.png
          FiltersUI.png
          42 kB
        9. WIP.png
          WIP.png
          75 kB

        Issue Links

          Activity

            [XWIKI-14597] Add UI for "Location" and "Global Notification Preferences" in the Notification Center

            Work in progress:

            gdelhumeau Guillaume Delhumeau added a comment - Work in progress:

            hence my initial remark that it shouldn't be a special case and that it should be only about System events by default

            That's why I wanted to implement XWIKI-14378 (Add the ability to enable/disable all the notifications of an application) and we finally decided that it was just an UI helper with no specific behavior on the backend. However, we can still enable/disable all event types that are handled by the System application.

            gdelhumeau Guillaume Delhumeau added a comment - hence my initial remark that it shouldn't be a special case and that it should be only about System events by default That's why I wanted to implement XWIKI-14378 (Add the ability to enable/disable all the notifications of an application) and we finally decided that it was just an UI helper with no specific behavior on the backend. However, we can still enable/disable all event types that are handled by the System application.
            vmassol Vincent Massol added a comment - - edited

            I disagree. Why would you not be interested in other kind of events, as soon as they concern the page?

            Indeed, it should be about events concerning the page. But there can be other events not related to pages. For example: A new Admin user has been created, the Owner of the wiki has changed, etc. So yes I agree that it's not related only to the "System" app but I'm not sure it should be about all events either.

            EDIT: Actually I'm not even sure it should be about all events related to pages (hence my initial remark that it shouldn't be a special case and that it should be only about System events by default - Please also see my other comment about being able to select other events). For example if I want to watch this page and this page is not a blog post, I'm not sure I want to be notified if a new blog post has been created. I do want to know the changes to the page thuogh.

            vmassol Vincent Massol added a comment - - edited I disagree. Why would you not be interested in other kind of events, as soon as they concern the page? Indeed, it should be about events concerning the page. But there can be other events not related to pages. For example: A new Admin user has been created, the Owner of the wiki has changed, etc. So yes I agree that it's not related only to the "System" app but I'm not sure it should be about all events either. EDIT: Actually I'm not even sure it should be about all events related to pages (hence my initial remark that it shouldn't be a special case and that it should be only about System events by default - Please also see my other comment about being able to select other events). For example if I want to watch this page and this page is not a blog post, I'm not sure I want to be notified if a new blog post has been created. I do want to know the changes to the page thuogh.

            I don't think this should be a special case and it's not true that it's for all events, it's only for page events coming from the "System" application AFAIK.

            I disagree. Why would you not be interested in other kind of events, as soon as they concern the page?

            gdelhumeau Guillaume Delhumeau added a comment - I don't think this should be a special case and it's not true that it's for all events, it's only for page events coming from the "System" application AFAIK. I disagree. Why would you not be interested in other kind of events, as soon as they concern the page?
            vmassol Vincent Massol added a comment -

            This special case is supposed to replace the Watchlist: if you want to watch a particular page, you receive ALL EVENTS concerning this page.

            Note that I talked to Clement about this and an idea I had was that when you want to watch a page, you can select to watch the page events easily (one click) but ideally you should also be able (by clicking an advanced button) to select all the events you wish to watch for the page).

            vmassol Vincent Massol added a comment - This special case is supposed to replace the Watchlist: if you want to watch a particular page, you receive ALL EVENTS concerning this page. Note that I talked to Clement about this and an idea I had was that when you want to watch a page, you can select to watch the page events easily (one click) but ideally you should also be able (by clicking an advanced button) to select all the events you wish to watch for the page).
            vmassol Vincent Massol added a comment -

            As I can see, the name of the event ("update") is displayed instead of its description ("a page has been modified"). Maybe we should change it.

            Definitely. It needs to be the same name as in the events table above.

            There is a special case in which we can create a filter for "All Events".

            I don't think this should be a special case and it's not true that it's for all events, it's only for page events coming from the "System" application AFAIK.

            vmassol Vincent Massol added a comment - As I can see, the name of the event ("update") is displayed instead of its description ("a page has been modified"). Maybe we should change it. Definitely. It needs to be the same name as in the events table above. There is a special case in which we can create a filter for "All Events". I don't think this should be a special case and it's not true that it's for all events, it's only for page events coming from the "System" application AFAIK.

            I have committed my changes.

            Now I would like to talk about the "Filters" box:

            I see some problems in it.

            caubin designed it in a generic fashion. Any preference for any filter type can be displayed in the livetable according to a sophisticated displayer mechanism. And he just committed the displayer for the most used filter: the scope filter.

            1. As I can see, the name of the event ("update") is displayed instead of its description ("a page has been modified"). Maybe we should change it.
            2. There is a special case in which we can create a filter for "All Events". This special case is supposed to replace the Watchlist: if you want to watch a particular page, you receive ALL EVENTS concerning this page. The way I have imagined it, is that you receive all event, even if you have not enabled their application or their type in the previous `Application` box. It might be a bit confusing. Moreover, it is mixed with filter preferences that DO DEPEND on the status of the type (enabled or not). I was considering adding a second livetable, only to handle the ALL EVENTS filters, to make clear that they work differently, and that we could call "Watched Locations".

            WDYT?

            gdelhumeau Guillaume Delhumeau added a comment - I have committed my changes. Now I would like to talk about the "Filters" box: I see some problems in it. caubin designed it in a generic fashion. Any preference for any filter type can be displayed in the livetable according to a sophisticated displayer mechanism. And he just committed the displayer for the most used filter: the scope filter. As I can see, the name of the event ("update") is displayed instead of its description ("a page has been modified"). Maybe we should change it. There is a special case in which we can create a filter for "All Events". This special case is supposed to replace the Watchlist: if you want to watch a particular page, you receive ALL EVENTS concerning this page. The way I have imagined it, is that you receive all event, even if you have not enabled their application or their type in the previous `Application` box . It might be a bit confusing. Moreover, it is mixed with filter preferences that DO DEPEND on the status of the type (enabled or not). I was considering adding a second livetable, only to handle the ALL EVENTS filters, to make clear that they work differently, and that we could call "Watched Locations". WDYT?
            vmassol Vincent Massol added a comment -

            Seems good, I like it, except the wording "Authorized Applications" since it's not about permissions. I'd preferred just "Applications" or "Observable Applications" or "Notifiable Applications" or "Available Applications" or "Supported Applications". There's some typo in the text "This is the list of applications ...".

            vmassol Vincent Massol added a comment - Seems good, I like it, except the wording "Authorized Applications" since it's not about permissions. I'd preferred just "Applications" or "Observable Applications" or "Notifiable Applications" or "Available Applications" or "Supported Applications". There's some typo in the text "This is the list of applications ...".
            gdelhumeau Guillaume Delhumeau added a comment - - edited

            Without icons on the headings:

            gdelhumeau Guillaume Delhumeau added a comment - - edited Without icons on the headings:

            There is no bug on the arrow of the select box. This is how it is rendered by Firefox on Linux when I visit get-bootstrap.com:

            gdelhumeau Guillaume Delhumeau added a comment - There is no bug on the arrow of the select box. This is how it is rendered by Firefox on Linux when I visit get-bootstrap.com:

            People

              gdelhumeau Guillaume Delhumeau
              caubin Clément Aubin
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: