카테고리 아카이브: SharePoint 워크플로

사이트를 만들 (SPWeb) SharePoint Designer 워크플로 통해

이 블로그 항목은 더는 "가능한 영역에서" 항목 비교. 구체적인 정보.

우리는 우리가 수동으로 시작된 워크플로 프로세스를 통해 사이트 모음에서 사이트를 만들 수를 호출 하는 기술적인 디자인. 기본적으로, 사용자가 "새 고객 데이터 입력" 사용자 지정 목록 그리고 때 그들은 완료 하 고 데이터 입력 과정을 검증, 우리는 고객에 대 한 사이트를 만들 필요가.

나는 둘 다 선언적 워크플로의 큰 팬 뿐만 아니라 약한 visual studio 워크플로 프로그래머, SharePoint Designer를 사용 하 여 요구 사항을 충족 하 고 싶 었 그래서.

나는 이것에 대해 더 자세히 작성 계획 (사용자 그룹 또는 두 내년에 희망 제시), 하지만 여기에 전체 솔루션:

  • SPD와 통합 하는 사용자 지정 작업 만들기.
  • 사용자 지정 작업 허용 SPD 웹 서비스를 호출 하 여 XML의 문자열 전달.
  • 웹 서비스 사용자 지정 목록에서 행을 찾습니다 및 사용자 지정 사이트 정의 사용 하 여 새 클라이언트에 대 한 데이터에 따라 새 사이트를 만듭니다..
  • 웹 서비스는 다음 업데이트 사용자 지정 목록을 새 사이트에 대 한 링크와 같은 일부 정보.

우리는 다른 접근을 고려, 이벤트 처리기 등 visual studio 기반 워크플로. SPD 접근 제어할 우리의 최종 사용자가 좀 더 과정. 부여, 이 솔루션에 C# 코드의 많은, 선언적 워크플로 내부 포장 하지만, 그래서 우리가 좀 선언적 워크플로 혜택 사이트-창조 서비스에 연결 하는 동안.

지금 필요한 것은 비주얼 스튜디오 워크 플로우를 위해 가능한 한 쉽게 SPD 워크 플로우를 자동으로 마이그레이션 할 수있는 쉬운 도구이며 우리는 정말 가스로 요리 할 것입니다 🙂 일부 사람들이이 문제를 해결하고 있다는 것을 이해하고 있습니다. 곧 그것으로 좋은 성공.

</끝>

내 블로그를 구독.

테크노 태그: ,

SharePoint Designer 워크플로 웹 서비스와 통합

나 놀 았 던 SharePoint 디자이너에 대 한 사용자 지정 작업으로 일부 시간에 대 한 (여기를 참조 하십시오. 자세한 것 들에 대 한, 관심 있는 경우).

현재 프로젝트 내에서, 우리는 몇 가지 상당히 무거운 할 필요가 우리 하 고 SPD 선언적 워크플로 사용 하 여 관련된 비즈니스 프로세스를 관리.

길고도 짧은 이야기, 이것은 전적으로 가능. 나 "도우미 서비스를 호출 하 내 Codeplex 프로젝트 확장" 그리고 지금 우리는 SPD 워크플로에서 직접 웹 서비스를 호출할 수 있습니다..

여기는 서명이입니다.:

 공용 문자열 발송자(
        Guid WebID, // 런타임 환경에 의해 전달
        Guid SiteID, // 런타임 환경에 의해 전달
        문자열 ListID, // RTE에 의해 전달 (몰라 왜이 문자열, GUID를)
        int ListItemID, // RTE에 의해 전달.
        문자열 XmlMessage) // SPD에서 선언 된 사용자에 의해 전달.

이 사실은 우리가 중요 한 워크플로 정보에서 얻을 수 있는 활용, 사이트 처럼, 목록 ID, 등. 이것은 물론 당신의 자신의 사용자 지정 작업을 만드는 데 관심이 여러 장소에서 문서화 되어. 사용자는 적절 한 절차에 의해 제공 된 XML 문자열을 추출 하는 아이디어는. 재미 있는 물건!

슬프게도, 이것은 분명 아래로 편도 "Loosey Goosey" anti-pattern 토지, 하지만 벽돌 벽을 치는 것보다 낫다 🙂

경우에 비록 당신이 알고 있는 처럼 그것이 당신이 그것을 할는 처럼 그것은?

