연습: Visual Studio에 SharePoint Designer의 다시 사용 가능한 워크플로 가져오기
이 연습에서는 SharePoint Designer 2010에서 만든 다시 사용할 수 있는 워크플로를 Visual Studio SharePoint 워크플로 프로젝트로 가져오는 방법을 보여 줍니다.
SharePoint Designer에서 만든 워크플로, 즉 선언적 워크플로는 코드 대신 XML 문으로 구성됩니다.SharePoint Designer 2010에서는 SharePoint 사이트의 여러 목록에서 사용할 수 있는 이식 가능한 선언적 워크플로인 다시 사용할 수 있는 워크플로를 소개합니다.
만든 워크플로 Visual Studio 2012, 순차 및 상태 시스템 워크플로 등 라고 코드 워크플로.코드 워크플로는 사용자가 워크플로 동작을 사용자 지정할 수 있는 코드 모듈과 XML 파일로 구성됩니다.
Visual Studio 사용 하면 SharePoint 디자이너 2010에서 만든 재사용 가능한 워크플로 가져오기 및 코드 워크플로 SharePoint 사이트에서 사용 하기 위해 변환할 수 있습니다.
이 연습에서는 다음 작업을 수행합니다.
SharePoint Designer에서 간단한 다시 사용할 수 있는 워크플로 만들기
SharePoint Designer의 다시 사용할 수 있는 워크플로를 .wsp 파일 및 SharePoint로 내보내기
다시 사용할 수 있는 워크플로 가져오기 프로젝트를 사용하여 .wsp 파일을 Visual Studio로 가져오기
코드를 추가하여 워크플로 변경
SharePoint 사이트에서 가져온 워크플로 사용
[!참고]
다음 지침처럼 컴퓨터에서 Visual Studio 사용자 인터페이스 요소 일부에 대한 이름이나 위치를 다르게 표시할 수 있습니다. 이러한 요소는 사용하는 Visual Studio 버전 및 설정에 따라 결정됩니다. 자세한 내용은 Visual Studio 설정을 참조하십시오.
사전 요구 사항
이 연습을 완료하려면 다음 구성 요소가 필요합니다.
지원되는 Microsoft Windows 및 SharePoint 버전.자세한 내용은 SharePoint 솔루션 개발 요구 사항을 참조하십시오.
Visual Studio
Microsoft Office SharePoint Designer 2010
대상 SharePoint 하위 사이트 만들기
먼저 SharePoint Designer의 다시 사용할 수 있는 워크플로를 호스팅할 하위 사이트와 변환된 워크플로를 호스팅할 하위 사이트 등 두 개의 새로운 SharePoint 하위 사이트를 만듭니다.
SharePoint 하위 사이트를 만들려면
SharePoint 디자이너 2010에서 메뉴 표시줄에서 선택 파일, 새 빈 웹 사이트.
에 새 빈 웹 사이트 대화 상자에서 원하는 워크플로 만들거나 http://의 값을 사용 하 여 SharePoint 사이트에 찾아보기열어/ 다음 선택은 확인 단추.
홈 페이지가 나타납니다.
에 하위 사이트 섹션에서 선택 된 새로 단추.
에 New 대화 상자에서 선택 SharePoint 서식 파일 왼쪽 창에서 목록에서 선택 하 고 팀 사이트 목록에서 오른쪽 창에서.
에 웹 사이트의 위치를 지정 상자에서 단어를 대체 하위 사이트 SPD1, URL에서 다음 선택의 확인 단추.
SharePoint Designer에 새 하위 사이트가 열립니다.이 SharePoint Designer 인스턴스를 닫고 첫 번째 인스턴스(최상위 사이트)로 돌아갑니다.
3 - 5단계를 반복하여 둘째 하위 사이트를 만듭니다. 이번에는 URL의 단어 subsite를 SPD2로 바꿉니다.
SharePoint Designer에서 다시 사용할 수 있는 워크플로 만들기
SharePoint에는 이 예제에 사용할 수 있는 다시 사용할 수 있는 워크플로가 없으므로 새로 만듭니다.이 간단한 워크플로에서는 사용자가 특정 제목을 가진 새 작업을 작업 목록에 입력하면 작업이 해당 사용자에게 할당됩니다.
SharePoint Designer에서 다시 사용할 수 있는 워크플로를 만들려면
에 하위 사이트 섹션에서 선택의 SPD1 사이트를 수정 하려면.
리본 메뉴에서 선택 된 재사용 가능한 워크플로 단추.
다시 사용할 수 있는 워크플로 만들기 마법사가 나타납니다.
에 이름 상자에 SPD 작업 워크플로 입력 합니다.
에 콘텐츠 형식 목록에서 선택 작업, 다음 선택은 확인 단추.
SharePoint Designer Workflow Designer에서 워크플로가 열립니다.
워크플로 디자이너에서 1 단계에서 선택 하 고 리본 메뉴에서 다음 선택은 조건 단추.
조건 목록에서 선택한 현재 항목의 필드 값이 같은 경우.
이 단계 라고 하는 조건을 추가 필드 값이 같은 경우.
에 필드 값이 같은 경우 조건, 선택은 필드 링크 합니다.
값 목록에서 선택 제목.
에 필드 값이 같은 경우 조건, 선택은 값 링크 합니다.
상자에 New task를 입력합니다.
이제 조건문이 현재 항목:Title이 새 작업과 일치하는 경우로 표시됩니다.
조건문, 아래 줄을 선택한 후 리본 메뉴에서 선택 된 작업 단추.
작업 목록에서 선택 현재 항목의 필드 설정.
에 필드 값 설정 작업을 선택의 필드 링크를 누른 다음 목록에서를 선택 담당자.
에 필드 값 설정 작업을 선택의 값 연결 하 고 기존 사용자 및 그룹 목록에서 선택 항목을 만든 사용자.
선택 된 추가 단추를 클릭 한 다음 선택은 확인 단추.
이제 동작 문이 담당자를 현재 항목으로 설정:CreatedBy로 표시됩니다.
다시 사용할 수 있는 워크플로 저장 및 배포
Visual Studio에서는 .wsp 파일만 가져올 수 있기 때문에 다시 사용할 수 있는 워크플로를 Visual Studio로 가져오기 전에 .wsp 파일로 저장하고 SharePoint에 배포해야 합니다.
중요 |
---|
다음 절차를 수행하는 동안 런타임 오류가 표시되는 경우 SharePoint 사이트에 액세스할 수 있는 시스템에서 절차를 수행해야 합니다. |
다시 사용할 수 있는 워크플로를 저장 및 배포하려면
SharePoint 디자이너의 맨 위에 있는 선택의 저장 진행을 저장 하는 단추를 누른 다음 선택은 게시 단추는 워크플로를 배포 하는 SPD1 SharePoint 사이트.
탐색 창에서 선택 된 워크플로 개체입니다.
아래 워크플로 다시 사용할 수 있는를 선택 SPD 작업 워크플로.
리본 메뉴에서 선택의 템플릿으로 저장 워크플로.wsp 파일로 저장 하는 단추입니다.
브라우저에서 SPD1 SharePoint 사이트를 열고 SharePoint에서 .wsp 파일을 확인합니다.
빠른 실행 표시줄에서 선택 된 라이브러리 링크 합니다.
에 문서 라이브러리 섹션에서 선택 된 사이트 자산 링크.
SPD 작업 워크플로 파일이 다른 사이트 자산과 함께 나열됩니다.
파일 목록에서 해당 파일의 이름을 선택합니다
에 파일 다운로드 대화 상자에서 선택의 저장 로컬 시스템에.wsp 파일을 저장 하는 단추.
.wsp 파일을 Visual Studio로 가져오기
다시 사용할 수 있는 워크플로 가져오기 프로젝트를 사용하여 .wsp 파일을 Visual Studio로 가져옵니다.이 프로젝트에서는 워크플로를 다시 사용할 수 있는 선언적 워크플로에서 코드 워크플로로 변환합니다.워크플로가 변환된 후 코드를 사용하여 동작을 수정합니다.
.wsp 파일에서 워크플로를 가져오고 수정하려면
Visual Studio, 메뉴 표시줄에서 선택 파일, New, 프로젝트.
에 새 프로젝트 대화 상자에서 확장의 SharePoint 노드 중 하나에서 C# 또는 Visual Basic, 다음 선택은 2010 노드.
에 템플릿 창에서 선택의 다시 사용할 수 있는 SharePoint 2010 워크플로 가져오기 서식 파일을 프로젝트의 이름 그대로 WorkflowImportProject1, 다음 선택의 확인 단추.
SharePoint 사용자 지정 마법사가 나타납니다.
디버깅에 사용할 사이트 및 보안 수준 지정 페이지에서 이전에 만든 두 번째 SharePoint 하위 사이트의 URL을 http://system name/SPD2로 입력합니다.
에 이 SharePoint 솔루션의 신뢰 수준을 무엇입니까? 섹션에서 선택의 팜 솔루션으로 배포 다음 선택 및 옵션 단추는 다음 단추.
샌드박스가 적용된 솔루션과 팜 솔루션 비교에 대한 자세한 내용은 샌드박스가 적용된 솔루션 고려 사항을 참조하십시오.
에 새 프로젝트 소스 지정 페이지, 시스템에서 이전에.wsp 파일을 저장 한 위치로 이동, 파일을 열 및 다음 선택은 다음 단추.
[!참고]
선택 된 마침 .wsp 파일에서 사용 가능한 모든 항목을 가져올 수 있는 단추입니다.
이렇게 하면 다시 사용 가능한 워크플로 중 가져올 수 있는 워크플로의 목록이 표시됩니다.
에 가져올 항목 선택 상자에서 선택의 SPD 작업 워크플로 워크플로 다음 선택은 마침 단추.
가져오기 작업이 완료되면 SPD_Workflow_TestFT라는 워크플로가 포함된 WorkflowImportProject1 프로젝트가 만들어집니다.이 폴더에는 워크플로의 정의 파일인 Elements.xml과 워크플로 디자이너 파일(.xoml)이 들어 있습니다.디자이너에는 규칙 파일(.rules)과 코드 숨김 파일(프로젝트의 프로그래밍 언어에 따라 .cs 또는 .vb)의 두 개 파일이 있습니다.
솔루션 탐색기, 삭제는 기타 가져온 파일 폴더입니다.
삭제의 Elements.xml 파일에 InstantiationURL="_layouts/IniErkflIP.sspx".
솔루션 탐색기, 선택 WorkflowImportProject1를 누른 다음 메뉴 표시줄에서 선택 프로젝트, 시작 프로젝트로 설정 로 WorkflowImportProject1 시작 항목으로.
이렇게 하면 프로젝트를 디버깅하는 즉시 목록이 표시됩니다.
때문에 다시 사용할 수 있는 SharePoint 2010 워크플로 가져오기 템플릿이 가져온된 워크플로에 대 한 연결 속성 값을 가져올 하지 않습니다, 직접 입력 해야 합니다.이를 위해 다음을 수행합니다.
솔루션 탐색기, 선택은 SPD_Workflow_TestFT 노드.
줄임표를 선택 () 목록 속성 중 하나를 옆에 같이 단추는 대상 목록 속성.
SharePoint 사용자 지정 마법사에서 누락 된 값에서을 입력 하 고 다음 선택의 마침 단추.
.Xoml 파일을 선택 하 고 메뉴 표시줄에서 선택 보기, 디자이너 가져온된 워크플로에 워크플로 디자이너에서 볼 수 있습니다.
에 Windows Workflow v3.0 노드는 도구 상자, 다음 단계 중 하나를 수행:
바로 가기 메뉴를 엽니다의 코드 활동을 하 고 선택 복사.워크플로 디자이너에서 줄 아래에 대 한 바로 가기 메뉴 열기는 SequenceActivity1 활동을 하 고 선택 붙여넣기.
드래그는 코드 활동에서의 도구 상자 워크플로 디자이너에 선 아래에 연결 하 고는 SequenceActivity1 활동.
CodeActivity1이라는 작업이 Workflow Designer에 추가됩니다.이 작업에서는 사용자가 워크플로를 시작할 때 알림 목록에 알림을 만드는 코드 동작을 추가합니다.
다음 단계 중 하나를 수행합니다.
CodeActivity1을 두 번 클릭하여 이벤트 처리기를 생성하고 코드를 봅니다.
에 속성 창 CodeActivity1, 값 설정의 ExecuteCode 속성을 codeActivity_ExecuteCode.
다음 내용을 기존의 using 또는 Imports 문 아래 추가합니다.
Imports Microsoft.SharePoint Imports System
using Microsoft.SharePoint; using System;
codeActivity1_ExecuteCode를 다음 코드로 바꿉니다.
Private Sub codeActivity1_ExecuteCode(ByVal sender As System.Object, ByVal e As System.EventArgs) Try ' Get reference to SharePoint site. Dim site As SPSite = New SPSite("http://MyServer") Dim web As SPWeb = site.OpenWeb("SPD2/") ' Get reference to Announcements list. Dim announcementsList As SPList = web.Lists("Announcements") ' Add announcement to Announcements list for the Task. Dim oListItem As SPListItem = announcementsList.Items.Add oListItem("Title") = ("Assigned task on " + DateTime.Now.ToString) oListItem.Update() Catch err As Exception Console.WriteLine(("Error: " + err.ToString)) End Try End Sub
private void codeActivity1_ExecuteCode(object sender, System.EventArgs e) { try { // Get reference to SharePoint site. SPSite site = new SPSite("http://MyServer"); SPWeb web = site.OpenWeb("SPD2/"); // Get reference to Announcements list. SPList announcementsList = web.Lists["Announcements"]; // Add announcement to Announcements list for the Task. SPListItem oListItem = announcementsList.Items.Add(); oListItem["Title"] = "Assigned task on " + DateTime.Now.ToString(); oListItem.Update(); } catch (Exception err) { Console.WriteLine("Error: " + err.ToString()); } }
프로젝트 배포 및 워크플로 연결
다음으로, WorkflowImportProject1을 실행하여 SharePoint 사이트에 배포하고 워크플로를 작업 목록과 연결하여 수정 및 변환된 워크플로를 보고 테스트합니다.
프로젝트를 배포하고 워크플로를 연결하려면
Visual Studio를 실행 하 고 변환 된 워크플로 프로젝트를 배포 하려면 F5 키를 선택 합니다.
빠른 실행 표시줄에서 선택 된 작업 링크 작업 목록을 표시 합니다.
에 목록 도구 탭에서 선택 된 항목 단추를 클릭 한 다음 선택의 새 항목 단추.
작업-새 항목 대화 상자가 열립니다.
에 제목 상자에서 새 작업을 입력 하 고 다음 선택의 저장 단추.
에 목록 도구 탭에서 선택의 목록 단추를 클릭 한 다음 선택은 목록 설정 단추.
목록 설정 페이지가 나타납니다.
에 사용 권한 및 관리 섹션에서 선택 된 워크플로 설정 링크.
워크플로 설정 페이지가 나타납니다.
선택 된 워크플로 추가 링크 합니다.
에 워크플로 목록에서 선택 WorkflowImportProject1-SPD 워크플로 테스트.
에 이름 상자 SPD 워크플로 테스트를 입력 하 고 다음 선택의 확인 단추.
빠른 실행 표시줄에서 선택 된 작업 목록입니다.
옆에 있는 화살표를 선택한 새 작업, 다음 목록에서를 선택 하 고 워크플로.
에 새 워크플로 시작 섹션에서 링크를 선택 SPD 워크플로 테스트, 다음 선택은 시작 워크플로 시작 하려면 단추.
[!참고]
또는 워크플로 설정 마법사를 실행하고 워크플로를 자동 연결로 설정하여 워크플로를 목록과 자동으로 연결할 수 있습니다.
워크플로에서 두 가지 동작이 수행됩니다. 작업의 담당자 열에 사용자 이름이 표시되고 알림 목록에 알림이 표시됩니다.