Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

6. Parametry & Personalizacja Kurs WebML Copyright © Politecnico di Milano March 2003 Translation: Kamil Żyła, Politechnika Lubelska.

Podobne prezentacje


Prezentacja na temat: "6. Parametry & Personalizacja Kurs WebML Copyright © Politecnico di Milano March 2003 Translation: Kamil Żyła, Politechnika Lubelska."— Zapis prezentacji:

1 6. Parametry & Personalizacja Kurs WebML Copyright © Politecnico di Milano March 2003 Translation: Kamil Żyła, Politechnika Lubelska

2 Plan Parametry kontekstowe Idea przynależności użytkowników do grup Kontrola dostępu Personalizacja treści T.O.C. Translation: Kamil Żyła, Politechnika Lubelska

3 Parametry Translation: Kamil Żyła, Politechnika Lubelska

4 Informacje globalne Często jest potrzebne Ustawienie wartości parametru (np. kraju lub preferowanego przez użytkownika języka) Użycie tej wartości na wszystkich stronach widoku stron bez konieczności jej jawnego przekazywania linkami Rozwiązanie Użycie parametrów globalnych przechowywanych w sesji Dostarczenie sposobu ustawiania i pobierania (set/get) ich wartości Translation: Kamil Żyła, Politechnika Lubelska

5 Parametry kontekstowe Parametry kontekstowe (Context Parameters) WebML pozwalają osiągnąć ten cel w prosty sposób Projektant definiuje jeden lub więcej parametrów kontekstowych Parametr kontekstowy charakteryzuje Nazwa (Name) Identyfikator (ID) Czas trwania (Duration) (sesja użytkownika lub aplikacji) Typ wartości (Value type) Typy integer, string, … Encja (wtedy parametr przyjmuje wartość identyfikatora tej encji) Wartość początkowa (Starting value) [opcjonalnie] Translation: Kamil Żyła, Politechnika Lubelska

6 Komponent set unit Komponent umożliwiający ustawienie (SET) wartości parametru Jest zawsze umieszczony poza obszarem strony Posiada tylko jeden link przychodzący (przenosi wartość, która jest przypisywana do parametru) Nie ma linków wychodzących Value/OID ParamName Translation: Kamil Żyła, Politechnika Lubelska

7 Komponent get unit Komponent umożliwiający pobranie (RETRIEVE) wartości parametru Jest zawsze umieszczony wewnątrz obszaru strony Posiada tylko jeden link wychodzący (przenosi wartość pobraną z parametru) Nie ma linków przychodzących Pobrana wartość może zostać przekazana do dowolnego kompatybilnego z nią komponentu Value/OID ParamName Translation: Kamil Żyła, Politechnika Lubelska

8 Przykład Translation: Kamil Żyła, Politechnika Lubelska

9 Personalizacja Translation: Kamil Żyła, Politechnika Lubelska

10 Problem Typowe aplikacje internetowe zarządzające chronioną treścią wymagają Jednej lub więcej stron ogólnie dostępnych do odczytu Zbioru zastrzeżonych stron zawierających spersonalizowaną treść i usługi, do których dostęp może zostać uzyskany wyłącznie po zalogowaniu Personalizacji rozpatrywanej w kategoriach dostarczanych stron (do jakich stron może uzyskać dostęp użytkownik) oraz dostarczanej treści (do jakich treści powinien/może uzyskać dostęp użytkownik) Translation: Kamil Żyła, Politechnika Lubelska

11 Personalizacja Trzy aspekty personalizacji Kontrola dostępu: operacje login/logout służące rozpoznaniu użytkownika Przypisanie widoku stron: udzielenie dostępu do pewnych widoków stron, bazujące na przynależności użytkownika do grupy użytkowników (jedna grupa może uzyskać dostęp do jednego lub więcej widoków stron) Personalizacja stron: uzależnienie wyświetlanej treści od użytkownika lub grupy użytkowników Translation: Kamil Żyła, Politechnika Lubelska

12 Idea przynależności użytkowników do grup Każdy użytkownik (User) może należeć do jednej lub więcej grup użytkowników (Group) Encje User i Group są predefiniowane w modelu danych Każdy użytkownik ma domyślną grupę użytkowników Każda grupa użytkowników może zawierać jednego lub więcej użytkowników oraz może być domyślną grupą dla wielu użytkowników UserGroup 1:N 1:11:N user2group user2defaultGroup MODEL Translation: Kamil Żyła, Politechnika Lubelska

