Sharepoint.Dev() Just another SharePoint weblog

4Aug/100

WSPBuilder – Explorando o Add-in no Visual Studio

Achei um texto interessante sobre como utilizar o WSPBuilder.
Está bem detalhado e ensina a aproveitar os recursos da ferramenta pra gerar o pacote WSP de forma automatizada...

Vale a pena dar uma lida

WSPBuilder - Walkthrough of the Visual Studio Add-in 

1Aug/100

Recebimento de Emails no SharePoint não dispara o workflow automaticamente

No último projeto que participei tive que configurar uma biblioteca de documentos para receber emails automaticamente e ao mesmo criei um workflow para tomar algumas ações quando o email chegasse. O workflow foi criado pelo SharePoint Designer.
Bom, eis o problema.

Quando o email chegava na bilioteca o workflow não era disparado.

Encontrei a solução nesse KB da Microsoft http://support.microsoft.com/kb/953289/

Executei o comando stsadm -o setproperty -pn declarativeworkflowautostartonemailenabled -pv true e meu problema estava resolvido.

Vale a dica para quem estiver passando por essas dificuldades!!
Abraços!!

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.

9Feb/100

Biblioteca de WebParts – dotDEV

Depois de mais uns tempos conturbados eis-me aqui novamente atualizando o blog. E mais uma vez com notícias boas também.
Além de estar preparando um post sobre como usar LINQ para buscar e trabalhar as informações do SharePoint eu estou planejando também uma área onde armazenarei algumas WebParts que já tive situações em que tive que desenvolve-las e outras WP que surgiram na minha cabeça numa ou outra hora qualquer.

Só preciso organizá-las, gerar os pacotes de instalação para disponibiliza-las aqui no site. Ainda dando continuidade à idéia de difundir mais o SharePoint, principalmente detalhes técnicos, estas WebParts ficarão disponíveis para download.

De qualquer forma estou a disposição caso queiram se adiantar antes dessa seção nova. Basta entrar em contato comigo pelo email filipe.cavalcante@dotdev.com.br ou filipe.cavalcante@gmail.com!

Aguardem mais atualizações!

20Jun/090

Padronização de código C#

Para quem estiver começando a desenvolver, aprendendo ou querendo aprimorar sua forma de desenvolver segue alguns textos e documentos sobre padronização de código com ótimas dicas e explicações da linguagem C#!!!!

http://blogs.msdn.com/brada/articles/361363.aspx

http://www.codeproject.com/KB/cs/c__coding_standards.aspx

http://weblogs.asp.net/lhunt/attachment/591275.ashx

Abraços

[]s

11Dec/082

Certificações Sharepoint

Bom, já que ainda não tenho preparado nenhum post técnico vou escrever um pouco sobre as certificações do SharePoint.

Desde seu lançamento, a Microsoft já assinou mais de 80 milhões de licenças para usuários em todo mundo. Em razão desses números, a procura por certificações para solução SharePoint tem sido muito grande e, portanto farei um breve resumo da certificação especialista nessa tecnologia.

A certificação para SharePoint está dentro de grupo MCTS ( Microsoft Certified Technology Specialist ) que permite ao profissional demonstrar profundo conhecimento especializado para trabalhar com as mais recentes tecnologias. O objetivo dessa certificação é garantir total capacidade de executar, construir, pesquisar e de eliminar erros de uma tecnologia especifica da Microsoft.

Existem atualmente 19 certificações MCTS e vamos aborda resumidamente apenas 4 que estão relacionado a portais corporativos, a sigla MOSS significará “Microsoft Office SharePoint Server”, a sigla WSS significará ”Windows SharePoint Services” e a sigla BI significará “Business Intelligence”:

Especialista na Tecnologia MOSS 2007 em configuração:
Exame: 70-630;
Descrição: Profissional certificado adquirirá conhecimento e habilidade necessária para configurar e implementar o MOSS 2007, gerenciar o escopo de busca, configurar o gerenciamento de conteúdo, habilitar formulários de negócios, gerenciar os recursos de BI, e assegurar práticas de segurança no portal.

Especialista na Tecnologia MOSS 2007 em Desenvolvimento de aplicação:
Exame: 70-542;
Descrição: Profissional certificado adquirirá conhecimento e habilidade necessária para construção portais, integrações com outros aplicativos existentes, gerenciar conteúdo corporativo, Criar soluções de BI com MOSS 2007 e customizações gerais no portal.

Especialista na Tecnologia WSS 3.0 em configuração:
Exame: 70-631;
Descrição: Profissional certificado adquirirá conhecimento e habilidade necessária para monitoramento, administração, segurança e configuração de toda a infra-estrutura de um portal.

Especialista na Tecnologia WSS 3.0 em Desenvolvimento de aplicação:
Exame: 70-541;
Descrição: Profissional certificado adquirirá conhecimento e habilidade necessária para implementar componentes nativos, criar sites, criar metadados e workflows através de conceitos do .NET framework e de como utilizar as API do produto.


Vale ressaltar que essas descrições estão baseadas em minha visão e não é um conteúdo oficial da Microsoft.

Detalhes Oficiais estão em: http://www.microsoft.com/brasil/certifique/mcp/mcts/webapps/default.aspx

21Jun/080

Usando SPAlert

Mais um post com dica de Sharepoint. Esses dias precisei usar a função "Alert me" em umas listas mas precisei implementar via código. A função é muito simples e usei o próprio SPAlert nativo do Sharepoint (Microsoft.Sharepoint.dll).

Para isso, eu criei um método que retorna um valor booleano quando criar ou não (por algum motivo) o alerta.

public bool AlertME(string urlSITE, string TituloAlerta, SPListItem itemAlerta)
{
   try
   {
      using (SPSite site = new SPSite(urlSITE))
      {
         SPWeb web = site.OpenWeb();
         SPUser userLogged = web.SiteUsers.GetByID(SPContext.Current.Web.CurrentUser.ID);
         SPAlert _alert = userLogged.Alerts.Add();
         _alert.AlertType = SPAlertType.Item;
         _alert.AlertFrequency = SPAlertFrequency.Immediate;
         _alert.EventType = SPEventType.All;
         _alert.AlwaysNotify = true;
         _alert.Title = TituloAlerta;
         _alert.Item = itemAlerta;
         _alert.Update(true);
        return true;
      }
   }
   catch
   {
        return false;
   }
}

A função é simples. Quando clicar em um botão que eu criei, esse método será acionado tendo como parametro uma string com o endereço do site onde o alerta será criado, uma string com o título do alerta e um SPListItem que é o item que será "alertado".

O que eu defini para meu alerta:

SPAlertType.Item = significa que o alerta está associado à um item;

SPAlertFrequency.Immediate = significa que o alerta será enviado imediatamente assim que o item da lista for alterado e salvo;

SPEventType.All = o alerta será enviado para qualquer ação que seja feita no item da lista;

Aguardem mais dicas!

:D

EDIT: Segue link de referência Microsoft.Sharepoint.SPAlert Class