Welcome to Scribd. Sign in or start your free trial to enjoy unlimited e-books, audiobooks & documents.Find out more
Buy Now $21.00
Standard view
Full view
of .
Look up keyword or section
Like this
3Activity

Table Of Contents

Czym jest kontener aplikacji społecznościowych?
Profil użytkownika
Znajomi i powiązania użytkownika
Strumień aktywności użytkowników
Implementacja zastrzeżonych i otwartych standardów
Implementacja zastrzeżona
Implementacja typu open source
Dlaczego w tej książce zostaną omówione otwarte standardy?
Wbudowana aplikacja — tworzenie rozwiązań w ramach czarnej skrzynki
Wbudowane zabezpieczenia aplikacji
Ataki XSS
Zasada tego samego pochodzenia i starsze przeglądarki
Pobieranie plików bez wiedzy użytkownika
Zabezpieczanie aplikacji
Widoki aplikacji
Widok domowy (mały)
Widok profilu (mały)
Widok kanwy (duży)
Domyślny widok (dowolny)
Zagadnienia związane z uprawnieniami aplikacji
Aplikacje strony klienckiej kontra aplikacje serwera
Stosowanie systemów szablonów w warstwie znaczników
Stosowanie mieszanego środowiska serwera i klienta
Opóźnianie ładowania mniej ważnej treści
Kiedy dobra aplikacja okazuje się zła?
Przenośna aplikacja z animacjami
Niedopracowany widok
Aplikacja kopiująca widoki
Aplikacja prezentująca zbyt dużo informacji
Nierentowna aplikacja
Aplikacja informacyjna
Studia przypadków dla modeli aplikacji
Studium przypadku: gra społecznościowa ze znajomymi
Studium przypadku: aplikacje sprzedaży produktów
Studium przypadku: aplikacje uwzględniające położenie użytkownika
Krótkie wskazówki na początek
Należy zdefiniować docelowych odbiorców
Budowanie z myślą o elementach komercyjnych
Tworzenie dopracowanych, atrakcyjnych widoków
Graf powiązań społecznościowych w internecie
Automatyczne dzielenie użytkowników na klastry
Prywatność i bezpieczeństwo
Budowanie zaufania
Model udostępniania za zgodą użytkownika (opt-in)
Model wyłączania udostępniania na wniosek użytkownika (opt-out)
Zrozumienie modelu relacji
Model śledzenia
Model połączeń
Model grupowy
Relacje kontra podmioty
Budowanie na bazie rzeczywistych tożsamości
Zrozumienie najskuteczniejszych kanałów komunikacji
Budowanie grup użytkowników
Unikanie grafów nieistotnych powiązań społecznościowych
Integracja widgetu OpenLike
Sposób prezentowania oznaczeń „Lubię to”
Podsumowanie
Czego nauczysz się w tym rozdziale?
Apache Shindig
Konfiguracja kontenera Shindig
Instalacja kontenera Shindig w systemie Mac OS X (Leopard)
Instalacja kontenera Shindig w systemie Windows
Testowanie instalacji kontenera Shindig
Partuza
Wymagania
Instalacja kontenera Partuza w systemie Mac OS X (Leopard)
Instalacja kontenera Partuza w systemie Windows
Testowanie instalacji kontenera Partuza
Specyfikacja gadżetu OpenSocial w formacie XML
Konfigurowanie aplikacji za pomocą węzła ModulePrefs
Elementy Require i Optional
Element Preload
Element Icon
Element Locale
Element Link
Definiowanie preferencji użytkownika
Wyliczeniowe typy danych
Treść aplikacji
Definiowanie widoków treści
Treść wbudowana kontra treść zewnętrzna
Budowanie kompletnego gadżetu
Uzyskiwanie i ustawianie informacji na temat obiektu TabSet
Rozszerzanie kontenera Shindig o własne biblioteki języka JavaScript
Przygotowanie specyfikacji XML gadżetu
Wyświetlanie gadżetu przy użyciu kontenera Shindig
Przenoszenie aplikacji, profili i znajomych
Ocena obsługi standardu OpenSocial
Podstawowe elementy specyfikacji OpenSocial
Specyfikacja podstawowego serwera API
Specyfikacja podstawowego kontenera gadżetów
Specyfikacja serwera społecznościowego interfejsu API
Specyfikacja kontenera gadżetów społecznościowych
Specyfikacja kontenera OpenSocial
Tworzenie rozwiązań dla wielu kontenerów i przenoszenie aplikacji
Stosowanie mieszanego środowiska klient-serwer
Oddzielanie funkcji społecznościowych od podstawowego kodu aplikacji
Unikanie znaczników właściwych konkretnym kontenerom
Przenoszenie aplikacji z Facebooka do kontenera OpenSocial
Wyodrębnianie logiki funkcji Facebooka
Oddzielenie kodu znaczników (wizualizacji) od logiki programu
Stosowanie punktów końcowych REST zamiast języka FQL
Stosowanie implementacji z zasadniczą częścią kodu po stronie serwera
Personalizacja aplikacji na podstawie danych zawartych w profilu
Obiekt Person
Metody wymiany danych obiektu Person
Pola dostępne w ramach obiektu Person
Rozszerzanie obiektu Person
Uzyskiwanie profilu użytkownika
Promowanie aplikacji z wykorzystaniem znajomych użytkownika
Generowanie żądań dotyczących znajomych użytkownika
Specyfikacja gadżetu
Używanie autoryzowanych żądań do zabezpieczania połączeń
Zaawansowane techniki OpenSocial i przyszłość tego standardu
Potokowe przesyłanie danych
Rodzaje żądań danych
Udostępnianie danych dla żądań zewnętrznych
Korzystanie z potokowego przesyłania danych po stronie klienta
Obsługa błędów generowanych przez potok danych
Parametry dynamiczne
Szablony OpenSocial
Alternatywny model kodu języka znaczników i danych
Wyświetlanie szablonów
Wyrażenia
Zmienne specjalne
Wyrażenia warunkowe
Przetwarzanie treści w pętli
Łączenie potokowego przesyłania danych i szablonów
Pozostałe znaczniki specjalne
Biblioteki szablonów
Interfejs API języka JavaScript
Kilka dodatkowych znaczników — język znaczników OpenSocial
Wyświetlanie nazwiska użytkownika — znacznik os:Name
Lista wyboru użytkownika — znacznik os:PeopleSelector
Wyświetlanie odznaki użytkownika — znacznik os:Badge
Ładowanie zewnętrznego kodu HTML — znacznik os:Get
Obsługa lokalizacji za pomocą pakietów komunikatów
Biblioteki API protokołu OpenSocial REST
Dostępne biblioteki
Przyszłość standardu OpenSocial: obszary rozwoju
Kontenery korporacyjne
Mobilna rewolucja
Rozproszone frameworki internetowe
Standard OpenSocial i rozproszone frameworki internetowe
Standard Activity Streams
Protokół PubSubHubbub
Protokół Salmon
Protokół Open Graph
Zagadnienia związane z bezpieczeństwem aplikacji społecznościowych
Wykonywanie zewnętrznego kodu za pośrednictwem ramek iframe
Bezpieczny model — projekt Caja
Dlaczego warto używać kompilatora Caja?
Rodzaje ataków — jak Caja chroni użytkownika?
Przekierowywanie użytkowników bez ich zgody
Śledzenie historii przeglądarki użytkownika
Wykonywanie dowolnego kodu za pomocą funkcji document.createElement
Rejestrowanie klawiszy naciskanych przez użytkownika
Konfiguracja kompilatora Caja
Przetwarzanie skryptów za pomocą kompilatora Caja z poziomu wiersza poleceń
Zabezpieczanie kodu HTML-a i JavaScriptu
Zmiana docelowego formatu kodu
Uruchamianie kompilatora Caja z poziomu aplikacji internetowej
Stosowanie kompilatora Caja dla gadżetu OpenSocial
Dodawanie kompilatora Caja do gadżetu
Praktyczny przykład
Eksperymenty w środowisku Caja Playground
Wskazówki dotyczące pracy w środowisku Caja
Stosowanie wstępnie przetworzonych bibliotek JavaScriptu
Nie należy umieszczać zdarzeń w kodzie języka znaczników
Lżejsza alternatywa dla kompilatora Caja: narzędzie ADsafe
ADsafe kontra Caja — którego narzędzia używać?
Jak zaimplementować środowisko ADsafe?
Konfiguracja obiektu środowiska ADsafe
Obiekt DOM
Wybór konkretnych węzłów DOM za pomocą zapytań
Praca z obiektami pakietów
Dołączanie zdarzeń
Definiowanie bibliotek
Źródło danych
Sekcja nagłówkowa: dołączane skrypty i style
Ciało: warstwa języka znaczników
Ciało: warstwa języka JavaScript
Ostateczny wynik
Punkt wyjścia — uwierzytelnianie podstawowe
Implementacja uwierzytelniania podstawowego — jak to działa?
Wady stosowania uwierzytelniania podstawowego
Standard OAuth 1.0a
Przepływ pracy w standardzie OAuth 1.0a
Standard OAuth z perspektywy użytkownika końcowego
Dwuetapowa autoryzacja OAuth kontra trzyetapowa autoryzacja OAuth
Przykład implementacji trzyetapowej autoryzacji OAuth
Przykład implementacji: Facebook
Przykład implementacji: aplikacja z perspektywy użytkownika końcowego
Wskazówki dotyczące diagnozowania problemów z żądaniami
Wzloty i upadki metadanych
Działanie protokołu Open Graph
Implementacja protokołu Open Graph
Implementacja protokołu WebFinger
Wady protokołu WebFinger
Protokół OExchange — budowanie grafu udostępniania treści społecznościowych
Jak działa protokół OExchange?
Zastosowania protokołu OExchange
Implementacja protokołu OExchange
Protokół PubSubHubbub: rozpowszechnianie treści
Jak działa protokół PubSubHubbub?
Zalety z perspektywy wydawców i subskrybentów
Serwery hubów i usługi implementacji
Biblioteki przepływu pracy
Budowanie wydawcy w języku PHP
Budowanie wydawcy w języku Python
Budowanie subskrybenta w języku PHP
Budowanie subskrybenta w języku Python
Protokół Salmon: ujednolicenie stron konwersacji
Działanie protokołu Salmon
Budowanie rozwiązań na bazie protokołu PubSubHubbub
Ochrona przed nadużyciami i spamem
Przegląd implementacji
Standard OpenID
Klucz do sukcesu — decentralizacja
Udoskonalenia względem tradycyjnego logowania
Procedura uwierzytelniania OpenID
Krok 1.: żądanie logowania przy użyciu identyfikatora OpenID
Krok 3.: żądanie uwierzytelnienia użytkownika
Krok 4.: udostępnienie stanu sukcesu lub niepowodzenia
Dostawcy OpenID
Omijanie problemów odkrywania domen w standardzie OpenID
Rozszerzenia standardu OpenID
Rozszerzenie Simple Registration
Rozszerzenie Attribute Exchange
Rozszerzenie Attribute Exchange 1.0
Rozszerzenie Provider Authentication Policy Extension
Aktualnie tworzone rozszerzenia
Przykład implementacji: OpenID
Implementacja standardu OpenID w języku PHP
Implementacja standardu OpenID w języku Python
Typowe błędy i techniki diagnostyczne
Niezgodność adresu URL wywołań zwrotnych
Brak możliwości odkrycia identyfikatora OpenID
Rozszerzenie hybrydy standardów OpenID i OAuth
Istniejące implementacje
Zalety i wady: standardowa implementacja OpenID
Zalety i wady: uwierzytelnianie hybrydowe
Kroki 1. i 2.: odkrywanie (pierwsze dwa kroki procedury OpenID)
Krok 3.: akceptacja uprawnień przez użytkownika
Przykład implementacji: OpenID, OAuth i Yahoo!
Implementacja uwierzytelniania hybrydowego w języku PHP
Implementacja uwierzytelniania hybrydowego w języku Python
Podstawowe zagadnienia związane z budową aplikacji internetowych
Skorowidz
P. 1
Programowanie aplikacji na serwisy spo?eczno?ciowe

