月別アーカイブ: 2 月 2008

マイナーな公表: Windows Live のセキュリティ設定と接触領域の所有者

私はメッセージの一握りの組み込みを介して個人から」メッセージを送信受信します。" 関数 Microsoft ライブ スペースを提供します。 (これも私のブログをホストします。) 毎月.

時間の 3 分の 1 について, 返信できないように、それらのユーザーは彼らのライブ スペースのアカウントを確保しています。. これは、私と仮定スパム対策機能のいくつかの種類.

</終了>

簡単な説明: “値は、予想の範囲内は該当しません。”

更新プログラム: 内部名についての素晴らしいコメントを残された匿名のポスター. それを必ずお読みください。.

イベント レシーバーとオブジェクト モデルを介しての SharePoint リスト アイテムを参照する他のコードを使用する場合, 私は多くの場合、この実行時エラーを生成ミスします。:

読み込みエラーとイベント レシーバー Conchango.xyzzyEventReceiver xyzzy で実行, バージョン 1.0.0.0 を =, カルチャ ニュートラル =, PublicKeyToken = 0dc50a750396c3ac. 詳細は以下、します。. : 値が予想される範囲に該当しません。.

これは多くの異なる方法を引き起こされる可能性がある非常に一般的なエラーだと思う. ただし, 1 つの簡単な説明は、私を参照することがないフィールド正しく. フィールドの名前が「期日」の場合, 私はこのようなイベント レシーバーで参照する必要があります。:

プロパティ。ListItem[[期日]]

とき私はスペルミスまたはフィールドを参照するとき、間違ったケースを使用, SharePoint を上記生成するランタイム エラーに言及. たとえば, これは間違っています。:

プロパティ。ListItem[[期日]]

</終了>

私のブログを購読します。.

Technorati のタグ:

エンド ・ ユーザーのクイック ヒント: ドキュメント ライブラリ内の並べ替え回, 一覧, など.

私たちすることができます。, 必要があり、SharePoint リスト内の多くのビューを作成しないでください (ドキュメント ライブラリ, カスタム リスト, など). SharePoint は、常にアルファベット順に使用可能なビューをリストします。. 我々 はボックスの機能を使用してこれを変更できません。. カスタマイズを介して行うことができる場合 (それができるのかはよく分からない), それはこれまでに、典型的なエンド ・ ユーザーにとって技術的.

どの SharePoint の順序を制御する場合が利用可能なビューの一覧を示します。, 単に数字またはビュー名に文字を付加します。, ように:

1 – 材料の種類によって
2 – すべてのドキュメント
3 – 期日

-または-

A – 材料の種類によって
B – すべてのドキュメント
C – 期日

私もその目的は厳密に KPI をフィードするビューを作成しています。. この名前付け規則を追っています。:

Z_KPI_[説明]

私の"KPI を原因します。" リストの下部に表示するビュー.

</終了>

私のブログを購読します。.

日曜日面白い: “私は小さな男の子だった”

親として, どこかのラインに沿って私を発見した、"とき私は小さな男の子だった" トリック.

私の息子, おそらく 4 〜 5 時, バルーンを遊んでいたし、風船で遊ぶ最も小さな男の子のように, 彼はそれをポップ. 彼は非常に怒っていた. 世界が終わりに来ていた. 私は彼に言った, 「時私は小さな男の子だった, バルーンを有しそれをポップし、最終的に, 私は、新しいバルーンを得た。" 楽しいは少年の頃のようなだった話それ彼彼の損失に対処するために役立つように見えたし、につながった.

仕事と同様、慰め技術とそれを数回使用時間の次の期間に. 私は一度トラブルに入れたとき彼のモンスターファーム 3 クリーチャーが死亡しました。. 方法について話をした私の犬, 王子, 車の事故で死亡していた. 今度こそです, 彼の答えは, 「今気持ち悪いの約 2 つのこと!" 私はときを使用して、"私は小さな男の子だったから敬遠" その後の慰めのためのテクニック.

死んだ犬の事件の前に, ただし, また家事を行うに彼を説得する手法を使用し始めていた. 「時私は小さな男の子だった, 新聞を得るに出ていた", 「部屋の掃除」, 「ママ彼女のコーヒー カップを得る」, など.

これはあまりにもしばらくはかなり成功され, 彼はますます私の幼年期の専制政治に対して反逆し始めたが、. 1 つのイベント, 特に, 終わりを告げた. 縁石からガレージにゴミ缶をもたらすと言った. 私は答えたと主張しました。, 「時私は小さな男の子だった, 私はガレージに戻ってゴミを取らなければならなかった。" 彼は答えた, "ああはい! 小さな男の子がいたときも, それは愚かだった!".