13 Schemat personalizacji * Każdy użytkownik może należeć do jednej lub więcej grup (predefiniowane encje w modelu danych) Każdy użytkownik ma swoją grupę domyślną Każda grupa jest powiązana z jednym widokiem stron MODEL UserGroup 1:N 1:11:N SiteView 1:N 1:1 user2group user2defaultGroup * Przypis tłumacza: Obecnie encja SiteView nosi nazwę Module i może zawierać dowolny element bądź zbiór elementów oznaczonych jako chronione (nie tylko widoki stron). Ponadto grupa posiada swój domyślny moduł. Translation: Kamil Żyła, Politechnika Lubelska

14 Anonimowy dostęp Jest predefiniowana jedna grupa (wszyscy użytkownicy) Użytkownicy należący do tej grupy nie muszą się logować i otrzymują dostęp wyłącznie do niechronionych widoków stron aplikacji, które realizują ogólnie dostępną funkcjonalność Pozostałe widoki stron są dostępne wyłącznie po zalogowaniu (chronione widoki stron) MODEL Translation: Kamil Żyła, Politechnika Lubelska

15 Login/Logout Widok stron może zawierać stronę umożliwiającą użytkownikom logowanie do aplikacji Każdy chroniony widok stron powinien umożliwiać wylogowanie z aplikacji Dozwolone jest dynamiczne przełączanie pomiędzy użytkownikami i grupami Entry Unit MODEL Login Logout ChangeGroup Translation: Kamil Żyła, Politechnika Lubelska

16 Logowanie użytkowników należących do wielu grup Jeśli użytkownik należy do więcej niż jednej grupy użytkowników, to w momencie logowania jest traktowany jako członek swojej grupy domyślnej (defaultGroup) Po zalogowaniu są przechowywane aktualne informacje o użytkowniku i jego grupie Username Password Login johnlee *********** User: johnlee Group: johnleeDefaultGroup Login MODEL Translation: Kamil Żyła, Politechnika Lubelska

17 CurrentUser i CurrentGroup Każdy projekt WebML ma dwa predefiniowane parametry globalne CurrentUser: OID aktualnie zalogowanego użytkownika CurrentGroup: OID grupy aktualnie zalogowanego użytkownika Operacje Login i Logout automatycznie aktualizują (set/unset) te dwa parametry MODEL Translation: Kamil Żyła, Politechnika Lubelska

18 preference Personalizacja strony (użytkownik) Personalizacja może zostać osiągnięta dzięki budowie odpowiedniego modelu danych userarticles Parametr CurrentUser przechowuje identyfikator zalogowanego użytkownika, co umożliwia wyświetlenie ulubionych artykułów użytkownika MODEL Model hipertekstowy jest rozszerzeniem modelu danych, w związku z tym umożliwia personalizację user article [preference] Recommendations CurrentUser Translation: Kamil Żyła, Politechnika Lubelska

19 Zarządzanie koszykiem Translation: Kamil Żyła, Politechnika Lubelska

20 reservation Personalizacja strony (użytkownik) Personalizacja może zostać osiągnięta dzięki budowie odpowiedniego modelu danych userslot Model hipertekstowy jest rozszerzeniem modelu danych, w związku z tym umożliwia personalizację UserCtxParam zawiera identyfikator zalogowanego użytkownika, co pozwala na wyświetlenie jego rezerwacji MODEL entity:userrel:reservation Personal Reservations UserCtxParam Translation: Kamil Żyła, Politechnika Lubelska

21 Personalizacja strony (Grupa) Personalizacja może zostać dokonana również na poziomie grupy (ponieważ widok stron może obsługiwać wiele grup) UserGroup interesting AuthorBook Category relation:c2a Group relation:g2c Preferred categoriesAuthors MODEL GroupCtxPar Translation: Kamil Żyła, Politechnika Lubelska

22 Źródła Building data-intensive Web applications. By Stefano Ceri, Piero Fraternali, Aldo Bongio, Marco Brambilla, Sara Comai, Maristella Matera, will be published by Morgan-Kaufmann (Jim Grays series), December WebML resources (papers, manuals, …) Web modeling compendium & bibliography Tool can be downloaded for academic use Translation: Kamil Żyła, Politechnika Lubelska

23 KONIEC Translation: Kamil Żyła, Politechnika Lubelska


Pobierz ppt "6. Parametry & Personalizacja Kurs WebML Copyright © Politecnico di Milano March 2003 Translation: Kamil Żyła, Politechnika Lubelska."

Podobne prezentacje


Reklamy Google