TheOpenCloudEngine / uEngine5-base

uEngine5 BPMS that totally re-written in Microservices architecture. uEngine5 can act as not only a conventional Workflow or BPMS but also as a REST api orchestrator or a BPaaS (Business process as a service) of members of OCE's MSA components.
MIT License
10 stars 13 forks source link

Definition Tree #23

Open jinyoung opened 7 years ago

jinyoung commented 7 years ago
  1. 기능: 패키지명(폴더) 생성, 패키지 삭제, package 명 변경
  2. 이슈: 패키지명 변경 시, 이를 참조하고 있는 CallActivity 들의 모든 연결 문제 발생 (기존 3.0에서는 폴더와 프로세스 alias 를 분리하였 때문에 발생하지 않았던 문제, 현재 방식으로 갈때는 모든 프로세스 정의를 열어 변경될 패키지명들을 찾아서 수정해주는 일종의 IntelliJ 의 리팩토링 기능같은게 필요해짐)
jinyoung commented 7 years ago
  1. 프로세스 명 수정, 프로세스 삭제, 이동
  2. 프로세스 명 != 파일명 수정 (한번 정의 후에는 가능한 변경 X)
  3. 프로세스 명은 변경 가능 -> ProcessDefinition 객체에 displayName 필드를 사용
jo-narae commented 7 years ago

현재 패키지명(폴더) 생성, 패키지 삭제, package 명 변경 기능과 프로세스 명 수정, 프로세스 삭제, 이동 기능을 구현한 상태인데

패키지명 변경 시, 이를 참조하고 있는 CallActivity 들의 모든 연결 문제 발생 문제에 대해 해결하려고 보니 어디를 수정해야 하는지 싶습니다.

definition의 id 부분을 수정하면 될까요?

또한, 프로세스 이동(패키지 이동) 및 패키지명 변경시에 definition 부분의 id를 수정하는게 맞다면 ProcessDefinition 객체에서 setId 메소드를 실행하여 변경할 패스로 바꾸는 것이 맞나요?

jinyoung commented 7 years ago

네... 내일 반영햐보면서 볼게요... 그 사이 궁금한게 있으면 엔진 소스를 읽어보세요...

      1. 오후 2:41에 "jo-narae" notifications@github.com님이 작성:

현재 패키지명(폴더) 생성, 패키지 삭제, package 명 변경 기능과 프로세스 명 수정, 프로세스 삭제, 이동 기능을 구현한 상태인데

패키지명 변경 시, 이를 참조하고 있는 CallActivity 들의 모든 연결 문제 발생 문제에 대해 해결하려고 보니 어디를 수정해야 하는지 싶습니다.

definition의 id 부분을 수정하면 될까요?

또한, 프로세스 이동(패키지 이동) 및 패키지명 변경시에 definition 부분의 id를 수정하는게 맞다면 ProcessDefinition 객체에서 setId 메소드를 실행하여 변경할 패스로 바꾸는 것이 맞나요?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/TheOpenCloudEngine/process-codi-mw4/issues/23#issuecomment-340665951, or mute the thread https://github.com/notifications/unsubscribe-auth/AAdyPyCL4tJzkBC16Q5eoBY123FM-c6vks5sxrL4gaJpZM4PzZCM .

jo-narae commented 7 years ago

프로세스 이동, 패키지 삭제, 패키지 이름 변경 시 callActivity 연결 문제가 있어 해결하기 위해 ProcessDefinition에 있는 CallActivity 영역의 definitionId가 수정된 definition의 경로를 바라볼 수 있도록 수정하였습니다.

수정 하던 도중에 알게 된 기존의 문제점을 발견하여 코멘트 남깁니다.

기존에 definition을 생성 시에 callActivity를 추가한 후 연결 프로세스를 정의해주지 않으면 ProcessDefinition에 있는 CallActivity 영역의 definitionId 부분에 값이 세팅이 되지 않습니다.

CallActivity의 definitionId는 파일의 경로 정보를 담고 있고 ProcessInstance를 실행 시킬 때 참조하는 구조로 이루어진 듯 합니다. 그래서 callActivity가 참조하고 있는 definition이 삭제 되거나 연결 프로세스를 정의해주지 않을 시 definitionId 부분에 값이 세팅 되지 않아야 하는 것 같습니다.

ProcessInstance를 실행 시킬 때 definitionId 값이 없으면 파일 참조를 하지 않아야 하지만 현재 파일을 참조하려고 하기 때문에 에러가 나고 있습니다.

jo-narae commented 7 years ago

default