Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
6. Parametry & Personalizacja
Kurs WebML 6. Parametry & Personalizacja Copyright © Politecnico di Milano March 2003 Translation: Kamil Żyła, Politechnika Lubelska
2
Translation: Kamil Żyła, Politechnika Lubelska
Plan T.O.C. Parametry kontekstowe Idea przynależności użytkowników do grup Kontrola dostępu Personalizacja treści Poniższy moduł zawiera przegląd zagadnień związanych z projektowaniem aplikacji, modelami WebML oraz narzędziami. Translation: Kamil Żyła, Politechnika Lubelska
3
Translation: Kamil Żyła, Politechnika Lubelska
Parametry Translation: Kamil Żyła, Politechnika Lubelska
4
Translation: Kamil Żyła, Politechnika Lubelska
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
Translation: Kamil Żyła, Politechnika Lubelska
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
Translation: Kamil Żyła, Politechnika Lubelska
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
Translation: Kamil Żyła, Politechnika Lubelska
Przykład Translation: Kamil Żyła, Politechnika Lubelska
9
Translation: Kamil Żyła, Politechnika Lubelska
Personalizacja Translation: Kamil Żyła, Politechnika Lubelska
10
Translation: Kamil Żyła, Politechnika Lubelska
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
Translation: Kamil Żyła, Politechnika Lubelska
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
MODEL 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 User Group 1:N 1:1 user2group user2defaultGroup Translation: Kamil Żyła, Politechnika Lubelska
13
Schemat personalizacji *
MODEL 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 User Group 1:N 1:1 SiteView 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
Translation: Kamil Żyła, Politechnika Lubelska
Anonimowy dostęp MODEL 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) Translation: Kamil Żyła, Politechnika Lubelska
15
Translation: Kamil Żyła, Politechnika Lubelska
Login/Logout MODEL 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 Login Logout ChangeGroup Translation: Kamil Żyła, Politechnika Lubelska
16
Logowanie użytkowników należących do wielu grup
MODEL 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 Translation: Kamil Żyła, Politechnika Lubelska
17
CurrentUser i CurrentGroup
MODEL 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 Translation: Kamil Żyła, Politechnika Lubelska
18
Personalizacja strony (użytkownik)
MODEL Personalizacja strony (użytkownik) Personalizacja może zostać osiągnięta dzięki budowie odpowiedniego modelu danych articles user preference Model hipertekstowy jest rozszerzeniem modelu danych, w związku z tym umożliwia personalizację Parametr CurrentUser przechowuje identyfikator zalogowanego użytkownika, co umożliwia wyświetlenie ulubionych artykułów użytkownika user article [preference] Recommendations CurrentUser Translation: Kamil Żyła, Politechnika Lubelska
19
Zarządzanie koszykiem
Translation: Kamil Żyła, Politechnika Lubelska
20
Personalizacja strony (użytkownik)
MODEL Personalizacja strony (użytkownik) Personalizacja może zostać osiągnięta dzięki budowie odpowiedniego modelu danych slot user reservation 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 Personal Reservations UserCtxParam entity:user rel:reservation Translation: Kamil Żyła, Politechnika Lubelska
21
Personalizacja strony (Grupa)
MODEL Personalizacja strony (Grupa) Personalizacja może zostać dokonana również na poziomie grupy (ponieważ widok stron może obsługiwać wiele grup) Author Book Category User Group interesting Preferred categories Authors GroupCtxPar Group relation:g2c Category relation:c2a Translation: Kamil Żyła, Politechnika Lubelska
22
Translation: Kamil Żyła, Politechnika Lubelska
Ź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 Gray’s series), December 2002. WebML resources (papers, manuals, …) Web modeling compendium & bibliography Tool can be downloaded for academic use Translation: Kamil Żyła, Politechnika Lubelska
23
Translation: Kamil Żyła, Politechnika Lubelska
KONIEC Translation: Kamil Żyła, Politechnika Lubelska
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.