Issuu on Google+

 

 

 

 

 

 

               

 

iWiW Alkalmazások Fejlesztői Dokumentáció  2009. február 

OPENSOCIAL ALKALMAZÁSOK AZ IWIWEN  BÁRTHÁZI ANDRÁS 


iWiW Alkalmazások Fejlesztői Dokumentáció 

2009. február

 

Tartalomjegyzék Bevezetés 

Alapok 

Kommunikáció a fejlesztők és az iWiW között 

4  5 

Technikai információk  Az alkalmazások felépítése 

Nézetek, megjelenés 

Felhasználók, ismerősök 

7

Adattárolás az iWiW­en 

Kommunikáció külső szerverrel 

Történések 

10 

Értesítések 

11 

Gyorsítótárazás 

11 

Gadget XML megkötések 

11 

További információk 

12 

 

 

 

  

 


iWiW Alkalmazások Fejlesztői Dokumentáció 

2009. február

Bevezetés Az Origo Zrt. 2009. tavaszától bevezeti az iWiW‐en a harmadik fél által fejlesztett  alkalmazásokat. Külső fejlesztők az OpenSocial 0.8.1‐es szabványt használva  készíthetnek úgynevezett gadgeteket, melyek hozzáférhetnek a felhasználók  kapcsolati hálójához, profil adataihoz, illetve aktivitásokat, értesítéseket  küldhetnek.  Az OpenSocial szabvány JavaScript nyelven írt alkalmazások készítését teszi  lehetővé, ehhez különböző függvényeket definiál, melyek segítségével elérhetőek  ezek a közösségi funkciók.  Az OpenSocial referencia a http://code.google.com/intl/hu‐ HU/apis/opensocial/docs/ címen érhető el angol nyelven, ugyanitt pár példa is  olvasható. 

Alapok  Az alkalmazások fejlesztésére az iWiW a Fejlesztői Portál keretében nyújt  lehetőséget, mely segítségével egy az iWiW jövőbeni felületével megegyező  „homokozóban” lehet tesztelni, fejleszteni az alkalmazásokat. A Fejlesztői Portál  a http://dev.iwiw.hu/ címen érhető el. Itt olvasható a Fejlesztői Blog  (http://dev.iwiw.hu/blog/) és a Fejlesztői Wiki (http://dev.iwiw.hu/wiki/) is,  melyeken igyekszünk mindig aktuális információkkal ellátni a fejlesztőket.  Az iWiW Homokozó (http://sandbox.iwiw.hu/) – csak a portálon történő  regisztráció után használható ‐  az a hely, ahol fejleszteni lehet az  alkalmazásokat. Ez tulajdonképpen egy mini iWiW klón, ahol az igazi legtöbb  funkciója, illetve az alkalmazások bevezetésével bővített állapot elérhető.  Minden fejlesztő kap 300 felhasználói hozzáférést is véletlenszerűen nevekkel,  profil képekkel, így a közösségi interakciókat is tesztelni lehet. Itt láthatóak és  ide telepíthetőek a saját alkalmazások, és itt tesztelhető azok működése is.  A Fejlesztői Portál és a Homokozó folyamatos béta időszakát éli, ez azt jelenti  hogy egyes dolgok folyamatosan változnak, fejlődnek. A Homokozó várhatóan  folyamatosan az éles iWiW előtt lesz ami az elérhető funkciókat illeti.  A Wiki‐n elérhető Fejlesztői ÁSZF, illetve kivonata, a Fejlesztői útmutató a  legtöbb kérdésre választ adnak azt illetően, hogy mi engedélyezett az oldalon egy  fejlesztőnek, és mi az, ami tiltott. A lehetőségeket és szabályokat igyekeztünk a  jogi környezet figyelembevételével úgy megalkotni, hogy azok minél nyitottabb  együttműködést tegyenek lehetővé az iWiW és a fejlesztők között.  A Fejlesztői Portálon történő regisztrációhoz egy e‐mail cím, egy magyar  mobiltelefon és egy webszerver/tárhely (különösebb követelmények nélkül)  szükséges. A mobiltelefon a regisztrációhoz szükséges, SMS‐ben küld a rendszer  aktiváló kódot a regisztráció során. A tárhely az alkalmazás (XML formátumú)  interneten történő elérhetővé tételéhez szükséges: az alkalmazás telepítéséhez  egy URL‐t kell megadni, ahol az elérhető.   

 

  

 


