Estou em um projeto onde precisamos coletar métricas em torno de uma função chamada "compartilhar uma história." A idéia é muito simples. — Se você está olhando um artigo interessante na intranet e quiser compartilhá-lo com alguém, Clique em um link rotulado "compartilhe desta história" enviar e-mail para seu amigo.
Temos jogado ao redor com um formulário personalizado para este propósito, mas no final, senso comum ganhou o dia e que apenas usamos o familiar <um href = mailto:…> técnica. (<um href mailto:…> é um pouco mais robusto de HTML; como um bônus, Esse link traz-me voltar para meus velhos tempos de páginas de man UNIX; aqueles eram os dias!).
Esta técnica fornece uma interface de grande para usuários finais desde que começam a usar seus clientes conhecidos do MS Outlook (ou qualquer cliente de e-mail tenham instalado).
Isso torna as coisas mais difícil para nós pobre desenvolvedor tipos desde cliente * também * quer executar no futuro um relatório que mostra quantas vezes os usuários compartilham histórias e até mesmo quais histórias são compartilhadas mais frequentemente.
Nós whiteboarded alguns potenciais soluções. Meu favorito é a cópia de carbono (CC) uma lista do SharePoint. Dessa forma, o usuário final Obtém ainda o cliente outlook quando chegarmos capturar o evento porque nós poderá obter uma cópia do e-mail de nós mesmos. Existem algumas desvantagens óbvias. O principal problema é que o usuário poderia simplesmente em branco para fora ou de outra forma mangle do CC endereço. E, Precisamos gerenciar a biblioteca de evento de e-mails. Temos um trabalho agendado na lousa responsável para que a limpeza.
Se você tiver alguma abordagem inteligente para resolver este problema, por favor, diga.
</fim>
Siga-me no Twitter em http://www.twitter.com/pagalvin
Oi Paulo,
Se o requisito é para capturar apenas o número de usuário em tempo de compartilhar o artigo então
Basta criar 1 campo de metadados personalizado na lista e quando o usuário clicar em compartilhar uma história link em seguida, chamar 1 função JavaScript na qual desenvolvedor escrever um código em que o código gerar asynchornous chamar usando o objeto XMLhttpRequest e incrementar o contador por 1 do mesmo artigo .
Se o colaborador está trabalhando na peça web personalizada, em seguida, ele irá cretae hiperlink do lado do servidor digite control e executar seu código e incrementa a contar de 1 desse artigo e abrir o outlook.
and
Se o requisito é capturar todos os detalhes como a lista de destinatários , Data , em seguida, a mensagem editada
Esta opção não irá funcionar , em seguida, o desenvolvedor precisa criar uma página da Web que se parecem com interface do OUTLOOK e capturar todos os detalhes no código do botão enviar
Como sobre isto?
* Criar o enviar link vinculado a uma página layouts e adicionar a página atual para o querystring.
* Na página layouts, gravar as informações de uso de uma tabela DB ou uma lista de Sp.
* Usar o namespace de Outlook. Application para criar a mensagem e, em seguida, use objMail.Display() para abrir uma nova mensagem de email no outlook – consulte http://forums.devx.com/showthread.php?threadid=152716
* Server. então Transfer voltar para a página inicial ou para uma janela Obrigado
Eu teria um link como:
<um href = "mailto:Test@Test.com" identificação = "mailLink" >Correio</uma>
e usar o jquery como:
$("mailLink").Clique em(função() { $.Postar(/*fazer chamada ajax * /) });
Apenas substituir $.post (http://docs.jquery.com/Ajax/jQuery.post) ou $.ajax (http://docs.jquery.com/Ajax) com o código para fazer a chamada ajax.
Daniel, Essa é outra opção no quadro branco. O risco é como você diz — o que acontece se o usuário cancela a ação? É tecnicamente mais difícil demais desde então precisamos escrever algum serviço da web para javascript para pôr em.
O que seria um href link como esse olhar, como? <um href = "javascript:[coisas de entra aqui]> … comos que funciona?
Obrigado pela sugestão!
Que tal usando javascript (com uma ferramenta como o JQuery) para capturar o evento de click do usuário no link. Isso iria disparar uma chamada ajax (mais fácil de fazer com jquery) que poderia registrar o nome de usuário, ou qualquer outra coisa que você quer. Eu acho que o único problema é, então você não * realmente * saber se o email foi enviado ou não.