「クイック編集」について

SharePoint サポートの 末崎 (スエザキ) です。 今回、初めてブログへ投稿をさせていただきます。 本稿では、SharePoint のリストやライブラリを編集するための機能である 「クイック編集」 にフォーカスを当てていきます。     「クイック編集」とは何か そもそも、「クイック編集」とは何か、何ができるのか、ということからご説明していきたいと思います。 前述のように、サイト内のリストやライブラリ内のデータを編集し、Excel などからのデータを一括で登録したり編集することができます。 ご存知の方もいらっしゃると思いますが、以前の SharePoint では、「データシートビュー」として実装されていた機能になります。 つまり、「データシートビュー」の代替機能として SharePoint 2013 から「クイック編集」が実装されています。 なお、SharePoint 2013 にもビューとして “データシートビュー” (クイック編集と同様) が存在するため、本投稿では以下のように表記させていただきます。   以前の SharePoint:「データシートビュー」 SharePoint 2013   :「クイック編集」     「データシートビュー」 が代替された経緯 セキュリティ上の懸念がある ActiveX サポートの優先度を下げる方針がインターネット標準となっている状況があります。 これは、SharePoint がサポートするブラウザ全般においても同様の方向性となります。 このため、端末の Office アドオン (AcitveX) に依存した「データシートビュー」から、JavaScript ベースの「クイック編集」へ代替されています。     「データシートビュー」 と「クイック編集」の違いについて 上述のように、「データシートビュー」…


SharePoint 2013 URL パラメーターの値を使用して検索結果を取得する

こんにちは、SharePoint サポートの佐伯です。 今回の投稿では、検索の URL からパラメーター値を取得し、検索クエリで使用する方法についてご紹介します。 検索 Web パーツでは、検索 URL のパラメーター値を取得して、検索クエリに反映させるクエリ変数 {QueryString.<パラメーター名>} が用意されています。 通常、検索センター サイトで検索ボックスにキーワード (例 test) を入力して検索を行うと、検索 URL は下記のようになりますが、 http://sharepoint/sites/search/Pages/results.aspx?k=test 検索 Web パーツでクエリ変数 {QueryString.<パラメーター名>} を使用することで、新たに URL パラメーターを追加した検索 URL からパラメーター値を取得し、これを反映させた検索クエリを実行します。 http://sharepoint/sites/search/Pages/results.aspx?MyParameter1=sample&k=test 該当の検索 Web パーツのクエリ テキストには、下記のように設定します。 補足 : {SearchBoxQuery} は検索ボックスに入力された情報 (つまり、URL パラメーター k の値) がセットされます。 また、{QueryString.<パラメーター名>} と記述することで、URL パラメーターの値を取得することができます。URL パラメーター名が MyParameter1 の場合は、{QueryString.MyParameter1} を設定します。 上のクエリ テキストの設定により、変換後の検索クエリは下記のようになります。 test sample このように、検索…

0

SharePoint 2013 REST サービスを使用して検索結果を取得する

