Plugin fiche : le champ « Types de publications » est facultatif en saisie alors qu'aucune publication ne s'affiche s'il est vide

    • Type: Bug
    • Résolution: Non résolu
    • Priorité: Mineur
    • Aucune
    • Affecte la/les version(s): 7.4.0-ALPHA-1
    • Aucune

      Dans le plugin « Publications HAL » d'une fiche (annuaire, laboratoire), le champ « Types de publications » est déclaré facultatif dans le formulaire de saisie. Pourtant, quand il est vide, la fiche n'affiche aucune publication : « Aucun document HAL n'a été trouvé ». Ce comportement vaut en tri antéchronologique comme en tri par type.

      Ce comportement est voulu depuis HAL-103 (alignement sur la 6.7 : la sélection des types est nécessaire à l'affichage). Mais rien dans la saisie ne l'indique au contributeur. Celui-ci renseigne un IdHAL valide, enregistre sans erreur, et ne comprend pas pourquoi rien ne s'affiche.

      Reproduction

      1. Sur une fiche annuaire, renseigner le plugin HAL avec l'IdHAL pellerin-s (286 documents sur https://hal.science/search/index/q/*/authIdHal_s/pellerin-s), tri antéchronologique, aucun type de publication sélectionné.
      2. Enregistrer : aucun contrôle bloquant.
      3. Afficher la fiche : « Aucun document HAL n'a été trouvé ».
      4. Sélectionner des types (ex. Article, Communication) : les publications s'affichent.

      Appels directs au contrôleur, pour confirmer :

      • /connecteurhal/documentHal?langue=0&nbrdocuments=3&tri=ANTECHRONOLOGIQUE&auteurs=pellerin-s → « Aucun document HAL n'a été trouvé »
      • idem avec &typesDocuments=ART;COMM → publications affichées

      Analyse

      • WEB-INF/jsp/connecteurhal/plugin_saisie.jsp (contrib) : insererKmultiSelectLtl(..., "TYPES_DOCUMENTS", FormateurJSP.SAISIE_FACULTATIF, ...).
      • ServiceConnecteurHalImpl#getDocumentHal renvoie une réponse vide, sans appeler HAL, si typesDocuments est vide :
      if (StringUtils.isAllBlank(structures, auteurs) || StringUtils.isBlank(typesDocuments)) {
          return new ResponseDocumentHalDefaultBean();
      }
      
      • La javadoc de ConnecteurHalUtil#buildParameterQuery(structures, auteurs, doctypes) est trompeuse : « Si ce paramètre est vide, l'utilisateur verra les publications par défaut définies dans la propriété HAL_TYPES_DOCUMENTS ». Ce n'est pas le cas, et cette propriété est vide par défaut.
      • Le texte d'aide (BO_PLUGIN_PUBLICATION_HAL_TYPES_DOCUMENTS_INFO) ne précise pas qu'au moins un type est requis.

      Correction proposée

      Conserver le comportement décidé dans HAL-103, mais le rendre explicite à la saisie :

      • passer le champ TYPES_DOCUMENTS en SAISIE_OBLIGATOIRE dès qu'un IdHAL ou un identifiant de structure est renseigné (ou ajouter un contrôle bloquant à l'enregistrement du plugin) ;
      • compléter le texte d'aide : « Au moins un type doit être sélectionné pour que des publications s'affichent » ;
      • corriger la javadoc de buildParameterQuery, ou implémenter réellement le repli sur HAL_TYPES_DOCUMENTS.

      Constaté sur le projet Université de Toulouse (UPSSI-577), connecteurhal 7.4.0-ALPHA-1.

            Personne assignée:
            Non attribuée
            Rapporteur:
            Frederic FALCAO
            Votes:
            0 Voter pour ce ticket
            Gérer les observateurs:
            1 Démarre l'observation de ce ticket

              Création:
              Mise à jour: