I’m on a project where we need to collect metrics around a function named "Share a Story." The idea is very simple — Калі вы глядзіце на цікавую артыкул у інтрасеткі і хочаце падзяліцца гэтым з кімсьці, click a link labeled "Share this story" адправіць яго сваім прыяцелем.
Мы гулялі вакол з карыстацкай формы для гэтай мэты, але ў рэшце рэшт, здаровы сэнс атрымаў перамогу, і мы проста выкарыстоўваць знаёмыя <HREF = MAILTO:…> technique. (<HREF MAILTO:…> на здзіўленне надзейнай трохі HTML; у якасці бонуса, , Якія спасылаюцца вяртае мяне да майго старому UNIX старонках дзён; гэта былі дні!).
Гэты метад забяспечвае выдатны інтэрфейс для канчатковых карыстальнікаў, так як яны атрымліваюць, каб выкарыстоўваць іх знаёмым кліентам MS Outlook (або любы іншы паштовы кліент, яны ўсталявалі).
Гэта робіць рэчы цяжэй на нас, бедных тыпаў распрацоўшчыкаў, так як яны таксама кліент ** хоча запусціць справаздачу ў будучыні, якое паказвае, як часта карыстальнікі долю гісторый і нават якія гісторыі з'яўляюцца агульнымі часцей за ўсё.
We whiteboarded a few potential solutions. My favorite is to carbon copy (CC) a SharePoint list. That way, the end user still gets the outlook client while we get to capture the event because we’ll get a copy of the email ourselves. There are some obvious drawbacks. The main problem is that the user could simply blank out or otherwise mangle the CC address. І, we need to manage that event library of emails. We have a scheduled job on the white board responsible for that cleanup.
Калі ў вас ёсць разумны падыход да вырашэння гэтай праблемы, калі ласка скажыце.
</канец>
Выконвайце за мной на Twitter у http://www.twitter.com/pagalvin
Прывітанне Павел,
Калі патрабаванне, каб проста захапіць колькасць часу доля карыстальнікаў артыкул, то
Проста стварыце 1 наладжвальныя поле мета у спісе і калі карыстальнік націскае на падзяліцца гісторыяй спасылка затым выклікаць 1 JavaScript функцыі, у якой распрацоўшчык напісаць код на гэты код генераваць asynchornous выкліку з дапамогай аб'екта XMLHttpRequest і павялічваем лічыльнік на 1 гэтага артыкула .
Калі распрацоўшчык працуе над карыстацкай вэб-часткі, то ён будзе на боку сервера cretae Гіперспасылка тып кіравання і выканаць свой код і павялічваем лічыльнік на 1 гэтага артыкула і адкрыць перспектывы.
і
Калі патрабаванне, каб захапіць усе дэталі, як спіс атрымальнікаў , дата , рэдагаваць паведамленні, то
гэтая опцыя не будзе працаваць , Затым распрацоўшчык трэба стварыць вэб-старонкі, якія выглядаюць як Перспектывы інтэрфейс і захапіць усе дэталі адпраўце код кнопкі
Як пра гэта?
* Стварыць адправіць спасылку, што спасылкі на старонку _layouts і дадаць бягучую старонку ў радку запыту.
* На старонцы _layouts, напісаць выкарыстанні інфармацыі да Sp Спіс або табліца БД.
* Выкарыстоўвайце Outlook.Application імёнаў для стварэння паведамленні, а затым выкарыстоўваць objMail.Display() , Каб адкрыць новае паведамленне электроннай пошты ў Outlook – паглядзець http://forums.devx.com/showthread.php?threadid=152716
* Тады Server.Transfer назад у зыходную старонку або дзякуй вокны
Я б спасылку выгляду:
<a href="mailto:test@test.com" id="mailLink" >Пошта</a>
і выкарыстоўваць як JQuery:
$("mailLink").пстрычка(функцыя() { $.пост(/*do ajax call*/) });
Проста заменіце $. Паведамленню (http://docs.jquery.com/Ajax/jQuery.post) or $.ajax (http://docs.jquery.com/Ajax) з код, каб зрабіць выклік Ajax.
Данііл, вось яшчэ адзін варыянт на белай дошцы. Рызыка заключаецца ў тым, як вы кажаце — што адбудзецца, калі карыстальнік адмяняе дзеянне? Тэхнічна гэта складаней, так як мы таксама трэба напісаць некалькі вэб-сэрвіс для JavaScript для выкліку.
Што б як спасылка HREF, якія выглядаюць як? <a href="javascript:[рэчыва ідзе тут]> … хау гэта працуе?
Дзякуй за прапанову!
Як наконт выкарыстання JavaScript (з інструментам, як JQuery) злавіць выпадку карыстальнік націскае на спасылку. Гэта было б стрэліць выкліку Ajax (зноў лёгка зрабіць з дапамогай JQuery) , Якія маглі б увайсці імя карыстальніка, або што-небудзь яшчэ, што вы хочаце. Я думаю, праблема толькі ў тым, то вы робіце * дакладна * не ведаю, калі ліст быў адпраўлены ці не.