Welcome to MSDN Blogs Sign in | Join | Help

まもなく出ます . . .

こんにちは。

突然ですが、.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: ,

[Info] 新型インフルエンザに伴う「テックフィールダーズセミナー」(5月, 6月) 中止のお知らせ

こんにちは。

残念なお知らせですが、新型インフルエンザへの対策のため、5 月、6 月に開催予定のテックフィールダーズセミナー (東京、名古屋、など全国が対象) は中止することと致しました。

セミナーを楽しみにされていた方は勿論、ライトニング Talks に登壇予定であった方などご準備されていた方には大変申し訳ございませんが、参加予定者皆様の安全も考慮した上での決定ですのでご理解ください。(何の気休めにもなりませんが、私達講師も同様に準備していた内容は公開されず、、、)

06/04 に予定していたテックフィールダーズセミナー「Windows Azure を学ぼう」 (東京) も、無論、対象となります。またいつかリターンズ開催を計画したいと思いますので、今後共、同セミナーにご注目ください。

 

Posted by tsmatsuz | 1 Comments
Filed under:

開発者にとっての Windows Server 2008 R2 (ショートビデオ)

こんにちは。

Windows Server 2008 R2 って、どう進化したの ?

その答えを皆さんに発見していただくため、一部の事実を羅列してみましょう。

  • 最新の CPU アーキテクチャを理解して、そのアーキテクチャにあわせた内部動作をします。つまり、1 つグレードが上のカーネル ! 
  • 最大 256 LP (論理プロセッサ) に対応できるようになりました (例 : 64 CPU X Dual X HyperThreading もOK)。つまり、モンスターマシンで動作 !
  • Hyper-V 2.0 では、 稼働した状態で物理サーバー間を移動できます (Live Migration)。つまり、動的なマシン配置 !
  • VHD を使った動的なドライブの追加や、共有ディスクにおける1つの論理的領域 (=LUN) に複数の仮想イメージを配置してアクセスできます (CSV)。つまり、動的なディスク割り当て !

これらは、ほんの、ほんの 1 部の新機能にすぎませんが、2008 と比較して 「どんな感じに変わったか」 をイメージして頂けるでしょうか ?

Windows Server 2008 R2 におけるこうした強化された方向性を開発者の視点でご理解いただくため、5 分もののビデオを作成しました。
いつも時間超過をする私ですが、なんとか頑張って今度こそ 5 分におさめてみました、、、

MSDN : アプリケーション開発者にとっての Windows Server 2008 R2 :
http://msdn.microsoft.com/ja-jp/windowsserver/dd197369.aspx

なお、このビデオですが、下の文字がみづらいと思いますので、是非 全画面でご確認ください。

 

Posted by tsmatsuz | 1 Comments
Filed under:

[Info] 「ぱらぱらめくり」の Silverlight BOOK 開発 (インタビュー記事紹介)

こんにちは。

エンジニアの皆さんに、同じエンジニアリングに携わる現場の方の声をお届けする Tech Filders インタビューですが、今回は「Silverlight BOOK」を開発された日本デジタルオフィス様を訪問しました。

Tech Fielders インタビュー : 「IT 交差点」のあのビューアは、いかに開発されたか
http://www.microsoft.com/japan/powerpro/TF/interview/27_1.mspx

採用に至った経緯 / よかった点 / 実際に苦労するポイント / デザインと開発の分業など、RIA 開発をご検討されている方、これから導入される方にとっては "疑似体験" のつもりで、Silverlight 開発の現場の声からその "実際" を読み取って頂くことができます。
まずは、「ぱらぱらめくり」を楽しく体験して頂き、それから上記の記事を読んでいただくとより実感 (開発時の苦労、など) が湧いてくるかもしれません . . .

 

追記:
以前ご連絡しました Azure のコラムですが、シリーズ連載がすべて完了しました。(私は、第 8 回で参加させて頂きました。) 各分野に長けたエバンジェリストが掲載していますので、チュートリアルとあわせ、その技術の裏にある背景・概念などを学びとってください。

http://www.microsoft.com/japan/powerpro/TF/column/fs_01_1.mspx

 

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