2

サイト コレクションとコンテンツが異なる同じサーバー上に存在する、この 2 つの SharePoint Web アプリケーションがあります。私がやりたかったのは、特定のサーバーの日時に実行するようにスケジュールされるサービスを開発することです。

最初の Web アプリケーションは内部サイトで、内部ユーザーのみがサイトを表示できます。2 番目の Web アプリケーションはパブリック サイトですが、誰でもサイトを表示できます。

ここで、次の基準に基づいて 2 つの Web アプリケーション間で同期を行いたいと考えました。

1.) Retrieve information from internal site
-Group name
-Group description
-Group owner
-Group owner email
-Group url
-Discussion forum url

2.) Copy everything to the external site (public site) all the retrieved data that is 
    not found  in the external site
---------------------------------------------------
Example:
http://MyInternalSite.com with subsites 
Subsites:
    -AGroup
    -BGroup 
    -CGroup

And I have this external sharepoint site
http://MyExternalSite.com with subsites 
Subsites:
    -AGroup 
    -BGroup

CGroup を除くすべてのサブサイトが MyInternalSite.com と MyExternalSite の両方にあることに注意してください。2 つのサイトを同期する予定です。

たとえば、今晩午後 10 時に、PublicSite にはない PrivateSite にあるすべてのサブサイトをコピーするとします。したがって、基本的に今晩午後 10 時に、1 つのサブサイトが PublicSite にコピーされます。それが CGroup です。

My questions:

1.) Is there some kind of a service that would work or act for this purpose, 
    like maybe a sharepoint-api service?

2.) What are the possible things that I need to consider before I do this?

ありがとう!:)

4

2 に答える 2

4

1.) これを自動的に行うサービスはありませんが、Sharepoint API を使用する必要があります。Web サービス経由ではなく、コード レベルで直接アクセスします。

2.) プライベート サイトとパブリック サイトが同じ物理ボックス上にあるかどうかを考慮する必要があります。それらが別々の箱にある場合、物事は少しトリッキーになります.

Furqan がアドバイスしているように、SPSite と Web の詳細だけでなく、アクセス許可も考慮する必要があります。

もう 1 つの重要な考慮事項は、SPSite や SPWeb アイテムなどのコンテンツを単純に「コピー」することはできないということです。これは、GUID などであらゆる種類の地獄を引き起こすためです。ソース (プライベート) サイトからプログラムで収集した情報。

頑張ってください!

于 2011-03-24T12:26:01.070 に答える
1
  1. 12 HIVE フォルダーには、SPSite が内部的に使用するすべてのサービスを含む _vti_bin フォルダーがあります。そのようなサービスが見つかることを願っていますが、自分で調査する必要があります。

  2. あなたはsharepoint APIを使用してそれを行うことができ、IMHOはこの方法の方が良いでしょう。私が目にする唯一の問題は、作成されたコンテンツで付与された権限です。

于 2011-03-24T10:07:24.953 に答える