Archive for julho \24\UTC 2009

Troubleshooting: The type or namespace name ‘Office’ does not exist in the namespace ‘Microsoft’ (are you missing an assembly reference?)

24 de julho de 2009

 

Cenário:

Tenho um servidor com o MOSS 2007 instalado e customizei uma página via SharePoint Designer, onde eu tinha que capturar algumas propriedades do usuário atual e exibir na tela, basicamente inseri as seguintes linhas de código:

<%@ Import Namespace="Microsoft.Office.Server.UserProfiles" %>
<%@ Import Namespace="Microsoft.Office.Server" %>

<script runat="server" type="text/c#">
void Page_Load(object sender, EventArgs e)
{
                RetornaUser();
}

void RetornaUser()
{
                //Código que Retorna Usuário

}
</script>

Obs.: Lembrando que para executar scripts server-side no SharePoint nós precisamos permitir via configuração na web.config, para maiores informações vejam o post (Habilitando a execução de códigos ASP.NET no SharePoint Server 2007).

 

ERRO:

Quando executo a página customizada com as informações acima o SharePoint gera o seguinte erro:

The type or namespace name ‘Office’ does not exist in the namespace ‘Microsoft’ (are you missing an assembly reference?)

 

CAUSA:

O SharePoint não está encontrando o assembly Microsoft.Office.

Estranho é que esse assembly é instalado junto com o MOSS 2007 e meu ambiente é MOSS 2007 K.

 

SOLUÇÃO:

Pesquisando um pouco descobri que também é necessário adicionar referência para a assembly na página customizada, adicione a seguinte linha na sua página:

 

<%@ Assembly Name="Microsoft.Office.Server, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>

 
Semelhante ao "Add References" que executamos no caso de aplicações desenvolvidas no Visual Studio, coisas de programadores .NET hehehehe.

É isso ai galera, esse post me pareceu útil, rotinas do dia-a-dia.

 

Abraços!

Anúncios

Troubleshooting: Type ‘Microsoft.SharePoint.WebControls.FormField’ does not have a public property named ‘OnKeyPress’

24 de julho de 2009

Olá SharePointers,

Hoje customizando via SharePoint Designer um formulário gerado pelo SharePoint, precisei habilitar uma função simples de JavaScript pra formatar números em um campo do SharePoint do tipo "FormField", na 1ª tentativa apenas inseri a propriedade OnKeyPress no objeto SharePoint:FormField, após salvar meu formulário ele apresenta o seguinte erro:

Português: Erro ao processar . O tipo ‘Microsoft.SharePoint.WebControls.FormField’ não tem uma propriedade pública denominada ‘OnKeyPress’.

Inglês: Type ‘Microsoft.SharePoint.WebControls.FormField’ does not have a public property named ‘OnKeyPress’

Percebi que eu não podia simplesmente inserir propriedades HTML dentro dos controles Microsoft.SharePoint.WebControls.FormField, como fazemos com o ASP.NET K.

L E agora? Pesquisando na boa internet encontrei algumas informações.

No site MSDN, na referência do controle FormField (FormField Members (Microsoft.SharePoint.WebControls)) realmente não temos nenhuma propriedade pública HTML. Legal, mas então surge a pergunta, porque os controles ASP.NET que herdam o namespace System.Web.UI.WebControls conseguem renderizar propriedades HTML? Pois é… Esse assunto é longo, podemos discuti-lo em um próximo post, mas posso dizer que o SharePoint é mais criterioso em sua renderização dos controles. 😉

Tudo bem, como resolver o problema? Não gostaria de criar um custo Field para essa solução

1ª Solução

Depois de algum tempo buscando uma solução, encontrei dois sites falando sobre como Manipular itens de formulário SharePoint via JavaScript, de uma certa forma resolveria meu problema, com o JavaScript eu poderia “setar” minha propriedade HTML via código, mas mesmo assim não seria realmente uma solução legal para o problema, mas decide postar aqui esses links, pode ser útil.

Using Javascript to Manipulate a List Form Field – SharePoint Designer Team
Refferencing SharePoint form fields with JavaScript – Web Borg
More SharePoint Branding – Customisation using JavaScript – Part 1 – Clever

 

