Welcome to MSDN Blogs Sign in | Join | Help

[Info] Windows Server 2008 "R2"、魅力の新機能をバリバリ学習

こんにちは。

Windows Server 2008 R2 の新機能をご紹介する Web Cast が公開されました。

Windows Server 2008 R2 Webcast (日本語) :
http://www.microsoft.com/japan/windowsserver2008/r2/webcast/default.mspx

 

Posted by tsmatsuz | 0 Comments
Filed under: ,

PowerShell V2 と IIS PowerShell スナップインによるリモート管理

環境 :
Windows Server 2008 R2 (RC)

こんにちは。

つぎの尻切れトンボデモは、さいごにデモした PowerShell V2 と IIS PS スナップイン (Snap-In) です。デモで失敗して禁断のファイアウォールフルオープンでごまかした設定は、なぜかホテル戻ってから環境もどして実施したところ、ちゃんと動きました。。。(そんなもんですね、世の中は。。。)

以前、実は こちらのブログ で IIS マネージャの UI を使ったリモート管理について記載していますが、この続きとして本投稿を記載しておきます。(無論、従来通り、appcmd でもできますが、新しい PS Snap-In は、意味的にも非常にわかりやすいです !)

  1. ちょっと UI 編
  2. 完全にコマンド編

接続される側のマシン (サーバーコア) 側の設定 

まず、接続される側のマシンでは、「Windows Remote Management」のポートを空け、PowerShell のリモート接続を許可しておきます。(PowerShell を起動して、以下を実行します。)

# Windows ファイアウォールのポートを空ける
netsh advfirewall firewall set rule group="Windows Remote Management" new enable=yes

# PowerShell のリモーティングを有効にする
enable-psremoting 

接続するクライアント側からの操作 

ということで、あとは、リモートから接続して管理します。コード/実行モジュールの配置やデバッグなどは、上記リンクに記載している方法と同様に、リモートデバッグなどを使用してください。

# リモートマシンのセッションを作成して、このセッションに入ります !
enter-pssession demomachine1 -credential example\Administrator

# パスワード入力のダイアログが表示されるので、入力してください . . . (省略)

# 下記で、どの役割 / 機能が 無効 / 有効 か確認します
# (なぜなんでしょうね . . . dism のパイプ処理がなぜか文字化けするため、/english にしておましょう)
dism /online /get-features /format:table /english | findstr /i  iis

# IIS の Web サーバーロールを有効にします
dism /online /enable-feature /featurename:IIS-WebServerRole

# では、いよいよ、IIS の PS プロバイダーを設定します !
set-executionpolicy -executionpolicy unrestricted
import-module WebAdministration

# デモでご紹介したとおり、以下の通り入力すると、IIS のプロバイダーが入っているのが確認できます
get-psprovider

# 上記のプロバイダーのおかげで、IIS はドライブのように扱えます !
cd IIS:
dir

[出力結果]
Name
----
AppPools
Sites
SslBindings

dir IIS:\sites

Name                   ID      State    . . . . .
----                        --       -----
Default Web Site   1       Started   . . . . .

# 準備として、デモ用のディレクトリと HTML ファイルを作ってみましょう
mkdir c:\demo
cd c:\demo
echo test > test.htm

###########
# 下記の通り、非常に "意味的に" IISへの操作ができるんです ! (一部紹介)
###########

# 仮想ディレクトリ作成 !
new-webvirtualdirectory -site "Default Web Site" -name demoweb -physicalpath c:\demo

# 上記の仮想ディレクトリを「Webアプリケーション」として設定 !
convertto-webapplication -applicationpool "DefaultAppPool" "IIS:\sites\Default Web Site\demoweb"

# リモートマシンのセッションを抜けます
exit-pssession

 

Posted by tsmatsuz | 2 Comments
Filed under:

VDI による個人ごとのクライアント環境構築

環境 :
Windows Server 2008 R2 (RC) 

こんにちは。

週末 (2009/07/04) の 北海道でのコミュニティ勉強会 にご参加いただいた皆様、お疲れ様でした。(そして、懇親会では、お祝いまで実施いただき、ほんとありがとうございます。)

すっかり恒例行事になってしまい申し訳ありませんが、セミナーで尻切れトンボになってしまったデモのフォロー記事を記載します。(VDI の箇所と、さいごのスクリプトでの管理の箇所を記載します。なお、最初に実施した 「Windows Installer を 64 bit で動かす」 のデモも時間がなくて設定だけで終わってしまいましたが、あとは走らせるだけなのでここでは再掲しません。)

まずは、VDI (仮想デスクトップインフラストラクチャー) です。VDI の動きについては見て頂いた通りですが、「時間があまったら実施する」と宣言して二度と実施しなかった 「差分ディスクを使って、個人、個人、別の開発クライアントマシン環境を用意する」というデモの部分を記載します。余談ですが、このデモ、皆さんにもご説明したように、IT Pro エバンジェリスト 高添 に聞きながら半日かけて作ったデモ環境だったのですが、結局、お見せできませんでした . . . (高添さん、せっかくお手伝い頂いたのに面目ありません . . . ) 

このデモのシナリオ (おさらい)

Visual Studio などのインストールされた個々人ごとの開発マシン環境 (同一マシンを複数ユーザーで共有するのではなく、個々人別々のクライアント仮想マシン環境) を VDI を使って作成します。
ここでポイントとなるのは、Visual Studio などの環境を全部の仮想イメージに入れるのではなく、テンプレート (雛型) となる開発環境の仮想ハードディスクを用意し、各開発者の環境は、このイメージの「差分」の情報のみを管理することでディスクをセーブして仮想環境を構築します。

下記の通り、実施していること自体はそれほどむずかしい手順ではありませんが、同様の環境が今後必要になるケースも多いと思いますので、是非、雰囲気を参考にしておいてください。

実施手順

まず、当然ですが、VDI が使える環境を準備してください。この手順自体も、実はそこそこ大変なのですが、手順が 評価ガイド に掲載されていますので、この手順に沿って実施してください。
なお、このガイドの一部に、「RD 仮想化ホストの役割サービスをインストールしたサーバーに、RD 接続ブローカーの役割サービスを一緒にインストールしないでください」 と書かれていますが、AD、Hyper-V ホスト、RD 仮想化ホスト、RD Web アクセス、RD セッションホスト、RD 接続ブローカーのすべてを同一マシンに入れることができます。

そして、雛型となる、共通の開発環境の入った vhd を Hyper-V などで作成します。(Hyper-V の仮想マシンを作成して、これらの環境を構築しておきます。) マシン名の設定、ドメインへの参加などはあとで個別に実施するので、まずは、ワークグループのスタンドアロンなクライアント環境で充分です。
これで事前準備は完了です。

つぎに、上記の仮想ハードディスクをもとに、特定ユーザー向けの差分ディスクを作成します。Hyper-V 上で、仮想ハードディスクを作成し (下図)、

出てくるウィザードで、[差分] を選択して (下図)、元のディスクとして上記の雛型のディスクを選択し、新しい差分の仮想ハードディスクを作成します。

