Sharepoint 服务将子站点从私有站点复制到另一个站点
我有这两个共享点 Web 应用程序,它们驻留在同一服务器上,具有不同的网站集和内容。我想做的是开发一项仅计划在特定服务器日期和时间运行的服务。
第一个 Web 应用程序是内部站点,仅允许内部用户查看该站点。虽然第二个 Web 应用程序是公共站点,但任何人都可以查看该站点。
现在,我想根据以下条件在两个 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 中。我计划同步这两个网站。
例如,今晚 10 点,我将复制在 PrivateSite 中找到但在 PublicSite 中找不到的所有子网站。所以基本上在今天晚上 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?
谢谢! :)
I have this two sharepoint web application that resides on the same server with different site collections and contents. What I wanted to do is to develop a service that will just be scheduled to run on a specific server date and time.
The first web application is an internal site, only internal users are allowed to view the site. While the second web application is a public site, everone is allowed to view the site.
Now I wanted to do a synchronization between the two web applications on the following criterias:
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
Notice that all subsites are there in both MyInternalSite.com and MyExternalSite except CGroup. I am planning to sync the two sites.
Let us say for example @ 10pm this evening I will copy all subsites found in the PrivateSite which is not found in the PublicSite. So basically at 10pm this evening 1 subsite will be copied to the PublicSite and that is 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?
Thanks! :)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
1.) 没有任何服务可以自动为您执行此操作,但 Sharepoint API 是您需要走的路线;直接在代码级别访问,而不是通过 Web 服务。
2.) 您需要考虑您的私人站点和公共站点是否位于同一个物理盒子上。如果它们位于单独的盒子上,事情会稍微棘手一些。
正如 Furqan 建议的那样,您需要考虑权限以及 SPSite 和 Web 详细信息。
另一个重要的考虑因素是,您不能简单地“复制”SPSite 和 SPWeb 项目等的内容,因为这会导致 GUID 等出现各种问题,因此您的方法应该是创建新的 SPSite 和网站 基于您以编程方式从源(私人)站点收集的信息。
祝你好运!
1.) There is no service that will do this for you automatically, but the Sharepoint API is the route you need to go; accessing directly at the code level and not via web services.
2.) You need to consider whether your private and public sites are on the same physical box. If they are on seperate boxes, things are slightly trickier.
As Furqan advises, you will need to consider permissions, as well as SPSite and Web detail.
Another important consideration is that you can't simply 'copy' the contents of SPSite and SPWeb items, etc, as this will cause all kinds of hell with GUIDs and so on, so your approach should be to create new SPSites and webs based on the information you gather programmatically from your source (private) site.
Best of luck!
在12 HIVE文件夹中,_vti_bin文件夹里面有SPSite内部使用的所有服务,希望你能在那里找到这样的服务,但需要你自己调查一下。
您可以使用 sharepoint API 来完成此操作,恕我直言,这样会更好,我看到的唯一问题是在创建的内容中授予的权限,您还需要以编程方式设置所有权限。
In 12 HIVE folder, _vti_bin folder is there which has all the services used by SPSite internally, hopefully you can find such service there but you need to investigate it by yourself.
you can do it using sharepoint API and IMHO it would be better this way, the only problem I see in it is the permission granted in the created content, you need to set all permissions programatically as well.