Os3

11
SEMINÁRIO SEMINÁRIO Redes Sociais Redes Sociais Utilizando o Utilizando o OpenSocial OpenSocial 3ª Sessão 3ª Sessão Orador: Eng. Joaquim F. Silva Orador: Eng. Joaquim F. Silva [email protected] ISTEC-PORTO ISTEC-PORTO Junho 2009 Junho 2009

Transcript of Os3

Page 1: Os3

SEMINÁRIOSEMINÁRIORedes Sociais Redes Sociais Utilizando o Utilizando o OpenSocial OpenSocial 3ª Sessão3ª Sessão

Orador: Eng. Joaquim F. SilvaOrador: Eng. Joaquim F. [email protected]

ISTEC-PORTOISTEC-PORTOJunho 2009Junho 2009

Page 2: Os3

AGENDAAGENDA 1.ª Sessão: 17 de Junho das 18:30h - 20:30h1.ª Sessão: 17 de Junho das 18:30h - 20:30h          - Programação em Redes Sociais - Programação em Redes Sociais 

- Introdução ao OpenSocial - Introdução ao OpenSocial 

2.ª Sessão: 25 de Junho das 18:30h - 2.ª Sessão: 25 de Junho das 18:30h - 20:30h                          20:30h                          - Gadget XML e Gadget API - Gadget XML e Gadget API - JavaScript API - JavaScript API 

3.ª Sessão: 26 de Junho das 18:30h - 22:30h3.ª Sessão: 26 de Junho das 18:30h - 22:30h      - Desenvolvimento de aplicações simples, - Desenvolvimento de aplicações simples,

utilizando o OpenSocial APIutilizando o OpenSocial API        

Page 3: Os3

Síntese da 1ª SessãoSíntese da 1ª Sessão Existem diversos “containers”Existem diversos “containers” Definição das metas, canais “virais”, Definição das metas, canais “virais”, Algumas técnicas de marketing e retenção Algumas técnicas de marketing e retenção

dos utilizadores nas aplicaçõesdos utilizadores nas aplicações Arquitectura do OpenSocial e das Arquitectura do OpenSocial e das

AplicaçõesAplicações Tipos de dados suportados pelo OpenSocialTipos de dados suportados pelo OpenSocial Como disponibilizar aplicações no Hi5?Como disponibilizar aplicações no Hi5? O que é preciso para começar a O que é preciso para começar a

programar?programar?

Page 4: Os3

Síntese da 2ª SessãoSíntese da 2ª Sessão Utilizar o container do Hi5 e incluir o Utilizar o container do Hi5 e incluir o

“sandbox” de programador:“sandbox” de programador: http://developer.hi5.com/

Recorrer ao GDE (Google Desktop Recorrer ao GDE (Google Desktop Editor) para escrever o código (XML)Editor) para escrever o código (XML) http://www.google.com/ig/adde?moduleu

rl=gge.xml Ferramentas de desenvolvimento..Ferramentas de desenvolvimento..

http://code.google.com/intl/pt/apis/gadgets/docs/legacy/tools.html#Host

Page 5: Os3

3ª Sessão3ª Sessão

26 de Junho das 18:30h -26 de Junho das 18:30h -22:30h                          22:30h                          - JavaScript API- JavaScript API

Objectivo:Objectivo: Desenvolvimento de aplicações Desenvolvimento de aplicações

simples utilizando o OpenSocial APIsimples utilizando o OpenSocial API

Page 6: Os3

Tutorial ObterAmigosTutorial ObterAmigos<?xml version="1.0" encoding="UTF-8"?><?xml version="1.0" encoding="UTF-8"?>

<Module><Module>

<ModulePrefs title="hello world example" author_email=“[email protected]"><ModulePrefs title="hello world example" author_email=“[email protected]">

<Require feature="opensocial-0.8"/><Require feature="opensocial-0.8"/>

</ModulePrefs></ModulePrefs>

<Content type="html"><Content type="html">