</終了>

私のブログを購読します。.

Technorati のタグ:

ビューとリストおよびドキュメント ライブラリの列の中にはセキュリティで保護することはできません。

更新プログラム (02/29/08): この新しい codeplex プロジェクトの個々 の列を固定する方法を提供するようです。: http://www.codeplex.com/SPListDisplaySetting. 作業の経験がある場合, くださいコメントを残す.

フォーラム ポスターは頻繁にこのような質問をします。: 「マネージャー ・眺めるリストのスタッフ ビュー. スタッフはそれには使えないのでにマネージャーの表示を保護する方法?"

彼らもよく、関連質問します。: 「他の人もそれを見る可能性がありますできませんがマネージャーのみ列を編集できるようにする特定のメタデータ列をセキュリティで保護します。"

これらの答えは、両方の WSS に適用します。 3.0 苔:

  • SharePoint ボックスの回のセキュリティ保護をサポートしていません.
  • SharePoint のセキュリティ列をボックスのサポートはありません。.

これらの種類のセキュリティ要件を満たすために従うことができますいくつかのテクニックの 1 つがあります. ここでは、私が考えることができます。:

  • ボックスのアイテム レベルのセキュリティを使用して、. ビューは、常に項目レベルのセキュリティ構成を優先します。. イベント レシーバーおよびワークフロー セキュリティの割り当てを自動化することができます。.
  • "特権の個人用ビューを使用します。" 表示モード. これらは十分に簡単にセットアップ. ただし, 彼らの"個人のために" 自然, これらはユーザーごとに構成する必要があります。. 誰が個人用ビューを作成するを防ぐために標準のセキュリティ構成を使用します。.
  • データ ビュー web パーツを使用していくつかの種の AJAXy セキュリティ トリミング ソリューションを実装します。.
  • 独自リスト表示機能を展開し、列レベルでのセキュリティ トリミングを組み込む.
  • データ入力フォームを変更して JavaScript を列レベルのセキュリティ トリミングを実装するセキュリティ モデルと組み合わせて使用してください。.
  • データ入力のための InfoPath フォームを使用します。. SharePoint と条件付きで必要に応じてフィールドの非表示に web サービス呼び出しによって列レベルのセキュリティ トリミングを実装します。.
  • 独自の ASP をロールバックします。列レベルのセキュリティ トリミングを実装する NET データ エントリ関数.

これらのオプションのどれも本当に素晴らしいです。, 存在する必要がある場合に、少なくとも、パス, 場合でも、ハード.

メモ: 場合は、これらのパスのいずれかの下に行く, 「アクションについて - 忘れてはいけない> Windows エクスプ ローラーで開く". あなたは、"バック ドアとして動作しないことを確認する機能をテストすることをできるようにしたいです。" セキュリティ スキームの敗北.

他のアイデアや列またはビューのセキュリティ保護と経験がある場合, してください。 私にメールします。 または、コメントを残すし、私はこの投稿を適切に更新されます。.

</終了>

私のブログを購読します。.

Technorati のタグ:

クイック ヒント: BDC ADF のバージョン番号をあなたの友人です。

場合は手のコーディングしている ADF ファイルとコード/インポート/テスト ・ サイクルの多くを行うこと, バージョン番号を使用するあなたの人生を簡単に.

それを認めることを憎む, しかし、この 1 週間まで, 私はいつも ADF を削除して、再インポートすることだった. これは私のビジネス データ列を破るし、再それらを配線させて. すべての不要です.

「それは明らかに一度それを参照して」の下にこれを提出します。.

例:

<LobSystem
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.microsoft.com/office/2006/03/BusinessDataCatalog BDCMetadata.xsd" タイプ="Web サービス" バージョン="1.2.0.0" 名前="xyzzyDocumentReview" xmlns="http://schemas.microsoft.com/office/2006/03/BusinessDataCatalog">

その変更のバージョンを再インポートして既存のビジネス データ列、更新されたバージョンに自動的に追加構成は必要ありません。.

</終了>

私のブログを購読します。.

Technorati のタグ:

ソリューション: BDC の選択コントロールは 1 列だけの結果を示しています

私に行く試みを提供することで、 BDC を使用してより有用なルックアップ列, BDC の選択と壁をヒットします。. いない場合はそれを参照してください。, BDC ピッカーは似て人々 ピッカーに「ビジネス データ種類列を持つ作品.

示すように、ビジネス データ列の開いた本のアイコンをクリックして、ピッカーにアクセスします。:

イメージ

上記の図では、"マスター ドキュメント Id"と呼ばれるビジネス データ列. その列が接続されています。, BDC を介して, web サービスに. Web サービスは、2 列の情報を返します: 文書番号およびタイトル. ビジネス目的で提供することです、"このドキュメントに基づきます" 関数. ユーザーは、"マスターを選択します。" ドキュメントと保存と, イベント レシーバーは、参照されるマスターからメタ データ フィールドをコピーします。.

既定では, BDC の選択このようなドキュメント ID を持つ捜すとき =「38」:

クリップイメージ002

有益であります。, 十分によくないが、. Id の面で考慮しない人, 彼らはタイトルおよび/またはその他のメタ データの観点から考える. ピッカーは、他の列に検索することができます。 (例えば. タイトル) しかし、実際にそれを発見したタイトルの一覧は表示されません。, ちょうどその DocId のとおり:

クリップイメージ002[1]

(有効な結果を返す検索をピックアップしていないのでとても素晴らしいスクリーン ショットではないです。, いくつかの結果を発見した場合、それを見ることができます。, それだけ DocId を示しているだろう, タイトルではないです。).

私はこれに答えを捜したがハイとロー、失敗しました。. 私の同僚, 由緒あります。 ジョナサン ・ ブラッド ショー, 直面し、この問題を解決していた. 助けを彼にうちをたどり着いたとき, 彼は正しい方向に私を指摘しました。.

"ShowInPicker 経由で複数の列を表示する選択ウィンドウを構成します。" ADF のプロパティ:

<プロパティ 名前="ShowInPicker" タイプ="ブール値。">true</プロパティ>

さらに詳しく:

  <!-- タイトル -->
  <TypeDescriptor TypeName="System.String" 名前="タイトル" >
    <LocalizedDisplayNames>
      <LocalizedDisplayName LCID="1033">タイトル</LocalizedDisplayName>
    </LocalizedDisplayNames>
    <プロパティ>
      <プロパティ 名前="DisplayByDefault" タイプ="ブール値。">true</プロパティ>
      <プロパティ 名前="ShowInPicker" タイプ="ブール値。">true</プロパティ>
    </プロパティ>
  </TypeDescriptor>

このプロパティを設定はマイナーな問題をご紹介します。. 一度設定するとすぐに, すべての列を表示するために設定する必要があります。. 私の場合, BDC の選択コントロールが既定で DocId を示した. ただし, "ShowInPicker を追加" タイトルに, DocId 表示されなくなります. ドキュメント ID の ShowInPicker プロパティを明示的に設定することを解決.

ここでは、結果です。:

イメージ

(奇妙な"168 を説明します – CamlSchema.xsd" 今後のブログ記事で建設. 要するに, それはわずかにより良いユーザー エクスペリエンスを可能にする、連結された文字列です。).

もちろんです, このブログのエントリを書いたこと, 私はちょうど"ShowInPicker の検索" 数々 のヒット曲が見つかりました, この 1 つを含む: http://msdn2.microsoft.com/en-us/library/ms583986.aspx. いくつかの他の良い BDC のものと一緒にそのプロパティの意味を説明します。.

</終了>

私のブログを購読します。!

Technorati のタグ:

クイック & 簡単: フォルダーを作成し、コンテンツの種類を割り当てる (または, あなたの Kpi があるし、あまりにもそれらを食べる)

KPI の問題を回避するために ここを書いた, 私はいくつかのテストを行なったし、彼らがドキュメントに対して作業またはリスト アイテムは、同じ方法でフォルダーとメタ データに対してその KPI の仕事を発見しました。. 私は、新しいコンテンツ タイプを作成することによってそれはフォルダー コンテンツ タイプに基づいて、いくつかのフィールドを追加しを証明しました。. 私はいくつかの指標を作成し、Kpi は、期待どおりに動作ことを自分自身に証明. これは歓迎すべきニュース. それは完璧ではないです。, ドリル ダウンをから得るためのフォルダーに対して KPI が正確には何をしたいです。. これで私の場合あまり欠点はないので 1) エンド ユーザは任意のより良いを知っていないと 2) ドリル ダウンは、フォルダーに移動します。. フォルダー名をクリックして、アイテムに. それは 1 つではなく 2 回のクリック, 世界の終わりではないです。.

これはうまくやっていた仕事と流れた. アップロードされるすべてのドキュメントを格納するフォルダーを作成して. これはイベント レシーバーによって. その結果, それは維持するケーキ、 親フォルダー 自体は配管が既に整備されているファイルから KPI 駆動のメタ データとメタ データの同期. これは私が私のKPIのを持って、あまりにもそれらを食べることができます🙂