つぎに、Hyper-V 上で仮想マシンを作成します。この際、まず、マシン名として、下図の通り、その仮想マシンの FQDN を設定し (RD 接続ブローカーが、この名前で仮想マシンを検索します)、さらに使用する仮想ハードディスクとして、上記で作成した差分のディスクを選択します。

 

つぎに、この仮想マシンを Hyper-V で起動し、IP アドレス、マシン名、ドメインを設定します。(ライトニングトークスで発表されていたように、仮想マシンがクリアされているため、IP アドレスもクリアされています。)
以上で、ユーザー個別のマシンが準備できました。

サーバーマネージャで、リモートデスクトップ接続マネージャのツリーを展開し、下図の [個人用仮想デスクトップ] を選択して、操作メニューから、[ユーザーに対する個人用デスクトップの割り当て] を選択します。

あとは、表示される画面で、割り当てるドメインのユーザーと、上記の作成した仮想マシンの FQDN を入力して完成です。

クライアント環境から、デモでお見せした RD Web アクセスにブラウザを使って接続すると、今度は下記の通り、[マイデスクトップ] が表示されるため、これをクリックすると、上記の仮想マシンが起動します。

また、セミナーでもご説明したように、仮想マシンの待機時間を設定しておくと、一定時間使用しない場合に状態は保存され、メモリから退避されます。(再度このデスクトップに接続すると、メモリ上に続きからロードされます。)

なお、上記で設定したドメインユーザーへの仮想デスクトップは、下図の通り、AD (Active Directory) のユーザーのプロパティとして設定されており、この設定を変更することで、仮想マシンを解除したり、変更したり、といった設定が可能です。

 

Posted by tsmatsuz | 0 Comments
Filed under:

まもなく出ます . . .

こんにちは。

突然ですが、.NET の開発に関わっている皆様は、「最近、やたらとテクノロジーが多すぎてわけがわからん !」 と思われてませんか ?  (きっと私も、マイクロソフトの社員でなければそう感じていたでしょう . . . 昔はもっと簡単だった . . .)

「そんな悩みを解決してくれる本は出ないものか、、、」 としばらく思っていましたが、今回、エバンジェリスト共同チーム (井上 章、井上 大輔、川西、小高、鈴木、中原) で、こうした皆さんの「わだかまり」を少しでも緩和できるよう、書籍を執筆することにしました。


(出版までもう少々時間かかりますが、もう予約できるようです。。。)

Visual Studio 2008 (.NET Framework 3.5) をベースに、ASP.NET 系では、ASP.NET、ASP.NET AJAX、Dynamic Data、さらに、次期 Visual Studio で標準プラグインされる ASP.NET MVC、またデータアクセス技術では、ADO.NET、LINQ、Entytity Framework 、Data Services など、それぞれの技術が、どのような背景に基づいて、どのような思想のテクノロジーであるかをサンプルコードを含めながら紹介しています。

日経 IT Pro では、先行して、本書の抜粋をご紹介しています。

.NET開発テクノロジ入門 :
http://itpro.nikkeibp.co.jp/article/COLUMN/20090618/332108/?ST=develop

技術を全部マル暗記する必要はありません。symfony、rails など MVC 的な手法を使われている方 (ASP.NET の "あの" 考え方が嫌いな方)、データアクセスの非接続型に納得できない方、データ指向アプローチの簡単な世界に行ってしまった方、、、最近の .NET ではこんな選択肢もあるんです . . .

.NET 嫌いな方も、相手の技術を知らずに嫌いになるのではなく、どうせなら、知ってから嫌いになってみてください。。。
以下に、本書の「はじめに」からの抜粋を記載します。

・ ・ ・ ・ ・
特に、Visual Studio 2008(または.NET Frameworkバージョン3.5)以降では、こうした選択肢の数は飛躍的に増加しました。
しかし、こうした多様化は、アプリケーション開発者に選択肢の幅を広げるという利点を与えるだけではありません。その一方で、この溢れるテクノロジの海によって全体の理解を困難にし、その結果、そのアプリケーションが本来必要とする品質に適合しないテクノロジを選択してしまうケースもしばしば発生してしまうかもしれません。
本書は、こうしたさまざまなテクノロジについて、その位置付けや活用場面などを理解することを助ける目的で執筆されました。
・ ・ ・ ・ ・

 

Posted by tsmatsuz | 0 Comments
Filed under: , ,

SharePoint WCM (3) : コンテンツ管理用のソリューションパッケージ作成

(2009/07/01 : バリエーション機能に対応できるようにサンプルコードを修正) 

環境 :
Microsoft Office SharePoint Server 2007
Visual Studio 2008 (Professional Edition 以上)
Visual Studio Extensions for Windows SharePoint Services 3.0 (VSeWSS) Version 1.2 

こんにちは。

SharePoint WCM (セミナー補足) :

さいごに、総まとめでお見せしたソリューションパッケージのサンプルです。下記に、サンプルのダウンロードも添付しておきます。(昔作ったデモを今回のセミナー用に部分的に変えただけなので、皆さんの環境でちゃんと動くかは???ですが、、、なお、MOSS が必要です。)

まず、「Web ソリューションパッケージ (wsp) とは何 ?」、「どう作るの ?」 という基礎は以前投稿した下記を参照してください。(なお、セミナーでご質問を受けたのですが、このソリューションパッケージのインストールは、ファーム構成の場合、単一構成と同様の要領でファームに対して 1 回インストールをおこなえば分散された WFE などについてもすべて配置されるようです。すみません、私自身この環境で試していなかったのですが、、、)

http://blogs.msdn.com/tsmatsuz/archive/2008/04/02/vsewss-1-vsewss-1-1.aspx

今回も、上記で記載している要領で、マスターページ、ワークフロー、レイアウトページ (セミナーでデモした要領) などの必要な機能 (フィーチャー) をサイト定義に含めておきます。(この手順詳細は上記を参照してください。)

今回は、利用者、あるいは運用者がサイトの新規作成をおこなうと、セミナーで説明した「発行インフラストラクチャー」、「発行機能」などの必要なフィーチャーを有効化 (Activate) し、さらにデモでお見せしたカスタムのマスターページ、カスタムのレイアウトページ、カスタムのコンテンツ承認ワークフローと [ページ] ライブラリへの関連付け、のすべてを実施してくれるサイト定義を作成してみます。

まず、この際の注意点ですが、SharePoint に既存で含まれている [発行サイト] のテンプレートのように、「発行インフラストラクチャー」、「発行機能」 の両方をアクティベートさせたい場合は、上記 (以前のブログ投稿) で記載している方法 (コードを使った機能のアクティベート) ではなく、ちゃんと onet.xml を使用しましょう。
VSeWSS のサイト定義のプロジェクトに含まれる onet.xml に以下のように記述することで、このサイト定義の利用者がサイトを作成する際に、適切な順序で、適切な機能のアクティベートをおこなってくれます。(サイトコレクションに対して設定するフィーチャーと、サイトに対して設定するフィーチャーがあるので注意しましょう。下記以外にも、必要なフィーチャーがあれば入れておくと良いでしょう、、、)

