2016-08-09 4 views
0

Bonita BPM 버전 7.2.3을 사용하고 있습니다.Bonita BPM - 사용자가 자신의 그룹에 속한 작업 만 보는 방법?

나는 다음과 같은 조직이 있습니다

<?xml version="1.0" encoding="UTF-8"?> 
<organization:Organization xmlns:organization="http://documentation.bonitasoft.com/organization-xml-schema/1.1"> 
    <customUserInfoDefinitions/> 
    <users> 
    <user userName="requisitante1.dmae"> 
     <firstName>Requisitante1</firstName> 
     <lastName>DMAE</lastName> 
     <manager></manager> 
     <personalData/> 
     <professionalData/> 
     <password encrypted="false">123</password> 
     <customUserInfoValues/> 
    </user> 
    <user userName="requisitante2.dmae"> 
     <firstName>Requisitante2</firstName> 
     <lastName>DMAE</lastName> 
     <manager></manager> 
     <personalData/> 
     <professionalData/> 
     <password encrypted="false">123</password> 
     <customUserInfoValues/> 
    </user> 
    <user userName="aprovadortecnico1.dmae"> 
     <firstName>Aprovador Técnico 1</firstName> 
     <lastName>DMAE</lastName> 
     <manager></manager> 
     <personalData/> 
     <professionalData/> 
     <password encrypted="false">123</password> 
     <customUserInfoValues/> 
    </user> 
    <user userName="aprovadortecnico2.dmae"> 
     <firstName>Aprovador Técnico 2</firstName> 
     <lastName>DMAE</lastName> 
     <manager></manager> 
     <personalData/> 
     <professionalData/> 
     <password encrypted="false">123</password> 
     <customUserInfoValues/> 
    </user> 
    <user userName="aprovadorfinanceiro1.dmae"> 
     <firstName>Aprovador Financeiro 1</firstName> 
     <lastName>DMAE</lastName> 
     <manager></manager> 
     <personalData/> 
     <professionalData/> 
     <password encrypted="false">123</password> 
     <customUserInfoValues/> 
    </user> 
    <user userName="aprovadorfinanceiro2.dmae"> 
     <firstName>Aprovador Financeiro 2</firstName> 
     <lastName>DMAE</lastName> 
     <manager></manager> 
     <personalData/> 
     <professionalData/> 
     <password encrypted="false">123</password> 
     <customUserInfoValues/> 
    </user> 
    <user userName="aprovadoradministrativo.dmae"> 
     <firstName>Aprovador Administrativo</firstName> 
     <lastName>DMAE</lastName> 
     <manager></manager> 
     <personalData/> 
     <professionalData/> 
     <password encrypted="false">123</password> 
     <customUserInfoValues/> 
    </user> 
    <user userName="aprovadoradministrativo.smf"> 
     <firstName>Aprovador Administrativo</firstName> 
     <lastName>SMF</lastName> 
     <manager></manager> 
     <personalData/> 
     <professionalData/> 
     <password encrypted="false">123</password> 
     <customUserInfoValues/> 
    </user> 
    <user userName="aprovadorfinanceiro1.smf"> 
     <firstName>Aprovador Financeiro 1</firstName> 
     <lastName>SMF</lastName> 
     <manager></manager> 
     <personalData/> 
     <professionalData/> 
     <password encrypted="false">213</password> 
     <customUserInfoValues/> 
    </user> 
    <user userName="aprovadorfinanceiro2.smf"> 
     <firstName>Aprovador Financeiro 2</firstName> 
     <lastName>SMF</lastName> 
     <manager></manager> 
     <personalData/> 
     <professionalData/> 
     <password encrypted="false">123</password> 
     <customUserInfoValues/> 
    </user> 
    <user userName="aprovadortecnico1.smf"> 
     <firstName>Aprovador Técnico 1</firstName> 
     <lastName>SMF</lastName> 
     <manager></manager> 
     <personalData/> 
     <professionalData/> 
     <password encrypted="false">123</password> 
     <customUserInfoValues/> 
    </user> 
    <user userName="aprovadortecnico2.smf"> 
     <firstName>Aprovador Técnico 2</firstName> 
     <lastName>SMF</lastName> 
     <manager></manager> 
     <personalData/> 
     <professionalData/> 
     <password encrypted="false">123</password> 
     <customUserInfoValues/> 
    </user> 
    <user userName="requisitante1.smf"> 
     <firstName>Requisitante 1</firstName> 
     <lastName>SMF</lastName> 
     <manager></manager> 
     <personalData/> 
     <professionalData/> 
     <password encrypted="false">123</password> 
     <customUserInfoValues/> 
    </user> 
    <user userName="requisitante2.smf"> 
     <firstName>Requisitante 2</firstName> 
     <lastName>SMF</lastName> 
     <manager></manager> 
     <personalData/> 
     <professionalData/> 
     <password encrypted="false">123</password> 
     <customUserInfoValues/> 
    </user> 
    <user userName="celic"> 
     <firstName>CELIC</firstName> 
     <lastName>CELIC</lastName> 
     <manager></manager> 
     <personalData/> 
     <professionalData/> 
     <password encrypted="false">123</password> 
     <customUserInfoValues/> 
    </user> 
    </users> 
    <roles> 
    <role name="AprovadorTecnico"> 
     <displayName>Aprovador Técnico</displayName> 
    </role> 
    <role name="AprovadorFinanceiro"> 
     <displayName>Aprovador Financeiro</displayName> 
    </role> 
    <role name="AprovadorAdministrativo"> 
     <displayName>Aprovador Administrativo</displayName> 
    </role> 
    <role name="requisitante"> 
     <displayName>Requisitante</displayName> 
    </role> 
    <role name="celic"> 
     <displayName>CELIC</displayName> 
    </role> 
    </roles> 
    <groups> 
    <group name="CELIC"> 
     <displayName>CELIC</displayName> 
    </group> 
    <group name="DMAE" parentPath="/CELIC"> 
     <displayName>DMAE</displayName> 
    </group> 
    <group name="SMF" parentPath="/CELIC"> 
     <displayName>SMF</displayName> 
    </group> 
    </groups> 
    <memberships> 
    <membership> 
     <userName>requisitante1.dmae</userName> 
     <roleName>requisitante</roleName> 
     <groupName>DMAE</groupName> 
     <groupParentPath>/CELIC</groupParentPath> 
    </membership> 
    <membership> 
     <userName>requisitante2.dmae</userName> 
     <roleName>requisitante</roleName> 
     <groupName>DMAE</groupName> 
     <groupParentPath>/CELIC</groupParentPath> 
    </membership> 
    <membership> 
     <userName>aprovadortecnico1.dmae</userName> 
     <roleName>AprovadorTecnico</roleName> 
     <groupName>DMAE</groupName> 
     <groupParentPath>/CELIC</groupParentPath> 
    </membership> 
    <membership> 
     <userName>aprovadortecnico2.dmae</userName> 
     <roleName>AprovadorTecnico</roleName> 
     <groupName>DMAE</groupName> 
     <groupParentPath>/CELIC</groupParentPath> 
    </membership> 
    <membership> 
     <userName>aprovadorfinanceiro1.dmae</userName> 
     <roleName>AprovadorFinanceiro</roleName> 
     <groupName>DMAE</groupName> 
     <groupParentPath>/CELIC</groupParentPath> 
    </membership> 
    <membership> 
     <userName>aprovadorfinanceiro2.dmae</userName> 
     <roleName>AprovadorFinanceiro</roleName> 
     <groupName>DMAE</groupName> 
     <groupParentPath>/CELIC</groupParentPath> 
    </membership> 
    <membership> 
     <userName>aprovadoradministrativo.dmae</userName> 
     <roleName>AprovadorAdministrativo</roleName> 
     <groupName>DMAE</groupName> 
     <groupParentPath>/CELIC</groupParentPath> 
    </membership> 
    <membership> 
     <userName>aprovadoradministrativo.smf</userName> 
     <roleName>AprovadorAdministrativo</roleName> 
     <groupName>SMF</groupName> 
     <groupParentPath>/CELIC</groupParentPath> 
    </membership> 
    <membership> 
     <userName>aprovadorfinanceiro1.smf</userName> 
     <roleName>AprovadorFinanceiro</roleName> 
     <groupName>SMF</groupName> 
     <groupParentPath>/CELIC</groupParentPath> 
    </membership> 
    <membership> 
     <userName>aprovadorfinanceiro2.smf</userName> 
     <roleName>AprovadorFinanceiro</roleName> 
     <groupName>SMF</groupName> 
     <groupParentPath>/CELIC</groupParentPath> 
    </membership> 
    <membership> 
     <userName>aprovadortecnico1.smf</userName> 
     <roleName>AprovadorTecnico</roleName> 
     <groupName>SMF</groupName> 
     <groupParentPath>/CELIC</groupParentPath> 
    </membership> 
    <membership> 
     <userName>aprovadortecnico2.smf</userName> 
     <roleName>AprovadorTecnico</roleName> 
     <groupName>SMF</groupName> 
     <groupParentPath>/CELIC</groupParentPath> 
    </membership> 
    <membership> 
     <userName>requisitante1.smf</userName> 
     <roleName>requisitante</roleName> 
     <groupName>SMF</groupName> 
     <groupParentPath>/CELIC</groupParentPath> 
    </membership> 
    <membership> 
     <userName>requisitante2.smf</userName> 
     <roleName>requisitante</roleName> 
     <groupName>SMF</groupName> 
     <groupParentPath>/CELIC</groupParentPath> 
    </membership> 
    <membership> 
     <userName>celic</userName> 
     <roleName>celic</roleName> 
     <groupName>CELIC</groupName> 
    </membership> 
    </memberships> 
