Professional Documents
Culture Documents
PRACA MAGISTERSKA
Opiekun pracy :
dr Adrian Horzyk
Krakw 2007
Internetowy system e-CRM do obsugi biura podry
2
Internetowy system e-CRM do obsugi biura podry
1. Wstp.............................................................................................................................6
2. Wprowadzenie teoretyczne do technologii Ruby on Rails oraz systemw CRM .....11
2.1. Ruby on Rails .......................................................................................................11
2.1.1. Jzyk Ruby....................................................................................................11
2.1.2. Historia Ruby. ...............................................................................................13
2.1.3. Wzorzec projektowy Ruby on Rails ...........................................................13
2.2. CRM .....................................................................................................................14
2.2.1. Cechy typowe dla CRM ................................................................................15
2.2.2. Rodzaje systemw CRM ...............................................................................16
2.2.3. e-CRM ..........................................................................................................18
2.2.4. Przewidywanie potrzeb uytkownikw w internecie......................................18
2.2.5. Dlaczego warto budowa relacje?..................................................................20
2.2.6. Gwne motywatory dziaa w aspekcie CRM...............................................21
2.3. Web 2.0 ................................................................................................................23
2.4. Folksonomia .........................................................................................................26
2.5. AJAX....................................................................................................................27
2.6. Specyfika internetowych biur podry ..................................................................29
3. Stosowane metody i rozwizania................................................................................34
3.1. Architektura systemu: ...........................................................................................34
3.2. Zastosowane technologie i metody........................................................................35
3.2.1. Mysql ............................................................................................................35
3.2.2. Ruby on Rails:...............................................................................................36
3.2.3. Uyte wtyczki ...............................................................................................44
3.2.4. Wzorzec projektowy Prototype.js................................................................45
3.3. Podstawowe funkcjonalnoci naszej aplikacji........................................................47
3.3.1. Diagram przypadkw uycia .........................................................................47
3.3.2. Diagram klas .................................................................................................48
3.3.3. Przegld funkcji systemu. ..............................................................................48
3.3.4. Opis bazy danych ..........................................................................................52
4. Rezultaty pracy. ..........................................................................................................55
4.1. Dyskusja o otrzymanym rezultacie CRM ..............................................................55
4.1.1. Dodawanie kont uytkownikw.....................................................................55
4.1.2. Skategoryzowana oferta.................................................................................56
4.1.3. Ograniczanie wynikw wyszukiwania ...........................................................58
4.1.4. Zbieranie informacji o uytkowniku poprzez tworzenie jego profilu cech i
preferencji.....................................................................................................................59
4.1.5. Generowanie oferty dla uytkownika.............................................................61
4.1.6. Internetowa kampania reklamowa .................................................................62
4.1.7. Kreowanie spoecznoci wok firmy ............................................................63
4.1.8. Przypisywanie znacznikw (tag-w) do wycieczek........................................65
4.1.9. Sprzeda i walidacja ......................................................................................65
4.1.10. Motywy uytkownika grupy ..........................................................................66
4.1.11. Animowane menu uytkownika.....................................................................67
4.1.12. Tworzenie oferty wycieczek ..........................................................................67
4.1.13. Edycja cech pyta i odpowiedzi..................................................................68
4.1.14. Analiza popularnoci i statusu wycieczek ......................................................69
4.1.15. Prowadzenie szczegowych statystyk ruchu .................................................69
4.2. Wnioski na temat Ruby on Rails ........................................................................70
4.3. Wnioski na temat Web 2.0 ....................................................................................72
5. Podsumowanie ............................................................................................................75
3
Internetowy system e-CRM do obsugi biura podry
Literatura............................................................................................................................78
Spis rysunkw.....................................................................................................................80
4
Internetowy system e-CRM do obsugi biura podry
Pawe Kraiski:
Rozdzia 1
Rozdzia 2.2, 2.3, 2.4, 2.5, 2.6
Rozdzia 4.2, 4.3
Rozdzia 5
Architektura, koncepcja systemu, koordynacja
5
Internetowy system e-CRM do obsugi biura podry
1. Wstp
6
Internetowy system e-CRM do obsugi biura podry
7
Internetowy system e-CRM do obsugi biura podry
8
Internetowy system e-CRM do obsugi biura podry
9
Internetowy system e-CRM do obsugi biura podry
Opisana jest tam architektura systemu. Pod jego koniec przedstawione s funkcjonalnoci
systemu oraz sposb ich implementacji.
W czwartym rozdziale przedstawione zostay wyniki tej pracy. Opisane
s odpowiednie przypadki uycia systemu. Tutaj ju pod ktem uytkowym opisane zostay
dostpne funkcjonalnoci dla uytkownikw systemu. Zawarte s tam rwnie wnioski
z realizacji aplikacji przy uyciu Ruby on Rails, a take przedstawienie wnioskw,
odnoszcych si do tworzenia serwisw w duchu Web 2.0.
W ostatnim rozdziale podsumowana jest caa ta praca wraz z nakrelonymi moliwymi
drogami jej rozwoju oraz korzyci, jakie przyszy z jej napisania.
10
Internetowy system e-CRM do obsugi biura podry
W dalszej czci zostan przytoczone fakty, ktre powysze stwierdzenie uczyni jak
najbardziej uzasadnionym.
11
Internetowy system e-CRM do obsugi biura podry
Godn uwagi kwesti, jest rwnie gwatownie rosnca ostatnio jego popularno. Na
stronie TIOBE mona zobaczy ranking. Ruby obecnie zajmuje 10 pozycj i ma najwikszy
przyrost spord wszystkich jzykw! Rok 2006 by bardzo udanym rokiem dla Rubiego -
skok a o 11 pozycji!. Rosnc popularno jzyka obrazuje poniszy wykres, zaczerpnity ze
wspomnianej strony.
12
Internetowy system e-CRM do obsugi biura podry
13
Internetowy system e-CRM do obsugi biura podry
2.2. CRM
W celu zrozumienia, czego oczekuje klient tak naprawd naley wsucha si w jego
potrzeby oraz sprbowa zidentyfikowa motywacje jego dziaa ten punkt widzenia jest
koniecznoci w osigniciu rynkowego sukcesu. Ciko o jednoznaczn definicj systemu
CRM. Literatura [3,4,5,7] przytacza wiele interpretacji tego zagadnienia. Inaczej zdefiniuje
CRM osoba z dowiadczeniami ekonomicznymi, inaczej informatyk, a jeszcze inaczej mona
powiedzie o systemach typu e-CRM. Natomiast wszystkie definicje maj bardzo wany
wsplny mianownik - jest nim zorientowanie na klienta.
CRM okrela si strategi biznesow, skupiajc si na budowaniu dugoterminowych
zwizkw z klientami, umacniania ich na rnych paszczyznach, w celu zwikszenia
dochodowoci firmy, a take redukcji kosztw wasnych. Najistotniejsza dla firmy kwestia,
czyli satysfakcja odbiorcy, wynika z jakoci oferowanych produktw, a take usug
wiadczonych przez firm, ale to nie wszystko w czasach tak wielkiej konkurencji
biznesowej. Kady klient czuje si kim wyjtkowym dla firmy, w momencie gdy zna ona
jego osobiste upodobania i potrafi je zaspokaja. Dla odbiorcy korzyci jest spenianie jego
zrnicowanych potrzeb, a dla firmy prowadzenie dugoterminowych relacji z zadowolonym
klientem. Jeli due przedsibiorstwo chce wykorzystywa wspln wiedz o kliencie,
obowizkiem staje si budowanie baz danych. Tworzy si w nich swoista skarbnica wiedzy
dla firmy, poniewa zawieraj cenn histori relacji z klientem. Wanie dlatego, by system
zarzdzania by jednolity i wszystkie komrki firmy (sprzeday, marketingu i serwisu)
pozostaway ze sob w korelacji potrzebny jest CRM.
Na nastpnej stronie przedstawiona jest graficznie droga kontaktu firmy z klientem,
ktrej dokadniejsze rozplanowanie jest bardzo wane w nawizaniu jak najlepszych relacji
firmy z klientem.
14
Internetowy system e-CRM do obsugi biura podry
Rysunek 2 Rysunek obrazuje proces zarzdzania relacjami, ktrego celem jest zatrzymanie klienta w
czasie. Wszystkie dziaania w poszczeglnych dziaach firmy s ze sob powizane. Najistotniejszym za
komponentem efektywnego administrowania CRM jest zarzdzanie
CRM jest ide firmy wspierana jedynie przez technologi. Definiujc to w inny
sposb, jest to nowa kultura biznesowa, ktr musi zrozumie kada, idca z duchem czasu,
organizacja. Na pocztku trzeba dokadnie pozna ideologi CRM, dopiero potem
zsynchronizowa j z celami firmy. Systemy informatyczne to tylko narzdzie, ktre suy w
pozyskiwaniu waciwych informacji, ich kilkukrotnym przetwarzaniu oraz znajdowaniu
strategicznych zalenoci midzy rekordami baz danych.
15
Internetowy system e-CRM do obsugi biura podry
Wyrniane s ich nastpujce gwne rodzaje systemw klasy CRM [7, 39]:
analityczny
operacyjny,
kontaktowy.
16
Internetowy system e-CRM do obsugi biura podry
Operacyjny - w swej funkcjonalnoci jest zbliony do systemw klasy ERP. Typowe dla
niego funkcje biznesowe obejmuj obsug klienta, zarzdzanie zamwieniami, fakturowanie,
dodatkowo take automatyzacj i kwestie marketingowe. Istotnym aspektem operacyjnego
CRM jest moliwo integracji z funkcjami finansowymi i dotyczcymi zasobw ludzkich
systemw klasy ERP. Funkcjonalnoci operacyjnego systemu CRM s tutaj wykorzystywane
gwnie w dziaach: sprzeday, serwisu i marketingu, a niektre rozwizania obejmuj te
Call Center.
17
Internetowy system e-CRM do obsugi biura podry
2.2.3. e-CRM
Sieciowy CRM [9, 11], cakiem podobnie jak tradycyjny, zorientowany jest na klienta, ale
wymaga ju odrbnych zasad postpowania. Przede wszystkim wynika to gwnie ze
specyfiki kanau dystrybucji jakim jest Internet. Gwn ide eCRM jest dalej skupianie si
na analizie klienta, jego preferencjach, znajdywaniu zalenoci w jego zachowaniach i jemu
podobnych uytkownikach. Koncentracja na odbiorcy, nie tylko traktowanie go w ujciu
statystycznym, moe dostarczy mu tego, czego naprawd poszukuje. Usatysfakcjonowanie
konsumenta stanowi najprostsz drog w budowaniu wsplnych wizi, jego lojalnoci, ktra
moe przecie zaowocowa zarwno zyskiem dla firmy jak i niego samego. Dlatego tak
istotne jest zaangaowanie waciciela serwisu internetowego w ksztatowanie przyjaznego
otoczenia dla sieciowego uytkownika. Moe to znale odzwierciedlenie w:
18
Internetowy system e-CRM do obsugi biura podry
Dziki nim mona wygenerowa nie tylko szczegowy obrazu klienta. Moliwe s
dodatkowe prognozy dotyczce dalszych jego zamierze. Najbardziej wartociowym
kluczem, ktry moe prowadzi do sukcesu jest wanie zdolno przewidywania kolejnych
potrzeb konsumenta. Nie jest to jedynie rezultatem planowania, ale czsto kwintesencj
wynikajc z wnikliwej analizy na wielu paszczyznach percepcji klienta.
19
Internetowy system e-CRM do obsugi biura podry
Gdy wiele mocnych firm stara si zwikszy swoje udziay rynkowe, utrzymanie
dotychczasowych klientw i zwikszenie ich lojalnoci staje si niezwykle duym
wyzwaniem. W wielu branach mamy ju do czynienia z siln konkurencj, a walka o
staych klientw bdzie niewtpliwie przybiera na znaczeniu. Wanym powodem jest
analizowana w dugim okresie redukcja kosztw, ktra jest powszechnie dostrzegalna. W
pozyskanie nowego klienta zawsze musi si inwestowa. Na inwestycje te skadaj si midzy
innymi: reklama, promocje sprzeday, koszty wizyt handlowych, materiaw reklamowych,
wyposaenie sprztowe i wynagrodzenia personelu, itp. Przy rosncej konkurencji, droszej
sile roboczej koszty pozyskania klienta bd rosy. Jednoczenie rozwj nowych technologii,
przede wszystkim sposobu zarzdzania bazami danych i Internetu, powoduj dalsz redukcj
kosztw utrzymania klienta. Konsekwencj jest, na ile to tylko moliwe, optymalizacja
kosztw pozyskania i utrzymania klienta.
Kolejna strona zaczyna si od graficznego przedstawienia modelu funkcjonowania
firmy w bezporedniej relacji z potrzebami klienta. Pozwala to na optymalizacj relacji z
klientem i ich intensyfikacj.
20
Internetowy system e-CRM do obsugi biura podry
Rysunek 3 model sekwencji funkcjonowania firmy na danym rynku w kontekcie relacji z klientem
21
Internetowy system e-CRM do obsugi biura podry
czsto okazuje si, e podejcie klienta do odpowiednich tematw jest diametralnie inne. Gdy
zdamy sobie z tego spraw bdzie moliwe dedykowanie klientowi celnych kompozycji
produktw lub usug.
Filozofia zarzdzania relacjami z klientem wykracza daleko poza dotychczasowe normy
obsugi klienta. Skupiona jest na oferowaniu mu takiej wartoci, ktra spowoduje, e stanie
si on nam wierny przez dugie lata. Zaoenie to si sprawdzi w praktyce, gdy firma da
klientowi co wicej ni on sam oczekuje, co, czego najczciej si nawet nie spodziewa
zaley to tylko od kreatywnoci firmy. Przykadem oferowania wartoci dodanej moe by
serwowanie wsparcia merytorycznego osobie, ktra nabya program komputerowy. Moe to
polega na udostpnieniu internetowego forum ekspertw, na ktrym klient bdzie mia
prawo korzystania z porad fachowcw.
CRM jest to take zarzdzanie relacjami z rnymi klientami. W praktyce oznacza to
spersonalizowanie relacji, odmienne traktowanie kadego z konsumentw. Synna zasada
Pareto (zasada 80-20) gosi, i 20% klientw generuje 80% zyskw. Dlatego istotnego
znaczenia nabiera odnalezienie tych waciwych. Selekcja odpowiednich grup konsumenckich
i ich obsugiwanie bdzie stanowi dla firmy oryginalny potencja. Zwikszenie rentownoci
przedsibiorstwa nastpi poprzez zarzdzanie kontaktami z wartociowymi klientami, tzw.
klientami kluczowymi. Wcale nie oznacza to jednak zaprzestania oferowania jakoci
wiadczonych usug odbiorcom mniej dochodowym, chocia wcale si nie da ukry, e na
pewno znajdzie si takie grono klientw, ktrego firma bdzie chciaa si jak najszybciej
pozby.
Lojalno jest zawsze w cenie. Jest wyznacznikiem zaufania klienta wobec firmy. Taki
klient to ten, ktry moe by oddany firmie w dugofalowej perspektywie. Przejawia si to w
powtarzalnoci dokonywania transakcji. Mona dopatrywa si tego zjawiska take w
aspekcie psychologicznym. Widoczna jest ona wwczas w emocjonalnym przywizaniu
klienta do firmy takiemu klientowi wypada stworzy nawet wraenie, e to on ma bardzo
wany wpyw na ksztatowanie si oferty przedsibiorstwa. Tacy klienci posiadaj dodatkow
warto dla marki, ktr wyznaj.
Dziaania firm, ktre skupiaj si na opracowywaniu nowych programw lojalnociowych
s w tym momencie intensywnie rozwijane. Firmy te za ich porednictwem zamierzaj
powikszy ilo swojej sprzeday. Karty staego klienta i punkty rabatowe to gwne
motywatory, ktre maj skoni potencjalnego klienta do zakupu. Jednak wszystkie
inicjatywy tego typu nie przynosz firmom spodziewanych korzyci. Wiele z nich wprowadza
programy lojalnociowe do swojej polityki dziaania. Uwaa rwnie, e za ich
22
Internetowy system e-CRM do obsugi biura podry
porednictwem zjedna sobie cenn lojalno klienta. W tym wypadku mamy do czynienia z
opatrznie pojtym modelem lojalnoci. Klienci jednak nie dochodz do tego najczciej z
materialnych pobudek, ale jest to podparte siln motywacj. Jest to bardzo zoonym
procesem. Nie mona by cakowicie pewnym lojalnoci klienta po tym tylko, e korzysta z
przywileju karty rabatowej.
23
Internetowy system e-CRM do obsugi biura podry
o szybko - serwis Web 2.0 moe powsta relatywnie szybko. Gdy idea jest dobra,
naley j intensywnie wdraa, aby ubiec aktywn konkurencj.
24
Internetowy system e-CRM do obsugi biura podry
25
Internetowy system e-CRM do obsugi biura podry
Web 2.0 [13] to nie tylko zmiany w serwisach - zmieniaj si te obyczaje internautw,
ktrzy coraz chtniej prbuj wychodzi poza role biernych konsumentw newsw. Szukaj
alternatywnych rde informacji lub sami staraj si je dostarcza. Publikuj, komentuj i
wchodz w interakcje z innymi uytkownikami sieci. Podejmujc decyzje, skonni s raczej
oprze si na zbiorowej opinii innych internautw ni zawodowych ekspertw.
2.4. Folksonomia
Do kategoryzacji treci serwisu internetowego coraz czciej wykorzystuje si
znaczniki, zwane tagami. Coraz czciej umoliwia si uytkownikom danego serwisu
dodawania swoich skojarze, swoich cech witrynom, tak aby potem uytkownicy o
podobnym do nich profilu atwiej odnajdywali w ten sposb oznaczone treci. Zjawisko takie
wykorzystuje na przykad nowy polski serwis spoecznociowy MojaGeneracja.pl, ktry
zosta zaoony przez spk akcyjn Gadu-Gadu, ktre jest potentatem wrd
wykorzystywanych w Polsce komunikatorw internetowych. Nastpn stron rozpoczyna
rysunek obrazujcy rozmieszczenie znacznikw w jednej czci witryny powyszego serwisu
spoecznociowego:
26
Internetowy system e-CRM do obsugi biura podry
2.5. AJAX
Najprociej rzecz biorc, AJAX [14] to technologia umoliwiajca tworzenie aplikacji
internetowych, w ktrej interakcja uytkownika z serwerem odbywa si bez przeadowywania
caego dokumentu, a tylko tych jego elementw, ktre ulegy zmianie w danym odcinku
27
Internetowy system e-CRM do obsugi biura podry
AJAX (skrt od Asynchronous JavaScript And XML) jest nazw nowej metody
programowania, ktra czy kilka rnych technik: (X)HTML i CSS do tworzenia interfejsu
uytkownika, DOM (Document Object Model) do obsugi elementw dynamicznych i
interakcji oraz XMLHttpRequest do asynchronicznej wymiany danych. czy si te techniki
w jedn cao za pomoc JavaScript, odpowiedzialnego za logik aplikacji, jak rwnie
dynamiczn aktualizacj interfejsu uytkownika.
Istnieje te wiele darmowych zestaww narzdzi typu open source, czyli otwartych do
rozwoju, uatwiajcych tworzenie i rozwijanie aplikacji AJAX - przy okazji redukuj objto
kodu JavaScriptu, jaki trzeba normalnie wpisywa rcznie.
28
Internetowy system e-CRM do obsugi biura podry
29
Internetowy system e-CRM do obsugi biura podry
ju ni by, a zaczyna by coraz mocniejsz gazi rynku, ktry w zwizku z coraz wiksz
iloci opcji ofert do wyboru staje si coraz bardziej rnorodny. To bardzo obiecujce
zjawisko.
Warto przeledzi, jak funkcjonuj teraz najlepsze serwisy, czyli travelplanet.pl,
wakacje.pl, traveliada.pl, tui.pl, eholiday.pl
30
Internetowy system e-CRM do obsugi biura podry
Rysunek 10 witryna serwisu tui.pl, ktry daje moliwo wyszukiwania oferty zwizanej z hobby
potencjalnego klienta
31
Internetowy system e-CRM do obsugi biura podry
32
Internetowy system e-CRM do obsugi biura podry
33
Internetowy system e-CRM do obsugi biura podry
34
Internetowy system e-CRM do obsugi biura podry
1. http://url/trips/show/2
2. Rutowanie odnajduje
kontroler Trips
3. Kontroler wchodzi w
interakcje z modelem
4. Kontroler wywouje widok
5. Widok generuje kolejn
stron i do niej przechodzi.
3.2.1. Mysql
MySQL jest systemem zarzdzania baz danych MySQL, jest relacyjnym systemem
zarzdzania baz danych. Relacyjna baza danych przechowuje dane w oddzielnych tabelach
zamiast wrzucenia wszystkiego do jednego zbioru danych. Takie podejcie owocuje
szybkoci i elastycznoci. Tabele s poczone ze sob poprzez zdefiniowane zwizki
midzy nimi, co umoliwia czenie na danie danych z kilku tabel. Cz SQL w nazwie
MySQL oznacza "Structured Query Language" - najbardziej powszechny i ustandaryzowany
jzyk dostpu do baz danych. Dostpne rda oznaczaj, e kady moe ich uy i je
35
Internetowy system e-CRM do obsugi biura podry
modyfikowa. Kady moe cign MySQL poprzez Internet i korzysta z niego bez
adnych opat. MySQL dostpny jest na licencji GPL, ktra okrela, co mona, a czego nie
mona zrobi z oprogramowaniem w rnych sytuacjach. MySQL jest bardzo szybki,
niezawodny i atwy w uyciu. MySQL oryginalnie by rozwijany znacznie szybszej ni
istniejce rozwizania do obsugi bardzo duych baz danych i przez ostatnie lata zosta
pomylnie wdroony w wielu bardzo wymagajcych projektach. Mimo e w cigym
rozwoju, MySQL oferuje dzi bogaty i uyteczny zestaw funkcji. Spjno, szybko i
bezpieczestwo sprawiaj, e MySQL jest doskonaym narzdziem stosowanym przy
dostpie do baz danych przez Internet [21,22].
Podstawowe moduy stanowice trzon rozwizania, jakim jest Ruby on Rails to : Active
Record, Action Pack, Scaffolds , Test oraz Action Mailer.
Active Record
Active Record kontroluje interakcje midzy nasz aplikacj a baz danych. Dziki
prostocie rozwizania Active Record, prawie cakowicie zostaa wyeliminowana potrzeba
dodatkowych konfiguracji. W schemacie Active Record uytkownicy wykonuj operacje na
tabelach bazy danych za pomoc obiektw rekordw. Kady rekord reprezentuje wiersz w
tabeli bazy danych, a przy tym kady obiekt Active Record posiada zestaw czterech metod
zwanych w skrcie CRUD (ang. Create , Read, Update, Delete), umoliwiajcych dostp do
bazy danych. Rozwizanie to pozwala na uproszczenie projektu i umoliwia proste
mapowanie midzy tabelami a obiektami aplikacji.
W wielu wzorcach projektowych stosuje si obecnie technologi mapowania
relacyjno-obiektowego (ang. object-relational mapping, ORM)[23]. W przypadku jzyka Java
wie si to ze stworzeniem odpowiedniego mapowania w kodzie lub odpowiednia
konfiguracj XML. Wad tego rozwizania jest konieczno wielokrotnego programowania
tych samych rzeczy, poniewa trzeba zdefiniowa kad z kolumn w modelu obiektw, a
nastpnie w plikach konfiguracyjnych. W Rails natomiast, zamiast mapowania stosuje
strategi obudowywania. Programista Rails rozpoczyna programowanie od utworzenia
relacyjnej bazy danych i obudowuje kad tabel odpowiedni klas Active Record. Kada
instancja klasy reprezentuje jeden wiersz w bazie danych. Szkielet Active Record bdzie
36
Internetowy system e-CRM do obsugi biura podry
# standardowa walidacja
validates_presence_of :login, :email
validates_presence_of :password,:if => :password_required?
before_save :encrypt_password
end
Order.rb
class Order < ActiveRecord::Base
belongs_to :user #prosz zwrci uwag na liczb pojedyncz
end
37
Internetowy system e-CRM do obsugi biura podry
moliwo uruchomienia tej samej migracji dla rnych typw baz danych (MySQL,
SQLite, PostgreSQL i inne). Migracje pozwalaj w atwy sposb utworzy/przywrci
struktur bazy
obsugiwanie wersji, dziki czemu mona w atwy sposb porusza si miedzy
kolejnymi wersjami struktury bazy danych
ich przygotowywanie jest znacznie wygodniejsze od rcznego tworzenia za pomoc
SQL
38
Internetowy system e-CRM do obsugi biura podry
Przykad migracji:
def self.down
drop_table :orders
end
end
Kada migracja skada si z dwch czci. Pierwsza z nich opisuje operacje, jakie
maj zosta wykonane w celu stworzenia wyszej wersji struktury bazy danych. Druga cz
opisuje operacje, ktre powinny zosta wykonane podczas przywracania poprzedniej wersji
struktury.
o Widok
W Rails, widok odpowiedzialny jest za tworzenie czciowych oraz caociowych
widokw. Widoki generowane s za pomoc akcji kontrolera. Najczciej celem jest
wygenerowanie owej zawartoci dynamicznie. Dynamiczna zawarto generowana moe by
na 3 sposoby. Najpopularniejszym jest generowanie rhtml , s to fragmenty jzyka Ruby,
wczane pomidzy elementy jzyka HTML za pomoc narzdzia Erb (z ang. Embedded
Ruby). Kolejnym sposobem jest generowanie dokumentw XML zwany rxml. Ostatnim
sposobem jest generowanie widokw rjs. Daj one moliwo tworzenia caych blokw kodu
JavaScript na podstawie pojedynczych komend. Jest to szczeglnie wykorzystywane przy
tworzeniu dynamicznych interfejsw Ajax-owych.
Przykady dynamicznego generowania widokw:
o generowanie hiperczy, w poczeniu z JavaScript
39
Internetowy system e-CRM do obsugi biura podry
Kod w RHTML:
<%= link_to 'Usun', { :action => 'destroy', :id => trip }, :confirm => 'Are
you sure?', :method => :post %>
40
Internetowy system e-CRM do obsugi biura podry
o generowanie formularzy
Kod w RHTML:
<% form_tag :action => 'create' do %>
<%= error_messages_for 'trip' %>
<p><label for="trip_country">Country</label><br/>
<%= text_field 'trip', 'country' %></p>
<p><label for="tags">Tagi</label><br/>
<ul>
<% @all_tags.each do |c| %>
<li>
<%=
check_box_tag("tags[]",c.name,@trip.tag_list.names.include?(c.name)) %>
<%= c.name%>
</li>
<% end %>
</ul>
</p>
<%= submit_tag "Create" %>
<% end %>
41
Internetowy system e-CRM do obsugi biura podry
</ul>
<!--[eoform:trip]-->
<input name="commit" value="Create" type="submit">
</form>
Kontroler
Jest logicznym centrum aplikacji. Koordynuje interakcje pomidzy uytkownikiem,
widokami i modelem. Koordynowanie to odbywa si automatycznie, przez co programista
moe skoncentrowa si tylko na pisaniu kodu implementujcego podan funkcjonalno.
Czyni to te kod czytelnym. Kontroler jest rwnie odpowiedzialny za trasowanie (z ang.
routing) przychodzcych zapyta do odpowiednich akcji. Generuje przyjazne dla
uytkownika linki URL, zarzdza pamici podrczn oraz dostarcza wiele innych
funkcjonalnoci.
42
Internetowy system e-CRM do obsugi biura podry
Action Mailer
Jest to komponent Rails sucy do obsugi wszelkich funkcji zwizanych z
generowanie, tworzeniem, wysyaniem i odbieraniem maili.
43
Internetowy system e-CRM do obsugi biura podry
o Acts_as_rated
atwy w uyciu i wygodny system do oceniania dla modeli Active Record. Jego
najwaniejsze zalety uywane w naszej aplikacji to:
44
Internetowy system e-CRM do obsugi biura podry
o Acts As Authenticated
Bardzo rozbudowana i popularna wtyczka, umoliwiajca autentykacj uytkownikw.
Opcje uyte na potrzeby tej aplikacji :
o Autentyzacja uytkownika
o Edycja profilu (po dodaniu odpowiedniej aty)
o Opcja Zapamitaj mnie, pozwala pomin konieczno logowania si przy
kadej wizycie na stronie
o Dwustronnie kodowane hasa
o Moliwo zmiany hasa
o Opcja pozwalajca okrela konieczno bycia zalogowanym na konkretnej
podstronie
o Przekierowania do strony z logowaniem w przypadku bycia nie zalogowanym
o Sitealizer
o Flickr
45
Internetowy system e-CRM do obsugi biura podry
46
Internetowy system e-CRM do obsugi biura podry
47
Internetowy system e-CRM do obsugi biura podry
Naley do Grupa
-motyw graficzny
0..*
Uzytkownik
Administrator
-login
-superuzytkownik : bool skada
-email
1
posiada 1
Daty
0..* -data poczatkowa
-data koncowa
-ilosc miejsc
-ilosc zajetych
0..*
0..*
*
wartosciuje Cechy wycieczek
-id wycieczki
-id cechy
*
Oceny
-typ ocenianego obiektu
-wartosc
-cecha
-obiekt
48
Internetowy system e-CRM do obsugi biura podry
49
Internetowy system e-CRM do obsugi biura podry
50
Internetowy system e-CRM do obsugi biura podry
o Wysyanie mailingw
W tym celu zostaa uyta funkcjonalno wchodzca w skad moduu Action
Mailer.
id = list[0].id
secret = list[0].secret
info = flickr.photos.getInfo :photo_id => id, :secret => secret
# generowany jest odpowiedni widok
render :partial => "photo", :collection => list
end
end
51
Internetowy system e-CRM do obsugi biura podry
o skategoryzowana oferta
W celu wygenerowania listy najbardziej popularnych kategorii uywa si funkcji
wchodzcej w skad wtyczki Acts As Taggable generujcej tzw. chmur tag-w.
o szczegowe statystyki
W tym celu integruje si z t aplikacj modu Sitealizer.
52
Internetowy system e-CRM do obsugi biura podry
53
Internetowy system e-CRM do obsugi biura podry
54
Internetowy system e-CRM do obsugi biura podry
4. Rezultaty pracy.
Rysunek 18 Strona gwna, kadorazowo tworzony jest tymczasowy uytkownik, przez co od samego
pocztku dostpna jest dla uytkownika prawie pena funkcjonalno.
55
Internetowy system e-CRM do obsugi biura podry
56
Internetowy system e-CRM do obsugi biura podry
57
Internetowy system e-CRM do obsugi biura podry
58
Internetowy system e-CRM do obsugi biura podry
Rysunek 24 Uruchomienie ankiety majcej na celu skrcenie rezultatw oraz stworzenie profilu
uytkownika.
59
Internetowy system e-CRM do obsugi biura podry
cechy mona skojarzy z ofert oraz skierowa przekaz w sposb charakterystyczny dla
grupy, jak reprezentuje klient (np. motyw graficzny przypisany do grupy). Od tego momentu
klient moe odnosi wraenie, e traktowany jest w sposb unikalny.
Ponisze zrzuty ekranu prezentuj pytania (ich tre) oraz sposb zadawania.
Rysunek 26 Pytanie 1
Rysunek 27 Pytanie 2
Rysunek 28 Pytanie 3
Rysunek 29 Pytanie 4
60
Internetowy system e-CRM do obsugi biura podry
o Przez biuro
Konkretnej ofercie wycieczki przypisywane s wartoci cech profilu
uytkownika, ktrym wg opinii administratora biura dana wycieczka odpowiada.
Oferta generowana jest w kolejnoci od najlepiej dopasowanych.
o Przez spoeczno
Sposb bardziej obiektywny, wymagajcy jednak zaistnienia spoecznoci
wok tego biura. W tym wypadku wartociowania oferty dokonuj grupy
uytkownikw. Wpyw innych uytkownikw na ostateczny ksztat oferty jest tym
wikszy, im wiksza jest ich ilo cech wsplnych z aktualnie obsugiwanym
klientem.
Scenariusz otrzymania wyniku przedstawionego na rysunku poniej jest
nastpujcy:
1. Warunki pocztkowe
a. Konta uytkownikw istniej.
b. Wycieczki Country 1111 i Country 1211 do tej pory nie
posiadaj adnych ocen.
2. Uytkownicy okrelili swoje profile
a. Profil cech pierwszego z nich jest identyczny z profilem aktualnie
obsugiwanego uytkownika. Dlatego jest to klient o bardzo
zblionych preferencjach.
b. Profile dwch pozostaych maj po jednej cesze wsplnej (jest to
warunek konieczny, by ich gosy byy brane pod uwag).
3. Uytkownicy dokonuj oceny wycieczek
a. Pierwszy gosuje na wycieczk o nazwie Country1111 z ocen 1,
a na wycieczk Country 1211 z ocen 5
b. Pozostali dwaj ofert wycieczki o nazwie Country1111 oceniaj
na 5, natomiast Country1211 na 1
4. Rezultat
61
Internetowy system e-CRM do obsugi biura podry
62
Internetowy system e-CRM do obsugi biura podry
Rysunek 31 Przykad kampanii reklamowej za pomoc poczty elektronicznej. Zastosowany zosta motyw
charakterystyczny dla uytkownika. U gry wida wygenerowane nagwki wiadomoci.
63
Internetowy system e-CRM do obsugi biura podry
Rysunek 32 Prezentacja pojedynczej oferty wycieczki oraz sposobu tworzenia oferty przez spoeczno
internetow
64
Internetowy system e-CRM do obsugi biura podry
65
Internetowy system e-CRM do obsugi biura podry
66
Internetowy system e-CRM do obsugi biura podry
67
Internetowy system e-CRM do obsugi biura podry
68
Internetowy system e-CRM do obsugi biura podry
69
Internetowy system e-CRM do obsugi biura podry
oraz
Dobrym podsumowaniem, jeli chodzi o zalety Rails jest lista 10 powodw (wedug
Dave'a Thomas'a), dla ktrych warto je wyprbowa :
70
Internetowy system e-CRM do obsugi biura podry
71
Internetowy system e-CRM do obsugi biura podry
Rysunek 44 Wykres obrazujcy wzrost popularnoci Rails jako technologii do tworzenia aplikacji
internetowych
72
Internetowy system e-CRM do obsugi biura podry
73
Internetowy system e-CRM do obsugi biura podry
74
Internetowy system e-CRM do obsugi biura podry
5. Podsumowanie
75
Internetowy system e-CRM do obsugi biura podry
76
Internetowy system e-CRM do obsugi biura podry
77
Internetowy system e-CRM do obsugi biura podry
Literatura
1. Adrian Horzyk - Sekrety negocjacji z satysfakcj wykady 2006 / 2007
2. Dariusz Tarczyski (2000) Zrozumie czowieka z wygldu, Studio Astropsychologii
3. Jill Dyche (2002) CRM - relacje z klientami, Helion
4. Agnieszka Dejnaka (2002) CRM - Zarzdzanie kontaktami z klientami, Helion,
5. Frederick Newell (2002) Lojalno.com - Zarzdzanie Relacjami z Klientami w nowej
erze marketingu internetowego
6. Krystyna Mazurek opaciska (2002) Orientacja na klienta w przedsibiorstwie, Polskie
Wydawnictwo Ekonomiczne
7. Mazur A., Jaworska K., Mazur D. (2001), CRM Zarzadzanie kontaktami z klientami, Madar
8. Nowiska S. : CRM dla duych i maych, Direct Communication, 2004
9. Szewczyk J, Fiedorowicz J. : Moda na CRM, "Computerworld Raport" 2001 padziernik,
s. 13-15
10. Zachara M. : CRM w klimacie B2B, Magazyn Modern Marketing, 2000 nr 9
11. Justyna Adamczyk (2000) : CRM w ujciu klasycznym i internetowym, Materia
konferencyjne - Electronic Commerce: "Teoria i zastosowania", Politechnika Gdaska,
12. Antoni Leniek (2006) Co oznacza okrelenie Web 2.0? - http://www.i-
slownik.pl/1,1894,web,2,0.html
13. Zbigniew Domaszewicz (2006) Web 2.0 to rewolucja w internecie? -
http://gospodarka.gazeta.pl/gospodarka/1,68367,3196659.html
14. Joshua Eichorn (2007) Ajax porzdkowanie aplikacji - www.phpsolmag.org
15. Wolfgang Jackowski (2005) Rynek e-turystyki 2005 - http://www.biznesnet.pl/a/7934/2
16. WWW: http://www.ruby-lang.org/en/
17. WWW: http://www.ruby-lang.org/pl/dokumentacja/udane-wdrozenia/
18. WWW: http://wiki.rubyonrails.org/rails/pages/MVC
19. WWW: http://wiki.rubyonrails.org/rails/pages/UnderstandingMVC
20. WWW: http://wiki.rubyonrails.org/rails/pages/UnderstandingRailsMVC
21. WWW:
http://www.webdeveloper.pl/manual_mysql/show.php?str=manual_Introduction_pl.html#
What-is
22. WWW: http://dev.mysql.com/doc/refman/5.1/en/index.html
23. WWW: http://www.agiledata.org/essays/mappingObjects.html
24. Bruce A. Tate, Curt Hibbs (2005), Ruby on Rails wprowadzenie, Helion
25. Micha Sobczak (2005), Ruby on Rails wiczenia, Helion
26. WWW: http://martinfowler.com/bliki/DomainSpecificLanguage.html
27. WWW: http://community.programuj.com/p/comboy/+Migracje+w+Ruby+on+Rails
28. WWW: http://www.w3.org/
29. Dave Thomas (2005), Agile Web Development with Rails - second edition, pdf
30. WWW: http://wiki.script.aculo.us/scriptaculous/show/IntegrationWithRubyOnRails
31. WWW: http://wiki.script.aculo.us/scriptaculous/show/Demos
32. WWW: http://prototypejs.org/
33. Praca zbiorowa pod redakcj Stanisawa Wryczy (2006), UML 2.1 wiczenia, Helion
34. Chad Fowler (2005), Rails. Przepisy, Helion
35. WWW: http://wiki.rubyonrails.com/rails/pages/Framework%20Performance
36. WWW: http://www.rubyonrails.org/quotes
37. WWW: http://www.internetstandard.pl/news/107199.html
38. WWW: http://news.bbc.co.uk/2/hi/technology/6653119.stm
78
Internetowy system e-CRM do obsugi biura podry
79
Internetowy system e-CRM do obsugi biura podry
Spis rysunkw
Rysunek 1 Ilustracja wzrostu popularnoci jzyka Ruby .......................................................12
Rysunek 2 Rysunek obrazuje proces zarzdzania relacjami, ktrego celem jest zatrzymanie
klienta w czasie. Wszystkie dziaania w poszczeglnych dziaach firmy s ze sob powizane.
Najistotniejszym za komponentem efektywnego administrowania CRM jest zarzdzanie....15
Rysunek 3 model sekwencji funkcjonowania firmy na danym rynku w kontekcie relacji z
klientem ...............................................................................................................................21
Rysunek 4 Gwna witryna popularnego serwisu Web 2.0 www.goldenline.pl ..................24
Rysunek 5 Przykad specjalistycznego serwisu Web 2.0. www.miejsce.info .........................25
Rysunek 6 Popularny modzieowny serwis spoecznociowy oparty na wartociowaniu treci
za pomoc tagw www.mojageneracja.pl .............................................................................27
Rysunek 7 gwna witryna travelplanet.pl ............................................................................30
Rysunek 8 gwna witryna serwisu wakacje.pl ..................................................................30
Rysunek 9 gwna witryna serwisu traveliada.pl................................................................31
Rysunek 10 witryna serwisu tui.pl, ktry daje moliwo wyszukiwania oferty zwizanej z
hobby potencjalnego klienta .................................................................................................31
Rysunek 11 gwna witryna serwisu eholida.pl..................................................................32
Rysunek 12 Sposb i kierunek wymiany operacji w modelu MVC w Rails...........................35
Rysunek 12 Przykad dziaania mechanizmu walidacji .........................................................38
Rysunek 13 Wygenerowany automatycznie formularz..........................................................43
Rysunek 14 Wygenerowana lista, oraz dostpne funkcjonalnoci .........................................43
Rysunek 15 Diagram przypadkw uycia .............................................................................47
Rysunek 16 Diagram klas .....................................................................................................48
Rysunek 17 Strona gwna, kadorazowo tworzony jest tymczasowy uytkownik, przez co od
samego pocztku dostpna jest dla uytkownika prawie pena funkcjonalno......................55
Rysunek 18 Okno rejestracji .................................................................................................56
Rysunek 19 Okno logowania do systemu (opcja 'Zapamitaj mnie')......................................56
Rysunek 20 Lista najpopularniejszych znacznikw i przypisanych do nich wycieczek..........57
Rysunek 21 Podobne wycieczki na podstawie przypisanych znacznikw..............................57
Rysunek 22 Pena lista wynikw ..........................................................................................58
Rysunek 23 Uruchomienie ankiety majcej na celu skrcenie rezultatw oraz stworzenie
profilu uytkownika..............................................................................................................59
Rysunek 24 Wynikowa oferta po ograniczeniu jej cechami...................................................59
Rysunek 25 Pytanie 1 ...........................................................................................................60
Rysunek 26 Pytanie 2 ...........................................................................................................60
Rysunek 27 Pytanie 3 ...........................................................................................................60
Rysunek 28 Pytanie 4 ...........................................................................................................60
Rysunek 29 Rezultat dziaania algorytmu generujcego ofert na podstawie opini
uytkownikw o podobnych preferencjach ...........................................................................62
Rysunek 30 Przykad kampanii reklamowej za pomoc poczty elektronicznej. Zastosowany
zosta motyw charakterystyczny dla uytkownika. U gry wida wygenerowane nagwki
wiadomoci. .........................................................................................................................63
Rysunek 31 Prezentacja pojedynczej oferty wycieczki oraz sposobu tworzenia oferty przez
spoeczno internetow .......................................................................................................64
Rysunek 32 Udostpnianie galerii fotografii z wycieczek - integracja z serwisem Flickr.com
.............................................................................................................................................64
Rysunek 33 Dodawanie okresw dla wycieczek z przykadem walidacji. .............................65
Rysunek 34 Motyw letni.......................................................................................................66
80
Internetowy system e-CRM do obsugi biura podry
81