<?xml version="1.0" encoding="utf-8"?>
<Project Title="テストサイト" . . .>

  . . . . .

  <Configurations>
    <Configuration ID="0" Name="Default">

      . . . . .

      <SiteFeatures>
        . . . . .
        <!-- SharePoint ワークフロー 共通機能 -->
        <Feature ID="C9C9515D-E4E2-4001-9050-74F980F93160" />
        <!-- 発行インフラストラクチャー -->
        <Feature ID="f6924d36-2fa8-4f0b-b16d-06b7250180fa" />
        <!-- カスタムのマスターページ (よって、Id は構築結果に応じて変更してください) -->
        <Feature ID="bec7f3a3-e53e-4c6e-b3d6-83604b8092bb" />
        <!-- カスタムのレイアウトページ (よって、Id は構築結果に応じて変更してください) -->
        <Feature ID="00edf1fb-230d-48e9-ba73-14e9a38a5329" />
        <!-- カスタムのワークフロー (よって、Id は構築結果に応じて変更してください) -->
        <Feature ID="F8222634-F70A-401c-A39F-5911FB2B3E78" />
      </SiteFeatures>
      <WebFeatures>
        . . . . .
        <!-- 発行機能 -->
        <Feature ID="94c94ca6-b32f-4da9-a9e3-1f3d343d7ecb" />
      </WebFeatures>
  . . . . .

 

そして、セミナーでもご紹介したサイトプロビジョニングハンドラーのコード作成です。
上記の onet.xml により、カスタムのマスターページ、ワークフローなど必要な機能 (フィーチャー) の有効化は完了ですので、あとは、登録したカスタムマスターページをサイトの既定のマスターページとして設定する作業と、ワークフローをコンテンツ承認用に [ページ] ライブラリに関連付ける作業をおこないます。

サイトプロビジョニングハンドラーは以下の通りになります。(Microsoft.SharePoint.Publishing.dll の参照追加をあらかじめ実施しておいてください。)

public void OnActivated(SPFeatureReceiverProperties properties)
{
    SPWeb web;
    if (properties.Feature.Parent is SPWeb)
        web = (SPWeb)properties.Feature.Parent;
    else
        web = ((SPSite)properties.Feature.Parent).RootWeb;

    SetMasterPage(web);
    SetPublishingWorkflow(web);
}

private void SetMasterPage(SPWeb web)
{
    web.AllowUnsafeUpdates = true;

    // [ページ] 内のページすべてにカスタムのマスターページを適用
    web.CustomMasterUrl = web.Site.ServerRelativeUrl + "/_catalogs/masterpage/MyDemoMaster.master";

    // 設定画面などのシステムのマスターページも変更するには、下記のとおり記述。
    // ただし、タスクリストなどでは、default.master に含まれるコントロールなどを使用しているため注意 !!
    // (下手に変えると、こうした画面が表示されなくなります)
    //web.MasterUrl = web.Site.ServerRelativeUrl + "/_catalogs/masterpage/MyDemoMaster.master";

    web.Update();
}

private void SetPublishingWorkflow(SPWeb web)
{
    web.AllowUnsafeUpdates = true;

    // ワークフローテンプレートの取得 (注 : フィーチャー Id ではなく、ワークフロー Id です)
    SPWorkflowTemplate wfTmpl = web.WorkflowTemplates.GetTemplateByBaseID(new Guid("5AF9335C-9D4F-4aa1-93C9-C079F469D9D2"));

    // [ページ] ライブラリの取得
    SPDocumentLibrary pageLib = (SPDocumentLibrary)web.Lists["ドキュメント"]; // ダミー
    foreach (SPList list in web.Lists)
    {
        if (list.BaseTemplate == (SPListTemplateType) 850) // ページライブラリはテンプレート 850 です !
        {
            pageLib = (SPDocumentLibrary)list;
            break;
        }
    }

    // タスクリストの取得 (今回は、既にサイト定義に存在する「Tasks」というリストを使う)
    SPList taskList = web.Lists["Tasks"];

    // ワークフロー履歴リストの取得 (その前に作成します . . .)
    string histListName = "ワークフローの履歴";
    SPListTemplateType prcListTemplateTypeHistory = SPListTemplateType.WorkflowHistory;
    web.Lists.Add(histListName, "history list", prcListTemplateTypeHistory);
    SPList histList = web.Lists[histListName];

    // ワークフローの関連設定
    pageLib.EnableModeration = true; // (コンテンツ承認を有効化)
    SPWorkflowAssociation wfAssoc = SPWorkflowAssociation.CreateListAssociation(wfTmpl, "AutoWorkflow", taskList, histList);
    wfAssoc.AllowAsyncManualStart = false;
    wfAssoc.AllowManual = true;
    pageLib.AddWorkflowAssociation(wfAssoc);
    pageLib.DefaultContentApprovalWorkflowId = wfAssoc.Id;
    pageLib.Update();
}

また、WSP ビューから、サイト定義の定義ファイル (webtempXXX.xml) を開いて、以下の通り定義します。下記では、[発行] のカテゴリに含まれるサイトテンプレート(下記のDisplayCategory 参照)で、バリエーション階層の作成時などでも選択可能 (下記の FilterCategories 参照) なサイトテンプレートとして定義しています。

<?xml version="1.0" encoding="utf-8"?>
<Templates>
 <Template Name="SiteDefinition1" ID="10001">
    <Configuration ID="0"
        Title="デモの発酵サイト"
        Description="テストです!"
        Hidden="FALSE"
        ImageUrl="/_layouts/1041/images/MyDemo.png"
        FilterCategories="PublishingSiteTemplate"
        DisplayCategory="発行"/>
  </Template>
</Templates>

これで、すべて完了ですので、このサイト定義をインストールしましょう。

既存の SharePoint の [発行サイト] のテンプレート同様、全体管理 (Central Administration) 画面から、下図のように追加されたサイト定義を選択してサイトコレクションを新規作成すると、

  • サイトコレクションの [発行インフラストラクチャー] の有効化
  • サイトの [発行機能] の有効化
  • カスタムマスターページの有効化と、全ページへの適用 (ただし、[ページ] ライブラリのページ)
  • カスタムレイアウトの登録
  • カスタムのコンテンツ承認ワークフローの [ページ] ライブラリへの設定

のすべてが設定されたサイトコレクションが新規作成されます。

セミナーのデモで使用したサンプル (上記) は、以下になります。

デモで使用したサンプル (ダウンロード)

このサンプルで、ページのコンテンツ承認ワークフローを流すと、「Tasks」という名前の既存のタスクリストにタスクが追加されますので、このタスクを完了 (進捗率を 100 % に設定) することでページが承認されて公開されます。(私のデモ環境ではちゃんと動きましたが、動かなかったらゴメンナサイ、、、)

 

Posted by tsmatsuz | 0 Comments
Filed under: ,

SharePoint WCM (2) : メニュー/ツリー/ナビゲーションのカスタマイズ

環境 :
Microsoft Office SharePoint Server 2007
Visual Studio 2008 (Professional Edition 以上)

こんにちは。

SharePoint WCM (セミナー補足) :

セミナーのフォローアップ記事 Part 2 です。

