Share via


"The web site has been configured to disallow editing with SharePoint Designer."

 

ISSUE:

You are unable to edit a website in SharePoint Designer. You get the error "The web site has been configured to disallow editing with SharePoint Designer."

 

 

error

 

 

CAUSE:

 

Your site does not open in SharePoint designer. The error is as above.

One possible reason is that this site has Designer disabled (https://support.microsoft.com/kb/940958)

Another cause (less likely to guess) is that this site was created using a template saved from a site where Designer was disabled.

 

RESOLUTION:

 

- One straight forward way of doing it is from the UI (Which did not work in my case though :(  )

  1.  Right-click the ONET.XML file ( at \Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\SiteTemplates\<Service>\xml) for the site definition and open it with Notepad

       If you see “DisableWebDesignFeatures=wdfopensite” section in the one.xml that means your site has been configured to disallow SharePoint designer.

      You can remove this section from the file and should be able to access the site in designer now

2.   If you are unable to get rid of “DisableWebDesignFeatures=wdfopensite” or find the correct onet.xml corresponding to your site definition, here is a simple script I put together to see if Designer is disabled on the site using the property vti_disablewebdesignfeatures2 and update it as required.

 

 

Download here :

Script to enable SharePoint Designer

 

The Code in the script is :

=================

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using Microsoft.SharePoint;

namespace EnableDisableSPD

{

    class Program

    {

        static void Main(string[] args)

        {

            Console.Write("Enter the Site URL: ");

            string siteURL = Console.ReadLine();

            //Console.Write("Enter Web Relative Path: ");

            //string webURL = Console.ReadLine();

            using (SPSite site = new SPSite(siteURL))

            {

                using (SPWeb web = site.OpenWeb())

                {

                    try

                    {

                        string propVal = "NULL";

                        if (web.Properties["vti_disablewebdesignfeatures2"] != null)

                        {

                            propVal = web.Properties["vti_disablewebdesignfeatures2"];

                        }

                        Console.WriteLine("Current Value of Property vti_disablewebdesignfeatures2 is : " + propVal);

                        Console.WriteLine(@"Do you want to proceed ....(Y\N)");

                        string response = Console.ReadLine();

                        if (response.ToLower() == "y")

                        {

                            web.Properties["vti_disablewebdesignfeatures2"] = null;

                            web.Properties.Update();

                            web.Update();

                            Console.WriteLine("Web Property updated to allow Designer ....");

                        }

                        else

                        {

                            Console.WriteLine("Exiting without update ...");

                        }

                    }

                    catch (Exception e)

                    {

                        Console.WriteLine(e.ToString());

                    }

                }

            }

        }

    }

}

 

 

After executing the above code, we should be able to open the site in Designer as needed..