OpenSocial — разлика између измена

5.597 бајтова додато ,  пре 8 година
нема резимеа измене
Нема описа измене
Нема описа измене
 
Pušten je 1.novembra 2007.<ref name="press release">{{cite web |url=http://www.google.com/intl/en/press/pressrel/opensocial.html |title=Google Launches OpenSocial to Spread Social Applications Across the Web |accessdate=2007-10-31 |date=2007-11-01 |publisher=[[Google]] |doi= |archiveurl= |archivedate= |quote= }}</ref>
Glavna ideja Open Social tehnologije je u tome da web aplikacije pisane pomoću Open Social API-ja budu interoperabilne sa bilo kojim social network sistemom koji je takođe zasnovan na Open Social-u.
Pomoću ove tehnologije mogu se kreirati tzv. kontejneri (container) koji predstavljaju social networking sisteme kao što su iGoogle, MySpace, Ning, Orcut, Linkedln, Hi5 i drugi i aplikacije koje se mogu ugraditi u kontejnere. Koncept je sličan Facebook konceptu, ali ipak postoje suštinske razlike. U slučaju Facebook-a, jedini kontejner je Facebook i aplikacije se mogu izvršavati isključivo na Facebook-u. Open Social podrazumeva da bilo koji social network sistem može biti Open Social kontejner, i svaka Open Social aplikacija se može izvršavati na bilo kojem od njih.
 
==Struktura==
Na osnovu [[HTML]] i [[Java Script]], kao i [[Google Gadgets]] okvir, Open Social obuhvata više [[Aplikacioni programski interfejs|APIs]] funkcija za društveni softver aplikacijama da pristupe podacima društvene mreže. U verziji 0.9 Open Social je dodao podršku za jezik <ref name="OpenSocial Specification Release Notes">{{cite web |url=http://opensocial-resources.googlecode.com/svn/spec/2.0/OpenSocial-Specification-Release-Notes.xml#rfc.section.4 |title=OpenSocial Specification Release Notes|accessdate=2011-08-18}}</ref> Ovaj jezik se naziva OSML i omogućava tag-based pristup podacima iz Open Social APIs s tim što se prethodno pošalje zahtev klijentu. Takođe definiše oznaku šablon sistema i usvaja jezički izraz zasnovan na [[Java]] [[Expression Language]].
Cilj Open Social-a je da korišćenjem zajedničkih API-ja bude kreirano što više različitih aplikacija koje će biti dostupne svim korisnicima i koje će biti korišćene u različite svrhe. Web developeri mogu kreirati aplikacije korišćenjem standardnog JavaScript-a i HTML-a, a te aplikacije se mogu izvršavati na biloj kojoj platformi na internetu koja se temelji na Open Social API-jima. Takva platforma (kontejner) daje developerima mogućnost da pristupe social informacijama (informacije o korisnicima, njihovim aktivnostima, prijateljima itd.). U okviru [[API]]-ja postoje metode za pristup ovakvim informacijama koje su u kontekstu datog kontejnera.
 
===Open Social platforma (kontejner)===
Da bi jedan sajt bio Open Social kontejner potrebno je ispuni određene uslove:
*Kao prvo, mora da implementira sve metode iz sledećih [[JavaScript]] fajlova Open Social API-ja
*Mora da koristi samo određene mehanizme proširenja za bilo kakvu vrstu specifične nadogradnje kontejnera
Ukoliko postoji potreba da kontejner sadrži neke posebne osobe, aktivnosti ili neke druge objekte, polja sa ovakvim objektima moraju biti definisana u okviru enum strukture i namespace-u kontejnera i da bi aplikacije mogle da manipulišu njima okruženje im mora odobriti pristup ovakvoj vrsti “posebnih” polja.
*Mora da zadovoljava Gadgets API specifikaciju
Ukratko, ovo se ondosi na rukovanje 3 vrste zahteva:[[Gadget Rendering Request]], [[Gadget Metadata Request]] i [[JavaScript Request]].
Za [[JavaScript]] API-je, potrebno je implementirati [[gadgets core JavaScript API]].
*Mora da obezbeđuje podršku za RESTful Protocol specifikaciju
Što znači da kontejneri podržavaju predstavljanje podataka u [[JSON]], [[XML]] i [[AtomPub]] obliku. Open Social koristi [[HTTP GET]] metodu za preuzimanje podataka, PUT za izmene (update), [[POST]] za kreiranje novog objekta (osobe, aktivnosti ili podataka aplikacije), DELETE za brisanje.
*Mora da obezbeđuje podršku za [[RPC Protocol]] specifikaciju
RPC protokol je alternativa za RESTful protokol, podržava istu reprezentaciju podataka kao i REST, samo je malo više privržen JSON-u.
 
===Open Social aplikacija (gadget)===
Da bi neka aplikacija(gadget) mogla da se pokrene, neophodno je da se ugradi u neki od Open Social kontejnera. Većina web sajtova koji su Open Social kontejneri, koristi [[Apache Shinding]] Reference implementaciju. Reference implemenacija predstavlja standard po kojem se ravnaju sve ostale implementacije. [[Apache Shinding]] Reference implementacija je [[Open Source]] standard za Open Social. Sadrži server-side i client-side kod. Nakon implementacije, on će Open Social kontejneru omogućiti renderovanje Open Social gedget-a u pretraživaču.
 
===Open Social veze===
Kreiranje veza između korisnika je ključna stavka u prelazu multi-user aplikacije u socijalnu mrežu. Veze omogućavaju korisnicima da međusobno interaguju, dele različite vrste informacija, da dele informacije u različitim formama i budu stalno u kontaktu. Postoje dva načina predstavljanja grupa ljudi u OpenSocial-u. To su: VIEWER_FRIENDS i OWNER_FRIENDS. Tako da su, na primer u trentuku kada posmatrate profil nekog svog prijatelja, VIEWER_FRIENDS vaši prijatelji, a OWNER_FRIENDS prijatelji vašeg prijatelja čije profil posmatrate. Ukoliko posmatrate svoj profil VIEWER_FRIENDS i OWNER_FRIENDS biće i jedno u drugo vaši prijatelji. Ukoliko kontejner podržava “anonymous profile browsing” (koncept koji zabranjuje korisnicima interneta koji nemaju nalog na datoj socijalnoj mreži da pristupaju podacima o kosrisnicima socijalne mreže), aplikacija neće biti u mogućnosti da pristupi informacijama u okviru VIEWER_FRIENDS parametra. Važno je istaći da VIEWER i OWNER ne moraju biti u bilo kakvoj vezi. Dakle, [[VIEWER]] i [[OWNER]] mogu biti prijatelji, ali ukoliko posmatrate profil nekog korisnika socijalne mreže kojeg nemate u listi prijatelja, nema veze između vas koji ste VIEWER i onog sa druge strane koji je OWNER. Za pristup informacijama o prijateljima prijatelja (“friends of friends”) koriste se upiti koji vraćaju NETWORK_DISTANCE parametar. Slično tome OpenSocial kontejneri mogu imati podršku i za upite koji vraćaju informacije o prijateljima koji su prijatelji prijatelja (“friends of friends of friends”).
 
===Aktivnosti===
Za vođenje evidencije o toku aktivnosti koje su korisnici OpenSocial kontejnera, OpenSocial ima definisanu js klasu [[opensocial.Activity]]. Ove aktivnosti mogu biti interakcija sa kontejnerom (kao što je npr. update-ovanje izgleda profila ili informacija na profilu, ugradnja novog gadget-a i slično) i interakcija sa OpenSocial aplikacijom (slanje virtualnih poklona prijateljima na socijalnoj mreži ili beleženje novog high score-a prilikom učešća u nekoj igri).
 
==Istorija==
33

измене