Tag( "Customize" ){ return results; };

SharePoint 2013 以降のドキュメント ライブラリでドラッグ & ドロップのアップロード機能を無効化する

SharePoint 2013 以降では、ドキュメント ライブラリへのファイルのアップロードが、デスクトップからのドラッグ & ドロップで行うことができるようになりました。これはすごく便利なのですが、ファイルのアップロード時にメタデータを入力させたい場合は、自動的に入力のためのダイアログが開かないため少々手間がかかります。であれば、いっそのことこの機能を無効にして、従来通りのアップロード画面からの利用に統一したいなと思うも、どこからも無効化するための設定を探し出せません。というわけで調べたところ、JavaScript を使って無効化できる方法を発見しました。SharePoint Online でもこの方法で OK でした。

Read More

SharePoint のスクリプト オンデマンドに触れてみる

SharePoint 2010 以降(Online を含む)では、大量の JavaScript ファイルを読み込み、また、実行し動作しています。この大量の JavaScript ファイルは、毎回のページ ロードで全て読み込まれるわけではなく、ユーザー操作に応じて動的に(オンデマンドに)読み込むことができる仕組みが用意されています。これは「スクリプト オンデマンド(SOD)」と呼ばれており、この仕組みを利用するための JavaScript メソッドが SharePoint の JavaScript Library に実装されています。

自分でもよく動作を調べ直すことがあるので、メモ代わりに残しておきます。

Read More

他のサイト コレクションのリストの情報を JavaScript で取得する

SharePoint のサイトを作っていくと、他のサイト コレクションのリストに保存された情報などをページに表示したいということがあります。例えば、とあるワークフローが他のサイト コレクションにある場合、そのワークフローにより割り当てられるタスクが格納されるリストの新着アイテムを表示したいなどです。ほかにも他のサイト コレクションのお知らせリストの新着アイテムを表示できても良いですね。

しかしながら、SharePoint の標準機能におけるリストに格納されたデータの利用・表示範囲はサイトの単位になっているため、その更に上位のサイト コレクションが異なる場合にはもちろん利用できません。何か方法はないものかと、試しに SharePoint の JavaScript API で試してみたところ実現できそうだったので投稿します。

今回の記事では、SharePoint Online にて動作確認を行っています。SharePoint Online では全てのサイト コレクションが「<tenant>.sharepoint.com」の配下に作成され、クロスドメイン制約に該当しないことも重要な点かなと思います。

Read More

SPUtility.js を使ってみた

SharePoint のリストを触っていると、ちょっとだけ工夫したくなるときがあります。例えば…「アイテムの新規作成時には入力させたいけど、編集時には入力させたくない列がある」「姓と名の列が入力されたら、自動的に氏名列に値を入れたい」「URL のクエリ文字列に応じて、列の既定値を変えたい」…などなどです。どれも、JavaScript やワークフローなどの組み合わせで実現が出来るのですが、スゴク簡単に利用できそうな jQuery ライブラリを Codeplex で見つけたので試してみました。それが「SPUtility.js」というライブラリです。

SPUtility.js
http://sputility.codeplex.com/

Read More

JS リンク コードサンプル集

以前の記事でも利用方法を紹介した JS リンクですが、嬉しいことにカスタマイズのサンプル集が MSDN デベロッパーセンターにて公開されていました。これを参考にすることで、さまざまなカスタマイズへ応用が利きそうですね。私もさっそくダウンロードしました。7種類のサンプルコードが含まれており、特に「Sample 7 (List add and edit – Email Regex Validator)」のリスト フォームのバリデーションは多々応用が利きそうですね。

Client-side rendering (JS Link) code samples
http://code.msdn.microsoft.com/office/Client-side-rendering-JS-2ed3538a

Read More

SharePoint 2013 リストのリッチ テキスト フィールドをウインドウ幅に合わせて広げる

SharePoint Online も SharePoint 2013 にアップグレードされたテナントが増えてきて、SharePoint 2010 で定番であった細かなカスタマイズを再度見直す機会が増えてきました。今回は、SharePoint 2010 までも良く見かけた、リストのリッチテキスト フィールドをウインドウ幅に合わせて広げる(フィールドの幅を 100% に指定する)カスタマイズです。

フィールドの横幅を px 指定する方法は、SharePoint Maniacs さんでも紹介されていましたが、この CSS のみでは、入力フォームの幅を 100% 指定時には不十分であるようでしたので、補足になります。

CSS で SharePoint 2013 のリッチテキスト領域の幅を広げる
http://sharepointmaniacs.com/archives/4841

Read More

「コンテンツ エディター」や「スクリプト エディター」を利用したカスタマイズを簡単に再利用できるようにする

私自身が JavaScript や CSS を利用したライトなカスタマイズを好んでいることもあり、このブログでもそれらを利用したカスタマイズをいくつか取りあげてきました。例えば、予定表 Web パーツのカレンダー表示をコンパクトする CSS を紹介した記事などがそれに当たります。

予定表 Web パーツのカレンダー表示をコンパクトにしてみた
https://idea.tostring.jp/?p=635

これらの記事では、「コンテンツ エディター」Web パーツや「スクリプト エディター」Web パーツを利用しているため、そのままでは再利用性に乏しく、ユーザー自身が設定するためにはコードを記述する必要があります。今回は、こうした課題に対して最も簡単・単純に応える方法をご紹介します。

Read More