locked
Export the sharepoint site with content to a custom .NET application RRS feed

  • Question

  • Is there any tool or application example that can let me export  the complete content of a Site in sharepoint to my custom application? I know I can use the Sharepoint webservices to extract documents and lists but what about the other  things like content in the content webpart and other content from webparts?

    Basically I am working on a custom application that will be a exact mirror of the sharepoint site.

    • Moved by Mike Walsh FIN Thursday, August 11, 2011 7:09 AM asks for a ready-made tool (From:SharePoint - Development and Programming (pre-SharePoint 2010))
    Wednesday, August 10, 2011 7:37 PM

Answers

  • Is there a way i can have an  exact mirror of the current sharepoint site on a different sharepoint server or on the same for only View purposes? So instead of creating my own custom app to mirror the site, i can use something from the Sharepoint itself to have the LIVE mirror of a site?


    SharePoint has a built in feature called Content Deployment that does exactly this. Basically you configure a seperate SharePoint environment and create a new web application to deploy to. You then configure a Content Deployment job which will copy everything from your existing site collection to your new one. After the initial job runs, it's smart enough to only copy incremental changes after.

    The standard use case for this is when a company wants to use SharePoint to host their public facing website. Internal and external facing environments are set up, all changes/updates/additions etc are made on the internal environment by staff, the content deployment job is timed to run periodically, and when it does it updates the external facing duplicate (which is read only and noone can make changes to it.

    Step by step guide at http://blogs.msdn.com/b/jackiebo/archive/2007/02/26/content-deployment-step-by-step-tutorial.aspx

    more detailed info at http://blogs.msdn.com/b/hanz/archive/2009/02/02/how-to-publish-sharepoint-content-from-an-authoring-farm-inside-corporate-network-to-a-production-farm-in-dmz.aspx
    Friday, August 12, 2011 11:58 AM

All replies

  • what kind of application you implement? if it is custom ASP.Net application or win forms application there is no such tool - only you know about your application, what protocols it uses, what data formats, etc, etc. You can export Sharepoint site using Sushi tool, but it will be standard export format used e.g. by stsadm export/import. But again - after it is exported, you may import it only into Sharepoint (if your application is Sharepoint web site).
    Blog - http://sadomovalex.blogspot.com
    CAML via C# - http://camlex.codeplex.com
    Wednesday, August 10, 2011 9:27 PM
  • Basically it will be a mirror of the actual sharepoint site with the links on the left plus content from the webpart. I will fetch everything (Lists, Webpart content, Document libraries) from our LIVE sharepoint site amd display in my custom sharepoint look alike application.

    As you said the SUSHI extract file can only be loaded into Sharepoint so tools like that wont work for my custom webapplication.

    Thursday, August 11, 2011 3:41 AM
  • Hi,

    In your scenario you need some more customizations.

    As you have said that you can use web services to extract lists and libraries and for webparts I would suggest you to develop your own custom asp.net webparts.

     


    Thanks, Rahul Rashu
    Thursday, August 11, 2011 11:39 AM
  • Is there a way i can have an  exact mirror of the current sharepoint site on a different sharepoint server or on the same for only View purposes? So instead of creating my own custom app to mirror the site, i can use something from the Sharepoint itself to have the LIVE mirror of a site?
    Thursday, August 11, 2011 12:24 PM
  • Hi,

    Yes this can be done very easily.

    1. Take backup of the site using STSADM backup command. Refer http://technet.microsoft.com/en-us/library/cc263441(office.12).aspx

    2. Move this content to the destination server and execute STSADM restore command.

    Refer this:

    http://technet.microsoft.com/en-us/library/cc262087(office.12).aspx

    There are many ways to do this but as you are moving it to different environment I am suggesting this to you.

    I hope this will help you out.


    Thanks, Rahul Rashu
    Thursday, August 11, 2011 12:39 PM
  • Thank you for the reply. Yes, I am aware of the STSADM backup solution but the only problem is that it is not LIVE. I will get the content at the time of the backup not the LIVE changes will be reflected on my mirror site. Is there such solution?

    Thanks for your help.

    Thursday, August 11, 2011 12:51 PM
  • Hi,

    So let me understand your requirement. The site you are trying to copy is not live as of now so if you copy now the non live version will eb copied to your destination. You want that when the source sites gets LIVE the copied part should also do the same. Am I correct?

    If yes then I would suggest you that you add your new server in the existing farm. However via load balancer configure it in a such a way that external requets should not hit it.

    Or else you can again take backup after the source site goes live and then you can execute the restore command with overwrite flag to incorporate the changes.

    I hope this will help you out.


    Thanks, Rahul Rashu
    Thursday, August 11, 2011 1:08 PM
  • there is no OTB Solutions for that. Seems like you need something like Sharepoint Manager which shows structure of the any Sharepoint site and may update its content in real time. As we are in pre-Sharepoint 2010 forum, the release of Sharepoint Manager 2007 can be found here: http://spm.codeplex.com/releases/view/51438. You can also investigate its source code because it is open source project: http://spm.codeplex.com/SourceControl/list/changesets.
    Blog - http://sadomovalex.blogspot.com
    CAML via C# - http://camlex.codeplex.com
    Thursday, August 11, 2011 2:38 PM
  • Is there a way i can have an  exact mirror of the current sharepoint site on a different sharepoint server or on the same for only View purposes? So instead of creating my own custom app to mirror the site, i can use something from the Sharepoint itself to have the LIVE mirror of a site?


    SharePoint has a built in feature called Content Deployment that does exactly this. Basically you configure a seperate SharePoint environment and create a new web application to deploy to. You then configure a Content Deployment job which will copy everything from your existing site collection to your new one. After the initial job runs, it's smart enough to only copy incremental changes after.

    The standard use case for this is when a company wants to use SharePoint to host their public facing website. Internal and external facing environments are set up, all changes/updates/additions etc are made on the internal environment by staff, the content deployment job is timed to run periodically, and when it does it updates the external facing duplicate (which is read only and noone can make changes to it.

    Step by step guide at http://blogs.msdn.com/b/jackiebo/archive/2007/02/26/content-deployment-step-by-step-tutorial.aspx

    more detailed info at http://blogs.msdn.com/b/hanz/archive/2009/02/02/how-to-publish-sharepoint-content-from-an-authoring-farm-inside-corporate-network-to-a-production-farm-in-dmz.aspx
    Friday, August 12, 2011 11:58 AM
  • Steven,

    logically this solution doesn't differ from export/import


    Blog - http://sadomovalex.blogspot.com
    CAML via C# - http://camlex.codeplex.com
    Monday, August 15, 2011 8:58 PM
  • Also, import/export tends to be much more reliable.
    Monday, August 15, 2011 10:52 PM
  • Steven,

    logically this solution doesn't differ from export/import


     

    Blog - http://sadomovalex.blogspot.com
    CAML via C# - http://camlex.codeplex.com


    Hi sadomovalex,

    I would disagree with you on this for a number of reasons

    • Content deployment can incrementally look for changes and deploy only these, import/export would be an all or nothing approach.
    • Content deployment can be automated and scheduled, with alerts if it fails. It's possible to implement scripts to automate an import/export, but needs to be coordinated across servers and is prone to failures
    • Content deployment is designed to support deployment across network security zones, such as from LAN to DMZ, this would be tricky/insecure for an automated import/export and cumbersome to import/export manually.
    • Content deployment can work without interfering with permissions and security at the destination. Import/export can overwrite destination permissions.
    Wednesday, August 17, 2011 11:23 AM
  • Also, import/export tends to be much more reliable.


    While Content Deployment can be a little trickier to setup and configure initially, I've found it to be pretty reliable when up and running in a number of different installations. The only times I have found it to fail are times when it has failed legitimately (a server or network line is down etc).

    An automated import/export would also fail in the same situations, but unless you are getting into semi-complex scripting it would fail without alerts.

     

     

    Wednesday, August 17, 2011 11:26 AM
  • you misunderstood me. I mean that from point of view of what a_coder needs ("mirror" of the living Sharepoint site for only "view" purposes with real time refreshing), content deployment is the useless similarly as import/export. As I understand initial question the closest known application which have these features is Sharepoint Manager. It just reads content every time it access the Sharepoint site - without any exports and imports.
    Blog - http://sadomovalex.blogspot.com
    CAML via C# - http://camlex.codeplex.com
    Wednesday, August 17, 2011 9:05 PM