2011年8月25日木曜日

Blogサイト移転します。

今まで、http://blog.sharepointissue.com でしたが、http://sharepointissue.com へ移行します。

RSSは特に変更する必要はありません。

今後もよろしくお願いします。

2011年8月21日日曜日

予定表リストのカレンダーのみ表示

いつの間にか、8月後半になったので、最低月に一回は投稿しようと小ネタを一つ。

CSSでサイドリンクバーを非表示にするとカレンダーも非表示に成りますよね。
http://shanqiai.weblogs.jp/sharepoint_technical_note/2008/01/sharepoint-desi.html

CSSにもう一工夫をする事で、下記の様にする事が出来ます。

WS000454

手順

  1. カレンダー表示のページで、ページの編集を行い、コンテンツエディタWebパーツを追加する。
  2. コンテンツエディタWebパーツのソースエディタで下記のソースを埋め込む。
    <style>
    .ms-quicklaunchouter
    {
    display:none;
    }
    </style>

因みに標準だと下記の様に表示されます。

WS000450

2011年7月23日土曜日

SharePoint Webパーツをクラウドへ

こんどは変態がクラウドにも進出します。
略してはダメです。Hentai Web Parts

Office365へ展開します。
手順は、オンプレミスと同じですが、クラウドで動かすには、サーバーのCPUを使用する関係で、リソースクオーターを設定する必要があります。

リソースクオーターの設定方法をザックリと記載します。

  1. 先ずは、 管理サイトを開きます。
    「Manage Site Collections」をクリックします。WS000442
  2. サイトコレクションを管理する画面が表示されます。ここでは、リソースクオーターを割り当てるサイトコレクションの左のチェックボックスをチェック状態にして、リボンメニューの「Resource Usage Quota」をクリックします。
    WS000444
  3. サイトコレクションに割り当てるリソースクオーターを設定します。
    WS000443
  4. これで、サイトコレクションでSandboxed Solutionを動かす事が可能になります。
    WS000445

次は、AccessServicesです!

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年7月3日日曜日

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

SilverlightSqare振り返り投稿第2弾

Silverlight Webパーツの開発デモです。
それではLets HENTAI

開発環境環境

SharePointがインストールされたサーバー上で構築するのが良いです。

  1. VS2010で拡張機能マネージャーを起動
    WS000415
  2. 拡張機能を導入
    WS000416

WebParts開発

変態チャートを開発します。変態ジェネレータは、めんどいのでコードのみ貼り付けておきます。

  1. SharePoint開発プロジェクトを選択。プロジェクトテンプレートは「空のSharePointプロジェクト」
    WS000418
  2. 参照設定を追加
    Microsoft.SharePoint.Client.Silverlight.dll
    Microsoft.SharePoint.Client.Silverlight.Runtime.dll
    詳細はここ
  3. プロジェクトの追加から「Silverlightアプリケーション」を選択
    WS000419
  4. 次に、空のSharePointプロジェクトにSilverlight WebPartsを追加
    WS000421
  5. 追加すると、使用するSilverlightアプリケーションを選択しろとメッセージが表示される。たぶん、SharePointアプリケーションが一つだけなら出てこないかも、、
    WS000422
  6. チャートコントロールを追加します。今回はインフラジスティックスさんのチャートコントロールを使用しました。
    WS000420
  7. コードの追加

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Net;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Animation;
    using System.Windows.Shapes;
    using Microsoft.SharePoint.Client;
    using Infragistics.Silverlight.Chart;

    namespace SilverlightApplication1
    {
        public partial class MainPage : UserControl
        {
            public MainPage()
            {
                InitializeComponent();
            }
            private ClientContext context = null;
            private delegate void UpdateUIMethod();

            private ListItemCollection _projects;

            private void UserControl_Loaded(object sender, RoutedEventArgs e)
            {
                this.context = ClientContext.Current;
                // SharePoint上に展開した場所に関する情報を取得。
                // いわゆるカレントサイト

                List oList = this.context.Web.Lists.GetByTitle("Hentai");
                this.context.Load(oList);
                // ”Hentai”という名前のリストのインスタンスを取得

                CamlQuery query = new Microsoft.SharePoint.Client.CamlQuery();
                string camlQueryXml = "<view><query></query><viewfields>" +
                    "<fieldref name=\"Title\"></fieldref></viewfields></view>";
                //CAMLというXML言語で表示対象クエリの作成

                query.ViewXml = camlQueryXml;
                _projects = oList.GetItems(query);
                this.context.Load(_projects);
                this.context.ExecuteQueryAsync(new ClientRequestSucceededEventHandler(OnRequestSucceeded), null);
                // イベント処理で非同期化した処理
            }

            private void OnRequestSucceeded(Object sender, ClientRequestSucceededEventArgs args)
            {
                // This is not called on the UI thread.
                Dispatcher.BeginInvoke(BindData);
            }

            private void BindData()
            {
                Series s1 = new Series();
                s1.ChartType = ChartType.Bar;
                s1.Label = "変態度";
                foreach (ListItem li in _projects)
                {
                    DataPoint d = new DataPoint();
                    string title = li["Title"].ToString();
                    d.Label = title;
                    int val = -1;
                    string aa = li["Value"].ToString();
                    if (int.TryParse(aa, out val))
                    {
                        d.Value = val;
                    }
                    s1.DataPoints.Add(d);
                }
                this.xamWebChart1.Series.Clear();
                this.xamWebChart1.Series.Add(s1);
            }
        }
    }

