신속 하 고 간단: C#에서 SharePoint 개체 모델을 사용 하 여 웹 사이트를 구축

사이트 모음에서 새 SPWeb을 만들 수 있는 방법 보여줄 것 이다 조금 조각 코드에 대 한 검색. 내가 예상 내가 주제에 함께 작은 항목을 때리는 것 생각 대로 신속 하 게 또는 쉽게 찾지 못했습니다..

이 코드에서는 새 위 키 사이트:

 SPSite siteCollection;

    siteCollection = 새로운 내용 SPSite("http://conchang-o9l8qi");

    SPWeb w = siteCollection.OpenWeb();

    w.Webs.Add("xyzzy", "xyzzy 제목",
        "xyzzy 설명", 1033, SPWebTemplate.WebTemplateWIKI, false, false);

내 초기 검색 문구 처럼 "sharepoint 개체 모델을 사용 하 여 웹 사이트를 구축을 찾고 있었다 때문에 실패 했습니다." 와 같은.

만약 당신이 검색 "Webs.Add에 대 한()", 매우 유용한 블로그 항목의 번호를 찾을 거 야, MSDN 기사 및이 주제에 깊이에 서 SDK 설명서. 나는 확실히 추천 이 사이트.

</끝>

내 블로그를 구독.

테크노 태그:

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

</끝>

내 블로그를 구독.

테크노 태그: ,

일요일 재미: “암호 인지 궁금 하다 …”

나는 최근에 내 동생에 대 한 점심을 샀다 (평소 처럼) 그리고 우리는 우리가 우리의 각 대학에서 재미 있는 것 들에 대해 이야기. 내 모 교에서, 라파예트 대학, 학술 지원 IT 부서 했다 그것에 대해 매우 포함 방법. 우리가 밧줄을 많이 받았다 고 난 시간에 그를 이용 했다.

내 좋은 친구에 게 내 마음에 드는 기억 관련 2, 게 이브. 그는 "내가 신입생 1 학년 그의 사람들에 게의 끔찍한 실수를 만들 었, 하지만 2 학년 서" 때문에 그가 찍은 다양 한 고급 레벨 수업, 등. 우리 중 많은 마찬가지로 위치 했다 하지만 우리가 그것에 대해 너무 많이 얘기 하지 않았어요. 그의 3 학년, 언제 우리가 사람들에 게 그를 소개, 우리는 "이것은 게 이브를 말할 것 이다. 그는 수석, 하지만 그는 2 학년 서 ".

대학 몇 가지 Sun 워크스테이션/서버 X-윈도우를 실행 했다. 그들은 거 대 한 모니터를가 졌고 엔지니어는 CAD와 다른 지루한 엔지니어에 대 한 그들을 사용. 우리 CS 사람들이 프로그래밍을 배울 수 그들을 사용 하 고, 물론, 게임을.

우리가 할 우리의 마음에 드는 것 중 그들은 상자에 telnet을 될 것 이라고 그래서 많은 컴퓨터 무기력 엔지니어 이었고 실행 좋아하지 않았어요 X 눈 그들에. 이 화면에 마우스를 취재 하는 눈의 쌍을 팝업 것입니다.. 당신은 수 더욱 팝업 있고 말 그대로 12 개 이상의 X-눈 응용 프로그램 실행. 불운 한 엔지니어가 X-eye 후 X-eye를 닫으려고 할 때 큰 소리로 웃지 마십시오.

우리 또한 그 상자에 X-트랙을 재생. 그렇게 하려면, 소스를 다운로드 했다, 어디에 당신이 그들을 찾을 수 있고 그것을 구축 다양 한 종속성을 얻을. Wasn 정교한 C 프로그래머, 하지만 난 헤더 파일을 읽을 수 있습니다.. 이들을 통해 찾고 있 었 어 같은 지시문을 발견 "#DEFINE MAX_TORPEDO_DISTANCE 10". 내가가지고 놀 단계와 어 뢰에 대 한 범위와 파워를 증가, 다시 그것을 건설 하 고 다음 파괴 게 이브 다음에 우리가 연주.

게 이브 라는 TV 쇼의 열렬 한 팬 이기도 블 레이 크의 7. 그것은 본 적이 없었다, 하지만 그 주장에서 날을 방지 하지 않았다 그 박사. 누가 우수한 표시는. 논쟁은 때때로 뜨거워 질 것입니다 🙂

1 일, 그것은 내게 내가 그의 UNIX 암호를 추측할 수 발생. 내가 그 옆 1 일 앉아서 시끄러운 음색에서 발표, "나 지금 비밀 번호를 추측 하기 거 야, 게 이브입니다." "예, 오른쪽" 그의 대답은. 나는 다음에 로그인, 그의 사용자 id 입력, 그 얼굴을 향, 입력 하 고 큰 소리로 밖으로 말했다, "궁금 그것 B-L-A-K-E-7" ? 터치 입력은 결코 돈을 지불 후 그 날 처럼.

