神秘的な SharePoint エラーのトラブルシューティング方法.

概要:

デバッグは、Windows SharePoint Services のカスタム機能を開発する場合は困難です。 3.0 (WSS) または Microsoft Office SharePoint サーバー (MOSS). 主な原因は、SharePoint 通常表面の診断情報が非常に少ない web ブラウザーでエラーが発生します。. このブログのエントリは、追加システムによって生成された診断情報その余分を提供することができますを検索する方法をについて説明します詳細その 1 つのビットが根本的な原因を特定するために必要. これは、問題の解決につながることができます。.

解決するために大きな成功を収めてこのテクニックを使用しているそれ以外の場合神秘的なエラー.

アプローチ:

SharePoint は、診断ログでログ ファイルに大量の情報を保存します 12 ハイブ.

"12 ハイブ" "C に通常位置:\プログラム \ 共通ファイル \ ファイルでサーバー Extensions12」. (それが可能かどうか分かりませんが 12 他にどこにハイブ, 実際).

アイデアは、現在のログ ファイルを特定するには, エラーを強制し、ログ ファイルをすばやく開く. これらのログ ファイルは、によって特徴付けられます。:

  • おびただしい量の情報. SharePoint は非常に大量の診断情報を生成し、非常に迅速にそのログ ファイルに書き込みます. それをキャプチャするための指を簡単にする必要があります。.
  • 多様性. SharePoint は単一のログ ファイルに書き込みませんが、むしろシーケンスに複数のログ ファイルが生成されます。.
  • コピーし、MS Excel にうまく貼り付ける.

私のお気に入りの方法:

  1. 指す windows エクスプ ローラーを開いて、 12 hivelogs.
  2. 変更日付を表示するビューを並べ替える (最も最近の最初).
  3. ほとんどの現在のログ ファイルを強調表示します。.
  4. Web ブラウザー ウィンドウで, 強制的にエラーが発生します.
  5. すぐに現在のログ ファイルを開き、MS Excel にその内容をコピー.
  6. 最後にジャンプし、関連するエントリを分析.

その他注意事項:

既定では, 診断ログにある、 12 hiveLOGS ディレクトリ.

MS のベスト プラクティス (マイク T に従って. マイクロソフトの) ログ ファイルを別のハード ドライブに保存される状態. 1 つは、サーバーの全体管理. システム管理者は、これを行う必要があります。, その場合が明らかに必要がある代わりに、デフォルトのログ ファイルを検索するには 12 ハイブの場所).

このエントリのような問題します。:

  • SharePoint ワークフローの内部エラーのため開始できませんでした。.
  • (もっと時間をかけて追加するには)
  • このエントリは役立ってワークフロー エラーを診断します。 (例えば. 「ワークフロー内部エラーのため開始できませんでした」).

MOSS: 組織への導入効果

