segunda-feira, 24 de março de 2014

SharePoint 2013 - Distributed Cache: Uma visão geral

A autenticação no SharePoint 2010 e versões anteriores acontece no nível do servidor dentro do IIS (Internet Information Services). Um cookie de autenticação é amarrado no servidor (normalmente como session cookie) e era necessário se autenticar novamente acessando um outro servidor no mesmo farm.
Acima requer "sticky sessions" em um cenário que envolve um NLB, para que o NLB redireciona  todos os dados ao servidor aonde ocorreu a autenticação.

SharePoint 2013 utiliza uma versão customizada do produto Windows App Fabric (conhecido também como Velocity) que está implementado e conhecido como Distributed Cache (DC) Service.
O DC é basicamente uma segunda camada de cache e compartilhada entre os servidores em um farm. SharePoint utiliza as vantagens deste serviço especificamente através dos perfis dos usuários e na autenticação.




Isso permite, no caso dos perfis dos usuários que tudo esteja "em sincronia" e minimiza os visíveis "post backs" para o servidor, porque o navegador "posts" para o cluster do Distributed Cache que é residente na memória dos servidores e retorna os dados mais rápido. Nos bastidores, um processo é responsável pelo sincronismo dos dados entre o DC e dos bancos de dados. Isto melhora drasticamente o tempo de resposta.

Isso significa que para a autenticação, as informações de autenticação persistem acima do nível do cache do IIS e permite que os balanceadores de carga (NLB) equilibrem ativamente a carga de todos os pedidos. Assim, você poderá obter uma página que você solicitou ao servidor A, mas todas as imagens podem vir do servidor B. O resultado final é uma resposta mais rápida e um farm do SharePoint mais equilibrado.

Informações avançadas:


Overview of microblog features, feeds, and the Distributed Cache service in SharePoint Server 2013
Gerenciar preenchimento do cache de feed e cache de última modificação no SharePoint Server 2013
Planejamento e uso do serviço Cache Distribuído no SharePoint Server 2013
AppFabric Caching and SharePoint: Concepts and Examples (Part 1)
Plano para computação social e colaboração no SharePoint Server 2013
SharePoint 2013 - Distributed Cache (App Fabric) Error Codes

quarta-feira, 12 de março de 2014

Remoção dos Web Parts Problemáticos

Eu respondi esses dias no fórum do Technet uma pergunta recorrente, porém ainda atual: "Como excluir web parts problemáticos?"

Nesse caso especifico o Excel Web Part, a exclusão da planilha acessada pelo web part causou que o administrador do ambiente não conseguiu a excluir o web part.


Mensagem de erro: 

"Não foi possível localizar o arquivo desejado. É possível que o arquivo tenha sido renomeado, movido ou excluído."

Possuímos uma página de manutenção dos web parts desde a versão 2007 do SharePoint. Você pode acessar ela para fechar web parts, restaurar os padrões dos Web Parts ou excluir Web Parts da sua página.

Você consegue acessar a página adicionando ?contents=1 no final do URL da página que contém o web part problemático.

Por exemplo:

http://sp2013dev/SitePages/Home.aspx > http://sp2013dev/SitePages/Home.aspx?contents=1


Obs.: Você pode re-abrir um web part fechado acessando o modo de edição da página, escolhendo a opção insert web part. O web part fechado aparece na seção "Closed Parts", conforme abaixo.



Customize Web Parts
*SharePoint 2013 * Problemas para deletar Web Part ( Excel Web Access)

[]



segunda-feira, 10 de março de 2014

User Profile Synchronization - Criação de filtros de exclução

O planejamento e implementação de filtros de exclusão para o aplicativo de serviço User Profile Service Application (UPS) é sem dúvida um dos aspectos mais importantes na qualquer implantação do UPS.

Com o uso de filtros de exclusão podemos diminuir os objetos que sincronizamos. Os filtros de exclusão reduziram a quantidade de "lixo" na base de dados de perfis e pode diminuir significativamente o tempo necessário para executar a sincronização.

Utilizarei para esse artigo o atributo userAccountControl como exemplo, que é na minha visão um dos atributos mais aplicáveis para a criação dos filtros.

Excluirmos usuários desabilitados e usuários de serviço (Password Never Expires)

1. Abaixo seguem os valore hexadecimais dos flags do Atributo User-Account-Control

0x00000002 ADS_UF_ACCOUNTDISABLE  The user account is disabled.
0x00010000 ADS_UF_DONT_EXPIRE_PASSWD  The password for this account will never expire. 


2. Entre nas configurações da conexão de sincronização.

