ラベル WebParts の投稿を表示しています。 すべての投稿を表示
ラベル WebParts の投稿を表示しています。 すべての投稿を表示

2011年7月23日土曜日

Silverlight Webパーツで変態チャート開発3

SilverlightSquareで喋って既に1っか月、、
夏休みの宿題が終わらない子供みたい、、、

前回の投稿で、開発が完了したので実際に展開してみたいと思います。

先ずは、完成したイメージから、、 下記の手順で展開します。
事前に、Sandboxd Solutionの設定は済ませておいてください。
WS000441

  1. サイトコレクションへソリューション(WSPファイル)のアップロードをして、アクティブ化に成っている事を確認します。非アクティブならアクティブ化してください。
    WS000435
  2. サイトコレクションの機能で「Hentai Chart」をアクティブ化されている事を確認します。非アクティブならアクティブ化してください。
    WS000436
  3. サイトコレクションの機能がアクティブ化れていると、「Hentai」リストが作成されています。
    WS000437
  4. 「Hentai」リストには、変態の名前と、変態パワーを登録してください。変態パワーがわからない場合は、スカウターがあると便利です。
    WS000438
  5. 取あえず、一通り登録してみました。
    WS000439
  6. Webパーツを設置するページで編集モードに切り替え作成したHentai Webパーツを追加してみます。
    WS000440
  7. これで変態パワーが可視化されました。
    WS000441

次回は変態をクラウドに持っていきます!

2011年7月9日土曜日

Silverlight Webパーツで変態チャート開発2

前回からの続き、機能が有効になった時に変態リストを自動的に有効化する処理を実装します。

イベント処理の実装

先ずは、SharePointプロジェクトの方に、イベント処理を実装します。
Silverlight側のプロジェクトに追加しても意味がないのでご注意!
イベント処理で”Hentai”リストを作成します。
Webパーツで使用するデータを保存するデータベースとして扱います。

  1. Features配下にあるフューチャー(機能)を右クリックして、新し項目の追加を実施します。
    WS000429
  2. 今度はダブルクリックして、名前を適切な名前にしましょう(笑)
    ここで実装するフューチャー(機能)がサイトで有効化する時に表示される名称になります。
    WS000431
  3. イベントコードを実装します。予め下記の様なテンプレートが作成されています。
    WS000430
  4. コードは下記の通り。

    // フィーチャーをアクティブにした後に発生したイベントを処理するには、以下のメソッドのコメントを解除します。

    public override void FeatureActivated(SPFeatureReceiverProperties properties)
    {
        try
        {
          //サイトコレクションのインスタンスを取得します。
            SPSite site = properties.UserCodeSite;
            //サイトのインスタンスを取得します。
            SPWeb web = site.RootWeb;
            //リストを作成します。
            Guid id = web.Lists.Add("hentai", "変態チャートのリスト", SPListTemplateType.GenericList);
            //IDを元にリストのインスタンスを取得します。
            SPList list = web.Lists[id];
            //リストに列を追加します。
            list.Fields.Add("Value", SPFieldType.Number, true);
           //リストをメニューに追加します。
            list.OnQuickLaunch = true;
            //変態リストの削除は許可しません。
            list.AllowDeletion = false;
            list.Update();
        }
        catch { }
    }

    // フィーチャーを非アクティブにする前に発生したイベントを処理するには、以下のメソッドのコメントを解除します。

    public override void FeatureDeactivating(SPFeatureReceiverProperties properties)
    {
        try
        {
          //サイトコレクションのインスタンスを取得します。
            SPSite site = properties.UserCodeSite;
            //サイトのインスタンスを取得します。
            SPWeb web = site.RootWeb;
            //名前を元にリストのインスタンスを取得します。
            SPList list = web.Lists["hentai"];
            //変態リストの削除は許可しません。
            list.AllowDeletion = true;
            list.Update();
            web.Lists.Delete(list.ID);
        }
        catch { }
    }

  5. プロジェクトファイルのプロパティを確認してみましょう。
    サンドボックスソリューションが有効になっている事を確認します。
    WS000434
  6. 「ソリューションの配置」で展開されます。
    WS000432

これで、Webパーツと展開機能が実装されました。
あとは、実際に張り付けてみましょう!

2011年1月20日木曜日

[2007]コンテンツクエリWebパーツのカスタマイズ その1

久しぶりに真面なPOSTをします。

さるLive SharePointな方との飲み会で話題に上がった件、今更ですがBlogにエントリします。

CQWP(コンテンツクエリWebパーツ)をカスタマイズするには、XSLTのスタイルシートを編集します。
しかし、スタイルはサイト内で共有されている為に一つの修正が全体に影響します。
その為、カスタマイズが出来なかった事が有ると思います。

解決策

標準のXSLTスタイルシートをコピーし、独自のスタイルシートを作成する。

手順

  1. CQWPをエクスポートします。
  2. 任意の場所に、 XSLファイルをコピーする。
    (ContentQueryMain.xsl , Header.xsl , ItemStyle.xsl)
  3. エクスポートしたWebパーツをテキストエディタで開き、コピーしたXSLファイルのパスを設定する。設定するプロパティは、「HearderXslLink」「MainXslLink」「ItemXslLink」の3個で、それぞれサーバールートからのフルパスを設定する
  4. サイトコレクションのWebパーツギャラリーに修正したWebパーツをアップロードします。名前やタイトルはわかりやす名称で登録します。
    WS000010
  5. 通常通り「Webパーツの追加」から、Webパーツをページ上に設置できます。