다음 주 (또는 곧): 대학에서 더 많은 컴퓨터 룸 장난.

어떤 공유 있습니까? 나 내가 여기 그들을 게시할 거 야 이메일을 없애라.

</끝>

내 블로그를 구독.

테크노 태그:

부 공고: Windows Live 보안 설정 및 연결 공간 소유자

내장을 통해 개인에서 "보내기 메시지 소수의 받을" 함수 마이크로소프트 라이브 공간 제공 (이 또한 내 블로그를 호스팅합니다.) 매 달.

시간의 대략 1/3, 회신할 수 없습니다 그런 그 사용자는 그들의 라이브 공간 계정 확보. 이것은 어떤 종류의 가정 하는 스팸 방지 기능.

</끝>

간단한 설명: “값이 예상된 범위 내에서 떨어지지 않는다.”

업데이트: 익명 포스터 왼쪽 내부 이름에 대 한 좋은 의견. 그것을 읽고 해야 합니다..

이벤트 수신기 및 다른 참조 하는 코드 개체 모델을 통해 SharePoint 목록 항목을 작업할 때, 내가 자주 실수 런타임에이 오류를 생성 하는:

오류 로드 하 고 이벤트 수신기 Conchango.xyzzyEventReceiver xyzzy 실행, 버전 1.0.0.0 =, 문화 = 중립, Publickeytoken 등 = 0dc50a750396c3ac. 추가 정보는 아래. : 값이 예상된 범위 내에서 떨어지지 않는다.

이 잠재적으로 여러 가지 방법으로 발생 하는 상당히 일반 오류 라고 생각. 그러나, 하나의 간단한 설명이입니다는 내가 오전 참조 하지 필드 올바르게. 경우에 필드 이름이 "기한", 나 이런 이벤트 수신기에 그것을 참조 해야 합니다.:

속성입니다.ListItem["기한"]

때 철자 또는 잘못 된 경우 필드를 참조할 때 사용, SharePoint에서는 위의 런타임 오류를 언급. 예를 들어, 이것은 잘못 이다:

속성입니다.ListItem["기한"]

</끝>

내 블로그를 구독.

테크노 태그:

최종 사용자 빠른 팁: 문서 라이브러리에서 정렬 보기, 목록, 등.

우리가 할 수 있습니다, 해야 할 많은 보기에서에서 만들고 SharePoint 목록 (문서 라이브러리, 사용자 지정 목록, 등). SharePoint는 항상 알파벳 순서로 사용 가능한 뷰 목록. 우리 상자 기능에서 사용 하 여이 변경할 수 없습니다.. 사용자 지정을 통해 할 수 있다면 (그리고 확신 하지 그것 수 있습니다.), 그것은 지금까지 일반적인 최종 사용자에 대 한 기술.

Sharepoint에서 순서를 제어 하려는 경우 사용 가능한 보기 목록, 단순히 숫자 또는 뷰 이름에는 문자 앞에 추가, 마찬가지로:

1 – 소재 형식에 의해
2 – 모든 문서
3 – 기한

-또는-

A – 소재 형식에 의해
B – 모든 문서
C – 기한

또한 조회 그 목적은 엄격 하 게 피드 KPI를 만들었습니다.. 나는이 명명 규칙을 다음과 같은 되었습니다.:

Z_KPI_[설명]

그 원인이 내 "KPI" 목록 맨 아래에 표시 하는 보기.

</끝>

내 블로그를 구독.

테크노 태그: ,

일요일 재미: “어린 소년 때”

부모로 서, 어딘가에 선에 따라서 발견 된 "했을 때 어린 소년" 트릭.

내 아들, 아마 4 개 또는 5 시간, 풍선 연주와 풍선 놀이 가장 작은 애 들 처럼, 그는 그것을 태 어 났 죠. 그는 매우 화가. 세계 끝에와 서. 나는 그에 게 말했다, "했을 때 어린 소년, 풍선 졌고 났 지 결국, 내가 새로운 풍선." 그것은 그를 그의 손실에 대처 있도록 듯 하 고 재미 있는 그것은 어린 소년 시절 같았다 얘기.

일 뿐만 아니라 위로 기술과 나 그것을 여러 번 사용 시간의 다음 기간 동안. 어 요 문제에 한 번 할 때 그의 괴물 목장 3 죽은 생물. 방법에 대 한 얘기 나 개, 프린스, 자동차 사고로 사망 했다. 이번에, 그의 응답이 했다, "지금 기분이 나쁜에 대해 두 가지!" 나는 "내가 어렸을 때 작은 사용 하 여 멀리 shied" 그 후에 위로 대 한 기술.