フォルダーを追加し、この新しいフォルダーのコンテンツ タイプをカスタム KPI 向けコンテンツ タイプに設定するイベント レシーバーを変更されました。. コードのこのビットは、トリックをでした。:

 SPFolderCollection srcFolders = targetWeb.GetFolder("ドキュメント").サブフォルダー;
  SPFolder addedFolder = srcFolders.Add(プロパティ。ListItem.ID.ToString());
  コンテンツ kpiCT = 新機能 コンテンツ("0x0120002A666CAA9176DC4AA8CBAA9DC6B4039F");
  addedFolder.Item[「コンテンツ タイプ ID"] = kpiCT;
  addedFolder.Item.Update();

実際のコンテンツ タイプ ID を検索するには, サイトの設定によってそのコンテンツ タイプにアクセスし、コピー/貼り付けそれのように URL から:

イメージ

</終了>

私のブログを購読します。!

Technorati のタグ: ,

迅速で簡単な: イベント レシーバーで SPListItem の SPFolder を取得します。

それを認めることを憎む, 私はこの 1 つのすべての苦労が、日. 私のイベント レシーバーは、親フォルダーのフィールドを更新する必要があります。. この少しがそれを行う方法を示しています:

プライベート void UpdateParentFolder(SPItemEventProperties プロパティ)
{

SPFolder thisItemFolder プロパティを =。ListItem.File.ParentFolder;
thisItemFolder.Item[「ZZ 承認ステータス"] = 「良いニュース, 誰もが!";
thisItemFolder.Item.Update();


} // UpdateParentFolder

このケースでは, ドキュメント ライブラリを使用して、プロパティが ItemAdded イベントから来ています。.

トリックは、アイテム自体から直接項目の SPFolder を得ることができません。 (すなわち. プロパティ。ListItem.Folder は null です。). 代わりに, リスト アイテムに関連するファイルに移動し、ファイルのフォルダーを取得.

</終了>

私のブログを購読します。!

Technorati のタグ:

まだもう 1 つのイベント レシーバーのデバッグのトリック

私は確信しているこの思い付く最初の人ではないです。. ただし, 誰もこのようなトリックを公開以来、私は昨年 7 月、コミュニティに細心の注意を払って始めたを気づいていません。. だから, この速く、容易なデバッグのヒント ポストイットだと思った.

このエラーを生成を開始するイベント レシーバーに取り組んで、 12 ハイブ:

読み込みエラーとイベント レシーバー Conchango.xyzzyEventReceiver xyzzy で実行, バージョン 1.0.0.0 を =, カルチャ ニュートラル =, PublicKeyToken = blahbalhbalh. 詳細は以下、します。. : オブジェクト参照オブジェクトのインスタンスに設定されていません.

私は私のコード、配置、テストのサイクルの 1 つでも多くのことを行っていたのでこのバグを導入していた私とは知らなかった.

私は試みた このソリューション SharePoint の期待とそこに私の pdb を取得するには 12 ハイブは、スタック トレースを表示, 運. それが可能ならと誰かがわからない, 私に知らせてください。 🙂

それはすることを知っています。 ログ メッセージに書いて、 12 ハイブ. 率直に言って, 少し怖いと実装するより速く何かをしたかった.

それが私は少なくともこのような汎用的な例外を再スローとキャッチによっていくつかの基本的なトレース情報を得ることができるが発生しました:

  してください。 {
    UpdateEditionDate(プロパティ);
  }
  キャッチ (例外 e)
  {
    スロー 新機能 例外(「ディスパッチャー, UpdateEditionDate(): 例外: [" + e.ToString() + "].");
  }

これに現れた、 12 thusly ハイブします。:

読み込みエラーとイベント レシーバー Conchango.xyzzyEventReceiver xyzzy で実行, バージョン 1.0.0.0 を =, カルチャ ニュートラル =, PublicKeyToken = ハント. 詳細は以下、します。. : ディスパッチャー, UpdateEditionDate(): 例外: [通常。: オブジェクト参照オブジェクトのインスタンスに設定されていません. Conchango.xyzzyManagementEventReceiver.UpdateEditionDate で(SPItemEventProperties のプロパティ) Conchango.xyzzyManagementEventReceiver.Dispatcher で(SPItemEventProperties のプロパティ, 文字列 eventDescription)].

それは私の特定の問題を追跡するために必要なすべての詳細を与えたし、たくさん今後それを使用することを期待.

</終了>

私のブログを購読します。!