Rodrigo Romano – MVP SharePoint Server

Registros de um Especialista SharePoint :)

Archive for the ‘Tips’ Category

Troubleshooting SharePoint/Office365: Sideloading of apps is not enabled on this site

leave a comment »


Olá SharePointers,
Estava desenvolvendo uma SharePoint Hosted app para o Office 365 e, para minha surpresa, apareceu o erro abaixo.
Esse erro acontecia quando quando tentava fazer o deploy via Visual Studio.

 

Para resolver esse erro, basta rodar o script que está disponível nesse link: http://1drv.ms/1qDs0oy

 

Referência:

http://blogs.msdn.com/b/officeapps/archive/2013/12/10/enable-app-sideloading-in-your-non-developer-site-collection.aspx

Abraços! 😀

Advertisements

Written by Rodrigo Romano

August 2, 2014 at 12:28 pm

Como criar uma “Metadata Property” no Search e utilizá-la nas buscas

leave a comment »


 

Olá SharePointers,

 

Hoje vou mostrar como criar uma “Metadata Property” e permitir que ela seja utilizadas nas buscas sem precisar especificar a propriedade completa, exemplo: Aniversario=01/01/2000

 

Abrir a Central Administration e clicar em Manage Service Applications.

image

Escolher o Service Application correspondente ao Search.

image

No lado esquerdo, clique em Metadata Properties (dentro da guia Queries and Results).

image

Clique em New Managed Property.

image

Preencha as informações referentes a propriedade (Property Name, Description e Type). Clique no botão Add Mapping e escolha a propriedade referente a esse item. Clique em OK.

image 

Na guia Crawling, clique em Content Sources.

image

Escolha o Content Source que indexa o site em questão e clique em Start full crawl e aguarde o processo concluir.

image

No lado esquerdo, clique em Metadata Properties (dentro da guia Queries and Results).

image

Clique em Crawled Properties.

image

Escolha a propriedade criada nos passos anteriores e clique em Edit/Map Property.

image

Clique em Add Mapping e adicione ContentsHidden (Text). Marque o checkbox Include values for this property in the search index e clique em OK. (Essa etapa que fará com que a propriedade seja disponível das queries sem precisar especificar o nome dela)

image

 

Após a execução do último passo aguarde alguns segundos ou faça o crawl novamente.

 

Abraços 😀

Written by Rodrigo Romano

June 23, 2014 at 10:56 am

Object cache: The super user account utilized by the cache is not configured.

leave a comment »


Olá SharePointers,

 

Hoje a dica é para resolver um problema muito comum (aliás, geralmente é uma falta de configuração): object cache não configurado;

 

Como identificar?

No event viewer do servidor, aparecerá a mensagem abaixo:

Object Cache: The super user account utilized by the cache is not configured. This can increase the number of cache misses, which causes the page requests to consume unneccesary system resources.
To configure the account use the following command ‘stsadm -o setproperty -propertyname portalsuperuseraccount -propertyvalue account -url webappurl’. The account should be any account that has Full Control access to the SharePoint databases but is not an application pool account.
Additional Data:
Current default super user account: SHAREPOINT\system

Para resolver isso, utilizem os passos desse artigo: http://technet.microsoft.com/en-us/library/ff758656(v=office.14).aspx

 

