by

Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Igor Milhit
    @igor_milhit_twitter
    Hey. That's just to test if this room is really public. (Connected with my twitter account).
    Ghost
    @ghost~5b1a499ed73408ce4f9c951e

    Bonjour,

    nous avons installé reroils (v. 0.1.0a13) en test ici à Louvain-la-Neuve (Belgique). Nous faisons quelques essais et voilà une première remarque...

    1. nous créons une organisation et des membres (localisations)
    2. nous créons un record bibliographique et nous ajoutons un exemplaire, qui est lié à un membre.
    3. Ensuite - pour faire le test - nous essayons de supprimer un des membres/localisations.
      => La localisation est supprimée du système "sans avertissement"
      => les items restent liés à un membre qui n'existe plus.

    nous savons que le logiciel est en développement :smile: mais est-ce que vous envisagez d'ajouter quelques "contrôles de base" pour assurer l'intégrité des données ?

    Merci.
    Benoit

    iGor milhit
    @iGormilhit
    @BenoitErken_twitter Bonjour, et merci pour le retour!
    Oui, bien entendu, nous sommes conscients de ces manques. C'est le cas actuellement pour toutes les ressources. Par exemple, n'importe quel librarian supprime n'importe quelle organisations... C'est prévu de résoudre ces cas. On trouve déjà un user story qui adresse le problème de la suppression d'un exemplaire, par exemple: https://tree.taiga.io/project/rero21-reroils/us/330
    Ghost
    @ghost~5b1a499ed73408ce4f9c951e
    Merci... :+1:
    Ghost
    @ghost~5b1a499ed73408ce4f9c951e

    Au sujet des données...

    Nous avons transformé 1 de nos records biblio MARC en JSON (via dojson) et ca fonctionne.

    Ensuite, nous essayons de convertir un set de 5000 bib records mais ca ne fonctionne pas. Les patterns utilisés pour retrouver les valeurs dans les zones MARC sont assez restrictifs (dans marc21tojson/model.py) ... ou alors nos données ne sont pas "Top". Ca doit être la 2e hypothèse.

    Nous devons encore comprendre comment ca fonctionne et voir comment convertir nos données, sans tout changer.

    Utilisez-vous la même procédure (dojson) ? ou un autre outil pour convertir vos records MARC en JSON, compatible avec le schéma (book-v0.0.1.json) ?

    iGor milhit
    @iGormilhit

    Pour l'instant notre modèle de donnée est vraiment basique et le schema utilisé pour les bib n'est valable que pour des livres et des livres relativement simples. Ce modèle de donnée va évoluer et donc le processus de transformation également. Par contre, les templates d'affichage, notamment, sont basés sur ce modèle...

    On utilise bien dojson pour passer du marc au marcxml, puis au json. Seulement, les règles de transformations sont adaptées au marc21 façon RERO.

    À noter qu'il existe des règles de transformations plus génériques dans le module dojson: https://github.com/inveniosoftware/dojson/tree/master/dojson/contrib/marc21

    Ghost
    @ghost~5b1a499ed73408ce4f9c951e
    Une question pratique : voulez-vous que nous écrivions nos prochains messages en anglais sur Gitter ? ou vous gardez le français comme langue de travail sur ce projet.
    iGor milhit
    @iGormilhit
    @BenoitErken_twitter That is a good question! En fait, on utilise l'anglais de manière générale parce que c'est un projet libre, donc intéressant potentiellement des non francophones. Du coup, pour une issue sur GitHub, l'anglais est préférable. Mais ici, sur ce type d'échange, ça peut se discuter au cas par cas. Le jour où les participants à cette room Gitter seront plus nombreux et diversifiés, l'anglais pourrait être une bonne idée, en effet.
    Ghost
    @ghost~5b1a499ed73408ce4f9c951e
    il y a quelques mois, nous avions installé Invenio en "standalone" (donc, sans utiliser docker). Cela nous parait plus simple à gérer. Les containers Docker facilitent sans doute la vie des développeurs mais ca ajoute une couche supplémentaire dans les choses à gérer et parfois, ca complexifie un problème simple à la base (ex: pas possible d'éditer un fichier texte dans le container car il n'y a pas "vi"). Est-il encore possible de déployer l'application sans utiliser Docker, en installant les composants (Application, elasticsearch, postgres,...) sur le même serveur ?
    iGor milhit
    @iGormilhit

    @BenoitErken_twitter L'installation proposée est censée faciliter les choses pour quelqu'un d'extérieur. En pratique, c'est pas toujours si évident que ça simplifie tant que ça. On utilise aussi un autre installation, où l'application elle-même est dans un environnement virtuel python et les autres services dans des containers. C'est très rugueusement documenté là (et il faut encore que ce soit validé): https://github.com/rero/reroils-app/wiki/Alt-install

    Pour le déployement lui-même, se passer de docker est tout à fait possible je pense.

    Ghost
    @ghost~5b1a499ed73408ce4f9c951e

    Au niveau de l'identification des lecteurs (et du staff), avez-vous prévu de pouvoir vous connecter à un annuaire (LDAP ou active directory) ? J'ai cherché dans les uses cases (Taiga) mais je n'ai pas trouvé.

    Il serait même bien de pouvoir paramétrer un annuaire par organisation.
    C'est une idée en passant... :smile:
    Merci. B.

    Dans ce cadre là, vous pourriez récupérer les données du lecteur depuis l'annuaire LDAP, au lieu de créer un lecteur dans l'interface (même si je comprends l'utilité ici, au début du projet)
    Johnny Mariéthoz
    @jma
    @BenoitErken_twitter Dans d'autres projets nous avons utilisé une authentification oauth, le module correspondant dans Invenio existe déjà: https://github.com/inveniosoftware/invenio-oauthclient. Cela permet par exemple l'utilisation de login extern de type, github, rero, facebook, etc. et de lier ces comptes à un utilisateur de l'ILS par ex. Pour l'instant, je ne vois pas de cas d'utilisation LDAP pour RERO, mais ce ne doit pas être top compliqué à mettre en place le cas échéant.
    @BenoitErken_twitter concernant la question de Docker. Il faut voir ce que vous cherchez à faire. Déployer une version pour développer ou la déployer sur un serveur dédié en vue de la mise en place d'un service. Il est vrai que Docker demande un peu d'apprentissage, mais nous amène beaucoup à moyen, long terme.
    Ghost
    @ghost~5b1a499ed73408ce4f9c951e
    Merci pour le retour !
    :clap:
    Johnny Mariéthoz
    @jma
    @BenoitErken_twitter avec plaisir!
    Ghost
    @ghost~5b1a499ed73408ce4f9c951e

    @jma pour répondre à ta question, nous souhaitons déployer une version pour la mise en place d'un service et le tester en conditions "réelles". Mais dans un premier temps, nous pouvons encore tester avec la formule Docker.

    Au sujet de dojson, avez-vous déjà testé la conversion MARC->JSON de records biblio et des items en même temps ? En théorie, il y a moyen de créer un document JSON qui contient les deux (info book & info item) mais je ne vois pas encore comment faire via le script model.py. Nous allons chercher...

    Dans votre procédure finale, vous comptez migrer tout cela par étape ?
    Ex: charger d'abord tous les bib records (books, serials,...) , ensuite créer tous les items et tous les holdings ? ou alors, vous allez construire des records complets directement (bib+items / bib+holdings) ? avez-vous déjà discuté de cela ? C'est peut être trop tôt... Merci. B. (je ne vous embête plus après)

    iGor milhit
    @iGormilhit
    @BenoitErken_twitter Nous n'avons pas encore réellement un modèle de donnée, il y a un groupe de travail qui planche là-dessus chez nous et nous allons devoir nous y mettre plutôt rapidement... Dans l'état, on n'avait besoin de données minimales pour développer. On a donc sélectionné des bib de livres de manière assez restrictive, planché sur un jsonschema de bib (appelé document dans reroils-data) et écrit le script de migration (reroils_data/dojson/contrib/marc21tojson/model.py), puis on génére des fixtures d'exemplaires (voir https://github.com/rero/reroils-data/blob/master/reroils_data/documents_items/cli.py.
    @BenoitErken_twitter Oups, j'ai tapé sur enter trop tôt! :)

    @BenoitErken_twitter Ensuite les items sont injectés dans les bib avant indexation, afin de les lier.

    Mais c'est tout à fait provisoire, bien entendu. Il faudra que nous ayons des bib, des holdings et des items, et que nous soyons en mesure de faire des migrations complètes.

    Ghost
    @ghost~5b1a499ed73408ce4f9c951e

    Salut l'équipe,

    Nous avons chargé 5000 records biblio UCL dans notre instance Invenio. Ils sont visibles dans l'interface (via l'URL et le documentID) mais une recherche ne retourne rien.

    Après le chargement, nous avons lancé les commandes pour mettre les records dans la queue d'indexation et pour traiter la queue. (OK)

    Au niveau d'ElasticSearch, les documents sont indexés. Je vois les données et je peux lancer une recherche via une commande curl.

    Question: au niveau de l'interface Invenio, y a t-il un filtre lors de la recherche ? ex: une condition/un filtre qu'il applique à la recherche mais que nous n'avons pas mis dans nos documents JSON ?

    iGor milhit
    @iGormilhit

    @BenoitErken_twitter Non, à ma connaissance nous n'avons pas de filtre. On a des vues qui affichent des index différents selon les types de record (dans reroils_app/config.py, les RECORDS_UI_ENDPOINTS).

    Lors de l'indexation, vous avez indiqué un type de record ? invenio index reindex --pid-type doc par exemple ? Et quand vous dites que les records sont accessibles via l'URL, c'est de quelle URL qu'il s'agit ?

    Ghost
    @ghost~5b1a499ed73408ce4f9c951e
    oui nous avons indiqué le type "doc" lors de l'indexation.

    au niveau des records accessibles via leur URL, c'est par exemple ceci:
    http://monsiteinvenio:5000/documents/1234

    Ca fonctionne... Nous voyons le record 1234 mais la recherche ne retourne pas (encore) de résultat.
    Soit, nous allons trouver le problème :clap:
    Merci pour les infos.
    B.

    Johnny Mariéthoz
    @jma
    Ghost
    @ghost~5b1a499ed73408ce4f9c951e

    hello

    http://.../api/documents/1234 => message "You don't have the permission to access the requested resource"

    http://.../api/documents/?q=Homeopathy => réponse JSON, avec "Hits : 0".

    J'ai sans doute fait une erreur dans la procédure de chargement/conversion. Je cherche.
    Merci,
    B.

    Ghost
    @ghost~5b1a499ed73408ce4f9c951e

    OK nos documents sont indexés. (j'avais modifié le schéma book-v0.0.1.json ... et il n'a pas aimé) .

    Par contre, nous avons ajouté des nouveaux codes langues dans le schéma, afin que nos documents "tests" soient valides.

    Pour résumer:

    • nous ajoutons des codes langues dans le schéma. OK
    • nous devons modifier un mapping quelque part pour afficher les nouvelles langues dans la facette. Pour l'instant, ce sont les codes qui s'affichent (pol, dut,...)
    • pour finir, il faut modifier les traductions pour afficher l'intitulé des langues en français, en anglais etc...

    Est-ce exact ?
    Merci. B.

    iGor milhit
    @iGormilhit
    @BenoitErken_twitter À mon avis le mapping et la configuration des facettes font déjà ce qu'il faut. Si les nouveaux codes s'affichent, c'est bien le cas. Reste la traduction, que l'on fait chez nous via transifex. Il y a une ébauche de doc à ce sujet sur le wiki: https://github.com/rero/reroils-app/wiki/Translation
    Ghost
    @ghost~5b1a499ed73408ce4f9c951e

    @iGormilhit Les traductions seront toujours centralisées/gérées par RERO (dans Transifex) ? ou alors, à terme, chaque utilisateur d'Invenio pourra adapter les traductions pour son interface, et lier cela à son site Invenio ? Je ne vois pas encore comment cela va se passer.

    Et voilà une autre question: y a t-il moyen d'utiliser des API REST d'Invenio pour ajouter des données (biblio, exemplaires,...), via des commandes curl par exemple ?

    J'ai trouvé la documentation sur un module "invenio-records-rest" mais pour la version 1. ( https://invenio-records-rest.readthedocs.io/en/latest/ )
    Merci.

    Johnny Mariéthoz
    @jma
    @BenoitErken_twitter pour les traductions du contenu des facettes de langue, regarde ici: https://github.com/rero/reroils-app/blob/master/reroils_app/manual_translations.txt le problème est comment traduire des chaînes qui ne sont ni dans le html ni dans le code python!
    Pour le REST oui c'est bien ìnvenio-records-rest`. Mais il faut adapter les premissions: https://invenio-records-rest.readthedocs.io/en/latest/usage.html#access-control après avoir ajusté les permissions, les méthodes GET, PUT, POST et DELETE doivent fonctionner avec http://localhost:5000/api/documents/4 par ex.
    Ghost
    @ghost~5b1a499ed73408ce4f9c951e
    Merci. :+1:
    Ghost
    @ghost~5b1a499ed73408ce4f9c951e
    Bonjour l'équipe,
    nous avons un problème pour accéder à l'interface du prêt (Circulation). Le browser affiche le message "Loading..." et une page blanche. En fait, il n'arrive pas accéder à l'URL ".../patrons/logged_user" (404 - Not found). Vous avez le même comportement sur ils.test.rero.ch
    Avez-vous une idée pour ce problème ?
    (nous utilisons le login "admin" pour le moment)
    Merci,
    Benoit
    Aboubakr Aly Badr
    @BadrAly
    Salut Benoit,
    J’espère que tout va bien.
    Il ne faut pas utiliser le login "admin" pour les fonctionnalités professionnelles (circulation, catalogage, etc.).
    Actuellement, les utilisateurs ayant les rôles “staff" et “cataloguer" peuvent avoir accès à la circulation/catalogage.
    Pour voir la liste des utilisateurs actuellement configurés, voir le menu “Administrer", puis “Utilisateurs"
    Veuillez consulter les fichiers suivants, pour plus d'informations:
    Configurations d’utilisateurs : reroils_data/data/users.json
    Chargements d'utilisateurs : reroils-app/deployment/populate.sh (ligne #45)
    Ghost
    @ghost~5b1a499ed73408ce4f9c951e
    Merci Aly.
    sinux334
    @sinux334
    Hello. I just wanted to get some insights in actual rero-ils and wondered that the distributed dockerfile calls for rero-ils-base:latest which isn't available through dockerhub. If I follow install.rst the proposed Dockerfile is calling for rero/rero-ils:dev which isn't available. Am I doing something wrong? regards, simon
    Johnny Mariéthoz
    @jma
    @sinux334 we are refactoring the rero-ils application to be more invenio compliant. We will release it probably in two or three weeks. In the meantime, you can try the current master from github: https://github.com/rero/rero-ils, but the documentation is not uptodate. See the PR: rero/rero-ils#74 for more details.
    sinux334
    @sinux334
    @jma ok, thank you!
    Ghost
    @ghost~5b1a499ed73408ce4f9c951e
    Hi guys,
    We have installed the release 0.23 of RERO-ils.
    In the circulation module, when we checkout a book, the system calculates the "due_date" using the params defined in our cipo.
    It's works well for the date but, by default, it takes the time of the transaction.
    Example:
    we define a checkout of 3 days in the CIPO
    We do a checkout this morning at 10:00. The system fixes the due date at today + 3days = 2019-08-03 10:00
    it depends of the institution but we think it's better to let the patron checkin the book before the end of the day no ?
    To fix this on our side, in ext.py, we have used the signal "before_record_update" to change the time of the due_date.
    So now, we do a checkout and the due date is set at now + 3days = 2019-08-03 23:59
    By default, the system could use the closing time defined for the library settings, or a default value (let's say 23h59)
    What do you think ?
    Ben
    Nicolas Prongué
    @pronguen

    Hi Benoit

    it depends of the institution but we think it's better to let the patron checkin the book before the end of the day no ?

    Yes absolutely. We may have an option "Checkout 1 hour" later, but now the standard behaviour should be checkout X days, for the end of the day.

    @BadrAly Should we open an issue?

    Aboubakr Aly Badr
    @BadrAly
    @pronguen Yes please, an issue to fix this.
    You may also consider this as an optional library parameter. Something like:
    Items due at closing day -> True | False
    Ghost
    @ghost~5b1a499ed73408ce4f9c951e
    OK. Thank you.