나에 대 한 기사를 썼다 SharePointBriefing.com 그리고 그들은 그것 라이브 오늘.
여기 맛보기가입니다.:
</끝>
에 지 저 귐에 나를 따르라합니다 http://www.twitter.com/pagalvin
나에 대 한 기사를 썼다 SharePointBriefing.com 그리고 그들은 그것 라이브 오늘.
여기 맛보기가입니다.:
</끝>
에 지 저 귐에 나를 따르라합니다 http://www.twitter.com/pagalvin
난 어디 InfoPath 양식에서 첨부 파일을 추출 해야 하는 프로젝트에서 작업. InfoPath 양식을 구문 분석에 대 한 몇 가지 좋은 자원 (XML 파일은, 그래서 그것은 실제로 매우 쉽다).
프로젝트를 구축 했다 하는 동안, InfoPath 양식을 다운로드 하 고 나의 현지 하드 드라이브에 저장 하 여 시작. C# 코드는 직접 읽고. 그러나, InfoPath 양식을 SharePoint 양식 라이브러리 안에 살고 정말. 난 조금 반 마음 도서관에서 직접 읽는 방법을 검색 했 고 거의 포기, 어떤 경우에 로컬 임시 디렉터리에 저장 하는 양식을 있고 거기에서 그것을 읽을합니다. 그러나, 라이브러리에서 직접 읽을 수 있습니다 그 농구를 통해 갈 필요가 있다. 이 작은 조각은 보여 줍니다 어떻게:
/// 여기 클래스 정의 물건, 포함 하 여:
개인 SPFile mySharePointFile; /* SPList의 일부 */ // 더 많은 코드는 여기에서 간다와 클래스의 메서드 내에서 우리는: textReader = 새로운 내용 XmlTextReader(mySharePointFile.OpenBinaryStream()); textReader.WhitespaceHandling = WhitespaceHandling.없음; textReader.Read(); // 노드 값을 가진다면 하는 동안 (textReader.Read()) { |
그들은 중요 한 비트 위에 우리는 OpenBinaryStream 통해 직접 InfoPath를 읽을 수 있다 이다() XmlTextReader에 생성자에 매개 변수로 SPFile에 호출 하는 메서드. 그것은 위대한 작품.
</끝>
에 지 저 귐에 나를 따르라합니다 http://www.twitter.com/pagalvin
InfoPath 및 워크플로 활용 하 여 클라이언트에 대 한 비용 항목 솔루션을가지고. 승인 과정에서 한 시점에서, 스스로 첨부 파일 뿐만 아니라 좋은 InfoPath 데이터의 모든 이메일을 생성할 필요가 있도록 (한숨) 누군가가 그 데이터를 수동으로 다시 Oracle 데이터베이스 응용 프로그램에 키.
그것은 매우 어려운 하거나 InfoPath 양식을 구문 분석. 첨부 파일을 처리 하는 방법을 몰 랐 어 요, 그러나. 한 시간이 나 두 인터넷 주위를 파고의 후 (영원!) 이 기사를 발견: http://support.microsoft.com/kb/892730
그것은 제공 하는 몇 가지 편리한 코드 형태로 노드에서 첨부 파일을 추출 하. (당신은 여전히 노드와 모든 것을 찾이 필요가, 하지만 그건 그냥 XML 구문 분석).
첨부 파일은 base64 인코딩 및 원래 그냥 추출 경로 내려 갔다 알고는 base64 데이터, 그것을 해독 하 고 그것을 저장. 그러나, 신속 하 게 위에서 언급 한 문서를 찾을 때까지 파일 이름 자체를 얻을 하는 방법을 몰 랐 어 요 깨달았다.
난 실제로 꽤 일찍 발견 했다, 하지만 그것의 다중 인격에 의해 연기 되었다. 한 손에, 문서 * 말한다 * InfoPath에 대 한 좋은 2007. 아직, Visual Studio에 대 한 모든 코드와 지시는 2003 그리고 InfoPath에 대 한 참조 2003.
히 프 라인, 제공 문서 코드 나를 위해 잘 작동 (지금까지). 난 내 InfoPath 양식을 얻을 수 있습니다., 그것을 구문 분석할 수 있습니다, 내가 찾아서 첨부 파일을 해독할 수 및 나의 이름을 알고합니다. 더 수 있는 하나 하나의 생명의 요청?
</끝>
에 지 저 귐에 나를 따르라합니다 http://www.twitter.com/pagalvin
SharePoint 환경의 태 드 건강 수 있다는 걱정이 되 면, 당신이 그 문제를 해결 하는 데 도움이 하자 건강 체크.
Infopath를 사용 하 여 폼 기반 인증에서을 구현 해야 하는 비용 승인 프로세스를가지고 (FBA) forms services를 사용 하 여 환경 (웹 기반 InfoPath).
거기에 두 개의 승인 그룹 및 프로세스가 작동 하는이 같은:
사물의 InfoPath 측면에, 나는 다른 섹션 숨기기/표시 되는 사용자 승인 그룹 중 하나의 구성원 인지에 따라.
FBA 환경 사용자 이름에서() 함수는 항상 빈 반환 합니다., 슬프게도. 내가 무슨 짓을 했는지를 설정 한 사용자 지정 목록 "승인 그룹" 이라고.
목록에 열을 추가 하지 마십시오.
때 양식을 열어합니다, 이 같은 규칙은:
여기는 "" 필드의 값 설정:
이 기본적으로 말: 승인 그룹 사용자 지정 목록 쿼리 및 필터에 대 한 보고 쿼리 하 행 어디로 타이틀의 가치 = "북유럽".
어떤 값을 반환 하는 경우, 그런 다음 현재 사용자가 해당 그룹의 구성원. 문자열 길이가 0 보다 큰 있기 때문에 해당 값을 포함 하는 것이 난.
승인 그룹 목록에서 개별 항목을 확보 하 여 루프를 닫습니다. 실행 시간에, 현재 사용자가 없는 경우 해당 항목 다음 쿼리에 대 한 적절 한 보안 액세스 그것을 반환 하지 않습니다., 문자열 길이가 0이 될 것입니다 그리고 지금 당신은 현재 사용자는 해당 그룹의 일부가 아닙니다.. 폼에서 필요에 따라 그 사실을 사용할 수 있습니다..
이것은 슈퍼 간단한 기사. 난 시간이 촉박 해요 또는 더 많은 정보를 제공 하는 것.
FBA 환경에서 내가 어떻게 관련은 몰라. 이 아마 비 FBA 환경에서 잘 작동 하지만 난 경우가 도움이 될 것 이라고 상상할 수 있는.
</끝>
에 지 저 귐에 나를 따르라합니다 http://www.twitter.com/pagalvin
오늘 InfPath 폼에 근무 하 고 옛 친구에 대 한 실행, "처리 되지 않은 예외를 렌더링할 때 양식 System.Xml.XmlException: 예기치 않은 끝의 파일 이름을 구문 분석 하는 동안 발생 했습니다. "
이 나에 게 오래 전 일이 고 정확 하 게 내가 그것을 해결 하기 위해 무슨 짓을 했는지 몰라. 솔직히, 새 프로젝트를 전환 되었습니다 했다 그리고이 하나 해결을 본 적이 생각 (내 교체는 두통을 다뤄야 했다). 그것은 문제의 악마 기억 나요. 나 그것을 다루는 여러 실패 한 일을 보냈다. 그 이후, 지난 한 해 동안 적어도 한 번 MSDN 포럼에 올이 결코 진짜로 그것에 대 한 대답을 보았다을 보았다합니다.
내가 공을 오늘 그리고 다행히도이 시간 , 난 그냥 폼에 변화를 만들 었. 그 변화는 밖으로 백업 하 고 문제가 멀리 갔다. 그것은 밝혀 지 만들 수 있다는 한 울타리의 양식 서버 쪽에서 구문 분석 오류를 생성 하는 방식으로 InfoPath 디자이너를 사용 하 여 서식 파일에서.
내 경우에는, 문제는 이러한 단계에 의해 발생 했다:
이러한 단계를 문제가 발생할 경우 몰라 아니면, 어떻게든 데이터 목록 자체에 문제가. 내가 조금 실험 및 downt를 못 수 내가 볼 거 야 그 어떤 자세한 정보와 함께 매개 변수.
</끝>
에 지 저 귐에 나를 따르라합니다 http://www.twitter.com/pagalvin
InfoPath 양식의 세계에 살고 아직도 하 고 폼을 그 "작은" 변화 중의 하나를 만들 필요가 있는, 불행 하 게도, 2 주 전 그것을 채택 하는 명명 규칙을 나누기. 나 혼자 생각, "누군가가 이제와 말에서 올해이 이걸 보면, ' 폴 생각 했다? 정돈 하 여, 그의 명명 규칙은 일리가 없다!”
이 폼에 대 한 뷰를 만들 수 실현 그리고, 다시 한 번, 그 수 있었나 모두 함께이 같은 것을 실현. InfoPath 양식 같은 "개발자 노트" 보기를 추가:
사용자가 보기에 액세스할 수 없습니다 있도록 양식을 구성한 따라서, 그것은 디자인 보기에서 InfoPath 클라이언트와 볼 수만. 이제 기분이 좀 몇 가지 미래의 알 수 없는 개발자 내 폼 보고 나에 대해 생각 나쁜 생각에 대 한 접종. 휴!
</끝>
에 지 저 귐에 나를 따르라합니다 http://www.twitter.com/pagalvin
InfoPath 단계를 통해 갈 것 어디, 블루의, 잔뜩 폼을 만드는 오전. 내 손가락 도구를 잘 사용 하는 방법을 학습과 다음 9 달 가뭄을 통해 갈 고 다시 온통 그것을 배울 수 있다.
InfoPath 위상의 중간에 있어 그리고 내가 조회 많은 InfoPath 양식을 만드는. 한 가지 당신이 아마 Infopath는 통지 2007 클라이언트는 알파벳 순서로 보기를 보여 줍니다.. 이것은 진짜 성가신 몇 번. 내 최고의 기술을이 요즘 그들은 항상 내가 원하는 순서 대로 표시 되도록 보기 이름에 숫자를 추가 하는 것입니다., 여기에서 보이는 것과 같이:
나 하 고 있었다이 모두 함께 하는 것이 좋겠다.
</끝>
에 지 저 귐에 나를 따르라합니다 http://www.twitter.com/pagalvin
일부 InfoPath 양식 FBA 환경에서 MOSS에서 이번 주에 노력 하 고 배 웠 있 었 어 요, 배포에 갔을 때 한 FBA와 프로덕션 환경에 양식 영역을 사용자 이름() 기능 함수 작동 하지 않습니다.. 고유한 파일 이름을 생성 하 그것을 사용 했다.
음, 함수 FBA 환경에서 작동 하지 않습니다 (적어도, 안 상자의). 그리고, 반사에 따라, 계획 했던 방식으로 사용자 이름을 사용 하지 않았을 보장 고유한 파일 이름을 어떤 이벤트.
지금 사용 하는 내 솔루션() 함수 및 폼의 로드에 발생 하는 규칙. 때 빈 나 데이터 요소에 파일 이름 할당:
이 방법의 장점은 파일 이름은 한 번만 설정 됩니다.. (화면에 그것을 보여주지 않습니다., 하지만 "myFilename"이 비어만 불 규칙에 조건을 넣어합니다). 파일 이름을 데이터 원본 수준에서 설정 하는 데 사용. 일반적으로, 뭔가 할 것 (나쁜) 이것처럼:
그 문제는 월요일에 양식을 사용자 A와 사용자 B가 화요일에 변경 하는 경우, 두 사용자가 서로 다른 사용자 이름으로 저장 한 이후 두 개의 다른 형태의 끝날 거 야.
그래서, FBA 수 일반적으로 Infopath와 특히 짜증나 서, 그것은 작지만 정말 중요 한 기술적 세부 사항 및 접근 난 그렇지 못했을 다시 내게 했다!
</끝>
에 지 저 귐에 나를 따르라합니다 http://www.twitter.com/pagalvin
이 같은 일반적인 비즈니스 시나리오는:
Office.microsoft.com 예제 별도 "보기를 만드는 방법을 설명 합니다." 읽기 전용으로 전체 보기 표시. 이것은 실행할 수 있는 접근 하지만 효과적으로 동일한 폼의 두 전체 버전을 만들었습니다 고 합니다 지금 그들을 동기화 수동으로 단점이 있다. 편집 가능한 뷰에 필드를 추가 하는 경우, 다음 또한 편집할 수 없는 보기에 추가 해야 합니다.. 시간이 지남에, 다른 개발자와, 일부 차이가 있을 수 있습니다..
이 대체 어떤 경우에 더 나은 작동 수 있습니다.:
이 방식의 단점은 모든 필드를 여전히 화면에 편집 가능한 수. 사용자는 그들 실제로 콘텐츠를 변경할 수 있습니다. 잘못 된 인상을 얻을 수 있습니다.. 양식을 비활성화는 일부 텍스트에 넣어을 줄일 수 있습니다., 페이지의 상단에 걸쳐 큰 붉은 글자에 가능성이.
한 프로젝트에서, "워크플로 상태를 만든" 보기. 워크플로 진행, 그것은 특정 상태 필드를 양식에서 승진 했다 업데이트. 사용자는 폼을 열 때, "열기 폼" 규칙 자동 전환 보기와 사용자 했다 좋은 작은 요약 상태.
</끝>
우리는 개발 했다 여러 뷰를 지 원하는 새로운 고용 된 InfoPath 양식 / 온 보 딩 프로세스. 회사는 새로운 사람을 고용 하는 때, IT 부서 및 다른 그룹 행동을 취할 필요 (급여를 설정, 적절 한 응용 프로그램에 액세스할 수 있도록, 책상을 찾습니다, 등). 각 기능에 대 한 폼 양식의 다른 보기에 사용.
이 회사에서, 비즈니스 프로세스에 관련 된 사람들의 대부분은 IT에 정통한, 그래서 폼에 액세스할 때, 그들의 기본 뷰는 메뉴"" 그들의 특정 기능에 직접 버튼 보기. 그러나, 우리는 새로운 고용의 직접적인 관리자에 대 한 것 들을 단순화 하는 데 필요한. 이 사용자는 IT 관련 물건 볼 수 없습니다.. 사실, 그녀 폼의 다만 1 개의 보기를 참조 해야 하 고 심지어 다른 뷰를 참조 하는 옵션을가지고.
우리의 경우, 직접 예의 형식으로 관리자의 계정에 직접 연결 된 연락처 선택기 (항상 "사용자 선택 전화 걸려 있는" 몇 가지 이유).
단계는 다음과 같습니다.:
1. 디자인 모드에서, 도구-이동> 양식 옵션-> 열기 및 저장.
2. "규칙"을 선택.
3. 그 작업은 "보기 전환 새로운 규칙 만들기" 그리고 그 조건을 활용 사용자 이름() 함수.
사용자 이름() "단순 반환 합니다." 사용자 이름에 도메인 없이. 자격 증명 "domainpagalvin"으로 SharePoint에 로그인 하는 경우, 사용자 이름() "pagalvin"를 반환 합니다..
연락처 선택기 3 비트의 연락처에 대 한 정보를 제공합니다.. "AccountID" 이 시나리오에 대 한 가장 유용한 부분은. 유일 하 게도 약간에 게 도전의 연락처 선택기 (내 환경에서 어쨌든) 도메인 및 사용자 ID를 반환 합니다., 마찬가지로 "domainpagalvin". 이 AccountID 이후 직선-앞으로 평등의 조건 하에서 우리를 방지합니다 ("domainpagalvin") 사용자 이름 같은 결코 것 이다() ("pagalvin").
우리가이 사용 하 여 주위를 얻을 수 있는 "포함" 연산자: AccountID는 사용자 이름 포함().
우리가 취할 수 있는 더 그것 그리고 전 보류 사용자 이름 앞에서 하드 코딩 된 도메인() 우리의 일치 검사 하 고 가양성의 위험을 제거 하는 함수는 연산자를 포함.
우리 정말 처럼 했 그들의 광고 보안 그룹 구성원에 따라 다른 사용자에 대 한 보기를 자동으로 전환. 예를 들어, 때 "그것은 분석의 구성원" 그룹 형식 액세스, IT 분석 보기로 자동 전환. 우리는 그것을 구현 하는 시간이 없, 하지만 내 첫번째 생각은 "IsMemberOfActiveDirectorySecurityGroup"와 같은 메서드는 웹 서비스를 만드는, 사용자 이름에 전달() 다시 true 또는 false를 반환 하 고. 누군가에 어떤 다른, 더 영리한 아이디어? 우리는 그 결정을 만들기 위해 InfoPath에서 활용할 수 있는 모든 SharePoint 기능이 있다?
</끝>