plugin_event issueshttps://gitlab.in2p3.fr/tev/plugin_event/-/issues2019-12-05T19:23:40+01:00https://gitlab.in2p3.fr/tev/plugin_event/-/issues/31migrate to python3.72019-12-05T19:23:40+01:00LE GAC Renaudmigrate to python3.7* python 3.7
* web2py 2.18.3
* matplotlib 3.1.1
* pandas 0.25.2
* plugin_dbui 0.9.9.1-py37* python 3.7
* web2py 2.18.3
* matplotlib 3.1.1
* pandas 0.25.2
* plugin_dbui 0.9.9.1-py37https://gitlab.in2p3.fr/tev/plugin_event/-/issues/30Bugs...2018-05-18T05:04:29+02:00LE GAC RenaudBugs...Series of bugs appears during the preparation of the EAP in September 2017. They are related to the *user data block* in the form as well as in the grid.
In the form
* Update an entry in the history grid (for an vent with a non-empty da...Series of bugs appears during the preparation of the EAP in September 2017. They are related to the *user data block* in the form as well as in the grid.
In the form
* Update an entry in the history grid (for an vent with a non-empty data block)
* Move to the tab *event*. In most of the case the data block is empty
* Close the form an reopen it, then the data block is OK
In the grid
* Select an event
* Expand several data blocks
* It is working fine but after several iteration the data block is not displayed properly and the form is corrupted
* The only possibility is to restart the application
Other instabilities appears when filtering the history tables and playing with list, ....https://gitlab.in2p3.fr/tev/plugin_event/-/issues/29Bug in UserDataMultiDefault2018-05-18T05:04:30+02:00LE GAC RenaudBug in UserDataMultiDefault* `plugin_dbui 0.9.8.2`
* The following sequence is not working:
- Open the `History` table
- Create a new event `Budget xFR` (OK)
- Open and existing event `Budget xFR` (OK)
- Create a new event `Budget xFR` -- faile...* `plugin_dbui 0.9.8.2`
* The following sequence is not working:
- Open the `History` table
- Create a new event `Budget xFR` (OK)
- Open and existing event `Budget xFR` (OK)
- Create a new event `Budget xFR` -- failed since the data block is empty
* The issue is located in the widget `UserDataMultiDefault`https://gitlab.in2p3.fr/tev/plugin_event/-/issues/28New interface to create list2018-05-18T05:04:30+02:00LE GAC RenaudNew interface to create listCreate a list is still complicated. To ease this process create a new interface.
* When a source is displayed, customized it like a spreadsheet and save it:
- Hide/show column via the grid interface
- Tune the size of the colu...Create a list is still complicated. To ease this process create a new interface.
* When a source is displayed, customized it like a spreadsheet and save it:
- Hide/show column via the grid interface
- Tune the size of the column via the grid interface
- Entry in a context menu to Add / delete columns
- Entry in a context menu to Add a `computed column`
- Entry in a context menu to define `sorter`
- Entry in a context menu to define the `query`
- Entry in a context menu to define `protection`
- Entry in a context menu to `Save as...`
* When a list is displayed is it also possible to customize, duplicate or save it:
- On top of the previous case, add an entry in the context menu `Save..`
* Remove the viewport node `Configure lists`
* Rename the viewport node `Lists` → `My lists`https://gitlab.in2p3.fr/tev/plugin_event/-/issues/27Add link in list to edit event2018-05-18T05:04:30+02:00LE GAC RenaudAdd link in list to edit event* In a list the column `id` should be a link
* Clicking on the link open a form allowing to edit the event
* This technique is used in limbra* In a list the column `id` should be a link
* Clicking on the link open a form allowing to edit the event
* This technique is used in limbrahttps://gitlab.in2p3.fr/tev/plugin_event/-/issues/26Add a node to see sources content2018-05-18T05:04:28+02:00LE GAC RenaudAdd a node to see sources content* Node *sources* with the list of them
* Result in a ``PanelWithSelector``
* The selector is the one used for list or metric
* By default the identifier for meta data are hidden* Node *sources* with the list of them
* Result in a ``PanelWithSelector``
* The selector is the one used for list or metric
* By default the identifier for meta data are hiddenhttps://gitlab.in2p3.fr/tev/plugin_event/-/issues/25Add a the table blobs or materials2018-05-18T05:04:30+02:00LE GAC RenaudAdd a the table blobs or materials* link a series of file or URL to an event.
* The `blobs` table has four fields: `id`, `id_events`, `file name` or `path` and `blob`.
* No foreign key in the table `history`.
* Require to develop callback on record insert, delete or...* link a series of file or URL to an event.
* The `blobs` table has four fields: `id`, `id_events`, `file name` or `path` and `blob`.
* No foreign key in the table `history`.
* Require to develop callback on record insert, delete or update.
* Add the entry `Add material` in the `HistoryContextMenu`.
* Tune the component `RowHistoryData` to display a list of hyperlink to download file, follow URL, *etc*.
* It might be usefull to have a dedicated node which allows to see the material for event and to filter them.
* ...https://gitlab.in2p3.fr/tev/plugin_event/-/issues/24regression in 0.6.42018-05-18T05:04:28+02:00LE GAC Renaudregression in 0.6.4* Reset of the history filter is not always working !
* Configuration lists(2): edit an existing list and then create a new one. The field columns and features are not fill with default values but with the one load at the first time !
...* Reset of the history filter is not always working !
* Configuration lists(2): edit an existing list and then create a new one. The field columns and features are not fill with default values but with the one load at the first time !
* Default value is not working for field: "TextArea", "CheckBox", "AceEditor"https://gitlab.in2p3.fr/tev/plugin_event/-/issues/23improve history filter2018-05-18T05:04:28+02:00LE GAC Renaudimprove history filterAdd to the filter of the history table fields:
* `id`
* ComboBox to select `people`, type few letters and select within propositions
* ComboBox to select `object`, type few letters and select within propositionsAdd to the filter of the history table fields:
* `id`
* ComboBox to select `people`, type few letters and select within propositions
* ComboBox to select `object`, type few letters and select within propositionshttps://gitlab.in2p3.fr/tev/plugin_event/-/issues/22Redesign the report section2018-05-18T05:04:28+02:00LE GAC RenaudRedesign the report section* change the strategy:
- In the current implementation reports are based on a query from the database.
- It would be more general if reports are based on a `DataFrame`.
- The `DataFrame` can be filled with the content of a d...* change the strategy:
- In the current implementation reports are based on a query from the database.
- It would be more general if reports are based on a `DataFrame`.
- The `DataFrame` can be filled with the content of a database table including foreign fields or by a dedicated algorithm mixing, for example, different events.
* In the model register the source producing the `DataFrame`, a dictionary linking a name to a function.
* The report configuration should contains 6 sections
- Select the source
- Define selection criteria / query. It is based on a string written in natural language and on the `DataFrame.query` method.
- Transform the source using pandas chaining. It is a string interpreted using python `eval`, a general approach which should allow all kind of postprocessing.
- View defining the DataFrame columns which are shown in the Ext JS Grid, the grouping and the summary.
- Summary to customize summary row of the grid: per group, total, etc
- Permission to define roles with can used this report. Add a `JSON` field containing the list of role allowed to see the report
- ...
* In order to implement this approach:
- [ ] Remove dedicated selector.
- [x] Migrate general function from `lhcbfrance.modules.ana`: `active_period`, `coverage`, `db2df`, `full_name`, `get_people`,`is_end`, `is_start`, `normalize_history_data` to the module `report_tools`.
- [ ] Create the functions returning a DataFrame with the content of the history table
- [x] Create the functions / method in order to transforme a DataFrame into an Ext JS store, grid
- [ ] Modify the database schema to handle additional configuration parameters fo report
- [ ] Adapt the tools `List`, `Metric1D` and `Metric2D`.
- [ ] Adapt controllers.
- [ ] Update the documentation.
- ...
https://gitlab.in2p3.fr/tev/plugin_event/-/issues/21Fix the event identifier in the EvtSelector2018-05-18T05:04:28+02:00LE GAC RenaudFix the event identifier in the EvtSelector* In order to compute properly if a person start / end in the given period, the method `_active_period` have been introduce in the `EvtSelector` .
* The method determines the start (end) date(s) for person associated to an event, to a do...* In order to compute properly if a person start / end in the given period, the method `_active_period` have been introduce in the `EvtSelector` .
* The method determines the start (end) date(s) for person associated to an event, to a domain and to a team. The algorithm concatenate the different steps in which parameters like `fte` can change.
* In the current implementation the event identifier is force to `People`.
* This wrong since the selector can be applied to many different event. In addition, it should not depends on the application.
* In order to fix it, the event identifier has to be extract from the configuration of the list or metrics.
* One can imagine to modify the database schema for list and metric adding a field `id_event`https://gitlab.in2p3.fr/tev/plugin_event/-/issues/20refactorize the authentication2018-05-18T05:04:28+02:00LE GAC Renaudrefactorize the authentication* Migrate all the authentication business in a dedicated class (`models/auth.py`)
* Refactorize the models using only two files `_db_pro.py` and `db.py`
* The class should inherited from `Auth`
* In order to use Ext JS instead of JQuery ...* Migrate all the authentication business in a dedicated class (`models/auth.py`)
* Refactorize the models using only two files `_db_pro.py` and `db.py`
* The class should inherited from `Auth`
* In order to use Ext JS instead of JQuery the methods `login`, `register`, `change_password` have to be modified. Another approach is to transform the HTML form returns by the `login` method and to translate it into a Ext JS one (now working in the first try but more work might solve this)....https://gitlab.in2p3.fr/tev/plugin_event/-/issues/19Review the smart query2018-05-18T05:04:28+02:00LE GAC RenaudReview the smart query* Keep the smart query option building report, but they are many limitations: foreign key, handling history.data
* Add the possibility to write the query in python:
(db.events.event == "People) & (db.history.data.like...* Keep the smart query option building report, but they are many limitations: foreign key, handling history.data
* Add the possibility to write the query in python:
(db.events.event == "People) & (db.history.data.like("%cdd%")
* The last statement is translate using `eval`
* Check that the proposed string start with `db.xxx.yyy` with or without `(`https://gitlab.in2p3.fr/tev/plugin_event/-/issues/18Improve widgets to filter on data in selector2018-05-18T05:04:28+02:00LE GAC RenaudImprove widgets to filter on data in selector* Use the tool `Dbui.form.plugin.Mapper` in `Selector` uses by reports.
* Upgrade `TrackEvent.grid.HistoryFilter` by using Mapper`* Use the tool `Dbui.form.plugin.Mapper` in `Selector` uses by reports.
* Upgrade `TrackEvent.grid.HistoryFilter` by using Mapper`https://gitlab.in2p3.fr/tev/plugin_event/-/issues/17Improve the context menu of the history table2018-05-18T05:04:29+02:00LE GAC RenaudImprove the context menu of the history table* Revisit the context menu of the history table.
* It should contains the action `new` event, `split` event and `close` event.
* Keep the action `update`, `duplicate` and `destroy`.
* The action `split` is a wizard. It request the `e...* Revisit the context menu of the history table.
* It should contains the action `new` event, `split` event and `close` event.
* Keep the action `update`, `duplicate` and `destroy`.
* The action `split` is a wizard. It request the `end_date`. It closes the select event by the `end_date`, duplicate it with the `start_date` equal to `end_date` + 1 day and allow the user to update the other field.
* The action `close` event is also a wizard requesting only the `end_date`.https://gitlab.in2p3.fr/tev/plugin_event/-/issues/16Create the plugin_event2018-05-18T05:04:29+02:00LE GAC RenaudCreate the plugin_event* In order to create dedicated application like `track_lhcbfrance` migrate the core of the `track_events` application into the `plugin_events`. By doing this, dedicated application can have their own reports, scripts, *etc*.
* Migrate t...* In order to create dedicated application like `track_lhcbfrance` migrate the core of the `track_events` application into the `plugin_events`. By doing this, dedicated application can have their own reports, scripts, *etc*.
* Migrate the content of `models`, `modules`, `views` in `plugin_events`
* Add a layer to configure the plugin by selecting for examples database tables. In some case the user can instantiate only the table `history` while it will provide its own table `domains`, `people`, `object` with the current structure and additional field. In others cases, you are not interested by the table `lists`, `metric1D`, `metric2D` since the application provide only a set of pre-defined reports.
* A possible way of doing it, is to create a Class `EventModel`.
* ...https://gitlab.in2p3.fr/tev/plugin_event/-/issues/15Migrate to Ext JS 62018-05-18T05:04:29+02:00LE GAC RenaudMigrate to Ext JS 6https://gitlab.in2p3.fr/tev/plugin_event/-/issues/14Add the table domain2018-05-18T05:04:29+02:00LE GAC RenaudAdd the table domain* In the current version the field `domain` exists in the `teams` table.
* It is at a wrong place since we can have people in the same team working in different domain, *e.g* LAL covering both flavor physics and Heavy Ion.
* In order t...* In the current version the field `domain` exists in the `teams` table.
* It is at a wrong place since we can have people in the same team working in different domain, *e.g* LAL covering both flavor physics and Heavy Ion.
* In order to cover all cases, add the table `domains` with one field `domain`.
* Remove the field `domain` in the `teams` table.
* Link the `history` table to the `domain` one.
* Modify selector and filter accordingly.https://gitlab.in2p3.fr/tev/plugin_event/-/issues/13change javaScript namespace2018-05-18T05:04:29+02:00LE GAC Renaudchange javaScript namespace* `plugin_dbui` 0.9.0 or higher
* Change javaScript namespaces to `Dbui` and `TrackEvents`* `plugin_dbui` 0.9.0 or higher
* Change javaScript namespaces to `Dbui` and `TrackEvents`https://gitlab.in2p3.fr/tev/plugin_event/-/issues/12Add grid filter to the history table using the field data2018-05-18T05:04:29+02:00LE GAC RenaudAdd grid filter to the history table using the field data* Add a *grid filter* on the `history` table using the field `data` and the operator `contains`
* Does not work with `plugin_dbui` 0.8.1
* The main `viewport` is not render properly
* No error message
* ...* Add a *grid filter* on the `history` table using the field `data` and the operator `contains`
* Does not work with `plugin_dbui` 0.8.1
* The main `viewport` is not render properly
* No error message
* ...