メニュー / ツリー / ナビゲーションも、デフォルトのものではなく、細かなカスタマイズを必要とするケースが多くなります。ご紹介したように、これを解決する基本は、やはり ASP.NET です。

例えば、発行機能が有効になっているサイトでは、下記のようにページが発行されるたびにタブが増えていきます。

SharePoint では、あちこちに垂直、水平などでさまざまな動的メニュー / 動的ツリーを表示することができますが、今回は、ここ(上図)をカスタマイズしてみましょう。 

予備知識

まず、この仕組みですが、ASP.NET のサイトマップの仕組みを使用しているだけです。(よって ASP.NET を知っている方なら、むずかしくありません。)

まず、上図の箇所のマークアップソース (default.master) をみてみましょう。(注意 : 編集に際しては default.master を直接編集せず、コピーなどをして、そのコピーしたマスターページを編集してください。)

<asp:ContentPlaceHolder id="PlaceHolderHorizontalNav" runat="server">
  <SharePoint:AspMenu
    ID="TopNavigationMenu"
    Runat="server"
    DataSourceID="topSiteMap"
    EnableViewState="false"
    AccessKey="<%$Resources:wss,navigation_accesskey%>"
    Orientation="Horizontal"
    StaticDisplayLevels="2"
    MaximumDynamicDisplayLevels="1"
    DynamicHorizontalOffset="0"
    StaticPopoutImageUrl="/_layouts/images/menudark.gif"
    StaticPopoutImageTextFormatString=""
    DynamicHoverStyle-BackColor="#CBE3F0"
    SkipLinkText=""
    StaticSubMenuIndent="0"
    CssClass="ms-topNavContainer">
    <StaticMenuStyle/>
    <StaticMenuItemStyle CssClass="ms-topnav" ItemSpacing="0px"/>
    <StaticSelectedStyle CssClass="ms-topnavselected" />
    <StaticHoverStyle CssClass="ms-topNavHover" />
    <DynamicMenuStyle  BackColor="#F2F3F4" BorderColor="#A7B4CE" BorderWidth="1px"/>
    <DynamicMenuItemStyle CssClass="ms-topNavFlyOuts"/>
    <DynamicHoverStyle CssClass="ms-topNavFlyOutsHover"/>
    <DynamicSelectedStyle CssClass="ms-topNavFlyOutsSelected"/>
  </SharePoint:AspMenu>
  <SharePoint:DelegateControl runat="server" ControlId="TopNavigationDataSource">
    <Template_Controls>
    <asp:SiteMapDataSource
      ShowStartingNode="False"
      SiteMapProvider="SPNavigationProvider"
      id="topSiteMap"
      runat="server"
      StartingNodeUrl="sid:1002"/>
    </Template_Controls>
  </SharePoint:DelegateControl>
</asp:ContentPlaceHolder>

セミナーでご説明した「SharePoint 用に継承されたクラス」が使われていますが、基本はASP.NETと同じ???です。が、しかし、う~ん、ASP.NET を知っている人でもちょっと面くらってしまうかもしれませんね。実は、おぼえてしまえば難しいものではありません。

まず、<SharePoint:AspMenu /> は、SharePoint 独自のメニューを使用しているだけで、基本的には <asp:Menu /> の SharePoint 版だと思ってもらえれば充分です。

そして、<SharePoint:DelegateControl /> のタグですが、これは ASP.NET を知っている人でも初めて見るタグかもしれませんが、「委任コントロール」と言う SharePoint の機能で、上記の ControlId 値の「TopNavigationDataSource」に一致する複数のコントロールのフィーチャー (機能) の中で Sequnce 番号の優先順位がもっとも高いフィーチャー (コントロールのフィーチャー) がここに設定されるというものです。つまり、このようにすることで、サイトごとに表示を切り替えることができるようになっています。(どのフィーチャーが有効であるかはサイトごとに異なるため、このように記述することで、同じマスターページを使ってサイトごとに異なったコントロールが挿入できます。)
セミナーでは別の方法でデモをしましたが、例えば、発行機能が有効になっているサイトでは、以下の通り書き換えても同じ意味になります。(SharePoint ハイブの FUTURES\Navigation フォルダのフィーチャーが使用されています。) このように記述すると、ASP.NET な方でも意味を理解していただけるでしょう。。。

<%@ Register Tagprefix="PublishingNavigation" Namespace="Microsoft.SharePoint.Publishing.Navigation" Assembly="Microsoft.SharePoint.Publishing, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>

. . . . .

<asp:ContentPlaceHolder id="PlaceHolderHorizontalNav" runat="server">
  <SharePoint:AspMenu . . .>
    . . . . .

  </SharePoint:AspMenu>
  <PublishingNavigation:PortalSiteMapDataSource
    ShowStartingNode="True"
    SiteMapProvider="CombinedNavSiteMapProvider"
    id="topSiteMap"
    StartFromCurrentNode="true"
    StartingNodeOffset="0"
    EnableViewState="false"
    TreatStartingNodeAsCurrent="true"
    TrimNonCurrentTypes="Heading"
    runat="server"/>
</asp:ContentPlaceHolder>

ということで、普通の ASP.NET 同様、ただ単に、Menu とサイトマップを使っているだけなのです。

カスタムのサイトマッププロバイダーを使ったカスタムな表示項目

ここまで仕組みがわかったら、あとは普通の ASP.NET のようにカスタマイズすれば終わりです。ここに独自のリンクを表示する独自なサイトマッププロバイダーを作成してみましょう。ここで紹介するコードはあまり意味がありませんが、このコードが理解できれば、あとはコードを自由に変更して、例えば、「特定の列 (フィールド) に値が設定されているページだけをメニューに表示する」など、自由にメニューの表示項目を設定できます。

まず、カスタムのプロバイダーを実装します。Visual Studio でクラスライブラリのプロジェクトを新規作成して、以下を参照追加します。

System.Web.dll
System.Configuration.dll
Microsoft.SharePoint.dll

下記のコードを実装します。

using System;
using System.Collections.Generic;
using System.Text;
using System.Web;
using Microsoft.SharePoint;
using Microsoft.SharePoint.WebControls;
using Microsoft.SharePoint.Utilities;

namespace CustomSamples
{
  public class MyTestSiteMapProvider : StaticSiteMapProvider
  {
    private SiteMapNode rootNode = null;
    private DateTime lastModified;

    public override void Initialize(string name, System.Collections.Specialized.NameValueCollection attributes)
    {
      base.Initialize(name, attributes);
      // (初期化なし)
    }

    public override SiteMapNode BuildSiteMap()
    {
      // 5 分に 1 回更新 (それ以外はキャッシュを使用)
      if ((rootNode != null) && ((DateTime.Now - lastModified).Minutes < 5))
        return rootNode;

      // 状態を更新するため排他ロック !
      lock (this)
      {
        Clear();

        rootNode = new SiteMapNode(this, "Home", "/Default.aspx", "ホーム", "これはホームです");

        SPWeb web = SPControl.GetContextWeb(HttpContext.Current);
        foreach (SPList list in web.Lists)
        {
          // [ページ] ライブラリを取得 !
          if (list.BaseTemplate == (SPListTemplateType)850)
          {
            foreach (SPListItem item in list.Items)
            {
              if(item.Level == SPFileLevel.Published)
              {
                SiteMapNode node = new SiteMapNode(this,
                  "Site" + item.ID.ToString(),
                  SPUrlUtility.CombineUrl(web.ServerRelativeUrl, item.Url),
                  item.Title);
                AddNode(node, rootNode);
              }
            }
          }
        }

        lastModified = DateTime.Now;

      }
      return rootNode;
    }