가까운 장래에 이것을 Codeplex 내부 포장 하도록 하겠습니다.. 당신이 그렇게 하 고 나 한 테 관심이 있다면, 구멍을 줘 (메일 주소 코멘트 남기기 또는) 그리고 나는 그것을하는 것에 대해 더 열정적 일 것입니다 🙂

</끝>

내 블로그를 구독.

테크노 태그: ,

SPD 워크플로 “사용자 로부터 데이터 수집”: 생성 된 작업 폼 수정

5 다른 SharePoint Designer 작업 흐름을 사용 하 여 일부 문서 승인 처리를 한 프로젝트에서 일하고 있어요. SPD는 사용자에서 "수집 데이터를 제공합니다." 액션 우리가 다른 비트의 정보에 대 한 사용자 프롬프트 수 있도록, 그들은 그것을 승인 여부와 같은, 댓글이 아마 그들은 그날 밤 저녁 식사를 위한 했다 요청.

형태는 완벽 하 게 기능. 그들은 콘텐츠 형식으로 작업 목록에 연결. 그들은 100% 시스템에서 생성 된. 이것은 그들의 힘과 약점. 우리가 기본 폼과 함께 살 수 있다면, 그럼 우리 갈 수 있어요. 그러나, 우리는 SPD는 폼을 만드는 방법을 너무 많은 제어를 하지 마세요. 우리는 기본 동작을 좋아하지 않는 경우, 우리는 다양 한 트릭을 그것의 주위에 필요 (예를 들어, 작업 우선 순위 설정).

보기 속성을 열어 이러한 작업 형태에 대 한 링크를 제공 하는 데 필요한 (dispform.asxp) "관련 항목" 새 창에서. 관련된 항목의 메타 데이터에 대 한 한-클릭 액세스를 제공 하는이. 이것이 무슨 말인지:

이미지

고맙게도, 우리가 할 수 있는 그리고 그것은 매우 어려운. 광범위 하 게 말하기, SPD 불, 워크플로 파일이 있는 디렉터리로 이동 하 고 수정 하려면 ASPX 파일. 이들은 단지 고전적인 XSL 변환 지침과 itemstyle.xsl와에 대 한 청소 했습니다 경우, 검색 이나 다른 XSL 시나리오, 이것은 당신을 위해 쉬울 것 이다. 사실, 생성 된 형식은 다소 쉽게 검색 핵심 결과 웹 파트에 비해 따라 이후 일반적으로 쉬울 것 발견 (또는 악몽 CWQP).

물론, 1 개의 중요 한 함정이 있다. SPD의 워크플로 편집기 파일 완전 한 억제 기대. 당신이 그것을 수정 하는 경우, SPD를 변경 줄 오른쪽 상황의 설정 행복 덮어씁니다.. 내가 얼마나 나쁜이 얻을 수 있는지 두 빠른 테스트. 그들은 둘 다 당신이 유효한 SPD 워크플로 사용자에서 "수집 데이터를 사용 하 여 만들어진 적 전제" 단계.

테스트 1:

  • ASPX 파일을 직접 수정.
  • 그것을 테스트합니다 (변경 내용을 올바르게 저장 하 고 아무것도 어기지 않 았 어 확인).
  • 워크플로를 열고 없는 동작 추가 ("역사에 로그"와 같은).
  • 워크플로 저장.

결과: 이 경우에, SPD는 다시 폼을 생성 하지 않았다.

테스트 2:

  • 으로 동일한 작업을 수행합니다 #1 제외 하 고 직접 수정 사용자에서 "수집 데이터" 액션.

결과: 이 다시 처음부터 양식을 만듭니다., -변경 사항을 작성.

마지막 노트:

  • 두 개 이상의 SPD 작업 이렇게 형성: "사용자 로부터 데이터를 수집" "할 항목 할당". 이러한 작업의 둘 다’ 폼을 수동으로 수정할 수 있습니다..
  • 때문에 내 링크 dispform.aspx 생성할 수 있었다, 이 경우에, 관계 항목은 항상 관련된 항목의 URL에 포함 된 ID는. 내가 그것을 추출 하 고 다음 빌드 수 있었습니다 한 <a href> 클릭 한 메타 데이터 액세스 기능을 제공 하기 위해 그것에 따라. 그것은 가능성이 귀하의 URL이이 규칙을 따릅니다.. 관련된 항목의 ID를 얻으려면 다른 방법이 있을 수 있습니다 하지만 난 그 다리를 건너 없, 모르겠어요 그래서 틈의 반대편에 도달.
  • 조사 하지 않았다, 하지만 난 놀라지 않을 것 이다 어떤 종류에서 서식 파일의 경우는 12 SPD가 기본 폼을 생성 하는 방법에 영향을 수정할 수 있는 하이브 (경고 서식 파일을 수정할 수 있습니다 처럼).