眠くなったので、また今度、、

2011年6月29日水曜日

SharePoint標準で変態チャート表示

SilverlightSquareの振り返り投稿 第1回目

SharePoint 2010のグラフWebパーツを使用したデモです。

ザックリと実施する事。

  1. リストの作成
  2. リストに列追加(Value列)
  3. グラフWebパーツの追加
  4. Webパーツの設定
  5. 最後に変態パワーの登録

大体これだけです。
その他、前提条件として、Enterprise機能なのですよ、、

その為、Enterpriseのライセンスはが必要です。

該当サイトコレクションで機能の有効化で、Enterprise機能を有効化しましょう。
(ここまで説明すると長くなるので説明は省略)

ザックリとライセンス:
SharePoint Foundationは最低Windows CALがあれば基本OKですが、社内で使用するにはStandard機能以上を利用するにはザックリ下記のライセンスが必要です。
(インターネット向けのライセンスもありますがここでは無視しとく)

  • Windows Server
  • Windows CAL(利用者の人数)
  • SharePoint Server
  • SQL Server(CPUライセンスかな)
  • SharePoint Server
  • SharePoint CAL(利用者の人数)
    (StandardかEnterprise同一サーバーで同居可能)

※詳細は購入する営業さんに相談して下さい。

  1. リストの作成
    1. 「サイトの操作」メニューから「その他オプション」を選択する
      WS000397
    2. フィルターは「リスト」でカスタムリストを選択し、リスト名は”Hentai
      WS000398
  2. リストに列追加(Value列)
    1. ”Henta”リストを表示し、リボンメニューからリストを選択して「列の作成」をクリック
      WS000399
    2. 列の名称”Value”で列の種類は”数値”を選択してOKボタンをおします。
      WS000400
  3. グラフWebパーツの追加
    1. 「サイトの操作」メニューから「ページの編集」をクリック
      WS000401
    2. 「Webパーツの追加」をクリック
      WS000402
    3. 「ビジネスデータ」から「グラフWebパーツ」を選択し、追加ボタンをおす
      WS000403
    4. Webパーツが追加されます。
      WS000404
  4. Webパーツの設定
    1. Webパーツの▼をクリックし「データ接続」をクリック
      WS000405
    2. データソースは、リストで次へ
      WS000407
    3. 接続するリストはもちろんHENTAIで次へ
      WS000408
    4. そのまま次へ
      WS000409
    5. そのまま完了
      WS000410
  5. 変態パワーの登録
    1. 「新しいアイテムの追加」をクリックWS000411
    2. 変態な人を登録してください。もちろんValuyeへ変態パワーを入力
      WS000413