(このエントリの間掲示される十字 http://paulgalvin.spaces.live.com/blog/http://blogs.conchango.com)

このサイトに掲載され、私自身、Conchango の位置を必ずしも, 戦略や意見.

概要:

このエントリは、大規模ないくつかの背景情報について説明します (3,000 ユーザー) Microsoft Office SharePoint Server (MOSS) MOSS の機能セットの完全な導入で終わる展開とプロジェクト、クライアントが満足しているように、しっかりと道を進めるに行った. エントリの執筆時点では, 私たちは約 50% プロジェクトの最初のフェーズを完了します。. 物事の進行, 私はこのエントリの更新および/または新しいエントリを書き込む.

この特定のケースで, 同社はすでに SharePoint Portal Server インストール 2003. IT グループは、"を見てみましょうかどうか誰も気のようなもので製品をインストール" ファッション. それは多くのビジネス ユーザーによってすぐに採用された、大企業で非常に人気になった. あなたが想像できるように, これは最高の展開戦略 (クライアントは、容易に是認します。) MOSS が現場に到着したとき、, クライアント解決「それをする権利" それらを支援する私たちを雇ったと.

我々 はこのプロジェクトの実装を始めたとき、私たちに直面している中央の質問の 1 つだった: このクライアントにコケを紹介を行うに我々? クライアントがすでに SharePoint との経験を持っていたことを考える, 我々 は疑問 — 私たちは"差分を行う必要があります。" 訓練か我々 を地面から開始? 主要なユーザーとの作業の後, 我々 これをより理にかなってグリーン フィールド プロジェクトとして扱うこと決定しました。.

その決定の出発点を与えたが、私たちはまだ企業にモスのロールアウトに良い戦略を考え出すの主要な要件が残って. モスはこのような大きな動物です。 … コンテンツ管理が含まれています, ドキュメント管理, 検索, セキュリティ, 対象ユーザーの設定, プロジェクト管理, 「すばらしい 40" テンプレート, ワークフロー, ビジネス データ コネクタ, など. 大規模な組織であるという事実とこれをカップルを ことができます。 本当に事実上あらゆる主要なコケを使用する機能をエンタープライズ リーチと起こっている多くの良いものを持つ偉大なプロジェクトの素質を持っています。.

我々 は再び時間と時間この問題に直面しています。 … コケは、エンタープライズ、エンタープライズ機能セットを持つに達する, まだ多少洗練されたクライアント苦労する精神的それらの特徴を吸収, 単独でそれらのかなりの割合は、彼らの毎日のルーチンに組み込むことができます。.

問題の魔法の解決策を持っていません。. 私は代わりに我々 が撮影した非常に最初のステップだけを対処と長期的な導入を成功させるパスをそれらをリードするクライアント.

スコープ:

クラフトのようなマイルス トーン「PoepleSoft 統合経由で BDC を完了」として含まれているプロジェクト計画にチームを望むほど, 「新しいクロス部門製品起動ワークフロー完了" 「経営管理 KPI を受け入れた」と, あまり何かを我慢していたわ. これはその"あまりを言うことは" 悪い. 実際, "少ない" 彼らがいた我々 が開始する前に先んじるマイルをだった初期のロールアウトしました. 我々 の場合に, "少ない" 変身:

  • ドキュメント ライブラリを使用して簡単なドキュメント管理, バージョン管理とコンテンツ タイプ.
  • 効果的な検索コンテンツ タイプに基づいており、事前の検索のカスタマイズ (マネージ プロパティを介して, かなりの結果を生成する XSLT, など).

上記の全社機能に加えて (彼らがすべての部門とユーザーにロールアウトされる意味), 我々 は次のシングルトン範囲でミニ-プロジェクトを追加:

  • BDC の統合のコンセプトの証明.
  • SPD を介して作成されたマルチ ステップと多分岐ワークフロー プロセス.
  • InfoPath フォームの複雑です.
  • いくつかのビジネス プロセスについて KPI を浮上 (我々 の場合おそらく人事人材の獲得, しかしそれは変わるかもしれない).

ここでのスコープはないです。 100% 正確が我々 のアプローチの代表でここに私の目的のため十分です, 私は、有効にする」であると考慮するものを説明するためであります。" 完全なコケ導入に黄金の道をしっかりとクライアントを設定する MOSS の導入.

このエントリでシングルトンについて多くを書くことはありません。. これらはアーチ戦略の一環であることを指摘したく. アイデアは、すべてのユーザーにコア ドキュメント管理および検索機能の実装はまだ高機能を提供するには, その他コアの MOSS 機能この初期段階で吸収するほとんどのユーザーの能力を超えているだけであるの高い表示され非常に代表的例. ただし, 彼らは「そこになります" 1 つ他のビジネス ユニットがの知っているまたはそれらについて学ぶし、自分自身のためこれらの機能をしたいと考えていると, 導入拡大につながる. これらのシングルトンのサクセス ストーリーも当社の販売チームは「弾薬を提供するためにサービスを提供します。" 正常に二番目に勝つため, 3 番目と n 相プロジェクト.

我々 が導入した、なぜ?

ベースラインの全社的な要件としてドキュメント管理および検索で定着しました。, 詳細情報の収集を開始する必要があります。. 実際問題として, このドキュメントとコンテンツの種類を理解するため最終的にマップされている理解を中心に展開.

視覚的な側近なしコンテンツ型を説明することは困難だとわかりました. CT のデータベース用語で説明するときより技術的な民俗がコンテンツ タイプについての議論から離れて歩くことができます。. 「CT は、データベース テーブルに似ています, 列が、列はデータ型に関して定義されます。, しかし、CT データ型はより単純な整数/日付も含める, しかしまた「選択" "ルックアップ" ように。" 我々 は"拡張について話すことができます。" コンテンツの種類, オブジェクト指向言語において基本クラスから機能を継承できるような多く. しかしこれは明らかにない技術的なバック グラウンドを持たない輸送の部門管理者の人のために有用. すなわち, ほぼ全員が MOSS ロールアウトで重要であります。.

ホワイト ボードを使用して、あやふやな. コンテンツ タイプと描かれた華麗なアイデアを紹介しました。 (またはそう彼らは) コンテンツの種類の写真、彼ら何か検索の面でおよび拡張する方法, など. 最後に, それはいくつかの電球をオンにしているような気, しかし、結果の画像のホワイト ボードは混乱.

これは私たちの現在、これまで最も効果的な着陸場所に私たちを率いてください。: サンド ボックスの MOSS サイトでこれらの機能を表示するように構成.

サンド ボックス サイトを使用します。, 示す:

  • コンテンツ タイプ:
    • 複数のデータ型と、CT の作成 (本文, 日付, 選択, ブール値, ルックアップ, など).
    • 親に基づく新しい CT を作成することにより、CT の拡張.
    • CT のメタデータを使用してドキュメントを検索.
  • ドキュメント ライブラリ:
    • 単一 CT をライブラリに関連付ける.
    • 我々 はそのライブラリにドキュメントをアップロードするときに何が起こるか?
    • 複数の CT をドキュメント ライブラリに関連付ける.
    • 我々 はそのライブラリにドキュメントをアップロードするときに何が起こるか?
    • フィルター処理およびドキュメント ライブラリ内の列見出しで並べ替え.
    • ドキュメント ライブラリのビュー:
      • 並べ替え
      • グループ化
      • "迅速なエントリ" (データ シート ビュー)
      • "タグの付いていないデータ" (他のコンテンツ ソースからモスへの移行を支援するには; これは、以下の詳細).

サンド ボックス サイト:

我々 のプロジェクトを完了した後の長いトレーニングの目的で使用する開発環境で永久的な特徴である私たちのサンド ボックスのサイトの設計し、説明されているように複数の成果物を含める:

コンテンツの種類:

次のコンテンツ タイプを定義しました: 請求書, 発注書, サービスの請求書.

彼らはの下でもっとまたはより少なく一般に請求書と注文書を選択しました
立っていたエンティティ. ビジネスで誰もが理解する支払督促を請求書には、 顧客 ため、 特定の発行 日付 いくつかに従って支払われる 支払条件. これは、ため、我々 は"請求書トレーニングと呼ばれる CT の自然の定義" (他の種類の請求書から区別するために). 購入順序は同様に簡単に定義します。. 「トレーニング サービス請求も作成しました" 「訓練の請求書に基づく新しい CT を作成することによって" CT とちょうど 1 列追加されます。, 「レンダリング サービス」.

上記の, 最初に抽象的な概念を説明しようとすると、動きが取れなくなってなし CT のいくつかの主要機能を今すぐを発揮できます。; 皆が既に我々 が"請求書の意味を理解します。" 「注文書と" 代わりにすることができます CT の力学に焦点を当てると自体.

カスタム リスト:

"ルックアップ型の列を持つ CT" カスタム リストまたはドキュメント ライブラリを指す. 広く、サンド ボックス、我々 はこれを使用します。, 我々 は顧客を含むカスタム リストを支えている 1 つを作成. それは簡単な概念を理解するため、我々 は顧客を選んだと実証する簡単. 請求書 CT 列があります。, "顧客" "ルックアップ型の定義されています。" このリストを指す.

我々 は"ベンダーを管理するために同様のカスタム リストを作成" "発注書の" CT.

ドキュメント ライブラリ:

我々 は 2 つのドキュメント ライブラリを作成: 「納品書」" 「混合ドキュメント」.

CT タイプ「請求書」のドキュメントのみを管理するために請求書ドキュメント ライブラリを構成しました.

"混合文書を構成しました" すべての 3 つの CT を管理するライブラリ.

並べ替えを示すいくつかのビューを作成します。, フィルタ リング, データ ・ シートとグループ化.

検索:

2 つの新しい管理プロパティを定義し、請求書番号や顧客にマップ.

新しいカスタマイズされたアドバンス検索サイトを作成し、"請求書を検索するユーザーを有効にするように修正" これら 2 つのマップされたプロパティを使用してください。.

XSLT の変更を請求書と顧客の数, 場合の提示, 明るい色の HTML テーブルで表示されます。. ここでの目的は、このような書式が可能なことを実証するには.

それをすべてまとめる:

我々 は、デモに参加する主要なユーザーの手配します。.

私たちはこの簡単なスクリプトに従う:

  1. 意味と、CT の目的について説明します。, 例として、請求書および購買注文を使用してください。.
  2. 同時に彼らが彼ら自身それらの画面を使用する必要はありませんそれらを確保しながら請求書 CT 定義を示してください, ただ、概念をピックアップします。.
  3. 請求書ドキュメント ライブラリに移動します。.
  4. ドキュメントをアップロードします。.
  5. ドロップ ダウン顧客はカスタム リストから供給本当に示す.
  6. 顧客の一覧に新しい顧客を追加し、新しく作成された顧客と最近アップロードされた請求書のメタ データを更新.
  7. "混合ドキュメントに切り替える" ライブラリとドキュメントのアップロード. どのようにシステムを求めるドキュメントの種類を説明します。.
  8. 並べ替え順序を変更する列名をクリックする方法請求書ドキュメント ライブラリおよびショーに戻って行く.
  9. 列レベルのフィルタ リングを示す.
  10. 複数レベルの並べ替えを示す異なるビューで表示します。, フィルターとグループ化.
  11. データ シート ビューを表示します。.
  12. "タグなし文書の目的について説明します。" ビュー.
  13. カスタマイズされた高度な検索を切り替える.
  14. 今では, 最近アップロードされたドキュメントがクロールし、インデックス作成されてする必要があります。, ので、マップされたプロパティを介してその請求書を検索する能力を示して、検索を実行します。.
  15. マップされたプロパティ対を介して検索の違いを示す. ちょうどテキストの検索.

この時点で, デモもっとまたはより少なく行われています. 約を取るらしい 30 宛先 45 分, どのように多くの質問によって人々 に尋ねる.

我々 は、「宿題」と自分のデスクに戻ってそれらを送信します。. シンプルな構成のこの excel スプレッドシート私たちは彼らが CT の観点から必要があると思う私たちを定義することを求める, 高レベルの両方 (ただの名称及び事業目的) 列とデータ型だけでなく、彼らは列の格納. 我々 はモス用語で列のデータ型を定義するそれらを聞かないでください。, ビジネス用語が.

要約すると:

その魅力は、全社的ないくつかコア MOSS の機能を示すため使用できるサンド ボックス環境を作成しました。.

我々 は簡単に理解し、一般的なビジネス エンティティをモデル化した、ユーザー モスに焦点を当てることができ、ないエンティティに取れなくなります。 / 自身の例.

ビジネス ユーザーは「宿題論文セッションから離れて歩く" 彼らは今、必要事項を記入して自分の最初のカットのコンテンツ タイプを設計するため使用する有能な excel ドキュメントの形式で.

最後に, 時間をかけてのデモを行う, クライアントのチーム メンバー自身より前進させるためにできるようになります。, デモ自身および一般に解放します私たちの残りの部分をより複雑な問題で動作するか, 世界分類学など, 複雑なワークフロー, BDC など.

アジャイル学習 // スクラム

アジャイルとスクラムを学習を開始するための良いリソースの今日いくつかのアドバイスを求めた. ここでは、応答の概要. ソースが信頼が、私はこれは包括的なことを知らない (それはないと確信します。).

私は可能性があります転写しているいないいくつかのこの正しく.

ケン Scwaber によるアジャイル プロジェクト管理は一貫して"最初のダイビングを複数の人提供の応答" 勧告.

人格:

  • ケン Schwaber
  • Mike Cohn

書籍:

  • スクラムとアジャイル プロジェクト管理 ケン Schwaber によって.
  • リーン ソフトウェア開発: ソフトウェア開発マネージャー用アジャイルのツールキット メアリーとトム Poppendieck.
  • "Mike Cohn が何か"
  • アジャイル振り返り ケン Schwaber によって, ダイアナ ・ ラーセン, エスター ダービー.

リンク:

MOSS の高度な検索のカスタマイズ — XSLT の高度な検索で大文字小文字を区別は

しばしば非常に高度な検索の XSLT を変更しないでください。, たびに小さな丘を登っているようなそうです。.

これは、私の最新のレッスン: ケース列を参照するときの問題します。. 私の高度な検索, これとして定義された列をあります。:

<ルート xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<
>
<
名前="GafTrainingInvoiceNumber" />
<
名前="GafTrainingInvoiceLocation" />
<
名前="ワーク Id"/>
<
名前="ランク"/>
<
名前="タイトル"/>
<
名前="著者"/>
<
名前="サイズ"/>
<
名前="パス"/>
<
名前="説明"/>
<
名前="書き込み"/>
<
名前="SiteName"/>
<
名前="CollapsingStatus"/>
<
名前="HitHighlightedSummary"/>
<
名前="HitHighlightedProperties"/>
<
名前="ContentClass"/>
<
名前="IsDocument"/>
<
名前="PictureThumbnailURL"/>
</
>
</
ルート>

請求書番号、請求書の場所を表示します XLST をされていた:

<p>
トレーニング請求書番号: <xsl:値の 選択="GafTrainingInvoiceNumber"/>
<
br></br>
請求書の研修場所: <xsl:値の 選択="GafTrainingInvoiceLocation"/>
</
p>

ただし, 選択はすべて小文字でプロパティを参照するには, ように:

<p>
トレーニング請求書番号: <xsl:値の 選択="gaftraininginvoicenumber"/>
<
br></br>
請求書の研修場所: <xsl:値の 選択="gaftraininginvoicelocation"/>
</
p>


私はそれを修正するまで, 検索結果ラベル (すなわち. 「トレーニング請求書番号」) データがありませんが、.

MOSS: 機能例-カスタム データ型

ビジネス シナリオ:

製造会社のコケの企業全体に実装 30+ サイトと数十の企業の部門.

ビジネス目標:

ビジネス グループの多数にもかかわらず (部門, 場所, など), 特定のデータは、グローバル レベルで維持する必要があります。. たとえば, 会社のすべての物理的な場所の権限のマスター リスト (例えば. 製造設備, 倉庫の場所, 営業所) 中央に維持する必要があります。.

技術的な問題:

企業分類は複数のサイト コレクションを使用して実装されました. 我々 の物理的な場所の権限リストをカスタムの WSS リスト作成と思ってください。. [, 我々 はコンテンツ タイプの列を必要なとき (または、リストまたはドキュメント ライブラリに追加する列) 企業の場所が含まれています。, 「参照を使用して列を作成するか" データ型とこのマスター リストにポイント.

残念なことに, 参照データ型"ローカルのソース リストにアクセスする必要があります。" 権限の私達のリストがサイト コレクションにまたがることはできないことを意味.

技術ソリューション:

新しいカスタム データ型に基づいて SPField を実装し、マスターの WSS リストからそのリスト項目の設定 UI に DropDownList として表されます実装.

我々 と呼ばれる新しいサイト コレクションを作成 "http://localhost/EnterpriseData". そこ, 我々 は「企業の場所」という名前のカスタム リストを作成. このリストは標準的な"タイトルを使用してだけ" 企業の実際の場所のリストを格納するフィールド.

いずれかの手順をいくつか離散 WSS でカスタム データ型を作成するには. 彼らは:

  1. SPField から継承するクラスを定義します。 (必要な場合その他のフィールドから 1 つを継承可能性があります。).

ここでは、そのためのコード:

パブリック クラス XYZZYCorporateLocationField : SPFieldText
{
パブリック XYZZYCorporateLocationField
(SPFieldCollection フィールド, 文字列 typeName, 文字列 displayName)
: ベース(フィールド, typeName, displayName) { }

パブリック XYZZYCorporateLocationField
(SPFieldCollection フィールド, 文字列 displayName)
: ベース(フィールド, displayName) { }

パブリック オーバーライド BaseFieldControl FieldRenderingControl
{
取得
{
BaseFieldControl コントロール = 新機能 XYZZYCorporateLocationFieldControl();
コントロール。フィールド名 = この.InternalName;
戻り値 コントロール;
} //取得
} // fieldrenderingcontrol

パブリック オーバーライド 文字列 GetValidatedString(オブジェクト 値)
{
場合 (この.必須 || 値です。ToString().等しい(文字列.空))
{
スロー 新機能 SPFieldValidationException (「部門は割り当てられません。");
}
戻り値 ベース.GetValidatedString(値);
} // getvalidatedstring

} // XYZZYCorporateLocation

  1. 基本フィールド コントロールから継承する別のクラスを定義します。, ように:

パブリック クラス XYZZYCorporateLocationFieldControl : BaseFieldControl
{
保護 DropDownList XYZZYCorporateLocationSelector;

保護 オーバーライド 文字列 DefaultTemplateName
{
取得
{
戻り値 "XYZZYCorporateLocationFieldControl";
}
} // DefaultTemplateName

パブリック オーバーライド オブジェクト
{
取得
{
EnsureChildControls();
戻り値 この.SelectedValue XYZZYCorporateLocationSelector。;
} // 取得
セット
{
EnsureChildControls();
この.XYZZYCorporateLocationSelector.SelectedValue = (文字列)この.ItemFieldValue;
} // セット
} // オブジェクト値をオーバーライドします。

保護 オーバーライド void CreateChildControls()
{

場合 (この.フィールド = = null || この.ControlMode = = SPControlMode.ディスプレイ)
戻り値;

ベース.CreateChildControls();

この.XYZZYCorporateLocationSelector =
(DropDownList)FindControl TemplateContainer。("XYZZYCorporateLocationSelector");

場合 (この.XYZZYCorporateLocationSelector = = null)
スロー 新機能 例外("エラー: 読み込むことができません。ASCX ファイル!");

場合 (!この.IsPostBack ページ。)
{

使用してください。 (SPSite サイト = 新機能 SPSite("http://localhost/enterprisedata"))
{
使用してください。 (SPWeb web サイトを =。OpenWeb())
{

SPList 現時点 web を =。リスト[「企業の場所"];

foreach (SPItem XYZZYCorporateLocation currentList.Items)
{
場合 (XYZZYCorporateLocation[「タイトル"] == null) 続行;

文字列 件名;
タイトル = XYZZYCorporateLocation[「タイトル"].ToString();

この.XYZZYCorporateLocationSelector.Items.Add
(新機能 ListItem(件名, 件名));

} // foreach

} // spweb の web を使用して site.openweb を =()
} // spsite のサイトを使用して新しい spsite を =("http://localhost/enterprisedata")

} // そうでない場合、ポストバック

} // CreateChildControls

} // XYZZYCorporateLocationFieldControl

上記のコードは基本的に DropDownList にある WSS カスタム リストから値を設定するロジックを実装します。 http://localhost/enterprisedata 名前付きの「企業部門」.

1 つの .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:DropDownList ID"XYZZYCorporateLocationSelector =" runat"server =" />
</テンプレート>
</
SharePoint:RenderingTemplate>

上記が c に保存されます。:\プログラム \ 共通ファイル \ ファイルにサーバー extensions12controltemplates.

  1. 最後に, 我々 に保存する XML ファイルを作成、... 12XML ディレクトリ. これは、カスタム データ型を定義する CAML と私の例, 次のような:

<?xml バージョン="1.0" エンコード="utf-8" ?>
<
フィールド型>
<
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>
</
フィールド型>
この XML ファイル WSS"ライブラリにカスタム データ型を追加します" GAC に対してと一致するアセンブリがあった.

これらのすべてのビットを所定の位置に移動した後, サーバーとそれに iisreset 心地よく働いてすべてスタートする必要があります。.

WSS: CAML フィールド定義を作成する方法.

追加カテゴリ: CAML

ここで "クレイグという男が、偉大な投稿" CAML フィールド コンテンツ タイプに基づいてサイトから本物の定義の定義を見つけるための技術.

彼の投稿はそれをすべて言う. 簡単に言うと:

  1. コンテンツ タイプを作成します。.
  2. リストに関連付ける.
  3. SharePoint Designer でリストを開く.
  4. 「個人用 web パッケージ」をエクスポートします。.
  5. .Cab に変更します。.
  6. マニフェストを抽出します。.
  7. コンテンツ タイプと関連付けられた CAML を見つける.

WSS: 役に立つ機能/要素の/etc を有効にする手順の概要. 対の Intellisense 2005

追加カテゴリ: Visual Studio 2005

Intellisense 有効に便利な機能, 要素, visual studio で等します。 2005:

  1. WSS サーバーへのアクセスします。.
  2. "C に移動します。:\プログラムが \ 共通ファイル保存"
  3. 指している別の windows エクスプ ローラーを開く: "C:\プログラムを Visual Studio 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 を選択する必要はありません。).

その XML ドキュメントでは、Intellisense が有効になりました.

参照してください。 ここで WSS intellisense を任意の XML ファイルに自動的に関連付ける方法の詳細についてはこの主題と手順.

WSS 試験 70-541, Microsoft Windows SharePoint Services 3.0 – アプリケーション開発

今朝の上記のテストに合格したとり. 困難かつ公正である試験を発見.

この試験、ウェブ上の情報の相対的な不足があります。. 私はわからない理由.

私は明らかに撮った試験についての詳細には触れません, しかし、私は安全に次の言うことができるだと思う:

  1. このリンクを信頼します。: http://www.microsoft.com/learning/exams/70-541.mspx.

    試験とを渡すために知って必要なものが一覧表示されます。, IMO, 非常に正確です.

  2. また、リンクをお勧めします。 内部の Microsoft Windows SharePoint Services 3.0 テッド パティソンによって & Daniel ・ ラーソン. この本は、テストに対応するほぼすべての科目をカバーします。. 素晴らしいことに、それ自体の簡単な試験準備を超えてそれを見つけた. 偉大な例を提供し、本当に私を試していくつかの新たな、興味深いことを考える. 本の中でいくつかのビットをスキップする場合, ちょうど本の目次上からリンク内の項目と相互参照します。.
  3. 何も実際の実践的な経験に勝る. 時間と興味がある場合, 本の例と一緒に従うし、続いて試験. あなたよ、試験で簡単に時間を持っていると同様に本当に WSS アプリケーション プログラミングを学ぶ.

</終了>私のブログを購読します。!