신비한 SharePoint 오류 문제를 해결 하는 방법.

개요:

Windows SharePoint Services에 대 한 사용자 지정 기능을 개발할 때 디버깅 하는 것은 어려운 3.0 (WSS) 또는 Microsoft Office SharePoint 서버 (모스). 주요 범죄자는 SharePoint 일반적으로 표면 거의 진단 정보는 웹 브라우저에 오류가 발생 하는 경우는. 이 블로그 항목을 추가 시스템에서 생성 된 진단 제공할 수 있는 정보 자주 여분의 것을 찾는 방법에 설명 합니다 그 하나 세부의 근본 원인을 식별 하기 위해 필요. 이 문제를 해결 다음 발생할 수 있습니다..

나 큰 성공을 함께 해결 하기 위해이 기술을 사용 달리 신비한 오류.

접근:

SharePoint 진단 로그에서 로그 파일에 많은 정보를 저장 합니다 12 하이브.

"12 하이브" 일반적으로 "C에 위치 해 있습니다.:\프로그램 파일 공통 파일 마이크로 소프트 파일 서버 Extensions12 ". (가능 하다 면 확신 하지는 12 다른 곳에 살고 하이브, 사실).

아이디어는 현재 로그 파일을 찾습니다., 오류를 강제 하 고 로그 파일을 신속 하 게 열. 이러한 로그 파일에 의해 특징:

  • 풍부한 양의 정보. SharePoint는 매우 많은 양의 진단 정보를 생성 하 고 매우 신속 하 게 그 로그 파일에 기록. 당신이 그것을 잡으려고 손가락으로 빨리 해야.
  • 다중성. SharePoint는 단일 로그 파일에 기록 하지 않습니다 하지만 오히려 여러 로그 파일을 생성 하는 순서 대로.
  • 복사 하 고 MS Excel로 잘 붙여.

나의 마음에 드는 방법:

  1. 가리키고 windows 탐색기를 열고는 12 hivelogs.
  2. 수정 된 날짜에 의해 보여 보기 정렬 (가장 최근의 첫 번째).
  3. 최신 로그 파일을 강조 표시.
  4. 웹 브라우저 창에, 강제로 오류를 발생.
  5. 신속 하 게 현재 로그 파일을 열고 내용을 MS Excel로 복사.
  6. 끝으로 점프 하 고 관련 항목을 분석.

기타 참고 사항:

기본적으로, 진단 로그에 위치 하 고 있는 12 hiveLOGS 디렉토리.

MS 모범 사례 (마이크 T 당. 마이크로소프트의) 로그 파일을 별도 하드 드라이브에 저장 해야 하는 상태. 하나는 중앙 관리를 통해 이것을 한다합니다. 시스템 관리자가 할 수 있습니다이, 어떤 경우에 분명히 해야 거기 기본값 대신 로그 파일을 찾을 12 하이브 위치).

이 항목 같은 문제를 해결:

  • SharePoint 워크플로 내부 오류로 인해 시작 하지 못했습니다..
  • (더 많은 시간이 지남에 추가)
  • 이 항목은 워크플로 오류 진단 도움이 되었습니다. (예를 들어. "워크플로 내부 오류 때문에 시작 하지 못했습니다").

모스: 조직에 효과적인 소개

