Quarta-feira, 29 de Abril de 2009

WSS Service Pack 2 – agora é pra valer!

Já está disponível o tão esperado SP2 do WSS 3.0, entre outras tecnologias Office (como o SP do SharePoint Designer, por exemplo).

Anuncio da Equipe Office

http://blogs.technet.com/office_sustained_engineering/default.aspx

KB do SharePoint Designer

http://support.microsoft.com/kb/953292

KB Office Server

http://support.microsoft.com/kb/953334

KB WSS

http://support.microsoft.com/kb/953338

WSS + SP2

http://www.support.microsoft.com/kb/968170

No momento estou fazendo alguns testes e lendo a documentação. Assim que tiver os resultados, posto mais detalhes.

:)

Sexta-feira, 24 de Abril de 2009

Desapegue o SPSite e SPWeb sem traumas

Em teoria, o garbage collector do .net framework deveria gerenciar objetos não desalocados da memória, no entanto, nem sempre isto acontece com os objetos SPSite e SPWeb do SharePoint.

Em um caso especifico, encontrei muitas (MUITAS) linhas no LOG do SharePoint identicas a linha abaixo:

04/15/2009 18:24:35.17 w3wp.exe (0x0708)                       0x150C      Windows SharePoint Services     General                            8l1n  High        An SPRequest object was not disposed before the end of this thread.  To avoid wasting system resources, dispose of this object or its parent (such as an SPSite or SPWeb) as soon as you are done using it.  This object will now be disposed.  Allocation Id: {5BD3D587-6FD0-4923-BD8A-FB35D7B13149}  To determine where this object was allocated, create a registry key at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\HeapSettings.  Then create a new DWORD named SPRequestStackTrace with the value 1 under this key.

Para resolver o problema, é possivel fazer o que te manda o SharePoint (alterar a tal chave no registro e descobrir qual o componente está gerando tantas excessões). Mas em ambientes de produção, nem sempre o trobleshooting é assim tão facil de se fazer. Para estes casos, o desenvolvedor conta com uma ferramenta poderosa especifica para o SharePoint. O SPDisposeCheck. Com ele é possivel analisar DLL a DLL, gerando relatórios de não-conformidades.

exemplo de dados gerados pelo relatório:

ID: SPDisposeCheckID_110
Module: XXXXX.dll
Method: Intranet.DAL.Cardapio.CardapioProvider.#ctor(System.String)
Statement: local0 := new Microsoft.SharePoint.SPSite(rootSite)
Notes:   Disposable type not disposed: Microsoft.SharePoint.SPSite
         ***This may be a false positive depending on how the type was created or if it is disposed outside the current scope
More Information: http://blogs.msdn.com/rogerla/archive/2008/02/12/sharepoint-2007-and-wss-3-0-dispose-patterns-by-example.aspx#SPDisposeCheckID_110

Massa!!!!!

Boa sorte e vamos dar Dispose ai, gurizada!!

;)

Quinta-feira, 23 de Abril de 2009

WSS Service Pack 2 a vista

Pessoal, esta é pra marcar na agenda: 28 de abril é a provavel data para lançamento do SP2 para tecnologias Office (http://blogs.technet.com/office_sustained_engineering/archive/2009/04/16/service-pack-2-for-the-2007-microsoft-office-system-due-to-ship-april-28th.aspx). Além de fornecer maior desempenho e corrigir alguns bugs, a promessa são algumas novas funcionalidades. O jeito agora é aguardar :)

Pinçando as atualizações que mais afetam os SharePointers, em ingles:

Windows SharePoint Services 3.0 SP2 and Microsoft Office SharePoint Server SP2

include fixes and enhancements designed to improve performance, availability, and stability in your server farms. SP2 provides the groundwork for future major releases of SharePoint Products and Technologies.

An STSADM command line that scans your server farm to establish whether it is ready for upgrade to the next version of SharePoint and provides feedback and best practice recommendations on your current environment.
SP2 offers support for a broader range of Web browsers
.
Windows Server 2008 SP2 and Windows Server 2008 R2 will be supported on their release.

Enterprise Content Management (ECM)

The performance and stability of content deployment and variations feature has been improved.
A new tool has been added to the STSADM command-line utility that enables a SharePoint administrator to scan sites that use the variations feature for errors.

Excel Services

SP2 makes it easier to configure Excel Web Access Web Parts on new sites.
Several rendering, calculation, and security issues have been resolved.
Some display issues have been addressed.
Improved compatibility with Mozilla Firefox browsers.

Search Server

Improvements to the reliability and stability of very large corpus crawls.
Backup-restore has been improved.
A new command has been introduced to the stsadm.exe tool that lets a SharePoint Administrator to tune the Query processor multiplier parameter.
Improved accuracy in searches involving numbers.

Quinta-feira, 2 de Abril de 2009

Bizarrises do SharePoint em português

Um SharePoint em português é uma experiencia que eu não recomendo. Se precisa de sites em português, instale a versão do SharePoint em inglês e adicione o Language Pack PT-BR.

Mas se mesmo assim você optar por instalar o SharePoint em porguês, saiba que enfrentara bizarrices como esta: Ao tentar para o serviço de  busca do MOSS, o SharePoint pede uma confirmação “Tem certeza que deseja excluir permanentemente  todos os dados  no índice  de todos os SSPs? [s/n]”. Veja bem que as opções são bem claras. (S)im e (N)ão. No entando, pressionar o “s” ou o “n” não tem resultado nenhum. Simplesmente não processa nada. 

Só depois de algum tempo desconfiado me dei conta do improvável. Apesar de o sistema apresentar as opções em português, você deve responder em inglês. Sim!!! em inglês. Assim como deveria ser o SharePoint ;)

