Estoy en un proyecto donde tenemos que recoger métricas alrededor de una función denominada "comparten una historia." La idea es muy simple — Si usted está buscando un interesante artículo en la intranet y quiere compartir con alguien, Haga clic en un vínculo con la etiqueta de "compartir esta historia" a su amigo un correo electrónico.
Jugamos con un formulario personalizado para este propósito, pero al final, sentido común ganó el día y sólo utilizamos el familiar <a href = mailto:…> técnica. (<un mailto href:…> es un poco sorprendentemente robusto de HTML; como un bono, ese vínculo me hace volver a mis viejos tiempos de páginas man de UNIX; aquellos fueron los días!).
Esta técnica proporciona una interfaz de gran para los usuarios finales ya a utilizar a su familiar cliente MS Outlook (o cualquier cliente de correo electrónico se han instalado).
Dificulta las cosas nos tipos de pobre desarrollador ya que cliente * también * quiere ejecutar un informe en el futuro que muestra cómo a menudo los usuarios compartan historias y aún qué historias se comparten más a menudo.
Nos whiteboarded algunas posibles soluciones. Mi favorito es copia al carbón (CC) una lista de SharePoint. De esa manera, el usuario final todavía obtiene al cliente de outlook mientras llegamos a capturar el evento porque nos pondremos una copia del correo electrónico nos. Existen algunos inconvenientes obvios. El principal problema es que el usuario podría simplemente en blanco hacia fuera o de otra manera destrozar el CC dirección. Y, tenemos que gestionar ese evento biblioteca de correos electrónicos. Tenemos un trabajo programado en el tablero blanco responsable de esa limpieza.
Si tienes algún acercamiento inteligente para resolver este problema, por favor diga.
</final>
Sígueme en Twitter en http://www.twitter.com/pagalvin
Hola Pablo,
Si el requisito es sólo capturar al número de usuario en tiempo de compartir, a continuación, el artículo
Acaba de crear 1 campo personalizado de meta en la lista y cuando usuario haga clic en compartir una historia vinculan llamada entonces 1 función de JavaScript en qué desarrollador escribir un código en ese código de generar asynchornous llamar utilizando el objeto XMLhttpRequest e incrementar el contador por 1 de que el artículo .
Si desarrollador está trabajando en el elemento web personalizado entonces él se cretae hipervínculo del lado del servidor tipo control y ejecutar su código e incrementar la cuenta por 1 de ese artículo y abra el outlook.
y
Si el requisito es capturar todos los detalles como la lista de destinatarios , fecha , mensaje editado luego
Esta opción no funcionará , luego desarrollador necesita crear una página Web que el aspecto de la interfaz de OUTLOOK y capturar todos los detalles sobre el código del botón enviar
¿Qué le parece esto?
* Crear el enviar vínculo que une a una página _layouts y agregar la página actual a querystring.
* En la página _layouts, Escriba la información de uso para una lista de Sp o una tabla de DB.
* Utilice el espacio de nombres Outlook.Application para crear el mensaje y, a continuación, utilice objMail.Display() para abrir un nuevo mensaje de correo en outlook – ver http://forums.devx.com/showthread.php?threadid=152716
* Luego server.transfer volver a la página original o a una ventana de gracias
Tendría un vínculo como:
<a href = "mailto:test@test.com" ID = "mailLink" >Correo</un>
y utilizar jquery como:
$("mailLink").Haga clic en(función() { $.Exponer(/*hacer llamadas de ajax * /) });
Basta con sustituir $.post (http://docs.jquery.com/Ajax/jQuery.post) o $.ajax (http://docs.jquery.com/Ajax) con el código para hacer la llamada de ajax.
Daniel, es otra opción en el tablero blanco. El riesgo es como dices — ¿Qué sucede si el usuario cancela la acción? Es técnicamente más difícil demasiado ya que necesitamos escribir algún servicio web para el código javascript llamar a.
Lo vincularía un href como esa mirada? <a href = "javascript:[cosas va aquí]> … CÓMOs funciona?
Gracias por la sugerencia!
¿Por qué usar javascript (con una herramienta como JQuery) para capturar el evento de clic del usuario en el enlace. Esto podría disparar una llamada ajax (una vez más fácil hacerlo con jquery) podría registrar el nombre de usuario, o cualquier otra cosa que desea. Supongo que el único problema es entonces no * realmente * saber si el correo electrónico fue enviado o no.