<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>oauth &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://en.wordpress.com/tag/oauth/</link>
	<description>Feed of posts on WordPress.com tagged "oauth"</description>
	<pubDate>Sun, 29 Nov 2009 09:30:20 +0000</pubDate>

	<generator>http://en.wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[Profils et web social]]></title>
<link>http://enkerli.wordpress.com/2009/11/27/profils-et-web-social/</link>
<pubDate>Fri, 27 Nov 2009 18:42:05 +0000</pubDate>
<dc:creator>enkerli</dc:creator>
<guid>http://enkerli.wordpress.com/2009/11/27/profils-et-web-social/</guid>
<description><![CDATA[J&#8217;écrivais ce message à un ami, à propos de mon expérience sur le site xkcd.com. &nbsp; BD de ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>J&#8217;écrivais ce message à un ami, à propos de mon expérience sur le site xkcd.com.</p>
<p>&#160;</p>
<p><div class="wp-caption alignnone" style="width: 437px"><a href="http://xkcd.com/668/"><img title="Pandora" src="http://imgs.xkcd.com/comics/pandora.png" alt="What? Oh, no, the 'Enchanted' soundtrack was just playing because Pandora's algorithms are terrible. [silence] ... (quietly) That's how you knooooooow ..." width="427" height="250" /></a><p class="wp-caption-text">BD de xkcd</p></div>C&#8217;est sur xkcd, mais ça pourrait être ailleurs. C&#8217;est rien de très spécial, mais ça me donne à penser à ce qu&#8217;est le vrai web social, en ce moment. Surtout si on sort de <a href="http://enkerli.wordpress.com/2008/03/03/the-geek-niche-draft/">la niche geek</a>.</p>
<p>Donc&#8230;</p>
<ul>
<li>Je vois le <a href="http://xkcd.com/668/">dernier xkcd</a>.</li>
<li>Ça me fait réagir.</li>
<li>Je veux répondre.</li>
<li>Je sais qu&#8217;il y a des <a href="http://forums.xkcd.com/viewforum.php?f=7&#38;sid=62de0d5ae8ebca31c4e70a907ff705b8">forums pour accompagner ces bande dessinées</a>.</li>
<li>Je vais sur le forum <a href="http://forums.xkcd.com/viewtopic.php?f=7&#38;t=50468">lié à celui-ci</a> (déjà quelques clics et il fallait que je connaisse l&#8217;existence de tout ça).</li>
<li>J&#8217;appuie sur Post Reply</li>
<li>Ça me demande de m&#8217;identifier.</li>
<li>Comme je crois avoir déjà envoyé quelque-chose là, je me branche avec mon username habituel.</li>
<li>Ah, mauvais mdp.</li>
<li>Je fais &#8220;forget pw&#8221;.</li>
<li>Oups! J&#8217;avais pas de compte avec mon adresse gmail (faut que ça soit la bonne combinaison donc, si je me rappelle pas de mon username, ça marche pas).</li>
<li>Je me crée un nouveau profil.</li>
<li>Le <a href="http://fr.wikipedia.org/wiki/Captcha">captcha</a> est illisible, ça me prend plusieurs tentatives.</li>
<li>Faut que j&#8217;aille sur mon compte gmail activer mon compte sur les forums xkcd.</li>
<li>Une fois que c&#8217;est fait, je me retrouve à la page d&#8217;accueil des forums (pas à la page où j&#8217;essaie d&#8217;envoyer ma réponse).</li>
<li>Je retrouve la page que je voulais.</li>
<li>J&#8217;appuie sur Post Reply.</li>
<li>J&#8217;écris ma réponse et je l&#8217;envoie.</li>
<li>Évidemment, mon profil est vierge.</li>
<li>Je vais modifier ça.</li>
<li>Ça commence par mon numéro ICQ?? Eh bé!</li>
<li>Plus bas, je vois des champs pour Website et Interests. Je remplis ça rapidement, en pensant au plus générique.</li>
<li>Il y a aussi ma date de fête. Pas moyen de contrôler qui la voit, etc. Je l&#8217;ajoute pas.</li>
<li>J&#8217;enregistre les autres modifications.</li>
<li>Et j&#8217;essaie de changer mon avatar.</li>
<li>Il y a pas de bouton pour uploader.</li>
<li>Ça passe par une Gallery, mais il y a rien dedans.</li>
<li>Je laisse tomber, même si je sais bien que les geeks de xkcd sont du genre à rire de toi si t&#8217;as un profil générique.</li>
<li>Je quitte le site un peu frustré, sans vraiment avoir l&#8217;impression que je vais pouvoir commencer une conversation là-dessus.</li>
</ul>
<p>Deuxième scénario.</p>
<p>J&#8217;arrive sur un site qui supporte <a href="http://disqus.com/">Disqus</a> (par exemple <a href="http://mashable.com/2009/11/27/apple-black-friday-event/">Mashable</a>).</p>
<ul>
<li>Je peux envoyer un commentaire en tant que guest.</li>
</ul>
<blockquote><p>You are commenting as a <a href="http://mashable.com/2009/11/27/apple-black-friday-event/#" target="_blank">Guest</a>. Optional: Login below.</p></blockquote>
<p>Donc, si je veux seulement laisser un commentaire anonyme, c&#8217;est tout ce que j&#8217;ai à faire. «Merci, bonsoir!»</p>
<p>Même sans me brancher, je peux faire des choses avec les commentaires déjà présents (Like, Reply).</p>
<p>Mais je peux aussi me brancher avec mes profils <a href="http://disqus.com/enkerli/">Disqus</a>, <a href="http://www.facebook.com/enkerli">Facebook</a> (avec <a href="http://developers.facebook.com/connect.php">Facebook Connect</a>), ou <a href="http://twitter.com/enkerli">Twitter</a> (avec <a href="http://oauth.net/">OAuth</a>). Dans chaque cas, si je suis déjà branché sur ce compte dans mon browser, j&#8217;ai juste à cliquer pour autoriser l&#8217;accès. Même si je suis pas déjà branché, je peux m&#8217;identifier directement sur chaque site.</p>
<p>Après l&#8217;identification, je reviens tout de suite à la page où j&#8217;étais. Mon avatar s&#8217;affiche mais je peux le changer. Je peux aussi changer mon username, mais il est déjà inscrit. Mon avatar et mon nom sont liés à un <a href="http://disqus.com/enkerli/">profil assez complet</a>, qui inclut mes derniers commentaires sur des sites qui supportent Disqus.</p>
<p>Sur le site où je commente, il y a une petite boîte avec un résumé de mon profil qui inclut un décompte des commentaires, le nombre de commentaires que j&#8217;ai indiqué comme &#8220;likes&#8221; et des points que j&#8217;ai acquis.</p>
<p>Je peux envoyer mon commentaire sur Twitter et sur Facebook en même temps. Je peux décider de recevoir des notices par courriel ou de m&#8217;abonner au RSS. Je vois tout de suite quel compte j&#8217;utilise (Post as&#8230;) et je peux changer de compte si je veux (personnel et pro, par exemple). Une fois que j&#8217;envoie mon commentaire, les autres visiteurs du site peuvent voir plus d&#8217;infos sur moi en passant avec la souris au-dessus de mon avatar et ils peuvent cliquer et avoir un dialogue modal avec un résumé de mon compte. Ce résumé mène évidemment sur le profil complet. Depuis le profil complet, les gens peuvent suivre mes commentaires ou explorer divers aspects de ma vie en-ligne.</p>
<p>Suite à mon commentaire, les gens peuvent aussi me répondre directement, de façon anonyme ou identifiée.</p>
<p>J&#8217;ai donc un profil riche en deux clics, avec beaucoup de flexibilité. Il y a donc un contexte personnel à mon commentaire.</p>
<p>L&#8217;aspect social est intéressant. Mon commentaire est identifié par mon profil et je suis identifié par mes commentaires. D&#8217;ailleurs, la plupart des avatars sur Mashable sont des vraies photos (ou des avatars génériques) alors que sur le forum xkcd, c&#8217;est surtout des avatars «conceptuels».</p>
<p>Ce que xkcd propose est plus proche du &#8220;in-group&#8221;. Les initiés ont déjà leurs comptes. Ils sont &#8220;in the know&#8221;. Ils ont certaines habitudes. Leurs signatures sont reconnaissables. L&#8217;auteur de la bd connaît probablement leurs profils de ses «vrais fans». Ces gens peuvent citer à peu près tout ce qui a été envoyé sur le site. D&#8217;ailleurs, ils comprennent toutes les blagues de la bd, ils ont les références nécessaires pour savoir de quoi l&#8217;auteur parle, que ça soit de mathématiques ou de science-fiction. Ils sont les premiers à envoyer des commentaires parce qu&#8217;ils savent à quel moment une nouvelle bd est envoyée. En fait, aller regarder une bd xkcd, ça fait partie de leur routine. Ils sont morts de rire à l&#8217;idée que certains ne savent pas encore que les vraies blagues xkcd sont dans les alt-text. Ils se font des inside-jokes en tout genre et se connaissent entre eux.</p>
<p>En ce sens, ils forment une «communauté». C&#8217;est un groupe ouvert mais il y a plusieurs processus d&#8217;exclusion qui sont en action à tout moment. Pour être accepté dans ce genre de groupe, faut faire sa place.</p>
<p>&#160;</p>
<p>Les sites qui utilisent Disqus ont une toute autre structure. N&#8217;importe qui peut commenter n&#8217;importe quoi, même de façon anonyme. Ceux qui ne sont pas anonymes utilisent un profil consolidé, qui dit «voici ma persona de web social» (s&#8217;ils en ont plusieurs, ils présentent le masque qu&#8217;ils veulent présenter). En envoyant un commentaire sur Mashable, par exemple, ils ne s&#8217;impliquent pas vraiment. Ils construisent surtout leurs identités, regroupent leurs idées sur divers sujets. Ça se rapproche malgré tout de la notion de self-branding qui préoccupe tant des gens comme <a href="http://isabellelopez.com/">Isabelle Lopez</a>, même si les réactions sont fortes contre l&#8217;idée de &#8220;branding&#8221;, dans la sphère du web social montréalaisn (la YulMob). Les conversations entre utilisateurs peuvent avoir lieu à travers divers sites. «Ah oui, je me rappelle d&#8217;elle sur tel autre blogue, je la suis déjà sur Twitter&#8230;». Il n&#8217;y a pas d&#8217;allégeance spécifique au site.</p>
<p>Bien sûr, il peut bien y avoir des initiées sur un site particulier. Surtout si les gens commencent à se connaître et qu&#8217;ils répondent aux commentaires de l&#8217;un et de l&#8217;autre. En fait, il peut même y avoir une petite «cabale» qui décide de prendre possession des commentaires sur certains sites. Mais, contrairement à xkcd (ou <a href="http://fr.wikipedia.org/wiki/4chan">4chan</a>!), ça se passe en plein jour, mis en évidence. C&#8217;est plus &#8220;mainstream&#8221;.</p>
<p>Ok, je divague peut-être un peu. Mais ça me remet dans le bain, avant de faire mes présentations <a href="http://yulcamp.org">Yul</a>- et <a href="http://quebec.identitycamp.org/identite/identitycamp-8-decembre-identites-sociales/">Identity</a>Camp.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Vanaf vandaag kunnen ontwikkelaars LinkedIn integreren in applicaties en websites.]]></title>
<link>http://zosociaal.wordpress.com/2009/11/24/vanaf-vandaag-kunnen-ontwikkelaars-linkedin-integreren-in-applicaties-en-websites/</link>
<pubDate>Tue, 24 Nov 2009 08:00:37 +0000</pubDate>
<dc:creator>remcovrOOm</dc:creator>
<guid>http://zosociaal.wordpress.com/2009/11/24/vanaf-vandaag-kunnen-ontwikkelaars-linkedin-integreren-in-applicaties-en-websites/</guid>
<description><![CDATA[via: blog Linkedin Over fifty million users entrust their professional identities and relationships ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><div>
<p>via: blog Linkedin</p>
<p>Over fifty million users entrust their professional identities and relationships with LinkedIn, helping build LinkedIn into the largest global professional network today. However, professionals around the world use a wide variety of applications and Web sites to get their work done, and they have spoken loud and clear that they want the ability to leverage their professional networks wherever they work.</p>
<p>Starting today, developers worldwide can integrate LinkedIn into their business applications and Web sites.  <a href="http://developer.linkedin.com/" target="_blank">Developer.linkedin.com</a> is now <strong>live </strong>and open for business.</p>
<p><a href="http://developer.linkedin.com/" target="_blank"><img title="LinkedIn Developer Network Site " src="http://linkedin.files.wordpress.com/2009/11/linkedin-developer-network.png?w=520&#038;h=558#38;h=558" alt="LinkedIn launches the LinkedIn Developer Network Site " width="520" height="558" /></a><!--more--></p>
<h2>The evolution of the LinkedIn Platform</h2>
<p>Over the past months, LinkedIn has supported integrations with some of the most prominent and critical software applications in the enterprise. Partnerships with companies like <a href="http://blog.linkedin.com/2009/01/19/linkedin-and-lotus-partner-to-improve-enterprise-software/" target="_blank">IBM</a>, <a href="http://blog.linkedin.com/2009/11/09/adam-nash-coming-soon-linkedin-for-blackberry/" target="_blank">Blackberry</a> (Research in Motion), and most recently <a href="http://blog.linkedin.com/2009/11/18/linkedin-microsoft-outlook-connector/" target="_blank">Microsoft</a>, have given us time to invest in both functionality and scalability of the platform.</p>
<blockquote>
<h1>S</h1>
<p>oftware is moving to the cloud, and business applications need context for who people are and how they are related. LinkedIn now is the obvious choice as a provider for those services. It is hard to imagine a business application that would not benefit from LinkedIn integration.”</p>
<p>– <a href="http://www.linkedin.com/pub/roger-neal/2/725/338" target="_blank">Roger Neal</a>, SVP/GM at BusinessWeek Digital, McGraw-Hill</p></blockquote>
<p>At LinkedIn, we have always believed that business applications are better when they are built over a platform of professional reputation and relationships. In real life, our most valuable professional assets are the skills and experience we acquire and the trusted relationships we build. It’s not surprising that business software becomes more productive and valuable when it is built over these services.</p>
<h2>How can I start developing for the LinkedIn Platform today?</h2>
<p>Registering as a LinkedIn developer is as simple as filling out a form on <a href="http://developer.linkedin.com/" target="_blank">developer.linkedin.com</a>. The LinkedIn platform leverages the open OAuth standard to make integrations from almost any language and development environment as simple as possible.</p>
<blockquote>
<h1>W</h1>
<p>hat a breath of fresh air.  We were able to go to <a href="http://developer.linkedin.com/" target="_blank">http://developer.linkedin.com</a>, request a key, and actually write functioning code in less than 15 minutes. It’s amazing to have access to such a powerful platform on tap at any time.”</p>
<p>– <a href="http://uk.linkedin.com/in/iaindodsworth" target="_blank">Iain Dodsworth</a>, Founder and CEO of TweetDeck</p></blockquote>
<p>A number of developers who have helped provide us with feedback and guidance in our development will be announcing integrations in the coming weeks. For example, <a href="http://blog.tweetdeck.com/coming-soon-bring-your-linkedin-network-to-tw-0" target="_blank">TweetDeck is announcing</a> full support for the LinkedIn platform in its next version. Now you can easily view or take action on your LinkedIn network updates from within TweetDeck, with the full integration of the LinkedIn profile information of the person who posted the update.</p>
<p>This is the beginning of a new set of opportunities for the LinkedIn platform, and we look forward to seeing the integrations that developers will launch in the coming weeks and months.</p>
<p>Stay tuned for additional enhancements over during the coming months as we learn and grow this platform together.</p>
</div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[LinkedIn Platform: Open for Business]]></title>
<link>http://blog.linkedin.com/2009/11/23/linkedin-platform-launch/</link>
<pubDate>Mon, 23 Nov 2009 17:00:06 +0000</pubDate>
<dc:creator>Adam Nash</dc:creator>
<guid>http://blog.linkedin.com/2009/11/23/linkedin-platform-launch/</guid>
<description><![CDATA[Over fifty million users entrust their professional identities and relationships with LinkedIn, help]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Over fifty million users entrust their professional identities and relationships with LinkedIn, helping build LinkedIn into the largest global professional network today.  However, professionals around the world use a wide variety of applications and Web sites to get their work done, and they have spoken loud and clear that they want the ability to leverage their professional networks wherever they work.</p>
<p>Starting today, developers worldwide can integrate LinkedIn into their business applications and Web sites.  <a href="http://developer.linkedin.com/" target="_blank">Developer.linkedin.com</a> is now <strong>live </strong>and open for business.</p>
<p style="text-align:center;"><a href="http://developer.linkedin.com/" target="_blank"><img class="size-full wp-image-3486 aligncenter" style="border:1px solid black;margin-top:1px;margin-bottom:1px;" title="LinkedIn Developer Network Site " src="http://linkedin.wordpress.com/files/2009/11/linkedin-developer-network.png" alt="LinkedIn launches the LinkedIn Developer Network Site " width="520" height="558" /></a></p>
<h2 style="font-size:15px;color:#333;">The evolution of the LinkedIn Platform</h2>
<p style="margin-top:.3em;">Over the past months, LinkedIn has supported integrations with some of the most prominent and critical software applications in the enterprise.  Partnerships with companies like <a href="http://blog.linkedin.com/2009/01/19/linkedin-and-lotus-partner-to-improve-enterprise-software/" target="_blank">IBM</a>, <a href="http://blog.linkedin.com/2009/11/09/adam-nash-coming-soon-linkedin-for-blackberry/" target="_blank">Blackberry</a> (Research in Motion), and most recently <a href="http://blog.linkedin.com/2009/11/18/linkedin-microsoft-outlook-connector/" target="_blank">Microsoft</a>, have given us time to invest in both functionality and scalability of the platform.</p>
<blockquote>
<h1 style="font-size:36px;color:#069;font-family:cursive;display:inline;line-height:.6em;">S</h1>
<p style="display:inline;margin-left:-2px;">oftware is moving to the cloud, and business applications need context for who people are and how they are related.  LinkedIn now is the obvious choice as a provider for those services.  It is hard to imagine a business application that would not benefit from LinkedIn integration.”</p>
<p style="margin-top:5px;">– <a href="http://www.linkedin.com/pub/roger-neal/2/725/338" target="_blank">Roger Neal</a>, SVP/GM at BusinessWeek Digital, McGraw-Hill</p>
</blockquote>
<p>At LinkedIn, we have always believed that business applications are better when they are built over a platform of professional reputation and relationships.  In real life, our most valuable professional assets are the skills and experience we acquire and the trusted relationships we build.  It’s not surprising that business software becomes more productive and valuable when it is built over these services.</p>
<h2 style="font-size:15px;color:#333;">How can I start developing for the LinkedIn Platform today?</h2>
<p style="margin-top:.3em;">Registering as a LinkedIn developer is as simple as filling out a form on <a href="http://developer.linkedin.com/" target="_blank">developer.linkedin.com</a>.  The LinkedIn platform leverages the open OAuth standard to make integrations from almost any language and development environment as simple as possible.</p>
<blockquote>
<h1 style="font-size:36px;color:#069;font-family:cursive;display:inline;line-height:.6em;">W</h1>
<p style="display:inline;margin-left:-2px;">hat a breath of fresh air.  We were able to go to <a href="http://developer.linkedin.com" target="_blank">http://developer.linkedin.com</a>, request a key, and actually write functioning code in less than 15 minutes.  It’s amazing to have access to such a powerful platform on tap at any time.”</p>
<p style="margin-top:5px;">– <a href="http://uk.linkedin.com/in/iaindodsworth" target="_blank">Iain Dodsworth</a>, Founder and CEO of TweetDeck</p>
</blockquote>
<p>A number of developers who have helped provide us with feedback and guidance in our development will be announcing integrations in the coming weeks.  For example, <a href="http://blog.tweetdeck.com/coming-soon-bring-your-linkedin-network-to-tw-0" target="_blank">TweetDeck is announcing</a> full support for the LinkedIn platform in its next version.  Now you can easily view or take action on your LinkedIn network updates from within TweetDeck, with the full integration of the LinkedIn profile information of the person who posted the update.</p>
<p>This is the beginning of a new set of opportunities for the LinkedIn platform, and we look forward to seeing the integrations that developers will launch in the coming weeks and months.</p>
<p>Stay tuned for additional enhancements over during the coming months as we learn and grow this platform together.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[David Recordon, "Supporting the Open Web" (MP3 audio), O'Reilly Media Open Source Conference, IT Conversations, 2008/07/24]]></title>
<link>http://daviding.wordpress.com/2009/11/21/david-recordon-supporting-the-open-web-mp3-audio-oreilly-media-open-source-conference-it-conversations-20080724/</link>
<pubDate>Sat, 21 Nov 2009 20:04:34 +0000</pubDate>
<dc:creator>daviding</dc:creator>
<guid>http://daviding.wordpress.com/2009/11/21/david-recordon-supporting-the-open-web-mp3-audio-oreilly-media-open-source-conference-it-conversations-20080724/</guid>
<description><![CDATA[The Internet is based on open data, based on open standards and open specifications to enable conver]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>The Internet is based on open data, based on open standards and open specifications to enable conversations.<br />
<img src="http://assets.conversationsnetwork.org/showimages/3969.jpg" alt="" align="left" /></p>
<blockquote cite="http://itc.conversationsnetwork.org/shows/detail3969.html"><p>For the web, the conversation has turned from open source to the data and markup behind it. Data is becoming as important as source. An open web needs open data coming from open specifications. Three major specifications have been created, all from different backgrounds – OpenID, OAuth, and OpenSocial. They share a lot of the same goals and views, but have been created ad hoc with no overarching community that transcends the projects.</p>
<p>David Recordon announces the start of the Open Web Foundation. Modeled after the Apache Software Foundation, the Open Web Foundation’s goal is to do for specifications what open source has done in its arena, building open community for incubation, licensing, copyright. Impressive support for the Open Web Foundation has come from companies such as Yahoo, Facebook, Plaxo and many more who want to continue to build the web on open standards.</p></blockquote>
<p><cite><a href="http://itc.conversationsnetwork.org/shows/detail3969.html">IT Conversations &#124; O&#8217;Reilly Media Open Source Conference &#124; David Recordon (Free Podcast)</a></cite></p>
<p><a href="http://itc.conversationsnetwork.org/audio/download/ITC.oscon-Recordon-2008.07.24.mp3">MP3 audio </a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Sales Leads from Twitter Straight to Social CRM]]></title>
<link>http://chrisabutler.wordpress.com/2009/11/20/sales-leads-from-twitter-straight-to-social-crm/</link>
<pubDate>Fri, 20 Nov 2009 16:46:10 +0000</pubDate>
<dc:creator>Chris Butler</dc:creator>
<guid>http://chrisabutler.wordpress.com/2009/11/20/sales-leads-from-twitter-straight-to-social-crm/</guid>
<description><![CDATA[I don&#8217;t often get this excited but it has been a very exciting day so far! Today we launched t]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>I don&#8217;t often get this excited but it has been a very exciting day so far!</p>
<p><a href="http://chrisabutler.wordpress.com/files/2009/11/twitter-logo.jpeg"><img class="alignleft size-full wp-image-65" title="twitter-logo" src="http://chrisabutler.wordpress.com/files/2009/11/twitter-logo.jpeg" alt="Twitter Logo" height="24" width="100"></a>Today we launched the live public BETA of our Twitter Sales Leads tool set within WeCanDo.Biz.&#160; The buzz that this seems to have created had far exceeded our expectations which is fantastic.</p>
<p>What has really excited me though are the sheer number of people using the tool in its BETA form and writing some wonderful things about it:</p>
<p><em>&#8220;Just checked it out and i have to say its brilliant, you simply add keywords and it lists all twitter posts that are related to or contain your chosen keywords&#8221; (G. Lasagne, <a href="http://www.ukbusinessforums.co.uk" target="_blank">UK Business Forums</a>)</em></p>
<p><em>&#8220;Software that does this for me will be a huge <img title="Smile" src="http://www.ukbusinessforums.co.uk/forums/images/smilies/smile.gif" alt="" border="0"> from me&#8221; (Adventurelife, <a href="http://www.ukbusinessforums.co.uk" target="_blank">UK Business Forums</a>)<!--more--></em></p>
<p>I could go cite many more but what these guys are saying totally vindicates the work we have been doing.&#160; Thank you <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>The reason we have done this is to add to the core purpose of WeCanDo.BIZ, the ability to find real sales leads via people&#8217;s published <a href="https://www.wecando.biz/sales_leads.php?tab=2" target="_blank">Biz Needs</a> and take them straight&#160; into <a title="WeCanDoCRM Social CRM on the WeCanDo.BIZ website" href="http://www.wecando.biz/crm.php" target="_blank">WeCanDoCRM Social CRM </a></p>
<p>We think this is pretty cool and we hope you do too.&#160; We would very much appreciate your help in testing our new tool and hope you take a look . New users to WeCanDo.BIZ are able to sign straight in using their Twitter identity through Twitter OAuth so there is not even the often messy and time-consuming registration process that many sites still use.</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>We have made the&#160; <a title="Twitter Sales Leads tool on the WeCanDo.BIZ website" href="http://www.wecando.biz/sales_leads.php?tab=1" target="_blank">Twitter Sales Leads tool</a> available to our <a title="Membership level details on the WeCanDo.BIZ website" href="http://www.wecando.biz/upgrade.php" target="_blank">Business and Pro Networker</a> members to enable them to see how the final version will work.&#160; We are due to release that final version next week.</p>
<p>BETA means it is still in test and not all features are yet there: missing is the ability to create a sales leads in <a title="WeCanDoCRM Social CRM on the WeCanDo.BIZ website" href="http://www.wecando.biz/crm.php" target="_blank">WeCanDoCRM Social CRM</a> to track the progress of the Twitter sales leads you find.</p>
<p>As it stands though, the BETA version is locating prospective customers for your products and services on Twitter by searching on your company keywords (as entered when you added your <a title="Your Business profile on the WeCanDo.BIZ website" href="http://www.wecando.biz/reg_busi.php" target="_blank">Business profile</a>).</p>
<p><a href="http://wecandobiz.files.wordpress.com/2009/11/twitter-sales-leads-tool.jpg"><img title="Twitter Sales Leads tool (click to enlarge)" src="http://wecandobiz.files.wordpress.com/2009/11/twitter-sales-leads-tool.jpg?w=300&#038;h=230#38;h=230" alt="Twitter Sales Leads tool (click to enlarge)" height="230" width="300"></a></p>
<p><a title="Twitter Sales Leads on the WeCanDo.BIZ website" href="http://www.wecando.biz/sales_leads.php?tab=1" target="_blank">&#62;&#62; TRY IT OUT FREE HERE! &#60;&#60;</a><br />
<a href="http://del.icio.us/post?url=http://chrisabutler.wordpress.com/2009/11/20/sales-leads-from-twitter-straight-to-social-crm/;title=Sales+Leads+from+Twitter+Straight+to+Social+CRM"><img src="http://sunburntkamel.wordpress.com/files/2006/11/delicious.gif" alt="add to del.icio.us" title="del.icio.us:Sales+Leads+from+Twitter+Straight+to+Social+CRM"></a> :: <a href="http://www.blinklist.com/index.php?Action=Blink/addblink.php&#38;Description=&#38;Url=http://chrisabutler.wordpress.com/2009/11/20/sales-leads-from-twitter-straight-to-social-crm/;Title=Sales+Leads+from+Twitter+Straight+to+Social+CRM"><img src="http://sunburntkamel.wordpress.com/files/2006/11/blinklist.gif" alt="Add to Blinkslist" title="blinklist:Sales+Leads+from+Twitter+Straight+to+Social+CRM"></a> :: <a href="http://www.furl.net/storeIt.jsp?u=http://chrisabutler.wordpress.com/2009/11/20/sales-leads-from-twitter-straight-to-social-crm/;t=Sales+Leads+from+Twitter+Straight+to+Social+CRM"><img src="http://sunburntkamel.wordpress.com/files/2006/11/furl.gif" alt="add to furl" title="furl:Sales+Leads+from+Twitter+Straight+to+Social+CRM"></a> :: <a href="http://digg.com/submit?phase=2&#38;url=http://chrisabutler.wordpress.com/2009/11/20/sales-leads-from-twitter-straight-to-social-crm/"><img src="http://sunburntkamel.wordpress.com/files/2006/11/digg.gif" alt="Digg it" title="Digg it:Sales+Leads+from+Twitter+Straight+to+Social+CRM"></a> :: <a href="http://ma.gnolia.com/bookmarklet/add?url=http://chrisabutler.wordpress.com/2009/11/20/sales-leads-from-twitter-straight-to-social-crm/;title=Sales+Leads+from+Twitter+Straight+to+Social+CRM"><img src="http://sunburntkamel.wordpress.com/files/2006/11/magnolia.gif" alt="add to ma.gnolia" title="ma.gnolia:Sales+Leads+from+Twitter+Straight+to+Social+CRM"></a> :: <a href="http://www.stumbleupon.com/submit?url=http://chrisabutler.wordpress.com/2009/11/20/sales-leads-from-twitter-straight-to-social-crm/&#38;title=Sales+Leads+from+Twitter+Straight+to+Social+CRM"><img src="http://sunburntkamel.wordpress.com/files/2006/11/stumbleit.gif" alt="Stumble It!" title="Stumble it:Sales+Leads+from+Twitter+Straight+to+Social+CRM"></a> :: <a href="http://www.simpy.com/simpy/LinkAdd.do?url=http://chrisabutler.wordpress.com/2009/11/20/sales-leads-from-twitter-straight-to-social-crm/;title=Sales+Leads+from+Twitter+Straight+to+Social+CRM"><img src="http://sunburntkamel.wordpress.com/files/2006/11/simpy.png" alt="add to simpy" title="simpy:Sales+Leads+from+Twitter+Straight+to+Social+CRM"></a> :: <a href="http://www.newsvine.com/_tools/seed&#38;save?url=http://chrisabutler.wordpress.com/2009/11/20/sales-leads-from-twitter-straight-to-social-crm/;title=Sales+Leads+from+Twitter+Straight+to+Social+CRM"><img src="http://sunburntkamel.wordpress.com/files/2006/11/newsvine.gif" alt="seed the vine" title="newsvine:Sales+Leads+from+Twitter+Straight+to+Social+CRM"></a> :: <a href="http://reddit.com/submit?url=http://chrisabutler.wordpress.com/2009/11/20/sales-leads-from-twitter-straight-to-social-crm/;title=Sales+Leads+from+Twitter+Straight+to+Social+CRM"><img src="http://sunburntkamel.wordpress.com/files/2006/11/reddit.gif" title="reddit:Sales+Leads+from+Twitter+Straight+to+Social+CRM"></a> :: <a href="http://cgi.fark.com/cgi/fark/edit.pl?new_url=http://chrisabutler.wordpress.com/2009/11/20/sales-leads-from-twitter-straight-to-social-crm/;new_comment=Sales+Leads+from+Twitter+Straight+to+Social+CRM"><img src="http://sunburntkamel.wordpress.com/files/2006/11/fark.png" title="fark:Sales+Leads+from+Twitter+Straight+to+Social+CRM"></a> :: <a href="http://tailrank.com/share/?text=&#38;link_href=http://chrisabutler.wordpress.com/2009/11/20/sales-leads-from-twitter-straight-to-social-crm/&#38;title=Sales+Leads+from+Twitter+Straight+to+Social+CRM" title="TailRank"><img src="http://sunburntkamel.wordpress.com/files/2006/11/tailrank.gif" alt="TailRank"></a> :: <a href="http://www.facebook.com/sharer.php?u=http://chrisabutler.wordpress.com/2009/11/20/sales-leads-from-twitter-straight-to-social-crm/&#38;t=Sales+Leads+from+Twitter+Straight+to+Social+CRM"><img src="http://sunburntkamel.wordpress.com/files/2008/02/facebookcom.gif" alt="post to facebook" title="facebook:Sales+Leads+from+Twitter+Straight+to+Social+CRM"></a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[email IMAP &amp; Twitter Oauth support]]></title>
<link>http://blog.threadsy.com/2009/11/18/email-imap-twitter-oauth-support/</link>
<pubDate>Wed, 18 Nov 2009 23:30:59 +0000</pubDate>
<dc:creator>threadsy</dc:creator>
<guid>http://blog.threadsy.com/2009/11/18/email-imap-twitter-oauth-support/</guid>
<description><![CDATA[Today we released 2 major enhancements that will help you pull yourself together with threadsy even ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><a class="homeLink" href="http://threadsy.wordpress.com"></a><br />
Today we released 2 major enhancements that will help you pull yourself together with threadsy even more.</p>
<p></a><strong>Additional email address support with IMAP</strong><br />
<img src="http://threadsy.wordpress.com/files/2009/11/imap2.png" alt="" title="imap2" width="150" height="158" class="alignleft size-full wp-image-339" />As of today, you can add any email address that supports IMAP to threadsy.  IMAP is the standard protocol for reading your email online from any computer.  </p>
<p>So in addition to Gmail, Yahoo, Hotmail, and AOL, you can now check your school, work, and other email addresses directly in threadsy.  If you don’t know if your email accounts support IMAP, check with your email provider.  </p>
<p><code><br /></code><br />
<strong><em>How to add an IMAP account</em></strong><br />
If you’re an existing threadsy user, go to ‘settings’ and in the email accounts tab, type your full email address and password and click ‘add’. </p>
<p><a href="http://threadsy.wordpress.com/files/2009/11/imap-step11.png"><img src="http://threadsy.wordpress.com/files/2009/11/imap-step11.png" alt="" title="imap-step1" width="455" height="172" class="size-full wp-image-356" /></a></p>
<p>threadsy will try to add your email address automatically, but if it fails to recognize it, you’ll see this:</p>
<p><a href="http://threadsy.wordpress.com/files/2009/11/imap-step21.png"><img src="http://threadsy.wordpress.com/files/2009/11/imap-step21.png" alt="" title="imap-step2" width="455" height="52" class="size-full wp-image-357" /></a></p>
<p>Click ‘yes’ and then you’ll see the IMAP settings page.  threadsy puts in some default settings for you to try.  If these don’t work, you’ll need to type in the proper settings.  Ask your email service provider for the right settings.</p>
<p><a href="http://threadsy.wordpress.com/files/2009/11/imap-step31.png"><img src="http://threadsy.wordpress.com/files/2009/11/imap-step31.png" alt="" title="imap-step3" width="455" height="239" class="size-full wp-image-359" /></a></p>
<p><code></p>
<p></code><br />
<strong>Twitter Oauth support</strong><br />
<img src="http://threadsy.wordpress.com/files/2009/11/twitter-oauth-bird.jpg" alt="" title="twitter-oauth-bird" width="150" height="140" class="alignleft size-full wp-image-414" />As many of you requested, today we added support for twitter&#8217;s recommended Oauth access.  <a href="http://oauth.net/">Oauth</a> is twitter&#8217;s secure method of signing into your account that doesn’t require threadsy to store your twitter passwords.  An added benefit is improved stability with threadsy – no more annoying login popups like some of you’ve experienced.</p>
<p><code><br /></code><br />
<strong><em>Switching to Twitter Oauth (existing users only)</em></strong><br />
All existing threadsy users will be required to reauthorize their Twitter accounts the next time they log in to threadsy.  You must reauthorize each twitter account you previously added to threadsy.  If you choose not to reauthorize an account, it will be removed from threadsy.  You can always add it back in &#8217;settings&#8217;</p>
<p><code><br /></code><br />
<strong>Also: improved settings</strong><br />
New today, an extensive overhaul to the threadsy settings page to make it much easier to use.  Now it’s divided into 3 sections:  email accounts, social network accounts (Facebook and Twitter), and general.  Note that we’ve moved the sound on/off control to the general tab.  </p>
<p><a href="http://threadsy.wordpress.com/files/2009/11/settings.png"><img src="http://threadsy.wordpress.com/files/2009/11/settings.png" alt="" title="settings" width="455" height="238" class="size-full wp-image-348" /></a></p>
<p>We’ve also rolled out these changes to the sign up, so when you invite your friends to threadsy, it will be even easier for them to &#8216;pull themselves together.&#8217;  And yes, invite friends feature coming soon!</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Gadgets on Confluence wiki pages - oh, and in JIRA and iGoogle]]></title>
<link>http://ffeathers.wordpress.com/2009/11/12/gadgets-on-confluence-wiki-pages-oh-and-in-jira-and-igoogle/</link>
<pubDate>Thu, 12 Nov 2009 02:16:12 +0000</pubDate>
<dc:creator>ffeathers</dc:creator>
<guid>http://ffeathers.wordpress.com/2009/11/12/gadgets-on-confluence-wiki-pages-oh-and-in-jira-and-igoogle/</guid>
<description><![CDATA[A beta version of the next Confluence release is out. And guess what &#8212; it&#8217;s got gadgets.]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><em><strong>A beta version of the next <a title="Confluence wiki" href="http://www.atlassian.com/software/confluence" target="_blank">Confluence</a> release is out. And guess what &#8212; it&#8217;s got gadgets. This is pretty cool, so I&#8217;m jumping the gun and telling you about it right now.<br />
</strong></em></p>
<p>It&#8217;s still just a <strong>beta</strong> release: Confluence 3.1 Open Beta. The announcement is on the <a title="Atlassian News Blog" href="http://blogs.atlassian.com/confluence/2009/11/confluence-31-beta-is-here-we-want-your-feedback.html" target="_blank">Atlassian News Blog</a>, along with an invitation to try it out. So I got myself a copy and put some gadgets onto a wiki page.</p>
<p>Now, the gadgets I chose are perhaps not the most useful. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  The most usual business case would be to add gadgets published by other Atlassian applications. For example, you might want to add a gadget that displays some information from another Confluence site or from  <a title="JIRA bug tracker" href="http://www.atlassian.com/software/jira" target="_blank">JIRA</a>, <a title="Bamboo" href="http://www.atlassian.com/software/bamboo" target="_blank">Bamboo</a>, <a title="FishEye" href="http://www.atlassian.com/software/fisheye" target="_blank">FishEye</a> or <a title="Crucible" href="http://www.atlassian.com/software/crucible" target="_blank">Crucible</a>. (Those are other applications developed by Atlassian, the company I work for.)</p>
<p>But for me, the fun bit is that I can add the gadget that I created and <a rel="nofollow" href="../2009/02/28/gadgets-widgets-wikis-what-next/" target="_blank">blogged about</a> 8 months ago.</p>
<h3><span style="color:#800080;">The same 2 gadgets in 3 different applications</span></h3>
<p>Here&#8217;s a screenshot of a Confluence wiki page with two gadgets. One is mine, displaying an up-to-date list of recent blog posts about technical writing from <a title="WordPress.com" href="http://wordpress.com" target="_blank">WordPress.com</a>. The other gadget was created by <a title="Donna on Twitter" href="http://twitter.com/dmcgahan" target="_blank">Donna</a>, our support diva, showing recent entries in a Jive discussion forum. (<em>Click the image to enlarge it.</em>)</p>
<div id="attachment_1066" class="wp-caption alignnone" style="width: 260px"><a href="http://ffeathers.wordpress.com/files/2009/11/gadgetsinconfluence1.png" target="_blank"><img class="size-medium wp-image-1066" title="Gadgets on Confluence wiki pages - oh, and in JIRA and iGoogle" src="http://ffeathers.wordpress.com/files/2009/11/gadgetsinconfluence1.png?w=250" alt="Gadgets on Confluence wiki pages - oh, and in JIRA and iGoogle" width="250" height="300" /></a><p class="wp-caption-text">Gadgets on Confluence wiki pages - oh, and in JIRA and iGoogle</p></div>
<p>Here are the same two gadgets on my iGoogle page:</p>
<div id="attachment_1067" class="wp-caption alignnone" style="width: 260px"><a href="http://ffeathers.wordpress.com/files/2009/11/gadgetsinigoogle.png" target="_blank"><img class="size-medium wp-image-1067" title="Gadgets on Confluence wiki pages - oh, and in JIRA and iGoogle" src="http://ffeathers.wordpress.com/files/2009/11/gadgetsinigoogle.png?w=250" alt="Gadgets on Confluence wiki pages - oh, and in JIRA and iGoogle" width="250" height="300" /></a><p class="wp-caption-text">Gadgets on Confluence wiki pages - oh, and in JIRA and iGoogle</p></div>
<p>And here they are in JIRA:</p>
<div id="attachment_1068" class="wp-caption alignnone" style="width: 255px"><a href="http://ffeathers.wordpress.com/files/2009/11/gadgetsinjira.png" target="_blank"><img class="size-medium wp-image-1068" title="Gadgets on Confluence wiki pages - oh, and in JIRA and iGoogle" src="http://ffeathers.wordpress.com/files/2009/11/gadgetsinjira.png?w=245" alt="Gadgets on Confluence wiki pages - oh, and in JIRA and iGoogle" width="245" height="300" /></a><p class="wp-caption-text">Gadgets on Confluence wiki pages - oh, and in JIRA and iGoogle</p></div>
<h3><span style="color:#800080;">How do you add a gadget to a Confluence page?</span></h3>
<p>Your Confluence page can display two types of gadgets:</p>
<ul>
<li>Internal &#8212; These are gadgets published by the same Confluence site as where they are displayed. Typically such a gadget would display information sourced from the Confluence site, such as an activity stream or a search function.</li>
<li>External &#8212; These are gadgets published by another Confluence site, or a JIRA site, or even something totally different like <a title="Remember the Milk gadget" href="http://www.rememberthemilk.com/services/modules/googleig/rtm.xml" target="_blank">Remember the Milk</a>, a <a title="Hamster" href="http://www.google.com/ig/directory?type=gadgets&#38;url=hosting.gmodules.com/ig/gadgets/file/112581010116074801021/hamster.xml" target="_blank">hamster in a wheel</a> or a <a title="Pet monkey" href="http://www.google.com/ig/directory?type=gadgets&#38;url=www.gadzi.com/gadgets/monkey.xml" target="_blank">pet monkey</a>. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ul>
<p>If your gadget is external, the Confluence administrator needs to add the gadget to the list of available gadgets before you can add it to your Confluence page. This needs to happen only once for each gadget.</p>
<p><strong>To make an external gadget available in your Confluence site:</strong></p>
<ol>
<li>Log in as a Confluence administrator.</li>
<li>Go to &#8216;<strong>Confluence Admin</strong>&#8216; and click &#8216;<strong>External Gadgets</strong>&#8216; in the left-hand navigation panel.</li>
<li>Paste the URL of your gadget into the field labelled &#8216;<strong>Gadget Specification URL</strong>&#8216;. The URL should point to the XML file that describes the gadget.</li>
</ol>
<p style="padding-left:30px;">For example, take a look at the URLs for the two gadgets in my screenshots above. The URL for the WordPress gadget is:</p>
<pre style="padding-left:30px;">http://hosting.gmodules.com/ig/gadgets/file/117695765658379330528/
WordPress-dot-comRSSFeed.xml
</pre>
<p style="padding-left:30px;">And the URL for the Jive forums gadget is:</p>
<pre style="padding-left:30px;">http://confluence.atlassian.com/download/attachments/203394872/forums.xml
</pre>
<p style="padding-left:30px;"><a href="http://ffeathers.wordpress.com/files/2009/11/confluenceexternalgadgets.png" target="_blank"><img class="alignnone size-thumbnail wp-image-1086" title="Gadgets on Confluence wiki pages" src="http://ffeathers.wordpress.com/files/2009/11/confluenceexternalgadgets.png?w=150" alt="Gadgets on Confluence wiki pages" width="150" height="145" /></a></p>
<p><span style="color:#800080;"><strong>Friendly warning:</strong></span> I&#8217;m just using my gadget as an example here. <strong>It&#8217;s a total hack</strong>, so please don&#8217;t insert it into any Confluence sites that matter! You&#8217;ll get all sorts of weird display problems, plus potential security issues too.</p>
<p><strong>To add a gadget (external or internal) to a Confluence page:</strong></p>
<ol>
<li>Create a new page or edit an existing page.</li>
<li>Put your cursor in the edit box where you want the gadget displayed.</li>
<li>Click the &#8216;<strong>Insert/Edit Macro</strong>&#8216; icon <img class="alignnone size-full wp-image-1074" title="Macro Icon" src="http://ffeathers.wordpress.com/files/2009/11/macroicon.png" alt="Macro Icon" width="19" height="16" /> in the toolbar.</li>
<li>You&#8217;ll see the &#8216;Select Macro&#8217; popup window. Enter some text into the search box at top right, to find the gadget you want.<br />
<a href="http://ffeathers.wordpress.com/files/2009/11/selectmacro.png" target="_blank"><img class="alignnone size-thumbnail wp-image-1075" title="Gadgets on Confluence wiki pages" src="http://ffeathers.wordpress.com/files/2009/11/selectmacro.png?w=150" alt="Gadgets on Confluence wiki pages" width="150" height="69" /></a></li>
<li>Click the gadget you want. You&#8217;ll see a preview of the gadget. Most gadgets also offer you some options to configure the gadget, such as width of the display, background colour, etc.<br />
<a href="http://ffeathers.wordpress.com/files/2009/11/insertwordpressgadget.png" target="_blank"><img class="alignnone size-thumbnail wp-image-1076" title="Gadgets on Confluence wiki pages" src="http://ffeathers.wordpress.com/files/2009/11/insertwordpressgadget.png?w=150" alt="Gadgets on Confluence wiki pages" width="150" height="92" /></a></li>
<li>Change the settings if you like, then click &#8216;<strong>Insert</strong>&#8216;.</li>
<li>Save the Confluence page.</li>
</ol>
<h3><span style="color:#800080;">Extra authorisation step (OAuth)<br />
</span></h3>
<p>Some gadgets require extra authorisation, to reassure the publishing server that it&#8217;s OK to send its data to the server where the gadget is displayed. Gadgets use an authorisation protocol called <a title="OAuth" href="http://oauth.net/" target="_blank">OAuth</a>. There are two parts to the authorisation, one performed by the administrator and one by the person adding the gadget to or viewing the gadget on the page.</p>
<ol>
<li>The administrator needs to set up the OAuth relationship between the gadget publishing server (called the provider) and the displaying server (called the consumer). This authorisation step needs to happen only once for each site. Once you&#8217;ve authorised one server to send information to another server, then you can add multiple gadgets from that server. For example, let&#8217;s say you want to display JIRA gadgets on a Confluence page. Your JIRA server needs to trust your Confluence server. So you&#8217;ll need to add Confluence as an OAuth consumer in JIRA. To do this, you will give JIRA the URL of your Confluence server. The instructions are in the <a title="JIRA OAuth documentation" href="http://confluence.atlassian.com/display/JIRA/Configuring+OAuth+Consumers" target="_blank">JIRA documentation</a>.</li>
<li>When you add a gadget to a page, you will need to authorise the display of information under the authority of your user ID. Similarly, every user who views the page will need to authorise the display of the information under their user ID.  The authorisation lasts for a while (a week or so, unless you revoke it). The gadget will display a &#8216;<strong>Log In and Approve</strong>&#8216; button. When you click the button, you will go to the login page of the site concerned. Log in and then approve the gadget&#8217;s access to the server&#8217;s information. Now you&#8217;ll see the gadget information displayed. There&#8217;s a full write-up in the <a title="Gadgets OAuth" href="http://confluence.atlassian.com/display/GADGETS/Allowing+Other+Applications+to+Access+Data+on+Your+Behalf" target="_blank">Gadgets documentation</a>.</li>
</ol>
<p>Phew, I&#8217;m glad we&#8217;ve got that out of the way! <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<h3><span style="color:#800080;">Would you like to try it yourself?</span></h3>
<p>The <a title="Atlassian News Blog" href="http://blogs.atlassian.com/confluence/2009/11/confluence-31-beta-is-here-we-want-your-feedback.html" target="_blank">Confluence 3.1 beta release is out</a>, so you can hack away. If you&#8217;re very brave, you could even <a title="Writing gadgets" href="http://confluence.atlassian.com/display/GADGETS/Getting+Started+with+Gadget+Development" target="_blank">write your own gadget</a> and put it on a Confluence page!</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[OAuth is coming]]></title>
<link>http://identitynetworks.wordpress.com/2009/11/10/oauth-is-coming/</link>
<pubDate>Tue, 10 Nov 2009 14:09:48 +0000</pubDate>
<dc:creator>identitynetworks</dc:creator>
<guid>http://identitynetworks.wordpress.com/2009/11/10/oauth-is-coming/</guid>
<description><![CDATA[and we like it! OAuth is an open protocol to allow secure API authorization in a simple and standard]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>and we like it!</p>
<p><a href="http://oauth.net/" target="_blank">OAuth</a> is an <strong>open protocol</strong> to allow <strong>secure API authorization </strong> in a <strong>simple</strong> and <strong>standard</strong> method from desktop and web applications, as stated on the OAuth web site.</p>
<p>Why do we like OAuth?</p>
<ol>
<li><strong>It is simple</strong>.  Most of the bad security implementations are done by people with good intentions and low skill.  Understanding the issues involved greatly improves the changes of making the right choices.</li>
<li><strong>It solves a real hard problem</strong>: giving access to your stuff without sharing your identity.</li>
<li><strong>Plays well with others</strong>.  OAuth has built in support for desktop applications, mobile devices, set-top boxes, and of course websites.</li>
</ol>
<p>OAuth helps delegating rights to a process acting as you, without losing privacy or compromising security.  And the specification is short and possible to understand.  Replacing shared secrets is a really good idea.  Replacing hardcoded application-based passwords is an even better idea.  Replacing spoofing of user by logging in as root/admin and then emulating the actual user is a great idea.  And all of this may be done by OAuth.</p>
<p>One use case is getting access to your data on your behalf, but on a different site while not giving away your identity from the first site. Another is the TCS eScience Personal Portal (aka Confusa) that will use OAuth to authenticate a command line client tool to a web-based service that issues <span style="text-decoration:line-through;">short-lived </span>certificate. Then they will extend it further using OAuth for web-based delegation of proxy-certificates; collaborating with a Norwegian University.  Some other use cases that people in my neighbourhood has been playing with so far</p>
<ul>
<li><a href="http://rnd.feide.no/content/oauth-attribute-query-protocol">Attribute query protocol</a></li>
<li><a href="http://blogs.mnt.se/?p=22">Certificate enrollment in confusa using OAuth</a></li>
</ul>
<ul>
<li><a href="http://rnd.feide.no/content/vo-oauth-and-trust-model">Virtual Organizations, OAuth and trust models</a></li>
<li><a href="https://rnd.feide.no/content/twitter-authentication-module">Twitter authentication model </a></li>
</ul>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Python - 2 legged OAuth Woes]]></title>
<link>http://debounce.org/2009/11/01/python-2-legged-oauth-woes/</link>
<pubDate>Sun, 01 Nov 2009 11:30:35 +0000</pubDate>
<dc:creator>debounce</dc:creator>
<guid>http://debounce.org/2009/11/01/python-2-legged-oauth-woes/</guid>
<description><![CDATA[While I have been programming with Python I have found the following intricacies with the OAuth 2-le]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>While I have been programming with Python I have found the following intricacies with the OAuth 2-legged approach, in regards to using web based APIs (all the examples are in Python &#38; refer to the Vimeo API).</p>
<p>Note I don&#8217;t believe this is well documented, and have at times found the following confusing:</p>
<ol>
<li>When using Web based APIs, one does not need to be concerned about the concept of &#8216;tokens&#8217; if you are using a 2-legged OAuth approach (even though alot of sites proclaim that one should always be requesting for tokens, and even the python OAuth APIs that exist in github.com don&#8217;t really indicate that one does not need tokens). <em><span style="color:#3366ff;">This basically means you do not need a token if you are doing a HTTP &#8216;GET&#8217; request (depending which web based API you are using).</span></em></li>
<li>When using 2-legged OAuth (or 3-legged for that matter), <span style="color:#3366ff;"><em>you must indicate all the parameters that are going to be sent using the HTTP &#8216;GET&#8217; request (equally this should apply for &#8216;POST&#8217; requests as well) before you generate a &#8217;signature method&#8217;.</em></span></li>
<li>As of OAuth Standard 1.0a I believe there is a slightly broken nature in how OAuth is used and believe it is actually a flaw in the OAuth protocol, which I discovered by accident. When using a 2-legged approach (refer to example below), this method will &#8216;intermittently&#8217; work, when I first tested this (using the vimeo API), it actually worked for the 1st iteration, but failed consecutively for 3 iterations before working again and then intermittently after that:</li>
</ol>
<div id="_mcePaste" style="padding-left:30px;">#Using Leah Culver&#8217;s Python library @ http://github.com/leah/python-oauth</div>
<div style="padding-left:30px;">#Note I have deliberately left out my API key and secret for the purposes of this blog post</div>
<div style="padding-left:30px;">VIMEO_API_URL = &#8216;http://vimeo.com/oauth/v2&#8242;</div>
<div style="padding-left:30px;">consumer = oauth.OAuthConsumer(VIMEO_API_KEY, VIMEO_API_SEC)</div>
<div id="_mcePaste" style="padding-left:30px;">oauth_request = oauth.OAuthRequest.from_consumer_and_token(consumer, http_url=VIMEO_API_URL)</div>
<div style="padding-left:30px;">oauth_request.sign_request(oauth.OAuthSignatureMethod_HMAC_SHA1() , consumer, None)</div>
<div style="padding-left:30px;">#After I sign the request then I form the other parameters with the corresponding values:</div>
<div style="padding-left:30px;">http_request = &#8217;http://vimeo.com/api/rest/v2?&#8217; + &#8216;apiMethod&#8217; + &#8216;param_value&#8217; + str(oauth_request.to_postdata())</div>
<p>I originally thought it was a bug on the web API provider&#8217;s end, but it turned out to be a bug on how I perform the OAuth signing request. Basically, the <em>bug was that I was signing the request before setting/applying the web API methods/parameter values I wanted </em>(which obviously changed the hash of the signing request method). However, I believe that because it does not require a token, you can &#8216;brute force&#8217; it to intermittently work if you call it enough times (possibly because the hash code for the request signature matches once in a while).</p>
<p>However, with a bit of help from using the php example provided by vimeo for their OAuth API, I figured out that one had to encode the parameters before signing the request:</p>
<p style="padding-left:30px;">consumer = oauth.OAuthConsumer(VIMEO_API_KEY, VIMEO_API_SEC)</p>
<p style="padding-left:30px;">oauth_request = oauth.OAuthRequest.from_consumer_and_token(consumer, http_url=VIMEO_API_URL)</p>
<p style="padding-left:30px;"><strong>oauth_request.set_parameter(&#8216;format&#8217;, &#8216;json&#8217;)</strong></p>
<p style="padding-left:30px;"><strong>oauth_request.set_parameter(&#8216;method&#8217;, &#8216;vimeo.videos.getByTag&#8217;)</strong></p>
<p style="padding-left:30px;"><strong>oauth_request.set_parameter(&#8216;tag&#8217;, tagname)</strong></p>
<p style="padding-left:30px;">oauth_request.sign_request(oauth.OAuthSignatureMethod_HMAC_SHA1() , consumer, None)</p>
<p style="padding-left:30px;">http_request = &#8216;http://vimeo.com/api/v2?&#8217; + str(oauth_request.to_postdata())</p>
<p>Note: you could manually identify each OAuth required parameter without using the method: &#8216;from_consumer_and_token()&#8217; but I found it easier to use it to save some code space (though I think the name is somewhat counterintuitive) as a non-token http url needs to be specified and is used for 2-legged OAuth.</p>
<div>Hope this helps anyone else who is trying to figure out how to use 2-legged OAuth (whether using Python or not) and is using examples from the web or from examples in an OAuth library, though I believe all examples I found only covered 3-legged approach, which requires an actual token request! I don&#8217;t believe a wrapper needs to be written for the 2-legged approach but there needs to be better examples to help facilitate developers understanding the 2-legged approach.</div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Extending the cloud with backup services]]></title>
<link>http://sethlong.com/2009/10/23/extending-the-cloud-with-backup-services/</link>
<pubDate>Sat, 24 Oct 2009 07:45:23 +0000</pubDate>
<dc:creator>Seth</dc:creator>
<guid>http://sethlong.com/2009/10/23/extending-the-cloud-with-backup-services/</guid>
<description><![CDATA[Looking over my earlier post about backup strategies made me wonder how I could simplify my own proc]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Looking over my earlier post about <a href="http://sethlong.com/2009/10/23/personal-backup-strategy/">backup strategies</a> made me wonder how I could simplify my own process further. The basics of local backups of web services, backing up my local drive to another local drive, syncing critical files, and backing up my local drive to the cloud aren&#8217;t as simple as they need to be for most people. I try hard to eliminate the complexity but the truth is that backing up so many 3rd party services is the biggest chore.</p>
<p>It seems that the cloud storage/backup services could collectively agree to support some sort of standardized authentication protocol to allow web applications (Google Calendar, Delicious, etc.) to automatically backup your data to your cloud backup service &#8211; without first having to make local backups.</p>
<p>I can imagine a preference screen in Google Docs that lets me select my backup vendor and uses an oAuth-style authentication scheme to make the process quick and painless. Set it once, and forget about it until you need to recover data. Backup only works when it&#8217;s invisible to the user.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Cliqset extends your community beyond your zip code]]></title>
<link>http://blog.cliqset.com/2009/10/22/cliqset-extends-your-community-beyond-your-zip-code/</link>
<pubDate>Thu, 22 Oct 2009 15:34:54 +0000</pubDate>
<dc:creator>crobync</dc:creator>
<guid>http://blog.cliqset.com/2009/10/22/cliqset-extends-your-community-beyond-your-zip-code/</guid>
<description><![CDATA[It wasn’t long ago that your “community” referred to the neighbors within a certain radius or the co]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><span style="border-collapse:collapse;font-family:arial,sans-serif;font-size:13px;">It wasn’t long ago that your “community” referred to the neighbors<br />
within a certain radius or the colleagues with whom you worked.<br />
Connecting with these folks to raise support for an issue or<br />
neighborhood block party often posed a challenge. If you were trying<br />
to raise interest for an issue or invite people to an event, outreach<br />
might involve phone calls or canvassing the area and distributing<br />
flyers. Once you got the word out you would have to sit and wait to<br />
see if the people you&#8217;d reached out to had the same interests and<br />
concerns you had. Ultimately, you never knew if your neighbors truly<br />
shared anything in common with you &#8212; beyond a zip code.</span></p>
<p>Back then, &#8220;community&#8221; would happen at the Community Center – the hub<br />
of activity inside a regional area where both adults and children<br />
would gather to connect, visit, play games and even share photos. All<br />
sorts of activities were taking place here and people made the trip to<br />
connect to enjoy life together.</p>
<p>But, in this age of the real-time Web, it’s become easier than ever to<br />
find or build a community with like-minded people who, most often, do<br />
not live within your zip code. As technology evolves, our degrees of<br />
separation have gotten smaller. Social networking has helped us push<br />
past the geographical boundaries, and has helped us to engage based on<br />
common interests. It’s now easier than ever to become an activist and<br />
rally support for something we feel passionate about. And businesses<br />
can create awareness, solve problems, and generate great customer<br />
experiences with the click of a mouse.</p>
<p>But building relationships online is still not that easy. It requires<br />
clear channels of communication and common interests. At Cliqset,<br />
we’re working hard to foster community regardless of zip code and make<br />
it simple for you to develop your own network, and interact with<br />
others, just as if you were meeting them at the local coffee shop or<br />
community center.</p>
<p>Inside <a href="http://cliqset.com/">Cliqset</a>, once you discover something that interests you, it’s<br />
very easy to start a conversation around it just as if you were<br />
meeting up with that person in real life. We’ve made it easier for you<br />
to share your life online by allowing you to share more than your<br />
status updates or interesting links – you can engage more deeply and<br />
share what you are doing on other networks and talk about that in<br />
real-time on Cliqset.</p>
<p>At Cliqset, we encourage you to start real-time, dynamic conversations<br />
about the things that interest you most, and watch as others join in.<br />
We want you to share and discuss your lives, thoughts,<br />
accomplishments, reviews, pictures….you name it. Looking to solve a<br />
problem? Seek out experts and engage them in discussion in an intimate<br />
forum. In essence, we all are content producers and we want feedback<br />
and to build discussions around our content. Our community opens up an<br />
entirely new universe of people and activities for you to discover,<br />
share and even discuss in real-time.</p>
<p>What are you waiting for? Come <a href="http://cliqset.com/" target="_blank">join </a>us as we build the new online<br />
“zipcode.” Our weekly conversations are a great way to start<br />
and see what’s possible with creating community in real-time. We hope<br />
to see you next week!</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Cornell Digital Law Library Meeting]]></title>
<link>http://legalinformatics.wordpress.com/2009/10/18/cornell-digital-law-library-meeting/</link>
<pubDate>Sun, 18 Oct 2009 20:11:25 +0000</pubDate>
<dc:creator>legalinformatics</dc:creator>
<guid>http://legalinformatics.wordpress.com/2009/10/18/cornell-digital-law-library-meeting/</guid>
<description><![CDATA[During the week of October 13, 2009, a very rewarding informal meeting of digital law library develo]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>During the week of October 13, 2009, a very rewarding informal meeting of digital law library developers, administrators, and researchers  took place at <a href="http://www.law.cornell.edu/">Cornell University&#8217;s Legal Information Institute</a>. The gathering was graciously hosted by <a href="http://blog.law.cornell.edu/tbruce/about/">Dr. Tom Bruce</a>. The purpose of the meeting was to discuss a number of issues respecting free access to law, legal information institutes, and digital law libraries. Photos of the meeting are available <a href="http://www.facebook.com/album.php?aid=116063&#38;id=665097543&#38;ref=nf">here</a> and <a href="http://www.facebook.com/album.php?aid=28045&#38;id=1634362041&#38;ref=nf">here</a>. Among the participants were: </p>
<ul>
<li><a href="http://www.lexum.umontreal.ca/en/team/index.html">Professor Daniel Poulin</a>, Director of <a href="http://www.canlii.org/">CANLII</a> &#38; <a href="http://www.lexum.umontreal.ca/">LexUM Laboratory</a>;</li>
<li><a href="http://www.lexum.umontreal.ca/fr/equipe/index.html#morissm">Marc-André Morissette</a>, Chief Analyst at <a href="http://www.lexum.umontreal.ca/">LexUM Laboratory</a>;</li>
<li><a href="http://www.lexum.umontreal.ca/fr/equipe/index.html#lemyrep">Pierre-Paul Lemyre</a>, Head of Products and Business Development at <a href="http://www.lexum.umontreal.ca/">LexUM Laboratory</a> and a Ph.D. student at <a href="http://www.droit.umontreal.ca/">University of Montreal Faculté de Droit</a>, studying the effects on legal systems of free access to law &#38; legal information institutes;</li>
<li><a href="http://www.lexum.umontreal.ca/fr/equipe/index.html#shaned">Daniel Shane</a>, Software Developer at <a href="http://www.lexum.umontreal.ca/">LexUM Laboratory</a>;</li>
<li><a href="http://www.symphora.com/?page_id=2">Elmer Masters</a>, Director of Internet Development at <a href="http://www.cali.org">CALI</a>;</li>
<li><a href="http://lawlibrary.rutgers.edu/librarians/joerg.shtml">John Joergensen</a>, Reference &#38; Circulation Librarian at <a href="http://lawlibrary.rutgers.edu/">the Rutgers University Camden Law Library</a>, and developer of <a href="http://lawlibrary.rutgers.edu/resource.org/search.shtml">the Rutgers University Camden Law Library Digital Collections</a>;</li>
<li><a href="http://stuartsierra.com/about-me">Stuart Sierra</a>, Assistant Director of <a href="http://columbialawtech.org/">the Program on Law &#38; Technology at Columbia Law School</a> and developer of <a href="http://www.altlaw.org/">AltLaw: The Free Legal Search Engine</a>; and</li>
<li>Sara Frug, Brian Hughes, Daniel Nagy, &#38; David Shetland of <a href="http://www.law.cornell.edu/">Cornell&#8217;s Legal Information Institute</a>.</li>
</ul>
<p>On October 14-15, the following topics were discussed:</p>
<ul>
<li>Professor Poulin, Marc-André Morissette, Pierre-Paul Lemyre, &#38; Daniel Shane discussed information acquisitions, text-processing methods, the treatment of images in court decisions, and administrative matters, respecting <a href="http://www.canlii.org/en/index.php">CANLII</a>;</li>
<li>Dr. Bruce, Daniel Nagy, &#38; Sara Frug of Cornell&#8217;s LII, &#38; Elmer Masters of <a href="http://www.cali.org">CALI</a> discussed their use of <a href="http://drupal.org/">Drupal</a> to present a variety of types of content, their text processing methods, and the costs and benefits of cloud computing;</li>
<li>Dr. Bruce, Daniel Nagy, Elmer Masters, and <a href="http://www.linkedin.com/in/tstanley">Tim Stanley</a> &#38; <a href="http://www.nick.pro/">Nicolas Moline</a> of <a href="http://www.justia.com/">Justia</a> discussed using <a href="http://openid.net/">OpenID</a> &#38; <a href="http://oauth.net/">OAuth</a> to enable streamlined authentication &#38; access to online legal resources;</li>
<li>Dr. Bruce, Professor Poulin, and others discussed various methods of legal metadata standardization, including encouraging courts, legislatures, and administrative agencies to adopt publishing standards, and the development and promotion of <a href="http://oai4courts.wikispaces.com/">OAI4Courts</a> as a means of standardizing metadata for court documents, to enable sharing and aggregation of such metadata in open repositories;</li>
<li>Stuart Sierra described his methods for automated acquisition of US Federal Court decisions, as well as his text processing and data management techniques at <a href="http://altlaw.org/">AltLaw</a>;</li>
<li>John Joergensen described his methods for automated acquisition of court decisions, text processing, procedures for digitizing print and microfiche legal documents, and digital preservation techniques, at <a href="http://lawlibrary.rutgers.edu/gdoc/search.shtml">the Rutgers University Camden Law Library&#8217;s digital collections</a>.</li>
</ul>
<p>On October 16, the following topics were discussed:</p>
<ul>
<li>Prof. Poulin discussed the former challenges of adding secondary sources to CANLII, the new possibilities of adding commentary and user generated content to CANLII, and his desire that CANLII be a generative system, in Professor Jonathan Zittrain’s sense of that term in <a href="http://yalepress.yale.edu/yupbooks/book.asp?isbn=9780300151244">The Future of the Internet and How to Stop It</a>;</li>
<li>Dr. Bruce, Prof. Poulin, Elmer Masters, and all the participants discussed their plans for sustaining innovation in the coming years at LII, CANLII, &#38; CALI, and for developing business models and strategies;</li>
<li>Dr. Bruce emphasized the need to develop standards to enable sharing of metadata and legal information objects among digital repositories, and to educate reporters of decisions about the need to enable information sharing in legal digital publishing;</li>
<li>The LexUM team discussed two different approaches to taxonomies that they have tested respecting CANLII;</li>
<li>Pierre-Paul Lemyre demonstrated several LexUM Web 2.0 projects, including <a href="http://ccq.lexum.umontreal.ca/ccq/">Le Code civil du Quebéc annoté</a>, which allows users to add annotations, and the <a href="http://www.canlex.org/canlex/index.do">CANLEX set of APIs for CANLII</a>, including the RefLex API, which hotlinks legal citations in a user’s document. Prof. Poulin &#38; Pierre-Paul also discussed Lexacto, a search engine enabling practitioners to index and retrieve content on particular legal topics, whether that content is located within or outside their firm. Some of this new technology will be tested at <a href="http://www.scc-csc.gc.ca/">the Supreme Court of Canada</a>;</li>
<li>Marc-André Morissette demonstrated a drop-down table of contents-based document management system for legislative materials, called LexView, with <a href="http://www.lexum.com/lexviewdemo/">the Canadian Criminal Code</a> as a prototype. He said that similar technology would be applied to <a href="http://nslaw.nsbs.org/nslaw/">the Nova Scotia Annotated Civil Procedure Rules</a> and continuing legal education materials for British Columbia;</li>
<li>Dr. Bruce, Elmer Masters, John Joergensen, and the Cornell LII team discussed implementation of OpenID, the possible sharing of taxonomies, and possible collaboration respecting data for updating the U.S. Code;</li>
<li>In a wrap-up discussion, each participant identified the most valuable information they acquired during the meeting. John Joergensen initiated a new discussion about the need for the legal information institutes to consider new issues in light of the institutes’ maturation and acceptance as key actors in the legal information infrastructure, and underscored digital preservation as one such issue. Dr. Bruce &#38; Prof. Poulin reflected on their careers leading legal information institutes and how their personal roles had changed as their organizations had grown and matured.</li>
<li>The participants agreed to meet again next autumn, either in Ithaca or in Montreal. Everyone thanked Dr. Bruce and the Cornell LII team for their gracious hospitality.</li>
</ul>
<p>Many thanks to Dr. Bruce &#38; his team for their gracious hospitality and stimulating discussion.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[How to Sign oAuth requests]]></title>
<link>http://bitsofwizardry.wordpress.com/2009/10/15/how-to-sign-oauth-requests/</link>
<pubDate>Thu, 15 Oct 2009 16:55:19 +0000</pubDate>
<dc:creator>masterperas</dc:creator>
<guid>http://bitsofwizardry.wordpress.com/2009/10/15/how-to-sign-oauth-requests/</guid>
<description><![CDATA[In the development of Piculet, my new hobbie project, i&#8217;ve had to implement the oAuth Authoriz]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>In the development of <a title="Piculet announcement" href="http://bitsofwizardry.wordpress.com/piculet/" target="_self">Piculet</a>, my new hobbie project, i&#8217;ve had to implement the oAuth Authorization process. The Twitter App documentation gives you a rough sketch of how to do this, and the services spec points you off to the official oAuth Specification.</p>
<p>Let&#8217;s just say it&#8217;s a bit confusing. After surfing the web i&#8217;ve found some example code and a class with oAuth utility methods which i used in the implementation see external links at the end.</p>
<p>I advise you read and examine the code mentioned in the article <a href="http://www.codingthewheel.com/archives/codingthetweet" target="_blank">here</a>.  The small  application the author provides will give you some insight on how it all works and how you can achieve the oAuth calls. Unfortunally this isn&#8217;t explained in the article itself hence this post.</p>
<h2>Authorization process</h2>
<p>The authorization process, according to twitter is :</p>
<ol>
<blockquote>
<li> The application uses oauth/request_token to obtain a request token from twitter.com.</li>
<li> The application directs the user to oauth/authorize on twitter.com.</li>
<li> After obtaining approval from the user, a prompt on twitter.com will display a 7 digit PIN.</li>
<li> The user is instructed to copy this PIN and return to the appliction.</li>
<li> The application will prompt the user to enter the PIN from step 4.</li>
<li> The application uses the PIN as the value for the oauth_verifier parameter in a call to</li>
<li> oauth/access_token which will verify the PIN and exchange a request_token for an access_token.</li>
<li> Twitter will return an access_token for the application to generate subsequent OAuth signatures.</li>
</blockquote>
</ol>
<p>Seems simple enough.</p>
<h2>Signing oAuth Requests</h2>
<p>When you register your application with twitter it gives you a consumer key that identifies your application and a consumer secret which will be used to generate your oAuth signature. This is where i bungled up, at first i thought the consumer key would be the signature to use, lets just say i should&#8217;ve read the oAuth Spec first.</p>
<p>Let&#8217;s take the request token call as an example. In order to obtain the request token for your application you will need to generate the following :</p>
<ol>
<li>Signature</li>
<li> Nonce</li>
<li> Timestamp</li>
</ol>
<p>The oAuthBase class mentioned above will help you with this. All you need to do is provide it with your consumer key and secret, the url your calling in this case that would be : http://twitter.com/oauth/requet_token and the queryString &#8211; in this case this is empty<br />
All you need to do is call the method  GenerateSignature to generate your signature and prepare your url.<br />
The following code generates the url to call request_token :</p>
<pre>    <code>OAuth.OAuthBase oAuth = new OAuth.OAuthBase();
    string queryString="";
    string tstamp=oAuth.GenerateTimeStamp();
    string sig = oAuth.GenerateSignature(new Uri(http://twitter.com/oauth/requet_token),
                                     consumerKey, consumerSecret,,null, null,"GET",tstamp ,nonce,
                                     out url, out queryString);
    queryString += "&#38;oauth_signature=" + HttpUtility.UrlEncode(sig);
    return url+"?"+queryString;</code></pre>
<p>Now all you need to do is call that url and get your request_token.</p>
<p>All calls from here on end can be signed in the same manner. Only difference is that after the authorization procedure you get an access token, which you will need to provide  the GenerateSignature method in order to sign your urls.</p>
<h2>Sidenote on Using oAuthBase</h2>
<p>I ran into a problem when trying to use the oAuthBase class with mono and monodevelop.</p>
<p>Problem came from the compiler not finding the HttpUtility anywhere. This is a class that is inside the System.Web namespace. I solved this by adding System.Web to the project references.</p>
<h2>External Links</h2>
<ul>
<li><strong>Coding the Wheel</strong> &#8211; http://www.codingthewheel.com/archives/codingthetweet</li>
<li> <strong>Twitter API</strong> &#8211; http://apiwiki.twitter.com/Authentication</li>
<li><strong>oAuth Spec </strong>- http://oauth.net/core/1.0</li>
<li><strong>Beginner&#8217;s Guide to OAuth</strong>- http://www.hueniverse.com/hueniverse/2007/10/beginners-guide.html</li>
<li><strong>oAuthBase Class </strong>- http://oauth.googlecode.com/svn/code/csharp/OAuthBase.cs</li>
</ul>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Come together]]></title>
<link>http://blog.cliqset.com/2009/10/13/come-together/</link>
<pubDate>Wed, 14 Oct 2009 01:15:22 +0000</pubDate>
<dc:creator>crobync</dc:creator>
<guid>http://blog.cliqset.com/2009/10/13/come-together/</guid>
<description><![CDATA[Welcome to Cliqset, we&#8217;re glad you&#8217;ve chosen to join us and we are looking forward to le]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><span style="font-family:Verdana;font-size:13px;"> </span></p>
<div style="margin-top:0;margin-bottom:0;">Welcome to Cliqset, we&#8217;re glad you&#8217;ve chosen to join us and we are looking forward to learning from you and growing this community. Today marks just the beginning of what we promise will be an exciting community designed to enhance the way you share, discover, and discuss your life online.</div>
<div style="margin-top:0;margin-bottom:0;">
<div style="margin-top:0;margin-bottom:0;">It&#8217;s always exciting to launch something you&#8217;ve been working for such a long time and today we&#8217;ve seen a lot of excitement around our new offerings – public beta, Boxee and Air apps. There has also been a lot of interest and discussion around our announcement today and what it brings to your online social activity.</p>
<p>A few places to read about some of the early reactions are here:</p>
<p><a id="uv4m" style="color:#551a8b;" title="Boxee" href="http://blog.boxee.tv/2009/10/13/cliqset-brings-real-time-conversation-to-boxee/">Boxee</a> (Thanks, Boxee team!)<br />
<a id="k_wr" style="color:#551a8b;" title="Mashable" href="http://mashable.com/2009/10/13/cliqset-friendfeed/">Mashable</a><br />
<a id="rbfr" style="color:#551a8b;" title="TechCrunch" href="http://www.techcrunch.com/2009/10/13/real-time-social-identity-platform-cliqset-launches-desktop-and-boxee-apps/">TechCrunch</a><br />
<a id="bclg" style="color:#551a8b;" title="VentureBeat" href="http://digital.venturebeat.com/2009/10/13/chat-through-your-tv-with-cliqset-boxee/">VentureBeat</a><br />
<a id="i-np" style="color:#551a8b;" title="WebMonkey" href="http://www.webmonkey.com/blog/Cliqset_Debuts_a_Desktop_App_for_the_Real-Time_Web">WebMonkey</a></p>
<p>As we&#8217;ve mentioned before, we are focused on building a community that fosters engagement and creates a place where people can converse and connect in real-time. We are continuing to build out the platform and have a bunch of new features that will be coming out in the next couple of weeks that should make your experience even better.</p>
<p>In the meantime, if you run into any issues using the service or apps, or if you have an idea for how we can make your experience better, let&#8217;s talk about it. We&#8217;re here, and we want to engage directly with <span style="color:#000000;background-color:#ffffff;">the Cliqset community</span>. A few ways to get in touch with us are:</p>
<p>Our <a id="dx4o" style="color:#551a8b;" title="Cliqset Support profile" href="http://cliqset.com/user/cliqset">Cliqset Support profile</a> <span style="background-color:#ffffff;">within Cliqset, <a href="http://http://getsatisfaction.com/cliqset" target="_blank">Cliqset feedback</a> and</span> via the founders, <a id="wyji" style="color:#551a8b;" title="Darren" href="http://cliqset.com/user/dbounds">Darren</a> and <a id="zgdx" style="color:#551a8b;" title="Charlie" href="http://cliqset.com/user/charlie">Charlie</a>. And, of course, me (<a id="e4ga" style="color:#551a8b;" title="Robyn" href="http://cliqset.com/user/rockinrobync">Robyn</a>).</p>
<p>We want this to be a comfortable place where you can get the most out of your experience.</p>
</div>
</div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[OAuth with Client Libraries (GData, Twitter4J) and Spring MVC]]></title>
<link>http://jeungun.wordpress.com/2009/10/03/oauth-with-client-libraries-gdata-twitter4j-and-spring-mvc/</link>
<pubDate>Sat, 03 Oct 2009 16:30:52 +0000</pubDate>
<dc:creator>Jose  Asuncion</dc:creator>
<guid>http://jeungun.wordpress.com/2009/10/03/oauth-with-client-libraries-gdata-twitter4j-and-spring-mvc/</guid>
<description><![CDATA[This is a refactored version of my post, Quick and Dirty Oauth for Twitter4J OAuth for Web Apps This]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>This is a refactored version of my post, <a href="http://jeungun.wordpress.com/2009/09/03/quick-and-dirty-twitter4j-oauth-for-web-apps/">Quick and Dirty Oauth for Twitter4J OAuth for Web Apps</a></p>
<p>This is also  the result of my work on a <a href="http://jeungun.wordpress.com/2009/10/02/problem-with-getting-a-gdata-unauthorized-request-token/">a problem I had with getting a unauthorized request tokens using GData</a>.</p>
<p>Basically I found that</p>
<p>1. Whatever you do (regardless if you&#8217;re using Servlets or Spring MVC), never maintain state in a servlet or a Spring MVC controller because GData and Twitter4J client libraries maintain state.</p>
<p>2. It&#8217;s impossible to wire them in Spring because they maintain state.</p>
<p>I think the best way to use Spring for OAuth is by using a MultiActionController with two methods:</p>
<blockquote><p><strong>authorization()</strong><br />
to print the authorization url</p>
<p><strong>callback() </strong><br />
where the provider will go after the user has authorized it to allow the consumer to access the user&#8217;s account in the provider</p></blockquote>
<p>Here&#8217;s what it looks like:</p>
<pre class="brush: java;">
public class OAuthAuthorizeController extends MultiActionController {
public ModelAndView authorize(HttpServletRequest request,
			HttpServletResponse response){

       //authorization code here

}

public ModelAndView callback(HttpServletRequest request,
			HttpServletResponse response){
       //callback code here

}
}
</pre>
<p>With OAuth client libraries there is less need for url rewriting and doing manual get requests.</p>
<p>But the best way to implement the libraries in your code is to program them to an interface, encapsulating what varies because each client library is used differently.</p>
<pre class="brush: java;">
public interface Provider {
public String getAuthUrl() throws OAuthProviderException;
public UserOAuthAccessToken getAccessToken(String token,String tokenSecret)
}
</pre>
<p>The rationale behind this is that the Spring controller we have shouldn&#8217;t have to know what provider he is dealing with. This makes code loosely coupled.</p>
<p>So if you want your controller to deal with GData or Twitter using the Twitter4J and GData libraries, implement the Provider interface and code in the implementation:</p>
<pre class="brush: java;">
public class GoogleDocs/Twitter4JClient implements Provider {
     public String getAuthUrl(){
        //GData or Twitter4J specific code here
     }
    public UserOAuthAccessToken getAccessToken(){
       //GData or Twitter4J specific code here
    }
}
</pre>
<p><a href="http://code.google.com/apis/documents/docs/3.0/developers_guide_java.html#AuthOAuth">GData specific code</a> can be found here<br />
Twitter4J well <a href="http://jeungun.wordpress.com/2009/09/03/quick-and-dirty-twitter4j-oauth-for-web-apps/">here</a>. Haha.</p>
<p>Use an abstract factory method to return the specific implementation to the controllers:</p>
<pre class="brush: java;">
private Provider getProvider(String providerRequested){
	Provider provider = null;
	if (providerRequested is googledocs){
		provider = new GoogleDocs();
	}
        if (providerRequested is Twitter) {
               provider = new Twitter4JClient();
        }
	return provider;
}
</pre>
<p>This is what the Spring MVC controller will look like when it&#8217;s done:</p>
<pre class="brush: java;">
public class OAuthAuthorizeController extends MultiActionController {
public ModelAndView authorize(HttpServletRequest request,
			HttpServletResponse response){

         Provider provider = getProvider(&#34;Twitter&#34;/&#34;GoogleDocs&#34;);
         String authUrl = provider.getAuthUrl();
         return new ModelAndView(&#34;view&#34;,&#34;authUrl&#34;,authUrl);

}

public ModelAndView callback(HttpServletRequest request,
			HttpServletResponse response){
       Provider provider = getProvider(&#34;GoogleDocs&#34;/&#34;Twitter&#34;);
       UserOAuthAccessToken accessToken = provider.getOAuthAccessToken();
       //some other logic you have to do
}
private Provider getProvider(String providerRequested){
	Provider provider = null;
	if (providerRequested is googledocs){
		provider = new GoogleDocs();
	}
        if (providerRequested is Twitter) {
               provider = new Twitter4JClient();
        }
	return provider;
}
}
</pre>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Problem with getting a GData Unauthorized Request Token]]></title>
<link>http://jeungun.wordpress.com/2009/10/02/problem-with-getting-a-gdata-unauthorized-request-token/</link>
<pubDate>Fri, 02 Oct 2009 04:14:48 +0000</pubDate>
<dc:creator>Jose  Asuncion</dc:creator>
<guid>http://jeungun.wordpress.com/2009/10/02/problem-with-getting-a-gdata-unauthorized-request-token/</guid>
<description><![CDATA[Last Friday Dan and I worked on accessing a user&#8217;s Google Docs via OAuth. We were able to make]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Last Friday Dan and I worked on accessing a user&#8217;s Google Docs via OAuth. We were able to make it work except that I found out that our solution doesn&#8217;t scale!</p>
<p><strong>Our observations are</strong></p>
<p>1. Two or more users getting an unauthorized request token returns an invalid token to one of the users.</p>
<p>2. Two or more users getting an unauthorized request token in succession returns an invalid token to the last person who requests. The latter can try again after a certain time after the last person has finished accessing his/her google docs. </p></blockquote>
<p>We followed are the tutorials for accessing Gdata using Oauth at the Gdata website and used the Gdata Java libraries.  </p>
<p><strong>I think the problems are</strong></p>
<p><!--more--><br />
1. <strong>that the helper classes that come in with the libraries are instantiated only once for the whole app (a singleton).</strong> Meaning any client who visits the app and uses the same instance to connect to google via oauth uses the same instance every time. </p>
<p>2. <strong>the helper classes are maintaining state</strong>, hence the invalid token received by another user while someone is still &#8220;using&#8221; our app to access his/her google docs. This is the same problem that I have with using Twitter4j, you can&#8217;t wire them as a singleton because they&#8217;re maintaining state. </p>
<p>If that&#8217;s the case, then I should probably remove this line of code in our controllers: </p>
<pre class="brush: java;">
public class GoogleOauthController extends MultiActionController {
	...
	private GoogleOAuthParameters oAuthParameters;
	private GoogleOAuthHelper oAuthHelper;
        ...
</pre>
<p>and refactor this by instantiating one instance of GoogleOAuthParameters and GoogleOAuthHelper per invokation of any of the methods in the controllers that make use of them. I&#8217;ll be able to do this using the abstract factory method or an abstract factory class which I&#8217;ve just finished reading about this week! That came at just the right time, thank God for my book Head First Design patterns. </p>
<p><strong>But which refactoring to do?</strong></p>
<p>I think the<strong> abstract factory method</strong> is more appropriate although it shouldn&#8217;t be called abstract because I don&#8217;t expect any controller to extend the controller I am going to build for Oauth. I&#8217;ll call my solution the oauth-factory-method.</p>
<p>But on the other hand, I might need the same functionality of the oauth-factory-method so that oauth controllers that have provider specific logic can use the  oauth-factory-method to get the helper classes that they need and more importantly that are otherwise needed in a lot of other controllers. </p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Problem with getting a GData Unauthorized Request Token]]></title>
<link>http://research2009.wordpress.com/2009/10/02/problem-with-getting-a-gdata-unauthorized-request-token/</link>
<pubDate>Fri, 02 Oct 2009 04:06:45 +0000</pubDate>
<dc:creator>Jose  Asuncion</dc:creator>
<guid>http://research2009.wordpress.com/2009/10/02/problem-with-getting-a-gdata-unauthorized-request-token/</guid>
<description><![CDATA[Last Friday Dan and I worked on accessing a user&#8217;s Google Docs via OAuth. We were able to make]]></description>
<content:encoded><![CDATA[Last Friday Dan and I worked on accessing a user&#8217;s Google Docs via OAuth. We were able to make]]></content:encoded>
</item>
<item>
<title><![CDATA[Cliqset API v3 brings Activity Streams and Real-time goodness]]></title>
<link>http://blog.developer.cliqset.com/2009/10/01/cliqset-api-v3-brings-activity-streams-and-real-time-goodness/</link>
<pubDate>Thu, 01 Oct 2009 19:07:12 +0000</pubDate>
<dc:creator>cliqset</dc:creator>
<guid>http://blog.developer.cliqset.com/2009/10/01/cliqset-api-v3-brings-activity-streams-and-real-time-goodness/</guid>
<description><![CDATA[Today we&#8217;re excited to announce the launch of Cliqset API v3, bringing some new and innovative]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Today we&#8217;re excited to announce the launch of <a href="http://developer.cliqset.com/overview/api-versions/200909" target="_blank">Cliqset API v3</a>, bringing some new and innovative features to our developer community.</p>
<ul>
<li><strong>Activity Streams Support </strong>- Cliqset is now publishing activity information from the ~70 services we&#8217;ve integrated within in JSON, XML and <a href="http://activitystrea.ms/" target="_blank">Activity Streams formatted Atom XML</a>. Activity Streams is a standardized way to describe and communicate activity related information between services with the goal of increased consistency and efficiency.</li>
<li><strong>Streaming capabilities &#8211; </strong>Activity and conversation information are now available to be delivered the moment we become aware of it using our new real-time streaming APIs.</li>
<li><strong>New ways to share &#8211; </strong>We&#8217;ve simplified our sharing APIs and added new types. Share photos, status updates, link and reviews with a simple form POST.</li>
<li><strong>Account Creation</strong> &#8211; Concerned about your users not having a Cliqset account when they try to use your app? No problem, applications can now register new users using our Account Creation API. We&#8217;ve integrated a CAPTCHA into the process so it&#8217;s secure and should prevent automated abuse (fingers crossed).</li>
</ul>
<p>Those are some of the highlights so check out the docs and give us <a href="http://groups.google.com/group/cliqset" target="_blank">feedback</a>. We&#8217;re always looking for ways to improve our service and build a better development community.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[It’s Here! Cliqset’s Real-Time Community – Join us for a sneak peak!]]></title>
<link>http://blog.cliqset.com/2009/09/30/it%e2%80%99s-here-cliqset%e2%80%99s-real-time-community-%e2%80%93-join-us-for-a-sneak-peak/</link>
<pubDate>Wed, 30 Sep 2009 16:09:29 +0000</pubDate>
<dc:creator>crobync</dc:creator>
<guid>http://blog.cliqset.com/2009/09/30/it%e2%80%99s-here-cliqset%e2%80%99s-real-time-community-%e2%80%93-join-us-for-a-sneak-peak/</guid>
<description><![CDATA[It’s a big day for Cliqset and the social web! Today, we opened up the new beta of our online commun]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>It’s a big day for Cliqset and the social web! Today, we opened up the new beta of our online community to a limited group of people to get feedback.<img class="alignright size-medium wp-image-342" src="http://cliqset.wordpress.com/files/2009/09/home-page.png?w=300" alt="Cliqset" width="300" height="257" /></p>
<p>As the nature of conversations on the Web has been dramatically changing to mirror those in real life – centered around topics, location and audience – Cliqset is now all about your conversations, however they unfold.</p>
<p>So, what’s new in Cliqset beta 3? Frankly, a lot. Over the last few months, we’ve completely redesigned our website and have created a real-time community that makes it&#8217;s easier for users to stay engaged and follow the discussions that they find most interesting.</p>
<p>In our private beta, real-time conversations and <a href="http://activitystrea.ms/" target="_blank">activity streams</a> are a focal point in the latest release. Users now have options for communicating and sharing online activities (like photos, location aware updates, bookmarks) with their friends and online communities, while also being able to track and update all of the third-party social services you’re on from one centralized hub.</p>
<p>Here&#8217;s what’s now possible on Cliqset:</p>
<ul>
<li>Quickly engage and discuss. Discussions and commenting      are now all in real-time – unique from most social networks and services      currently on the web – giving users a better way way to communicate and      stay engaged in the discussion as it unfolds.<img class="aligncenter size-medium wp-image-359" src="http://cliqset.wordpress.com/files/2009/09/realtime-converation1.png?w=300" alt="realtime-converation" width="300" height="196" /></li>
</ul>
<p><strong> </strong></p>
<ul>
<li>You can easily<strong> </strong>pull in your content from      almost 70 social networks and      services. We now support Cliqset integrations with the most popular      third-party services so you can easily pull your content into Cliqset      (photos, status updates, videos, blog posts, etc.) from other social      networks.</li>
</ul>
<ul>
<li>We now have easier ways to share your content<strong> </strong>with other social networks and services, including      Twitter, Facebook, Myspace, Identi.ca, Linkedin and FriendFeed. Users can      update their status, and share photos, bookmarks, reviews on Cliqset and      push them out to wherever they choose.</li>
</ul>
<p><img class="aligncenter size-medium wp-image-324" title="share your content" src="http://cliqset.wordpress.com/files/2009/09/share-your-content.png?w=300" alt="share your content" width="300" height="58" /></p>
<ul>
<li>And you can now share content that you discover on      Cliqset with other social services<strong> </strong>you&#8217;ve enabled.</li>
</ul>
<p style="text-align:center;"><img class="aligncenter size-medium wp-image-325" src="http://cliqset.wordpress.com/files/2009/09/share-interesting-content.png?w=300" alt="share interesting content" width="300" height="136" /></p>
<p><strong> </strong></p>
<ul>
<li>Easily discover content and people by staying on top of      specific topics with Cliqset’s granular activity stream filters. Users can      select which types of updates they’d like to see in their activity stream      including text, photo, comment, or blog post.</li>
</ul>
<ul>
<li>Updates that include photo files or location details      now show a thumbnail so that users can easily see the content without      having to explore further and with filtering capabilities, find others who      are discussing the same topics and activities.<img class="aligncenter size-medium wp-image-326" src="http://cliqset.wordpress.com/files/2009/09/location-enabled.png?w=300" alt="location enabled" width="300" height="181" /></li>
</ul>
<p><strong> </strong></p>
<ul>
<li>Greater control over how people can      see and interact with information that you share.</li>
</ul>
<p style="text-align:center;"><img class="aligncenter size-medium wp-image-341" src="http://cliqset.wordpress.com/files/2009/09/assign-permission.png?w=300" alt="assign permission" width="300" height="186" /></p>
<p>Come join Cliqset. To be a part of our private beta, <a href="http://cliqset.com/beta/692d4" target="_blank">sign up</a> and start connecting and conversing in real-time</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[How do you unit test Oauth Controllers? ]]></title>
<link>http://research2009.wordpress.com/2009/09/23/how-do-you-unit-test-oauth-controllers/</link>
<pubDate>Wed, 23 Sep 2009 17:53:49 +0000</pubDate>
<dc:creator>Jose  Asuncion</dc:creator>
<guid>http://research2009.wordpress.com/2009/09/23/how-do-you-unit-test-oauth-controllers/</guid>
<description><![CDATA[I like Spring MVC because you can unit test your controllers. No need to start and stop your applica]]></description>
<content:encoded><![CDATA[I like Spring MVC because you can unit test your controllers. No need to start and stop your applica]]></content:encoded>
</item>
<item>
<title><![CDATA[Projectrix Web services]]></title>
<link>http://research2009.wordpress.com/2009/09/22/projectrix-web-services/</link>
<pubDate>Tue, 22 Sep 2009 23:19:27 +0000</pubDate>
<dc:creator>falloutkee</dc:creator>
<guid>http://research2009.wordpress.com/2009/09/22/projectrix-web-services/</guid>
<description><![CDATA[Since we are to create SOA services for Projectrix, we came up with our initial services. For the ru]]></description>
<content:encoded><![CDATA[Since we are to create SOA services for Projectrix, we came up with our initial services. For the ru]]></content:encoded>
</item>
<item>
<title><![CDATA[Sync Your MySpace with Twitter]]></title>
<link>http://blogxygen.net/2009/09/21/sync-your-myspace-with-twitter/</link>
<pubDate>Mon, 21 Sep 2009 23:32:29 +0000</pubDate>
<dc:creator>bO2</dc:creator>
<guid>http://blogxygen.net/2009/09/21/sync-your-myspace-with-twitter/</guid>
<description><![CDATA[Using OAuth, open authentication technology, MySpace now enable to sync with Twitter. Any status tha]]></description>
<content:encoded><![CDATA[Using OAuth, open authentication technology, MySpace now enable to sync with Twitter. Any status tha]]></content:encoded>
</item>

</channel>
</rss>