    protected override SiteMapNode GetRootNodeCore()
    {
      if (rootNode == null)
        BuildSiteMap();
      return rootNode;
    }
  }
}

上記のように、ここでは、[ページ] ライブラリの公開ページを検索して設定しているだけなのであまり意味がありませんが、このようにして、いかようにでもメニューに提供する項目をコードで記述することができます。 (上記の通り、ASP.NET における普通のサイトマッププロバイダーです。)

署名を添付してビルドし、dll を GAC に登録します。 

つぎに、SharePoint の web.config を開き、以下 (太字) を追加します。(下記は、作成したクラスライブラリにあわせてアセンブリ名など変更してください。)

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<configuration>
. . . . .

    <siteMap defaultProvider= . . . >
      <providers>
        . . . . .

        <add name="MyCustomProvider" description="Provider for custom navigation" type="CustomSamples.MyTestSiteMapProvider, CustomSamples, Version=1.0.0.0, Culture=neutral, PublicKeyToken=133b75b7653d82a9" />
      </providers>
    </siteMap>
. . . . .

iisreset をおこないます。

さいごに、前述のマークアップコードで示したマスターページ (.master) のサイトマップデータソース / プロバイダーの設定箇所を下記 (太字) の通り変更して、このカスタムのサイトマッププロバイダーを使用するようにします。

<asp:ContentPlaceHolder id="PlaceHolderHorizontalNav" runat="server">
  <SharePoint:AspMenu . . .>
    . . . . .

  </SharePoint:AspMenu>
  <asp:SiteMapDataSource
    ShowStartingNode="false"
    SiteMapProvider="MyCustomProvider"
    id="topSiteMap"
    runat="server"/>
</asp:ContentPlaceHolder>

以上で完了です。

ここでは、サイトマッププロバイダーのカスタマイズ (つまり、表示されるアイテムのカスタマイズ) しか説明していませんが、メニューなどのスタイルも当然フルカスタマイズできます。ちょうど 1 週間ほど前に、SharePoint Team Blog でも以下のような投稿がありましたので、実際のインターネットサイトでどのようなスタイル設定をおこなったか、など、是非参考にしてみてください。(xslt の編集など、昨日のセミナーを思い出していただくと、カスタマイズ方法がいろいろ連想していただけると思います。)

How We Did It: SharePoint.Microsoft.com :
http://blogs.msdn.com/sharepoint/archive/2009/06/18/how-we-did-it-sharepoint-microsoft-com.aspx

 

Posted by tsmatsuz | 0 Comments
Filed under:

SharePoint WCM (1) : コンテンツ承認ワークフロー (CMS 用ワークフロー) の開発と設定

環境 :
Microsoft Office SharePoint Server 2007
Visual Studio 2008 (Professional Edition 以上)

こんにちは。

昨日のセミナー (SharePoint Developer Forum 「インターネットでのSharePoint Server 2007 活用技術」) では、1 時間延長というとんでもない延長試合になってしまい、申し訳ございませんでした。
さんざんデモだけ実施して終わってしまいましたが、SharePoint の CMS 関連の機能 (= WCM, Web コンテンツ管理) の利点は、ご覧頂いたように以下が特徴です。

  • .NET を基盤としてフルカスタマイズ可能
  • さらに、カスタマイズした機能をモジュール化できる (デザイン担当、ベース機能開発、カスタマイズ& 設定 & 管理 の明確な分業が可能)

逆にカスタマイズをまったく実施しないのであれば、フリーの CMS ツールなどと比べ、SharePoint の利点がかすんでしまうかもしれません。(世の中には、同等の機能を持ったいくつかの CMS ツールが存在しています。) SharePoint の CMS 機能は、上記の特性から、Web サイトの構築/保守がコア業務で、専門の機能を永続的に保守していくような場合に投資 (機能の初期構築) する価値のあるソリューションと言えるかもしれません。

さて、ご参加いただいた皆様向けに、セミナーでさらさらと流してしまったコードの部分のみを順番に掲載していきます。

SharePoint WCM (セミナー補足) :

まず最初は、デモで構築したコンテンツ承認ワークフローです。

事前の設定 (軽い復習, ただし匿名認証等は除く、、、)

セミナーでご説明した要領で、コンテンツ管理 (WCM) 用にサイトを構成します。下記に手順を復習します。

  1. サイトコレクション (SPSite) の [発行インフラストラクチャー] の機能 (フィーチャー) と、サイト (SPWeb) の [発行機能] の機能 (フィーチャー) をアクティブにします。
    (この設定により、このサイトで、ページの発行機能、再利用可能コンテンツ、リンク関連の追跡、差分管理、バリエーション等々の CMS 関連のさまざまな機能が使用可能になります。)

  2. 上記でも基本機能は使えますが、スケジュール設定 (公開日の設定、など)、ワークフローによる承認発行などの便利機能も使えるように、設定をおこないます。
    作成するページが保管される [ページ] のドキュメントライブラリの設定ページを開き、 [バージョン管理] をクリックして、[コンテンツ承認] 欄の [送信されたアイテムに対してコンテンツの承認を必須にする] のラジオボタンを選択して確定します。

以上で、設定が終了しました。
ページを新規作成して、[ワークフロー] メニューをドロップダウンするとわかりますが、この段階だと、まだ、承認ワークフローにまわさずに、いきなり [発行] をおこなうことができてしまいます (下図)。そこで、ワークフローを設定して、承認をおこなって発行させるように変更します。

ワークフローの作成 / 設定 

ご説明したように、ワークフローは、わざわざ自作をしなくても、発行承認用のワークフローが既に入っていて、これを設定することができます。
しかし、日本の多くのコンテンツ管理の現場では、企業にあわせて独自のワークフローが必要とされる場面が多くなることでしょう。そこで、以下では、独自のワークフローを作成して、これをコンテンツ承認で使用していきます。

まず、ワークフローの作成からはじめます。簡単なワークフローで結構ですので、Visual Studio 2008 を使用して、こちら で紹介しているような単純なワークフローを作成してみてください。(ここでは、基本的な作成方法は省略します。)

ここで、コンテンツ承認用のワークフローを作成するためには、セミナーでご説明したように 2 つだけやるべきことがあります。

まず 1 つ目は、下図のように、このワークフローが完了したら、アイテムをメジャーバージョン (バージョン 1.0) として発行できるようにしておくという点です。

この設定がおこなえるようにするために、開発したワークフローのワークフローマニフェスト (workflow.xml) に以下のように #OnMajorCheckIn の初期化フラグを設定しておきます。

<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <Workflow
     Name="SharePointWorkflow1"
     . . . . .

    <MetaData>
      <InitiationType>Manual;#OnMajorCheckIn</InitiationType>
      . . . . .

    </MetaData>
  </Workflow>