Programowanie aplikacji na serwisy spo?eczno?ciowe

Ratings:
(0)
|Views: 189|Likes:

Jedyny podr?cznik o platformie OpenSocial!

Serwisy spo?eczno?ciowe w zasadzie z dnia na dzie? opanowa?y Internet. Mówi? o nich wszyscy i korzystaj? z nich wszyscy! Przez krótki okres u?ywa?y ich tylko osoby prywatne, jednak b?yskawicznie ich potencja? dostrzeg?y tak?e firmy. Jest to dla nich najprawdopodobniej najlepszy kana? komunikacji z klientami. Dlatego podczas tworzenia nowych rozwi?za? czy nowych serwisów warto rozwa?y? integracj? z popularnymi serwisami spo?eczno?ciowymi oraz wprowadzenie w?asnych elementów tego typu.

To zadanie ma u?atwi? platforma OpenSocial, na której koncentruje si? ta ksi??ka. Dowiesz si? st?d, jak tworzy? niezale?ne aplikacje dla istniej?cych serwisów, jak budowa? grafy powi?za? spo?eczno?ciowych oraz tworzy? produkty spe?niaj?ce oczekiwania samego autora jako u?ytkownika us?ug spo?eczno?ciowych.

W trakcie lektury nauczysz si? odwzorowywa? relacje pomi?dzy u?ytkownikami oraz dostosowywa? dostarczane im tre?ci na podstawie danych zawartych w ich profilach. Ponadto zdob?dziesz solidn? dawk? wiedzy na temat bezpiecze?stwa oraz najlepszych technik autoryzacji u?ytkowników na platformie OpenSocial. Sprawdzisz, jak przenie?? aplikacj? napisan? dla Facebooka na platform? OpenSocial, oraz poznasz niuanse konfigurowania ?rodowiska produkcyjnego. Ksi??ka ta jest wyj?tkow? pozycj? na rynku, po?wi?con? platformie OpenSocial. Wykorzystaj jej potencja? i stwórz nowatorskie oprogramowanie!

