SPD カスタム ワークフロー アクション — 文字列操作の機能強化

約 1 週間前, SharePoit デザイナーのワークフローにカスタム アクション機能を追加するためのシンプルで合理的で一般的な方法を提供する codeplex プロジェクトを始めました. ここに記載されています。: http://www.codeplex.com/spdwfextensions. 単にフレームワークを提供するを超えて, それも、SPD より強力にさせる役に立つ/フレキシブル/便利な機能セットを提供することを目的と.

ここではバージョンの現在の計画機能です。 1.0: https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=spdwfextensions&ReleaseId=8280

誰もがこのプロジェクトに興味を持っている場合, くださいコメントを残すか、ここでの議論を開始/追加: http://www.codeplex.com/spdwfextensions/Thread/List.aspx

ここでは、コーディングされている機能の現在のセット (しかしまだ完全にテスト 11/08/07):

関数 説明 (ない同じ場合。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".

クイック & 簡単な url エンコーディング デスクトップ ユーティリティ

Url が必要とされてきた-今週いくつかの文字列をエンコードし、一緒に平手打ち我慢だと思った少しのユーティリティ SkyDrive コミュニティのため.

ここでは、バイナリを取得します。: http://cid-1cc1edb3daa9b8aa.skydrive.live.com/self.aspx/SharePoint/WinUrlEncode.zip

ここでは、visual studio ソリューションを取得します。: http://cid-1cc1edb3daa9b8aa.skydrive.live.com/self.aspx/SharePoint/WinUrlEncodeVS2005.zip

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

イメージ

迅速で簡単な: データ ビュー web パーツ XSLT にハイパーリンクを埋め込む

更新プログラム (01/17/08): このブログのエントリ詳細のハイパーリンク XSL の良さについて協議します。: http://www.sharepointsecurity.com/blog/sharepoint/sharepoint-2007-development/rewriting-links-in-search-results-xslt.

概要と目標: ダッシュ ボードのコンポーネントとして機能する単純な棒グラフを作成しました。. 建物の別のポストのためのチャートの詳細を節約します。, しかし、その技術を発明していません。 (また、質問マーク, その問題について). それは、グラフとそれを固定されてバグがあったが判明, 私はいくつかのラベルをグラフの背後にある基になるリストを指すハイパーリンクに変換する機会を取った. たとえば, 「ホールド」の値を持つラベルがあります。. ラベルをハイパーリンク ユーザーがそれをクリックし、ドリル ダウン ステータス値が「ホールド」リストの特定のエントリにしたいです。.

手順:

  1. Visual studio を使用します。 sharepoint 対応の intellisense.
  2. Visual studio の dvwp での XSLT をコピーします。 (空のプロジェクトを作成します。, プロジェクトに XSL ファイルを追加します。).
  3. コピーをクリップボードに使用するリンク.
  4. XSL の正しい位置に貼り付ける.
  5. URL からクエリ文字列引数の区切り記号を変換"&" "&アンプ;"
  6. 各引数の Url エンコード.
  7. 中のそれをラップします。 <href…> </は>

:

私は、URL があります。:

http://[サーバー]/[サイト]/Lists/Open Positions/AllItems.aspx?表示 ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = リクルーター&FilterValue1 = 保留

変換します。:

     < href="Lists/Open Positions/AllItems.aspx?ビュー % 7b84EEA2F5-121B-40B7-946F =-
0FA704A1DAA1 %7 d&アンプ;FilterField1 = リクルーター&アンプ;FilterValue1 = 保留"> ホールド: </>

私は手動でからの最初の引数を変換しています。:

{84EEA2F5-121B-40B7-946F-0FA704A1DAA1}

宛先:

%7b84EEA2F5-121B-40B7-946F-0FA704A1DAA1 %7 d

(これで, かっこに変換 % 7b を開閉ブレース %7 d への変換)

2 番目と 3 番目の引数’ パラメーター ("FilterField1 =リクルーター" "FilterValue1 =ホールド" それぞれ) 安全でない文字を含まないので url エンコードする必要はありません。.

メモ:

この手法は、一般的に XSLT、ハイパーリンクは、URL パラメーターなどのハイパーリンクを埋め込む場所動作するはずです。:

http://[サーバー]/[サイト]/Lists/Open Positions/AllItems.aspx?表示 ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = リクルーター&FilterValue1 = 保留

私はカスタム リストへのアクセスを手動で [ステータス] 列にフィルタ リング URL 自体を得た (ラベル"リクルーター" 上).

迅速かつ簡単な: InfoPath フォームを更新するには、SharePoint Designer ワークフローを有効にします。

シナリオ: 私は InfoPath フォームを SharePoint Designer を使用して実装されるワークフロー プロセスのフロント エンドがあります。. 1 つの時点, マネージャーがフォームを承認する必要があります。. 以来、私は私の監査要件を満たすために、ワークフローの履歴に数えることができません。, 私は、フォーム自体に直接自分の監査メッセージを保存します。.

概要:

フォームをデザインし、としてそれを発行します。 コンテンツ タイプ ドキュメント ライブラリにフォーム自体と. マークとしてモスから更新可能なフォーム フィールドを必要に応じてください。. フォームは、コンテンツ タイプに関連付けられています、コンテンツのタイプが"添付" フォーム ライブラリ (または多く, あなたが望むなら). フィールドを更新するワークフローを記述します。.

具体的な手順:

  1. ドキュメント ライブラリを作成します。. これは、InfoPath テンプレートを保持します。.
  2. フォーム ライブラリを作成します。.
  3. InfoPath フォームを作成します。. テキスト フィールドを含める, 「監査メッセージ」.
  4. フォームをコンテンツ タイプとして発行します。 (ドキュメントではなく).
  5. 公開ダイアログを充填しながら:
    は) .Xsn ファイルをドキュメント ライブラリに保存します。 (ステップ #1).
    b) "監査メッセージを公開します。" フィールドし、true をマーク: 「データシートまたはプロパティ ページを使用してこのフィールド内のデータを編集するユーザーを許可する」.
    c) 新しいコンテンツ タイプを作成し、適切な名前を与える.
  6. フォーム ライブラリへのアクセスします。.
    は) その高度な設定に移動し、フォーム ライブラリのコンテンツ タイプを管理するを有効にします。.
    b) 新しく作成したコンテンツ タイプを選択します。 (5上の c). それを「Microsoft InfoPath の下でグループ化する" (または類似).
    c) デフォルトの"フォームを削除します。" ライブラリからコンテンツ タイプ.
    d) "Web ページとして表示するライブラリをマークします。" フォームが SharePoint と InfoPath ワークステーション クライアントではなくから起動されるよう.
  7. 適切なフォーム ライブラリに戻るし、クリックして"新規" フォームが正しく送信され、代理したいことだけを確認するには.
  8. SharePoint Designer を起動し、フォーム ライブラリをホストするサイトに移動します (ステップから 2).
  9. フォーム ライブラリに関連付けられている新しいワークフローを作成します。.
  10. 1 つのアクション「現在のアイテム フィールドの設定」を追加します。. リストに SharePoint Designer を期待する必要がありますあなたはあなたのフィールド, 「監査メッセージ」. 値を割り当てる.
  11. [完了] をクリックし、フォーム ライブラリに戻る.
  12. 新しいフォームを作成して、"監査メッセージを入れていくつかのテスト値" フィールド.
  13. それを保存し、フォーム ライブラリに戻る.
  14. 右クリックします。, "ワークフローを選択します。" ワークフローを開始.
  15. それはほとんどすぐに実行する必要があります。. フォームをプルアップします。 (ステップから 12) もしすべてが計画に行ってきました, "監査メッセージ" どのような手順で指定した値を割り当てられて 10.