(이 항목 사이의 교차 게시 http://paulgalvin.spaces.live.com/blog/ 그리고 http://blogs.conchango.com)

이 사이트에 게시물 내 자신의 고 반드시 Conchango의 위치를 대표 하지 않는다, 전략 또는 의견.

개요:

이 항목에 큰 몇 가지 배경 정보를 설명 합니다. (3,000 사용자) Microsoft Office SharePoint Server (모스) 모스 기능 세트의 전체 채택 끝나는 롤아웃 및 우리는 프로젝트를 같은 방식으로 클라이언트는 행복 및 경로 아래로 단단히 했어요. 항목의 작성, 우리는 약 50% 프로젝트의 첫 단계 완료. 일 진행으로, 난이 항목을 업데이 트 거 야 및 새 항목을 작성.

이 특정 경우에, 회사 이미 SharePoint Portal Server를 설치 했다 2003. IT 그룹 "보자 아무도 관심의 일종에서 제품 설치" 패션. 그것은 많은 비즈니스 사용자가 신속 하 게 채택 되었다 하 고 대형 기업에서 확실히 대중적 되었다. 당신이 상상할 수 있습니다, 이것은 최고의 출시 전략 (클라이언트가 즉시 승인) 그리고 모스 현장에 도착 했을 때, 클라이언트 "그것을 바로 확인" 그들을 돕기 위해 우리를 고용.

우리가이 프로젝트를 구현 하기 시작 하는 때 우리가 직면 하 고 중앙 질문 중 하나는: 이 클라이언트에 게 이끼를 어떻게 소개 우리? 클라이언트에 이미 SharePoint와 경험을 감안할 때, 우리가 궁금해 하는 — 우리는 "차등 어떻게 해야 합니까" 교육 또는 우리를 지상에서 시작? 주요 사용자와 함께 작업 후, 우리가 결정을 그린 필드 프로젝트 더 이해가 만든이.

그 결정 출발점 주었지만 여전히 남아 우리 기업에 이끼를 밖으로 압 연에 대 한 좋은 전략을 알아내는의 주요 요구 사항. 모스가 큰 동물 … 콘텐츠 관리, 문서 관리, 검색, 보안, 대상, 프로젝트 관리, "멋진 40" 서식 파일, 워크플로, 비즈니스 데이터 커넥터, 등. 큰 조직 이다 사실이 커플을 수 있습니다. 정말 거의 모든 주요 모스 사용할 수 있도록 기능 하 고 엔터프라이즈 범위와 많은 좋은 일 들이 일어나 고 큰 프로젝트의 자질이 있다.

우리 몇 번이 고이 문제에 직면 거 야 … 이끼는 기업 그것의 기업 기능 세트와 도달, 아직도 다소 정교한 클라이언트는 힘든 시간을 정신적으로 그 기능을 흡수, 혼자 그들의 일상에 그들의 큰 분수를 통합 하자.

나는 마법의 문제에 해결책 없어. 나는 대신 우리가 찍은 첫 단계 그냥 주소 성공적인 장기 도입 경로를 그들을 끌는 클라이언트와.

범위:

내가 원하는 그런 이정표 "PoepleSoft 통합을 통해 BDC 완료"로 포함 된 프로젝트 계획을 팀으로, "새로운 크로스-부서별 제품 출시 워크플로 완료" "집행 관리 KPI의 허용", 뭔가 덜 정착 했다. 이것은 그 "없는 말을 하지" 나쁘다. 사실, "덜" 우리는 초기 롤아웃에 대 한 결정은 어디 그들은 우리가 시작 하기 전에 앞서 마일. 우리의 경우, "덜" 바 뀌:

  • 문서 라이브러리를 사용 하 여 간단한 문서 관리, 버전 제어 및 콘텐츠 형식.
  • 효과적인 검색 콘텐츠 형식에 기반 하 고 사전 검색 사용자 지정 (관리 되는 속성을 통해, 예쁜 결과 생산 하는 XSLT, 등).

위의 엔터프라이즈 기능 (그들은 모든 부서 및 사용자에 게 밖으로 굴러 했다 의미), 우리는 다음과 같은 단일 범위 내 미니 프로젝트 추가:

  • BDC 통합 개념 증명.
  • SPD를 통해 만든 여러 단계 및 다중 워크플로우 프로세스.
  • 복잡 한 InfoPath 양식.
  • 일부 비즈니스 프로세스에 대 한 KPI의 부상 (아마 우리의 경우 HR 재능 인수, 하지만 그 변경 될 수 있습니다.).

여기 범위가 아니다. 100% 하지만 우리의 접근 방법의 정확 하 고 여기에 내 목적을 위해 충분 한, 무엇 "효과적인을 생각 설명 하는 것입니다" 전체 모스 채택 황금 길을 확고 하 게 클라이언트를 설정 하는 이끼의 소개.

이 항목에는 단일 항목에 대 한 훨씬 더를 쓰지 않습니다.. 나 이들은 우리의 아치를 만들 전략의 한 부분을 지적 하 고 싶다. 아이디어 제공 하는 고 기능 아직 모든 사용자에 게는 핵심 문서 관리 및 검색 기능을 구현 하는 것입니다., 단순히 대부분의 사용자의 능력을이 초기 단계에서 흡수 되는 다른 코어 모스 기능의 높은 표시 및 높은 대표적인 예. 그러나, 그들은 "밖으로 거기 있을 것 이다" 하나는 다른 사업부의 알 또는 그들에 대해 배울 되며 자신에 대 한 이러한 기능을 원하는 희망, 큰 채용에 지도. 이러한 단일 성공 사례 또한 우리의 판매 팀 "탄약을 제공 하는 역" 성공적으로 두 번째 우승에 대 한, 세 번째 및 n-단계 프로젝트.

우리는 무엇을 소개 했 고 왜?

기준선 엔터프라이즈 요구 사항으로 문서 관리 및 검색에 정착 하는 데, 우리가 정보를 수집을 시작 하는 데 필요한. 실질적인 문제로 서, 이 이해 하는 그들의 문서 및 궁극적으로 이해 하는 콘텐츠 형식에 매핑되는 주변 revolved.

그것은 시각적 측근 없이 콘텐츠 형식을 설명 하기 어려운 발견 했습니다.. CT의 데이터베이스에서 설명 하는 때 더 기술 민속 콘텐츠 형식에 대 한 토론에서 걸을 수합니다 있습니다.. "A CT 비슷합니다 데이터베이스 테이블, 그것은 열과 열 데이터 형식으로 정의 됩니다., CT 데이터 형식을 간단한 정수/날짜 보다 더 포함 하지만, 그러나 또한 "선택" 그리고 "조회" 그리고 같은입니다." 우리 "확장에 대해 이야기 수 있습니다." 콘텐츠 형식, 객체 지향 언어에서 기본 클래스 로부터 기능을 상속 수 하나 처럼. 그러나 이것은 분명히 사람에 대 한 운송 부서 관리자 없는 기술적 배경을 도움이. 즉, 거의 모든 이끼 롤아웃에서 중요.

불확실은 화이트 보드를 사용 하 여. 콘텐츠 형식 및 그려진된 화려한의 아이디어를 제시 했습니다. (또는 이렇게 그들은 것) 콘텐츠 형식의 사진 및 검색 측면에서 당신을 위해 할 무엇 및 어떻게 확장 될 수 있다, 등. 끝에서, 그것은 몇 가지 전구 켜져 있다 느낌지 않습니다., 하지만 결과 화이트 보드 사진 난 장판.

이것은 우리가 우리의 현재 및 지금까지 가장 효과적인 상륙 장소: 이러한 기능을 표시 하도록 구성 된 모스 샌드 박스 사이트.

샌드 박스 사이트를 사용 하 여, 우리가 보여:

  • 콘텐츠 형식:
    • CT는 여러 데이터 형식 만들기 (텍스트, 날짜, 선택, 부울, 조회, 등).
    • 만들어 부모에 따라 새로운 CT는 CT를 확장.
    • CT 메타 데이터를 사용 하 여 문서에 대 한 검색.
  • 문서 라이브러리:
    • 라이브러리 단일 CT 연결.
    • 우리는 해당 라이브러리에 문서를 업로드 하면 어떻게 됩니까?
    • 문서 라이브러리와 여러 CT 연결.
    • 우리는 해당 라이브러리에 문서를 업로드 하면 어떻게 됩니까?
    • 필터링 및 doc lib에서 열 머리글을 통해 정렬.
    • 문서 라이브러리 보기:
      • 정렬
      • 그룹화
      • "빠른 항목" (데이터 시트 보기)
      • "태그가 지정 되지 않은 데이터" (다른 콘텐츠 원본에서 이끼를 마이그레이션 지원; 이 아래에 대 한 자세한).

샌드 박스 사이트:

우리 우리 프로젝트 끝나면 긴 훈련 목적을 위해 사용 하는 개발 환경에서 영구적인 기능으로 샌드 박스 사이트를 설계 하 고 설명 된 대로 여러 아티팩트를 포함:

콘텐츠 형식:

다음 콘텐츠 형식 정의: 송장, 구매 주문, 서비스 송장.

왜냐하면 그들은 보편적으로 더 많거나 적은 아래 우리 송장 및 구매 주문 선택
서 기관. 모두 사업에 청구서를 지불에 대 한 수요는 이해 하는 고객 대 한 한 금액 특정 발행 날짜 어떤에 의하여 지급 지불 조건. 이것은 우리가 "훈련 청구서 라는 CT의 자연 정의" (청구서의 다른 종류에서 그것을 구별 하). 주문서는 마찬가지로 쉽게 정의. 우리는 또한 "교육 서비스 송장 생성" "훈련 청구서에 따라 새로운 CT를 만들어서" CT 및 추가 한 열, "렌더링 서비스".

위의, 우리 이제 추상적인 개념을 먼저 설명 하 고 수렁에 점점 없이 CT의 몇 가지 주요 기능을 보여줄 수 있는; 모두가 이미 "송장 의미 이해" "구매 주문 및" 대신 CT의 역학에 초점을 수 있습니다 자체.

사용자 지정 목록:

"조회 형식의 열과 CT" 사용자 지정 목록 또는 문서 라이브러리를 가리킨. 우리는이 광범위 하 게 그리고 샌드 박스에 대 한 사용, 지원 고객을 포함 하는 사용자 지정 목록을 하나 만들었습니다.. 우리가 이해 하는 쉬운 개념 이기 때문에 고객을 선택 하 고 설명 하기 쉽게. 송장 CT는 열, "고객" 유형 "조회의 정의 된" 이 목록에 있는 포인트.

"공급 업체 관리에 비슷한 사용자 지정 목록을 만들었습니다." "구매 주문서에 대 한" CT.

문서 라이브러리:

우리 두 문서 라이브러리를 만든: "송장" "혼합 문서".

CT 유형 "청구서"의 유일한 문서 관리에 송장 문서 라이브러리 구성.

"혼합 문서 구성" 모든 3 개의 CT를 관리 하는 라이브러리.

정렬 표시 되는 여러 가지 보기 만들기, 필터링, 데이터 시트 및 그룹화.

검색:

우리는 두 개의 새로운 관리 되는 속성을 정의 하 고 송장 번호 및 고객에 매핑된.

우리가 만든 새로운 사용자 지정된 사전 검색 사이트 및 "송장에 대 한 검색 하는 사용자가 그것을 수정" 그 두 개의 매핑된 속성을 사용 하 여.

수정 된 XSLT를 인보이스 및 고객 번호, 때 제시, 밝은 색에는 HTML 테이블에 표시. 여기 목적은 이러한 서식을 가능 하다는 것을 입증 하.

모두 함께 넣고:

우리는 주요 사용자 데모에 참여를 위한 준비.

우리는이 간단한 스크립트를 따라:

  1. 의미와는 CT의 목적 설명, 송장 및 구매 주문 예제로 사용 하 여.
  2. 동시에 그들은 스스로 그 스크린을 사용 하지 않아도 그들을 확보 하면서 송장 CT 정의 표시, 그냥 데리 러 개념.
  3. 청구서 문서 라이브러리로 이동.
  4. 문서 업로드.
  5. 고객 드롭 다운은 정말 사용자 지정 목록에서 sourced 설명.
  6. 고객 목록에 새로운 고객을 추가 하 고 새로 만든 고객 최근에 업로드 된 송장 메타 데이터 업데이트.
  7. "혼합된 문서 전환" 라이브러리 및 문서 업로드. 어떻게 메시지가 나타납니다 문서 유형에 대 한 설명.
  8. 청구서 문서 라이브러리를 표시 다시 이동 열 이름을 클릭 하면 정렬 순서를 변경 하는 방법.
  9. 열 수준 필터링 설명.
  10. 다단계 정렬 하는 방법을 보여 주는 다른 보기, 필터링 및 그룹화.
  11. 데이터 시트 보기를 표시.
  12. "태그 없는 문서의 목적을 설명" 보기.
  13. 사용자 지정 된 고급 검색으로 전환.
  14. 지금까지, 최근 업로드 된 문서가 크롤링되 고 색인이 생성 되었습니다 해야, 그래서 매핑된 속성을 통해 해당 청구서를 찾는 기능을 보여 주는 검색 수행.
  15. 매핑된 속성 비교를 통해 검색의 차이 설명. 그냥 텍스트 검색.

이 시점에서, 우리는 더 많거나 적은 데모와 함께 완료. 그것에 대 한 걸릴 것으로 보인다 30 받는 사람 45 분, 사람들에 게 물어 얼마나 많은 질문에 따라.

우리는 다음 "숙제" 그들의 책상에 다시 그들을 보내합니다. 이 간단한 구성 excel 스프레드 시트 어디 우리가 그들을 물어 그들은 CT의 측면에서 필요 생각 우리가 정의 하, 높은 수준에서 모두 (그냥 이름 및 사업 목적) 열 및 데이터 형식 열에 저장할 것. 우리 모스 측면에서 열 데이터 형식을 정의 하도록 요청 하지 않습니다., 하지만 비즈니스 용어.

요약:

우리는 우리가 그 호소는 엔터프라이즈 코어 모스 기능 몇 가지를 보여 주기 위해 사용할 수 있는 샌드박스 환경을 만들었습니다..

사용자가 MOSS에 집중할 수 있고 엔터티에 꼼짝 있도록 쉽게 이해 하 고 일반적인 비즈니스 엔터티를 모델로 우리 / 스스로 예.

"숙제 논문 세션 걸어서 비즈니스 사용자" 그들은 지금 작성 하 고 디자인 하는 그들의 자신의 첫 번째 컷 콘텐츠 형식에 대 한 사용 유능한 excel 문서 형태로.

마지막으로, 시간 동안 데모를 수행 하는 우리, 클라이언트의 팀원 스스로 더 앞으로 있게 될, 데모의 자신 하 고 일반적으로 더 복잡 한 문제에까지 우리의 나머지 부분을 무료, 글로벌 분류 등, 복잡 한 워크플로, BDC와 같은.

민첩 한 학습 // 스크럼

나 애자, 스크럼 학습을 시작 하기 위한 좋은 자원에 오늘 몇 가지 조언을 요청. 다음은 응답의 요약. 소스를 신뢰 하지만 난 몰라이 포괄적인 (나는 확실히 아니에요).

내가 수는 변하게 하지 어떤이의 제대로.

여러 사람이 제공 응답 Ken Scwaber에 의해 민첩 한 프로젝트 관리 이며 일관성 있는 "첫 번째 다이빙" 추천.

인격:

  • Ken Schwaber
  • Mike Cohn

도 서:

  • 스크럼 애자일 프로젝트 관리 Ken Schwaber에 의해.
  • 야 윈 소프트웨어 개발: 소프트웨어 개발 관리자에 대 한 민첩 한 툴키트 메리와 톰 Poppendieck.
  • "아무것도 Mike Cohn"
  • 애자일 회 고 Ken Schwaber에 의해, 다이애나 라 센, 에 스 더 더비.

링크:

모스 고급 검색 사용자 지정 — 경우 고급 검색 XSLT에 상관

매우 자주 고급 검색 XSLT를 수정 하지 않습니다., 그래서 내가 때마다 작은 언덕을 등반 오전 것 같아.

이건 내 최신 강의: 경우 중요 한 열을 참조 하는 경우. 내 고급 검색에서, 나는 이것을로 정의 된 열:

<루트 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<
>
<
이름="GafTrainingInvoiceNumber" />
<
이름="GafTrainingInvoiceLocation" />
<
이름="WorkId"/>
<
이름="순위"/>
<
이름="제목"/>
<
이름="저자"/>
<
이름="크기"/>
<
이름="경로"/>
<
이름="설명"/>
<
이름="쓰기"/>
<
이름="사이트 이름"/>
<
이름="CollapsingStatus"/>
<
이름="HitHighlightedSummary"/>
<
이름="HitHighlightedProperties"/>
<
이름="ContentClass"/>
<
이름="IsDocument"/>
<
이름="PictureThumbnailURL"/>
</
>
</
루트>

송장 번호와 송장 위치 표시 XLST 왔다:

<p>
훈련 송장 번호: <xsl:값의 선택="GafTrainingInvoiceNumber"/>
<
br></br>
훈련 송장 위치: <xsl:값의 선택="GafTrainingInvoiceLocation"/>
</
p>

그러나, 선택 모든 소문자에 있는 속성을 참조 하는, 마찬가지로:

<p>
훈련 송장 번호: <xsl:값의 선택="gaftraininginvoicenumber"/>
<
br></br>
훈련 송장 위치: <xsl:값의 선택="gaftraininginvoicelocation"/>
</
p>


나는 수정 때까지, 레이블을 보여 검색 결과 (즉. "훈련 송장 번호") 하지만 아무 데이터.

모스: 기능 예-사용자 정의 데이터 형식

비즈니스 시나리오:

제조 회사에 대 한 이끼의 엔터프라이즈 구현 30+ 사이트 및 몇 가지 12 개 기업 부서.

비즈니스 목표:

비즈니스 그룹의 군중에도 불구 하 고 (부서, 위치, 등), 글로벌 수준에서 특정 데이터를 유지 합니다.. 예를 들어, 회사의 모든 물리적 위치는 신뢰할 수 있는 마스터 목록 (예를 들어. 제조 시설, 창 고 위치, 영업 사무소) 중앙 위치에서 유지 되어야 합니다..

기술 문제:

기업 분류는 여러 사이트 모음을 사용 하 여 구현 된. 우리는 사용자 지정 WSS 목록에서 실제 위치 신뢰할 수 있는 목록을 만들 수 있으면 좋 겠. 다음, 우리는 콘텐츠 형식에 열을 필요로 할 때 (목록 또는 문서 라이브러리에 열 추가 또는) 기업의 위치를 포함는, 우리 "조회를 사용 하 여 열을 만들 것입니다." 데이터 형식 및이 마스터 목록에 포인트.

불행 하 게도, 조회 데이터 소스 목록 "로컬 액세스 해야 합니다." 우리의 신뢰할 수 있는 목록 사이트 모음에 걸쳐 있을 수 없습니다 의미.

기술 솔루션:

새 사용자 정의 데이터 형식에 따라 SPField을 구현 하 고 누구의 ListItems 마스터 WSS 목록에서 채우는 UI에 드롭다운 목록으로 표시 구현.

라는 새 사이트 모음을 만들었습니다. "http://localhost/EnterpriseData". 거기, "기업의 위치" 라는 사용자 지정 목록을 만들었습니다.. 이 목록은 표준 "제목 사용" 실제 기업의 위치 목록을 포함 하는 필드.

한 wss에서 사용자 정의 데이터 형식을 만드는 데 여러 개별 단계를 따릅니다.. 그들은:

  1. SPField에서 상속 하는 클래스 정의 (필요한 경우 하나 다른 분야에서 상속 받을 수 있습니다.).

다음은 그에 대 한 코드:

공용 클래스 XYZZYCorporateLocationField : SPFieldText
{
공용 XYZZYCorporateLocationField
(SPFieldCollection 필드, 문자열 typeName, 문자열 displayName)
: 자료(필드, typeName, displayName) { }

공용 XYZZYCorporateLocationField
(SPFieldCollection 필드, 문자열 displayName)
: 자료(필드, displayName) { }

공용 재정의 BaseFieldControl FieldRenderingControl
{
가져오기
{
BaseFieldControl 제어 = 새로운 내용 XYZZYCorporateLocationFieldControl();
제어 합니다. FieldName = .InternalName;
반환 제어;
} //가져오기
} // fieldrenderingcontrol

공용 재정의 문자열 GetValidatedString(개체 값)
{
만약 (.필수 || 값입니다. ToString().같음(문자열.빈))
{
던져 새로운 내용 SPFieldValidationException ("부서 할당 되지 않습니다.");
}
반환 자료.GetValidatedString(값);
} // getvalidatedstring

} // XYZZYCorporateLocation

  1. 기본 필드 컨트롤에서 상속 하는 다른 클래스 정의, 마찬가지로:

공용 클래스 XYZZYCorporateLocationFieldControl : BaseFieldControl
{
보호 드롭다운 목록 XYZZYCorporateLocationSelector;

보호 재정의 문자열 DefaultTemplateName
{
가져오기
{
반환 "XYZZYCorporateLocationFieldControl";
}
} // DefaultTemplateName

공용 재정의 개체
{
가져오기
{
EnsureChildControls();
반환 .XYZZYCorporateLocationSelector입니다. SelectedValue;
} // 가져오기
설정
{
EnsureChildControls();
.XYZZYCorporateLocationSelector.SelectedValue = (문자열).ItemFieldValue;
} // 설정
} // 개체 값 재정의

보호 재정의 void CreateChildControls()
{

만약 (.필드 = = null || .ControlMode = = SPControlMode.디스플레이)
반환;

자료.CreateChildControls();

.XYZZYCorporateLocationSelector =
(드롭다운 목록)FindControl TemplateContainer입니다.("XYZZYCorporateLocationSelector");

만약 (.XYZZYCorporateLocationSelector = = null)
던져 새로운 내용 예외("오류: 로드할 수 없습니다. ASCX 파일!");

만약 (!.IsPostBack 페이지입니다.)
{

사용 하 여 (SPSite 사이트 = 새로운 내용 SPSite("http://localhost/enterprisedata"))
{
사용 하 여 (SPWeb 웹 사이트를 =. OpenWeb())
{

SPList currentList = 웹. 목록["기업의 위치"];

foreach (SPItem XYZZYCorporateLocation 에서 currentList.Items)
{
만약 (XYZZYCorporateLocation["제목"] == null) «««;

문자열 theTitle;
theTitle = XYZZYCorporateLocation["제목"].ToString();

.XYZZYCorporateLocationSelector.Items.Add
(새로운 내용 ListItem(theTitle, theTitle));

} // foreach

} // spweb 웹을 사용 하 여 site.openweb =()
} // spsite 사이트를 사용 하 여 새로운 spsite =("http://localhost/enterprisedata ")

} // 하지 않을 경우 포스트백

} // CreateChildControls

} // XYZZYCorporateLocationFieldControl

위의 코드는 기본적으로 WSS 사용자 지정 목록에 있는 값으로 DropDownList를 채우기 위한 논리를 구현 http://localhost/enterprisedata 및 명명 된 "기업 부서".

단일.cs 파일에 있는 두 클래스를 정의, 그것을 컴파일하고 GAC에 넣어 (강한 필요, 물론).

  1. 컨트롤 템플릿 구현 (.ascx) 같이:

<%@ 제어 언어= "C#" 상속="Microsoft.SharePoint.Portal.ServerAdmin.CreateSiteCollectionPanel1,Microsoft.SharePoint.Portal,버전 12.0.0.0, 문화 = 중립 =,Publickeytoken 등 = 71e9bce111e9429c" compilationMode"항상 =" %>
<%
@ 등록 Tagprefix"wssawc =" Namespace="Microsoft.SharePoint.WebControls" 어셈블리="Microsoft.SharePoint, 버전 12.0.0.0 =, 문화 = 중립, Publickeytoken 등 = 71e9bce111e9429c" %> <%@ 등록 Tagprefix"SharePoint =" Namespace="Microsoft.SharePoint.WebControls" 어셈블리="Microsoft.SharePoint, 버전 12.0.0.0 =, 문화 = 중립, Publickeytoken 등 = 71e9bce111e9429c" %>
<SharePoint:RenderingTemplate ID"XYZZYCorporateLocationFieldControl =" runat"서버" =>
<서식 파일>
<asp:드롭다운 목록 ID"XYZZYCorporateLocationSelector =" runat"서버 =" />
</서식 파일>
</
SharePoint:RenderingTemplate>

위의 c에 저장 됩니다.:\프로그램 파일 공통 파일 마이크로 소프트 파일 서버 extensions12controltemplates.

  1. 마지막으로, 우리가 만들 XML 파일에 저장 하는... 12XML 디렉터리. 이것은 CAML 우리의 사용자 정의 데이터 형식을 정의 하 고 내 예, 이 처럼 보이는:

<?xml 버전="1.0" 인코딩="u t f-8" ?>
<
Fieldtype>
<
FieldType>
<
필드 이름="TypeName">CorporateLocations</필드>
<
필드 이름="ParentType">텍스트</필드>
<
필드 이름="TypeDisplayName">회사 위치</필드>
<
필드 이름="TypeShortDescription">제조 또는 다른 시설을 포함 한 모든 XYZZY 기업 위치.</필드>
<
필드 이름="UserCreatable">사실</필드>
<
필드 이름="ShowInListCreate">사실</필드>
<
필드 이름="ShowInDocumentLibraryCreate">사실</필드>
<
필드 이름="ShowInSurveyCreate">사실</필드>
<
필드 이름="ShowInColumnTemplateCreate">사실</필드>
<
필드 이름="FieldTypeClass">Conchango.XYZZYCorporateLocationField, XYZZYCorporateLocationField, 버전 1.0.0.0 =, 문화 = 중립, Publickeytoken 등 = b0b19e85410990c4</필드>
<
RenderPattern 이름="DisplayPattern">
<
스위치>
<
Expr>
<
/>
</
Expr>

<케이스 =""/>

<기본>
<
HTML>
<![CDATA[
<스팬 스타일 = "색상:레드 "><b>]]>
</
HTML>

<
SubColumnNumber="0" HTMLEncode="사실"/>

<HTML><![CDATA[</b></범위>]]></HTML>

</
기본>
</
스위치>

</
RenderPattern>
</
FieldType>
</
Fieldtype>
이 XML 파일 WSS "라이브러리에 사용자 지정 데이터 형식을 추가합니다" GAC에 대하여 일치 했다 어셈블리.

곳으로 모든이 비트를 이동한 후, 서버에서 iisreset 멋지게 작업 모든 시작을 한다.

WSS: CAML 필드 정의 만들기 위한 기술.

추가 범주: CAML

여기 "크레이그 라는 동료에 의해 훌륭한 게시" 사이트에서 실제 라이브 정의 기반으로 필드 콘텐츠 형식의 CAML 정의 찾는 기술에.

그의 게시 다 나와 있어요. 간략 한 있음:

  1. 콘텐츠 형식 만들기.
  2. 목록에 연결.
  3. SharePoint Designer와 리스트를 엽니다.
  4. "" 개인 웹 패키지를 내보내기.
  5. 한.cab에 이름 바꾸기.
  6. 매니페스트를 추출.
  7. 콘텐츠 형식 및 연결 된 CAML을 찾을.

WSS: 유용한 기능/요소/etc 수 있도록 요약 단계. Vs Intellisense 2005

추가 범주: Visual Studio 2005

기능에 대 한 유용한 intellisense를 활성화 하려면, 요소, visual studio에서 등 2005:

  1. WSS 서버에 액세스.
  2. "C로 이동:\프로그램 파일 공통 파일 마이크로 소프트 파일 서버 extensions12TEMPLATEXML"
  3. 가리키는 또 다른 windows 탐색기를 열으십시오: "C:\프로그램을 마이크로 소프트 비주얼 스튜디오 8XmlSchemas"
  4. 당신의 대를 WSS 서버에서 다음 파일을 복사 2005 스키마 디렉터리:
    1. Wss.xsd
    2. CamlQuery.xsd
    3. CamlView.xsd
    4. CoreDefintions.xsd
  5. 대 다시 시작 2005
  6. 새 XML 파일을 프로젝트에 추가.
  7. XML 파일의 본문에 클릭.
  8. 속성 창에서, "스키마에 클릭" "wss.xsd를 선택 하 고" 선택 항목에서. (이후 그들은 wss.xsd에서 참조 하는 다른 xsd를 선택할 필요는 없습니다.).

Intellisense는 이제 해당 XML 문서에 대 한 활성화.

참조 여기 자세한 내용은이 주제에 대 한 지침은 WSS intellisense 모든 XML 파일에 자동으로 연결 하는 방법에 대 한.

WSS 시험 70-541, Microsoft Windows SharePoint Services 3.0 – 응용 프로그램 개발

나 갔고 오늘 아침 위에서 언급 한 테스트를 통과. 시험을 어렵고 공정 발견.

웹에서이 시험에 대 한 정보의 상대적인 부족이 이다. 나 확실 하지 않다 이유.

나 분명히 했다 시험에 대 한 모든 세부 사항에 보내 주지 않을, 안전 하 게 다음 말할 수 있다고 생각 하지만:

  1. 이 링크를 신뢰: http://www.microsoft.com/learning/exams/70-541.mspx.

    그것은 당신이 시험 하 고 통과 알 필요가 나열, 아이 모, 매우 정확한.

  2. 링크 또한 것이 좋습니다. 내부 Microsoft Windows SharePoint Services 3.0 Ted Pattison에 의해 & Daniel 라 슨. 이 책 테스트 주소는 거의 모든 주제를 다루고. 위대한 사람이 될 자체의 간단한 시험 준비 넘어 발견. 좋은 예를 제공 하 고 정말 내 시도를 몇 가지 새롭고 흥미로운 것 들에 대 한 생각이 야. 책에 몇 비트를 건너 뛰 려는 경우, 그냥 책의 목차 위의 링크에 있는 항목을 상호 참조.
  3. 아무것도 실제 실습을 할 땐. 만약 당신이 시간과 관심, 책의 예제를 따라 하 고 그 후 그들과 함께 실험. 당신은 거 야 시험에 쉽게 시간을가지고 뿐만 아니라 정말 WSS 응용 프로그래밍을 배울.

</끝>내 블로그를 구독!