</Elements>

2 つ目は、ワークフローの完了時に、発行モデレート機能のステータスを設定するという点です。

たとえば、さいごのタスク完了アクティビティのハンドラに、以下のように記述をおこなうことで、ワークフロー終了時に「承認澄み」のコンテンツ承認用のステータスを設定します。(実際の開発では、ワークフロー開始時に「承認待ち」ステータスにするなど、細やかに設定をおこなってください。)

private void completeTask1_MethodInvoking(object sender, EventArgs e)
{
    SPListItem item = workflowProperties.Item;
    SPModerationInformation modInfo = item.ModerationInformation;
    modInfo.Status = SPModerationStatusType.Approved;
    item.Update();
}

以上で、このワークフローは、立派なコンテンツ承認ワークフローとして使用することができます。

このワークフローをビルド / 配置して、[ページ] ライブラリのワークフローとして設定をおこなってください。(上図の通り、[アイテムのメジャーバージョンの発行を承認するために、このワークフローを開始する] のチェックをおこなってワークフローの設定をおこなうようにしてください。)

これで、下図のように、承認をせずに「発行」をおこなうことはできなくなり、必ず承認依頼 (ワークフローの開始、など) をおこなわないとページの公開ができないような "まっとうなコンテンツ管理" のサイトが完成しました。[ワークフロー] メニューの [承認のため送信] を選択すると、ワークフローが開始され、ワークフローが完了すると、ドキュメントのメジャーバージョンが発行されて公開されます。

 

 

Posted by tsmatsuz | 1 Comments
Filed under: ,

シリーズ RDS : クライアントレンダリング

こんにちは。

シリーズ RDS :

今回は、クライアントレンダリングについて説明します。

概要

Windows 7 / Windows Server 2008 R2 では、GDI アプリケーション、 Windows Media、エアロ (Windows Aero)、 マイク入力などについても、サーバー側でレンダリングした結果を送るのではなく、クライアント側でレンダリングをおこなって動作します。(当初、DirectX 10.1、DXGI 1.1、Direct 2D のクライアントレンダリングも予定されていましたが、これらのクライアントレンダリングの実装については見送りとなりました。)

Aero が リモートデスクトップ (RDS) で表示されるというのはどの利用者にとっても嬉しいことですが、マイクの入力なども受け付けるので、例えば、企業内でオーディオ編集などを委託しているテンポラリースタッフの人向けにリモートデスクトップ環境を提供する、など、アプリケーションの利用シナリオとしても幅が広がることになります。

設定方法 / 動作確認

設定方法は、大変簡単です。

例えば、Aero を利用したいのであれば、接続時に、下図のように、[デスクトップコンポジション] を有効にして接続すれば OK です。

無論、RDS 接続するクライアント側も、正しいディスプレイドライバーのインストールなど、Aero が使える状態にしておく必要があります。(ただし、クライアント側のテーマを変更しておく必要はありません。)

フリップ 3D 表示なども自由自在。下記の Remote Desktop Services Team Blog に映像がバンバン掲載されていますのでイメージしてみてください。

Aero Glass Remoting in Windows Server 2008 R2 :
http://blogs.msdn.com/rds/archive/2009/06/23/aero-glass-remoting-in-windows-server-2008-r2.aspx

また、若干、設定に関する知識が必要になりますが、マイク入力も RDS のクライアントからサーバーに送信して、RDS 上でローカル環境のように利用することができます。

まず、クライアント側では、もちろん、オーディオドライバーのインストール、[高品質な Windows オーディオ ビデオ エクスペリエンス] の機能の有効化 (R2 の場合) 、[Windows Audio] サービスの開始などが必要ですので、あらかじめ、オーディオ入力ができるように設定しておいてください。

さて、サーバー側では、リモート接続をおこなった際に専用のリモート接続用のオーディオデバイスが動作します。(このため、通常、Hyper-V ではオーディオデバイスが使えません (エミュレートされません) が、RDP 接続をおこなうと Hyper-V 上の仮想マシン上でもオーディオ入力を処理できます。)
このための設定として、グループポリシーの管理画面を表示し (mmc.exe を起動して、[グループポリシーオブジェクト] のスナップインを追加)、MMC 上のツリーの [コンピュータの構成] - [管理用テンプレート] - [Windows コンポーネント] - [Remote Desktop Service] - [Remote Desktop Session Host] - [デバイスとリソースのリダイレクト] の画面を表示し、[Limit audio playback quality] を [有効] にします。([Audio Quality] は Medium などを選択しておきます。)

以上で事前設定は完了です。RDS (RDP プロトコル) を使ってリモート接続をおこない、今度は接続時に下図の通り、リモートオーディオ録音を選択しておくと、音声情報がちゃんとサーバー側に送られて、編集アプリなどで音声編集が可能となります。

RDS の新機能は、この他にもまだ数多く存在します (例 : Remote App でログインユーザーに応じてリストするアプリケーションを変える機能、など)。Windows 7 / Windows Server 2008 R2 の RDS の新機能については、上記でも紹介した Remote Desktop Services Team Blog に詳しく記載されていますので、このシナリオを検討されている方は、是非投稿内容をチェックしておくと良いでしょう。

Remote Desktop Services Team Blog :
http://blogs.msdn.com/rds/

 

Posted by tsmatsuz | 0 Comments
Filed under:

シリーズ RDS : ユーザーごとのインストール (Windows Installer 5.0)

環境 :
Windows Server 2008 R2 (または Windows 7)
Visual Studio 2008 

こんにちは。 (N スぺのようなタイトルですみません、、、)

エバンジェリスト高添 もセミナーなどでご紹介していますが、Windows Server 2008 R2 / Windows 7 におけるさまざまな連携シナリオの中の RDS (Remote Desktop Services) について、ここでは "開発者視点" でご紹介したいと思います。(セミナーの仕込み中ですが、時間が足りるか不安なのでブログに書いておくことにしました、、、)

Windows Server 2008 R2 / Windows 7 では、マシンの仮想化 (Hyper-V)、シンクライアント的な VDI シナリオに加え、"第 3" のシナリオとして RDS (従来のターミナルサービス) による複数クライアントからの利用シナリオがあり、この点でも大幅な機能強化がおこなわれています。
今回は、そうした数多くの RDS 関連の改善ポイント (例えば、RemoteApp において、Server Manager の起動など、タスクスケジューラのタスクが実行されないように抑制する仕組みなどもあります) の中で、開発者にとっても興味深い 2 つのシナリオをご紹介します。

シリーズ RDS :

なお、ここで述べるテクノロジー (次回ご紹介する内容も含め) は、下記の互換性セミナーなどでも講師の方もご紹介してくれている内容ですので、今後もこうした機会を活用し、新しい OS を有効利用してください。(セミナーなどでは広く紹介されてきた新機能です)

Windows 7 & Windows Server 2008 R2 互換性セミナー :
http://www.microsoft.com/japan/powerpro/ftd/windows7/default.mspx

Windows Installer 5.0 : Per User Installation の概要 

