Project Siena で誰でも Office 365 開発者 (後編)

この記事は Office 365 Advent Calendar に参加しています。

 

11月に公開された Project Siena Beta Refresh (November 2014) は SharePoint Online のリストを操作することができます。 Siena らしくとても簡単に作れる・・・はずなんですが、情報量が少ないんですよね。分かってしまえば簡単ですが、しばらく悩みました。

そこで本稿では SharePoint Online のリスト更新の方法を紹介します。

「そもそも、Projectb Siena って何?」という方は、ひとまず開発ツールの一つだと理解してください。操作が簡単で、プロの開発者でなくても使えます。

 


■本稿で対象とするリスト

本稿では SharePoint Online 上にあるリストを使用します。Siena にはリスト自体を作成する機能はないので、事前に SharePoint Online にリストを用意します。

ここでは “Animals” というカスタムリストにしました。
必要なカラムは2つです。[タイトル] 列は [日本語] に列名を変えます。さらに [英語] という名前の 1行文字列 を追加します。
(今になって考えたら和英辞典でもよかったみたいです /笑)

2014-12-09 21-23-22

 


■データソースの追加~リスト参照

データソースの追加から SharePoint Online 上のリストの参照までの手順は以下の通りです。
近いうちに説明動画も公開します。どうしてもやり方がわからないという方は、しばらくお待ちを。

  1. データソース画面で [SharePoint Online] を選択して、SharePoint Online の URL を指定
  2. 認証に成功すると、指定したサイトのコンテンツ名が表示されるので対象とするリストを指定する。ここでは “Animals” をチェック
  3. スクリーンにビジュアルを追加。ここではテキストギャラリーを配置
  4. ギャラリーのデータセットを設定。ここではもちろん “Animals”
  5. ギャラリーアイテムの各テキストに表示するメンバーを指定します。
    今回は 2個のテキストにそれぞれ “ThisItem!日本語“、”ThisItem!英語” を指定します。

 

2014-12-08 21-52-052014-12-08 21-59-022014-12-08 22-05-282014-12-08 22-07-40

2014-12-08 23-54-532014-12-08 23-58-172014-12-08 23-58-26

 


■既存のリストアイテムの更新

今日の本題である、更新系の処理について。

Project Siena では、既存のリストアイテムを変更する場合も新規のアイテムを追加する場合も、2段階で SharePoint Online を更新します。

  1. データセットの更新・・・データセットとは、対象のリストのローカルキャッシュです。Siena では、まずはデータセットに対してデータを変更します。
    この時点ではデータセットの内容と SharePoint Online 上のリストの内容には差異があります。
  2. データソースに反映・・・データセットに加えられた変更は任意のタイミングで SharePoint Online に反映します。これでリストの更新が完了します。
    Siena ではユーザーが明示的に “SharePoint の更新” ボタンを選択(クリック/タップ)する必要があります。

2014-12-09 0-46-05

 

実際の操作は以下の通り。

1. ラベルとテキストとをスクリーンに配置
ラベルにはギャラリーの選択項目の “日本語” を、テキストには選択項目の “英語” をそれぞれ指定します。

Gallery1!Selected!日本語
Gallery1!Selected!英語

日本語をラベルにしたのは変更不可にするためです。このあとの操作で使う UpdateIf の条件としてラベルの値を使います。

2014-12-09 0-33-59 2014-12-09 0-34-22

 

2. ボタンを配置

データセットの更新用に、ボタンを一つ配置します。
[選択時] には、

UpdateIf(Animals, 日本語=UpdJapanese!Text, {英語:UpdEnglish!Text})

と入力します。Excel ライクな記述なので、Excel 関数を知っている人には馴染みやすいかと思います。
関数の意味は、

「Animals の日本語フィールドの値が UpdJapanese (先ほど配置したラベル)の Text の値と同じアイテムを探して、そのアイテムの英語フィールドに UpdEnglish の Text の値を代入してね」

という意味です。
([選択時] の日本語訳が少し分かりづらいですが、英語だと “OnSelect” なのでここには選択時のアクションを記述するんだなというのが直感的に理解しやすいですね。)

2014-12-09 0-34-442014-12-09 0-35-00

 

3. “SharePoint の更新” を配置

最後に “SharePoint の更新” を配置して、データソースに “Animals” を指定します。データソースへの反映に必要なのはこれだけ。

2014-12-09 0-44-50

 


■新規のリストアイテムの追加

リストアイテムの追加も、やはり 2段階で操作します。既存のアイテムの更新と同じです。

  1. データセットにアイテムを追加・・・Collect 関数を使います。既存アイテムの更新も新規アイテムの追加も、任意の順番でデータセットを更新してから、まとめてデータソースに反映できます。
  2. データソースの更新・・やはり “SharePoint の更新” ボタンを選択して SharePoint Online に登録します。

こちらも実際の操作を見てみましょう。

1. テキスト 2つをスクリーンに配置

“日本語” を入力するテキスト、”英語” を入力するテキストを配置します。

2014-12-09 21-52-29

2. ボタンを配置

データセットにアイテムを追加するために、ボタンを 1つ配置します。
[選択時] には、

Collect(Animals, {日本語:InsJapanese!Text, 英語:InsEnglish!Text})

と入力します。「Animals データセットに { ~ } のアイテムを追加してね」 という意味です。

2014-12-09 21-53-052014-12-09 21-53-51

 

3. “SharePoint の更新” を配置

リストアイテムの追加の場合も “SharePoint の更新” が必要です。
既存アイテムの更新の手順で既に “SharePoint の更新” を配置していれば、改めて配置しなおす必要はありません。

 


■既存のリストアイテムの削除

既存のリストアイテムを削除するには RemoveIf 関数を使用します。手順は、既存アイテムの更新と同様なのでここでは省略します。

 


長い記事になってしまいました。おつかれさまでした。(お互いに /笑)

ところで、「前編」が見当たらないことに気付いた方もいるかもしれません。なにか事情があるんだろうなと思って、数日間だけそっとしておいてください。
12月13日くらいに理由が分かる かもしれません。
(追記: Japan SharePoint Group 勉強会 #17 で LT やりました。資料公開しました。)

広告
カテゴリー: Office 365, Project Siena, SharePoint タグ: , , パーマリンク

Project Siena で誰でも Office 365 開発者 (後編) への1件のフィードバック

  1. ピンバック: LT 「 Project Siena で誰でも Office 365 開発者 (前編) 」 (Japan SharePoint Group 勉強会 #17 – 2014/12/13) #jpsps | 技術との戯れ

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中