이 문서는 결재 기능을 제공하는 Comala Workflows 애드온을 소개한다.
Comala Workflows 애드온 지원 기능
요구 기능 | 지원 여부 | 예시 |
---|
다국어 | 한글 워크플로우 지원 | |
|
| 한글 상태 천이 이름 지원 | |
|
결재자 지정 | 결재자 자동 지정 | | 결재자 드러내기 예) {approval:승인|user=&user1} 결재자 감추기 예) {approval:승인|user=user1} |
| 결재 그룹 자동 지정 | | {approval:승인|group=&group1} |
| 결재자로 지정 가능 그룹 또는 사용자 정의 | | 여러명 지정 예) {approval:승인|selectedapprovers=user1,user2,group1,group2} 단일 사용자 지정 예) {approval:승인|selectedapprover=user1,user2,group1,group2} |
| 최소 결재자 지정 | | {approval:승인|minimum=1} |
| 결재자 지정 화면 제어 | | 결재자를 임의로 선택하지 못하도록 결재자 지정 화면 감추기 지원 {state:승인|assignable=false} |
결재 천이 정의 | 승인 후 이동할 대상 정의 | | {state:승인|approved=다음 단계} |
| 거부 후 이동할 대상 정의 | | {state:승인|rejected=이전 단계} |
| 문서 수정시 이동할 결재 상태 지정 | | {state:승인|updated=처음 단계} |
| 상태 expire 날짜 지정 | | 마감 날짜 지정 예) {state:승인|duedate=1W1D} 정확한 마감 날짜 이후 "지연" 상태로 천이 예) {state:승인|duedate=2017-01-20 12:00|expired=지연} 트리거를 이용해 알림 보내기 예) {trigger:stateexpired|state=Published}
{set-message}
This content is more than one year old and has been submitted for review.
{set-message}
{trigger}
|
| 테스크가 완료되면 천이 | | B 상태에서 모든 테스크가 완료되면 상태 C로 천이 예) {state:B|completed=C}
{task:Complete to transition}
{state}
|
결재 천이 조건 | 완료되지 않은 테스크 조건 비교 | | {approval:승인|@workflow:tasks > size@=0} |
결재 활동 | 검토자 코멘트 작성 지원 | |
|
| 테스크 생성 지원 | |
|
알림 기능 | 결재 완료 후 생성자에게 알림 전송 | | Confluence 알림창 표시 |
| 결재자에게 알림 전송 | | 결재자로 지정된 사용자에게 Confluence 알림 전송 |
| 상태 변경시 이메일 보내기 | | "팀장승인" 상태가 변경될 때 페이지 생성자와 지정된 검토자에게 메일 발송 {trigger:statechanged|state=팀장승인} {send-email:user=@creator@,@Reviewer@|subject=Page ready for approval} The page @page@ is waiting for your approval. {pageactivity} {send-email} {trigger} |
보안 | 결재자 확인 기능 | | 로그인 상태, user name, password 확인
|
| 특정 사용자 또는 사용자 그룹에게 결재 문서 보기 및 편집 허용 | | 문서가 생성될 때 생성자와 moderators 그룹에게 보기 권한 지정 예) {trigger:pagecreated}
{add-restriction:type=view|user=@user@|group=moderators}
{trigger}
|
변수 참조 기능 | Workflow 내 정의된 attributes 참조 | |
{trigger:statechanged|state=승인} {send-email:user=@approvaluser@,@Reviewer@|subject=Page ready for approval} The page @page@ is waiting for your approval. {pageactivity} {send-email} {trigger} |
| Workflow 내 정의된 metadata 참조 | | 정의 예) {get-metadata:name=Project Lead} 참조 (사용) 예) {approval:Review|user=&@Project Lead@} |
| Confluence page property 참조 | | Page property에 정의된 Reviewer 참조 예) {state:Review|approved=Published}
{approval:Review|user=&@Reviewer@}
{state}
|
Workflow 예시
{workflow:name=지출결재}
{description}
지출품의
{description}
{state:기안작성|approved=팀장승인}
{approval:기안작성}
{state}
{state:팀장승인|approved=이사승인|rejected=기안작성|updated=기안작성|assignable=true|taskable=true}
{approval:팀장승인|allowedassigngroups=team-leaders,board-members|user=&@팀장 결재@}
{state}
{state:이사승인|approved=대표이사 승인|rejected=기안작성|updated=기안작성|taskable=true}
{approval:이사승인|allowedassigngroups=board-members|user=&@이사 결재@}
{state}
{state:대표이사 승인|approved=회계담당 확인|rejected=기안작성|updated=기안작성|taskable=true}
{approval:대표이사 승인|user=&curvc}
{state}
{state:회계담당 확인|approved=승인완료|updated=기안작성}
{approval:회계담당 확인|user=&@회계담당@}
{state}
{state:승인완료|final=true|updated=기안작성|hideselection=true}
{state}
{trigger:statechanged|state=기안작성}
{set-label:지출품의}
{send-email:user=@creator@|subject=당신 기안 (@pagetitle@)의 상태가 (@state@)으로 변경 되었습니다 }
상세 내용은 @page@에서 확인할 수 있습니다.
{pageactivity}
{send-email}
{set-restrictions:type=edit|user=@creator@}
{trigger}
{trigger:statechanged|state=팀장승인}
{send-email:user=@creator@|subject=당신 기안 (@pagetitle@)의 상태가 (@state@)으로 변경 되었습니다 }
상세 내용은 @page@에서 확인할 수 있습니다.
{pageactivity}
{send-email}
{trigger}
{trigger:statechanged|state=이사승인}
{send-email:user=@creator@|subject=당신 기안 (@pagetitle@)의 상태가 (@state@)으로 변경 되었습니다 }
상세 내용은 @page@에서 확인할 수 있습니다.
{pageactivity}
{send-email}
{trigger}
{trigger:statechanged|state=대표이사 승인}
{send-email:user=@creator@|subject=당신 기안 (@pagetitle@)의 상태가 (@state@)으로 변경 되었습니다 }
상세 내용은 @page@에서 확인할 수 있습니다.
{pageactivity}
{send-email}
{trigger}
{trigger:statechanged|state=회계담당 확인}
{send-email:user=@creator@|subject=당신 기안 (@pagetitle@)의 상태가 (@state@)으로 변경 되었습니다 }
상세 내용은 @page@에서 확인할 수 있습니다.
{pageactivity}
{send-email}
{trigger}
{trigger:statechanged|state=승인완료}
{send-email:user=@creator@|subject=당신 기안 (@pagetitle@)의 상태가 (@state@)으로 변경 되었습니다 }
상세 내용은 @page@에서 확인할 수 있습니다.
{pageactivity}
{send-email}
{trigger}
{trigger:approvalunassigned|approval=팀장승인}
{add-restriction:type=edit|user=@approvalassignees@}
{trigger}
{trigger:approvalunassigned|approval=이사승인}
{add-restriction:type=edit|user=@approvalassignees@}
{trigger}
{trigger:approvalunassigned|approval=대표이사 승인}
{add-restriction:type=edit|user=@approvalassignees@}
{trigger}
{trigger:approvalunassigned|approval=회계담당 확인}
{add-restriction:type=edit|user=@approvalassignees@}
{trigger}
{workflow}