죽은 개 사건 전에, 그러나, 나도 집안일을 할 그를 설득 하는 기술을 사용 하기 시작 했다. "했을 때 어린 소년, 난 밖으로 서 신문을 했다 ", "내 방을 청소", "엄마를 얻을 그녀의 커피잔", 등.

이 너무 한 동안 꽤 성공적 이었다, 하지만 그는 내 어린 시절의 폭 정에 대 한 점점 더 반 항을 시작. 한 이벤트, 특히, 끝 표시. 차고를 연석에서 쓰레기통을가지고 그에 게 말했다. 그는 주장 하 고 나 응답, "했을 때 어린 소년, 쓰레기를 차고에 철회 했다." 그는 응답, "오 네! 잘 때 어린 소년, 그건 멍 청 한!".

</끝>

내 블로그를 구독.

테크노 태그:

뷰와 목록 및 문서 라이브러리에 열을 보안 수 없습니다.

업데이트 (02/29/08): 이 새로운 codeplex 프로젝트는 개별 열을 보호 하기 위한 방법을 제공 같다: http://www.codeplex.com/SPListDisplaySetting. 경험이 어떤 그것을 사용 하는 경우, 코멘트를 남겨 주세요.

이 같은 질문 자주 포럼 포스터: "나는 관리자 보기 및 목록의 직원 보기. 직원 하지 그것을 사용할 수 있도록 내가 어떻게 관리자 보기를 보호 하려면?"

그들은 또한 빈번 하 게 관련 질문: "다른 사람이 볼 수 없습니다 심지어 그것 동안 관리자만 해당 열을 편집할 수 있습니다 특정 메타 데이터 열을 확보 하 고 싶습니다."

이러한 답변 모두 WSS에 적용 3.0 그리고 모스:

  • SharePoint 조회를 보호 하기 위한 밖으로의 상자 지원을 제공 하지 않습니다..
  • SharePoint 보안 열 상자 밖으로 지원 제공 하지 않습니다..

이러한 종류의 보안 요구 사항 충족 하기 위해 몇 가지 기술을 하나 따를 수 있다. 여기 내가 생각할 수 있는 것은:

  • 아웃-오브-더-박스 항목 수준 보안을 사용 하 여. 조회 항상 명예 항목 레벨 보안 구성. 이벤트 수신기 및 워크플로 보안 할당을 자동화할 수 있습니다..
  • "특권에 대 한 개인 보기를 사용 하 여" 레이아웃. 이들은 쉽게 설정. 그러나, 때문에 그들의 "개인" 자연, 이러한 각 사용자에 대해 구성할 필요가. 표준 보안 구성을 사용 하 여 개인 보기 만들기에서 다른 사람을 방지합니다.
  • 데이터 뷰 웹 파트를 사용 하 고 AJAXy 보안 트리밍 솔루션의 어떤 종류를 구현.
  • 롤 목록 표시 기능 및 열 수준 보안 조정 통합.
  • 데이터 입력 폼을 수정 하 고 보안 모델과 함께에서 JavaScript를 사용 하 여 열 수준 보안 트리밍을 구현 하.
  • InfoPath 양식을 사용 하 여 데이터 입력. SharePoint 및 조건에 따라 필요한 만큼 숨기기 필드에 웹 서비스 호출을 통해 열 수준 보안 트리밍을 구현합니다.
  • 열 수준 보안 트리밍을 구현 하는 당신의 자신의 ASP.NET 데이터 항목 기능을 롤.

이러한 옵션의 아무도 정말 좋은, 하지만 적어도 당신이 해야 하는 경우에 따라 경로, 하드 경우에.

참고: 만약 당신이 이러한 경로 중 하나, "작업-에 대 한 잊지 마세요> Windows 탐색기로 열기 ". 당신이 원하는 확실 하 게 뒷문 "으로 작동 하지 않는 다는 것을 확인 하는 기능을 테스트 하는" 보안 체계를 패배.

다른 아이디어 나 열 또는 뷰 확보와 경험, 제발 이메일 날 또는 덧 글을 남길 하 고 적절 한이 게시물을 업데이 트 거 야.

</끝>

내 블로그를 구독.

테크노 태그:

빠른 팁: BDC ADF 버전 번호는 귀하의 친구

코딩 하는 경우 손-ADF 파일 및 코드/가져오기/테스트 사이클을 많이 하 고, 버전 번호를 사용 하 여 쉽게 당신의 인생을.

내가 그것을 인정 하 긴 싫지만, 하지만 이번 주까지, 나는 항상 ADF를 삭제 하 고 다시 그것을 가져오기. 이 내 비즈니스 데이터 열을 끊을 것 이며 다시 그들을 철사 나. 모든 불필요 한.