Obs: Para as web applications que estão utilizando claims, utilizem o login no formato CLAIMS (i:0#.w|domain\user).

Abraços! 😀

Written by Rodrigo Romano

May 28, 2014 at 12:02 pm

Quick Tip: Fazendo “Cleanup” das Listas de uma Solution – SharePoint

with one comment


Olá SharePointers,

Quando estamos planejando uma solução utilizando o SharePoint, devemos nos preocupar com todos os aspectos. Isso inclui: a arquitetura da solução, que recursos utilizaremos, até o deployment da aplicação.

No processo de deployment, as boas práticas recomendam que a sua solução, ao ser desinstalada remova todos os recursos que por ela foram criadas.

Ao pensar nas unidades de armazenamento básicas do SharePoint, Listas e Bibliotecas, o “correto” seria criá-las através de List Instance List Definitions (mas isso é um assunto para outro post). Dessa forma, ao ativar a feature, as listas são automaticamente criadas no site (facilitando, E MUITO, o processo de deploy da aplicação).

Entretanto, a maior surpresa (talvez) seja o fato de que ao desativar as features, o SharePoint não remove automaticamente esses objetos criados.

Se a sua solução tem 1 ou 2 listas, talvez seja simples remover manualmente ou fazer algum código para isso. Mas imagina uma solução com 100 listas (!!). Como fazer para removê-las de forma segura e de que mesmo mudando o nome da lista no projeto, você não precise alterar NENHUMA linha de código??
“SEUS PROBLEMAS ACABARAM”!!! (rs)
Utilizando o código abaixo dentro de um Feature Receiver, no evento Feature Deactivating (Veja mais sobre Event Receivers aqui: http://rodrigoromano.net/2014/01/05/eventos-event-receivers-no-sharepoint-2013/) quando a feature for desativada, o código procurará por cada ListInstance dentro da Feature e deletará a lista.
Captura de Tela 2014-02-13 às 22.14.21
O que acharam?
Abraços 😀

Written by Rodrigo Romano

February 13, 2014 at 9:02 pm

QuickTip: Visual Studio e Resolução de Conflitos para List Instances

leave a comment »


Olá SharePointers,

Essa é uma QuickTip para ajudar a salvar algumas horas no desenvolvimento de soluções para o SharePoint.

Para as pessoas, como eu, que trabalham criando customizações para o SharePoint, o Visual Studio é considerado quase nossa ferramenta diária de trabalho.

Quando começamos uma solução, geralmente planejamos as listas e bibliotecas e criamos os List Definition/Instance para cada uma que utilizaremos na solução(Walkthrough: Create a Custom Field, Content Type, List Definition, and List Instance).

Entretanto, toda vez que vamos fazer um deploy, o Visual Studio apaga todas as listas e as criam novamente, certo?! ERRADO!

Existe uma configuração no List Istance do Visual Studio que permite que você controle esse comportamento: Deployment Conflict Resolution.

imageimage

 

Por padrão, essa opção está como Automatic. Se você alterá-la para None a lista não será mais apagada e criada novamente durante deploys Smiley de boca aberta!!!

 

Aproveitando a oportunidade, aproveitem para dar uma lida no guia da Microsoft que fala sobre como extender os recursos de Package e Deploy do Visual Studio: http://msdn.microsoft.com/en-us/library/ee471434.aspx.

 

Abraços!

Written by Rodrigo Romano

January 6, 2014 at 9:45 am

Regular TimerJob e Work Item TimerJobs

leave a comment »


Olá SharePointers,

Com o natal chegando, festas, fim de ano e toda a correria já esperada do final de ano, vou fazer provavelmente o meu último post desse ano.

Em uma discussão no grupo de SharePointers dentro do Facebook (https://www.facebook.com/groups/sharepointers/) uma das sugestões – de um amigo Reynaldo Souza – foi falar sobre a diferença de Regular Timer Job e Work Item Timer Jobs.

Já fiz, no passado, um post falando sobre TimerJobs Criando Custom Timer Jobs no SharePoint.

Resumidamente, TimerJob é uma forma de realizar atividades em “lote”, de forma agendada, baseada em alguma recorrência. Como o processo não roda através do IIS (w3wp), não existe os problemas comuns de Timeout de operações que temos ao executar operações longas.

A grande diferença do Work Item TimerJob em relação ao TimerJob normal, é que elé já contém uma infraestrutura prevista para o processamento de itens em lote, inclusive inclui até mesmo a funcionalidade de Pausa durante o processamento (Fantástico!).

 

O que muita gente não sabe é que esse tipo de TimerJob já estava presente desde a versão 2007 do SharePoint (WSS 3.0) e ele é a maneira “correta” do SharePoint processar itens em lote sem gerar trabalhos adicionais para os desenvolvedores… (Adoro essa plataforma!)

Sendo assim, o foco do desenvolvedor é apenas processar o item e não gerar um mecanismo de fila de processamento, com listas adicionais e seja lá mais for necessário para a sua regra de negócio.

Abaixo, segue alguma referências de blogs que dão mais detalhes sobre o assunto e até mostram como criar e utilizar esse recurso:

http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.administration.spworkitemjobdefinition.aspx

http://blogs.technet.com/b/stefan_gossner/archive/2011/11/17/sharepoint-variations-the-complete-guide-part-4-timer-jobs.aspx

http://blog.mastykarz.nl/processing-items-work-item-timer-jobs-sharepoint-2010/

 

Pessoal, feliz natal e um ótimo ano novo a todos! Smiley de boca aberta

Abraços!

Written by Rodrigo Romano

December 23, 2013 at 10:46 am

Troubleshooting: Trial period for this product is about to expire

leave a comment »


Olá SharePointers,

Hoje vou postar uma dica para resolver um problema bem diferente: Trial period for this product is about to expire.

image

Antes de mais nada, vou explicar o cenário:

Primeiro foi instalado o SharePoint 2010 Standard em 4 servidores (2 WFEs e 2 Apps). Após a instalação, foi necessário converter a licença para Enterprise.

Com isso em mente,  abri a Central Admin, fui em Upgrade and Migration e cliquei no Link Convert farm license type.

 

image

Na tela que abriu, digitei o serial do Enterprise cliquei em OK e fiquei “torcendo” para um “SUCCESS”…. Mas, infelizmente, não foi isso o que aconteceu. Deu erro.

image

Após várias tentativas (de todas as opções possíveis de troubleshootings disponíveis sobre o assunto) sem sucesso, resolvi tirar todos os servidores da Farm e criar novamente.

A grande surpresa é que o problema da conversão da licença foi resolvido, MAAAS apareceu a mensagem de erro abaixo:

image

Após algumas pesquisas, encontrei uma informação que foi muito revelante na hora de tentar uma abordagem para resolver o problema: como deu erro no processo de conversão da licença, alguma chave no REGEDIT poderia estar com as permissões erradas e o SharePoint não consegue acessar para validar a licença da FARM.

Sendo assim, para resolver o problema, a solução foi rodar o comando abaixo em cada Front End da FARM:

psconfig.exe -cmd secureresources

Para mais informações sobre o comando, veja: http://technet.microsoft.com/pt-br/library/cc263093%28v=office.14%29.aspx

 

E voilà! Tudo resolvido Alegre

 

Abraços!

Written by Rodrigo Romano

November 27, 2013 at 8:42 pm