5

ですから、私は少し古臭いかもしれませんが、過去に Web サイトを作成したときは、開発サーバーでサイトを開発してから、ページとファイルを運用サーバーに公開または昇格していました。これは常に、私たちの 1 人が失敗したためにページがめちゃくちゃになったり、サーバーがダウンしたりするのをユーザーが見ないようにするための良い方法であると思われてきました。

しかし、Microsoft が SharePoint を作成したときにこの考えを念頭に置いていたようには見えません...少なくとも、定義されているインフラストラクチャでこれを行う方法を見つけることができませんでした。

SharePoint 開発の管理戦略があるかどうか知っている人はいますか? 開発環境のバックアップを作成し、運用サーバーに復元できることをオンラインで読みました。最初はうまくいくかもしれませんが、運用サーバーへの更新は、運用サーバーでデータが失われる危険を冒さずにそれを行うことはできません。リストのコンテンツ、ページ、およびドキュメントをあるサーバーから別のサーバーに移行するためのツールがいくつか出回っていますが、確かに、それらについてはまだ調査していません。

しかし、私のもう 1 つの懸念事項は、カスタム コンテンツ タイプです。リストがコンテンツ タイプを使用すると、リストからアイテムを削除し、コンテンツ タイプの関連付けを解除し、コンテンツ タイプを再度関連付けないと更新できないようです。コンテンツ タイプをアップグレードする方法はありませんか?

とにかく、これらの現在のジレンマのいずれかについて何か提案があれば、ぜひご連絡ください.

前もって感謝します、

ダン


早々に返事をくれてありがとう。

サイト用に作成されたいくつかの機能と、基本 (コンテンツ タイプ、列など) に向けられた機能をバンドルするソリューション パッケージ、およびブランド化に関係する機能 (ページ レイアウト、マスター ページなど) のための別のソリューションが既にあります。

しかし、これは 1 回限りのショットのようです...基本的に、これでサーバーがセットアップされますよね? 運用環境を使い始めると、ドキュメント、ページ、リスト アイテムがすべてコンテンツ データベースに存在することになり、コンテンツ タイプや列などを更新することはできなくなります。

新しい機能をインストールしてアクティブ化する前に、非アクティブ化してアンインストールする必要がある機能ですよね? 機能定義で Version プロパティを見たことがありますが、私が知る限り、これは何もしません。ソリューションは、バージョン番号を増やすことでアップグレードできるように見えますが、特に使用中の場合、コンテンツ タイプや列などを変更するようには見えません。さらに、ソリューションによるアップグレードがどれほど広範囲に及ぶかはわかりません。

この種のことについては、貴重なドキュメントがほとんどありません。私が読んでいるのは、SharePoint サーバーを最初にセットアップする方法だけのようです...長期的に管理することではありません。

アドバイスや提案はありますか?


ご提案いただきありがとうございます。

しかし、私たちはこのサイトに 1 年以上取り組んできました。私たちは、あなたのほとんどが推奨しているものに従って、すでにセットアップされていると確信しています. コンテンツ タイプ、列、マスター ページ、ページ レイアウト、ワークフローなどをインストールするいくつかの機能が既に用意されています。これらの機能のほとんどは、ソリューション パッケージに含まれています。すべての開発環境を VPC サーバーとしてセットアップしました。

これで、初期展開はほぼ完了しました。私が本当に知りたいと思っているのは、コンテンツの種類や列などをアップグレードする方法です。使用後にコンテンツ タイプを変更することはできますか? 私の最初のテストに基づいて、これが可能であるとは思えないからです。アセンブリは問題なく交換されているように見えるため、アセンブリについては心配していませんが、コンテンツ タイプを更新する唯一の方法は、それらを参照しているアイテム (つまり、ページ ライブラリ内のすべてのページ) を削除することです。コンテンツ タイプを再追加します。

最初の展開後にコンテンツ タイプを更新する方法があるかどうか知っている人はいますか? ...ユーザーが既にデプロイ済みのコンテンツ タイプに基づいてアイテムを作成した場合は?

(私の質問の他の部分は、実際には既存のページを開発サーバーから本番環境に移動することでしたが、それがなくても生きていけます。私の主な心配はコンテンツの種類です。)

4

5 に答える 5

5

最善の方法は、機能を使用して開発することです。機能が完成したら、ソリューション パッケージ (WSP と呼ばれます) を使用してデプロイできます。