iWiW Alkalmazások Fejlesztői Dokumentáció 

2009. február

További információk a Fejlesztői Portálon történő regisztrációról a blogban  érhetőek el: http://dev.iwiw.hu/blog/index.php/2008/12/12/elso‐ alkalmazasom/ ‐ itt egy alkalmazás feltelepítésének folyamata olvasható,  lépésről‐lépésre végigvezetve a regisztrációtól az alkalmazás kipróbálásáig. A  folyamatot képernyőképekkel is illusztráltuk.  További segítséget a jelenthet fejlesztői környezet kialakításáról szóló  blogbejegyzés is: http://dev.iwiw.hu/blog/index.php/2008/12/28/fejlesztoi‐ kornyezet‐kialakitasa/ 

Kommunikáció a fejlesztők és az iWiW között A fejlesztők segítése kiemelt feladatunk, ennek kapcsán több fronton is  igyekezzük támogatni őket. Ezek a felületek a Fejlesztői Portálon érhetőek el: a  blog, a wiki, a twitter üzenetek és a fórum képezik részét. Emailben a dev kukac  iwiw pont hu  címen is segítünk, válaszolunk a kérdésekre. Mindegyik  kommunikációs csatornának más a célja, elgondolásai.  E‐mailben azoknak tudunk segíteni, akiknek inkább másokra nem tartozó, egyedi  problémájuk van, illetve bizalmas információt szeretnének megosztani.  Forduljatok hozzánk bizalommal.  A fórumon, melyet a belépett fejlesztők érnek el, a több fejlesztőt is érintő  témákat lehet felvetni, itt adunk teret a fejlesztők közötti együttműködésre is. Cél  az is, hogy a publikus kérdésekre, problémákra a lehető legtöbben lássák a  válaszokat. A fórumot legkönnyebben a friss hozzászólások listájának  figyelésével lehet követni.  A blogon a hosszabb híreket, illetve technikai leírásokat, információkat tesszük  közzé. Mivel fontos híreket, és példákkal, magyarázatokkal tűzdelt leírásokat  osztunk meg, napi szintű követését kiemelten javasoljuk. Ebben segít a blog  feedjének egy RSS olvasóba (Netvibes, Google Reader, stb.) történő felvétele,  illetve a blog hozzászólásoknál kérhető értesítés az adott bejegyzés további  hozzászólásairól.  A Twitter felhasználónk (http://twitter.com/iwiwdev) a blog hírszolgáltatását  egészíti ki. Rövid és az adott pillanatban aktuális híreket teszünk itt közzé (a  Fejlesztői Portált érintő fejlesztéseket, frissítéseket, hibajavításokat jelentjük,  illetve a blog bejegyzéseit promózzuk). Ezeket a híreket minél hamarabb  szeretnénk eljuttatni a fejlesztőkhöz. Twitterhez számos kliensalkalmazás van,  de egyszerűen a Twitter feedünkre  (http://twitter.com/statuses/user_timeline/iwiwdev.rss) is fel lehet iratkozni.  Végül, de nem utolsó sorban a Wiki az API technológiai alapismeretek közlésére  szolgál. Itt olvashatóak azok az alapok, melyek elengedhetetlenül szükségesek  lehetnek az alkalmazásfejlesztéshez, s idővel ide kerülnek majd be kicsit  átszerkesztett formában a blogon megjelent technikai információk is. 

 

 

  

 


iWiW Alkalmazások Fejlesztői Dokumentáció 

2009. február

Technikai információk Az alkalmazások felépítése  Az iWiW alkalmazások legfontosabb központi eleme egy XML fájl, sőt, adott  esetben előfordulhat hogy az alkalmazás csak és kizárólag ebből a fájlból áll. Ez  az XML tartalmazza az alkalmazás meta adatait (szerző, alkalmazás ikon, stb.), a  hivatkozásokat külső állományokra (pl. CSS, JS fájlok), az alkalmazás JavaScript  kódját, és egyebeket. Az XML felépítése nagyon hasonlít egy egyszerű weblap  felépítéséhez.  Egy rövid példakód:  <?xml version=”1.0” encoding=”UTF-8” ?>  <Module> <ModulePrefs title=”Az alkalmazás neve” author=”A fejlesztő neve” author_email=”dev@example.com”> <Require feature=”opensocial-0.8” /> </ModulePrefs> <Content type=”html” view=”profile”> <![CDATA[ Ide jön a profil oldalra szánt alkalmazáskód ]]> </Content> <Content type=”html” view=”canvas”> <![CDATA[ Ide jön a “teljes képernyős” oldalra szánt alkalmazáskód ]]> </Content> </Module>

A <![CDATA[ ... ]]> használata nagyon fontos, máskülönben az XML értelmező a  <Content> tartalmát is XML‐ként fogja feldolgozni, ami nem várt eredményekhez  vezethet. Az így megjelölt tartalom szöveges információként értelmeződik, ami  már rendesen feldolgozásra kerül.  Ennyi az alkalmazás vázának a lényege, de egy kicsit még írnék a korábban (Első  alkalmazásom) már behivatkozott Hello iWiW alkalmazás tartalmáról is:  <?xml version=”1.0” encoding=”UTF-8”?> <Module> <ModulePrefs title=”Hello iWiW” author=”DevBlogger” author_email=”dev@iwiw.hu”> <Require feature=”opensocial-0.8”/> </ModulePrefs> <Content type=”html”> <![CDATA[ <script type=”text/javascript” src=”http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js”></scri pt> <script type=”text/javascript”> var App = { init: function() { $(’#content’).html(’Hello iWiW!’); } }; gadgets.util.registerOnLoadHandler(App.init); </script> <div id=”content”>

 

 

  

 


iWiW Alkalmazások Fejlesztői Dokumentáció 

2009. február

</div> ]]> </Content> </Module>

A kód JavaScript részére egyelőre ne essék szó, de említsük meg, hogy mint  látható, külső JavaScripteket is be tudunk hívni más oldalakról, értelemszerűen  inline JavaScriptet is írhatunk, illetve HTML részleteket is elhelyezhetünk. Ebben  a példában még nem látszik, de CSS‐t is behúzhatunk vagy beleírhatunk a kódba. 

Nézetek, megjelenés  Az OpenSocial az alkalmazások az adott közösségi portál több felületén történő  megjelenését teszi lehetővé. Az iWiW ebből jelenleg két felületet, nézetet  támogat, az iWiW‐en újnak számító canvast, és a már ismert profil oldalit:  • •

canvas nézet: az alkalmazás „szélesvásznú” nézete – ez az alkalmazás saját felülete. Ennek a szélessége 750 pixel, maximális magassága nem korlátozott. profil nézet: a felhasználó profiloldalán jelennek meg a legutóbb telepített alkalmazások, egyszerre több is. Ennek a szélessége 560 pixel, maximális magassága technikailag nem korlátozott, de elvárjuk, hogy célszerű legyen a felület kihasználása.

Más nézetek jelenleg nem támogatottak. Az előbbi példakódban látható, hogy  hogyan lehet ezeket a felületeket külön kezelni, más tartalmakat megjeleníteni  rajtuk.  A profil oldalon tiltott az iWiW‐ről kimutató link, illetve reklám elhelyezése.  Az alkalmazásban bármilyen grafika használható, nincsenek kötelezően  betartandó irányelveink (kivéve a jogi kérdéseket). Alapvetően két irány  képzelhető el: egy alkalmazás iWiWes desingjegyeket próbál használni, vagy  pedig teljesen egyedi designt választ.  Az alkalmazások felhasználó interfésze kiemelten fontos része kell legyen az  alkalmazásfejlesztésnek. Különböző usability szempontoknak és ízlésnek kell  megfelelni, ha olyan alkalmazás a cél, melyet sokan használnak majd. Nagyon  fontos, hogy az iWiW közönsége (hazánkban mindenképpen) egyedülálló módon  nagyon változatos ami a kort, számítástechnikai ismereteket, oldal használati  szokásokat illeti. Ha nem egy jól behatárolható, ismert célcsoportú alkalmazásról  beszélünk, akkor olyan designt kell használni mely jól érthető, átlátható, és  egyszerű megjelenést, működést biztosít. Célszerű lehet részletesen, nem  eldugott helyen elmagyarázni, hogy miről szól az adott fejlesztés, hogy mivel jár  a használata. Kiemelten kezelendő, hogy felhasználók ezreihez, tízezreihez is  eljuthat az alkalmazásotok. Mi úgy gondoljuk hogy a legjobb ha az iWiWen már megszokott designjegyekből  alakítjátok ki az alkalmazás kinézetét, mivel ez ismerős a felhasználóknak, tudják  hogy hogyan kell használni, és várhatóan nem fog gondot okozni a megértése.  Ezzel együtt látjuk és megértjük, hogy az iWiW‐en megszokottól történő  megjelenés bizonyos alkalmazásoknál célszerű lehet.   

 

  

 


iWiW Alkalmazások Fejlesztői Dokumentáció 

2009. február

Felhasználók, ismerősök  Egy alkalmazás tulajdonosának és nézőjének adataihoz férhet hozzá. Az  alkalmazás tulajdonosa az a személy, mely telepítette azt az iWiW‐en. Számos  felállás elképzelhető. Az egyik leggyakoribb, amikor egy felhasználó egy másik  felhasználónak a profil oldalán tekinti meg az alkalmazást (ilyenkor aki megnézi  a profil oldalon az alkalmazást az a néző, akinek a profil oldalán az alkalmazást  nézi, az pedig a tulajdonos). Másik igen gyakori helyzet, amikor a felhasználó a  saját magának feltelepített alkalmazást nézi, ilyenkor mind a tulajdonos, mind  pedig a néző ugyanaz a személy. További helyzet lehet, mikor a felhasználó a  saját profiloldalát nézi meg (ilyenkor szintén megegyezik a tulajdonos és a néző),  vagy egy másik személy feltelepített alkalmazását (amikor a tulajdonos a másik  személy, a néző a felhasználó).  Az OpenSocial terminológiában rendre az OWNER és VIEWER felel meg a  tulajdonos és a néző személyének. Az alkalmazás lekérdezheti az ő kapcsolati  hálójukat is, avagy az ismerőseiket. Az OWNER, VIEWER és ismerőseik profil  adataihoz férhet hozzá.  Az iWiW több dolgot is limitál (hasonlóan más OpenSocial megvalósításokhoz),  ezek a következőek:  • • •

Az ismerősök listája szűrhető, de egyedüli elérhető szűrő a HAS_APP, mely azokra a felhasználókra szűkít, akiknek fel van telepítve az alkalmazás.  Az ismerősök lekérdezésénél az egyszerre lekérdezhető felhasználók száma 50 fő, de lehetőség van több kéréssel az összes felhasználót lekérdezni.  A profil adatok közül egyelőre egy felhasználó azonosító, a felhasználó neve (bontva vezetéknévre és keresztnévre, és egyben is), a felhasználó profilképének 64x64 pixelre átméretezett verziója (thumbnail), és a profiloldalának URL-je érhető el.  A kapcsolati háló lekérdezésekor csak 1 mélységig (közvetlen kapcsolat) kérhető le az ismerősök köre. 

Az adatok lekérdezésére az opensocial.newDataRequest  (http://code.google.com/intl/huHU/apis/opensocial/docs/0.8/devguide.html#ListFriends_Intro) és az ehhez  kapcsolódó függvények szolgálnak. Ezek a lekérdezések úgynevezett aszinkron  kérések  a szerver felé, avagy egy függvényhívással elindítjuk a lekérdezést, és a  válasz “majd valamikor” megérkezik. Ennek érdekében egy függvényt is át kell  adnunk paraméternek ilyenkor, ami az adatok megérkezéskor fut le. Ez a  következőképpen néz ki a gyakorlatban:  var App = { // ezt a függvényt hívjuk meg az alkalmazás betöltődésekor init: function() { // egy adatlekérés objektumot hozunk létre var req = opensocial.newDataRequest(); // a kéréshez hozzáadjuk az alkalmazás tulajdonosának lekérdezését, a választ // “owner” néven fogjuk visszakapni req.add(req.newFetchPersonRequest(“OWNER”), “owner”); // egy csoportot definiálunk: az alkalmazás tulajdonosának az ismerősei

 

 

  

 


iWiW Alkalmazások Fejlesztői Dokumentáció 

2009. február

var usergroup = opensocial.newIdSpec({”userId”: “OWNER”, “groupId”: “FRIENDS”}); // a kéréshez hozzáadjuk az előbb definiált csoport lekérdezését, a választ // “ownerfriends” néven fogjuk visszakapni req.add(req.newFetchPeopleRequest(usergroup, {}), “ownerfriends”); // elküldjük a lekérdezést, a függvény paramétere egy másik függvény, // ami akkor kerül meghívásra, amikor a szervertől megérkezik a válasz req.send(App.displayContent); }, // ezt a függvényt hívjuk meg, amikor a szerverről megérkeznek az adatok displayContent: function(data) { var owner = data.get(“owner”).getData(); // például owner.getDisplayName() var friends = data.get(“ownerfriends”).getData(); friends.each(function(friend) { // például friend.getDisplayName() }); } };

Adattárolás az iWiW‐en Az alkalmazások jellemzően futásuk során információkat, adatokat tárolnak el a  felhasználók tevékenysége kapcsán. Az OpenSocial API, és az iWiW  megvalósítása erre limitált lehetőséget kínál. Az éppen aktuális limitációk Wiki  oldalunkon elolvashatóak, jelenleg 10 kulcs‐érték párt lehet letárolni, egy érték  maximum mérete pedig 500 karakter lehet. További adatok letárolásához külső  szerverrel kell kommunikálni.  Az alkalmazás az éppen aktuális felhasználó (néző) adatait tudja írni, és bármely  más felhasználóét melyekhez hozzáfér (tulajdonos és  tulajdonos ismerősei, néző  és néző ismerősei) korlátlanul olvasni. Kiemelten figyeljünk rá, hogy érzékeny  információt az adatok ilyen jellegű publikussága miatt nem szabad letárolnunk!  Az OpenSocial idevágó lehetőségei megtalálhatóak az OpenSocial  dokumentációban: http://code.google.com/intl/huHU/apis/opensocial/docs/0.8/devguide.html#Persistent ‐ illetve a következőképpen  működik:  var App = { // ezt a függvényt hívjuk meg az alkalmazás betöltődésekor init: function() { // egy adatlekérés objektumot hozunk létre var req = opensocial.newDataRequest(); // a kéréshez hozzáadjuk az alkalmazás tulajdonosának lekérdezését, a választ // „owner” néven fogjuk visszakapni req.add(req.newFetchPersonRequest(„OWNER”), „owner”); // egy csoportot definiálunk: az alkalmazás tulajdonosát (egyedül) var ownergroup = opensocial.newIdSpec({’userId’: ’OWNER’, ’groupId’: ’SELF’}); // a kéréshez hozzáadjuk a tulajdonos felhasználó utolsó látogatási időpontjának // lekérdezését, a választ „ownerData” néven fogjuk visszakapni req.add(req.newFetchPersonAppDataRequest(ownergroup, [’lastVisit’]), „ownerData”); // a kéréshez hozzáadjuk a néző felhasználó utolsó látogatási időpontjának mentését

 

 

  

 


iWiW Alkalmazások Fejlesztői Dokumentáció 

2009. február

req.add(req.newUpdatePersonAppDataRequest(„VIEWER”, „lastVisit”, new Date().getTime())); // elküldjük a lekérdezést, a függvény paramétere egy másik függvény, // ami akkor kerül meghívásra, amikor a szervertől megérkezik a válasz req.send(App.responseReady); }, // ezt a függvényt hívjuk meg, amikor a szerverről megérkeznek az adatok responseReady: function(data) { // az „owner”-ből lekérjük az alkalmazás tulajdonos azonosítóját var ownerId = data.get(„owner”).getData().getId(); // az „ownerData”-ből pedig lekérdezzük az adatait (lastVisit) var ownerData = data.get(„ownerData”).getData(); // utolsó látogatás időpontja ezután: ownerData[ownerId].lastVisit } }; // az alkalmazás betöltődésekor meghívandó függvényt adjuk át, hasonlít a // weblapok onload függvényéhez gadgets.util.registerOnLoadHandler(App.init);

Kommunikáció külső szerverrel  Könnyen előfordulhat, hogy ez a tíz kulcs/érték pár, vagy az 500 karakteres  limitáció nem lesz elég alkalmazásunknak. Ekkor külső szerveren történő  adattároláshoz folyamodhatunk, ahol csak a szerverünk, szervereink  korlátozhatják a tárolható mennyiséget. Ugyanígy külső adathoz folyamodhatunk  akár saját, akár más szolgáltatások API‐jait használva. Erre a  gadgets.io.makeRequest (http://code.google.com/intl/huHU/apis/opensocial/articles/makerequest-0.8.html) függvényhívás szolgál. Az  OpenSocial lehetőséget biztosít arra is, hogy a kimenő lekérdezésekkor a külső  szerver azonosítani tudja a felhasználót biztonságosan, hiszen nem mindegy,  hogy valaki ismerve a külső API elérhetőségét, milyen kéréseket indít az adott  szerver felé, megpróbálva lekérdezni adatokat. A kérés indításakor egy  paraméter, hogy az alkalmazás által indított lekérdezést az iWiW “aláírja” és  átadja a felhasználó azonosítóját is. Ez az úgynevezett oAuth hitelesítés, a szerver  oldali feldolgozásáról már írtunk a Wikiben: SignedRequest és oAuth. Az  alkalmazásunkból így indíthatunk kéréseket:  var App = { // ezt a függvényt hívjuk meg az alkalmazás betöltődésekor init: function() { gadgets.io.makeRequest(„http://feeds.delicious.com/v2/rss/popular/opensocial ?count=10”, App.responseReady, { „CONTENT_TYPE”: „FEED”, „NUM_ENTRIES”: 10 }); }, // ezt a függvényt hívjuk meg, amikor a szerverről megérkeznek az adatok responseReady: function(data) { for(var i=0; i<data.data.Entry.length;i++) { var item = data.data.Entry[i]; // például item.Title, item.Link } } }; // az alkalmazás betöltődésekor meghívandó függvényt adjuk át, hasonlít a

 

 

  

 


iWiW Alkalmazások Fejlesztői Dokumentáció 

2009. február

// weblapok onload függvényéhez gadgets.util.registerOnLoadHandler(App.init);

Az iWiW szerveréről indított kérések aláírása egy nagyon fontos biztonsági  védelem kell hogy legyen alkalmazásunkban, megelőzendő, hogy a szerverünk  felé bárki indíthasson a felhasználók nevében kéréseket. Amennyiben  úgynevezett signedRequest kérést indítunk a szerverünk felé, akkor a szerver  teljes bizonyossággal ellenőrizni tudja, hogy mely alkalmazástól, mely  felhasználótól érkezett a kérés. Erről szóló blogbejegyzésünket mindenképpen  célszerű átolvasni: http://dev.iwiw.hu/blog/index.php/2009/01/06/alairtkommunikacio-signed-request/ 

Történések  A történések (activity) segítségével az iWiW üzenőfalához hasonló módon  küldhet az alkalmazás üzeneteket. Ezeket az alkalmazás nézőjének ismerősei  láthatják az iWiW címlapján (belépés után megjelenő oldalán), illetve egy külön  részletes oldalon. A történések megjelenését a felhasználók szabályozhatják,  letilthatják alkalmazásonként.  Az OpenSocial ezirányú specifikációjához képest jelenleg a TITLE és BODY  paraméterek támogatottak, illetve használható a TEMPLATE_PARAMS, de Person  nem adható át paraméterként. Nem támogatott a történések összefoglalása, csak  valid XHTML üzenet küldhető, és csak az <a>, <i> és <b> HTML elemek  használhatóak abban.  Egy alkalmazás felhasználónként napi 5 üzenetet küldhet. Architekturális  okokból, az üzenetküldés aszinkron működése miatt előfordulhat, hogy a szerver  azt válaszolja hogy sikeres volt az üzenetküldés, de az mégsem kerül elküldésre  mert átlépte a napi limitet.  Történést az opensocial.newActicity (http://code.google.com/intl/huHU/apis/opensocial/docs/0.8/reference/#opensocial.Activity) függvény segítségével  küldhetünk. Mind az alkalmazások, mind pedig az iWiW alapszolgáltatásai a  jövőben ilyen üzeneteket fognak küldeni, melyek a felhasználó kezdőlapján  jelennek meg kivonatos formában, illetve egy külön oldalon részleteikben. Az  iWiW alapszolgáltatásai által küldött „core történések” például ismerőseink  képeinek feltöltéséről, vagy profil adatainak megváltozásáról tájékoztatnak. Az  alkalmazások ehhez hasonlóan a felhasználók alkalmazásban végzett  cselekvéseiről küldhetnek tájékoztatást.  A következő kód segítségével küldhető aktivitás:  var activity = opensocial.newActivity({ „title”: „Az alkalmazás üzenete” }); opensocial.requestCreateActivity(activity, opensocial.CreateActivityPriority.HIGH);

Ennél az aktivitások az OpenSocial szabvány szerint többet tudnak, például lehet  üzenet sablonokat definiálni és paramétereket átadni, de az iWiW egyelőre a  “title” és a “body” mezőket támogatja csak.   

 

  

10 

 


iWiW Alkalmazások Fejlesztői Dokumentáció 

2009. február

Értesítések  Az értesítések (message) segítségével személyes, felhasználótól felhasználónak  küldött üzenetek kézbesíthetőek. Ezek egy külön oldalon fognak megjelenni. Új  értesítésről a felhasználó az oldal fejlécéből, illetve emailben is értesülhet.  Ez a funkció jelenleg nem támogatott, de rövidesen tervezzük a bevezetését. 

Gyorsítótárazás A fejlesztő szerverének terhelését csökkentendő, és a gyorsabb alkalmazás  működést elősegítendő, az alkalmazás kiszolgálása során több helyen is be van  építve gyorsítótárazás, mely átmenetileg tárolja az információkat az iWiW  szerverein.  ‐ ‐ ‐

Az alkalmazás XML‐je hosszú időre cache‐elve van (de a Fejlesztői  Portálon egy gombnyomással törölhető ez a tár)  Minden kép, CSS és JavaScript fájl keresztülmegy a proxy‐n, és 5 perc  erejéig cache‐elésre kerül.  A makeRequest kéréseknél lehetőség van cache használatára, bár  alapértelmezetten nincsen cache. A cache használatát azoknál a  kéréseknél kiemelten javasoljuk, melyek nem személyre szabott, gyorsan  elévülő információkat tartalmaznak. 

Gadget XML megkötések Az iWiWen használható opensocial gadgetek leíró xmljének a Gadget XML  reference‐en kívül az alábbiaknak kell megfelelni.  A gadget XML értékeinek megkötései (zárójelben a megengedett hossz):  ‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐

Gadget spec xml url (255), kötelező  ModulePrefs[@title] (500), kötelező  ModulePrefs[@title_url] (200)  ModulePrefs[@author] (100), kötelező  ModulePrefs[@author_email] (50), kötelező  ModulePrefs[@screenshot] (200)  ModulePrefs[@thumbnail] (200)  ModulePrefs[@description] (4000)  ModulePrefs/Icon (200) 

Az egységes megjelenés érdekében a gadget XML‐ben metaadatként megadható  képek (ikon, screenshot, stb.) a következőknek kell megfelelni:  ‐ ‐

 

ModulePrefs/Icon 16x16 ‐ az alkalmazás “favikonja”     o bal oldali menüsávban  o értesítéseken   ModulePrefs[@thumbnail] 32x32 ‐ az alkalmazás ikonja   o alkalmazás listaelemeken  o az alkalmazás címsorában    

 

  

11 

 


iWiW Alkalmazások Fejlesztői Dokumentáció  ‐ ‐

2009. február

ModulePrefs[@screenshot]  546x(max)800 ‐ képernyőkép   o az alkalmazás hozzáadása/jogosultságai oldalon   promó kép 176x(max)176 ‐ kiemelt alkalmazás promóképe  o alkalmazás lista elején a kiemelt alkalmazásokon 

A promó kép URLjét a rendszer az alkalmazás thumbnail URLből képezi:  • •

ha az url utolsó / utáni része tartalmaz .‐ot, az utolsó . elé illeszti a  ‘_promo’ karaktereket  ha nem, az url vége után illetszti a ‘_promo’ karaktereket, pl:  o http://foo.com/bar/baz.png ‐>  http://foo.com/bar/baz_promo.png  o http://foo.com/bar/baz ‐> http://foo.com/bar/baz_promo  

A fenti méretek (ha azt külön nem jelezzük) fix méretek, azaz ha a képméret eltér  a fentiektől, az a felületen a megadott méretre torzítva fog megjelenni.  A képek tetszőleges webes fájlformátumban lehetnek (jpg, png, gif). Ikon és  thumbnail esetén ha az nem tölti ki a megadott területet (pl. lekerekítettek a  szélei) célszerű valamely átlátszóságot támogató formátumot használni (png,  gif). 

További információk Az összes ismerős lekérdezéséről szóló blogbejegyzésünk:  •

http://dev.iwiw.hu/blog/index.php/2009/01/20/az-osszes-ismeros-lekerdezese/

Tippek és trükkök, avagy Flash beágyazása az oldalba, szabványbarát Doctype  használata (IE6 quirks mode mellőzése), reklámok kirakása (külső scriptek  kimenetének kezelése), térképek (Google/Yahoo/Live Maps) megjelenítése és  profil nézetből Canvas nézetre navigálás:  •

 

http://dev.iwiw.hu/blog/index.php/2009/01/30/tippek-es-trukkok/

 

  

12 

 


nijkkj