Poznaj mo?liwo?ci platformy OpenSocial! ​Skonfiguruj ?rodowisko produkcyjne Odwzoruj relacje pomi?dzy u?ytkownikami Stwórz interesuj?ce gad?ety Skorzystaj z zaawansowanych mechanizmów identyfikacji Przenie? aplikacj? z serwisu Facebook na platform? OpenSocial Postaw na otwarte standardy!

Jedyny podr?cznik o platformie OpenSocial!

Serwisy spo?eczno?ciowe w zasadzie z dnia na dzie? opanowa?y Internet. Mówi? o nich wszyscy i korzystaj? z nich wszyscy! Przez krótki okres u?ywa?y ich tylko osoby prywatne, jednak b?yskawicznie ich potencja? dostrzeg?y tak?e firmy. Jest to dla nich najprawdopodobniej najlepszy kana? komunikacji z klientami. Dlatego podczas tworzenia nowych rozwi?za? czy nowych serwisów warto rozwa?y? integracj? z popularnymi serwisami spo?eczno?ciowymi oraz wprowadzenie w?asnych elementów tego typu.

To zadanie ma u?atwi? platforma OpenSocial, na której koncentruje si? ta ksi??ka. Dowiesz si? st?d, jak tworzy? niezale?ne aplikacje dla istniej?cych serwisów, jak budowa? grafy powi?za? spo?eczno?ciowych oraz tworzy? produkty spe?niaj?ce oczekiwania samego autora jako u?ytkownika us?ug spo?eczno?ciowych.

W trakcie lektury nauczysz si? odwzorowywa? relacje pomi?dzy u?ytkownikami oraz dostosowywa? dostarczane im tre?ci na podstawie danych zawartych w ich profilach. Ponadto zdob?dziesz solidn? dawk? wiedzy na temat bezpiecze?stwa oraz najlepszych technik autoryzacji u?ytkowników na platformie OpenSocial. Sprawdzisz, jak przenie?? aplikacj? napisan? dla Facebooka na platform? OpenSocial, oraz poznasz niuanse konfigurowania ?rodowiska produkcyjnego. Ksi??ka ta jest wyj?tkow? pozycj? na rynku, po?wi?con? platformie OpenSocial. Wykorzystaj jej potencja? i stwórz nowatorskie oprogramowanie!

Poznaj mo?liwo?ci platformy OpenSocial! ​Skonfiguruj ?rodowisko produkcyjne Odwzoruj relacje pomi?dzy u?ytkownikami Stwórz interesuj?ce gad?ety Skorzystaj z zaawansowanych mechanizmów identyfikacji Przenie? aplikacj? z serwisu Facebook na platform? OpenSocial Postaw na otwarte standardy!

More info:

Publish date: Sep 30, 2011
Added to Scribd: Dec 21, 2012
Copyright:Traditional Copyright: All rights reservedISBN:9781457177897
List Price: $21.00 Buy Now

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
This book can be read on up to 6 mobile devices.
See more
See less

05/06/2015

574

9781457177897

$21.00

USD

You're Reading a Free Preview
Pages 23 to 113 are not shown in this preview.
You're Reading a Free Preview
Pages 136 to 193 are not shown in this preview.
You're Reading a Free Preview
Pages 216 to 364 are not shown in this preview.
You're Reading a Free Preview
Pages 387 to 408 are not shown in this preview.
You're Reading a Free Preview
Pages 431 to 574 are not shown in this preview.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->