"그것은 분명 당신이 그것을 보고 한 번"에서 이것을 파일합니다.

예제:

<LobSystem
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.microsoft.com/office/2006/03/BusinessDataCatalog BDCMetadata.xsd" 유형="웹 서비스" 버전="1.2.0.0" 이름="xyzzyDocumentReview" xmlns="http://schemas.microsoft.com/office/2006/03/BusinessDataCatalog">

해당 버전 및 다시 가져오기 변경 하 고 필요 없는 추가 구성으로 기존 비즈니스 데이터 열 업데이트 버전을 자동으로 사용.

</끝>

내 블로그를 구독.

테크노 태그:

솔루션: BDC 선택기 결과 중 한 열만 표시

내에 계속 시도 제공 하는 BDC를 사용 하 여 더 유용한 조회 열, 내가 BDC 선택와 함께 벽에 충돌. 그것을 보고 하지 않은 경우, BDC 피커가 비슷합니다 사용자 선택 "" 비즈니스 데이터 형식의 열 함께 작동 한다는 것을 제외 하 고.

비즈니스 데이터 열을 표시 된 대로의 열린 책 아이콘을 클릭 하 여 피커에 액세스:

이미지

위의 화면은 "마스터 문서 Id" 라는 비즈니스 데이터 열. 그 열 연결, BDC를 통해, 웹 서비스에. 웹 서비스 정보의 두 개의 열을 반환합니다.: ID 및 제목. 비즈니스 목적은 여기 제공 하는 "이이 문서 기반" 함수. 사용자가 선택 "마스터" 문서를 저장할 때, 이벤트 수신기 참조 마스터에서 메타 데이터 필드를 복사.

기본적으로, ID 문서 검색할 때 BDC 선택 다음과 같은 = "38":

clip_image002

그건 도움이, 하지만 충분 하지. 사람들이 Id의 관점에서 생각 하지 않습니다., 그들은 제목 및/또는 기타 메타 데이터를 기준으로 생각 하면. 피커를 사용 하면 다른 열에 검색 (예를 들어. 제목) 하지만 실제 그것을 발견 하는 제목 목록에 표시 되지 않습니다, 그냥 그들의 Docid의 여기에서 보이는 것과 같이:

clip_image002[1]

(스크린 샷을 그렇게 굉장하지 어떤 유효한 결과 반환 하는 검색을 선택 하지 않았다 때문에, 하지만 몇 가지 결과 발견 했다 그를 볼 수 있습니다., 그것만 Docid의 표시 할 것, 타이틀 하지).

이에 대 한 답변에 대 한 높고 낮은 검색 하 고 실패. 내 동료, 유서 깊은 조나단 브래드 쇼, 직면 하 고이 문제를 해결 했다. 언제 내가 밖으로 도달 그에 대 한 도움말, 올바른 방향으로 나를 지적 하는 그는.

"ShowInPicker 통해 여러 열을 표시 하려면 선택을 구성합니다" ADF에서 속성:

<속성 이름="ShowInPicker" 유형="System.Boolean">true</속성>

자세히:

  <!-- 제목 -->
  <TypeDescriptor TypeName="System.String" 이름="제목" >
    <LocalizedDisplayNames>
      <LocalizedDisplayName LCID="1033">제목</LocalizedDisplayName>
    </LocalizedDisplayNames>
    <속성>
      <속성 이름="DisplayByDefault" 유형="System.Boolean">true</속성>
      <속성 이름="ShowInPicker" 유형="System.Boolean">true</속성>
    </속성>
  </TypeDescriptor>

사소한 문제를 소개 하 고는이 속성을 설정. 최대한 빨리 당신이 그것을 한 번 설정, 표시 하려는 모든 열에 대 한 설정 해야. 내 경우에는, 기본적으로 DocId를 보여주었다 BDC 선택. 그러나, "Showinpicker을 추가" 제목, DocId 이상 표시. 나는 문서 ID에 대 한 ShowInPicker 속성을 명시적으로 설정 하 여 그 해결.

여기 결과가입니다.:

이미지

(홀수 "168 살펴볼까요. – CamlSchema.xsd" 미래의 블로그 게시물에 건설. 요컨대, 그것은 약간 더 나은 사용자 경험을 허용 하는 연결된 문자열).

물론, 이 블로그 항목을 작성 하는 데, 난 그냥 "Showinpicker에 대 한 검색을 했 어" 그리고 수많은 안타를 발견, 이 하나를 포함 하 여: http://msdn2.microsoft.com/en-us/library/ms583986.aspx. 그것은 몇 가지 다른 좋은 BDC 물건 함께 해당 속성의 의미를 설명.

</끝>

내 블로그를 구독!

테크노 태그: