Pregunta

Estoy construyendo un sitio de publicación de SharePoint (MOSS) para obtener información sobre los empleados en el sitio web de mi empresa. Tengo un tipo de contenido del empleado y estoy usando la columna del sitio de direcciones de correo electrónico de contacto para almacenar la dirección de correo electrónico de un empleado.

Quiero que me gustaría es la capacidad de codificar direcciones de correo electrónico en tiempo de ejecución para evitar que la dirección de correo electrónico real sea cosechada por spammers. Esto se decodificaría cuando un usuario haga clic en el hipervínculo de correo electrónico, por ejemplo, el siguiente HTML se enviaría al navegador:

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

Ya tengo los métodos JavaScript para codificar/decodificar un valor de texto de la cadena sin sentido anterior, pero no estoy muy seguro de cómo abordar esto con SharePoint en mente. ¿Estoy pensando en un control personalizado y/o J-Query personalizado?

¡Cualquier ayuda sería muy apreciada!

Jonny

¿Fue útil?

Solución

En el caso de que no pueda poner a los usuarios en AD, un control de campo personalizado Le dará la capacidad de incluir la representación personalizada (jQuery) que necesita, así como la capacidad de ingresar los datos como texto "normal".

El campo personalizado, una vez definido, "simplemente funciona" donde sea necesario para mostrar el campo.

Dado que está pensando en usar jQuery, el problema se convierte en uno para asegurarse de que la biblioteca jQuery esté correctamente vinculada cuando necesita un campo de este tipo.

Otros consejos

Si hace a esos empleados miembros del sitio, SharePoint se encarga de este problema.

Puede enviarles correos electrónicos, pero la dirección de correo electrónico solo se usará a la hora de enviar, cuando agrega un botón para enviar un correo electrónico a alguien, no mostrará la dirección de correo electrónico, se maneja en el backend.

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

alt text
(fuente: msdn.com)

Dos opciones/enfoques más que puede probar:

(1) Implemente un control de TextField personalizado, heredando desde Microsoft.sharepoint.webControls.textfield y anular renderfieldfordisplay

Luego, en código: codifique el campo para la pantalla.

Agregue este control a Safecontrols y use esto en lugar del campo de texto normal en el Pagelayout.

(2) Use el control de TextField existente, pero inyecte un botón [Codificar] usando jQuery junto a TextField en EditMode.

Use el método de codificación de JavaScript para codificar lo que el usuario ha escrito en un valor codificado, reemplazando el valor de TextField existente. Que luego pueden ahorrar en SharePoint.


Calificaría los enfoques en función de su escenario de implementación: el de Nat es el más limpio pero probablemente más involucrado para la implementación, y el solo jQuery One parece muy hackish pero fácil de implementar. El enfoque de TextField de anulación probablemente se sentaría en algún lugar en el medio.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top