Wednesday, May 28, 2014

Powershell - Mudando Page Layout de Página

Em dado momento de sua vida no SharePoint você poderá se deparar com uma página de publicação aparentemente instável, devido ao seu Page Layout ter sido anexado e desanexado diversas vezes pelo SharePoint Designer, o que pode gerar alguns problemas indesejáveis.

Sem mais delongas, recomendo utilizar nossa fronteira final para customizar o SharePoint, o Powershell:

Espero que com este comando algumas horas de estresse e improdutivas sejam poupadas e você possa prosseguir com suas tarefas.

Referências:
The Accidental Developer

Wednesday, May 14, 2014

Potencializando consultas com SPQuery

Diversas vezes experienciei clientes reclamando do desempenho de seus sites em SharePoint. Criando uma imagem ruim desta excelente ferramenta. Diziam eles que as páginas demoravam muito a carregar, que as paginações de suas listagens de dados não eram boas, enfim... toda aquela insatisfação básica.

Quando eu investigava os recursos atrelados a uma página lenta, quase sempre haviam WebParts customizadas que eram responsáveis pelo mal desempenho. Na maioria dos casos eram retornados campos da listas desnecessários ou até mesmo todos os itens para serem então filtrados via LINQ e etc.

Exemplo de busca de itens que lê todos os dados com todos os itens:

Mas como todos sabem, podemos fazer uso do objeto SPQuery que nos permite desenvolver filtros em CAML e definir outros parâmetros para a consulta nos quais irei listar aqui e que provavelmente irão lhe ajudar:

RowLimit: define um limite de itens a serem retornados de uma consulta a uma lista.

ViewFields: define quais campos serão retornados em uma consulta. Mesmo que você tenha uma lista no qual possui 30 campos, você pode definir quais você deseja ler como no exemplo abaixo que irá retornar apenas o ID, o Título e a Data de Criação dos itens.

ListItemCollectionPosition: permite que você retorne itens a partir do ID de um item específico na lista. Ideal para paginações, pois você pode definir a partir de qual item o SharePoint deve retornar e quantos itens apresentar pelo RowLimit abordado anteriormente.


Obrigado pela atenção.

Referências:
Best Practices: Common Coding Issues When Using the SharePoint Object Model
SPQuery Members

Friday, May 2, 2014

Powershell - Recuperando Colunas Lookup corrompidas

Algumas vezes precisamos transferir dados de listas de um ambiente de Produção para outro de Homologação ou Desenvolvimento, a fim de reproduzirmos algum bug. Esse processo é bastante simples, devido ao recurso de salvar como Template uma lista e importá-lo em outro ambiente.

Porém, os tipos de coluna Lookup são relativamente "sensíveis". Perceba que no momento que você restaurar o Template de lista, muitas vezes a lista que serve de Lookup para a atual difere no seu ID, causando diversos problemas como:

A opção Obter informações de fica vazia e o nome da coluna é apresentado em um Literal, não mais em um DropDownList.


A visualização da lista apresentará a seguinte mensagem:


A fim de sanarmos este problema rapidamente, você pode então utilizar o script abaixo para reatualizá-la e recuperar a visualização e a apresentação dos dados.



Espero salvar algumas horas do dia de vocês com isto.

Referências:
I Like SharePoint