Pergunta

Eu tenho que desativar o MDS ao provisionamento dos meus sites.Eu tentei com um receptor de evento em uma função personalizada, mas parece que quando eu executar esse código no receptor

Guid featureGuid = new Guid("87294C72-F260-42f3-A41B-981A2FFCE37A");
if (mySiteWeb.Features[featureGuid] != null)
{
     mySiteWeb.Features.Remove(featureGuid);
}

nada está acontecendo.

Isso só funciona uma vez que o meu site é criado e a Interface do Usuário.Se eu for para o Manage Site Features e Desactivar e Activar o meu recurso personalizado manualmente o MDS desliga-se.

Alguma idéia de como conseguir isso?

Foi útil?

Solução

Tivemos o mesmo problema.Tivemos um grampeamento recurso que foi a aplicação da marca para meus sites pessoais.Grampeadores código correu, mas o MDS ainda estava ativo.O que nós fizemos foi adicionar um controle personalizado para uma pessoais página principal do site que desativados MDS quando o site foi carregado.Neste controle personalizado adicionou-se/então, verificar se este código executado uma vez ( colocando valor à web.propriedades) e se ele já fez, só não desativá-lo novamente.

Nós fomos capazes de fazer isso, foi uma solução de farm.Se você estiver no Office 365, etc., você precisa fazer de Aplicação "Grampeamento"

http://blogs.msdn.com/b/richard_dizeregas_blog/archive/2013/03/04/sharepoint-2013-app-deployment-through-quot-app-stapling-quot.aspx

Outras dicas

PowerShell abaixo irá atualizar o farm atual "MDSFeature" XML para desactivar todos os recém-criado e conjuntos de sites webs filho.Se você precisa de suporte IE8 e navegadores mais antigos isso pode ser útil.O recurso GUID tecnicamente permanece ativo, mas não fazer nada com falta de DLL de pormenor de montagem.Depois de desktops atualização (IE11/Win8), em seguida, esta alteração pode ser revertida com uma simples cópia de arquivo "ORIG" de volta para "XML". Espero que isso ajude!

http://www.spjeff.com/2015/02/13/knee-cap-mds-disable-for-new-and-current-sites/

# Disable MDS - run once per farm
# unregister Feature definition from ConfigDB
Uninstall-SPFeature MDSFeature -Force -Confirm:$false

# backup current Feature XML
$path = "C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\TEMPLATE\FEATURES\MDSFeature\feature.xml"
Copy-Item $path "$path-orig"

# modify Feature XML to suppress DLL assembly detail  (still registered, but unable to run)
[xml] $x = Get-Content $path
$x.Feature.RemoveAttribute("ReceiverClass")
$x.Feature.RemoveAttribute("ReceiverAssembly")
$x.Save($path)

# register Feature to ConfigDB
Install-SPFeature MDSFeature

Eu não estou terminado de testar isso, mas se você estiver alterando a página principal, você pode adicionar o seguinte para desativar o MDS(ele vai renderizar a página no modo padrão nomatter se o MDS está ativado ou não):

<SharePoint:PageRenderMode runat="server" RenderModeType="Standard" />
Licenciado em: CC-BY-SA com atribuição
Não afiliado a sharepoint.stackexchange
scroll top