Author Archives

Tsuyoshi Matsuzaki

Japanese, Hobby runner, and Explainer of computer science
(Japanese name : 松崎 剛)

SharePoint におけるコードからのアクセス権限の制御 (Tips)

環境:Office SharePoint Server (MOSS) 2007Visual Studio 2005  こんにちは。 今日は、SharePoint ワークフローにおけるドキュメントのアクセス権の制御について、簡単なサンプルコードをご紹介します。 ワークフローなどで、「承認ワークフロー実行中は編集させたくない」とか、「承認されるまで関係者以外見えないようにしたい」 などといった処理は現実の業務アプリでは必ず必要になってくることでしょう。今日は、Visual Studio による SharePoint ワークフローで、このような制御をおこなう方法について記載します。 概念は特筆すべきことはありません。要は、ワークフローアイテム(そのワークフローを起動したSharePoint上のリスト項目やドキュメントなどのアイテム)を取得し、プログラムコードから変えてしまえば良いわけです。SharePoint では、こういう場合には、オブジェクトモデル (Microsoft.SharePoint) の SPRoleAssignment を使用します。例えば、onWorkflowActivated アクティビティの Invoke メソッドに以下の通り記載するとします。 private void onWorkflowActivated1_Invoked(object sender, ExternalDataEventArgs e){    workflowId = […]

開発者にとっての IIS 7

こんにちは。 WCF/WF (.NET Framework 3.0) の話にフォーカスしすぎたので、今日は IIS 7 について記載しましょう。 「IIS 7 で何が可能になるのか?」 可能になることのほんの一部ですが、以下の Web キャストでご紹介しました。 http://www.microsoft.com/japan/msdn/windows/windowsserver2008/ (この中の「アプリケーションサーバー」の節を展開して表示される Web キャストです) 上記では無味乾燥なコーディングの事例として紹介をしていますが、今日はここで伝えようとしている(その裏側の)思いを記載したいと思います。 まず、IIS 7 は、上記のビデオで紹介している要素以外にも IT Pro 的な観点も含めるともっと魅力がたくさんあるということはおぼえておいてください。上記のビデオでは、あくまでも 「開発者にとって何が変わるのか!」 という観点をフォーカスしたかったので、重要なエッセンスに絞ってご紹介しています。 IIS 7 では、ビデオでの紹介の通り、IIS 6 […]

Microsoft Office SharePoint Server (MOSS) 2007 ワークフローの解剖学

こんにちは。 以前、Web ページ (ASP.NET ページ) の画面遷移を WF で実装する場合の例について記載しましたが(こちら)、今回は WF を使った実践的アプリケーションの1つとして、SharePoint のワークフローの世界をみていきましょう。 WF (Windows Workflow Foundation) は、ワークフロー的な動きをシステムで実現するためのベースのフレームワークエンジンです。SharePoint もそうしたエンジンを使った実践的サンプルプロダクトの 1 つとしてとらえることができます。 SahrePoint のワークフローをご存知の方にとっては既知の情報かもしれませんが、WF を理解されていて「SharePoint はちょっと知らないんだよね」という方は、みなさんのシステム実装のヒントとして是非お役立てください。 前回の画面遷移の説明と同様、このポストを理解するには、WF の性質に関する基本的な性質の理解が必要です。WF とはどのようなもので、どんな風に機能を実現していくかという点について理解してもらうため 「ワークフローの作成とランタイムサービス (EDS, 永続化サービス) の利用」 でデモをおこなっていますので、まだ WF […]

InfoPath 2007 でフォームを発行した際の「次の URL は無効です」(The following URL is not valid)の問題のワークアラウンド

ご無沙汰してしまいすみません。 InfoPath で、MOSS (Microsoft Office SharePoint Server 2007) への発行 (Publish) の際に、「次のURLは無効です」(The following URL is not valid) と表示されて発行できないことがあります。この回避方法について、以下にまとめます。 【回避方法 1 】 作成した Web アプリケーションが、SSP (Shared Service Provider, 共有サービス) と関連付けられていることを確認してください。(現RTM版では、作成した段階で SSP との関連付けがおこなわれますが、過去の Beta 版などの場合には、手動で関係付けをおこなう必要がありました。) […]

[ブログ紹介] Visual Studio で作成したカスタムアクティビティ (Custom Activity) を SharePoint Designer (SPD) で使用する方法

(2008/08/15 赤字の箇所の記述追加) (sample code を添付) こんにちは。 方法を掲載しようと思いましたが、既にチュートリアルとサンプルのダウンロードが可能なページがありますのでご紹介します。(下記リンク) Adding Activities to SPD (Microsoft SharePoint Designer Team Blog) (追加情報: Tip: Clearing the SPD workflow assembly cache ) これは、おそらく、SharePoint のワークフロー (Workflow) を本格的に使いはじめると、まず使いたくなる技であると思います。(よく御質問も受けます。) SharePoint (MOSS 2007, […]

WF (ワークフロー) を使った Web ページ (ASP.NET) の画面遷移

2007/08/16 Update: 実際にこの精神で作成したサンプルコード (sample code) を以下に掲載しました。 /2007/08/16/wf-web-part-1/ こんにちは。 昨日は、MSDNオフラインセミナー「.NET Framework 3.0 によるサーバアプリケーションの開発」にご参加された皆様、お疲れ様でした。 昨日のセミナーの最後でふれましたが、ワークフローはフレームワーク的にさまざまな箇所で応用できますが、ワークフローを使ってWebの画面をコントロールすることは大変難しいという点をご説明しました。画面遷移などをワークフローで作成できたなら、業務ルールの変更に伴い画面のロジックが変更される場合などにおいても、モデル駆動で対応することができるようになり、大変強力です。今日は、その方法について記載したいと思います。 あらかじめ記載すると、上述した通り、この点に関しては残念なことに一筋縄にはいきません。(今後、何某かの形で下記のような処理をラッピングした便利な仕組みが登場してくることでしょう。) いつものように簡単なサンプルを作成してコードをご紹介しても良いのですが、なかなかそこまで時間もとれないので、申し訳ありませんが、どのような処理概念で、どんなところをポイントに作成するかといったところを以下に手順を追ってご説明します。 前提知識として、Windows Server 2008 の Developer Center の 「ワークフローの作成とランタイムサービス (EDS, 永続化サービス) の利用」でご紹介しているレベルの WF (Windows Workflow Foundation) の知識は必要になりますので、まだこれからという方は、まずはこれらの情報を参考にして WF のイメージをつかんだ上で参考にしてください。 <構成イメージ> (2007/06/08 […]

.NET Framework 3.0 時代のサーバ開発 (Webキャスト追加)

こんにちは。 Windows Server 2008 の Developer Center の Web キャストを追加しました。 http://www.microsoft.com/japan/msdn/windows/windowsserver2008/  Windows Server 2008 の登場で本格化するサーバ開発について、まずは .NET Framework 3.0 によるサーバ開発がどのような姿になるかを理解してもらうため、WCF/WF を中心として Web キャストを紹介しています。今回は、WF 系の開発イメージをつかんでもらうための Web キャストを追加しました。(今後は管理系も「組める」感覚をつかんでもらえるようなデモを提供し、さらにはもっと Longhorn 的なインフラとどう組み合わせるかといったところも出していきたいのですが、まずはその準備として、新しいサーバ開発の姿を実感してもらえればと思います。) 「ワークフローの作成とランタイムサービスの利用」は、かなり長めの 50 分もののビデオですが、WF の本質を実感したい方は、お時間のある折に是非ご覧ください。普段セミナーなどでも、時間の制約上、「Hello World」的な実用とかけはなれたデモや、逆に、いきなりできあがった複雑な完成品をみせられてしまうなど、なかなかこの辺りの「深み」を理解してもらう時間がとれないのですが、このWebキャストでは、その辺りの制約もなく、思い切りスクラッチから作成してみました。(あとはこれに、トラッキングサービスなどを組み合わせると、もっとエレガントなアプリになります。) このビデオを通して、ワークフローのエンジンが、 エンジンそのものが […]

VSTO の新機能 : VBA との相互運用 (インターオペラビリティ)

【環境】 Microsoft Office 2007 Enterprise Visual Studio Codename Orcas (Beta 1) Orcas  でみる VSTO の新機能 リボンのデザインサポート Word コンテントコントロールのデータバインド ClickOnce Outlook フォーム リージョン (ここから Beta 1 を使っています、、、) VBA との相互運用 SharePoint ワークフローの作成と配置の自動化 こんにちは。 今日は、昨日から再開した Orcas […]

VSTO の新機能 : Outlook Form Region (Outlook フォーム領域)

【環境】 Microsoft Office 2007 Enterprise Visual Studio Codename Orcas (Beta 1) Orcas  でみる VSTO の新機能 リボンのデザインサポート Word コンテントコントロールのデータバインド ClickOnce Outlook フォーム リージョン (ここから Beta 1 を使っています、、、) VBA との相互運用 SharePoint ワークフローの作成と配置の自動化 こんにちは。 ご無沙汰してしまい申し訳ありません。ブログで途中までで止まっていた掲記のご紹介について、今日は、Outlook Form […]