メモ:

すべてのコントロールは、この双方向通信の構成可能性があります。. たとえば, それは繰り返しセクション内にラップ テキスト フィールドを変更する SPD ワークフローを実装しません。.

1 つのキーを取る-離れてはここで、我々 は本当に関連付けられているテンプレートのコンテンツ タイプを作成しました。. これもにより、同じフォーム ライブラリの複数の InfoPath フォーム テンプレートを保存します。.

これはフォームのサーバーを必要とします。. 最も確かに、WSS で動作するじゃ 3.0 環境をおそらく必要とさえ SharePoint エンタープライズ環境.

ビーグル上陸します。 (10 月 2007 問題)

(これは実際には少し古いニュースです。, しかし、私のお気に入りの消防署のモットーを謳っ, 「良いことよりも遅く」).

ここにチェック アウト: http://www.sharepointbeagle.com/

あなたがない場合, 必ず サインアップ.

もちろんです, お読みください。 私の記事 実際の SharePoint プロジェクトについて (要件の定義を含む, KPI, コンテンツの種類, ダッシュ ボードなど) 同様 私の同僚 コンテンツ クエリ web パーツについての記事.

あまりにも多くの他の良いものです。.

削除する方法 “すべてのサイト コンテンツを表示します。” リンク

私はほぼ毎週この質問を求めています。, 通常、セキュリティの議論の文脈で. 管理者/サイトの作成者がサイトを準備します。, セキュリティ構成, 整理された web パーツおよびエンド ・ ユーザーにオプションのオハイオ州-パーフェクト セットを提供するクイック起動をカスタマイズ. しかし, ボックスのうち, "すべてのサイト コンテンツを表示を削除することはできません。" リンク.

