Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

The version 3.2.x of Datafari introduces a new way to create, consult and modify alerts.

The creation of an alert is now implemented by a widget embedded in the searchView. The widget javascript file is WebContent/js/AjaxFranceLabs/widgets/CreateAlert.widget.js and it is instantiated in WebContent/js/search.js and imported as a script file in WebContent/searchView.jsp.
A 'div' element with the id 'create_alert' has been added to the searchView.jsp file to be the container of the widget but is only added when an authenticated user is detected.
The widget adds a 'Create alert' button to the UI which displays, when the user click on it, a text field to enter an e-mail address and a 'select' element to choose the frequency of the alert. Once the user validate theses parameters, the widget sends them as a POST request, in addition with the search query parameters, to the "/admin/Alerts" servlet (code located in src/main/java/com/francelabs/datafari/servlets/admin/Alerts.java).
Then the servlet insert everything in the "alerts" table of the Datafari database in Cassandra.

The management of the alerts is now implemented in the 'parameters' page and the javascript code is located in WebContent/js/parameters.js in the createAlertContent() method.
The goal of this javascript code is to provide a table displaying all the alerts created by the authenticated user and provide a 'modify' button for each of them to change the frequency (for now you cannot change the e-mail address), and a 'Delete' button.
Modify an alert will result in a POST request to the "admin/Alerts" servlet with the new frequency and all the other alert parameters as POST data. Therefore, the behavior is the same than the CreateAlert widget.
Delete an alert will result in a POST request to the "admin/Alerts" servlet with only the alert id as POST data. The servlet detects that only an id has been provide so it has to delete the corresponding entry in the database.

  • No labels