</끝>

내 블로그를 구독!

솔루션 (일종의): SharePoint Designer를 사용 하 여 작업에 우선 순위를 설정

이 같은 비즈니스 시나리오를가지고:

  • 사용자가 문서 라이브러리에 문서 업로드.
  • 콘텐츠 형식을 선택 하 고 필요에 따라 메타 데이터 입력. 메타 데이터 필드 중 하나는 플래그, "긴급".
  • 이 SharePoint Designer 워크플로 트리거하는, 다른 것 들 중, 수집 데이터에서 사용자 "를 사용 하 여" 액션.

"사용자 로부터 데이터를 수집" 그 문서에 대 한 승인을 요청 하는 작업 목록에 항목을 만듭니다..

승인에 대 한 긴급 요청 했다 작업 목록 보기를 만드는 데 필요한.

솔루션: 단어 "긴급 넣어:" 이러한 작업의 제목으로.

우선 순위 필드를 직접 지정을 선호 했 나. 그러나, 여러 가지 이유로 그렇게 하지 못했습니다.:

  1. 데이터 수집 작업 제목 제외한 모든 필드를 업데이트 하는 메커니즘을 제공 하지 않습니다. (그리고 데이터를 수집 하려는 추가 필드).
  2. "할당 한 항목을" 액션 같은 문제가 있다.
  3. 목록에 항목을 삽입 하는 것이 가능 하다 (즉. 작업 목록에 항목을 직접 삽입) 하지만이 아니라 차단 작업. 즉, 워크플로 작업을 완료 하려면 사용자에 대 한 기다릴 것입니다..

내가 전에 몇 가지 접근 고려 (고맙게도) "긴급 넣어 우리가 그냥 수 실현" 제목에.

  1. 새 작업이 만들어질 때 작업 목록에 워크플로 시작, 그것은 어떻게든 교차 참조 다시 첫 번째 워크플로 시작 문서, 긴급 한 플래그 값을 당겨 하 고 필요에 따라 우선 순위를 업데이트.
  2. 이벤트 수신기와 비슷한. 에 작업의 생성, 관련된 문서 및 필요에 따라 업데이트 우선 순위를 찾습니다.
  3. 사용 하는 "목록 항목 만들기" 필드 변경에 대 한 "대기와 함께 작업" 액션 및 이벤트 수신기. 우리는 목록 항목을 만들 경우, 우리는 우리가 원하는 모든 필드를 지정할 수 있습니다.. 이벤트 수신기를 사용 하 여 사용자 작업 및 대기 시간"필드 변경 완료 되 면 원래 항목 업데이트" 액션의 조건이 충족 될 것 이라고 하 고 워크플로가 진행 것. (몇 가지 이유, 내가 더 많거나 적은 잠시 동안 걸어 현명 하 게 결정 하기 전에이 방법에 정착 했다).

내 솔루션에 단점이 (이외에도 분명 한 사실 타이틀의 텍스트만 나타냅니다 긴급). "수집 의견부터" 하드 코드 된 제목 이름 허용, 두 개의 다른 수집 피드백 작업의 유일한 차이점은 하드 코딩 된 제목 사용 해야.

하지만, 적어도 이벤트 수신기 또는 사용자 지정 SPD 작업을 요구 하지 않는 솔루션이입니다..

만약 누군가가 더 영리한 방법으로 이것을 해결 했다, 내게 알려 주십시오.

</끝>

신속 하 고 쉽게: 자동으로 SharePoint 디자이너 이메일에서 InfoPath 양식을 열으십시오

업데이트: 이 링크에서 지적 Madjur Ahuja는 뉴스 그룹 토론: http://msdn2.microsoft.com/en-us/library/ms772417.aspx. 그것은 꽤 확실 한.

===

우리는 종종 SharePoint Designer 워크플로에서 보낸 이메일에 InfoPath 양식에 대 한 하이퍼링크를 포함.. 사용자가 이러한 이메일을 수신 하는 때, 그들은 이메일에서 링크를 클릭 하 고 InfoPath 양식을 직접 이동 수 있습니다..

나를 위해 작동 하는이 괴물 URL 건설:

http://server/sites/departments/Technical Services/InformationTechnology/HelpDesk/_layouts/FormServer.aspx?XmlLocation=/sites/departments/Technical Services/InformationTechnology/HelpDesk/REC REM RED Forms/REC2007-12-18T11_33_48.xml&소스 = http : / /server .corp .domain .com /sites /departments /Technical %20Services /InformationTechnology /HelpDesk /REC %20REM %20RED %20Forms /Forms /AllItems .aspx&DefaultItemOpen = 1

폼의 이름을 굵게 빨간색 텍스트를 바꿉니다, 다음 스크린 샷에서 같이:

이미지

참고 해당 URL에 하드 코딩 된 경로 많이, URL 인코딩 구성 요소 뿐만 아니라. 만약이 귀하의 특정 상황에 번역 하기 너무 어렵다, 양식 라이브러리에 대 한 경고 설정 시도. 게시는 폼과 이메일을 받을 때, 이메일의 소스를 확인 하 고 포함 하는 데 필요한 모든 표시 됩니다..

기민한 독자 링크를 직접 액세스 하는 필터링 된 보기를 통해 작업을 표시 하는 위의 이메일 본문을 알 수 있을. 미래의 게시물에서 더 자세히 설명 하려고.

</끝>

테크노 태그:

모스 하더군요 “액세스 거부” 워크플로 작업을 편집 하려면, 하지만 정말 액세스

"사용자가 NT_AUTHORITYAuthenticated 주로 읽기 전용 사이트에서 SharePoint Designer를 사용 하 여 워크플로 구현 했습니다." (즉. 모두). InfoPath 양식에 대 한 양식 라이브러리는. 거기는 관련된 워크플로 작업 목록을 뿐만 때 워크플로 동작, 그것은 사람들에 게 작업을 할당할 수 있습니다..

인증 된 모든 사용자 양식을 만들 하 고 그들의 할당 된 작업을 업데이트할 수 있도록 양식 라이브러리와 작업 목록에 대 한 허가 휴식.

난 내 낮은 권한 테스트 계정으로 테스트.

내가 채울 수 있는 양식 라이브러리에 저장? –>

전자 메일 링크에서 작업을 액세스할 수 있습니까? –>

편집 워크플로 작업 링크를 볼 수 있나요 –>

그 링크 클릭 수? –> 없음 … 사용 권한이 거부 되었습니다.

나 내가 그것을 클릭할 때 사용 권한 거부 편집 링크를 볼 수 있는 이유는? 그건 어떻게 그것은 안 되는 일…

다시 보안 구성을 통해 이동, 매우 밀접 하 게. 난 다시 그것을. 이 게시물을 삭제 하는 것이 좋습니다. 분명히 보안에 대해 아무것도 모르기 때문에.

마지막으로, 인터넷 검색. 저도이 어처구니가 MSDN 포럼 스레드: http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=1838253&SiteID=17

포스터는 드라이브 플래터에는 워크플로 수출 하는 간단한 행위 모스 보안 문제가 해결 됩니다 제안 수를 표시합니다? 난 거의 내가 그냥 그 입력 한 믿을 수 있습니다.. 나에 대 한 사우스 파크 에피소드 생각나는 9/11 스탠 우리의 Preznit 요구 하는 음모, "정말?" 반복.

그래서, 잃는 것을 아무것도, SPD를 해, 워크플로 마우스 오른쪽 단추로 클릭 하 고 내 c에 저장:\ 드라이브. 그는 c 것:\ 내 노트북에 드라이브. 내가 찾고 있어요 내 어깨 너머로 내내 그렇게 아무도 나 한 테 물어 것입니다., "왜 당신을 저장 하는 해당 워크플로 노트북?"

믿을 수 없을 만큼, 그는 내 문제 해결. 작업을 편집할 수 있습니다..

이로써이의 가장 기괴 한 워크플로 대안을 지명 2007.

</끝>

테크노 태그:

SharePoint Designer, 현재 항목 “인코딩된 절대 URL” 및 HTTPS

우리 자주 문서 워크플로 트리거한 항목에 하이퍼링크를 포함 하는 이메일을 보내 싶어요. 우리는 현재 항목의 "인코딩된 절대 URL을 사용할 수 있습니다." 이 목적을 위해. 그러나, 그것은 항상 "http를 사용 하는 것" URL 프로토콜에 대 한. 귀하의 사이트를 HTTPS에 실행 하는 경우 다음 그것은 작동 하지 않습니다 당신을 위해.

이미지