ingles_portugues

Assistente de Configuração com outra conta

 

É uma boa prática jamais logar nos servidores com qualquer conta de serviço do SharePoint. Conta de serviço é conta exclusiva de serviço. É a conta do SharePoint Credentials, conta de serviço do Pool de aplicação, do service de indexação, enfim, não é a conta do usuário. Se possível, o ideal é retirar a permissão para login destas contas.

Mas ai entramos encontramos um probleminha. É bastante comun que a conta do usuário, a sua conta, não tenha as permissões necessárias para realizar determinadas operações. E é aí que utilizamos o “run as”. Comandos STSADM? Fácil! no menu iniciar, ir até o icone do prompt do DOS, botão direito e “run as”. Uma janela aparece para inserir as credencias do usuário de serviço. Pronto, podemos rodar todos os STSADM sem problemas de permissão.

O problema aparece quando instalamos alguma atualização do SharePoint, como o SP1, por exemplo. Após a finalização da instalação, automaticamente se abre a janela de “Assistente de Configuração de Produtos e Tecnologias do SharePoint”. Só que esta janela se abre no contexto de segurança do usuário logado. Fechar a janela, encontrar este ícone no menu iniciar e “Run As” nele, certo? Errado! Este ícone fica nas ferramentas administrativas onde esta opção não está habilitada. Também não é possivel saber onde está o executável nas propriedades do ícone.

01

Erro encontrado ao tentar executar a ferramenta de configuração sem as permissões apropriadas.

Solução do problema: Para executar a ferramenta de configuração no contexto de segurança apropriado, vá até a pasta c:\program files\commun files\microsoft Shared\web server extensions\12\bin. Encontre o executável PSCONFIGUI.exe. Isto mesmo, PSCONFIGUI.exe, com “UI” no final. Botão direito, “Run As” e preencha as credencias do usuário de serviço.

02

Quarta-feira, 1 de Abril de 2009

ISA + SharePoint

Um arquitetura muito comun para publicação de sites SharePoint na internet, é utilizar um ISA Server como firewall e cache.
O ISA Server possui uma ferramenta de publicação chamada "SharePoint Site Publishing Rule".

image

No entanto, a regra pode ter sido criada por alguém que não tem o conhecimento necessário ou que por qualquer motivo criou um “Web Site Publishing Rule”. Neste caso, o site vai carregar, mas diversas funcionalidades vão estar comprometidas.

Para resolver o problema, não é necessário recriar a regra ou se desesperar. Basta desmarcar dois checkbox: Verify normalization e Block high bit  characters em Traffic / Filtering.

image

Ok / Apply e vai pra casa.

Boa sorte!

Terça-feira, 10 de Março de 2009

Gerenciar usuários de serviço: tarefa ardua!!

Pessoal,

Por questões de segurança e para facilitar a identificação de problemas, é recomendado ter um usuário de serviço para cada função dentro de um ambiente de SharePoint. Isto acaba gerando diversos usuários de serviço, cada um com o mínimo de permissão possível e com a sua senha exclusiva. Estas configurações estão todas descritas aqui e aqui .

Mas diante de todas estas configurações, não é difícil para administradores não muito organizados, perder a senha de um ou mais usuários. Em geral, isto causa uma dor de cabeça imensa com a troca dos usuários de serviço e / ou suas senhas. O processo de manutenção destes usuários de serviço e suas senhas está descrito neste artigo confuso. Neste artigo, o processo está descrito como "tedious and error-prone process".

