2009/10/09

リストビューWebパーツを他サイトへ配置する方法

あるサブサイト内のリストのビューを、同サイトコレクション内の別サブサイトに配置する。

【手順】
1.
リストが配置されているサブサイトのGUIDを取得
2.SPD
で該当リストのフォームページ(ex Allitems.aspx) を開いて
 リストビューWebパーツの<ExportControlledProperties>要素の値をfalse からtrue に変更
3.
ブラウザで上記のフォームページを開いて、リストビューWebパーツをエクスポートする
4.3
でダウンロードしたWebパーツ(.dwp)をテキストエディタで開いて、
 <WebId >要素の値を1 で取得したGUIDに書きかえる
5.4
で編集したWebパーツ(.dwp)をWebパーツギャラリーにアップロードする
6.
任意のサイトにWebパーツを配置する


【注意点】
・GUIDの取得方法については参照先サイトの「How to find a GUID」を参照のこと。
 
もしくは、MOSS SP2環境であれば、stsadmで取得可能です。
 stsadm -o enumallwebs -databasename <
データベース名> [-databaseserver <データベース サーバー名>]


・上記の手順4 で<WebId >要素のGUIDは小文字である必要があります。
 また、<ListName>と異なり、括弧({ })は必要ありません。



【参考】
http://techtrainingnotes.blogspot.com/2009/03/sharepoint-one-library-multiple-sites.html







ユーザー情報の表示

MOSS上で作成者や更新者をクリックすると、Userdisp.aspx(各サイトのユーザ情報)が表示される場合と、person.aspx(個人用サイトのプロファイルページ)が表示される場合とがあります。




この規則ですが、個人用サイトをホストしているWebアプリのURLが以下の条件を満たせば、作成者や更新者をクリックしたとき、person.aspxが表示されます。

それ以外の場合はUserdisp.aspxが表示されます。



※person.aspxが表示されるURLの条件

 1.ポータルと同じホスト名を持っているURL

  【例】

   ポータル:http://mysite/

     個人用サイト:http://mysite:8080/



 2.[ポータルサイト接続]に設定されているURL



 3.ループバックアドレス(http://127.0.0.1/ , http://localhost/)




【参考】





2009/10/06

SharePointでのJavaポートレットの利用

備忘録として。

JSR168については、javaベースのためSharePointではサポートされないようです。
http://blogs.technet.com/mdunkel/archive/2008/02/21/sharepoint-jsr-168-and-wsrp.aspx

WSRPについてはサポートされています。
http://office.microsoft.com/ja-jp/sharepointserver/HA101656531041.aspx#4

「WSRPコンシューマWebパーツ」がMOSS 2007では標準提供(ただし、Enterprise Editionのみ)されています。
#SPS 2003 は標準ではなく、CodePlexとかでソースが公開されていた状態かと。

ただし、製品的には対応しているとはいっているものの、汎用仕様ポートレットをちゃんと使おうとした場合にはそれなりにテストなり改修なりが必要になると思いますので、コストメリットが実質どれだけあるのかは「?」ですね。

また、WSRPコンシューマWebパーツ自体も一般的にほとんど使われない部類のWebパーツになると思いますので、個人的には信頼性は低い気がします・・・。


2009/09/18

WSS 3.0で利用できない主な機能

きりがないのであまり細かいレベルまでは記載してませんが、備忘録としてMOSSで利用できて、WSS 3.0で利用できない機能をざっくりとあげてみました。

l  リスト、ライブラリ機能

Ø  IRMライブラリ

²  設定画面はありますが、標準では機能しません。

²  フレームワークとしては対応しているので、開発して組み込めば利用可能



Ø  スライドライブラリ

Ø  データ接続ライブラリ

Ø  レポートライブラリ

Ø  発行ページ全般(ページレイアウト等)

Ø  監査ログ

²  標準では機能しません。

²  フレームワークとしては対応しているので、開発して組み込めば利用可能


Ø  情報管理ポリシー

Ø  MOSSで標準提供されるもののうち「3段階の状態管理ワークフロー」以外のワークフロー

²  SPDで設定するものは可

²  フレームワークとしては対応しているので、開発して組み込めば利用可能

l  ポータル機能全般

Ø  個人用サイト

Ø  ユーザ プロファイル

Ø  対象ユーザ

Ø  バリエーション

Ø  コンテンツ展開

Ø  サイト ディレクトリ

Ø  レポート センター

Ø  レコード センター

²  WSS ファーム内にレコードセンター用サイトの作成が不可

²  レコードセンターへの接続設定は可能

l  検索

Ø  検索結果用Webパーツ全般

Ø  自サイト外の検索

Ø  BDC、人検索

Ø  管理用UI全般

l  アプリケーション系

Ø  SSO サービス

Ø  BDC

²  MOSS Standardも不可

Ø  Forms Services

²  MOSS Standardも不可

Ø  Excel Services

²  MOSS Standardも不可

2009/09/17

イベントID:7888 が発生する

MOSS 2007のStandard Edition環境のみでイベントID:7888 が発生するするとのこと。
ただし、
動作上問題なく、実障害も報告されてないとのこと。

ということなので、監視対象から除外することをお忘れなく。
診断ログの記録レベルを変更する手もありますが、他の肝心なログを記録してくれないと困るますから…。

**********************************************************************

■エラーメッセージ 1)

----------------------------------------------------------------------------------