내가 알기로, 아무 밖 상자이 문제를 해결 하려면이의 있다. HTTPS를 사용 해야 하는 경우, 상자 옵션 밖에 없다.

그것을 해결 하기 위해, 워크플로에서 사용 하는 문자열 바꾸기 기능을 제공 하 여 사용자 지정 동작을 만듭니다. 또는, 여기 우수한 패키지와 같은 제 3 자 도구를 사용 하 여: http://www.codeplex.com/spdwfextensions 🙂

</끝>

SharePoint 디자이너 이메일 전송 ???? 이메일에

때때로 포럼 사용자에 게 묻지: SharePoint Designer는 왜 넣어 ???? 필드 값 대신 내 이메일에?

이런 이유 중 하나는 당신이 참조 변수가 null 이기 때문에.

"현재 항목에서 필드를 참조 하려고 하기 때문에 발생할 수 있습니다." 사용자는 양식 필드에 값을 입력 한 적 하지만.

<끝 />

테크노 태그:

비교 / SharePoint Designer 워크플로의 빈 날짜에 대 한 테스트

시나리오: SharePoint Designer 워크플로의, 날짜 필드가 비어 있으면 확인할 필요가.

문제: SPD는 날짜 이외의 날짜를 비교 하기 위한 직접 메서드를 제공 하지 않습니다.. 이 같은 조건을 만들 수 없습니다.: "만약 [DateField] 빈 같음 ".

솔루션: 날짜를 문자열로 변환. 문자열 비교를 사용 하 여 빈 날짜 인지 확인 합니다..

스크린 샷:

이 작업을 수행 하는 방법을 보여 줍니다 다음 스크린 샷. 이 시나리오에서, 항목 필드, "환경 허가:먼저 알림 날짜 허용 ", 제출 및 워크플로가 응답에서 발생.

이미지

이미지

노트:

나는 이것을 시도 하는 때, 내가 즐겁게 놀 랐 작동 배울 수. SharePoint Designer 문자열 할당 허용 하지 않을 수도 있습니다 걱정 했는데 (변수:StringReminderDateDate) 하지만 그것을 허용 했다.

나는 또한 그 허용 우려, 값은 null 및 WF 런타임에 어느 타격 또는 어쩌면 지구 온도 높이 1/2 학위, 하지만 이러한 우려 설립 했다.

</끝>

테크노 태그:

SharePoint Designer 워크플로 사용자 지정 작업 — 에 대 한 관찰 <FieldBind 디자이너 유형 =”StringBuilder” … />

이 두 정의 사이의 매우 중요 한 차이점은 그냥 빠른 관찰:

<FieldBind 필드 "InParam1 =" DesignerType = "StringBuilder" Id = "2" 텍스트 = "입력 매개 변수가 #1" />

대:

<FieldBind 필드 "InParam1 =" Id = "2" 텍스트 = "입력 매개 변수가 #1" />

SPD에 이런 표시:

이미지

이런 후자의 쇼 하면서:

이미지

I’m not sure how helpful these screen shots are but I put in the effort to make them so you have to view them 🙂

관찰이: StringBuilder는 문자열을 만들 수 있습니다. (분명히) 문자열 리터럴 및 워크플로 데이터를 함께 혼합 하 여 ("추가 조회를 통해" 왼쪽 아래 모서리에 있는 단추). 추가 조회 단추를 사용 하는 경우, 그것은 삽입 형식에서 토큰 "[%토큰 %]". SharePoint은 사용자 지정 작업을 호출 하는 경우, (나의 경우에서 C# 코드), SharePoint 자체 토큰 전달, 토큰의 값이 아닌. 기본 디자이너 형식을 사용 하는 경우 (두 번째 유형), SharePoint는 토큰을 확장 하 고 귀하의 작업을 토큰의 실제 값을 전달.

StringBuilder = 나쁜, 기본 디자이너 형식 = 좋은.

물론, 그건 무슨 내가 정말 아니다.. 그냥 시도 하지 않습니다 하 고 디자이너를 입력할 때 사용자 지정 작업에는 매개 변수를 전달 StringBuilder를 =. 워크플로에서 복잡 한 문자열을 빌드 하려는 경우 앞 기본 디자이너 형식과 체인을 StringBuilder 사용 (덧붙여는 정확 하 게 하나의 이메일 작업을 위한 동적 제목을 만드는, 하지만 그건 또 다른 블로그 항목에 대 한 주제, 싹 싹).

<끝 />