Mas se a senha o usuário perdido forem usuários Identity do Application Pool, nem tudo está perdido... os comandos abaixo (devidamente executos no Dos) podem salvar algumas horas de manutenção do SharePoint:
Buscando o usuário do Application Pool
cscript adsutil.vbs get "w3svc/apppools/[App pool name] /wamusername"
Buscando a senha do usuário do Application Pool
cscript adsutil.vbs get "w3svc/apppools/[App pool name]/wamuserpass"

Quinta-feira, 11 de Dezembro de 2008

IFilter para PDF 64bits

Há meses falei sobre o IFilter para PDF em ambientes de arquitetura 64bits. Aquele iFilter realmente resolvia o problema de indexação de arquivos PDF nestes ambientes. No entanto, era pago. Pois agora (HOJE) a Adobe acaba de lançar o iFilter oficial para ambientes 64 bits. Prontinho para download em http://www.adobe.com/support/downloads/detail.jsp?ftpID=4025.

Bom proveito!!
Abraço!

Customizando Profile - o fim da chatisse

Quem ja precisou customizar diversas propriedades do profile em ambiente de desenvolvimento e, depois de diversos cadastros de novas propriedades, precisou ordenar uma-a-uma clicando naquelas setinhas azuis nada praticas, sabe exatamento como é uma tarefa chata. Imagine agora, ter que publicar estas alterações em mais de um ambiente. É certeza de perder horas da sua vida fazendo o bom o velho monkey-task.


Lista de properties e suas setinhas azuis

Pois graças a Gary Lapointe, esta tarefa pode ser feita apenas uma vez. Para quem não conhece, Gary é um MVP que mantem o STSADM Custom Extension, que é um conjunto de novas operações que podem ser agregadas ao STSADM. Entre as diversas funcionalidades do Custom Extensions, temos:

gl-enumprofilepropertiesEsta operação permite exportar todas properties armazenadas em um SSP para um arquivo XML.

gl-importprofileproperties
Esta operação importa os properties armazenados em um XML para o SSP especificado.

Pesquisando sobre o assunto, descobri um projeto do CodePlex: o MOSSProfileReplicate. No entanto, não encontrei nenhuma versão compilado do pacote. Preferi confiar no Gary :)

Para mais informações, acessar o site http://stsadm.blogspot.com/

Abraço e boas importações.

SharePoint + Cache 1 de 3

Depois de diversos problemas de desempenho em ambientes SharePoint extremamente customizados, precisei pesquisar sobre o assunto. O tema até tem bastante fonte de pesquisa, mas como fiquei positivamente impressionado, resolvi dar a minha visão do assunto. Vou dividir em 3 partes para facilitar o entendimento.

Neste post, vou falar sobre o cache de disco físico - BlobCache

