최초 문서 게시일: 2012년 9월 18일 화요일

여러분 안녕하세요.이미지

SharePoint Designer 팀의 PM인 Sam Chung이라고 합니다.  이번 블로그에서는 비주얼 디자이너에서 제공되는 가져오기/내보내기 기능을 완전하게 활용할 수 있는 효율적인 새 시나리오에 대해 말씀 드리고자 합니다.

소개

개발자라면 대부분 워크플로를 배포해야 할 때가 있습니다. 특히 사이트 간에 워크플로를 이동해야 하는 경우가 생깁니다. 여기에는 여러 가지 이유가 있는데, 일반적으로는 개발, 준비 및 프로덕션 환경 간에 워크플로를 이동해야 하기 때문인 경우가 많습니다. 이유가 무엇이든, 이 문서를 통해 사이트 간에 워크플로를 이동하는 방법을 파악할 수 있을 것입니다.

시작하기 전에 먼저 다음 문서를 읽어 보시기 바랍니다.

첫 번째 문서는 비주얼 디자이너에 대한 일반적인 개요입니다.

http://msdn.microsoft.com/ko-kr/library/jj163272.aspx(영문일 수 있음)

비주얼 디자이너의 작동 방식을 이해하려면 위의 문서를 읽어야 합니다.

다음 문서에서는 패키지 기능을 사용하여 목록과 워크플로를 패키지로 만드는 방법에 대해 설명합니다.

http://blogs.technet.com/b/office_ko/archive/2012/09/28/3523067.aspx

워크플로에서 참조할 수 있는 목록을 패키지로 만드는 방법을 이해하려면 위의 문서를 확인해야 합니다.

워크플로 만들기

어떤 워크플로나 이동할 수 있습니다. 즉, 이동 가능한 워크플로에 대한 기술적 제한은 없습니다. 그러나 게시 및 런타임 문제를 방지하려면 다음 사항을 고려하십시오.

1. 워크플로에서 참조하는 모든 개체가 대상 사이트에 있는지 확인합니다.

a. 위의 패키지 작성 방법 관련 문서에서 목록을 패키지로 만드는 방법을 확인합니다.

2. 원본 사이트에서 사용되는 모든 작업이 대상 사이트에 있는지 확인합니다.

a. 원본 사이트에 사용자 지정 작업이 있는 경우 워크플로를 이동하기 전에 해당 작업을 대상 사이트로 가져와야 합니다.

3. PWA 사이트에서 PWA가 아닌 사이트로 프로젝트 워크플로를 이동할 수는 없습니다.

a. SPD는 프로젝트 워크플로를 PWA가 아닌 사이트로 가져오려는 시도를 감지하면 가져오기 중에 해당 작업을 차단합니다.

b. 프로젝트 워크플로는 여분의 데이터를 많이 포함하므로 PWA 사이트 간에만 이동해야 합니다.

이 블로그에서는 간단한 워크플로를 예로 사용합니다. 여기서는 이벤트 시나리오용으로 아이디어 목록을 사용하도록 설정합니다. 해당 과정에서 "이벤트 아이디어" 목록에서 사용할 간단한 워크플로를 작성합니다. 사용자는 자신이 생각하고 있는 모든 이벤트 아이디어에 대해 새 목록 항목을 입력합니다. 필요한 정보를 모두 입력한 후에는 항목이 검토 가능함을 표시합니다. 이 시점에서 워크플로가 시작되며, 특정 승인자에게 아이디어 승인 또는 거부 여부를 묻습니다.

여기서 사용할 목록은 다음과 같습니다.

이미지

보시다시피 이 목록에는 다음과 같은 열이 있습니다.

· 이벤트 아이디어(Event Idea)

o 한 줄 문자열

· 위치(Location)

o 한 줄 문자열· 비용(Cost)

o 통화

· 상태(Status)

o 선택 필드

그리고 워크플로 자체는 다음과 같습니다.

이미지

이 워크플로는 다음과 같은 작업을 수행합니다.

clip_image002[15]

