0

The system I'm working on is a Publishing site that has page layouts created with SharePoint Designer. Users have created content pages based on these page layouts.

I want to update the page layouts via a Feature in a WSP. Of course the page layouts are customized because they were created in SharePoint Designer and I know that I can't replace customized page layouts with a Module. However, I also can't revert the page layouts to the template because there is no template. I also cannot delete the existing page layouts and replace them with the ones from the WSP because the page layouts are in use.

So I need a strategy to update page layouts that were created using SharePoint Designer with those contained in a WSP.

2
  • That's a tricky one. How many pages are we talking about? Obviously if it's a manageable number (say 30 or less) you could just rebuild them on the new page layouts. I don't know that there's really a good way to do what you want to do.
    – webdes03
    Commented Oct 27, 2011 at 18:13
  • Rebuilding is not an option in this case Commented Oct 27, 2011 at 18:17

1 Answer 1

1

It is possible to change the page layout that an existing page is using. You should be able to

  1. Create a WSP that provisions a new page layout that is exactly the same as your existing page layout.

  2. Create a script or use the UI to switch all your existing pages to use the new page layout.

  3. Delete your old page layout that was created with SharePoint Designer.

1
  • That's kind of the approach I was thinking... build new ones, deploy new ones with WSP, convert old pages to use new layouts, and remove the old layouts. It may be possible to set the new layout with PowerShell... sniff out all pages using layout x and change it to layout y.
    – webdes03
    Commented Oct 27, 2011 at 19:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.