カテゴリ「SharePoint 2010」の86件の投稿 Feed

2012年9月 5日 (水)

昨日の記事でご紹介したサイトテンプレート一覧の情報を元に、JavaScript を使ってサブサイトを作成することもできます。コンテンツ クエリ Web パーツでも試せます。以下にサンプルをご紹介します。

function createWeb(){ var ctx = new SP.ClientContext; this.rootWeb =ctx.get_web(); ctx.load(rootWeb); var wci = new SP.WebCreationInformation(); wci.set_title('Sub');//サイトのタイトル wci.set_url('Sub');//サイトのURL wci.set_webTemplate('STS#0'); //チームサイトのテンプレート this.newWebsite=this.rootWeb.get_webs().add(wci); ctx.load(this.newWebsite,'ServerRelativeUrl', 'Created') ctx.executeQueryAsync(success,failure); } function success(){ alert("サイトが作成されました");} function failure(){ alert("要求が失敗しました");}

詳細については次にURLが参考になります。

[方法] JavaScript を使用して、Web サイトを処理する

2012年9月 4日 (火)

※自分への備忘録を兼ねています。

クライアント オブジェクト モデルを使ってサイトを作成する場合、サイトテンプレートを指定する必要があります。たとえば、"MPS#2" などです。この情報の一覧を取得するには、SharePoint 2010管理シェルを使って、Get-SPWebTemplate コマンドレットを実行します。

SiteTemplateList

 

2012年8月20日 (月)

※自分の備忘録として記載します。

ユーザー プロファイルの同期を行うには Windows 上のサービスとしてインストールされる 「Forefront Identity Manager Service」と「Forefront Identity Manger Synchronization Service」の2つが開始されている必要があります。久しぶりに立ち上げた検証環境のサーバーでは、このうちの後者のサービスが停止し、無効化されていました(以前は正常に動作していました)。そのため、通常の手順でユーザー プロファイル サービスを開始するよう設定したのですが、一向にサービスが開始されず、下記のようなエラーが Windows イベント ログに記載されていました。

"Cannot open the FIM Synchronization Service database because the database schema version in existing database does not match the required version"

このため "SharePoint 2010 製品構成ウィザード" を再度実行して修復を試みて再び、ユーザープロファイル サービスの開始を手順を実行してみると([サーバー全体管理]-[サーバーのサービスの管理]-[User Profile Synchronization Services]を開始)正常に動作するようになりました。なお、検証環境の構成データベースのバージョンは "14.0.619.5002" です。

ただし、これに関するトラブル対処について下記のようなフォーラムもあったので、この手順ですべて解決できるわけではない可能性がありますので、あくまでもご参考まで。

http://social.technet.microsoft.com/Forums/br/sharepoint2010setup/thread/2011e0a0-906b-40d5-86fd-490a4deb9d6f

ちなみに、"製品構成ウィザード" は構成データベースの作成を行う以外に、アップデートも実行します。そのためサービスパックなどを適用した後は製品構成ウィザードを実行してデータベースも含めて更新するようになっています。

2012年5月29日 (火)

SharePoint サイトのデータ使用領域は上限設定されることがほとんどです。この上限設定はクォータ設定といい、サイト コレクションごとに管理されています。クォータ設定はサーバーファームの管理者が管理しているものです。サイトコレクションの管理者やサイトの管理者は、クォータ設定の値を手軽に確認したり、現在の使用量を手軽に確認することができません。

そこで、ユーザーが手軽にサイズを確認できるよう JavaScript を使って SharePoint API を呼び出して表示するパーツを作成してみました。

SiteCollectionSizeCheck

利用するのはコンテンツ エディタWebパーツのみです。ソースコードを以下に示します。


 
結果
 

 

このコードはオンプレミスにもO365環境でも利用できます。

上記のように、JavaScript と SharePoint API を覚えておくことで、色々と応用ができます。

ちなみに、SharePoint API や JavaScript を使った応用的な開発手法まで体系立て網羅的に把握したい方には、以下の研修コースがお勧めです(.NET開発者向けですが)。

また、いきなり.NET開発者向けのコースだとハードルが高いかなと思われる方には JavaScript の初心者向けのコースも新しく公開しました。ご興味のある方はお問い合わせください。

2012年3月15日 (木)

SharePoint 2010 で利用できるようになった「サンドボックス ソリューションとして展開できるWebパーツ」ですが、開発中に色々と注意しないといけないことがあります。

ソリューション開発時のチェックリスト

ソリューションを展開する前に確認しておきたい項目は次のとおりです。

*.cs ファイル

名前空間と型名(クラス名)が正しいかを確認する

*.webpart ファイル

metadataq セクションで指定する type 要素には、正しい方が指定されていること。これが間違っていると、Webパーツを配置しようとしても、エラーが表示され追加できない。

*.spdata ファイル

ファーム ソリューションの場合にはIIS側の SharePoint ルート仮想ディレクトリ内のWeb.configに SafeControl エントリーを追加されますが、サンドボックス ソリューションではWeb.config には直接追加されません。しかし、開発時には隠しファイル内にSafeContolエントリーを記述するようになっています。

Visual Studio 2010 のソリューション エクスプローラーで[すべてのファイルを表示]をクリックすると、Webパーツのフォルダー内には隠しファイルとして *.spdata が生成されており (これは分かりにくい!!) 、この中に SafeControl エントリーが記載されています。*.cs 内の名前空間変更時には併せてこちらも確認しておきましょう (特に Namespace) 。

Spdata

たとえば *.spdata ファイル内の記述が正しくないと次のようにWebパーツに表示されてしまいます。

「Web パーツ エラー: 部分的に信頼されているアプリケーション ドメインで、セキュリティで保護されたコード ラッパーの実行メソッドから未処理の例外がスローされました: この種類は安全なコントロールとして登録されていません。

SPUserCodeSolutionExecutionFailedException: 部分的に信頼されているアプリケーション ドメインで、セキュリティで保護されたコード ラッパーの実行メソッドから未処理の例外がスローされました: この種類は安全なコントロールとして登録されていません。... (以下、略) ]

[参考] http://www.alexbruett.net/?p=261