Windows 7 / Windows Server 2008 R2 から導入されている Windows Installer 5.0 では、実はいくつかの新機能がありますが、中でも、ここでご紹介するユーザーごと (Per-User) のインストールサポートは、特に上記の RDS のシナリオで有効活用できます。

新しい msi (Windows Installer) では、MSIINSTALLPERUSER という新しいプロパティを使用することができ、下記の説明の通り、MSIINSTALLPERUSER プロパティを 1 に設定することで、"いままでとは違った" ユーザー単位のインストール方法を提供することができます。(この場合、下記の説明にもありますが、ALLUSERS プロパティを 2 に設定しておく必要があります。)

What's New in Windows Installer 5.0 :
http://msdn.microsoft.com/en-us/library/dd408114(VS.85).aspx

MSIINSTALLPERUSER プロパティ :
http://msdn.microsoft.com/en-us/library/dd408007(VS.85).aspx

簡単な動作確認 

例えば、特別な設定やカスタムアクションをおこなわない簡単な .msi パッケージ (インストーラパッケージ) を Visual Studio などで作成してみましょう。

そして、Windows 7 または Windows Server 2008 R2 上で、以下の通りコマンドを入力して、インストーラを実行してください。


msiexec /i MatsuSetup1.msi ALLUSERS=2 MSIINSTALLPERUSER=1


すると、 下図の通り、インストール開始の画面が表示されます。

ここで、インストール先のパス名に注目してください。ユーザーフォルダがデフォルトで選択されているのがわかります。

この状態で [次へ] ボタンを押してインストールを続けると、インストールがはじまっても、いままでのようにインストール時に昇格ダイアログは表示されず、インストールのすべてを完了させることができます。(まるで ClickOnce インストールのようです、、、)

このように、単一のインストーラパッケージで、マシンへのインストールと、ユーザー単位のインストールの複数のインストール方法が可能であり、RDS のように 1 台のマシンに複数の目的の異なるユーザーがログインして使用するケースでは有効です。(もちろん、それ以外の目的でも活用できます。)

ただし、もちろん、依存コンポーネント (.NET Framework など) があって、それがインストールされていないケースでは、
あらかじめ管理者権限で依存コンポーネントのインストールが必要になるなど、作り方によって、さまざまなポイントが存在しますので注意してください。(ここでは、あくまでも簡単なサンプルを示したのみです。)

次回は、クライアントレンダリングです。


 

Posted by tsmatsuz | 0 Comments
Filed under:

Windows 7 の魅力をエンジニアの言葉で . . .

こんにちは。

いつだったか、ある新聞記事に、「(Windows 7 は) プログラムの簡素化などで小型・低価格ノートパソコンのネットブックに対応し . . .」 といった記述がありました。家庭での PC ユーザーなど "一般の" 読者に対してはこの書き方はわかりやすい表現かもしれませんが、多くのエンジニアの方はお気づきの通り、機能などを削って軽くなったわけではありません。(厳密には、Windows メールなどごく一部の削除された機能はありますが、これはパフォーマンス・省リソース化とは無関係です。)

日経ソフトウェア 2009/08 月号 (06/24 発売) から、エンジニア、特にプログラマーの方を対象に、Windows 7 の連載が開始されました。第 1 回目は、まず Windows 7 の進化の全体感を知ってもらうため、「Windows 7 の何が良くなったのか ?」、「速い、軽い!と言われるけど、その本質は何なのか ?」 といったポイントを記載しました。

日経ソフトウェア 2009年08月号 (店頭発売: 06/24) :
http://itpro.nikkeibp.co.jp/article/MAG/20090619/332194/

 

私も皆さんと Windows 7 に関する話題は良くするのですが (セミナー実施後など)、友人、同僚、上司、お客さんなどへ、 「Windows 7 は何が違うのか」を "ちゃんと" 説明するのってむずかしいですよね。「とにかくインストールして、使ってみるとわかります」とか、「なんか良いんですよ、あれ」とか、「速くなってる ! 家にある古い PC だとわかる」とか、とか、、、(高スペックなマシンをお使いの方は、Vista でも充分速くなった =「変わらないよ」 と言われる方も居ます、、、)

Windows 7 は「速くなった」、「軽くなった」と言われますが、どこがどう変わって、どこは変わらないのでしょうか。。。エンジニアの視点で、正確に ! 的確に ! お伝え頂くためにも、「技術的に何がどう変わった」 という全体像を 記事を通してご理解ください。

 

Posted by tsmatsuz | 1 Comments

あの UAC (ユーザーアカウント制御)、「回避」 したいですよね ?

こんにちは。

「アプリケーション互換性」と書きすぎると、新しい OS は互換性が維持されていないのかと不安をあおってしまうかもしれませんが、そうした意味はありません。新しい OS が登場し、実際にアプリケーションをそこで動かすわけですから、まず、皆さんのアプリケーションすべてに関わる課題として、「互換性は大丈夫ですか ?」、「もっとも重要です !」 ということを本音で皆さんに情報発信していきたいと思います。

アプリケーション互換性に関するコラムとして、まずは、開発者万人にとって間違いなく重要な 「ユーザーアカウント制御」 (UAC) に対する考え方を改めて知っていただこうと思い、ポイントを記事化しました。(セミナーなどでは従来より広く紹介している内容ですが、改めて記事化いたしました。)
あの UAC、そして昇格ダイアログ、「うざい !」、「うっとうしい !」 と思われる方もおられるかもしれませんが、そんな方はまずはお読みください。

Windows 7 コラムシリーズ (6) : アプリケーションの互換性 :
http://www.microsoft.com/japan/powerpro/TF/column/tm_09_1.mspx

このコラムでは、まず、開発者の皆さんに、UAC がどのようなものなのかを "気づいて !" いただくためのものです。UAC を回避したプログラムを書きたいですよね ? しかし、このコラムを読み終えたあとで、その 「回避 ?!」 という考え方自体を変えて頂けるように整理したつもりです。

もちろん、互換性といえば、UAC だけではありません。「互換性の全体像は、どのあたりがポイントなのか ?」、さらに、互換性という後ろ向きな開発ではなく、「Windows 7 をポジティブに使いこなすって、どういう開発か」という、Windows 7 開発の全体像 (ここがポイント !) を捉えたい方は、首都圏など他の地域の方には申し訳ありませんが、、、以下のイベントなども予定されていますので是非ご活用ください。(あの "ジーニアス平井" が登壇します !)

Windows 7 コミュニティ勉強会 with Tech Fielders 北海道編 :
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032416504&Culture=ja-JP

 

上記コラムはあくまでも "気づき" を目的としたものですが、UAC のメカニズムの徹底解説 (昇格メカニズムなど、よりディープな話) については、日経ソフトウェアの 9 月号で完全網羅で解説したいと思っています。(通常、毎月 24 日頃の発売ですので、きっと 7 月 24 日あたりの発売ですね . . . あくまでも「予定」ですので、「未定」ですが . . .)

皆さんに、快適で、そして納得のいく形で Windows アプリケーション開発をおこなっていただくために、さまざまな形で情報発信をしていきたいと思います。

 

Posted by tsmatsuz | 1 Comments

[Info] 今後の SharePoint Developer Forum (第3回、第4回)

