Feb/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!
Nov/090
Cancelar Workflow via programação
No último projeto tivemos que dar a possibilidade para o usuário encerrar o andamento do fluxo manualmente. Para isso um método foi criado:
SPSecurity.RunWithElevatedPrivileges(delegate()
{
using (SPSite site = new SPSite(siteID))
{
using (SPWeb web = new SPWeb(relativeWeb))
{
SPWorkflowManager manager = site.WorkflowManager;
SPListItem item = web.Lists[listname].GetItemByID(itemID);
foreach(SPWorkflow workflow in manager.GetItemActiveWorkflows(item))
{
SPWorkflowManager.CancelWorkflow(workflow);
}
}
}
});
Detalhe para o “SPSecurity.RunWithElevatedPrivileges()” que faz com que o código possa ser executado por qualquer usuário que esteja logado.
O código que está no nosso projeto não é exatamente este, não coloquei algumas ações específicas do nosso projeto, mas basicamente para encerrar o fluxo, que é o tema deste post é esse!
Até a próxima!
Referencia: http://pointstoshare.spaces.live.com/Blog/cns!AEC42F315B4528B0!3045.entry?sa=648616426
Nov/090
Estamos de volta… e com novidades.
Olá pessoal,
Faz um bom tempo que não mexia no meu blog. Eu havia migrado para este novo servidor, mas depois por um vacilo meu acabei apagando-o involuntariamente e depois fiquei com preguiça de reconfigurar, restaurar tudo de novo…
Mas enfim… o importante é que agora estamos de volta e com novidades.
Todos ja sabem que o Sharepoint 2010 está chegando né? Pois bem, algumas das pessoas que trabalham comigo foram na conferência em Las Vegas sobre o Sharepoint 2010 e em breve pretendo fazer alguns comentários sobre as novidades da nova versão.
Mas enquanto isso, vou deixar aqui um exemplo de código simples para fazer upload de documento para uma biblioteca de documentos do sharepoint com metadados
public static bool UploadDocumento(SPWeb web, string docLib, Documento documento, ParametrosList parametros, bool overwrite)
{
try
{
Hashtable docProperties = new Hashtable();
// Metadados
foreach (Parametros var in parametros)
{
docProperties[var.Parametro] = var.Valor;
}
SPFolder folder = web.Folders[docLib];
SPFile file = folder.Files.Add(documento.Nome, documento.FileBytes, docProperties ,overwrite);
return true;
}
catch
{ return false; }
}
Bem simples.
Nesse método existem dois objetos que eu criei na mão para auxiliar na passagem dos parametros para este método. O objeto ‘Documento” basicamente carrega as informações vindas do componente FileUpload, e o objeto “ParametroList” é uma lista de parametros genérico que utilizo para o sistema todo, e conterão as informações dos metadados e seus respectivos valores.
Nesse exemplo não fiz tratamento de erro, simplesmente e retorna um BOOLEANO indicando se foi feito o upload corretamente na biblioteca de documento ou não.
Abraços
Jun/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
May/090
Sharepoint e layouts Crossbrowsers.
Talvez vocês tenham percebido que constantemente tenho mudado o layout do blog, isso se dá ao fato de que eu nunca estou satisfeito com os que estão disponíveis pelo wordpress. Nada contra, tem uns ótimos, mas nenhum me agrada 100%.
Bom, com isso meu pensamento sobre satisfação continua mais forte do que nunca: “Quer bem feito e do jeito que imagina? Faça você mesmo.” Em breve construirei um layout novo pra esse site. Simples, funcional e bonito. Bom, vou tentar agregar tudo isso junto. Até mesmo porque preciso dar uma relembrada e estudada nas novidades de CSS e xHTML.
Com os novos browsers recém lançados é bom saber quais limitações de layout, hacks e as adequações aos padrões webstandart. Pra quem trabalha com criações de sites, sistemas web e até mesmo com sharepoint esse conhecimento é fundametal. Bom, pelo menos essa é minha opnião.
Voltando um pouco o assunto ao sharepoint. Quem trabalha com customização de layout para sharepoint sabe a dificuldade que é adequar o layout desenhado ao sharepoint. Infelizmente ainda vejo a Microsoft pecar nesse sentido, na padronização do código gerado automaticamente pelos componentes de seus softwares, e isso envolve Visual Studio também. Ja tentaram entender um código html de um portal Sharepoint? Tem que se ter paciencia e no minimo um conhecimento intermediário de html pra conseguir achar alguma coisa. Não é dificil mas também não é facil.
Bom. Aqui vai a MINHA opnião sobre customização de layout de sharepoint. Todos os portais, sejam internet, intranet, extranet etc devem ser focados aos browsers mais comuns, tipo Firefox, Opera, IE, etc. Isso deve ser bem definido na proposta do projeto.
Para portais “Internet” isso é no minimo o mais importante, ja imaginou um portal em sharepoint que o layout não funciona corretamente no Firefox? Corrigir um layout ja montado pode ser mais trabalhoso do que se criar um já voltado e adequado aos browsers mais influente no mundo WWW.
Apr/090
Verificando se existe SPWeb
Segue um método simples e rápido que faz uma verificação se existe um SPWeb em um SPWebCollection()
private bool ChildWebExists(SPWeb parentWeb, string childWebName)
{
using(SPweb childWeb = parentWeb.Webs[childWebName])
{
return childWeb.Exists;
}
}
Apr/091
Lista "Sites Templates" para ser usado via STSADM
Para criar um novo Site Collection via STSADM alguns paramentros são exigidos e outros são opnionais, como é o caso do template do site. Abaixo a lista destes templates:
GLOBAL#0 = Global template;
STS#0 = Team Site
STS#1 = Blank Site
STS#2 = Document Workspace
MPS#0 = Basic Meeting Workspace
MPS#1 = Blank Meeting Workspace
MPS#2 = Decision Meeting Workspace
MPS#3 = Social Meeting Workspace
MPS#4 = Multipage Meeting Workspace
CENTRALADMIN#0 = Central Admin Site
WIKI#0 = Wiki Site
BLOG#0 = Blog
BDR#0 = Document Center
OFFILE#0 = Records Center
OFFILE#1 = Records Center
OSRV#0 = Shared Services Administration Site
SPS#0 = SharePoint Portal Server Site
SPSPERS#0 = SharePoint Portal Server Personal Space
SPSMSITE#0 = Personalization Site
SPSTOC#0 = Contents area Template
SPSTOPIC#0 = Topic area template
SPSNEWS#0 = News Site
CMSPUBLISHING#0 = Publishing Site
BLANKINTERNET#0 = Publishing Site
BLANKINTERNET#1 = Press Releases Site
BLANKINTERNET#2 = Publishing Site with Workflow
SPSNHOME#0 = News Site
SPSSITES#0 = Site Directory
SPSCOMMU#0 = Community area template
SPSREPORTCENTER#0 = Report Center
SPSPORTAL#0 = Collaboration Portal
SRCHCEN#0 = Search Center with Tabs
PROFILES#0 = Profiles
BLANKINTERNETCONTAINER#0 = Publishing Portal
SPSMSITEHOST#0 = My Site Host
SRCHCENTERLITE#0 = Search Center
SRCHCENTERLITE#1 = Search Center
SPSBWEB#0 = SharePoint Portal Server BucketWeb Template
Jan/090
Principais benefícios do SQLServer 2008 para o Sharepoint
Um link interessante que fala sobre os principais benefícios do SQLServer 2008 para o Sharepoint.
Jan/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:
- Copie toda o CD ou DVD do Sharepoint para uma pasta em seu computador. (Aqui no exemplo usaremos c:\sharepoint-install);
- 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);
- Crie uma pasta para cada um dos arquivos baixados pois será necessário descompactá-los. (Aqui no exemplo usarmos c:\moss2k7sp1 e c:\wss30sp1)
- 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′- 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.
- Agora execute novamente a instalação do Sharepoint.
É isso aí.
Agora só instalar normalmente.
Abraços!
Dec/083
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