Mark Wagner が提供する答え ここで (http://www.crsw.com/mark/Lists/Posts/Post.aspx?ID=36). 彼のライトアップは 2 つのレベルで素晴らしいです。. 質問への答えを提供しています, "どのように削除するには、すべてのサイト コンテンツの表示" リンク? [, 即時のフォロー アップの質問を答え: サイトごとのサイトごとにすべてのサイト コンテンツのリンク ビューを簡単に有効方法?

ボーナスとして: WSS に勤めている彼のアプローチ, だけでなくモス.

</終了>

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

私の非常に自身の CodePlex プロジェクト: SharePoint デザイナーをワークフロー拡張機能

更新プログラム: ここを参照してください。 (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!310.entry) このプロジェクトに最新の.

今日家ジェネリック SPD インターフェイスにプロジェクト コードを書いた CodePlex を作成 ここで (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!275.entry).

ご覧になれます ここで (http://www.codeplex.com/spdwfextensions) CodePlex プロジェクトを見るとタイヤを蹴る.

私と一緒にこの作業に興味があるなら, 電子メールを発射します。 mailto:galvin.paul@gmail.com

SharePoint デザイナー — カスタム アクティビティの 実行 ユーザー定義 c# 関数に

更新プログラム: これはここに CodePlex をリリースされています。: http://www.codeplex.com/spdwfextensions

更新プログラム: ここで最新のリリース ノートを参照してください。: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!381.entry

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

このプロジェクトには、SharePoint デザイナーでカスタム アクティビティが用意されています. このカスタム アクティビティを使用して、呼び出す (ディスパッチ) リンク アセンブリに組み込まれる c# 関数.

10 月末現在, 2007, これは、ちょうどプロジェクトの初期バージョン. 追加機能の数とそれを展開します。, 部分文字列を含む, インデックス, 置換, 呼び出す web サービスとは何の役に立つか面白いと思われる. 私もかつて私はその前面に一緒に私の行為を持って、codeplex にこれを投稿する予定します。. これはまたいくつかの時点でソリューションとして展開可能になります。.

任意のコメントがある場合, ご質問や提案, それらにコメントを残すか私にメールしてください。.

免責事項:

任意の目的のための本の適合性に関して全くないと主張をすれば. あなた自身のリスクで使用します。.

インストールの手順 (各ファームの WFE を後に):

1. .Zip をダウンロードして抽出.

2. GAC への .dll をインストールします。. 私は通常、c を開いてください。:\windows エクスプ ローラーとコピーを使用して windowsassembly が.

3. 安全なコントロールにアセンブリを追加するには web.config を変更します。:

<System.Workflow.ComponentModel.WorkflowCompiler>
<authorizedTypes>

<authorizedType アセンブリ"SpdGenericInterface =, バージョン 1.0.0.0 を =, カルチャ ニュートラル =, PublicKeyToken = abe076fd8125f3c4" Namespace「Nivlag =" TypeName =」※" 承認 ="True" />

4. 「SpdGenericInterface.actions ををコピーします。" C:\プログラム files common files microsoft shared web server extensions12TEMPLATE1033Workflow

上記の場所英語インストールに固有のものに注意してください。.

5. SharePoint デザイナーを閉じる (それが既に開いている場合).

6. iisreset

7. SPD を開き、新しいワークフローを作成します。.

すべてがうまくいけば, アクションの新しいカテゴリに報わする必要があります。:

イメージ

メモ:

参照してください。 ここで (http://blogs.msdn.com/sharepointdesigner/archive/2007/03/15/adding-activities-to-spd.aspx) 作成するプロセスの素晴らしい概要について, インストールして、このようなソリューションを構成します。.

.Zip が直接あなたに c を抽出するように設計されています:\ ドライブ. これを行う場合, プロジェクトを開くことができ、すべてのパスの一貫性が.

Visual studio でこれを使用するには, おそらく「Windows WF の拡張機能」をインストールする必要があります.

初期のアップロードが含まれている 1 つだけ「ディスパッチャー機能」, 「ToLower()". 多くの機能を追加するには, Execute メソッドに示すように追加します。:

 保護 オーバーライド ActivityExecutionStatus
          実行(ActivityExecutionContext executionContext)
        {

            文字列 functionToDispatch;
            functionToDispatch = この.DispatchFunction.ToLower();

            スイッチ (functionToDispatch)
            {
                ケース 「tolower()":
                    {
                        この.OutResult1 = この.InParam1.ToLower();
                        休憩;
                    }

                既定:
                    {
                        この.OutResult1 = 「不明な関数: [" + この.DispatchFunction + "].";
                        休憩;
                    }
            }

            戻り値 ActivityExecutionStatus.閉じる;
        } // ActivityExecutionStatus

    }

[, プロジェクトを再構築し、アセンブリを GAC にコピー. Iisreset が必要になるとは思ってください。.

SPD ワークフローのカスタム アクション – 取得、 <WorkflowInfo> タグ右欲求不満を避けるために

SharePoint デザイナーのカスタム アクションを作成するプロセスの一部には「.actions を作成します。" ファイル.

私は発見してとして開始するサンプル テンプレートを使用しようとしました。:

<?xml バージョン="1.0" エンコード="utf-8" ?>
<
WorkflowInfo xmlns="http://schemas.microsoft.com/sharepoint/">
<
アクション シーケンシャル="[" 並列="">

ただし, xmlns 属性を防ぐ作業から私の環境. 私の行動は、SPD に表示されません。.

Xmlns 属性をストリップするソリューションであります。, iisreset と SPD をオープン/クローズを行う.

迅速かつ簡単な: 特定のドキュメント ライブラリを検索するには MOSS を構成します。

更新プログラムを参照してください。 (私は) 以下 (11/24/07) 上 Microsoft Office SharePoint サーバーを構成する方法 2007 インデックスと検索クロールのネットワーク フォルダーに

目的: 特定のドキュメント ライブラリに制限された検索を実行したいです。. このケースでは, ドキュメント ライブラリが含まれていますトレーニング ドキュメントには.

手順:

1. ドキュメント ライブラリの URL を記録します。.

2. スコープを作成します。:

中央の管理に行きなさい.

SSP にアクセスします。.

「検索の設定」に行く.

[範囲] セクションにスクロールし、「表示範囲」を選択.

新しいスコープを作成します。. 名前と有用な説明.

3. クロール ルールのスコープを定義します。:

このスコープ用のドキュメント ライブラリを定義する規則を追加します。.

「Web アドレスを選択" 「範囲ルール種類を」.

フォルダの名前を入力します。 (参照してください。 #1 上).

「含める」の既定値をを受け入れる.

更新するスコープを待つ (または、手動で開始).

4. サイト コレクションのスコープを有効にします。.

このスコープを使用するサイト コレクションを移動します。.

適切なディスプレイのグループまたはグループに、新しいスコープを追加します。.

5. 検索!

この時点で, 終わったら. 範囲を想定してが正しく定義されて, それは、スコープ ドロップダウンのシンプルかつ高度な検索と、そのスコープを使用して検索するときに利用されます。, ちょうど予想結果を得る.

メモ:

私になって単純な範囲セットアップを検索を使用して乾燥したのでこのブログのエントリのフレーズのように書いた:

  • MOSS のスコープを構成します。
  • 検索スコープの moss を構成します。
  • sharepoint でのスコープ 2007
  • sharepoint でのスコープ
  • ドキュメント ライブラリ moss を検索します。
  • スコープ プライマー moss

上のフォルダーに検索範囲を作成することができます。, 全体のドキュメント ライブラリだけでなく.

スコープは、複数のサイト コレクション間で共有できます。 (したがって, 「共有サービス」).

サイト コレクションのレベルでスコープを作成することができます。. ただし, そこからクロールを開始することができますので、サーバーの全体管理に移動することを好む. サイト コレクションから、クロールを開始できません。.

更新プログラム (私は) の 11/24/07:

甲斐香一緒に偉大なポストの権利を置く Microsoft Office SharePoint サーバーを構成する方法 2007 インデックスと検索クロールのネットワーク フォルダーに @ http://kaishenghoo.spaces.live.com/blog/cns!8A7458DB12CA5AC9!206.entry

Technorati のタグ: , ,