eiffel-community / eiffel-intelligence-frontend

Eiffel Intelligence front-end is a graphical user interface through which users can interact with Eiffel Intelligence back-end.
Apache License 2.0
5 stars 45 forks source link

Implement Failed Notifications page #256

Open Christoffer-Cortes opened 5 years ago

Christoffer-Cortes commented 5 years ago

Description

The failed notifications endpoint should be accessible through the GUI. There needs to be a page displaying the notifications of a specific subscription. Aggregated object snapshot and log message should be avaiable this way.

Note: This feature requires this https://github.com/eiffel-community/eiffel-intelligence/issues/254 change in order to have access to the log message.

Motivation

We want to make it visible for the user if a subscription has failed to reach its notification meta.

Exemplification

Below are mock-up images of how the GUI could look like. The user would be able to sort subscriptions by failed notifications. The number of failed notifications would appear as a clickable button. failed-notifications-11-subscription-page

When the button is clicked the failed notifications page opens with the listed failures for the specific subscription. The user can then click on aggregated object button to view the snapshot or the message button to view the log message. A download json data button would also be available to see the raw data. failed-notifications-12-failed-page

There should also be a clear option to go back to the subscription page since this is a sub-page that is otherwise not reachable other than through the subscription table. The simple option is the back button which could simply look like this: failed-notifications-14-back There is also the possiblity of adding a breadcrumb to the top of subscription page when a user clicks on failed notifications. The implementation of this is not entirely clear though. Should the breadcrumb stay when you go back to the parent? Should there be synching with breadcrumb and the url path e.g. URL: 'underwear/boxers/medium/, Breadcrumb: 'Underwear / Boxers / S' failed-notifications-13-breadcrumb

Benefits

The failed notifications api is no longer obscured and can easily be viewed from the GUI. This would alert the users if something is wrong the notification meta. Perhaps the service is down or there was a spelling mistake in the meta etc.

Possible Drawbacks

e-pettersson-ericsson commented 5 years ago

In the second picture, the message button refers to the logs/response saved by EI back-end which contains information about what actually went wrong. The name of the button I think can be discussed a bit more. Isn't logs better?

Christoffer-Cortes commented 5 years ago

Sure, log sounds good. The layout, colors, naming etc. is up for change of course.

e-pettersson-ericsson commented 4 years ago

In back-end we currently only support a REST API endpoint given ONE subscription name. We can't find failed notifications for several subscriptions at the same time, see: https://github.com/eiffel-community/eiffel-intelligence/issues/346

Before we can update the front-end, the back-end needs to support both use cases - if we go with the assumed layout described above.

e-pettersson-ericsson commented 4 years ago

Eiffel Intelligence back-end has been updated to handle GET requests for failed notifications with multiple subscriptions, see PR 385 so it should be possible to start working on enabling this feature in the front-end.