Le cas de test présenté dans cette anomalie ne démontre pas un BUG en tant que tel, mais plutôt une faiblesse de l'interface quant à la gestion des fichiers joints dans le mode de fonctionnement où les contenus peuvent être multilingues.
En effet, comme Silverpeas le défini et comme cela a été implémenté dans le produit, un fichier joint peut être décliné dans plusieurs langues (celles définies comme langues de contenu) où pour chacune des langues sont définis :
- un fichier (le contenu),
- des méta-data (titre, description, etc.).
Les informations régies sous une même langue de contenu sont indissociables puisque dans le cas contraire existerait une inconsistance des données.
Pour répondre à cette anomalie, tout en gardant le but original de la gestion des fichiers joints dans Silverpeas, des contrôles supplémentaires sont ajoutés au niveau de l'interface.
Dans le cas de l'ajout d'un fichier joint, la boîte de dialogue présentée indique que le fichier est obligatoire.
Un message d'erreur est présenté si l'utilisateur valide la boîte de dialogue sans avoir indiqué de fichier.
Dans le cas de la modification d'un fichier joint, si l'utilisateur décide de renseigner le contenu dans une autre langue (contenu qui n'existe pas encore) alors la boîte de dialogue indique que le fichier est obligatoire.
Un message d'erreur est présenté si l'utilisateur valide la boîte de dialogue sans avoir indiqué de fichier.
Enfin, dans le cas de la mise à jour d'un fichier joint altéré (avant intégration et mise en place des modifications référencées en fin de note), c'est à dire un fichier joint pour lequel il n'existe pas de fichier derrière une langue de contenu, même si la boîte de dialogue ne présente pas le champ fichier comme obligatoire, un message d'erreur sera affiché à l'utilisateur pour lui indiquer que le fichier est obligatoire.
PR : https://github.com/Silverpeas/Silverpeas-Core/pull/801