· 첫 번째 단계를 진행 중이라는 내용을 기록에 로깅

· 상태 열 필드가 "검토 가능"으로 설정되어 있는지 확인

o  그렇지 않은 경우 해당 필드가 "검토 가능"으로 설정될 때까지 대기

clip_image002[17]

· 아이디어 검토 작업을 할당한다는 내용을 기록에 로깅

· 상태 열을 "검토 중"으로 업데이트

· 작업 할당

clip_image002[21]

· 아이디어가 승인된 경우 이 단계에서 아이디어가 승인되었다는 내용을 기록에 로깅

· 상태 열을 "수락됨"으로 설정

clip_image002[23]

· 아이디어가 거부된 경우 이 단계에서 아이디어가 거부되었다는 내용을 기록에 로깅

· 상태 열을 "거부됨"으로 설정

워크플로 내보내기

다음으로는 작성된 워크플로를 내보냅니다. 이렇게 하려면
"Visio로 내보내기(Export to Visio)" 리본 메뉴 단추를 클릭합니다.

이미지

참고: 내보내기 단추를 누르면 워크플로가 자동으로 서버에 먼저 저장된 다음 내보내기 기능이 시작됩니다. 이는 내보낸 워크플로가 내보내기 시의 서버 버전과 동기화 상태를 유지하도록 하기 위한 것입니다.

이 단추를 누르면 다음 대화 상자가 나타납니다.

이미지

파일을 저장할 위치를 선택하고 "저장(Save)" 단추를 누릅니다.

그러면 Visio 다이어그램이 선택한 위치에 저장됩니다. 원하는 경우 다이어그램을 Visio 2013에서 바로 열 수 있습니다.

참고: 이 예에서는 워크플로를 비주얼 디자이너에서 내보냈지만 다음과 같은 위치에서 워크플로를 내보낼 수도 있습니다.

· 텍스트 기반 디자이너

· 워크플로 설정 페이지

· 워크플로 갤러리

그러나 이와 같은 모든 예에서 비주얼 디자이너를 사용하도록 설정해 두어야 합니다. 그리고 이러한 작업을 수행하려면 SharePoint Designer 2013과 같은 컴퓨터에 Visio 2013 Professional을 설치해야 합니다.

워크플로 가져오기

이제 워크플로를 내보냈으므로 SharePoint Designer 2013에서 다른 SharePoint 2013 사이트를 열고 워크플로를 가져올 수 있습니다. 이 작업을 수행하는 단계는 다음과 같습니다.

1. SPD를 새 사이트에 연결합니다.

2. 탐색(Navigation) 창에서 "워크플로(Workflows)"를 클릭합니다.

이미지

3. "Visio에서 가져오기(Import from Visio)" 리본 메뉴 단추의 아래쪽을 누른 다음 "Visio 2013 다이어그램 가져오기(Import Visio 2013 Diagram)" 옵션을 선택합니다.

이미지

4. 그러면 일반적인 파일 열기 대화 상자가 나타납니다. 여기서 내보낸 다이어그램을 찾아서 엽니다.

이미지

5. 그러면 "워크플로 만들기(Create Workflow)" 대화 상자가 나타납니다.

a. 워크플로 이름을 지정합니다.

b. 원하는 경우 설명을 입력합니다.

c. 워크플로 유형(Workflow Type)은 "목록 워크플로(List Workflow)"로 지정되어 있으며 선택할 수 없는 상태입니다. 이렇게 표시되는 이유는 SPD에서 가져온 워크플로가 목록 워크플로임을 감지했기 때문입니다. 따라서 올바른 워크플로 유형이 자동으로 선택되었습니다. Visio에서 새 다이어그램(SPD에서 연 적이 없는 워크플로)을 가져오는 경우에는 이 옵션이 사용하도록 설정됩니다.

