月別アーカイブ: 11 月 2007

MOSS 指示私私の列名の使用または予約済みです。 … しかし、それはないです。

更新プログラム 12/04/07: 参照してください。 この Microsoft KB (http://support.microsoft.com/kb/923589) 関連情報については.

実際には, 結局それです, しかし いたずら MOSS が難しいしなければならなかった.

私の顧客は、週末に彼の MOSS のサイトにいくつかの開発作業. それは彼が実際に何か混乱のビットです。, しかし、これは、最終的な結果です。:

  • 彼は「量と呼ばれるサイト列を追加しようとします。" MOSS 返信: "入力された列名は既に使用中または予約されています。. 別の名前を選択します。"
  • 彼は別の環境とその作品に追加しよう. したがって, "数量" 予約された名前ではないです。.
  • 彼は"Quantity という名前の既存のサイト列を見つけようとします" そのサイト コレクション内. 彼はそれを見つけることができません。.

私はいくつか 研究, さらにいくつかのコーディング, 哲学的なワックス 最後にしたことがわかった Quantity という名前の列と, 実際, 存在します。. それは、「_Hidden" グループ. それゆえ, 我々 ない SharePoint ユーザー インターフェイスを介してそれを見つけることができます。.

それはどうやってそこ? 知りません, しかし、理論を持っています。 (私の妻はそれを呼ぶだろうか, 「何とか何とか何とか」). どこかにラインに沿って, は すばらしい 40 テンプレート 追加され、サイト コレクション内のサイトでアクティブにおそらく. それは、非アクティブ化されました (または、サイトの削除). サイト内の列, ただし, "_Hidden が残った" グループ. 誰かがより良い場合, 経由で私に知らせてください。 電子メール またはコメントの投稿.

SharePoint は、真実を語っていた. そのメッセージとして役立つことができるではないことを指摘する価値がほとんどです。. 将来的に 2 つの異なるメッセージにそのメッセージ フォークを見るのもいいだろう: 1) 列名は予約されていますまたはじゃないと言う. 2) 予約されていない場合, サイトを表示します。, あるいは、少なくとも、グループ, 列名は既に使用されて.

</終了>

カスタム リストで OM データ (または, まだ別の OM データ Displayor [YACC のような, 異なる])

今日, 「入力した列名は既に使用されてまたは予約メッセージの背後にある根本的な原因を追跡時間のほんの一握りを過ごした. 別の名前を選択します。"

問題の列を作成できませんでした。, 削除して別の環境の再作成, それを知っていたので予約の名前はなかった. ただし, 私は単に見つけることができなかった列をどこでも任意のサイトで標準的な SharePoint ユーザー インターフェイスを介してサイト コレクション.

を掲示 MSDN フォーラムここで 不屈と アンドリュー ・ ウッドワード 基になるオブジェクト モデル データの方向に私を指摘しました。.

消えた codeplex 私は OM の基になるデータにピアし、のトラブルを見つける私を助けるに役立つだろういくつかのツールを検索するには.

いくつかのツールを試して、彼らは非常にクールな面白いが、最終的に, UI が私の目的のために十分ではなかった. 私はない任意の手段によってそれら批判します。, しかし、明らかにツール メーカー問題を持っていなかった私の心で、UI を作成するとき :). ワークステーションを作成に時間と労力のかなりの量を投資するほとんどの人が見える / ツリー ビューを提供するクライアント アプリケーション, 右クリック コンテキスト メニューなど. これらがいいとすべて, しかし、それは多くの作業も非常に柔軟性がトップラインのユーザー エクスペリエンスを作成するには.

私は本当にこの問題に対する答えを必要と. それ私が発生した場合は、カスタム リストにサイト コレクションのサイト内の列のすべてを得ることができます。, フィルターを適用できます。, 並べ替えし、私このおそらく既存の列を見つけるに役立つだろうビューの作成 (それをしました。, ところで). 私は先に行きして 1 時間または 2 つを後でした。, いた私のすべてのサイト内の列でグループ化のユーザー設定リストに読み込まれます, 並べ替えなど. 5 分後に私の答えを見つけた.

