Sharepoint.Dev() Just another SharePoint weblog

21Mar/100

Usando LINQ

Olá todos,

Um pequeno post sobre sobre como usar o LINQ para retornar os dados do Sharepoint.

A forma mais comum seria retornar um SPListItemCollection (SPList["lista"].Items) ou utilizando SPQuery para fazer os filtros necessários.

Eu particularmente não gosto muito de utilizar SPQuery pois precisamos criar uma  "grande" string. E ainda fica pouco dinamico a montagem desse filtro. Confesso que já cheguei a criar um método que cria dinamicamente esta query utilizando AND, OR e CONTAINS e ORDENAÇÃO mas deu trabalho pra montar a lógica visando utilizar mais de um parametro. E ainda acabei deixando de usar depois que aprendi o básico de LINQ.

O exemplo abaixo é um começo para se trabalhar como LINQ retornando um List<> (Generic.List) de SPListItems

public List ObterItens(SPList lista)
{
   List itens = (from SPListItem i in lista.Items
                              where i["Coluna"].ToString() == "texto para comparação"
                               orderby i.Created descending
                               select i).ToList();

   return itens;
}

Basicamente este código acima faz um filtro de uma determinada coluna (i["Coluna"]) e ordena pela data de criação dos itens.

Ainda estou na minha fase de estudos explorando todos as possibilidades do uso do LINQ.
Espero que possa auxiliar mais alguém.

Em breve posto meus novos testes e estudos.
Abraços a todos.

6Jan/091

Instalando o MOSS 2007 e SQLServer 2008 em servidor Windows 2008 Server

Primeiro de tudo... feliz ano novo! 2009 já está aí, as festividades já passaram (pelo menos pra mim) e sei que é duro, mas temos de voltar ao ritmo de trabalho normal do dia-a-dia.

Bom, desde a última semana de 2008 eu comecei a montar um ambiente semelhante ao do nosso novo cliente. Trata-se de dois servidores, um de banco com SQLServer 2008 e outro de front-end com o MOSS2k7. Ambos os servidores seriam Windows 2008 Server. Eis que me surgiram os problemas.

Nunca havia instalado o SQLServer 2008, principalmente emcima do Windows 2008 Server e por isso tive algumas dificuldades.

Primeiramente no win2k8 o framework não é habilitado por padrão, e para isso é necessário adicionar essa feature pelo controle de features do windows. Em segundo a instalação do  SQL2k8 irá atualizar o .Net Framework 3.5 SP1 e depois verificará se o "Windnows Installer" é a versão 4.5. Bom, tive problemas nesses dois passos. Por algum motivo a instalação simplesmente não conseguia fazer a atualização, no momento que iria calcular o tempo estimado para download e instalação uma mensagem de erro do windows surgia e assim a instalação dava-se por encerrada. O mais curioso é que a mensagem de erro era simples, do tipo "Não foi possível concluir a instalação" e no log de eventos do windows nada de útil era gerado também. Para resolver isso - repito não entendi o motivo ainda - eu baixei o pacote completo do .Net Framework 3.5 sp1 e fiz a instalação offline mesmo, isto é, sem a necessidade de conectar a internet para fazer a instalação via "windows update". Pronto.

Sobre o windows installer, existe hotfix Windows6.0-KB942288-v2-x86 para contornar isso. Basta fazer o download no site da Microsoft  aplicá-lo no Windows e o problema também será solucionado.

Depois de feito essas das coisas a instalação ocorreu normalmente.

Agora é a vez de instalar o Moss no Win2k8. Mas há uma incompatibilidade (acreditem) que não permite que o Sharepoint seja instalado.  O erro é simples: "Esta versão do Windows não é compatível". Não pesquisei o porque do erro fui direto buscar a solução, já que não tinha muito tempo e encontrei nesse blog http://mindsharpblogs.com/ben/archive/2007/12/16/3837.aspx

Bem simples. O erro na verdade acusa que você deve instalar o Sharepoint com o ultimo Service Pack disponível, que no caso é o SP1.

Segue os passos:

  1. Copie toda o CD ou DVD do Sharepoint para uma pasta em seu computador. (Aqui no exemplo usaremos c:\sharepoint-install);
  2. Baixe o WSS 3.0 SP1 e o MOSS 2k7 SP1 (ref.: http://blogs.msdn.com/sharepoint/archive/2007/12/11/announcing-the-release-of-wss-3-0-sp1-and-office-sharepoint-server-2007-sp1.aspx);
  3. Crie uma pasta para cada um dos arquivos baixados pois será necessário descompactá-los. (Aqui no exemplo usarmos c:\moss2k7sp1 e c:\wss30sp1)
  4. Vá pelo prompt do DOS no diretório onde os dois arquivos foram baixados e execute o comando
    'officeserver2007sp1-kb936984-x64-fullfile-en-us.exe /extract:c:\moss2k7sp1' e
    'wssv3sp1-kb936988-x64-fullfile-en-us.exe /extract:c:\wss30sp1'
  5. Copie os arquivos que foram extraídos dentro das pastas c:\moss2k7sp1 e c:\wss30sp1 e cole dentro da pasta updates em c:\sharepoint-install. Atente-se na versão do windows e sharepoint. Se for 32-bits a pasta e os downloads tem de ser x86 ou se for 64-bits a pasta e os downloads tem de ser x64.
  6. Agora execute novamente a instalação do Sharepoint.

É isso aí.

Agora só instalar normalmente.

Abraços!