残された唯一のことは、これらの機能を再度有効にすることです。そうすれば、本番環境ですべてを行う必要なく、新しい機能を段階的にロールアウトできます。

WSPBuilderは、WSP の構築を支援するアプリケーションです。

このすべてを自動化するために...頑張ってください。多くの作業が必要です。

更新: コンテンツ タイプと列の展開は注意が必要です。Web サイトが作成されると、機能を通じてそれらを更新することはできなくなります。コードを調べ、すべてのサイトを再帰的に調べて、名前に一致する特定のコンテンツ タイプを変更する必要があります。

試してみましたが、通常は機能でそれを行うことはできません。これは、私が「コードによるデプロイ」と呼んでいるものを通過する必要があります。

于 2008-10-23T16:36:42.600 に答える
2

機能を使用してコンテンツ タイプを定義することが本当に必要です。これは、各コンテンツ タイプに GUID が設定され、同じ名前でデータベースに格納されるためです。これは、サイト上で CAML クエリを実行するときに重要になります。また、コンテンツ タイプを作成するときに、他のいくつかの小さな問題があります。

カスタム コンテンツ タイプを使用してソリューションを展開するには、STSDevを好みます。

サーバー上のページを編集するには、2 つの方法があります。メジャー バージョンとマイナー バージョンを持つようにページ ライブラリを定義できます。これにより、編集者がページを編集し、定義された発行者がページを発行できるようになります。これは内部サイトには適していますが、公開サイトにはお勧めできません。

公開サイトの場合は、Content Deploymentを使用する必要があります

製品リリースに進む前に、コンテンツ タイプの機能があることを確認することはいくら強調してもしすぎることはありません。

ここで述べたように、Chris O'Brianは、必要でない限り機能を使用しないでくださいという投稿をしています。彼の理由の 1 つは、それが発達を遅らせることです。

私はこれに同意しません。機能に慣れていないと開発遅くなりますが、ある程度の知識に達すると、それは大きな要因ではありません。

コンテンツを移動するためのバックアップと復元の方法について、彼の話を聞いてください。これを行うと、開発中に作成したコンテンツ タイプ、フィールド、および Web のすべての混乱 (私にとっては常にかなりの量です) は、運用サイトに移動されます。

すべてが一貫しているきれいなサイトを持つ代わりに、小さなバグが発生し、サイトの一部の領域が他の領域とは異なる動作をすることになります.

于 2008-10-23T20:27:59.543 に答える
1

ほとんどの項目は、ソリューション (WSP ファイル) にラップされた機能を介して展開する必要があるという点で、Maxim は正しいです。戦略は、ソリューションとアセンブリが関連する機能に分割されていることを確認する必要があります。これは、機能をサイトや Web などの特定のレベルで分離できるという点でも有益です。コンテンツの更新を更新するときは、機能のアクティブ化コード、非アクティブ化コード、および機能のステープルを使用する必要があります。コンテンツの展開も理にかなっています。

覚えておくべきことは、更新がコードのみである場合は、機能を再度有効にしたり、ソリューションを撤回して再展開したりすることなく、アセンブリを更新できることです。必要なのは、アプリケーション プールをリセットすることだけです。

Microsoft には開発環境に関するいくつかの記事があり、環境を推奨する他の多くの記事を Google で検索できます。仮想マシンで開発を行い、ほとんどのアイテムを仮想統合サーバーにデプロイします。スモーク テストを行ったら、ソリューションを QA などに展開します。利点は、機能とソリューションを簡単に撤回できることです。本番環境に移行したら、徹底的にテストする必要があります。

言うまでもなく、SharePoint での開発には問題がありますが、これまでのところ、利点が問題を上回っていることがわかりました。

Microsoft Office SharePoint Server 2007 でのチームベースの開発

于 2008-10-23T20:20:10.463 に答える
1

Chris O'Briens の最新の投稿と、彼の優れた Content Deployment Wizard を参照することをお勧めします。それは機能だけではありません!

于 2008-10-23T19:53:30.970 に答える
0

サイトコレクションのコンテンツタイプとフィールドを更新するカスタムソリューションを開発しました。カバーの下で、コードを介して、SharePointを使用して、フィールドと、フィールドおよびサイト/リストコンテンツタイプの値を変更できます。

実際のコンテンツをQAからProdに移動するには、Echoを使用します

于 2008-11-06T18:14:36.253 に答える