こんにちは。

ご好評いただいている SharePoint Developer Forum ですが、すでに第 3 回、第 4 回の募集がはじまっています。

第 3 回 : インターネットでのSharePoint Server 2007 活用技術

海外では SharePoint がインターネット上の Web サイトで多く活用されている ??? のをご存じでしょうか。(そのためのインターネットライセンスも存在します。)
日本の皆さんにも、こうしたサイト構築に気づいていただくため、前半は、こうした外向けのサイトの見た目、機能をどのように構築していくかといったノウハウ、後半はファイアウォールの設定などインフラ面でどのように克服していくかといったノウハウを中心にご説明します。

第 4 回 : InfoPath 2007 と SharePoint Server 2007 によるフォーム活用

InfoPath 2007 の書籍がいよいよリリースされます。松本先生の コラム でも取り上げられていますが、手をつけはじめると超便利な InfoPath、しかし深く進むと意外と落とし穴などもあります。(ノンコードがゆえに、もちろん限界もあります。)
本セミナーでは、本書籍の執筆陣、そしてコラム掲載をされている松本先生により、InfoPath 単体での活用から SharePoint 連携まで含めた活用ノウハウをご紹介していきます。

 

Posted by tsmatsuz | 0 Comments
Filed under: ,

[Info] new CloudApp() ~ Azure Services Platform 開発コンテスト開催

(2009/06/18 応募締め切り時間に誤りがあったため、修正) 

こんにちは。

Azure のコンテストが開始されましたのでご案内します。

以下に要綱を記載します。

 

 new CloudApp() とは?                               

 

new CloudApp()は、Azure Services Platform上にクラウドアプリケーション・サービスを構築する、全世界の.NETおよびPHP開発者を対象とした開発コンテストです。IT開発に関わる方々、18歳以上であれば学生の皆さんもチャレンジすることができます。クラウドは Borderless、あなたが創ったクラウドアプリ、サービスを世界に公開してみませんか?全世界からの人気投票による ”Community Winner” アワード()の他、日本から応募された方々を対象としたアワードもご用意しております。どうぞ奮ってご参加ください。

new CloudApp() 公式サイト:www.newcloudapp.com

 

 

 new CloudApp() 募集要項                               

 

【参加資格】

18歳以上のIT開発に関わる方 (Japan Award対象者は日本在住の方に限ります)

 

【募集内容】

Azure Services Platform上に構築された、Webアプリケーション/サービス

・使用言語:.NET またはPHP

・アプリケーション/サービスのジャンル:特に問いません

※開発ツールはVisual Studio(Visual Studio 2008 Professional Edition またはVisual Web Developer Express Edition(ダウンロード))および Azure Services Platform 各サービスのSoftware Development Kit(SDK)(詳細リンク)が使用できます

※募集期間前に開発されたアプリケーション/サービスも応募できますが、未発表のもの・他のいかなる懸賞等に応募されていないものに限ります

 

【コンテストカテゴリ】

下記のカテゴリの中からひとつ選んでご応募ください

International

US - .NET Applications (US在住者向け)

US – PHP Applications (US在住者向け)

※日本在住の方々はInternationalカテゴリの応募となります

 

【アワード()

Internationalカテゴリ

International Community Winner:全世界からの一般投票により決定されます

賞金:Visa Gift Card(US$2500)

特典:www.azure.com、マイクロソフト本社(US)主催イベントでのプロモーション

Japan Award:日本から応募された方を対象に選出いたします

Japan Award Grand Prize(一般の部、学生の部)

Japan Community Winner:全世界からの一般投票により決定されます

・その他

Most Supporting Website Winner

Azure開発の実践に役立つWebサイト・ブログを表彰いたします

※これらのアワードを受賞された方々はMicrosoft Tech・Ed Japan 2009に無償ご招待いたします

(その他の賞・特典につきましては、詳しくは後日MSDN Azure デベロッパーセンターにて発表いたします)

 

【応募期間】

200961()~79()12:00PM [日本時間710()1:00AM]

 

【応募方法】

new CloudApp() 公式サイトから、Webアプリケーション・サービスが参照できるURLを登録

※応募は個人単位、おひとり1つに限ります

 

【審査】

Community Award(公式サイトからの一般投票):7月10日~19

Japan Award審査:710日~8月上旬(予定)

 

【結果発表・表彰】

8月上旬(予定)に当サイトにて結果を発表、Microsoft Tech・Ed Japan 2009会場にて表彰いたします

※アワードを受賞された方、および対象アプリケーション、サービスはマイクロソフトが主催・協賛する他のイベント・セミナー等でもご紹介させて頂くことがあります

 

 Azure Services Platform 技術情報                          

 

MSDN Azure デベロッパーセンター

Microsoft クラウド コンピューティング ツール

Azure Services Platform 各サービスのSoftware Development Kit(SDK)

Windows Azure Tools for Microsoft Visual Studio (Windows Azure SDKを含みます)

Live Framework Tools for Microsoft Visual Studio (Live Framework SDKを含みます)

Microsoft .NET Services SDK

 

Microsoft Tech Fielders コラム – Azure関連記事

マイクロソフトエバンジェリストブログ – Azure関連フィード

 

Posted by tsmatsuz | 0 Comments
Filed under:

[Info] セミナー紹介 (外部 Web サービス と Office の融合)

こんにちは。

以前、Tech Fielders インタビューで クラウドの先輩企業から学ぶ教訓 (その魅力と現実) というジョルダン株式会社様の記事をご紹介させていただきましたが、実際に、インターネット上の乗換データと、経費処理をはじめとする Office システムを融合する手法・アプリなどをご紹介するセミナーが開催されます。

Office と XML Web サービスによるクラウド型アプリケーションの実現 (株式会社 クリエイルミネート) :
http://www.crie-illuminate.jp/training/courselistall.aspx?id=EXS001

記事でも記載しましたが、.NET をベースとしたアプリケーションでは SOAP の手続き、SOAP の扱いがむずかしい言語環境などではリソースベースの Web スタイルサービスなど、乗換案内のサービスでは、用途に応じたいくつかのサービスが提供されています。

 

Posted by tsmatsuz | 1 Comments
Filed under: ,

[Info] SharePoint 2010 の動作要件について

こんにちは。

SharePoint Team ブログで、次期 SharePoint 2010 の要件に関する Annoucement がされています。

Announcing SharePoint Server 2010 Preliminary System Requirements :
http://blogs.msdn.com/sharepoint/archive/2009/05/07/announcing-sharepoint-server-2010-preliminary-system-requirements.aspx

日本語で要旨を記載しますと、

  • SharePoint 2010 は 64 bit のみサポート
  • SharePoint 2010 では Windows Server 2008 以降で動作
  • XHTML 1.0 に準拠したブラウザサポート (つまり、FireFox なども対象。従来の単なるレンダリングサポートのレベルとは異なります . . .)

上記チームブログでは、準備の一環として、SP 2 を導入し、将来リリースへの対応検証をおこなえる preupdatecheck をかけることを薦めています。

 

Posted by tsmatsuz | 1 Comments
Filed under: ,
More Posts Next page »
 
Page view tracker