d. 이 항목은 목록 워크플로(List Workflow)이므로 워크플로를 연결할 목록을 선택하는 옵션을 사용할 수 있습니다. 원하는 목록을 선택합니다. 이 옵션은 목록 워크플로에 대해서만 사용하도록 설정됩니다. 목록도 내보냈다가 가져오는 것이 가장 좋으며, 이렇게 하면 이전 사이트에서 사용 중이었던 것과 같은 목록을 선택할 수 있습니다.

e. 확인(OK)을 누릅니다.

이미지

6. 이전과 정확히 동일한 모양의 워크플로 다이어그램이 표시됩니다.

a. 모든 워크플로 논리가 보존됩니다.

b. 모든 작업 속성이 보존됩니다.

c. 모든 로컬 변수가 보존됩니다.

7. 이제 워크플로를 계속 편집할 수 있습니다. 그러나 게시하기 전에 다음 섹션의 내용을 확인하십시오.

게시 전의 배포 후 작업

다른 사이트에서 가져온 워크플로를 바로 게시할 수는 없습니다. 바로 게시해도 오류 없이 게시될 수는 있지만, 대부분의 경우에는 워크플로에서 런타임 오류가 발생합니다. 따라서 워크플로를 가져온 후 다음 단계를 수행/확인하십시오.

1. 워크플로 설정(Settings) 페이지로 이동하여 작업 목록(Task List) 및 기록 목록(History List)을 업데이트합니다.

a. 아래와 같이 "새 작업 목록(New Task List)" 및 "새 기록 목록(New History List)"이 표시됩니다. 그러나 최근 비주얼 디자이너가 변경되어, 이제 워크플로를 게시할 때는 새 작업 목록과 기록 목록이 만들어지지 않습니다. 따라서 워크플로에서 런타임 오류가 발생합니다.

이미지

b. 선택 가능한 기존 작업 목록과 기록 목록이 있어야 합니다. 드롭다운 목록에서 목록을 각각 선택합니다.

참고: 새 작업 또는 기록 목록을 만들려면 먼저 다른 목록을 클릭하고 새 작업 목록(New Task List) 또는 새 기록 목록(New History List) 옵션을 다시 선택합니다. 그러면 새 목록을 만들지 묻는 팝업이 표시됩니다. 새 목록을 만들도록 선택하면 새 목록이 즉시 만들어집니다.

2. 워크플로 모양을 수정합니다.

a. VSDX 파일에 목록을 포함하지 않은 경우에는 워크플로가 완전히 다른 목록에 연결됩니다. 따라서 기존에 참조했던 목록 항목이나 속성이 있다면 해당 항목/속성을 수정해야 합니다.

이미지

b. 워크플로를 가져오기 전에 목록을 원본 사이트에서 패키지로 만든 다음 새 사이트로 배포하면 이 문제를 해결할 수 있습니다. 목록을 패키지로 만드는 방법에 대한 자세한 내용은 목록, 사이트 및 다시 사용할 수 있는 워크플로를 패키지로 만들어 배포하는 방법 블로그를 참조하십시오.

3. 워크플로의 사용자 지정 작업 중 새 사이트에 없는 작업을 확인합니다.

a. 워크플로에 사용자 지정 작업이 있는 경우 워크플로를 가져오기 전에 해당 작업을 새 사이트에 배포해야 합니다.

4. 프로젝트 워크플로의 경우 워크플로를 가져오기 전에 스테이지, 단계, PDP 및 사용자 지정 필드를 가져왔는지 확인합니다.

a. 프로젝트 워크플로의 경우 모든 이전 프로젝트 개체를 이전 사이트에서 새 사이트로 가져온 상태여야 합니다. Project 블로그에서 프로젝트 개체를 이동하는 방법에 대한 자세한 내용을 참조하십시오.

이 문제가 해결되면 새 사이트에서 워크플로를 문제 없이 게시 및 실행할 수 있을 것입니다.

이 문서의 내용이 도움이 되길 바랍니다. 아래에 댓글 많이 남겨 주세요.

감사합니다.

Sam

이 문서는 번역된 블로그 게시물입니다. 원본 문서는 How to use SharePoint Designer 2013's Visual Designer to Move Workflows Between Sites를 참조하십시오.