É sabido para quem conhece SharePoint, que todos os elementos de conteúdo ficam armazenados em banco de dados. Isto inclui imagens, html, arquivos, enfim, tudo está lá guardadinho no SQL Server. Isto é positivo quando pensamos em centralização dos dados, praticidade no backup, versionamento, entre outras vantagens. Mas pensando em desempenho, armazenar em banco de dados imagens de topo, rodapé, JavaScripts, entre outras coisas, para ambientes de Farm (mais de uma máquina respondendo pelo ambiente), pode gerar alguns inconvenientes. Pense em uma imagem de topo que não muda com freqüência. Armazenar ela em um local físico causaria transtornos no gerenciamento dos dados. Armazená-la em banco de dados, traria os seguintes aspectos:
- Utilização desnecessária de rede entre Web Front End e Banco de dados (o banco de dados precisa enviar esta imagem para o WFE exibir);
- Processamento desnecessário do banco de dados (o DB Server precisa 'procurar' esta imagem para enviar ao WFE a cada exibição da home.

Isto pode não significar muito em um acesso único, mas quando lembramos que a pagina default do MOSS tem, em média, 600 Kb sem customização alguma, podemos começar a mendigar cada kb de rede disponível. Além disto, para um DB Server superutilizado, cada query pode significar aumento de desempenho.

Para resolver este problema, o SharePoint dispõe de um recurso muito interessante: o cache em disco físico BlobCache. Na pratica, trata-se de armazenar determinados tipos de arquivo em disco no WFE. Com isto, elimina-se a necessidade de buscar estes arquivos a cada acesso a página, reduzindo trafego de rede e processamento no DB Server.

Habilitando o BlogCache
- Em cada um dos WFE, abra o web.config da aplicação que deseja cachear
- Encontre a tag "BlobCache"
- Altere os parâmetros desta tag e salve o arquivo

Parâmetro de configuração do BlobCache
location: Local físico onde o WFE armazenará os arquivos de cache
path: Local virtual e tipos de arquivos a serem armazenados no cache. Insira novas extensões separadas por ""
maxSize: tamanho do cache em Gb. O padrão é 10. Verificar tamanho de base de conteúdo antes de configurar esta propriedade.
enablad: status do cache. Padrão é "false".

Exemplo de tag de blobCache habilitada



No próximo post sobre o assunto vou abordar o cache de saída de página.

Abraço!!

Segunda-feira, 27 de Outubro de 2008

Fazendo as pazes com o ForeFront

Há algum tempo eu postei sobre problemas que havia enfrentado na utilização do ForeFront for SharePoint. É com prazer que informo que estes problemas foram corrigidos no SP2 da ferramenta. E deve ter uma boa quantidade de correções contidas no SP2 do ForeFront, já que não é possível instalar o SP2 unicamente. É necessário reinstalar todo o produto para se ter a versão atualizada do ForeFront for SharePoint. Não se preocupe que nesta nova instalação ele mantém o Key de ativação, mesmo que seja instalada a versão Trial sobre uma versão legalizada.

O download pode ser feito diretamente no site da Microsoft --> http://technet.microsoft.com/en-us/bb738112.aspx

Domingo, 31 de Agosto de 2008

Instalando o SP1 WSS3 - resolvendo problemas

Nem sempre a instalação do SP1 do wss é tranquila e serena feito agua de poço. Para quem está encontrando problemas, duas dicas:
1. Após a falha na configuração, a ferramenta indica um arquivo de log que, na verdade, não ajuda muito. A melhor fonte de informações está no Event Viewer. Lá é possivel encontrar o link para o arquivo de log que realmente traz informações relevantes: C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\LOGS\Upgrade.log

2. Após ler o log cuidadosamente, leia a documentação oficial. Abaixo, os dois links mais relevantes:
How to troubleshoot common errors that occur when you run the SharePoint Products and Technologies Configuration Wizard on a computer that is running Windows SharePoint Services 3.0 or SharePoint Server 2007 - http://support.microsoft.com/?scid=kb%3Ben-us%3B944267&x=8&y=8
Artigo com a solução para os problemas "The Web.config file is read-only", "ASP.NET is registered incorrectly in the Internet Information Services (IIS) metabase" (este foi o meu problema. Mensagem de erro "InstallAspNet "), "The Web.config file is missing"

Deploy software updates for Windows SharePoint Services 3.0 - http://technet.microsoft.com/en-us/library/cc288269.aspx
Leitura obrigatória antes da instalação.

Sábado, 19 de Julho de 2008

Deus está nos detalhes

"An unexpected error occured processing your request. Check the logs
for details and correct the problem" ou em português "Erro inesperado ao processar sua solicitação. Verifique os logs para obter detalhes e corrija o problema". Estes erros do SharePoint são mesmo sensacionais em sua precisão e detalhamento.




Encontrei este erro no leitor de RSS nativo do SharePoint.



Parece obvio que, em se tratando de um RSS externo, o problema esteja na conexão do SharePoint com a internet. Ou esta conexão não existe por alguma restrição de rede ou precisa ser configurada para ser feita através de um proxy. Este caso era para ser configurado em um proxy.
A primeira ação é configurar a tag "Proxy" no web.config da aplicação da seguinte forma:

sussystemdefault: true ou false. Aqui é possível indicar se o SharePoint vai usar o proxy padrão da conexão de rede da máquina. sugiro deixar este falor como "false" para configurar de forma explicita a conexão com o proxy, evitando assim parada por alteração na configuração da maquina.

proxyadress: Endereço do servidor de proxy com o protocolo (http). Exemplo "http://meuproxy". Perdi bastante tempo nisto por falta do protocolo no valor do parametro.

bypassonlocal: dispensa comentarios. No meu caso foi "true".

Exemplo de tag configurada:

Quinta-feira, 27 de Março de 2008

Desenvolver WebParts remotamente

Um problema muito comum quando se desenvolve WebParts para MOSS e WSS é a necessidade de ter um ou outro instalado localmente a fim de fazer o deploy automatizado e debug da aplicação, além de utilizar corretamente as referencias Microsoft. Além de exigir um hardware mais robusto, estas instalações implicam em licença extra. Seja de MOSS, seja de Windows Server 2003 para WSS.

Diante disto, segue um roteiro que pode auxiliar o desenvolvimento, deploy e debug remotos, utilizando VS2005 e Windows XP sem WSS ou MOSS:

Procedimento para desenvolvimento local em WinXP
- Criar a chave [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\12.0]. Criar o registro “Sharepoint” com o valor “Installed” (aqui temos uma pequena "gambiarra" a fim de possibilitar a instalação do VSeWSS);
- Instalar o VSeWSS (Extension para o VS2005 com os templates padrão de MOSS e WSS);
- Copiar as DLLs do SharePoint para dentro da pasta BIN do projeto e refazer as referências dentro do projeto;

Procedimento para deploy remoto
- Fazer o deploy da WebPart no servidor manualmente na primeira vez;
- Retirar a DLL do GAC do servidor;
- Configurar o Output Path do projeto para a pasta BIN da aplicação no servidor, através de compartilhamento de rede.



Procedimento para debug remoto
- Habilitar o Remote Debugger no servidor
- Adicionar processo ao Debug do VS na máquina do desenvolvedor
- Configurar o Qualifier com o endereço “DOMINIO\Usuario@Servidor”
- Na opção “Attach to”, selecionar “Managed” e “Native”
- Selecionar o processo w3wp.exe da aplicação que deseja fazer debug (PID correto).



Procedimento para descobrir o processo w3wp.exe correto
- Na linha de comando do servidor, ir até a pasta Windows\system32
- Executar o comando “cscript iisapp.vbs”.
- Será apresentada na tela a lista das aplicações web com os PID e aplicação / porta.


Pessoal, espero que esta informação lhes seja tão util quanto foi pra mim. Duvidas, comentem... Abraço

Segunda-feira, 17 de Março de 2008

Quando o ForeFront é o inimigo


Todo mundo que trabalha com SharePoint conhece ou já ouviu falar do ForeFront (http://www.microsoft.com/forefront/), antivírus que, entre outras coisas, se integra ao SharePoint varrendo todos os arquivos em busca de vírus. Este sistema da Microsoft utiliza diversas engines de busca que são atualizadas automaticamente.
Tudo isto funciona bem: o ForeFront analisa os arquivos que são enviados antes de armazená-los e analisa também os arquivos que já estão na tabela AllDocs do banco de dados de conteúdo do Sharepoint. Esta segunda ação é feita periodicamente.
O problema é quando esta verificação não funciona corretamente. A tabela AllDocs do banco de dados Content do SharePoint apresenta os campos abaixo (para maior informação sobre os campos da tabela AllDocs, acesso o endereço http://msdn2.microsoft.com/en-us/library/ms998690.aspx):
VirusVendorID – ID do antivírus.
VirusStatus – Campo inteiro que mostra qual o status atual do arquivo. Este campo é manipulado pelo ForeFront para marcar quais arquivos estão sendo verificados, quais arquivos estão infectados e quais arquivos estão limpos de vírus. O estado saudável para este campo é NULL que indica que o arquivo está livre de vírus e pronto para ser acessado pelo SharePoint.
VirusInfo – Campo de texto que armazena as informações sobre a verificação de vírus do arquivo. O estado natural para este campo também é NULL.
O problema está justamente nas verificações que não são finalizadas. Alguma indisponibilidade do serviço pode fazer, por exemplo, com que o ForeFront não atualize o campo VirusStatus para NULL e mantenha o valor “0”, que identifica arquivos que estão sendo verificados. Este status deixa o arquivo indisponível para uso do SharePoint e, conseqüentemente, resulta em problemas no site. Em geral, o erro é de permissão de acesso ou o erro HRESULT: 0x80041051.
Abaixo um exemplo de status que causa indisponibilidade do sistema:




Neste caso, o que causou o problema foi um estouro de limite de tempo de verificação, ocasionando indisponibilidade da Default.aspx, entre outros arquivos.

Corrigindo o problema
Como medida de emergência, desative o ForeFront e execute o script abaixo:
UPDATE AllDocs
SET VirusStatus = NULL,
VirusInfo = NULL
WHERE VirusStatus>0 AND VirusStatus IS NOT NULL
Em seguida, é necessário identificar o que está originando o problema no ForeFront para poder novamente ativá-lo.

Dog Food

Pessoal,

Apenas por curiosidade: como já é conhecido, a Microsoft usa o TFS para controlar o código diversos de seus de produtos. Esta prática de "provar do próprio veneneno" é conhecida como "Dog Food" (comida de cachorro, em tradução livre). Ha pouco tomei conhecimento de alguns números da base TFS da Microsoft. São eles:

-> Projetos no Team Foundation Server: 1.355 (taxa de crescimento de >100 novos projetos/mês)

-> Usuários Ativos: 8.452 (grupos que já usam TFS: MSIT, DevDiv, SQL, Office, Windows, MSCOM e Windows Live/MSN)

-> Work Items: 1.254.266

->Arquivos de Código-Fonte: 27.311.195 (isso mesmo, mais de 27 milhões de arquivos-fonte!)

Os números foram divuldagos por Joe Schwetz, Group Manager do time de TFS.

Chegou o Power Tools 2008 (até que enfim)


Visual Studio Team System 2008 Team Foundation Server Power Tools. Nome comprido para uma ferramenta com um monte de funcionalidades. Mais conhecido simplesmente por Power Tools, a versão das ferramentas adicionais para o novo Team Fundation Server estava sendo esperada ansiosamente.

Em resumo, o Power Tools do TFS é um conjunto de ferramentas que estende as funcionalidades do TFS e "tapa alguns buracos". Esta nova versão, além de trazer as funcionalidades já disponíveis no Porwer Tools 2005, traz algumas novidades:

Busca no Source control: permite, através do menu "Team Explorer", localizar arquivos e pastas no Source Control.

Quick Label: Interface que facilita a criação de labels a partir de uma seleção de arquivos e pastas.

Notificação de Builds: acompanhamento do status das builds através do Windows task bar.

Comandos adicionais no TFPT.EXE: tweakui, para administração das configurações de conexão à servidores TFS, destroyWI, para excluir permanentemente um work item e destroyWITD, para excluir permanentemente um Work Item Type Definition.

Além destas novas funcionalidades, o Power Tools 2008, conta com as antigas funcionalidades do Power Tools 2005:

Team Foundation Server Power Tool Commands: diversos itens de administração disponíveis por linha de comando.

Process Template Editor: Editor amigável para templates de processos. Sem este editor, os templates precisam ser editados diretamente nos XMLs que compõem o template

Check-in Police Pack: conjunto de polices extras para serem aplicadas ao check-in do source control.

Team Foundation Server Best Practices Analyzer: Ferramenta para analisar, entre outras coisas, para verificar se o TFS está devidamente configurado, se os recursos de hardware são suficientes...

Work Item Templates: Ajuda a gerenciar os Work Item Templates e automatizar a criação de WITD (Work Item Type Definition).

O restante, ainda estamos testando :D

Abraço!!

iFilter para PDF em 64-bit

Os iFilters contém informações utilizadas pelo indexadores de busca da Microsoft para saber como manipular e interpretar os diferentes tipos de arquivos disponíveis. Este serviço de indexação é utilizado por diversos sistemas da Microsoft. Por padrão, os indexadores Microsoft (Enterprise Search, Desktop Search) já tem instruções para indexar arquivos Office, HTML, Arquivos Texto, XML, entre outros.

Alguns tipos de arquivos, porém, não são reconhecidos de imediato. Para resolver este problema, é possível instalar iFilters personalizados.
Um problema bastante comum é necessitar indexar arquivos PDF. Até pouco tempo atrás, quando fosse necessário indexar este tipo de arquivo, havia a restrição de se trabalhar com a plataforma de 32-bit, já que o único iFilter disponibilizado pela Adobe trabalhava apenas nesta plataforma.

A Foxit, no entanto, disponibilizou um iFilter para PDF adaptado para a plataforma 64-bit (http://www.foxitsoftware.com/pdf/ifilter/). Vale lembrar que este produto não tem suporte da Adobe. A facilidade é paga e pode ser adquirida diretamente no site do fabricante.

Não mexa no que está funcionando


Semana passada, passei um aperto em um cliente durante uma POC (Proof of Concept) depois de um gesto simples e aparentemente fora que qualquer suspeita.
Depois de ter o Sharepoint instalado com configuração expansível para Farms, o serviço de indexação configurado e indexando informações de mais de 13 sites diferentes, estava me preparando para ir embora às 20h30min de uma véspera de feriado quando observei que o servidor estava com pouco espaço disponível na unidade "C". Apenas por "capricho", resolvi executar uma limpeza de disco do Windows. Aquele que já vem instalado com o Windows nas ferramentas do sistema. Optei por ele justamente para não ter problemas que poderiam ocorrem fazendo uma limpeza manual.
Após a limpeza um último teste antes de ir embora, apenas para ir com a consciência tranqüila... de tranqüilo, nem a consciência. Pronto! Nada mais funcionava. Nem busca, nem indexação, nada!
Depois de apanhar um pouco, desespero, a certeza de ter perdido o feriado prolongado, resolvi fazer o básico: consultar o log da aplicação.
O assistente para limpeza de disco havia acabado de apagar arquivos temporários usados pelo serviço de indexação. Por algum motivo, a ferramenta de limpeza não sabia que aqueles arquivos eram importantes. Nem o serviço de indexação do Sharepoint se preocupou em bloquear tais arquivos com extensão ".tmp".
Para solucionar o problema, bastou parar o serviço de indexação através da ferramenta de administração do Sharepoint e iniciá-lo novamente.
Resumo: Não execute a ferramenta de limpeza de disco do Windows em um servidor com serviço de indexação do Sharepoint em execução. Ou o bom e velho "não mexa no que está funcionando.
;)

Reduzindo custos com pesquisas usando MOSS 2007


Em maio de 2006 o IDC (www.idc.com) já apontava em seu estudo intitulado “The Hidden Cost of Information Work” o elevado custo que a busca por informações representa para as organizações. Segundo este estudo, um único funcionário gasta em média mais de 9 horas semanais em busca de informações específicas, figurando esta atividade em quarto lugar no ranking das que mais tomam tempo das pessoas nas organizações. Além disto, outras atividades relacionadas à busca por informações também são elencadas pela pesquisa: Consolidação dos múltiplos formatos de um mesmo documento, buscas infrutíferas, recriação de conteúdo não encontrado, publicação do mesmo documento em diferentes plataformas, controle de versões, entre outras. Somando a isto o crescimento exponencial na quantidade de informação produzida ano a ano, não é difícil imaginar que os custos com a busca por informações tende a aumentar.

Tudo isto, torna os requisitos de pesquisa em soluções de gerenciamento de conteúdo tão importantes quanto outros requisitos, sejam eles funcionais ou não. Entretanto, diversos são os problemas que tornam um sistema de pesquisa ineficiente para atenuar os problemas provenientes do excesso de informação.

Pesquisas restritas
Aplicativos capazes de realizar pesquisas apenas em seus próprios dados, pressupõem que os usuários ao menos saibam em que ponto devam iniciar suas pesquisas. Ou seja, o usuário precisa ao menos ter o conhecimento do sistema onde a informação está armazenada para, a partir daí, realizar a sua busca.

Indexação restrita
Ainda que um sistema de busca tenha acesso aos diversos sistemas envolvidos, também é necessário assegurar que todos os dados pertinentes estejam indexados e, desta forma, disponíveis às soluções de pesquisa. O usuário deve ser capaz de pesquisar e encontrar a informação necessária independentemente do local ou formato desta informação.

Classificação insatisfatória dos resultados da pesquisa
Os resultados mais relevantes para uma pesquisa devem estar disponíveis logo nos primeiros ítens apresentados pelo resultado da pesquisa. É necessário um sistema que classifique os conteúdos de forma eficaz para garantir uma boa experiência de busca ao usuário.

Pesquisa Web x Pesquisa Corporativa
A experiência do usuário com as pesquisas disponíveis na internet exige que os projetos de solução de pesquisa corporativa apresentem, no mínimo, os recursos já disponíveis por estes sistemas de busca. Além disto, existem fatores extras que devem ser considerados quando se trata de pesquisas corporativas:
Desempenho da pesquisa – quando se trata de ambiente corporativo, é importantíssimo considerar o tempo despedido para obter as informações necessárias.
Segurança e privacidade dos dados – Em ambientes corporativos, é necessário que a informação esteja acessível apenas para o publico correto. A confidencialidade da informação é um requisito importante nestes ambientes.
Escalabilidade – Os recursos de pesquisa devem estar aptos a acompanhar o crescimento da organização.

Flexibilidade – O resultado da pesquisa deve estar disponível de forma flexível para a manipulação.
Métricas – Constantes avaliações são necessárias para o aprimoramento do sistema de pesquisa. Desta forma é possível alcançar maior eficácia nos resultados apresentados.

Como Sharepoint Enterprise Search pode auxiliar
O Sharepoint Enterprise Search apresenta diversos mecanismos para implementar soluções eficazes de buscas corporativas.
Pesquisas em diversas fontes de dados
Além de pesquisar seus próprios dados e documentos gerenciados, o Microsoft Sharepoint é capaz de indexar informações em outros sistemas utilizando diversos protocolos:

HTTP – indexação de sites externos.

Exchange – indexação de pastas públicas do Exchange.

Arquivos compartilhados – indexação de arquivos localizados em compartilhamentos de rede.

Lotus Notes – Indexação de dados armazenados em sistemas Lotus Notes.

BDC (Business Data Catalog) – Indexação de sistemas mapeados no SharePoint como catálogos de dados relacionais externos.

Além disto, é possível desenvolver protocolos personalizados para comunicação com o Sharepoint.

Indexação abrangente
O Enterprise Search utiliza protocolos chamados de iFilters para manipular e indexar os diversos tipos de arquivos disponíveis para consulta. Para garantir flexibilidade na abrangência de indexação, além de disponibilizar iFilters padrão, é possível instalar novos iFilters para manipulação de arquivos proprietários e disponibilizados pelos seus fabricantes. Além disto, é possível desenvolver iFilters customizados. Por padrão, o Enterprise Search é capaz de indexar bases de dados relacionais, documentos Microsoft Office e arquivos HTML. A Adobe disponibiliza iFilter para indexação de arquivos do tipo PDF para a plataforma 32 bits.
Aprimorando o resultado de pesquisas

O Enterprise Search dispõe de métodos eficientes para a classificação dos resultados de uma pesquisa, baseados nas propriedades dos documentos e hierarquia do site. Em geral, não é necessário alterar tais métodos, mas é possível customizar a forma como estes resultados são classificados. Além disto, o Enterprise Search dispõe de ferramentas para aprimorar esta classificação e disponibilizar resultados satisfatórios:


Best Bets – Capacidade de cadastrar os melhores resultados para determinados critérios de busca.

Dicionário de sinônimos – É possível personalizar o dicionário de sinônimos, atribuindo significado aos termos pesquisados e melhorando a qualidade dos resultados.

Níveis prioritários – Capacidade de indicar os níveis hierárquicos que contêm as informações mais relevantes para as buscas realizadas.

Sugestão de ortografia – O Sharepoint é capaz de sugerir outra grafia para palavras digitadas incorretamente, baseada no corretor ortográfico da ferramenta.

Configuração de hierarquia baseada no tipo de arquivo – Capacidade de indicar os arquivos mais relevantes para os resultados das pesquisas.
Robustez e Escalabilidade

Através da configuração de clusters e farms é possível projetar soluções de alto desempenho para organizações de todos os portes. A arquitetura baseada em papéis definidos na solução de pesquisa permite distribuir as diversas tarefas envolvidas no serviço de pesquisa em diferentes servidores, permitindo flexibilidade e escalabilidade.

Acessibilidade dos resultados
A informação disponibilizada de diversos formatos se adapta aos usos freqüentes necessários dentro de uma organização.

Feeds RSS – O usuário pode acompanhar a atualização dos resultados de suas pesquisas através de qualquer leitor de RSS, como o próprio Outlook.
Alertas por e-mail – É possível se cadastrar para receber atualizações no resultado de pesquisas por e-mail.

Exportação dos dados – O Sharepoint dispõe de ferramentas para a exportação dos resultados das pesquisas para documentos Microsoft Office.
Ferramentas para customização

É possível customizar as buscas do Enterprise Search para se adaptar a sistemas externos de diversas formas.

Chamadas HTTP – Através de parâmetros padrão, é possível fazer chamadas HTTP do tipo GET à ferramenta de busca do Sharepoint a partir de sistemas externos ou webparts customizadas.

Customização da interface de busca – É possível customizar as interfaces de consulta e resultados de busca através de editores de arquivos XSL.

Extensão do sistema de busca – A estrutura de objetos do mecanismo de busca está disponível para a construção de webparts customizadas que estendam as ferramentas de busca padrão.

Busca de talentos
Em um ambiente organizacional, pode ser importante encontrar as pessoas através de capacidades e perfis. O Sharepoint permite customizar o cadastro de usuário criando novas propriedades, importando informações de usuários de diversas fontes (inclusive servidores de domínio) de forma sistemática, além de disponibilizar dados referentes à capacidade e atividades desenvolvidas dentro da organização.

Conclusão
O SharePoint Enterprise Search se apresenta como uma solução eficiente para sistemas de busca complexos e escaláveis a fim de prover soluções em ambientes complexos de gerenciamento de informações.

Coffee-break sem culpa

Pessoal, para quem ainda não conhece, eu apresento uma feature sensacional do site Microsoft TechNet: Os “Virtual Labs”!
Os Virtual Labs são módulos para execução dos “Labs” dos cursos oficiais Microsoft. Quem já fez algum destes cursos, sabe do que estou falando: são aqueles exercícios que metade da turma nem começa porque vai pro coffee-break ou sai mais cedo e a outra metade da turma começa e não termina porque o tempo excede o previsto. Agora temos uma segunda chance para fazer os tais Labs e, o melhor de tudo, gratuitamente.
A estrutura é simples: são laboratórios controlados por tempo, categorizados por produto ou por assunto (por exemplo, “Exchange Server”). Tudo é feito via browser, instalando um activeX. Todos os exercícios dispostos no curso oficial estão ali, disponíveis em uma barra de tarefas à direita. Acima, um menu identificador do laboratório, tempo disponível e outras informações. No miolo central, uma máquina virtual com o ambiente necessário para o teste já todo configurado.
Além de executar os exercícios, esta ferramenta é útil para execução de testes sem necessidade de instalação do produto ou downloads intermináveis. Utilizem sem dó ;)
Link: http://technet.microsoft.com/pt-br/bb467605.aspx





Exemplo: Um Virtual Lab de “Search Administration and Customization in Microsoft Office Sharepoint Server 2007”