<?xml version="1.0" encoding="UTF-8"?>
<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/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Sydney Hackathon</title>
	<atom:link href="http://sydneyhackathon.com.au/feed/" rel="self" type="application/rss+xml" />
	<link>http://sydneyhackathon.com.au</link>
	<description>24 hour app development competition</description>
	<lastBuildDate>Wed, 28 Sep 2011 07:01:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>The Sydney Hackathon 2011 &#8211; Its a wrap!</title>
		<link>http://sydneyhackathon.com.au/2011/09/sydneyhackathonreport/</link>
		<comments>http://sydneyhackathon.com.au/2011/09/sydneyhackathonreport/#comments</comments>
		<pubDate>Tue, 27 Sep 2011 17:37:49 +0000</pubDate>
		<dc:creator>james</dc:creator>
				<category><![CDATA[Featured App]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.sydneyhackathon.com.au/?p=342</guid>
		<description><![CDATA[Sydney Hackathon was a roaring success with 32 contestants seeing through the full 24 hours in 11 teams ...]]></description>
			<content:encoded><![CDATA[<p>Sydney Hackathon was a roaring success with 32 contestants seeing through the full 24 hours in 11 teams creating a total 13 applications on Elsevier&#8217;s SciVerse platform. Contestants ranged from professionals to students, undergraduate and phd students from the University of Sydney and University of New South wales and one contestant coming as far as Brisbane, Queensland, to participate.</p>
<div id="attachment_349" class="wp-caption aligncenter" style="width: 560px"><a href="http://sydneyhackathon.com.au/wp-content/uploads/2011/09/IMG_1215.jpg"><img class="size-full wp-image-349   " title="IMG_1215" src="http://sydneyhackathon.com.au/wp-content/uploads/2011/09/IMG_1215.jpg" alt="" width="550" /></a><p class="wp-caption-text">University of Sydney students and staff with the Elsevier team from NY; Scott Robbins, James Alexander, Seb Pauka, James Curran, Vishal Gupta &amp; Ben Rubin</p></div>
<p>Registrations began at 11 am with a steady stream of competitors getting settled in a modified School of IT Boardroom. With &#8216;chill-out&#8217; zones outside in the winter garden, equipped with couches and xBox games, fully catered meals, our own &#8216;Sydney Hackathon Cafe&#8217; and the Lecture theatre for presentations, there was always something for contestants to do.</p>
<p>At 3pm Brett Morgan, Nick Johnson and Stephanie Borgman, from Google&#8217;s Sydney office, gave a presentation to contestants in a break-out session about Google&#8217;s Blogger API and App Engine hosting platform. They were also kind enough to add in limited edition merchandise for all 4 winner prize packs and a free &#8216;Android&#8217; T-shirt for all contestants.</p>
<p>After the Google presentation each team pitched their idea before buckling down for the rest of the competition. While the chill-out zone, food and coffee helped keep energy levels high, come 3am there were a few taking naps in various locations around the School of IT before the final morning sprint!</p>
<p>&nbsp;</p>
<div id="attachment_359" class="wp-caption aligncenter" style="width: 560px"><a href="http://sydneyhackathon.com.au/wp-content/uploads/2011/09/291971_152579434834457_134368786655522_261059_1710144728_n-1.jpg"><img class="size-full wp-image-359  " title="sydhack day 1 groups" src="http://sydneyhackathon.com.au/wp-content/uploads/2011/09/291971_152579434834457_134368786655522_261059_1710144728_n-1.jpg" alt="" width="550" /></a><p class="wp-caption-text">Groups buckling down for the night, twitter wall behind</p></div>
<p>There were 11 applications presented at the end of the Hackathon and the applications ranged from games, search tools, professor genealogy tools to collaborative commenting of journal articles. The applications were web gadgets that embedded on Elsevier&#8217;s SciVerse platform, a platform used by 15 million researchers and academics.</p>
<p>Elsevier&#8217;s development and product team, who flew out from America and China to attend and help with the Hackathon, noted the quality and depth of some of the applications created in the 24 hours. The judges also commented on the quality of the applications presented.</p>
<p>The judges were a range of academic and recognised industry figures. Lee Berry, a systems architect at IBM, Anne Bartlett-Bragg, managing director of Asia Pacific region for Headshift, John Shipp from the University of Sydney Library, Dr Bo Yin from NICTA and Rachel Sieff from the New South Wales Department of Industry and Innovation.</p>
<p>In the end only three teams could be awarded the prizes with one team winning both a prize and the People&#8217;s Choice Award;</p>
<ul>
<li>1st place went to <em><strong>Presentify</strong></em>: Tim Dawborn, Seb Pauka and James Alexander, all students at the University of Sydney, created an application that turns any journal article on Elsevier&#8217;s SciVerse platform into an HTML5 presentation, automatically filling in the presentation with content section titles, images and charts and some summary text from the article.</li>
<li>2nd place went to <em><strong>SciPlay</strong></em>: Sam Thorogood, School of IT Alumni, and Nicky Ringland, postgraduate at the School of IT, came second with a game that quizzes users on the SciVerse platform about the journal article their currently reading. Users can then earn points for each correctly answered quiz that increases their ranking on the platform.</li>
<li>3rd place went to <em><strong>Macadeima</strong></em>; a search and work flow aid that displays relevant journal articles and videos to users browsing auricles on the SciVerse platform. It also allowed for users to add comments about the article and start a discussion without leaving the page.</li>
<li>People&#8217;s Choice award was given to <em><strong>SciPlay</strong></em>. The People&#8217;s Choice was was voted on by the contestants.</li>
</ul>
<div id="attachment_360" class="wp-caption aligncenter" style="width: 560px"><a href="http://sydneyhackathon.com.au/wp-content/uploads/2011/09/309816_153651264727274_134368786655522_264672_142105658_n.jpg"><img class="size-full wp-image-360 " title="sciplay presentation" src="http://sydneyhackathon.com.au/wp-content/uploads/2011/09/309816_153651264727274_134368786655522_264672_142105658_n.jpg" alt="" width="550" /></a><p class="wp-caption-text">SciPlay presenting their application, which won 2nd prize and People&#39;s Choice award</p></div>
<p>Elsevier&#8217;s SciVerse product manager Ben Rubin and systems developer Scott Robbins, both who were also present for the entire hackathon, expressed interest in all the winning applications and some of the other non-winning applications and will be contacting the contestants over the coming week about further development and launching the applications on the SciVerse platform.</p>
<p>During the competition there was a live twitter wall, that was used for quick messages and links for contestants to use, Facebook was constantly updated with photos from the competition and our on-site barista and catering made sure people had the fuel to keep on going.</p>
<p>Overall the Hackathon organisers, University of Sydney academics, Elsevier team and the judges were extremely impressed by the creativity and quality of the applications presented at the end of the Sydney Hackathon.</p>
<p>Sydney Hackathon was great event that brought together developers and professionals in great environment. A lot of the competitors were already expressing ideas of how they will prepare for next years Sydney Hackathon.</p>
<p>Great photos on Facebook can be found <a href="http://www.facebook.com/sydneyhackathon?sk=photos">here</a>. Videos and photo albums of the event will be posted on this website later this week.</p>
<p>&nbsp;</p>
<p><em>Please leave any feedback about Sydney Hackathon 2011 below, or <a title="Contact Us" href="http://sydneyhackathon.com.au/contact-us/">contact us.</a></em></p>
<p>&nbsp;</p>
<div id="attachment_357" class="wp-caption aligncenter" style="width: 560px"><a href="http://sydneyhackathon.com.au/wp-content/uploads/2011/09/IMG_1163.jpg"><img class="size-full wp-image-357 " title="Presentify Presentation" src="http://sydneyhackathon.com.au/wp-content/uploads/2011/09/IMG_1163.jpg" alt="" width="550" /></a><p class="wp-caption-text">Presentify team Tim Dawborn, Seb Pauka and James Alexander presenting their winning application</p></div>
<div id="attachment_358" class="wp-caption aligncenter" style="width: 560px"><a href="http://sydneyhackathon.com.au/wp-content/uploads/2011/09/IMG_1144.jpg"><img class="size-full wp-image-358 " title="IMG_1144" src="http://sydneyhackathon.com.au/wp-content/uploads/2011/09/IMG_1144.jpg" alt="" width="550" /></a><p class="wp-caption-text">Sydney Hackathon contestants at the &#39;SydHack cafe&#39; - Our on all barista for the competition</p></div>
<div id="attachment_361" class="wp-caption aligncenter" style="width: 560px"><a href="http://sydneyhackathon.com.au/wp-content/uploads/2011/09/google.jpg"><img class="size-full wp-image-361 " title="google" src="http://sydneyhackathon.com.au/wp-content/uploads/2011/09/google.jpg" alt="" width="550" /></a><p class="wp-caption-text">Google give a presentation on their APIs and workplace</p></div>
<div id="attachment_363" class="wp-caption aligncenter" style="width: 560px"><a href="http://sydneyhackathon.com.au/wp-content/uploads/2011/09/321212_152579304834470_134368786655522_261056_876647856_n.jpg"><img class="size-full wp-image-363" title="teams working hard" src="http://sydneyhackathon.com.au/wp-content/uploads/2011/09/321212_152579304834470_134368786655522_261056_876647856_n.jpg" alt="" width="550" /></a><p class="wp-caption-text">Teams working hard through the night</p></div>
<p style="text-align: center;"><a href="http://sydneyhackathon.com.au/wp-content/uploads/2011/09/306861_152204104871990_134368786655522_259556_874941889_n.jpg"><img class="aligncenter size-full wp-image-362" title="nickyphoto" src="http://sydneyhackathon.com.au/wp-content/uploads/2011/09/306861_152204104871990_134368786655522_259556_874941889_n.jpg" alt="" width="550" /></a></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://sydneyhackathon.com.au/2011/09/sydneyhackathonreport/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Where can I find those examples so I don&#8217;t have to copy and paste!!?</title>
		<link>http://sydneyhackathon.com.au/2011/09/where-can-i-find-those-examples-so-i-dont-have-to-copy-and-paste/</link>
		<comments>http://sydneyhackathon.com.au/2011/09/where-can-i-find-those-examples-so-i-dont-have-to-copy-and-paste/#comments</comments>
		<pubDate>Sat, 24 Sep 2011 01:00:31 +0000</pubDate>
		<dc:creator>scott</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[gadgets]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.sydneyhackathon.com.au/?p=333</guid>
		<description><![CDATA[Here are links to my public dropbox for the files we used in the tutorials Step 1 http://dl.dropbox.com/u/34189153/step1.xml ...]]></description>
			<content:encoded><![CDATA[<p>Here are links to my public dropbox for the files we used in the tutorials</p>
<p><strong>Step 1</strong><br />
<a href="http://dl.dropbox.com/u/34189153/step1.xml" target="_blank">http://dl.dropbox.com/u/34189153/step1.xml</a></p>
<p><strong>Step 2</strong><br />
<a href="http://dl.dropbox.com/u/34189153/Step2.xml" target="_blank">http://dl.dropbox.com/u/34189153/Step2.xml</a></p>
<p><strong>Step 3</strong><br />
<a href="http://dl.dropbox.com/u/34189153/step3.xml" target="_blank">http://dl.dropbox.com/u/34189153/step3.xml</a></p>
<p><strong>Context Info</strong><br />
<a href="http://dl.dropbox.com/u/34189153/context.xml" target="_blank">http://dl.dropbox.com/u/34189153/context.xml</a></p>
<p><strong>URL Gadget</strong><br />
<a href="http://dl.dropbox.com/u/34189153/URL_Example.xml" target="_blank">http://dl.dropbox.com/u/34189153/URL_Example.xml</a></p>
]]></content:encoded>
			<wfw:commentRss>http://sydneyhackathon.com.au/2011/09/where-can-i-find-those-examples-so-i-dont-have-to-copy-and-paste/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What&#8217;s this Context Info thing?!?!?</title>
		<link>http://sydneyhackathon.com.au/2011/09/whats-this-context-info-thing/</link>
		<comments>http://sydneyhackathon.com.au/2011/09/whats-this-context-info-thing/#comments</comments>
		<pubDate>Fri, 23 Sep 2011 13:53:49 +0000</pubDate>
		<dc:creator>scott</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[gadgets]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.sydneyhackathon.com.au/?p=307</guid>
		<description><![CDATA[The context object is probably one the most important things about creating a gadget, but how do you ...]]></description>
			<content:encoded><![CDATA[<p>The context object is probably one the most important things about creating a gadget, but how do you know what it contains.  Here is a little gadget that can show you what it&#8217;s values are.   Just create a new project like you did for the other examples, and add it to all the integration points. When this app runs, it will show you all the values for the Context Object.  When this gadget runs it will output name value pairs in the form of  name : value.  This will all be contained between {}.  This is what is known as JSON notation before it was processed into a JavaScript Object.   For example,  lets take an object Person.  A possible JSON definition would be:</p>
<p>{<br />
name: &#8220;bob&#8221;,<br />
eyeColor: &#8220;red&#8221;,<br />
height:&#8221;10ft&#8221;,<br />
age: 25<br />
}</p>
<p>If this were processed into an object, you could access person.name and get &#8220;bob&#8221;.  So here is the code!</p>
<p>Enjoy!</p>
<p><span class="Apple-style-span" style="font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px; white-space: pre;">&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243;?&gt;</span></p>
<pre>&lt;Module&gt;
  &lt;ModulePrefs description="Displays the context information made available to the gadget."&gt;
    &lt;Require feature="opensocial-0.9" /&gt;
    &lt;Require feature="sciverse" /&gt;
    &lt;Require feature="dynamic-height"/&gt;
  &lt;/ModulePrefs&gt;
  &lt;UserPref name="secureAuthtoken" datatype="hidden" /&gt;
  &lt;Content type="html" view="canvas,profile"&gt;
	&lt;![CDATA[
	&lt;script type="text/javascript"&gt;

		function getContextInfo(){
			gadgets.sciverse.getContextInfo(contextCallback);
		}

		function contextCallback(obj){

		    var rs = JSON.stringify(obj);

		   //Format the string for display.
		    rs = rs.replace(/",/g,"\",&lt;br&gt;");

		    var contextInfo = document.getElementById("contextInfo");
		    contextInfo.innerHTML = rs;

 		    gadgets.window.adjustHeight();

		}

		gadgets.util.registerOnLoadHandler(getContextInfo);

	&lt;/script&gt;

	&lt;p&gt;&lt;a href="javascript:void(0);" onclick="getContextInfo();"&gt;Reload Context Info&lt;/a&gt;&lt;/p&gt;

	&lt;div&gt;
	  	&lt;span&gt;Secured Authtoken is: &lt;/span&gt; &lt;span&gt;__UP_secureAuthtoken__ &lt;/span&gt;
	&lt;/div&gt;
	&lt;div&gt;&lt;u&gt;Context Info:&lt;/u&gt;&lt;/div&gt;
	&lt;div id="contextInfo" style="display:block"&gt;

	&lt;/div&gt;

	  ]]&gt;

  &lt;/Content&gt;
&lt;/Module&gt;</pre>
]]></content:encoded>
			<wfw:commentRss>http://sydneyhackathon.com.au/2011/09/whats-this-context-info-thing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The &#8220;URL&#8221; Gadget</title>
		<link>http://sydneyhackathon.com.au/2011/09/the-url-gadget/</link>
		<comments>http://sydneyhackathon.com.au/2011/09/the-url-gadget/#comments</comments>
		<pubDate>Fri, 23 Sep 2011 13:42:03 +0000</pubDate>
		<dc:creator>scott</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[gadgets]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.sydneyhackathon.com.au/?p=303</guid>
		<description><![CDATA[During the workshop I briefly mentioned this illusive URL gadget. So, lets go ahead and give an example ...]]></description>
			<content:encoded><![CDATA[<p>During the workshop I briefly mentioned this illusive URL gadget. So, lets go ahead and give an example of one.  All an URL gadget is, is some web content that already exists and is accessible through an URL.  Ok, so what does that mean?  This means, any website on the web could be made into a possible gadget.   Here is all it takes&#8230; In the Content section tag make sure you have the type set to URL and then have an href attribute set to the site you want.  This example won&#8217;t look pretty in the profile view, but hit the canvas button and you&#8217;ll see the whole site..</p>
<p><span class="Apple-style-span" style="font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px; white-space: pre;">&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243;?&gt;</span></p>
<pre>
&lt;Module&gt;
&lt;ModulePrefs
        title="SciVerse Examples - Content API Call 1"
        title_url="http://developer.sciverse.com"
        author_email="you@you.com"
        description="Intro to Gadgets"&gt;
    &lt;Require feature="opensocial-0.9" /&gt;
    &lt;Require feature="sciverse" /&gt;
    &lt;Require feature="hub" /&gt;
    &lt;Require feature="dynamic-height"/&gt;
    &lt;Require feature="org.jquery.core-1.4.2" /&gt;
    &lt;Optional feature="content-rewrite"&gt;
           &lt;Param name="exclude-url"&gt;*&lt;/Param&gt;
    &lt;/Optional&gt;
&lt;/ModulePrefs&gt;
&lt;UserPref name="searchTerms" datatype="hidden" /&gt;
&lt;Content type="url" view="profile,canvas" href="http://www.reddit.com/r/sydney"&gt;&lt;/Content&gt;

&lt;/Module&gt;</pre>
<pre></pre>
]]></content:encoded>
			<wfw:commentRss>http://sydneyhackathon.com.au/2011/09/the-url-gadget/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gadgets Example 3&#8230; A big leap forward</title>
		<link>http://sydneyhackathon.com.au/2011/09/intro-to-gadgets-3-a-big-leap-forward/</link>
		<comments>http://sydneyhackathon.com.au/2011/09/intro-to-gadgets-3-a-big-leap-forward/#comments</comments>
		<pubDate>Fri, 23 Sep 2011 07:46:11 +0000</pubDate>
		<dc:creator>scott</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[gadgets]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.sydneyhackathon.com.au/?p=294</guid>
		<description><![CDATA[The last example was a pretty simple increment from the first.  This one is going to go full ...]]></description>
			<content:encoded><![CDATA[<p>The last example was a pretty simple increment from the first.  This one is going to go full throttle and add the content API call and the rendering to deal with it.  Some new stuff you might see is the use of JQuery&#8217;s .each() function and the console.log() function. .each() (see <a href="http://api.jquery.com/jQuery.each/" target="_blank">here</a> ) is used a lot when using JQuery. It allows you to iterate through arrays and even multiple instances of html objects that match a query. For example, if you have 10 elements that have the class &#8220;coolStuff&#8221;.  You can use $(&#8220;.coolStuff&#8221;).each(function(){stuff you want to do}); to iterate through each element.   Note: to access the actual element in your function use the <strong>this</strong> object.  One other thing that is super helpful is the console.log() call. If you&#8217;re using Firebug for FireFox, this call will print to the FireBug Console. If you aren&#8217;t using FireBug in FireFox, then you really need to start <img src='http://sydneyhackathon.com.au/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . Get it <a href="http://getfirebug.com/" target="_blank">here</a>!</p>
<p>So here we go..  All I really added was a couple more functions, a  number of results global variable, and my api key as a global variable.  As for the new funcitons, one makes the call to the content API and the other handles the response.  The console.log(text) call will show you what actually comes back from the Content API call. This can be useful to see what the data actually looks like, but once you know, you should probably get rid of it.   If you aren&#8217;t familiar with the JSON part of the code, don&#8217;t worry, I&#8217;ll try to follow up with an intro to basic JSON, or you can ask me tomorrow at the hack <img src='http://sydneyhackathon.com.au/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  .</p>
<p><span class="Apple-style-span" style="font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px; white-space: pre;">&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243;?&gt;</span></p>
<pre>&lt;Module&gt;
&lt;ModulePrefs
        title="SciVerse Examples - Content API Call 1"
        title_url="http://developer.sciverse.com"
        author_email="you@you.com"
        description="Intro to Gadgets"&gt;
    &lt;Require feature="opensocial-0.9" /&gt;
    &lt;Require feature="sciverse" /&gt;
    &lt;Require feature="hub" /&gt;
    &lt;Require feature="dynamic-height"/&gt;
    &lt;Require feature="org.jquery.core-1.4.2" /&gt;
&lt;/ModulePrefs&gt;

&lt;Content type="html" view="profile,canvas"&gt;&lt;![CDATA[

&lt;style&gt;
	 #content_div{
		padding-top:15px;
	 	text-align:center;
		font-weight:bold;
	 }

	 .red{
	 	color:red;
		text-decoration:underline;

	 }

&lt;/style&gt;

&lt;script type="text/javascript" &gt;  

	// global variables
	var myapikey = "30b684c9d37d7c9805e77d106a344df2";
	var context;
	var authTok;
	var searchTerms;
	var numberOfSearchResultsToReturn = 50;

	//The URL for the content API search call
	var apiSearchURL = "http://api.elsevier.com/content/search/index:";

	/**
	 * 'run' is called when the 'onload' event is triggered after the page finished loading
	 */
	function run()
	{
		// the getContextInfo is a framework API call that returns the ContextInfo object.
		// @see http://developer.sciverse.com/framework#context
		gadgets.sciverse.getContextInfo(init);
	}

	/**
	 * 'init' initializes the gadget. it sets the user's search term as the default search term.
	 * this is called when the contextInfo call above succeeds.
	 */
	function init(data){
		context = data;
		searchTerms = context.searchTerms;
		authTok = context.secureAuthtoken;
		makeContentApiCall();
	}

	/**
	* Prepare to make the content api call.
	*/

	function makeContentApiCall()
	{
		//get the search terms
		var SDSearchString = searchTerms;

		//url encode them so they don't mess up the html request
		SDSearchString = encodeURIComponent(SDSearchString);

		var nrOfResults = numberOfSearchResultsToReturn;
		var view = "COMPLETE";

		//the cluster or index we want to search against.
		var cluster = "SCIDIR";

		var search = apiSearchURL + cluster + "?query=" + SDSearchString + "&amp;count="+nrOfResults+"&amp;view="+view;

		//setup the authentication part of the call.
		/**You must have a apikey AND authtoken for content api calls**/
		var requestHeaders = {};
		requestHeaders['X-ELS-APIKey'] = myapikey;
		requestHeaders['X-ELS-Authtoken'] = authTok;
		makeApiRequest(search, apiResponse, requestHeaders);         

	}

	function makeApiRequest(url, callback, requestHeaders)
	{
	    var params = {};
	    params[gadgets.io.RequestParameters.HEADERS] = requestHeaders;
	    gadgets.sciverse.makeRequest(url, callback, params);
	}

	function apiResponse(obj){
	    var output = "";

	    if(obj == null){
		//if there is no response then we had an error
		var display = "&lt;b&gt;&lt;font color='red'&gt;return object == null&lt;/font&gt;&lt;/b&gt;";

		//use JQuery to set the html for the div
		$('#content_div').html(display);
		return;
	    }

	    var text = obj['text'];

	    // @see http://wiki.opensocial.org/index.php?title=Gadgets.json_%28v0.9%29
	    var textJson = gadgets.json.parse(text);

	    console.log(text);

	    //is there even any results?
	    if(!textJson){
		var display = "&lt;b&gt;&lt;font color='red'&gt;parsing results returned nothing&lt;/font&gt;&lt;/b&gt;"
		$('#content_div').html(display);
		return;
	    }

	    // @see http://www.json.org/js.html
	    var entries = textJson['search-results']['entry'];
	    numberOfEntries = entries.length;
	    output = output + "&lt;b&gt;number of entries: " + numberOfEntries + "&lt;/b&gt;&lt;br&gt;";

	    // @see http://api.jquery.com/jQuery.each/
	    $.each(entries, function(i1, entry){
		var title = entry['dc:title'];
		output = output + (i1+1) + ". " + title + "&lt;br&gt;";
	    });

	    $('#content_div').html(output);
	}

	// @see http://wiki.opensocial.org/index.php?title=Gadgets.util_%28v0.9%29#gadgets.util.registerOnLoadHandler
	//regester the onload function. When the page is fully loaded it will call this function
	gadgets.util.registerOnLoadHandler(run);

&lt;/script&gt;

	&lt;div id="content_div" style="font-size: 10;"&gt;&lt;/div&gt;

]]&gt;&lt;/Content&gt;

&lt;/Module&gt;</pre>
]]></content:encoded>
			<wfw:commentRss>http://sydneyhackathon.com.au/2011/09/intro-to-gadgets-3-a-big-leap-forward/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gadget Example 2. A small step forward.</title>
		<link>http://sydneyhackathon.com.au/2011/09/gadget-example-2-a-small-step-forward/</link>
		<comments>http://sydneyhackathon.com.au/2011/09/gadget-example-2-a-small-step-forward/#comments</comments>
		<pubDate>Thu, 22 Sep 2011 12:21:27 +0000</pubDate>
		<dc:creator>scott</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[gadgets]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.sydneyhackathon.com.au/?p=285</guid>
		<description><![CDATA[So, in the last example I showed you how to get a property from the context info object ...]]></description>
			<content:encoded><![CDATA[<p>So, in the last example I showed you how to get a property from the context info object and display it.  This next example is going to go a small step forward and add using user preferences. User Preferences can be used to add custom variables to your code and also pull in values from the frame work.  One of the most important ones you can do this with is the Secured Auth Token.  The Secured Auth Token is one of the required parameters needed to make Content Api Calls.  I&#8217;ve also added a call to adjustHeight().  This function will adjust the height of your gadget to fit it&#8217;s content.   In order for this to work you need to inlcude the feature &#8220;dynamic-height&#8221; in the Module Prefs.</p>
<p>On a side note:  One thing that might help new people to using some of the jquery functionality (code with $( ) ), is some JQuery Cheat sheets. Check it out <a href="http://oscarotero.com/jquery/" target="_blank">here</a>.  The JQuery Documentation can also be found at<a title="JQuery Documentation" href="http://docs.jquery.com/Main_Page" target="_blank"> JQuery&#8217;s Site</a>.</p>
<pre>&lt;?xml version="1.0" encoding="UTF-8"?&gt;

&lt;Module&gt;
&lt;ModulePrefs
        title="SciVerse Examples - Content API Call 1"
        title_url="http://developer.sciverse.com"
        author_email="you@you.com"
        description="Intro to Gadgets"&gt;
    &lt;Require feature="opensocial-0.9" /&gt;
    &lt;Require feature="sciverse" /&gt;
    &lt;Require feature="hub" /&gt;
    &lt;Require feature="dynamic-height"/&gt;
    &lt;Require feature="org.jquery.core-1.4.2" /&gt;
&lt;/ModulePrefs&gt;

&lt;UserPref name="secureAuthtoken" datatype="hidden" /&gt;
&lt;UserPref name="myPref" datatype="hidden" default_value="This is my custom Pref" /&gt;
&lt;Content type="html" view="profile,canvas"&gt;&lt;![CDATA[

&lt;style&gt;
	 #content_div{
		padding-top:15px;
	 	text-align:center;
		font-weight:bold;
	 }

	 .red{
	 	color:red;
		text-decoration:underline;

	 }

&lt;/style&gt;

&lt;script type="text/javascript" &gt;  

	// global variables
	var myapikey = "your api-key here";
	var context;
	var authTok;
	var searchTerms;

	/**
	 * 'run' is called when the 'onload' event is triggered after the page finished loading
	 */
	function run()
	{
		// the getContextInfo is a framework API call that returns the ContextInfo object.
		// @see http://developer.sciverse.com/framework#context
		gadgets.sciverse.getContextInfo(init);
	}

	/**
	 * 'init' initializes the gadget. it sets the user's search term as the default search term.
	 * this is called when the contextInfo call above succeeds.
	 */
	function init(data){
		context = data;
		searchTerms = context.searchTerms;
		authTok = context.secureAuthtoken;
		makeContentApiCall();
	}

	/**
	* Prepare to make the content api call.
	*/

	function makeContentApiCall()
	{  

		$("#content_div").append("&lt;div&gt;This is an auth Token from Context: &lt;span class='red'&gt; " + authTok + "&lt;/span&gt;&lt;/div&gt;&lt;br/&gt;");
		$("#content_div").append("&lt;div&gt;This is an auth Token from User Preferences: &lt;span class='red'&gt; __UP_secureAuthtoken__ &lt;/span&gt;&lt;/div&gt;&lt;br/&gt;");
		$("#content_div").append("&lt;div&gt;This is a custom user Preference:&lt;span class='red'&gt; __UP_myPref__ &lt;/span&gt;&lt;/div&gt;&lt;br/&gt;");
		$("#content_div").append("&lt;div&gt;The User's search terms:&lt;span class='red'&gt; " + searchTerms + "&lt;/span&gt;&lt;/div&gt;");

		//automatically resize the height of the gadget to fit the content vertically
		//adjustHeight can also take a value like "399px"
		gadgets.window.adjustHeight();

	};

	// @see http://wiki.opensocial.org/index.php?title=Gadgets.util_%28v0.9%29#gadgets.util.registerOnLoadHandler
	//regester the onload function. When the page is fully loaded it will call this function
	gadgets.util.registerOnLoadHandler(run);

&lt;/script&gt;
&lt;div id="content_div" style="font-size: 10;"&gt;&lt;/div&gt;

]]&gt;&lt;/Content&gt;

&lt;/Module&gt;</pre>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://sydneyhackathon.com.au/2011/09/gadget-example-2-a-small-step-forward/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Help navigating SciVerse Documentation</title>
		<link>http://sydneyhackathon.com.au/2011/09/help-navigating-sciverse-documentation/</link>
		<comments>http://sydneyhackathon.com.au/2011/09/help-navigating-sciverse-documentation/#comments</comments>
		<pubDate>Thu, 22 Sep 2011 11:59:21 +0000</pubDate>
		<dc:creator>ben</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.sydneyhackathon.com.au/?p=283</guid>
		<description><![CDATA[In the 2 days you are building applications, you won&#8217;t have much time to read through the SciVerse ...]]></description>
			<content:encoded><![CDATA[<p>In the 2 days you are building applications, you won&#8217;t have much time to read through the SciVerse Developer Portal.  This post will direct you to some of our most important links and information in order to make sure you win the $1500!</p>
<p><strong>Where are you going to place your application? &#8211; </strong>Applications appear within the SciVerse products (ScienceDirect, Scopus and Hub) via integration points.  For a handy list of integration points including screenshots, check out our <strong><a href="http://developer.sciverse.com/integration">integration points page</a></strong>.  See my next point before choosing SciVerse Hub.</p>
<p><strong>Don&#8217;t forget our bugs! - </strong>With our recent release, we have a few obnoxious bugs running around our systems.  Namely, you cannot use content API calls via SciVerse Hub.  I&#8217;d like to make you aware of our <strong><a href="http://developers.sciverse.com/troubleshooting">troubleshooting page</a> </strong>where you can get more information about our dirty laundry.</p>
<p><strong>Need some inspiration?  </strong>Not sure what kind of application you want to build?  Don&#8217;t forget to check out some of the applications in our <strong><a href="http://applications.sciverse.com">Gallery</a></strong>!</p>
<p><strong>Having a problem developing your application?  </strong>Unfortunately, we could only bring one of our devs to Australia.  We are lucky though that a few will be available in the US to help out.  If you have a question and can&#8217;t get an immediate answer-  post it in our <strong><a href="http://www.applications.sciverse.com/action/community">forum</a></strong>!   We will be working with our state-side colleagues to try to answer as many questions as possible.  You can also check out other questions that have already been answered.</p>
<p><strong>Love the  secure authoken!  </strong>Our content API&#8217;s can only be accessed within the SciVerse Applications framework and require a secure authtoken.  Make sure to keep up with <strong><a href="http://www.sydneyhackathon.com.au/author/scott/">Scott&#8217;s</a></strong> posts to get more information about how to correctly make calls to the content API&#8217;s.</p>
<p><strong>The framework API&#8217;s are your friend!  </strong>The structure and organization of Elsevier data can be a bit complex, and it can take a while to get a handle on the content API&#8217;s.  Luckily, we have the framework API&#8217;s to save the day.  Make sure to take a look at our <a href="http://developers.sciverse.com/framework">Application Framework</a> page to get a refresher on the API capabilities  and our <a href="http://developers.sciverse.com/frameworkapi">Framework API</a> page for a list of the actual API calls.</p>
<p><strong>Really bored?  </strong>If you get really bored, or hit a wall &#8211; check out our <strong><a href="http://www.facebook.com/sgcodejam24">Facebook page</a></strong> from our hackathon in Singapore.  You can view videos from the winners of that hack to get some ideas about your own application!</p>
<p>That&#8217;s it for now!  Can&#8217;t wait for the hacking to begin!</p>
]]></content:encoded>
			<wfw:commentRss>http://sydneyhackathon.com.au/2011/09/help-navigating-sciverse-documentation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Intro to building gadgets</title>
		<link>http://sydneyhackathon.com.au/2011/09/intro-to-building-gadgets/</link>
		<comments>http://sydneyhackathon.com.au/2011/09/intro-to-building-gadgets/#comments</comments>
		<pubDate>Thu, 22 Sep 2011 05:41:28 +0000</pubDate>
		<dc:creator>scott</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[gadgets]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.sydneyhackathon.com.au/?p=272</guid>
		<description><![CDATA[Ok, so I know everyone is excited to get started on their gadgets.  For those who want to ...]]></description>
			<content:encoded><![CDATA[<p>Ok, so I know everyone is excited to get started on their gadgets.  For those who want to  get something up and running quickly, follow me over the next few blog posts. I&#8217;ll slowly build from a basic gadget (printing search terms), to running a content api call to get results from ScienceDirect.  So lets get started.  Well, first you should sign up for a developer account at the <a href="http://www.applications.sciverse.com/action/customer/profile/display?pageOrigin=home&amp;zone=header&amp;" target="_blank">developers site</a>.  Then start a new project when you&#8217;re done there by clicking on <strong>Developers-&gt;My Projects-&gt; Start New Application.  </strong>Ok, now we can get started.</p>
<p>For this example,  you&#8217;ll need to select the ScienceDirect Results page as your integration point when you create the gadget. It should look something like this:</p>
<div id="attachment_273" class="wp-caption alignnone" style="width: 310px"><a href="http://www.sydneyhackathon.com.au/wp-content/uploads/2011/09/integration1.jpg"><img class="size-full wp-image-273" title="integration1" src="http://www.sydneyhackathon.com.au/wp-content/uploads/2011/09/integration1.jpg" alt="" width="300" height="200" /></a><p class="wp-caption-text">Search Results Integration Point</p></div>
<p>&nbsp;</p>
<p>All this gadget will do is print out the user&#8217;s search terms.  So to test the gadget, go to ScienceDirect, log in, and run a search. You should see something like this on the left hand side of your screen.  The text in the gadget will match whatever you searched for.</p>
<div id="attachment_276" class="wp-caption alignnone" style="width: 227px"><a href="http://www.sydneyhackathon.com.au/wp-content/uploads/2011/09/gadget1.jpg"><img class="size-full wp-image-276" title="gadget1" src="http://www.sydneyhackathon.com.au/wp-content/uploads/2011/09/gadget1.jpg" alt="" width="217" height="250" /></a><p class="wp-caption-text">Step 1 Gadget</p></div>
<p>&nbsp;</p>
<p>So how do we do this?  Well, here is the xml for our first basic gadget:</p>
<pre>&lt;?xml version="1.0" encoding="UTF-8"?&gt;

&lt;Module&gt;
&lt;ModulePrefs
        title="Step 1"
        title_url="http://developer.sciverse.com"
        author_email="you@you.com"
        description="Intro to Gadgets"&gt;
    &lt;Require feature="opensocial-0.9" /&gt;
    &lt;Require feature="sciverse" /&gt;
    &lt;Require feature="hub" /&gt;
    &lt;Require feature="org.jquery.core-1.4.2" /&gt;
&lt;/ModulePrefs&gt;

&lt;Content type="html" view="profile,canvas"&gt;&lt;![CDATA[

&lt;style&gt;
	 #content_div{
		padding-top:15px;
	 	text-align:center;
		font-weight:bold;
	 }

&lt;/style&gt;

&lt;script type="text/javascript" &gt;  

	// global variables
	var context;
	var searchTerms;
	var docTitle;
	/**
	 * 'run' is called when the 'onload' event is triggered after the page finished loading
	 */
	function run()
	{
		// the getContextInfo is a framework API call that returns the ContextInfo object.
		// @see http://developer.sciverse.com/framework#context
		gadgets.sciverse.getContextInfo(init);
	}

	/**
	 * 'init' initializes the gadget. it sets the user's search term as the default search term.
	 * this is called when the contextInfo call above succeeds.
	 */
	function init(data){
		context = data;
		searchTerms = context.searchTerms;

		$("#content_div").html(searchTerms);

	}

	// @see http://wiki.opensocial.org/index.php?title=Gadgets.util_%28v0.9%29#gadgets.util.registerOnLoadHandler
	//regester the onload function. When the page is fully loaded it will call this function
	gadgets.util.registerOnLoadHandler(run);

&lt;/script&gt;

	&lt;div id="content_div" style="font-size: 10;"&gt;&lt;/div&gt;

]]&gt;&lt;/Content&gt;

&lt;/Module&gt;</pre>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://sydneyhackathon.com.au/2011/09/intro-to-building-gadgets/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gadgets. A first look.</title>
		<link>http://sydneyhackathon.com.au/2011/09/gadgets-a-first-look/</link>
		<comments>http://sydneyhackathon.com.au/2011/09/gadgets-a-first-look/#comments</comments>
		<pubDate>Thu, 22 Sep 2011 05:04:43 +0000</pubDate>
		<dc:creator>scott</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[gadgets]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.sydneyhackathon.com.au/?p=250</guid>
		<description><![CDATA[In order to create a gadget for the sciverse platform, you need to understand the structure of the gadget ...]]></description>
			<content:encoded><![CDATA[<p>In order to create a gadget for the sciverse platform, you need to understand the structure of the gadget xml file.  There are three main parts.</p>
<p><strong>The Module Preferences section:</strong><br />
<span class="Apple-style-span" style="font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px; white-space: pre;"> &lt;ModulePrefs title=&#8221;MyAwesomeGadget&#8221; author_email=&#8221;you@your.domain&#8221;&gt;</span></p>
<pre>  &lt;/ModulePrefs&gt;</pre>
<p><strong>The user preference section:</strong></p>
<p><span class="Apple-style-span" style="font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px; white-space: pre;">&lt;UserPref name=&#8221;secureAuthtoken&#8221; datatype=&#8221;hidden&#8221; /&gt;</span></p>
<p><strong>Then the Content sections.</strong>  You can have a content section for each type of integration point.  See <a title="Sciverse Integration Points" href="http://developers.sciverse.com/integration" target="_blank">here</a> for info on integration points.  You can also combine integration point definitions by simply listing them  (i.e. view=&#8221;profile, canvas&#8221;)</p>
<pre>  &lt;Content type="html" view="profile"&gt;
  &lt;![CDATA[
     &lt;!-- The code for the view is here. --&gt;
  ]]&gt;
  &lt;/Content&gt;</pre>
<p><strong>When all of this is combined, you will have the basic skeleton for a gadget:</strong></p>
<p><span class="Apple-style-span" style="font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px; white-space: pre;">&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243;?&gt;</span></p>
<pre>&lt;Module&gt;
  &lt;ModulePrefs title="MyAwesomeGadget" author_email="you@your.domain"&gt;

  &lt;/ModulePrefs&gt;

  &lt;UserPref name="secureAuthtoken" datatype="hidden" /&gt;

  &lt;Content type="html" view="profile"&gt;
  &lt;![CDATA[</pre>
<pre>    &lt;!-- The code for the view is here. --&gt;</pre>
<pre>  ]]&gt;
  &lt;/Content&gt;
&lt;/Module&gt;</pre>
]]></content:encoded>
			<wfw:commentRss>http://sydneyhackathon.com.au/2011/09/gadgets-a-first-look/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Featured App iSpeech</title>
		<link>http://sydneyhackathon.com.au/2011/09/featured-app-ispeech/</link>
		<comments>http://sydneyhackathon.com.au/2011/09/featured-app-ispeech/#comments</comments>
		<pubDate>Wed, 21 Sep 2011 13:08:20 +0000</pubDate>
		<dc:creator>james</dc:creator>
				<category><![CDATA[Featured App]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Apps]]></category>
		<category><![CDATA[Audio]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[mp3]]></category>
		<category><![CDATA[Text to speech]]></category>

		<guid isPermaLink="false">http://www.sydneyhackathon.com.au/?p=264</guid>
		<description><![CDATA[Featured App iSpeech The iSpeech Audio Reader text-to-speech application instantly converts any full-text article within SciVerse ScienceDirect, a ...]]></description>
			<content:encoded><![CDATA[<p><center><br />
<iframe src="http://www.youtube.com/embed/OQkH2CGUWwc" frameborder="0" width="400" height="233"></iframe></center></p>
<h1>Featured App iSpeech</h1>
<h3>The iSpeech Audio Reader text-to-speech application instantly converts any full-text article within SciVerse ScienceDirect, a source of peer-reviewed scientific content containing more than 10 million articles, into a natural sounding voice file.</h3>
<p>It enables researchers to easily convert articles into MP3 audio files and listen to them on any MP3-friendly device.</p>
]]></content:encoded>
			<wfw:commentRss>http://sydneyhackathon.com.au/2011/09/featured-app-ispeech/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
