言語に応じたサイトにリダイレクトする方法

SharePoint は多言語対応の仕組みとして、バリエーションという機能を持っており、言語ごとにサイトを作ることで、ブラウザの言語設定に応じたサイトへ自動的にリダイレクトする機能があります。 バリエーションを計画する(オンプレ) http://technet.microsoft.com/ja-jp/library/cc262404.aspx 多言語機能の概要(Office 365) http://office.microsoft.com/ja-jp/sharepoint-online-enterprise-help/HA101867790.aspx?CTT=5&origin=HA102034913 バリエーション機能を使うことで言語に応じたリダイレクトはできるのですが、バリエーション機能を使うためには発行機能を有効にする必要があったり、各国語サイトへのコンテンツ配信の仕組みを検討したりと、リダイレクトさせるだけでも、色々考えることがあります。 単純に言語に応じて、適切なサイトにリダイレクトさせたいというニーズを満たすだけであれば、バリエーションを使わずに JavaScript で済ませてしまうこともできます。 以下が、そのやり方になります。 JavaScriptでブラウザの言語を取得してリダイレクトする方法 JavaScript だけで言語に応じたリダイレクトをさせたい場合は、以下のコードを js ファイルとして保存し、リダイレクト元のサイトのドキュメントライブラリにアップロードし、リダイレクト元サイトのページにコンテンツエディタ Web パーツを配置して js ファイルを読み込むようにしてください。

読了時間: 1分

アイテムの参照ページ (DispForm.aspx) に ID 列を表示する (ちょっと問題あり)

注意! 本件、すでに登録されているアイテムを参照する分には問題ないですが、新規登録されたアイテムには対応できないようです。 新規登録されたアイテムは、集計列が計算式を実行するタイミングではIDがまだ確定していなくてゼロになっているようで、集計列にもゼロが表示されてしまいます。 以下、上記現象を解説しているブログになります。(中村さん、ご指摘いただき、ありがとうございました。) http://fahadzia.com/blog/2011/05/sharepoint-list-id-column-in-a-calculated-column-does-not-update/   それでも記事は一応残しておきます。 参照だけで使いたいというニーズがあるかもしれないので・・・   アイテムの ID は、リスト内で必ず一意になる数字で、ビューで一覧で見た時にわかりやすいのため、アイテムの識別番号として使うことは多いと思います。 そして、ビューには簡単に ID 列を表示できるので、参照ページでも普通に表示できるだろうと考え、参照ページで ID 列を表示しようと試みます。 しかし、いざ設定しようとすると、アイテムの参照ページには ID 列が表示できないことに気づきます。   そんな時・・・ 以下の手順で、参照ページに簡単に ID 列を表示することができます。   1.リストに集計値列を追加する。 リストの設定ページにて、[列の作成]をクリックし、集計値列を追加します。 ここで列名を ID にしようとしても、内部的に ID という列名は使われているので、指定することができません。 No など、ID 以外の列名にしてください。 image_6_3BC4EC95   2.数式として「=ID」と入力し、データの種類を数値にする。 数式欄に「=ID」と入力します。 この数式により、集計値列に ID 列の値を表示することを指定しています。 また、[この式から返されるデータの種類]は、必ず数値にしてください。 ここで違う種類を選択すると、数式で ID を指定していても、値が表示されません。 データの種類は、表示する列の種類に合わせて、正しく指定する必要があります。 image_4_3BC4EC95 設定は以上です。 これで参照ページに ID 列を表示できるようになります。 あとは、列の並び順を整えれば完成です。 image_8_26D36A22   なお、今回追加した列は集計値列なので、新規や更新ページでは表示されません。

読了時間: 1分

Client OMからクレーム認証を使用して SharePoint Onlineに接続する方法、その2

Client OMからクレーム認証を使用して SharePoint Onlineに接続する方法、その2 こちらの方法では、ID, Passwordの入力すら不要とのこと。 http://t.co/FU53EXaT

twetter より

読了時間: 1分

匿名アクセス時の Client OM の制限解除方法

Client OM を使って匿名アクセスをする場合、利用できるメソッドに制限があります。

例えば標準状態では、以下のコードは22行目を実行するとエラーとなります。

1: ClientContext ctx = new ClientContext("http://hoge");
2: ctx.AuthenticationMode = ClientAuthenticationMode.Anonymous;
3: List list = ctx.Web.Lists.GetByTitle("Sample");
4:  
5: CamlQuery query = new CamlQuery();
6: query.ViewXml =
7: "<View>" +
8: "<Query>" +
9: "<Where>" +
10: "<Eq>" +
11: "<FieldRef Name='\_ModerationStatus' />" +
12: "<Value Type='ModStat'>0</Value>" +
13: "</Eq>" +
14: "</Where>" +
15: "</Query>" +
16: "</View>";
17:  
18: ListItemCollection itemColl = list.GetItems(query);
19:  
20: ctx.Load(itemColl);
21: ctx.Load(itemColl, items => items.Include(item => item["Title"]));
22: ctx.ExecuteQuery();

エラーの内容は以下の通り。

読了時間: 2分

SharePoint 2010 開発で JavaScript / jQuery を使用する際の留意点

なるほどー。 であれば、今回はClient OMは使わずにRESTで行こうかな。 SharePoint 2010 開発で JavaScript / jQuery を使用する際の留意点 (メモ) : http://t.co/3x2qlZ2o

twetter より

読了時間: 1分

SharePoint 標準の仕組みでページングを実現する方法

SharePoint 標準の仕組みでページングを実現する方法。 前、次ってやつだけじゃなく、ページ番号指定できる仕組みもほしいなぁ。 Paging With SPListItemCollectionPosition http://t.co/IbjkIa3K

twetter より

読了時間: 1分

マスターページを変更してリボンUIのタブを消す方法

リボンUIのタブ、サイトの操作、ログイン名などを消すには、マスターページを編集する必要があります。 この記事では、その方法を記載します。 なお、リボンUIのタブを消すと、本サイトのヘッダのようになります。 1.SharePoint Designerでマスターページを開くリボンUIのタブを消したいマスターページを開き、[ファイルの編集]メニューをクリックします。 ここでは、v4.masterをサンプルとして使います。 2.マスターページを編集するコードエディタ上で、以下のタグを検索します。 ​

このタグがリボンUIの開始タグになります。 私が試した環境では61行目にこのタグがありました。 終了タグは、243行目の二つ目の
になります。 上記タグを中身ごと削除すれば、リボンUIが表示されなくなりますが、それではページ編集などもできなくなってしまいます。 したがって、管理権限など特定の権限を持つ人にだけリボンUIが表示されるようにします。 61行目のタグの前に、以下のタグを追加します。 <SharePoint:SPSecurityTrimmedControl runat=“server” PermissionsString=“DeleteListItems”> さらに、243行目の
の後に、を追加します。 最終的には以下のような感じになります。 61行目 <SharePoint:SPSecurityTrimmedControl runat=“server” PermissionsString=“DeleteListItems”>

読了時間: 1分