Copying a web part page including web parts

Out of the box, there is no way to copy a web part page and have it retain all of its web parts – including List View web parts.  I tried the following methods:

  • Download .aspx from Pages doc lib, rename and re-upload.  All list view web parts are stripped during this process.
  • Use the Send To option to make a copy of the .aspx in another folder or doc lib.  Same result as above – all web parts are stripped.
  • Use the Content Structure view to copy the page.  Same result, web parts are stripped.

Finally I found a solution – although it’s a bit of a hack in my opinion: SharePoint Designer workflow.  The SPD workflow action “Copy List Item” will make a copy of a page and retain all web parts including list view web parts.  Here’s how you can accomplish this:

  1. Open SPD, open your site, and create a new Workflow.  Call it “Copy Page” or something like that.
  2. Target your Pages library (or wherever your web part pages live) for the workflow and specify that it should be started manually.
  3. Add a single action:  Copy List Item.  When adding the list item, you can select “Current Item” for the page to copy, and then specify the target list as the same Pages library.

Now you’ll be able to start the Copy Page workflow on any page in your pages library.  When it creates a copy it simply appends the date and time to the file name so you won’t wind up over-writing the existing page.

With a little more work it should be possible to create an Initiation Variable for your workflow and rename the page as a part of the workflow.