</organization:Organization> 

그리고 다음 프로세스 :

마지막으로

enter image description here

나는 차선 이름에 해당하는 배우 매핑이 (배우가 Requisitante가의 배우입니다 차선 Requisitante와 역할 Requisitante 등등).

"SMF"의 "requisitante"가 작업을 시작한 경우 그룹 "DMAE"의 사용자는 해당 그룹의 사용자가 시작한 작업을 볼 수 있기를 바랍니다. 동일한 그룹에 속하지 않기 때문에 같은 역할을하더라도 볼 수는 없습니다.)

문제는 이것이 발생하지 않는다는 것입니다. 사용자 필터를 사용하여 문제를 해결할 수 있음을 알고 있지만 이것이 가장 정확한 "간단한"해결책인지는 잘 모릅니다. 나는 이것이 더 간단 할 수 있다고 생각한다.

답변

1

작업을 올바르게 이해하고 있다면 사용자의 역할에 따라 작업이 매핑됩니다. 프로세스를 시작한 사람에 따라 제한 조건이 있습니다. 주어진 프로세스 인스턴스의 태스크는 개시 자와 동일한 그룹의 사용자 만 사용할 수 있습니다.

액터 매핑은 조직 정보 (그룹, 역할, 회원 및 사용자)에만 기반 할 수 있으며 프로세스 인스턴스 정보 (예 : 인스턴스를 시작한 사용자)를 기반으로 동적 일 수 없습니다.