2ª Solução

Depois de procurar por um bom tempo, encontrei no mesmo blog Web Borg, uma solução que usa a solução acima e apresenta um exemplo de como adicionar Funções e Eventos via Javascript:

Add functions and events to SharePoint form fields – Web Borg

 

É isso ai galera, nós podemos também criar custom fields pra isso, mas acho que essa solução é muito mais produtiva em alguns casos.

 

Abraços!

Artigo: Reporting Services e SharePoint: Criando um Relatório Simples

13 de julho de 2009
Olá Pessoal,
 
Hoje eu publiquei mais um artigo no Canal SharePoint, seguindo uma série de artigos que pretendo publicar focando a integração das Tecnologias SharePoint e Reporting Services, confiram no link abaixo.
 
  
Espero que gostem.! 😉
 
Abraços.

TRICKs: QueryString FilterField & FilterValue

7 de julho de 2009
Hello People,
 
Pessoal, hoje estava trabalhando em mais um projeto estável e pacífico neh kkk. O Search parou de funcionar nas aplicações depois que tivemos um problema no servidor (O Heber Lopes que o diga hehehe), exatamente nesse momento eu fazia várias buscas em uma lista mega gigante com alguns milhares de itens. 😐
 
E agora? hehehe Imagina que legal perder tempo navegando na paginação das listas neh? Os filtros das colunas nessas horas também não funcionam devido a quantidade de itens… E agora?
 
Meu amigo Osmar Silva, super mega ninja sharepoint developer me deu uma dica que quero compartilhar com nós SharePointers, uma dica simples mas que me salvou e senti vontade de compartilhar…
 
Nós podemos enviar parâmetros de filtros via QueryString, mesmo quando a opção de filtro nos campos não consegue carregar, ou seja, uma coisa manual que uma busca geralmente resolveria, mas como todos podemos ter problemas com Search vai uma breve explicação:
 
 
Basicamente dois objetos QueryString passados para sua view da lista, FilterField e FilterValue, os nomes são auto explicativos neh?
 
Simples… Mas hoje salvou algumas horas do meu trabalho. 😉
 
Abraços!

Artigo: Ativando um Event Receiver para uma Lista Específica no SharePoint 2007

5 de julho de 2009
Olá,
 
Ontem eu publiquei mais um artigo no Canal SharePoint, dessa vez eu dei continuidade a um artigo anterior (Criando e Explorando os Event Receivers no MOSS 2007 WSS 3.0), nesse novo artigo eu exploro de forma simples e prática como podemos criar e ativar um Event Receiver somente para uma ou várias listas específicas, nesse modelo eu anexo o Event Receiver via código e publico o recurso via "feature".
 
 
Não posso deixar de agradecer a Michele Velloso que me deu um help final.
 
Espero que gostem.! 😉
 
Abraços.

SharePoint Brasil & Seção Documentos “Beta”

5 de julho de 2009
Olá Pessoal,
 
O MVP de SharePoint Hélio Sá Moreira reformulou seu site SharePoint Brasil .Net, um site voltado para a Comunidade Brasileira de SharePoint, muito interessante.
 
Hoje de tarde em uma conversa ele me autorizou publicar um espaço que ainda é "beta" no seu site, é a seção de Documentos, que é um repositório com documentos úteis, white papers, apresentações, documentações, etc… Enfim achei esse espaço muito interessanteee mesmo, muito útil. Ele informou que ainda está levantando materiais para a seção e que em breve estará subindo mais de 100 documentos. Por isso a dica. 😉
 
SharePoint Brasil – Documentos
 
Enfim fica a super dica, na minha opinião um link pra ficar em favoritos hehehe, parabéns Helinho!
 
Abraços.

Troubleshooting: WSS Search

1 de julho de 2009
Olá Pessoal,
 
Outro post de um amigo que acho incrívelmente útil, aliás, esse post acho que é um dos posts que mais indiquei nos fóruns e consultorias de SharePoint.
 
Troubleshooting WSS Search – EventID 2424 & 2436
 
Dessa vez se trata de um Troubleshooting que o Helinho postou um bom tempo atrás, mas que sei que já salvou muita gente… hehehe
 
Parabéns Helinho.
 
Abraços.