Pergunta

Estou construindo um site de publicação do SharePoint (Moss) para obter informações sobre funcionários no site da minha empresa. Eu tenho um tipo de conteúdo do funcionário e estou usando a coluna do site de endereço de e-mail de contato para armazenar o endereço de e-mail de um funcionário.

Quero que eu gostaria que seja a capacidade de codificar endereços de email em tempo de execução para impedir que o endereço de e -mail real seja colhido por spammers. Isso seria decodificado quando um usuário clicar no hiperlink de email, por exemplo, o seguinte HTML seria enviado ao navegador:

<a href="javascript:sendEmail('5237952A6F67618E407373772E6063212E6175')">Email Jonny</a>

Eu já tenho os métodos JavaScript para codificar/decodificar um valor de texto da string sem sentido acima, mas não tenho muita certeza de como abordar isso com o SharePoint em mente. Estou pensando em um controle personalizado e/ou em J-query personalizado?

Qualquer ajuda seria muito apreciada!

Jonny

Foi útil?

Solução

In the case that you are unable to put the users into AD, a custom field control will give you the ability to include the custom rendering (jquery) you require as well as the ability to enter the data as "normal" text.

The custom field, once defined "just works" wherever you need to display the field.

Given you are thinking of using JQuery, the issue then becomes one of making sure the jquery library is correctly linked whenever you need to us a field of this type.

Outras dicas

Se você formar os membros do site, o SharePoint cuida dessa questão.

Você pode enviar e -mails para eles, mas o endereço de e -mail será usado apenas no horário de envio, quando você adicionar um botão para enviar um e -mail para alguém, ele não mostrará o endereço de e -mail, é tratado no back -end.

SPUtility.SendEmail(SPContext.Current.Web, false, false,
[SPUser.Email][1], "E-mail title",
"E-mail body");

alt text
(fonte: msdn.com)

Mais duas opções/abordagens que você pode tentar:

(1) Implementar um controle de campo de texto personalizado, herdando do Microsoft.SharePoint.WebControls.textfield e substituir Renderfieldfordisplay

Em seguida, no código - codifique o campo para exibição.

Adicione esse controle aos SafeControls e use isso no lugar do campo de texto normal no Pagelayout.

(2) Use o controle de campo de texto existente, mas injete um botão [codificar] usando o jQuery ao lado do campo de texto no EditMode.

Use o método de codificação JavaScript para codificar o que o usuário digitou em um valor codificado, substituindo o valor do campo de texto existente. Que eles podem salvar no SharePoint.


Eu classificaria as abordagens com base no seu cenário de implantação - o NAT é o mais limpo, mas provavelmente mais envolvido para implantar, e o JQuery apenas parece muito hackish, mas fácil de implantar. A abordagem de campo de texto substituída provavelmente ficaria em algum lugar no meio.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top