사용자가 프로세스 인스턴스를 시작한 사람과 같은 정보를 기반으로 작업을 연관시켜야하는 경우 필터가 실제로 좋은 옵션입니다. 필터는 모든 종류의 입력 정보를 사용하여 사용자 ID 목록을 작성할 수 있습니다. 필터는 실제로 작업에 도달 할 때 실행되므로 프로세스 인스턴스 시작 프로그램 ID (인스턴스 변수, 외부 데이터 ...)와 같은 정보에 액세스 할 수 있습니다.

액터의 경우 실제로 사용자가 Bonita BPM 포털에 로그인하면 멤버십 엔진을 기반으로 해당 액터가 배포 된 프로세스에 정의 된대로 검색됩니다.

0

사용자 필터는 해결책이지만 가장 간단한 것은 아닙니다. 당신은 (스튜디오에서) 액터를 당신의 모든 요구 사항을 채우고 구현하기 쉬운 역할로 매핑 할 수 있습니다. 이렇게하려면 스튜디오에서 구성/액터 매핑 (프로세스 구성 아이콘)으로 이동하고 액터를 해당 역할 (예 : 액터 requisitante가 역할 requisitante에 매핑 됨)에 매핑합니다. 그렇게하면 관련 역할을 가진 사용자 만 작업을 보류 중으로 볼 수 있습니다.

관련 문제