<![CDATA[<![CDATA[

<script type="text/javascript"><script type="text/javascript">

function response(data) {function response(data) {

var element = document.getElementById('content');var element = document.getElementById('content');

if (data.hadError()) { if (data.hadError()) {

if (data.get("req").hadError()) { if (data.get("req").hadError()) {

output("Error: " + data.get("req").getErrorMessage()); output("Error: " + data.get("req").getErrorMessage());

} }

if (data.get("req_friends").hadError()) { if (data.get("req_friends").hadError()) {

output("Error: " + data.get("req_friends").getErrorMessage()); output("Error: " + data.get("req_friends").getErrorMessage());

} }

return; return;

} }

Page 7: Os3

Tutorial Obter AmigosTutorial Obter Amigos element.innerHTML = "Amigos de " + element.innerHTML = "Amigos de " +

data.get("req").getData().getDisplayName() + ":<br>"; data.get("req").getData().getDisplayName() + ":<br>";

element.innerHTML = element.innerHTML + element.innerHTML = element.innerHTML + "=====================<br>"; "=====================<br>";

data.get("req_friends").getData().each(function(person) { data.get("req_friends").getData().each(function(person) {

var thumb = var thumb = person.getField(opensocial.Person.Field.THUMBNAIL_URL);person.getField(opensocial.Person.Field.THUMBNAIL_URL);

element.innerHTML = element.innerHTML + ""<img src='" + thumb + element.innerHTML = element.innerHTML + ""<img src='" + thumb + "' width=20 height=20/>&nbsp;";"' width=20 height=20/>&nbsp;";

element.innerHTML = element.innerHTML + element.innerHTML = element.innerHTML + person.getDisplayName() + "<br>";person.getDisplayName() + "<br>";

}); });

gadgets.window.adjustHeight();gadgets.window.adjustHeight();

}}

Page 8: Os3

Tutorial Obter AmigosTutorial Obter Amigos function request() { function request() {

var req = opensocial.newDataRequest(); var req = opensocial.newDataRequest();

var spec = opensocial.newIdSpec({"userId" : "OWNER", "groupId" : var spec = opensocial.newIdSpec({"userId" : "OWNER", "groupId" : "FRIENDS"}); "FRIENDS"});

var params = { "max" : 30 }; var params = { "max" : 30 };

req.add(req.newFetchPersonRequest(opensocial.IdSpec.PersonId.OWNER), req.add(req.newFetchPersonRequest(opensocial.IdSpec.PersonId.OWNER), "req"); "req");

req.add(req.newFetchPeopleRequest(spec, params), "req_friends"); req.add(req.newFetchPeopleRequest(spec, params), "req_friends");

req.send(response);req.send(response);

}}

</script></script>

Prima o botão para obter 50 amigos .<br><br>Prima o botão para obter 50 amigos .<br><br>

<input type="button" value="Amigos do Hi5" onclick="request()"><br><br><input type="button" value="Amigos do Hi5" onclick="request()"><br><br>

<div id="content"></div><div id="content"></div>

]]>]]>

</Content></Content>

</Module> </Module>

Page 9: Os3

URLsURLs

http://www.hi5networks.com/platform/wiki/SampleCode

http://code.google.com/intl/pt/apis/gdata/auth.html

http://code.google.com/intl/pt/apis/igoogle/docs/igoogledevguide.html

http://code.google.com/intl/pt/appengine/

Page 10: Os3

Como evoluir?Como evoluir? Ferramentas de desenvolvimento de Ferramentas de desenvolvimento de

gadgets gadgets http://code.google.com/intl/pt/apis/igoogle/docs/igoo

gledevguide.html

Tutorial OpenSocial (OpenSocial API Tutorial OpenSocial (OpenSocial API v0.8)v0.8) http://code.google.com/intl/pt/apis/opensocial/articles/tutorial/http://code.google.com/intl/pt/apis/opensocial/articles/tutorial/

tutorial-0.8.html tutorial-0.8.html

Construir uma aplicação (app) Construir uma aplicação (app) OpenSocial com o Google App EngineOpenSocial com o Google App Engine http://wiki.opensocial.org/index.php?http://wiki.opensocial.org/index.php?

title=Building_an_OpenSocial_App_with_Google_Apptitle=Building_an_OpenSocial_App_with_Google_App_Engine _Engine

Page 11: Os3

ObrigadoObrigado Joaquim Fernando SilvaJoaquim Fernando Silva

e-mail: [email protected] e-mail: [email protected]

url: http://paginas.fe.up.pt/~pro05009/url: http://paginas.fe.up.pt/~pro05009/

Apresentação disponível no Apresentação disponível no slideshare em:slideshare em:

http://www.slideshare.net/jffs992http://www.slideshare.net/jffs992