Bonjour,
J’ai créé une variable de processus qui me charge des données dans un formulaire.
Lorsque je lance le process, seuls les utilisateurs qui ont le profil ‘admin’ dans le portal peuvent voir les données dans le formulaire. Ceux qui ont le rôle user seul ont un formulaire vide (ceux qui ont le role user+admin voient les données).
Ma question est de savoir où est-ce que l’on gère les droits pour pour afficher les données en fonction du profil svp ?
Merci d’avance,
Cordialement,
Nicolas Créantor
This is a change introduced in version 7.?.? (sorry can’t remember which)
Simply put Bonitasoft want all data to be presented through BDO/Contracts/Context. Why is beyond me, but that’s the way it is.
And as you have found only admin can see data presented from process variables. I’m also not a fan of this requirement and it hasn’t been fully explained why, but it’s what we have to deal with.
You will have to redesign you process…
Sorry can’t be more help,
Regards
Seán
PS: if this answers your question, please mark as resolved.
Bonjour,
En effet par défaut seul un utilisateur avec le profil “Administrator” peut faire appel à l’API REST pour modifier les variables de processus (bpm/caseVariable) ou les variables d’étapes (bpm/activityVariable).
Néanmoins ce comportement est configurable.
Il faut éditer le fichier de configuration dynamic-permissions-checks.properties
qui se trouve dans le dossier Bonita home puis client/tenants/1/conf
(où 1 est l’id de votre tenant, un seul disponible en édition communautaire).
Dans le fichier ajouter les lignes suivantes pour autoriser les utilisateurs non-administrateurs à modifier les variables de processus :
GET|bpm/caseVariable=[profile|User]
PUT|bpm/caseVariable=[profile|User]
Vous pouvez vous référencer à la documentation sur les autorisations liées aux REST API pour plus d’information.
Néanmoins, il est effectivement recommandé de stocker les données saisies et consultées par les utilisateurs en utilisant les variables métier (business data). En effet ces données sont stockées de manière structurée en base de données ce qui améliore la performance des opérations de mise à jour, recherche… De plus leur cycle de vie est indépendant de celui de l’instance de processus.
TRANSLATION:
Hello,
because by default only a user with the profile “Administrator” may use the REST API to change the process variables (bpm / caseVariable) or steps variables (bpm / activityVariable).
However this behavior is configurable. You must edit the dynamic-permissions-checks.properties configuration file located in the Bonita home folder and client/tenants/1/ conf (where 1 is the id of your tenant, there is only one in Community Edition). In the file add the following lines to allow non-administrators to modify the process variables:
GET|bpm/caseVariable=[profile|User]
PUT|bpm/caseVariable=[profile|User]
You can refer to the documentation about permissions related to REST API for more information.
However, it is actually recommended to store the data entered and accessed by users using business variables (business data). Indeed these data are stored in a structured way in the database which improves the performance of update operations, research …
And their life cycle is independent from the process instance.
Bonjour,
Merci beaucoup Antoine pour la réponse et Sean pour la traduction c’est exactement ce qu’il me fallait !
Pour info je passe par là car je récupère et met à jour des données dans une base extérieure à bonita.
Merci encore.
Cordialement,
Nicolas
Bonjour,
Je serai intéressée de savoir comment faire pour mettre à jour les données dans une base extérieure à bonita? Est ce une base de donnée MySql? Je suis entrain de voir comment implémenter cette fonctionnalité dans Bonita 6.5.3
Merci d’avance
This question is not related to the post - this should be a new question with a little more information on what you are trying to do.
Updating an MySQL database can be accomplished very easily using a Connector…
regards
I had exactly the same issue in 2018 but was unable to solve it by editing the server config and adding :
GET|bpm/caseVariable=[profile|User]
PUT|bpm/caseVariable=[profile|User]
I see the uncommented parameters if I make a pull, but I still have no display of the data