私は正常に、世界を引き継ぐとき, 私は私にすべての SharePoint ツール プロバイダーがカスタム リストでそのオブジェクト モデルのデータを提示を考慮する必要が真剣になります令だと思う. その方法, 力を持っています。 いずれかを検索する方法私はしたいです。 (制約, もちろんです, 標準的な sharepoint 機能によって).

SharePoint Designer ワークフローのカスタム アクション — 観測について <FieldBind デザイナーの種類 =”StringBuilder” … />

これら 2 つの定義は非常に重要な違いがあることちょうど簡単な観察:

<FieldBind フィールド「InParam1 =" DesignerType「StringBuilder を =" Id ="2" 本文 =「入力パラメーター # 1」/>

対:

<FieldBind フィールド「InParam1 =" Id ="2" 本文 =「入力パラメーター # 1」/>

最初このように SPD に示しています:

イメージ

このような中後者の番組:

イメージ

私はこれらのスクリーンショットがどのように役立つかわからないが、私はあなたがそれらを見るために持っているので、それらを作るために努力を🙂

これは観測です。: StringBuilder 文字列を作成することができます。 (明らかに) 文字列リテラルとワークフロー データを一緒に混合 ("経由で参照を追加" 左下隅のボタン). 参照の追加] ボタンを使用する場合, トークンのフォームを挿入します。"[%トークン %]". SharePoint がカスタム アクションを呼び出すタイミング, (私の場合の c# コード), SharePoint トークン自体を渡します, トークンの値ではなく. 既定のデザイナーの種類を使用する場合 (2 番目のタイプ), SharePoint トークンを拡大し、トークンの実際の値をアクションに渡します.

StringBuilder = 悪い, 既定のデザイナーの種類 = 良い.

もちろんです, それは私が本当に意味何ではないです。. ちょうど試してみて、デザイナーを入力するとき、カスタム アクションにパラメーターを渡すしない StringBuilder を =. フロントまで、ワークフローの複雑な文字列を構築する場合に既定のデザイナーの種類とチェーンに StringBuilder を使用します。 (ちなみに正確に 1 つは動的件名電子メール アクションを作成する何です。, それは別のブログのエントリの件名です。, あんた).

<終了/>

時期尚早のワークフローのアクティブ化 — 非医療ソリューション

更新プログラム: この MSDN を参照してください。, 特に、最後のエントリ: http://forums.microsoft.com/MSDN/showpost.aspx?postid=2631057&siteid=1. この全部が短絡条件がについて説明します. 要するに, 少なくとも 1 つのフィールドを必須にするのには簡単かもしれない.

私は 8 つのコンテンツ タイプをサポートしているドキュメント ライブラリがあります。.

SharePoint Designer ワークフローを計算し、"設定のアラーム日付を割り当てるたいをあります。" 単に減算することによって 30 別の列から日, 「期限日」. これはのみのコンテンツ タイプのいずれかの発生, 「保険」. ビジネス目的保険書類の 2 つのカテゴリを示す KPI を作成することです。: 「切れることを約" 「期限が切れて。" (このような KPI についてより多くの実質的なドリル ダウンを読むことができます。 ここで).

火の新しい項目が作成されると、項目が変更されたときにワークフローを構成しました。. アイデアは、ときに保険のドキュメントをアップロードします。, "警告日付を計算します。" 有効期限の日付をに基づいてください。. ビューのユーザーが自分のホームページをヒットするときにこれらの条件を強調表示する KPI リストに関連してペアワークします。.

この戦略は、ドキュメントをアップロードするときに動作しません.

私は、ドキュメントをアップロードし、メタ データの入力画面が表示. この時点で, 私はすでに問題を抱えて. SharePoint はすでに, 途中で私の視点から, ワークフローを解雇. 正しいコンテンツ タイプを選んでも、期限を割り当てる機会がなかった. 同時に, ワークフローはこの時点で送信ボタンをヒットしたときに発生しません. 」と考えているいくつかの組み込みのロジックがあります。" その最初の一部である送信、"を作成します。" イベント. だから … 私のワークフローが発生し、それが実行されるとき, メタ データの既定値を渡されました。.

挿入する"ポーズまでは、最善の対処の知って" ワークフロー内のアクティビティ. 私はのためのワークフローの一時停止があります。 1 分. それは一時停止中, 正しいコンテンツ タイプを選択します。, メタ データの入力し、送信. 一時停止が完了して、ワークフローの進行に応じて. (私の環境で注意してください。, SPD からタイマー ワークフロー アクティビティは、箱から出して動作しません。. 同じ問題がある可能性があります。. 参照してください。 ここで 詳細については).

"魔法の遅延を好まない" 回避策. ユーザーがドキュメントと電話が鳴り、その後の会話をアップロードする場合に何が起こるか長持ちする一時停止? 長い一時停止をすることができます。, しかし、私はまだ好きではないです。.

ここの MSDN フォーラムでこのことについて書いた: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2430725&SiteID=1

SharePoint セキュリティ基礎入門 / 一般的な落とし穴を避けるため

更新プログラム 12/18/07: 削除するか、既定のグループ名の変更のポール Liebrand のいくつかの技術の結果をご覧ください。 (以下の彼のコメントを見る).

概要:

SharePoint のセキュリティは構成し、管理が容易. ただし, それは本当にその周りに手をラップするいくつかの初めての管理者ことが難しいことを証明して. それだけでなく, その間に構成を行うには持っていなかったので、金曜日までにそれを失っているだけに月曜日に完璧な理解に来ていくつかの管理者を見ています。. (自分自身、この問題を認める). このブログのエントリがうまくいけば有用な SharePoint セキュリティ入門を提供し、いくつかのセキュリティの構成のベスト プラクティスを指して.

重要な注意事項:

この説明は、SharePoint のセキュリティ ボックスから基づいてください。. ここでいくつかのコケ特定のものがありますので、私の個人的経験を向きモス周辺, WSS のため正確だと思いますが、. 私は願って、すべてのエラーまたは不作為を見て誰もが指摘コメントまたは 私にメールします。. ポスト急いで訂正を作ってあげる.

基礎:

この概要の目的のため, セキュリティの 4 つの基本的な側面があります。: ユーザー/グループ, セキュリティ保護可能なオブジェクト, アクセス許可レベルと継承.

ユーザーとグループ ダウンを破る:

  • 個々 のユーザー: ディレクトリまたは SharePoint で直接作成されたアクティブから引っ張ら.
  • グループ: Active directory から直接マップされたまたは作成できる SharePoint. グループは、ユーザーのコレクション. グループは、サイト コレクションのグローバル. 決して「縛られています。" 特定のセキュリティ保護可能なオブジェクトを.

セキュリティ保護可能なオブジェクト 少なくともダウンを破る:

  • サイト
  • ドキュメント ライブラリ
  • リストおよびドキュメント ライブラリ内の個々 のアイテム
  • フォルダー
  • BDC のさまざまな設定.

ありますその他のセキュリティ保護可能なオブジェクト, しかし、画像を取得.

アクセス許可レベル: 粒状のバンドル / リストにエントリを作成、読み取り、削除のようなものは、低レベルのアクセス権.

継承: 既定のエンティティによってそれぞれの格納オブジェクトからセキュリティ設定を継承します。. サブサイトが親からアクセス許可を継承します。. ドキュメント ライブラリは、サイトから継承します。. などなどなど.

ユーザーおよびグループに関連するセキュリティ保護可能なオブジェクトのアクセス許可レベルと継承を介して.

最も重要なセキュリティの規則を理解するには, これまで🙂 :

  1. グループはユーザーの集まりです。.
  2. グループがグローバル サイト コレクション内で (すなわち. サイト レベルで定義されているグループのようなものはありません。).
  3. グループ名は耐されていません, グループにはありません。, 自分の, セキュリティの特定のレベルがあります。.
  4. グループは、特定のセキュリティ保護可能なオブジェクトのコンテキストのセキュリティを持っています。.
  5. すべてのセキュリティ保護可能なオブジェクトの同じグループに異なるアクセス許可レベルを割り当てることがあります。.
  6. Web アプリケーションのポリシーをすべてを切り札 (以下を参照してください。).

セキュリティ管理者グループおよびユーザーのリストの海で失われた常に管理し、セキュリティの構成を理解するこれらの公理を頼ることができます。.

一般的な落とし穴:

  • グループ名を偽って示唆アクセス許可: ボックスのうち, SharePoint は、その名前が示す固有のレベルのセキュリティ グループのセットを定義します. 「投稿者」グループを検討してください. 不慣れな SharePoint のセキュリティのいずれか可能性がありますもその名前を見て、そのグループのすべてのメンバー」が貢献できると仮定" 任意のサイト/リスト/ライブラリは、ポータル内に. することがないので、グループの名前がたまたま「投稿者」. グループはルート サイトにコンテンツを追加/編集/削除することができますアクセス許可レベルを提供されていますので、箱から出して場合のみです。. 継承を通じて, 「貢献者" グループの可能性がありますもすべてのサブサイトでコンテンツを追加/編集/削除. 1 つことができる"破る" 継承チェーンとサブ サイトのアクセス許可レベルを変更してそのメンバーがいわゆる「寄稿者" グループは全然貢献できません。, しかし、読み取りのみ (たとえば). これは良い考えではないだろう, 明らかに, それは非常に混乱すると思いますので.
  • グループは、サイト レベルで定義されていません. ユーザー インターフェイスが混同する簡単です。. マイクロソフトは、すべてのサイトの"ユーザーとグループでユーザー/グループ管理に便利なリンクを提供しています" リンク. それは簡単には私のサイト"xyzzy で信じ" xyzzy の人々 を使用してグループを作成して、グループは、xyzzy でのみ存在するグループを作成したリンク. それはケースではないです。. 私は実際に全体のサイト コレクションのグループを作成しました.
  • グループ メンバーシップがサイトによって変化しません。 (すなわち. それはどこでも同じグループの使用): グループ所有者"を考慮します。" 2 つのサイト, 「HR" 「物流」. それは通常の 2 つの別々 の個人はこれらのサイトを所有するいると思うだろう — HR 所有者と物流の所有者. セキュリティ管理者がこのシナリオを誤って処理するが簡単なユーザー インターフェイス. 私はよく知っていない場合, HR サイトを介してユーザーとグループのリンクをアクセス可能性があります。, "所有者を選択します。" グループし、そのグループに私の HR の所有者を追加. 1 ヶ月後, 物流がオンラインになります。. 物流サイトからユーザーとグループにアクセスします。, "所有者をプルを追加します。" グループ. 人事担当者にして彼女を削除, 物流現場の所有者から彼女を削除いることを考えてください。. 実際, グローバルの所有者グループから彼女を削除して. はしゃぎのすさまじい.
  • 特定の役割に基づく名前グループの失敗: 「承認者" グループは、完璧な例. 何ができるこのグループ承認のメンバー? 彼らはそれを承認することができます。? 私は本当に人々 物流部門人事文書を承認することができるをたく? コースではないです。. 組織内の役割に基づいてグループの名前を常に. これはグループが特定のセキュリティ保護可能なオブジェクトに対して不適切なアクセス許可レベルに割り当てられているリスクを軽減します。. 彼らの意図されていた役割に基づくグループの名前. 前の HR/ロジスティクス シナリオで, 2 つの新しいグループを作成する必要があります。: 「HR の所有者" "物流の所有者" およびそれらのユーザーを自分の仕事を行うに必要な最小限の各の良識があるアクセス許可レベルを割り当てる.

その他の有用な参照:

加えた場合それこれまでのところ:

私のコメントを介して自分の考えを知っている、または私にメールを教えてください。. 他の良い参照を知っている場合, 同じにしないでください。!

Technorati のタグ:

迅速で簡単な: データ ビュー Web パーツを作成します。 (DVWP)

WSS の偉大な情報が満載です。 3.0 データ ビュー Web パーツ (DVWP) 複数のソースから web 上. ただし, 意外にもこの最初の非常に基本的なステップに関する情報を見つけることは困難であることを発見しました。. ここでは、別の記事"クイックと簡単" それに対処するシリーズ.

データ ビュー web パーツを作成する手順に従ってください。 (DVWP). 「お知らせに基づいています。" web パーツ, しかし、ほとんどのリストに適用されます。.

  1. お知らせ web パーツを作成し、サイトを追加.
  2. SharePoint Designer でサイトを開く.
  3. サイトの default.aspx を開く.
  4. お知らせ web パーツを選択し、右クリック.
  5. コンテキスト メニューから, 選択して"変換する XSLT データ ビュー".

SharePoint デザイナーはこのサイトが今そのサイト定義からカスタマイズされた通知します。. それは必ずしも悪いわけではないです。, しかし、重要な意味があります。 (パフォーマンス, アップグレード, その他) この小さな"簡単で使いやすいの範囲外であります。" エントリ. このテーマに関する詳細情報を取得するには, 両方の本をお勧め ここで お好みのインターネット検索だけでなく、.

正しくそれをしたことを確認します:

  1. 閉じ、再度 web ブラウザーを開く (誤って、元"新しい web パーツを追加「再投稿を避けるために).
  2. Web パーツの矢印ドロップダウンを選択し、「共有 Web パーツの変更を選択します" メニューから.
  3. [ツール] パネルの右側に開きます.
  4. パネルはその通常の set オプションの中からこのように変更するには:
イメージ

“SharePoint リストからリスト スキーマの列プロパティを取得できません。” — 説明-回避

今週, 私たち最後に報告された問題を再現するリモート ユーザー: 彼女は excel にリストの内容をエクスポートしようとしました。, 作業を開始することがようであろう, しかし、[Excel エラーをぽんと鳴る: 「SharePoint リストからリスト スキーマの列プロパティを取得できません」. 彼女はオフィスを実行していた 2003, windows XP および MOSS への接続.

インターネットで検索し、いくつかの憶測が、何もを見た 100% 決定的な. それゆえ, このポスト.

問題: ビューを excel にエクスポートする日付が含まれています。 (日付列のデータ型 =).

何が私たちの仕事: 「1 行のテキスト」を日付に変換します。. [, 日付に変換します。.

それを解決します。. 変換が働いて会えて嬉しかった, 実際には. それはことこの方法を変換すると失敗することかなりの緊張でした。, それはしませんでしたが、.

このバグは、クライアントの心の日付データ型に巨大な影を投げています。, だから我々 はマイクロソフトからの決定的な答えを追求するつもりだとうまくいけば、私はポスト、ここで次の短い期間の時間の公式の答えや修正プログラムの情報を更新.

その他の参照:

http://www.kevincornwell.com/blog/index.php/cannot-get-the-list-schema-column-property-from-the-sharepoint-list/

http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2383611&SiteID=1

<終了>

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

Technorati のタグ: ,

迅速かつ簡単な: メールに埋め込まれたハイパーリンクを SharePoint Designer ワークフローから送信します。

月 1 回か 2 回, 誰かのフォーラムの質問を投稿します。: "どのように私は、SharePoint Designer メールからクリック可能な URL へのハイパーリンクをは?"

さらにコメントなしを表示: (も, 実際にはそれ以上のコメント後の画像):

イメージ

ベッキー Isserman を参考に説明とのメール アイテムへのリンクを埋め込む方法を追う: http://www.sharepointblogs.com/mosslover/archive/2007/11/20/addition-to-paul-galvin-s-post-about-sending-an-e-mail-with-hyperlinks-in-spd.aspx

新しいリリース: SharePoint Designer ワークフローの拡張機能 (文字列操作関数)

更新プログラム: ここでこのプロジェクトを実用化私の考えを参照してください。: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!569.entry

私は、現在 SharePoint Designer で作成したワークフローの操作拡張機能文字列を提供することに焦点を当てている私の Codeplex プロジェクトに取り組んで忙しかった.

詳細はこちら:

プロジェクト ホーム: http://www.codeplex.com/spdwfextensions

リリース: https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=spdwfextensions&ReleaseId=8280

バージョン 1.0 次の新しい機能が含まれています:

関数 説明 (ない同じ場合。Net 関数)
Num エントリ() 番号の"のエントリを返します" 指定された区切り文字に従って文字列で.

たとえば: 文字列内の Num エントリ"a,b,c" 区切り文字"," = 3.

エントリ() 指定された区切り記号に従って文字列の n 番目のトークンを返します.
長さ String.Length
置換() 無害()
含まれています() 文字列()
単語"true"を返します" または単語"false".
部分文字列(開始) String.Substring(開始)
部分文字列(開始,長さ) String.Substring(開始,長さ)
ToUpper() String.ToUpper()
ToLower() String.ToLower()
StartsWith() String.StartsWith()
単語"true"を返します" または単語"false".
EndsWith() String.EndsWith()
単語"true"を返します" または単語"false".

BDC のランタイム エラーは説明しました。

私は自体、ユーザ ・ インタ フェースと明示、BDC エラー数: 原因、 12 ハイブのログ 実行時に.

最初, これは、ユーザー インターフェイスで登場:

すべての識別子は SpecificFinder MethodInstance 名前を正しく実行する値を挿入するフィールドが見つかりませんでした。 … 入力パラメーターがこのエンティティに対して定義されているすべての識別子に関連付けられている TypeDescriptors.

ここではスクリーン ショット:

clip_image001

私はこのメッセージを表示可能性がありますまた、 12 時ハイブ ログは (私の特許取得済みの high-tech-don't-try-this-at-home を使用してください。 「神秘的なエラー" メソッド):

11/14/2007 09:24:41.27 w3wp.exe (0x080C) 0x0B8C SharePoint Portal サーバー ビジネス データ 6q4x 高例外 BusinessDataWebPart.OnPreRender: されて: 識別子の値 ”, 型の ”, 無効です。. 型 'System.String' の予想される識別子の値. Microsoft.Office.Server.ApplicationRegistry.MetadataModel.Entity.FindSpecific で(オブジェクト[] subIdentifierValues, LobSystemInstance lobSystemInstance) Microsoft.SharePoint.Portal.WebControls.BdcClientUtil.FindEntity で(エンティティのエンティティ, オブジェクト[] userValues, LobSystemInstance lobSystemInstance) Microsoft.SharePoint.Portal.WebControls.BusinessDataItemBuilder.GetEntityInstance で(ビュー desiredView) Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.GetEntityInstance で() Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.SetDataSourceProperties で()

周りを検索し、いくつかのリードを発見した、 MSDN フォーラム, 彼らは私が何をしていたかを理解するための十分が間違っています。. キャストを見ていた テッド パティソン会社 サーバーと私の問題を実現するために来たにしまい込んでいます。.

ADF で, 示すように、SQL データベースに接続します。:

            <プロパティ 名前="RdbCommandText" タイプ="System.String">
              <![CDATA[
                SETID を選択します。, CARRIER_ID, EFFDT, DESCR, EFF_STATUS, TAXPAYER_ID, NETWORK_ID, FRT_FORWARD_FLG, ALT_NAME1, ALT_NAME2, LANGUAGE_CD,
                      国, 住所 1, 住所 2, 住所 3, ADDRESS4, 市, NUM1, NUM2, HOUSE_TYPE, ADDR_FIELD1, ADDR_FIELD2, ADDR_FIELD3,
                      郡, 状態, 郵便, GEO_CODE, IN_CITY_LIMIT, カントリー コード, 携帯電話, 拡張機能, FAX, LAST_EXP_CHK_DTTM, FREIGHT_VENDOR,
                      INTERLINK_DLL, TMS_EXCLUDE_FLG から dbo.PS_CARRIER_ID_VW と (nolock)
                どこ
                  (SETID <> ' 共有 ') と
                  (低い(CARRIER_ID) >= 低(@MinId)) と
                  (低い(CARRIER_ID) <= 低(@MaxId)) と
                  (低い(DESCR) 下のように(@InputDescr))
                ]]>
            </プロパティ>

提供された私はその SQL DBA の人からは理解することそれを与えていて、 特別です 彼らは私のためだけに作成されたビュー. そこの一意キーが CARRIER_ID.

ここでは紹介したバグ:

      <識別子>
        <識別子 名前="CARRIER_ID" TypeName="System.String" />
        <識別子 名前="DESCR" TypeName="System.String" /> 
</識別子>

どこかにラインに沿って, 意味に自分自身を混乱させる管理していた <識別子> にもかかわらず、それは実際に識別子ではありません DESCR を追加. 識別子のセットとプレストから DESCR を取り出した。! それは働きました.

私は、これは誰か、いくつかの悲しみを節約できます願っています🙂

Technorati のタグ: , , ,