Paramètres du processus visibles uniquement par Profil Admistrateur

Bonjour,

Je suis confronté au problème suivant :

J'ai  développé un processus "MON_PROC" en déclarant comme acteur initiateur "ActeurInitiateur".

Dans la configuration Serveur du processus, "ActeurInitiateur" est associé à 3 rôles : RoleAdmin, RoleRespProc, RoleDirecteur.
Je n'utilise pas les autres modes d'association (Groupe, Adhésion, utilisateur)

Tous les utilisateurs que j'ai créés ont une adhésion sur au moins l'un des 3 rôles ci-dessus.

Sur la base de ce paramétrage, tous les utilisateurs sont censés pouvoir lancer un cas sur ce processus.
C'est bien ce qu'il se passe, mais le cas ne fonctionne correctement que lorsque je suis connecté avec mon propre user :
Si j'utilise un autre user, l'écran d'instanciation n'accède plus aux paramètres du processus !

J'ai déclaré les variables suivantes sur l'écran d'instanciation :

- processDefinitionId - type  URL parameter - valeur id
- processus - type External API - valeur ./API/bpm/process/{{processDefinitionId}}
- parXXX - type External API - valeur ../API/bpm/processParameter/{{processus.id}}/parXXX

Les 2 premières fonctionnent, mais parXXX ne renvoie quelque chose que si je suis connecté avec mon user.

Après de multiples tests j'ai découvert que mon user "fonctionne" parcequ'il est déclaré avec le Profil "Administrateur" sur le portail,
tous les autres sont déclarés avec le Profil "Utilisateur".
Dès lors que je déclare un utilisateur avec le profil Administrateur, alors cela fonctionne et parXXX contient bien la valeur du paramètre.

Y-a-t'il quelque chose que je n'ai pas compris dans la façon qu'il convient de paramétrer le processus et l'organisation ?

Merci d'avance pour votre réponse.

Thierry Brochard.

J'ai trouvé tout seul, laborieusement après avoir épluché le forum et la doc en ligne de Bonita.

En fait il y a un mécanisme d’autorisations de l’utilisation des API REST de Bonita, qui fonctionne indépendamment du paramétrage des processus et de l’organisation :

Le fichier resources-permissions-mapping.properties contient le paramétrage de ces autorisations en indiquant pour chaque API le niveau d’autorisation (« permission ») affecté.
Pour l’accès à l’API de récupération des paramètres de processus, il y a la ligne :
    GET|bpm/processParameter=[process_management]

Par défaut (je ne sais pas où c’est défini), seul le profil Administrateur à la permission process_management.
Pour étendre les permissions, il faut compléter le fichier custom-permissions-mapping.properties, qui par défaut est vide (contient uniquement des commentaires explicatifs).

J’ai donc ajouté la ligne :
    profile|User=[organization_visualization, process_management]

Elle ajoute au profil Utilisateur les 2 permissions indiquées.

Il a fallu ensuite refermer et relancer Bonita Studio (redémarrer le serveur web n'est apparemment pas suffisant).

Au secours, ça ne fonctionne plus !

J'ai dû réinstaller Bonita Community Version : 2021.1 / Build id : 7.12.1.1 et depuis ça ne fonctionne plus.

Je suis le seul utilisateur a pouvoir accéder aux paramètres du processus sur l'écran d'instanciation.

Tous les autres utilsateurs, même s'ils sont déclarés avec le profil Administrateur, ne voient qu'un écran vide (c-à-d. que les paramètres du processus ne sont pas lus).

J'ai essayé de modifer le fichier resources-permissions-mapping.properties en les permissions case_start et case_management :

GET|bpm/processParameter=[process_management, case_start, case_management]

mais ça ne change rien.

Que se passe-t-il ?

Merci pour votre réponse dont j'ai un besoin urgent !!!!

Bonjour Thierry,

tout d'abord toutes nos excuses s'il n'y a pas eu de rpéonse jusque là, les sites web fonctionnaient en mode dégradé jusque maintenant, c'est à dire en mode "lecture seule" suite à un incident semaine dernière.

Concernant votre problème, pouvez-vous m'expliquer les actions que vous avez fait lors de l'installation de la dernière version de 2021.1, et de quelle version de Bonita vous avez migré ?

Avez-vous vérifié dans le déploiement de vos processus dans le portail les profils et leur mapping ?

Bonjour,

nous avons pour l'instant 2 environnements :

- un environnement local sur PC, avec Bonita Studio, qui sert pour les développements, avec une version 2021.1 installée depuis l'origine de cette version.

- un environnement serveur, où Bonita est installé avec Docker, et qui sert pour les tests, recette et démo.

le pb initial : l'un des processus développés possède un écran d'instanciation qui accède aux paramètres serveur du processus, via les variables API ../API/bpm/processParameter/{{processus.id}}/parXXX

il s'avérait que l'accès à ces paramètres ne fonctionnait que si un utilisateur de profil Administrateur était connecté.

Après la modification de custom-permissions-mapping.properties décrite dans ma réponse du 29 mars, le pb a été résolu, tous les utilisateurs, quel que soit leur profil, pouvaient accéder à ces paramètres.

Or brusquement, il y a quelques jours, cela n'a plus fonctionné sur le serveur, seule une connexion sous mon propre user permettant d'accéder aux paramètres.

Je ne sais pas ce qui a pu évoluer sur le serveur, ou ce qui a pu être modifié sur le processus pour que ça ne fonctionne plus.

J'ai donc essayé de creuser le pb sur l'environnement de développement, sur PC.

Comme quelques jours auparavant, pour un besoin spécifique, j'avais installé une 2nde version de Bonita 2021.1 pour avoir 2 environnements distincts, j'ai supprimé les 2 environnements (en utilisant uninstall.exe sur le répertoire principal de chaque installation), et j'en ai réinstallé un tout neuf (build 7.12.1.1) en téléchargeant Bonita studio depuis le site bonitasoft.

J'ai réinstallé l'organisation, la BDM et les processus, et réappliqué les modifs sur custom-permissions-mapping.properties, mais cela reste sans effet sur le fonctionnement du processus qui ne fonctionne correctement que si je suis connecté avec mon user.

Sur le portail, où le paramétrage des utilisateurs (profil, adhésions) est conforme à celui du Studio, j'ai attribué le profil Administrateur à tous les utilisateurs déclarés, mais ça n'a rien changé.

J'ai également essayé de changer l'utilisateur déclaré dans le paramètre de configuration Authentification, mais cela n'a aucun effet.

Voilà, je ne sais quelle info supplémentaire je peux vous transmettre.

PS : je n'ai pas compris pourquoi bpm/processParameter est la seule API qui a posé ce genre de problème. Tous les autres appels d'API fonctionnent correctement, quel que soit le profil de l'utilisateur connecté.