limbra issueshttps://gitlab.in2p3.fr/groups/limbra/-/issues2018-04-27T15:02:17+02:00https://gitlab.in2p3.fr/limbra/limbra/-/issues/44Use combobox with multiple selection2018-04-27T15:02:17+02:00LE GAC RenaudUse combobox with multiple selection* ComboBox can be configured to allow *multiple selection* (via multiSelector).
* Use this features in *metrics* and *graphs* when selecting publications categories.
* MultiSelector are available in ExtJS 6, and can be used in differen...* ComboBox can be configured to allow *multiple selection* (via multiSelector).
* Use this features in *metrics* and *graphs* when selecting publications categories.
* MultiSelector are available in ExtJS 6, and can be used in different ways.
* http://examples.sencha.com/extjs/6.0.1/examples/classic/multiselect/multiselect-demo.html
* http://examples.sencha.com/extjs/6.0.1/examples/kitchensink/#multi-selectorhttps://gitlab.in2p3.fr/limbra/limbra/-/issues/79Resurect the standalone url in lists and metrics views2018-04-27T15:02:17+02:00LE GAC RenaudResurect the standalone url in lists and metrics views* Le list views as well as the metrics have a standalone URL.
* With the commit dd6e98f8d0, it should work again for the list. This is true in the `dev` environment but not on the server `marprod`.
* For the metrics, the URL is not wor...* Le list views as well as the metrics have a standalone URL.
* With the commit dd6e98f8d0, it should work again for the list. This is true in the `dev` environment but not on the server `marprod`.
* For the metrics, the URL is not working since the JavaScript librairy `Ext JS` is missing.
* A possible way out is to add a new parameter in the selector, *e.g* `standalone`with the default value`false`.
* The standalone parameter is set to `true` when using the standalone URL.
* The controller `list/index` is the almost the same. the only change is the selection of the view which depends on the `standalone` value: ` either `lists/index.html` or `lists/standalone.html`.
* The html page `standalone` contains the header and the body. In the header contains the `Ext JS` and the `MathJax` libraries. The body include the `index.html` view.
* The default value can be set in existing list and metric by adding `baseParams={'standalone': False}` when building the lists/metrics node in the main viewport.
TODO:
* [ ] modify the controller `lists/index.html`
* [ ] add the view `views/lists/standalone.html`
* [ ] modify the node `lists` in `viewport`
* [ ] propagate changes to `metrics` and even to `graphs`https://gitlab.in2p3.fr/limbra/limbra/-/issues/49Create sanity check wizard2018-04-27T15:02:17+02:00LE GAC RenaudCreate sanity check wizard* A wizard similar to `Check And Validate`
* It aim is to check the configuration / set up of the database:
1. The relation between `team` and `project`
2. The configuration of the harvester
3. The relation between automa...* A wizard similar to `Check And Validate`
* It aim is to check the configuration / set up of the database:
1. The relation between `team` and `project`
2. The configuration of the harvester
3. The relation between automaton and category
4. ...
* When a problem is report, ask first to run the sanity check.
* As soon as a new problem is solve, add more test in the sanity check.
* When there is problem with the PDF creation, require to run the `check and validate` wizard. Then to export the `LaTeX` file,....https://gitlab.in2p3.fr/limbra/limbra/-/issues/81Migrate to plugin_dbui 0.9.8.12018-04-27T15:02:17+02:00LE GAC RenaudMigrate to plugin_dbui 0.9.8.1* The release 0.9.8.1 is not backward compatible.* The release 0.9.8.1 is not backward compatible.https://gitlab.in2p3.fr/limbra/limbra/-/issues/53Add language in the application preference2018-04-27T15:02:17+02:00LE GAC RenaudAdd language in the application preference* Allow to choose tke language from the UI.
* Possible values are FR et UK.* Allow to choose tke language from the UI.
* Possible values are FR et UK.https://gitlab.in2p3.fr/limbra/limbra/-/issues/82Speed up the model2018-04-27T15:02:17+02:00LE GAC RenaudSpeed up the model* Follow the `tev/plugin_event` implementaion
* Create the module `auth` with the function `configure_auth`
* Create modules `model_core`, `model_report`, `model_selector` with the class `Core`, `Report` and `Selector`
* Create modules ...* Follow the `tev/plugin_event` implementaion
* Create the module `auth` with the function `configure_auth`
* Create modules `model_core`, `model_report`, `model_selector` with the class `Core`, `Report` and `Selector`
* Create modules `ui_core`, `ui_report`, `ui_selector` and `ui_viewport` with the classes `CoreUi`, `ReportUi`, `SelectorUi` and `ViewportUi`
* Reduce the model to one short file `main.py`
The main steps are:
- [x] models
- [x] lazyT
- [x] use `current.db`, `current.virtdb`, `current.auth`
- [x] replace `'` by `"`
- [x] run `pylint`https://gitlab.in2p3.fr/limbra/limbra/-/issues/54Review the label for the table controller2018-04-27T15:02:17+02:00LE GAC RenaudReview the label for the table controller* The table controller associate an automate to publications category.
* For historical reason the name of the table, field are `controller(s)`.
* In version 0.8.14, the term `controller` has been replace by `automate`.
* This change ...* The table controller associate an automate to publications category.
* For historical reason the name of the table, field are `controller(s)`.
* In version 0.8.14, the term `controller` has been replace by `automate`.
* This change has to be propagated to that table and the related actions.https://gitlab.in2p3.fr/limbra/limbra/-/issues/83Speed up graph2018-04-27T15:02:17+02:00LE GAC RenaudSpeed up graph* deleguate dirty task to `DataFrame` instead of the database and python functions.* deleguate dirty task to `DataFrame` instead of the database and python functions.https://gitlab.in2p3.fr/limbra/limbra/-/issues/74No pop-up window when parameters are not defined in the free harvester2018-04-27T15:02:17+02:00LE GAC RenaudNo pop-up window when parameters are not defined in the free harvester* Run a free harvester
* Forgot to define a parameter
* A pop-up window should appears telling you that something is missing.
* This is not the case* Run a free harvester
* Forgot to define a parameter
* A pop-up window should appears telling you that something is missing.
* This is not the casehttps://gitlab.in2p3.fr/limbra/limbra/-/issues/84Fail to insert MarcXML2018-04-27T15:02:17+02:00LE GAC RenaudFail to insert MarcXML* `LHCb-ANA-2016-056`
* `https://cds.cern.ch/record/2200251`
* Failed to insert the MarcXML → invalid host
* In addition, the action `edit & insert` is failing since the store is not defined.
* The fix should probably be to add the store...* `LHCb-ANA-2016-056`
* `https://cds.cern.ch/record/2200251`
* Failed to insert the MarcXML → invalid host
* In addition, the action `edit & insert` is failing since the store is not defined.
* The fix should probably be to add the store in the MarcXML selector.....https://gitlab.in2p3.fr/limbra/limbra/-/issues/75Add a combobox for the automate filter of the harvester table2018-04-27T15:02:17+02:00LE GAC RenaudAdd a combobox for the automate filter of the harvester table* Filter of the Harvester table
* Automate filter is there but it is a text field
* Replace it with a ComboBox containing the value. The ComboBox can be reset.* Filter of the Harvester table
* Automate filter is there but it is a text field
* Replace it with a ComboBox containing the value. The ComboBox can be reset.https://gitlab.in2p3.fr/limbra/limbra/-/issues/85Order in conference in list2018-04-27T15:02:17+02:00LE GAC RenaudOrder in conference in list* CPPM
* List of COM for the LHCb and for the year 2016 (2017)
* The order should be defined by the date of the conference
* Few mistakes can be observed !* CPPM
* List of COM for the LHCb and for the year 2016 (2017)
* The order should be defined by the date of the conference
* Few mistakes can be observed !https://gitlab.in2p3.fr/limbra/limbra/-/issues/76Optimize python code2018-04-27T15:02:17+02:00LE GAC RenaudOptimize python codeImprove speed and memory footprint. Systematic use of:
* decorator `@staticmethod`
* PyDAL iterator `db(query).iterselect()`
* Use `pandas.DataFrame`
* itertools: `chain`, `imap`, `ifilter`, `izip`, ....Improve speed and memory footprint. Systematic use of:
* decorator `@staticmethod`
* PyDAL iterator `db(query).iterselect()`
* Use `pandas.DataFrame`
* itertools: `chain`, `imap`, `ifilter`, `izip`, ....https://gitlab.in2p3.fr/limbra/limbra/-/issues/86Use pandas.DataFrame in record for author and their affiliation2018-04-27T15:02:17+02:00LE GAC RenaudUse pandas.DataFrame in record for author and their affiliation* Class `invenio_tools.RecordPubli`
* Store the authors and their affiliation in a DataFrame with two columns `raw_author` and `affiliation`
* Columns like `format_author`, `first_name`, `last_name` can be added when required.
* Vector...* Class `invenio_tools.RecordPubli`
* Store the authors and their affiliation in a DataFrame with two columns `raw_author` and `affiliation`
* Columns like `format_author`, `first_name`, `last_name` can be added when required.
* Vectorize the function `format_author_fr` and `familly_name_fr`.
* Should speed up the author / affilation processing and simplify the code.https://gitlab.in2p3.fr/limbra/limbra/-/issues/87Remove the password field in user form2018-04-27T15:02:17+02:00LE GAC RenaudRemove the password field in user form* `user` table
* With the form is is possible to change the password.
* This action should not be allowed since the password is encrypted by the server.
* Unfortunatetly, the encryption is not performed when using the form
* Hide this f...* `user` table
* With the form is is possible to change the password.
* This action should not be allowed since the password is encrypted by the server.
* Unfortunatetly, the encryption is not performed when using the form
* Hide this fieldhttps://gitlab.in2p3.fr/limbra/limbra/-/issues/90improve harvester wizard and documentation when dealing with author2018-04-27T15:02:17+02:00LE GAC Renaudimprove harvester wizard and documentation when dealing with author* Rather tricky to parameterise
* I suspect a bug in the documentation `find (a j cronin or v fitch)`. The correct syntax is `find a j cronin or a v fitch`.
* The correct way is to alway specify the keyword `a` and to not use parenthes...* Rather tricky to parameterise
* I suspect a bug in the documentation `find (a j cronin or v fitch)`. The correct syntax is `find a j cronin or a v fitch`.
* The correct way is to alway specify the keyword `a` and to not use parenthesis.
* In addition author names can be written `j cronin` or `cronin, j`.
* For author with a double first name, there is only one way to write them `nguyen, v g`
* For author with a first name starting with the letter `a` , we shall use `find a albert einstein`
* A working example is the theory group from ipno. The following filter find their proceedings for 2016, but I don't know if all of them are found?:
```
find a h sazdjian or a lansberg, j p or a s friot or a b moussallam or a v bernard or a j carbonell and date 2016 and tc c
```
To fix this issue:
* [ ] modify the documentation
* [ ] modify the wizard to create harvester
* [ ] modify the script to parameterize an institute `deploy.py`https://gitlab.in2p3.fr/limbra/limbra/-/issues/80Improve filter on authors for publications2018-04-27T15:02:17+02:00LE GAC RenaudImprove filter on authors for publications* In the `publications` table, the filter for the grid can be run on the `author` field.
* Currently the operator is `contains`.
* Replace it by the `like` operator. Therefore a search on two authors can be executed, *e.g* `Dupont%Dura...* In the `publications` table, the filter for the grid can be run on the `author` field.
* Currently the operator is `contains`.
* Replace it by the `like` operator. Therefore a search on two authors can be executed, *e.g* `Dupont%Durant`.
* for the time being the search is base on a exact match. It perceived as painful for accentuated letter (é, è, ...). Modify the search pattern in such way that `Hélène` can be found when the user request `helene` !https://gitlab.in2p3.fr/limbra/limbra/-/issues/91Increase the length of the database field harvesters.collection2018-04-27T15:02:17+02:00LE GAC RenaudIncrease the length of the database field harvesters.collection* the lenght of the field `harvesters.collections` is `255`
* It is too small to deal with a list of theorists at IPNO
* Increase it to `1024`
* Create a script `fixHarvesterscollection.py` to change it in all database.* the lenght of the field `harvesters.collections` is `255`
* It is too small to deal with a list of theorists at IPNO
* Increase it to `1024`
* Create a script `fixHarvesterscollection.py` to change it in all database.https://gitlab.in2p3.fr/limbra/limbra/-/issues/88disable the user creation from the user table2018-04-27T15:02:17+02:00LE GAC Renauddisable the user creation from the user table* It is possible to create a user from the `user` table
* The only way to create a new user is to use the web2py interface
* Either modify the context to launch the web2py interface (preferred) or disable this option* It is possible to create a user from the `user` table
* The only way to create a new user is to use the web2py interface
* Either modify the context to launch the web2py interface (preferred) or disable this optionhttps://gitlab.in2p3.fr/limbra/limbra/-/issues/92Disable mutiple collection in the field harvesters.collections2018-04-27T15:02:17+02:00LE GAC RenaudDisable mutiple collection in the field harvesters.collections* The database field collections `harvesters.collections` can contain several collections separated by a comma,*e.g.* `LHCb Papers, LHCb Detector Performance Papers`
* This behavior is not compatible with collection defined using author ...* The database field collections `harvesters.collections` can contain several collections separated by a comma,*e.g.* `LHCb Papers, LHCb Detector Performance Papers`
* This behavior is not compatible with collection defined using author name, *e.g.* `find a nguyen, v g`.
* Modify the logic to one harvesters one collection
* Create a script `fixHarvestersCollections.py` to fix multiple cds collections.