3. Clique em cima da conexão e escolha "Edit Connection Filters".


4. Escolhe na seção "Exclusion Filter for User" o operador OR, o atributo userAccountControl e como operador Bit on equals.

Precisamos trabalhar com o operador Bit on equals, porque os valores dos atributos são acumulativos.

calc.exe ajuda bastante para converter os valores (Hex para Bin)



Disabled Account = 0x00000002 (valor binario = 10)
Password Never Expires = 0x00010000 (valor binario = 10000000000000000)  

5. Crie dois filtros com os valores 2 e 17 para excluir as contas com os atributos identificados no passo anterior. 


6. O resultado final:

7. Confirme a configuração com Ok e inicie a sincronização Full.


Fontes:

User-Account-Control attribute
How to use the UserAccountControl flags to manipulate user account properties
Synchronize user and group profiles in SharePoint Server

UPDATE: 

Em vez de criar um filtro com o valor 17 para excluir usuários com o flag "Password never expiere" utilize o valor 0x10000 (65536) no SharePoint 2013.

http://guidesharepoint.wordpress.com/2014/08/30/how-to-create-user-profile-synchronization-exclusion-filters-with-useraccountcontrol-attribute/


quarta-feira, 5 de março de 2014

SharePoint 2013 SP1 - Perguntas mais frequentes

Eu utilizarei esse post para responder todas as perguntas que eu recebi ao repeito do SP1 do SharePoint 2013.

Pergunta: A instalação da atualização cumulativa de março de 2013 é um pre-requisito para instalar o SP1 do SharePoint 2013?
Resposta: Não. O único pré-requisito é o SharePoint 2013 na versão RTM.

Pergunta: Qual é o número da versão do SP1?
Resposta: 15.0.4569.1506

Pergunta: Qual é o número da versão que você vai ver no Central Administration?
Resposta: A versão do banco de dados da configuração do SharePoint é 15.0.4569.1000.

Pergunta: Eu preciso também instalar o SP1 do SharePoint Foundation?
Resposta: Não. O SP1 do SharePoint Server 2013 contém o SP1 do SharePoint Foundation.

Pergunta: Eu também preciso instalar o SP1 do Project Server?
Resposta: Sim. O SP1 do SharePoint não contem os binarios do SP1 do Project Server.

Pergunta: Eu preciso executar o wizard do SharePoint depois da atualização?
Resposta: Sim. Como sempre :).

Pergunta: Eu tenho Sharepoint instalado com 3 language packs. Eu preciso instalar o SP1 para cada idioma?
Resposta: Sim. O SP1 não contem as atualizações dos language packs. 

[]

Lançamento do "SharePoint 2013 (e Online) Solution Pack for branding and site provisioning"

The SharePoint 2013 and SharePoint Online solution pack for branding and site provisioning includes Word document modules. 



The modules introduce basic information about SharePoint, its page model, branding tools and packaging, and themes. They also introduce a new site provisioning pattern called remote provisioning, and describe how to use it to provision branding elements to SharePoint sites.

http://www.microsoft.com/en-us/download/details.aspx?id=42030

terça-feira, 4 de março de 2014

WFM - Failed to query the Oauth S2S metadata endpoint: Possíveis causas do evento.

O evento "Failed to query the Oauth S2S metadata endpoint" ocorre normalmente no registro inicial do WFM (Workflow Manager), o motivo desse artigo é explicar as possíveis causas.

Causa 1 - O WFM é instalado em um servidor que faz parte do farm do SharePoint 2013. A comunicação entre SharePoint e o WFM ocorre usando HTTP.


Solução: Execute o comando Register-SPWorkflowService com o parâmetro –AllowOAuthHttp e -Force e verifique as configurações do Loopback Check, conforme artigo mencionado no final. 

Por exemplo: Register-SPWorkflowService -SPSite "http://intranet.contoso.com" -WorkflowHostUri "http://wfm.contoso.com:12291" –AllowOAuthHttp -Force

Causa 2 - O WFM é instalado em um servidor que faz parte do farm do SharePoint 2013. A comunicação entre SharePoint e o WFM ocorre usando HTTPS.