こんにちは、SharePoint サポートの佐伯です。 今回の投稿では、REST サービスを使用して検索結果を取得する方法についてご紹介します。 検索結果の取得から描画まで一通り実装して動作を確認したい、全体的な実装イメージを掴みたいという方のために、サンプルを用意しました。 API について詳細に確認されたい場合は、本投稿内に記載の公開情報のリンクから詳細をご確認ください。 ■サンプル 概要 : REST サービスを使用して検索結果を取得し、新着のお知らせアイテム (最新のアイテム 5 件) を表示する Web パーツを作成します。 ページにスクリプト エディター Web パーツを配置し、この Web パーツの [スニペットを編集] で、下記の JavaScript のコードを記述します。 完成後のイメージ : サンプル コード : <script type=”text/javascript” src=”/SiteAssets/jquery-1.11.3.min.js”></script><script type=”text/javascript”> <!– $(document).ready(function () { getSearchResults(); });function getSearchResults() { //検索クエリを設定します。(ここでは、お知らせアイテムを取得するため ContentTypeId:0x0104* を設定) var querytext = “ContentTypeId:0x0104*”; //返される検索結果の最大数を設定します。(ここでは、5 を設定) var…

0

JSLink でアイテムのプロパティ値を取得してビューの列の表示をカスタマイズする

こんにちは、SharePoint サポートの佐伯です。 今回の投稿では、JSLink を使用してアイテムのプロパティ値を取得し、ビューの列の表示をカスタマイズする方法についてご紹介します。 JSLink とは JSLink とは、データのレンダリングを外部の JavaScript ファイルによって制御する機能です。 JSLink を使用したクライアント サイド レンダリング (JavaScript、HTML、CSS などのクライアント サイドの技術を使ってページ上にデータを表示すること) によって、独自に実装した JavaScript の処理を列の表示に反映させることができます。 実装方法 簡単な JavaScript のサンプルをご紹介しますので、実装イメージを掴んでいただけますと幸いです。(ここでは、JavaScript の実装について説明するため、作成した js ファイルのアップロード先や適用方法については後ほど説明します。) 下記のようなアイテムを例に、ビューの列の表示をカスタマイズしていきます。 ■サンプル 1 ビューの任意の列 (列の内部名を TestField とします) で、現在のアイテムの列の値を文字色を変えて表示します。 (function () { var context = {}; context.Templates = {}; context.Templates.Fields = { “TestField”: { “View”: viewTemplate } }; SPClientTemplates.TemplateManager.RegisterTemplateOverrides(context);…

0

SharePoint 2013 JavaScript Object Model (JSOM) を使用して検索結果を取得する

こんにちは、SharePoint サポートの佐伯です。 今回の投稿では、JavaScript Object Model (JSOM) を使用して検索結果を取得する方法についてご紹介します。 検索結果の取得から描画まで一通り実装して動作を確認したい、全体的な実装イメージを掴みたいという方のために、サンプルを用意しました。 API の詳細について確認されたい場合は、本投稿内に記載の公開情報のリンクからご確認ください。 ■サンプル 概要 : JSOM を使用して検索結果を取得する処理を実装し、最新のお知らせアイテムを表示する Web パーツを作成します。 ページにスクリプト エディター Web パーツを配置し、この Web パーツの [スニペットを編集] で、下記の JavaScript のコードを記述します。 完成後のイメージ : サンプル コード : <script type=”text/javascript” src=”/_layouts/15/sp.runtime.js”></script> <script type=”text/javascript” src=”/_layouts/15/sp.js”></script> <script type=”text/javascript” src=”/_layouts/15/sp.search.js”></script> <script type=”text/javascript” src=”http://ajax.microsoft.com/ajax/jQuery/jquery-1.4.2.min.js”></script><script type=”text/javascript”> <!– var results;$(document).ready(function () { getSearchResults(); });function getSearchResults() { var…

0

ディスカッション掲示板のデータ移行 サンプル スクリプトについて

こんにちは SharePoint サポートの森 健吾 (kenmori) です。今回の投稿では SharePoint Online または SharePoint Server 2013 において、ディスカッション掲示板が、ビューやページ カスタマイズによって壊れてしまった時などに有効な、同一サイト内でのデータ移行を実施するスクリプトを紹介します。 ディスカッション掲示板は特殊なリスト ディスカッション掲示板は非常に特殊なリストです。このリスト自身が、標準リストをベースに作りこまれたリスト定義であり、特殊な機能を実装するために標準の設定変更やカスタマイズを想定していない場合があります。そのため、ビューを高度にカスタマイズすると、下記の様に予期せぬトラブルが発生する可能性があります。 ・SharePoint Designer でビュー / Web パーツを編集し、保存すると破損した。 ・既定のリスト ビューを再作成しようとしたが、元のビューが作成できなかった。 もし、ご要件上、どうしても高度なカスタマイズを組み込む場合は、テスト環境で空のディスカッション掲示板を作成して実績がある手順を作り、その上で手順書通りに本番環境に適用するなど、細心の注意を払う必要があります。また、できる限りスタイル シートや JavaScript など外部的な変更にとどまることも重要です。 ディスカッション掲示板に組み込まれた既定のビューは、一度破損すると元に戻りません。特に、フラット形式のビューが破損すると致命的な問題になります。フラット形式のビューは、ユーザーはディスカッションに対する返信を入力できる唯一のビューですので、このビューが削除されるとディスカッション掲示板の運用が厳しくなります。 対処策として様々な方法を検討できますが、PowerShell などで既存のビューと同じ値を復元しても元に戻りません。SharePoint Designer で同じパブリック プロパティにそろえても同様です。 ディスカッション掲示板の特殊なビューは、リスト作成時にスキーマ定義をもとに作られるものが唯一の正しい作成方法のようです。   ディスカッション掲示板のビューが壊れたときの対処 最も確実な方法は、ディスカッション掲示板を再作成した後、元のディスカッション掲示板内にあったデータを移行する方法です。 下記のサンプル コードは SharePoint Online に対応するために、CSOM (クライアント サイド オブジェクト モデル) で記載しており、PowerShell で実行できる形式にしております。 事前準備 下記の準備事項が、スクリプト実行の前提となります。 1. PowerShell を実行する端末には、事前に SharePoint Online…

0

SharePoint JSOM を使用したアイテムの CRUD 方法

こんにちは SharePoint サポートの森 健吾 (kenmori) です。   今回の投稿では、SharePoint Online または SharePoint 2013 サイト上のページからJSOM (JavaScript オブジェクト モデル) を使用し、リストアイテムを CRUD (Create, Read, Update, Delete) 操作する方法についてサンプルを記載します。   前回の REST に関する投稿で記載した通りですが、SharePoint のクライアント サイド API は、下記のような用途で使い分けされます。   CSOM .NET ベースのクライアント サイド アプリケーションおよびプロバイダー ホスト型アプリ JSOM SharePoint サイト上のページから同じサイトのサイト コンテンツへのアクセス REST (JavaScript) SharePoint ホスト アプリのアプリ サイトからホスト サイトへのアクセス (ただし RequestExecutor を使用) (サンプル) REST (コード) .NET…

0

SharePoint REST サービスを使用したアイテムの CRUD 方法

こんにちは SharePoint サポートの森 健吾 (kenmori) です。   今回の投稿では、SharePoint Online または SharePoint 2013 サイト上のページから REST API を使用し、リストアイテムを CRUD (Create, Read, Update, Delete) 操作する方法についてサンプルを記載します。   今回紹介する方法は、SharePoint の REST サービスを理解する上で非常に重要であり、SharePoint アプリなどを作っていく前に一度経験しておいた方が良い内容です。ただし、今回ご案内するサンプルは、実際に使用するシナリオが限定されます。   SharePoint のクライアント サイド API は、下記のような用途で使用されます。   CSOM  .NET ベースのクライアント サイド アプリケーションおよびプロバイダー ホスト型アプリ JSOM  SharePoint サイト上のページから同じサイトのサイト コンテンツへのアクセス REST (JavaScript) SharePoint ホスト アプリのアプリ サイトからホスト サイトへのアクセス (ただし RequestExecutor を使用) REST (コード)…

0

JSLink を使用してドキュメント ライブラリの列の表示をカスタマイズする (アイテム表示フォーム)

こんにちは、SharePoint サポートの佐伯です。 前回の投稿では、JSLink を使用して、リスト ビューで以下のようにドキュメントのカテゴリを色分けして表示するカスタマイズ方法をご紹介しました。 今回の投稿では引き続き、アイテムの表示フォームでもカテゴリが色分けして表示されるようカスタマイズを行いましょう。 なお、前回の投稿でご紹介している手順の続きとして、上の画像のカスタマイズ方法をご紹介していきます。 例) アイテムの表示フォームでドキュメントのカテゴリを色分けして表示する 前回の投稿で作成した DocCategoryColor.js に以下の青色部分のコードを追加し、保存します。(以下のコードをすべてコピーして貼り付けます) (function () { var docCategoryColorContext = {}; docCategoryColorContext.Templates = {}; docCategoryColorContext.Templates.Fields = { “DocCategory”: { “View”: docCategoryColorViewTemplate, “DisplayForm”: docCategoryColorViewTemplate } }; SPClientTemplates.TemplateManager.RegisterTemplateOverrides(docCategoryColorContext); })();function docCategoryColorViewTemplate(ctx) { var docCategory = ctx.CurrentItem[ctx.CurrentFieldSchema.Name]; var backgroundColor = “”; switch (docCategory) { case “調査書”: backgroundColor = “green”; break; case…

0

JSLink を使用してドキュメント ライブラリの列の表示をカスタマイズする (ビュー)

こんにちは、SharePoint サポートの佐伯です。 今回の投稿では、JSLink のカスタマイズについてご紹介します。 SharePoint 2013 では、クライアント サイド レンダリングによって Web パーツ内のアイテムが表示される動作となりました。クライアント サイド レンダリングとは、JavaScript、HTML、CSS など、クライアント サイドの技術を使ってページ上にデータを表示することをいいます。 今回とりあげる JSLink とは、データのレンダリングを外部の JavaScript ファイルによって制御する機能です。 JSLink を使用したクライアント サイド レンダリングによって、独自の JavaScript ファイルを適用して表示をカスタマイズすることができます。 例えば、ドキュメント ライブラリにカテゴリを管理するカスタム列を追加すると以下のような表示になりますが、 JSLink を使用して、この列のレンダリング内容を変更することで、以下のようにカテゴリを色分けして表示することも可能です。 このように表示を工夫することで、よりドキュメントの確認がしやすくなりますね。 今回は上の画像のようなカテゴリの色分けを実現する JSLink のカスタマイズ方法をご紹介し、より JSLink の理解を深めていきたいと思います。 例) ドキュメントのカテゴリを色分けして表示する 1) 列の作成 2) JavaScript ファイルの作成 3) Web パーツに JSLink を設定 (JavaScript ファイルの適用) まず、ドキュメント ライブラリにカテゴリ列を追加し、次にカテゴリを色分けして表示する JavaScript ファイルを作成、適用を行い、カテゴリ列の表示をカスタマイズします。 1)…

0