limbra issueshttps://gitlab.in2p3.fr/limbra/limbra/-/issues2021-04-30T14:56:00+02:00https://gitlab.in2p3.fr/limbra/limbra/-/issues/96Migrate to new inspirehep API2021-04-30T14:56:00+02:00LE GAC RenaudMigrate to new inspirehep API* Since March 2020 a new JSON API is available to search and to retrieve publications from `inspirehep.net`
* The old JSON API is available from `old.inspirehep.net`. It is also used by `cds.cern.ch`.
* `Inspirehep` will close the old AP...* Since March 2020 a new JSON API is available to search and to retrieve publications from `inspirehep.net`
* The old JSON API is available from `old.inspirehep.net`. It is also used by `cds.cern.ch`.
* `Inspirehep` will close the old API in the coming month.
* As a consequence, LIMBRA will have to deal with two stores (cds and inspirehep) working with a different API
* Documentation for the new API: https://github.com/inspirehep/rest-api-dochttps://gitlab.in2p3.fr/limbra/limbra/-/issues/94migrate to python 3.72019-12-05T18:23:20+01:00LE GAC Renaudmigrate to python 3.7* require web2py 2.18.3 or above
* require plugin_dbui 0.9.9.1-py37 or above* require web2py 2.18.3 or above
* require plugin_dbui 0.9.9.1-py37 or abovehttps://gitlab.in2p3.fr/limbra/limbra/-/issues/93fix bugs2019-10-31T10:11:03+01:00LE GAC Renaudfix bugs* [x] the role `user` is not working any more.
* [x] The affiliation key `Ecole Polytechnique` select autors from LLR (`Ecole Polytechnique`) and EPFL (`Ecole Polytechnique, Lausanne`)
* [x] Internal server error https://inspirehep.net/r...* [x] the role `user` is not working any more.
* [x] The affiliation key `Ecole Polytechnique` select autors from LLR (`Ecole Polytechnique`) and EPFL (`Ecole Polytechnique, Lausanne`)
* [x] Internal server error https://inspirehep.net/record/1713704 (article notice error)
* [x] Internal server error https://inspirehep.net/record/1692891 (proceeding missing 909CO field))
* [x] Internal server error https://inspirehep.net/record/1610670 (proceeding missing 909CO field)
* [x] Add a button Go in the selector of the publication tables
* [x] Allow user to modify authors rolehttps://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/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/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/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/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/78Add the number of citations2020-03-20T17:30:27+01:00LE GAC RenaudAdd the number of citations* It is now possible to collect the *number of citations*:
- http://inspirehep.net/record/1471725?of=recjson&ot=number_of_citations.
- https://inspirehep.net/search?recid=1762038&ot=number_of_citations&of=recjson
* Add a databa...* It is now possible to collect the *number of citations*:
- http://inspirehep.net/record/1471725?of=recjson&ot=number_of_citations.
- https://inspirehep.net/search?recid=1762038&ot=number_of_citations&of=recjson
* Add a database table, `citations`, containing citations per publications as a function of time:
date,
publications.id,
number_of_citations
* Add a web2py cron job updating the number of citation once a week (http://web2py.com/books/default/chapter/29/04/the-core#Cron)
* Build a pdf report contains plots (article):
- `number of publications` as a function of the `number of citations`
- `box plot` on the number of citation all, per domaine scientifique, per team, or per project
https://gitlab.in2p3.fr/limbra/limbra/-/issues/77Migrate from MARC to JSON format2020-02-12T16:48:07+01:00LE GAC RenaudMigrate from MARC to JSON format* Stores `inspirehep.net` and `cds.cern.ch` can return a JSON string instead of an XML one.
* For example: http://inspirehep.net/record/1471725?of=recjson
* More on the JSON API: https://inspirehep.net/info/hep/api?ln=fr
* Map JSON / ...* Stores `inspirehep.net` and `cds.cern.ch` can return a JSON string instead of an XML one.
* For example: http://inspirehep.net/record/1471725?of=recjson
* More on the JSON API: https://inspirehep.net/info/hep/api?ln=fr
* Map JSON / MARC: https://github.com/inspirehep/invenio/blob/prod/modules/bibfield/etc/atlantis.cfg
* Comparison between JSON and MARC in [CodesJsonMarc.pdf](/uploads/644fd6af927f05d54064baba7fb5b7ab/CodesJsonMarc.pdf) and [Json_fields.pdf](/uploads/6d30afc3ff85bbc7389dcf5d81159f01/Json_fields.pdf)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/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/72Add author condition in the selector for metrics and graphs2018-04-27T15:02:17+02:00LE GAC RenaudAdd author condition in the selector for metrics and graphs* Same set of condition for lists, metrics and graphs
* Add the authors fields.
* The comparator operator is `contains`
* ...* Same set of condition for lists, metrics and graphs
* Add the authors fields.
* The comparator operator is `contains`
* ...https://gitlab.in2p3.fr/limbra/limbra/-/issues/70Change the logic for status OK2018-04-27T15:02:17+02:00LE GAC RenaudChange the logic for status OK* Currently, record marked `OK` can't be deleted nor modified.
* Relax this rule following gitlab approach.
* To delete / modify a record marked `OK`, a popup window appears asking if you are really sure and to confirm that you really...* Currently, record marked `OK` can't be deleted nor modified.
* Relax this rule following gitlab approach.
* To delete / modify a record marked `OK`, a popup window appears asking if you are really sure and to confirm that you really want to do it by typing a predefined value which depends on the record, *e.g.* the beginning of the title of the name of the first author.
* ...https://gitlab.in2p3.fr/limbra/limbra/-/issues/69Change the javascript namespace from Trp to Limbra2018-04-27T15:02:17+02:00LE GAC RenaudChange the javascript namespace from Trp to Limbra* See `static/limbra/src/wizard/Harvester.js`
* Will improve the lisibility of the documentation.
* ...* See `static/limbra/src/wizard/Harvester.js`
* Will improve the lisibility of the documentation.
* ...https://gitlab.in2p3.fr/limbra/limbra/-/issues/65Run jsduck, sencha or sphinx via a docker container2018-04-27T15:02:17+02:00LE GAC RenaudRun jsduck, sencha or sphinx via a docker container* In the development setup, `build_version.py` run the command `jsduck`, `sencha` or `sphinx` using those defined in the local file system. It is painful to install them. In addition they are availble in docker image `web2py-degj`.
* It...* In the development setup, `build_version.py` run the command `jsduck`, `sencha` or `sphinx` using those defined in the local file system. It is painful to install them. In addition they are availble in docker image `web2py-degj`.
* It would be possible to run them via a docker container: `docker run --rm web2py-degj:2.9.11 sencha [options] ....`
* Add an option `image` or `docker image` to select the relevant image
* The same mechanism can be applied to the `run` command using web2py.LE GAC RenaudLE GAC Renaudhttps://gitlab.in2p3.fr/limbra/limbra/-/issues/64test existence of jsduck and sench using which2016-02-18T12:49:33+01:00LE GAC Renaudtest existence of jsduck and sench using which* `build_version.py`
* Test the existence of the command `jsduck` and `sencha` using `which` instead of a fix path.
* This is required to run on the docker image for the server* `build_version.py`
* Test the existence of the command `jsduck` and `sencha` using `which` instead of a fix path.
* This is required to run on the docker image for the serverhttps://gitlab.in2p3.fr/limbra/limbra/-/issues/63Change the name of the project to LIMBRA2016-06-08T18:35:36+02:00LE GAC RenaudChange the name of the project to LIMBRA*LIstes et Métriques BibliogRaphiques Automatisées**LIstes et Métriques BibliogRaphiques Automatisées*https://gitlab.in2p3.fr/limbra/limbra/-/issues/62Migrate to web2py 2.13.42016-06-08T18:35:36+02:00LE GAC RenaudMigrate to web2py 2.13.4* The current version `0.9.5.2` is not running.
* Since the release `2.10.1`, web2py uses the external module `pyDAL` instead of `gluon.dal`.
* Then the call `from gluon.dal import smart_query` is failing.
* Remove `from ...` and uses...* The current version `0.9.5.2` is not running.
* Since the release `2.10.1`, web2py uses the external module `pyDAL` instead of `gluon.dal`.
* Then the call `from gluon.dal import smart_query` is failing.
* Remove `from ...` and uses `DAL.smart_query` in a controller or other syntax in a module.
* Check all `from gluon.dal import ...`https://gitlab.in2p3.fr/limbra/limbra/-/issues/57Add a command in build_version to install a plugin2016-02-23T17:32:04+01:00LE GAC RenaudAdd a command in build_version to install a plugin* Remove the existing plugin
* Install a fresh version
* plugin repository can be choose by the user (by default ../plugin_dbui_build)
* Proposal:
```
./build_version plugin dbui extjs mathjax
./build_version plugin --rel...* Remove the existing plugin
* Install a fresh version
* plugin repository can be choose by the user (by default ../plugin_dbui_build)
* Proposal:
```
./build_version plugin dbui extjs mathjax
./build_version plugin --release 0.7.3dev dbui
./build_version plugin --git ../plugin_dbui_build extjs
./build_version plugin --tar myfile.tar.gz dbui extjs mathjax
```