Solução: Instale os certificados do WFM conforme os seguintes passos (http://technet.microsoft.com/pt-br/library/jj658589(v=office.15).aspx) e verifique as configurações do Loopback Check conforme artigo mencionado no final.:

Para obter e exportar certificados do servidor do Gerenciador de Fluxos de Trabalho
1. Em um computador que tenha o Gerenciador de Fluxos de Trabalho instalado, selecione Gerenciador do IIS, Sites. Clique com o botão direito do mouse em Site de Gerenciamento de Fluxo de Trabalho e depois selecione Editar Ligações.
2. Selecione a porta https e depois Editar. Selecione o botão Exibir na seção Certificado SSL.
3. Para exportar um certificado do emissor, faça o seguinte:
a.) Na janela Certificado, selecione a guia Caminho de certificação.
b.) Selecione Caminho de certificação raiz e selecione Exibir.
c.) Na guia Detalhes, selecione Exportar Certificado, e escolha as opções padrão no assistente de exportação.
d.) Dê um nome amigável ao arquivo de certificado exportado.

Para instalar os certificados no SharePoint Server 2013
1. Copie o certificado do emissor o computador com o SharePoint Server 2013.
2. Adicione os certificados no repositório de certificados do Windows.
3. Para cada certificado, faça o seguinte:
a.) Clique duas vezes no arquivo para abrir e exibir o certificado.
b.) No certificado, selecione o botão Instalar Certificado para iniciar o assistente de instalação.
c.) No assistente, selecione Colocar todos os certificados no armazenamento a seguir e depois selecione Autoridades de Certificação Confiáveis.
4. Adicione os certificados no SharePoint Server indo ao Shell de Gerenciamento do SharePoint e executando o cmdlet New-SPTrustedRootAuthority. Faça isso para cada arquivo de certificado.

Por exemplo: New-SPTrustedRootAuthority -Name "Workflow Manager Farm" -Certificate c:\wfm.cer

Causa 3 - O WFM é instalado em um servidor que NÃO faz parte do farm do SharePoint 2013. A comunicação entre SharePoint e o WFM ocorre usando HTTPS.


Solução: Instale os certificados do WFM conforme a solução da causa 2.

Causa 4 - Eu percebi que algumas pessoas tentam a registrar o WFM (que é configurado para utilizar SSL na comunicação interna) no SharePoint em um web application que não é configurado para utilizar SSL sem o parâmetro –AllowOAuthHttp.


Isso não  pode funcionar, porque não faz diferença para o SharePoint se o seu farm do WFM utiliza SSL ou não, isso porque o endpoint (http://<serverfqdn>/_layouts/15/metadata/json/1) é parte do web application e não há como de se conectar a um web application usando SSL se não tem um certificado configurado e não está escutando na porta 443 (SSL).

Solução: Execute o comando Register-SPWorkflowService com o parâmetro –AllowOAuthHttp e -Force. OU configure o web application para o uso do HTTPS.

Referencias:

Workflow Manager - Failed to query the Oauth S2S metadata endpoint
SharePoint 2013 e OAuth - Uma visão geral
LoopbackCheck - O que você deveria saber
Install and configure workflow for SharePoint Server 2013
Register-SPWorkflowService

segunda-feira, 3 de março de 2014

SharePoint 2013 e OAuth - Uma visão geral

OAuth é um standard web para gerenciar permissões e configurações de segurança 

OAuth é um standard web para gerenciar permissões e configurações de segurança na comunicação interna e para módulos como Apps e serviços. O standard também é usado pela Google, Facebook e Twitter.
O uso da encriptação SSL é altamente recomendado para um ambiente de produção.

Simplificando: O protocolo OAuth é utilizado no SharePoint para autenticar e autorizar Apps e Serviços.

OAuth em implementações "on-premises"

SharePoint 2013, Exchange 2013,  e Lync Server 2013 não necessitam de um servidor de autenticação em uma implementação "on-premises" para emitir tokens. Cada uma destas aplicações gera tokens auto-assinados para acessar os recursos fornecidos por outras aplicações.

A aplicação que fornece acesso aos recursos, como por exemplo SharePoint 2013, precisa confiar nos tokens auto-assinados apresentados pelo aplicativo que fez a chamada. O SharePoint 2013, Exchange 2013 e o Lync Server 2013 publicam o xml de metadados de autorização nos seguintes URLs.



SharePoint 2013 - https://<serverfqdn>/_layouts/15/metadata/json/1
Exchange 2013 - https://<serverfqdn>/autodiscover/metadata/json/1
Lync Server 2013 - https://<serverfqdn>/metadata/json/1

[MS-XOAUTH]: OAuth 2.0 Authorization Protocol Extensions
OAuth.net and Web Authorization Protocol (oauth).
Authorization and authentication for apps in SharePoint 2013
Setting Up an oAuth Trust Between Farms in SharePoint 2013
OAuth authentication and authorization flow for apps that ask for access permissions on the fly in SharePoint 2013 (advanced topic)