ソース:Office SharePoint Server
種類:エラー
分類:Office Server 全般
イベントID:7888
ユーザー:N/A
説明:
"
ランタイム例外が検出されました。詳細は次のとおりです。
メッセージ: ストアド プロシージャ 'proc_ar_BumpCacheInvalidationCounter' が見つかりませんでした。

----------------------------------------------------------------------------------

■エラーメッセージ 1) の原因

----------------------------------------------------------------------------------

MOSS 2007 Standard Edition 固有の現象で、ユーザー プロファイルのインポートを行った際に発生します。
イベント エラー ID 7888 に記載されている、ストアド プロシージャー "proc_ar_BumpCacheInvalidationCounter" は、Enterprise Edition にはインストールされておりますが、Standard Editionには、インストールされていないため、Standard Edition において、ユーザー プロファイルのインポートを行った際に、イベント ID 7888に下記のメッセージが表示されます。
「ストアド プロシージャー "proc_ar_BumpCacheInvalidationCounter" が見つかりませんでした」


**********************************************************************

■エラーメッセージ 2)

----------------------------------------------------------------------------------

ソース:Office SharePoint Server
種類:エラー
分類:Office Server 全般
イベントID:7888
ユーザー:N/A
説明:
"
ランタイム例外が検出されました。詳細は次のとおりです。
メッセージ: オブジェクト名 'AR_CacheCounters' が無効です。
EXECUTE
後のトランザクション数は、COMMIT TRANSACTION または ROLLBACK TRANSACTION ステートメントがないことを示しています。以前の数 = 0、現在の数 = 1。

----------------------------------------------------------------------------------

■エラーメッセージ 2) の原因

----------------------------------------------------------------------------------

MOSS 2007 Standard Edition 固有の現象。
Standard Edtion
に AR_CacheCounters が 存在しないためにイベントに記録される。
MOSS 2007
は、データベースと通信する際、キャッシュ処理を行っており、一部のキャッシュ処理に対し、オブジェクト カウンタを AR_CacheCounters に記録する処理を行っております。
しかし、この処理は、Standard Edtion には、搭載されていないため、イベント ID 7888 に以下のメッセージが表示されます。
「ランタイム例外が検出されました。詳細は次のとおりです。メッセージ: オブジェクト名 'AR_CacheCounters' が無効です。」


ドキュメント ライブラリの URL を日本語名に変更する

通常、ブラウザからドキュメント ライブラリを作成した場合は、英数字のURLが自動で生成されます(詳細はリストやライブラリの名前付け規則参照)。


ドキュメント ライブラリを使用する際に、 「Windows エクスプローラで開く」を中心に使おうとされているお客様で、ライブラリ名を日本語にしたいというケースがあります。

通常のブラウザでの利用やエクスプローラビュー表示であれば日本語名(外部名)で表示されるので何のライブラリなのか分かりますが、Windows エクスプローラで使う場合はURL(内部名)でしか表示されず、一般ユーザさんは内部名なんて意識していないので、「これは何のライブラリなの??」という状態になってしまいます。

これを、日本語に変更する方法として、2つあります。

※例

(変更前)http://xxxxxx/sites/xxxxxx/DocLib/

(変更後)http://xxxxxx/sites/xxxxxx/申請書/

※


【変更方法】
①Windows エクスプローラからフォルダ名を変更する方法
②Microsoft Office SharePoint Designer 2007 (SPD 2007)からフォルダ名を変更する方法


ドキュメント ライブラリの URL を日本語名に変更して利用する対応については、一応サポート範囲内の対応となるため特に問題はないとのこと。

日本語名を利用する際に特に注意すべき事項(制限事項)は、
・ファイルまたはフォルダの名前は 128 文字以下
・ファイルへの完全な URL は 260 文字以下
といったURL長に関する問題ですね。

リストやライブラリの命名規則

SharePointでは、リストおよびライブラリのパスとして、リストやライブラリを作成するときに「名前と説明」セクションの「名前」ボックスに入力した値(名前)が適用される仕組みとなっています。
また、リストとライブラリでは、URLに下記の違いがあります。

ライブラリ: http://<SharePoint サイトの場所>ライブラリのパス
リスト:http://<SharePoint サイトの場所>/Lists/リストのパス

ただし、URLには2バイト文字は利用できないため、名前に日本語を使用した場合、URLは次の3つの規則で自動的に作成されます。

  •  名前に日本語のみを利用した場合
    選択したテンプレートの既定の名前が使用される。サイト内に複数作成する場合はURL名の末尾に1からの連番が割り振られる。

    • ライブラリの場合の既定の名前:DocLib
      (⇒ http://<SharePoint サイトの場所>/DocLibX)
    • リストの場合の既定の名前:List
      (⇒http://<SharePoint サイトの場所>/Lists/ListX)
例:「会計」という日本語のみの名前のドキュメント ライブラリを作成した場合は「DocLib」、続けて「総務」という日本語のみの名前のドキュメントライブラリを作成した場合は「DocLib1」となる

  • 名前に日本語と英数字を組み合わせた場合
    日本語は省かれ英数字のみが使用される。

例:「会計01」という日本語と英数字を組み合わせた名前のドキュメントライブラリを作成した場合は「01」となる



  • 名前に英数字のみを利用した場合
    名前が使用される。
    例:「accounting」という英語のみの名前のドキュメント ライブラリを作成した場合は「accounting」となる



以上より、たとえば、「会計01」と「営業01」を作ると、あとから作ったほうは自動的に「011」になります。
その後、さらに「法務011」をつくると「0111」と連番が増えていきます。
なので、日本語では「01」ばかりつくっているつもりでも、URLがどんどん長くなっていってしまいます。。