2

ここに2つの質問があります。

シナリオ: デフォルトのドキュメントライブラリ設定を使用して、独自のリスト定義を使用してドキュメントライブラリを作成しました。私の定義を使用して作成されたドキュメントライブラリはかなりたくさんあります。次に、バージョン設定を変更して、メジャーバージョンの数を5に制限します。

スキーマファイルの「MajorVersionLimit」リスト要素プロパティに出くわしましたが、残念ながら、これはコンテンツ移行スキーマでのみ使用できます。それは私にはうまくいきませんでした。

質問1: サイトコレクション全体でこのような設定を有効にできる簡単なメカニズムはありますか?

私はこれを変更するために.NETコードの一部を書くことができることを知っています。質問2: これを行うと、リストがリスト定義から外れますか?

前もって感謝します。〜ユバ

4

4 に答える 4

0

私の意見では、既存の Web を変更する最も簡単な方法は、次のような spWeb.MajorVersionLimit を設定する小さな PowerShell スクリプトを作成することです。

#Set up connection

[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
$spSite = new-object Microsoft.SharePoint.SPSite($siteurl) 

for($i=0; $i -lt $spSite.AllWebs.Count;$i++)

{

    $spWeb = $spSite.AllWebs[$i]
    for($j=0; $j -lt $spWeb.Lists.Count;$j++)
    {
        $aList = $spWeb.Lists[$j]
        if( $aList.Title -ceq "dokumenter") # case sensitive
        {
            if( $aList.EnableVersioning -eq $false)
            {
                $aList.EnableVersioning = $true
                $aList.MajorVersionLimit = 5;
                $aList.Update()
            }
        }
    }
于 2009-02-26T19:00:36.707 に答える
0

構成ファイルを介してこれらの値を設定する方法はわかりませんが、SPList オブジェクトで公開されています。したがって、テンプレートから新しいリストが作成されたときにキャプチャする方法を見つけて、フィールド ( SPList.MajorVersionLimitおよびSPList .適切に) を適切に設定することが秘訣です。

私はこれを試していませんが、ここから始めます。

  1. ListTemplate 要素構成ファイルで、'NewPage' プロパティを、ユーザーが UI の [作成] ボタンをクリックしたときに表示される aspx ページに設定します。
  2. そのページのコード ビハインドで、(OM を使用して) リストを手動で作成し、プロパティを設定します。

もっと良い方法があるかもしれませんが、私にはわかりません。幸運を。

于 2009-02-26T07:39:09.670 に答える
0

実際にはそうではありません。Scheme.xml を介して (List 要素の属性として) MajorVersionLimit を設定できます。私にとっては完全にうまく機能しました。IntelliSense によるこれらの属性のサポートはありません。

このソリューションは、Doug "bobthebuilder" McCusker ブログ ( http://suguk.org/blogs/sharepointhack/archive/2008/01/14/7809.aspx )で説明されています。

于 2010-07-26T14:36:02.440 に答える
0

MajorVersionLimit引数はschema.xmlで機能します。このドキュメント ライブラリでファイルを編集するたびに、[バージョンを作成する] をオンにすることを忘れないでください。オプション。

于 2009-02-26T10:46:39.890 に答える