こんな感じで、標準SharePoint機能で変態チャートを作成しました。

WS000414

2011年6月27日月曜日

SilverlightSquare振り返り

http://silverlightsquare.com/index.php/silverlight19.html

2011年6月25日の勉強会でスピーカーをしたので、数回に分けてフォロー投稿をします。

実施したデモ

上記のデモの作成方法を紹介しようと思います。
100分のセッションでどれだけ詰め込むのかと、、、反省Orz

実は、Access Servicesの動作が完全じゃなかった件、これは秘密です。

2011年6月19日日曜日

Silverlightを囲む会

SilverlightSquare

引き続き、

SharePointSquareさんでスピーカーをさせて頂きますので、ぜひお集まりください!

日時

2011年6月25日 13時30分~17時

場所

場所はクレオ大阪の調理室との事です。
最寄駅は「西九条駅」です。

http://www.creo-osaka.or.jp/west/pdf/root.pdf

map-dfbda349adb6

アジェンダ

資料も半分くらい出来てきて下記の様なアジェンダとなってます!
100分には少し詰め込みすぎな内容なので、一寸悩み中!

デモ的には、SharePoint標準機能を使用したパタンとSilverlightを使用したパタンを考えてます

アジェンダ

祝「SharePoint成功の道標」発売

いやー、長かった、、、
作ると決めて、1年以上かかりました。
本って作るの大変なのですねー

でも、著書ができるのはうれしいですね。

SharePoint成功の道標

SharePoint成功の道標
著者:上月祥裕
価格:4,900円(税込、送料込)
楽天ブックスで詳細を見る

2011年6月12日日曜日

列の検証

そのままなのですが、入力内容の検証も標準機能では、実装が難しい機能の一つです。
SharePoint Designerを使用してバリデーションの実装は可能ですが、ちょっと面倒なのですよね。

その様な時は、この製品。
SharePoint Form Validation

こちらの様に入力内容がメールアドレスであるかの確認ができます。
WS000368

メールアドレスであるかの検証は正規表現を使用しています。
設定画面は下記の通りです。
image

正規表現が書ければ大概の事には対応できると思います。
下記の様な正規表現エディタもあるので、正規表現を理解していなくても実装可能です。
WS000374

日本で利用しそうなものとして、下記の様な正規表現が予め登録されています。

  • IPアドレス
  • XML/HTML要素
  • アカウント検証
  • インターネットURL
  • 数字
  • 整数
  • 日本の電話番号
  • 日本の郵便番号

お問合せは下記まで、、、
info@piecepoint.jp

管理番号列を追加し、表示のみ許可

これって、標準では対応できないのですよね。
列単位で表示非表示の制御や、編集可否の制御!

ワークフローで管理番号を採番し、列に保存しても手動で変更可能なのですよね。
標準では、SharePoint列単位で表示のみ許可する様な動作は実装できないので、SharePoint Designerで編集ページをカスタマイズする必要があります。

こちらのソリューションを活用すれば、ブラウザのみで実装可能です。

[SP改] フォーム列制御機能

SharePointで管理番号を保存する列を作ると下記の様になりますね。
WS000358

[SP改]フォーム列制御機能を使用して、下記の様に設定すると、新規画面では非表示にして、編集では変更不可にすることが可能です。
WS000360

そうすれば、、下記の様にフォームによって表示、非表示が制御できます。

【新規】
WS000361

【編集】
WS000364

【表示】
WS000365

ここまでは、SharePoint Designerでも実装できるのですが、採番処理でエラー発生時のみ手動で変更したいときは、ワークフローのステータスによって編集可能にする様な設定も可能です。
運用を考えてみると色々使い所があるソリューションです。

WS000367

難点があるとすれば、、この製品が悪いのではないですが、、
項目の編集可否や表示・非表示が変わるのは、画面を一度閉じる必要があります。
画面を閉じず、動的に項目の編集可否が変更できれば良いのですがねー、、、