월별 아카이브: 2 월 2008

부 공고: 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 물건 함께 해당 속성의 의미를 설명.

</끝>

내 블로그를 구독!

테크노 태그:

빠른 & 쉬운: 폴더를 만들고 콘텐츠 형식에 할당 (또는, 당신의 Kpi와도 먹을)

KPI의 문제를 해결 하기 위해 여기에 대해 쓴, 내가 몇 가지 테스트 했 고 그들은 문서에 대 한 작업 또는 목록 항목에 메타 데이터 폴더에 대 한 해당 KPI의 작품을 발견. 나는 새로운 콘텐츠 형식을 만들어 그것을 밖으로 폴더 콘텐츠 형식에 기반 하 고 다음 몇 가지 필드 추가 증명. 일부 지표를 생성 하 고 Kpi 예상 대로 작동 하는 자신에 게 입증. 이것은 환영 뉴스. 그것은 완벽 한, 때문에 드릴 다운에서 폴더에 대 한 KPI는 정확 하 게 당신이 원하는. 이것은 내 경우에는 너무 많은 단점 때문에 1) 최종 사용자가 어떤 잘 모르는 고 2) 드릴 다운 폴더에 간다. 그들은 폴더 이름을 클릭 하 고 항목에서. 그것은 한 두 번 클릭, 세상의 종말 되지 않습니다.

이 일을 하 고 있었는데 친절 하 게 흘 렀 다. 업로드 되는 모든 문서에 대 한 폴더를 만드는 거 야. 이 이벤트 수신기를 통해 이루어집니다.. 결과적으로, 그것은 계속에 케이크 한 조각에 상위 폴더의 파일 때문에 배관 공사는 이미 자체에서 KPI 기반 메타 데이터와 동기화 메타 데이터. This allows me to have my KPI’s and eat them too 🙂

폴더를 추가 하 고 다음 내 사용자 지정 KPI 친화적인 콘텐츠 형식에이 새 폴더의 콘텐츠 형식을 설정 하는 이벤트 수신기를 수정. 코드의이 비트는 목적을 달성을 했다:

 SPFolderCollection srcFolders = targetWeb.GetFolder("문서").하위 폴더;
  SPFolder addedFolder = srcFolders.Add(속성입니다.ListItem.ID.ToString());
  SPContentTypeId kpiCT = 새로운 내용 SPContentTypeId("0x0120002A666CAA9176DC4AA8CBAA9DC6B4039F");
  addedFolder.Item["콘텐츠 형식 ID"] kpiCT =;
  addedFolder.Item.Update();

실제 콘텐츠 형식 ID를 찾으려면, 사이트 설정을 통해 해당 콘텐츠 형식을 액세스 및 복사/붙여 넣은 그것 같이 URL에서:

이미지

</끝>

내 블로그를 구독!

테크노 태그: ,

신속 하 고 쉽게: 이벤트 수신기에서는 SPListItem의 SPFolder를 얻을

내가 그것을 인정 하 긴 싫지만, 하지만이 한 모든 싸 워 하루. 내 이벤트 수신기 상위 폴더의 필드를 업데이트 하는 데 필요한. 약간이 그것을 하는 방법을 보여 줍니다.:

개인 void UpdateParentFolder(SPItemEventProperties 속성)
{

SPFolder thisItemFolder 속성을 =.ListItem.File.ParentFolder;
thisItemFolder.Item["ZZ 승인 상태"] = "좋은 뉴스, 모두!";
thisItemFolder.Item.Update();


} // UpdateParentFolder

이 경우에, 문서 라이브러리와 함께 일하고 그리고 속성 ItemAdded 이벤트에서 오고 있다.

이 트릭은 항목 자체에서 직접 항목의 SPFolder를 얻을 수 없습니다. (즉. 속성입니다.ListItem.Folder은 null입니다.). 대신, 목록 항목의 관련된 파일을 이동 하 고 파일의 폴더를 얻을.

</끝>

내 블로그를 구독!

테크노 태그:

아직 또 다른 이벤트 수신자 디버깅 트릭

나는 확실히이와 같이 첫 번째 사람이 아니에요. 그러나, 난 커뮤니티에 세심 한 관심을 지불 하는 지난 7 월 시작 이후이 같은 트릭을 게시 하는 사람이 없는데. 그래서, 그것은이 신속 하 고 쉽게 디버그 팁 게시물을 것 이라고 생각.

이 오류를 생성 하기 시작 하는 이벤트 수신기에서 일하고 있는 12 하이브:

오류 로드 하 고 이벤트 수신기 Conchango.xyzzyEventReceiver xyzzy 실행, 버전 1.0.0.0 =, 문화 = 중립, Publickeytoken 등 = blahbalhbalh. 추가 정보는 아래. : 개체 참조가 개체의 인스턴스로 설정 되지.

난 내 코드/배포/테스트 사이클 중 하나에 너무 많은 일을 했다 때문에 어디 나이 버그를 도입 했다 몰 랐 어 요.

나는 시도 했다 이 솔루션 SharePoint의 기대와 함께 거기에 나 pdb를 얻을 12 하이브 스택 추적 표시, 하지만 행운. 난 모 르 겠 가능 하다 고 누군가가 않습니다., 내게 알려 주십시오 🙂

수 아는 자신의 로그 메시지를 작성 합니다 12 하이브. 솔직히, 내가 원하는 뭔가 좀 덜 무 섭 고 빠르게 구현 하.

그것은 내게 내가 적어도 잡는 다시이 같은 일반적인 예외를 throw 하 여 몇 가지 기본 추적 정보를 얻을 수 발생:

  시도 {
    UpdateEditionDate(속성);
  }
  catch (예외 e)
  {
    던져 새로운 내용 예외("발송자, UpdateEditionDate(): 예외: [" + e.ToString() + "].");
  }

이에 나타났다는 12 thusly 하이브:

오류 로드 하 고 이벤트 수신기 Conchango.xyzzyEventReceiver xyzzy 실행, 버전 1.0.0.0 =, 문화 = 중립, Publickeytoken 등 = blahblahblah. 추가 정보는 아래. : 발송자, UpdateEditionDate(): 예외: [NullReferenceException입니다.: 개체 참조가 개체의 인스턴스로 설정 되지. Conchango.xyzzyManagementEventReceiver.UpdateEditionDate에서(SPItemEventProperties 속성) Conchango.xyzzyManagementEventReceiver.Dispatcher에서(SPItemEventProperties 속성, 문자열 eventDescription)].

준 특정 문제 아래로 추적 하는 데 필요한 모든 세부 사항 및 앞으로는 많은 그것을 사용 하 여 기대.

</끝>

내 블로그를 구독!