Professional Documents
Culture Documents
Przemysław Papciak
PRACA INŻYNIERSKA
STUDIA STACJONARNE
Ocena: ……………………………..
Podpis promotora: …………………
Promotor: Dr inż. Lech Jamroż
Kraków 2015
Składam serdeczne podziękowania za zaangażowanie,
wsparcie oraz udzieloną pomoc w trakcie pisania
niniejszej pracy Panu Dr inż. Lechowi Jamrożowi
2
Spis treści
3
1. Wprowadzenie i tematyka projektu
Rozpoczynając pierwszy rozdział, nie sposób nie wspomnieć o podstawowym
zagadnieniu, które przyświecało podczas prac nad serwisem, a więc trend zapoczątkowany w
2001r – zwany częściej WEB 2.0. Wbrew pozorom, termin ten nie oznacza drugiej sieci
globalnej, a zmianę sposobu myślenia podczas tworzenia serwisów internetowych. Do tamtej
pory zawartość stron internetowych tworzyli administratorzy – dodawali oni informacje, które
użytkownicy mogli później czytać – konwencja WEB 2.0 zmieniła ten standard. Aż do teraz
większość portali korzysta z nowego sposobu kreowania zawartości strony, a więc oddanie jej
do współtworzenia użytkownikom, jak również umożliwienie im interakcji między sobą.
Celem niniejszej pracy było stworzenie tematycznego serwisu społecznościowego,
ukierunkowanego na ludzi interesujących się grą komputerową firmy Blizzard Entertainment
– „Hearthstone: Heroes of Warcraft”. Serwis miał dawać zaplecze informacyjne (newsy,
artykuły), społecznościowe (komentarze, forum) oraz turniejowe (ułatwienie organizacji
turniejów dla graczy).
Sam „Hearthstone” jest internetową grą typu TCG (trading card game), a więc
kolekcjonerską grą karcianą. Jeśli można by ją do czegoś porównać, to najbliżej jej do gier
stolikowych takich jak „Magic the Gathering” czy „Yu-Gi-Oh”, jednak jest ona odmianą
wirtualną. Gracze odblokowują poszczególne karty, dzięki którym są w stanie budować coraz
to lepsze talie. Oczywiście w grze znaczenie nadrzędne mają umiejętności gracza, jednak
istotną rolę odgrywa tu również szczęście w doborze kart oraz zagrywanie ich w
odpowiedniej kolejności. Gracz używający kart perfekcyjnie ma większe szanse na wygraną,
natomiast czynnik losowy może pokrzyżować mu plany – z idei więc sama gra przypomina w
dużym stopniu pokera. Mimo, że platforma została otwarta dla użytkowników zaledwie rok
temu, już zdobyła wielomilionową publiczność. Na polskim rynku nie ma wielu serwisów
tematycznych na jej temat, jak również niewiele serwisów wspiera zaplecze turniejowe tej
gry.
4
2. E-sport
5
branżą e-sportową spowodował taki zastrzyk finansów na przestrzeni ostatnich lat. Jednak
aby wzbić się na wyżyny należy bardzo mocno się poświęcić. Treningi profesjonalnych
graczy to często kilkanaście godzin dziennie. W krajach azjatyckich gracze to swoiści
celebryci, a także sportowcy – za swoją pracę pobierają normalną (choć niejednokrotnie wiele
wyższą niż normalna) pensję.
Jeszcze parę lat temu drużyna składająca się z pięciu polaków (Mariusz "Loord"
Cybulski, Jakub "kuben" Gurczyński, Filip "Neo" Kubski, Łukasz "LUq" Wnęk, Wiktor
"TaZ" Wojtas), której sukcesów na arenie gry Counter Strike 1.6 trudno zliczyć – a która
niejednokrotnie przywoziła do Polski złote medale i nagrody finansowe liczone w setkach
tysięcy - była znana tylko garstce zainteresowanych grami dzieciaków, telewizja czy prasa
konsekwentnie ignorowały ten temat uważając go za zbyt błahy. W tym czasie uzyskanie
pomocy sponsorskiej w naszym kraju było sprawą tak mało realną, że naprawdę mocni gracze
musieli szukać pomocy poza granicami naszego kraju – w organizacjach „gamingowych” jak
„Meet your makers” czy „Fnatic”. Był to jedyny sposób aby mieć możliwość poświęcenia
odpowiedniej ilości czasu na dalsze treningi. Gracze nie byli traktowani na równi ze
sportowcami, a ponieważ nie mogli zapewnić sponsorom odpowiedniego zaplecza
marketingowego (zbyt małe zainteresowanie grami) najczęściej po prostu się poddawali.
Teraz istnieje sporo polskich organizacji zajmujących się wspieraniem najlepszych
graczy, a ponieważ ogromny odsetek młodzieży wychował się z komputerem w dłoniach
sponsorzy widzą ogromny potencjał w tej branży. Przykładem tego typu działania jest ot
choćby organizacja ogromnego wydarzenia e-sportowego jakim jest - przygotowywany przez
Electronic Sports League - Intel Extreme Masters w Katowicach. Organizatorzy wykładają
ogromne pieniądze, aby wyłonić najlepszych graczy w poszczególne gry i sprowadzić ich do
naszego kraju (nawet z Azji). A publiczności nie brakuje, katowicki Spodek rok rocznie jest
wypełniony po brzegi – ba, niektórzy oglądają cały event z zewnątrz, na telebimach mimo, że
transmisje puszczane są live w sieci. Atmosfera jest magnetyczna, a kibice porównywalni do
tych z siatkarskich boisk. W Polsce jest też wciąż sporo drużyn, które są w stanie zdobywać
światowe laury – zwykle są one wspierane przez organizacje. Kilka lat temu głośno było o
PGS (Pentagram G-Shock), w barwach której występowała na przykład złota piątka CS 1.6.
Organizacja została niestety rozwiązana w 2011r., a szkoda, bo niedługo później polski
e-sport nabrał dużego rozpędu. Aktualnie warto wspomnieć organizację Alsen-Team, która
prowadzi w tej chwili kilka dywizji w różne gry i wspiera graczy również finansowo. Innym
ciekawym przykładem jest drużyna League of Legends „Team Rock” której tytularnym
6
sponsorem jest jeden z największych polskich youtuberów „gamingowych”. Właśnie za
sprawą popularyzacji „youtube” przemysł gier komputerowych nabrał w Polsce dużego
rozpędu, gracze uzyskali legalny sposób na oglądanie tzw. gameplayów z gier bez ich
poprzedniego kupowania, co pozwoliło zarazić ogromną część młodego społeczeństwa
bakcylem internetowych sportów. A czy to coś dało? Tak! Panowie z polskiego ESL od wielu
lat planują i promują turnieje gier online, często są one nagradzane – finansowo lub rzeczowo.
Ilość drużyn i zawodników stale rośnie, a możliwość zetknięcia się z profesjonalnymi
graczami na turnieju motywuje młodych graczy do trenowania z całych sił. To coś jak
międzyszkolne turnieje w piłkę nożną – mała skala, ale emocje te same co na mistrzostwach
świata i co najważniejsze, dające możliwość rozwoju.
Za granicą e-sport jest czymś popularnym już od wielu lat, właściwie od kiedy powstały
pierwsze automaty do gry – Mortal Combat czy Tekken. Gry te były bijatykami na
maszynach typu arcade przeznaczonymi dla dwóch graczy. Ale to nie na nich odbywały się
pierwsze turnieje. Wielu za takiego prekursora uważa grę Spacewar, której pierwszy oficjalny
turniej odbył się w 1972r. W 1980r. skala tego zjawiska jeszcze się zwiększyła, gdy odbył się
turniej w grę Space Invaders – w którym wzięło udział ponad 10 tysięcy graczy z całych
Stanów Zjednoczonych.
Jedną z pierwszych gier internetowych, był przygotowany dla nawet 16 graczy Netrek
wydane w 1988r. Była to pierwsza drużynowa gra internetowa, a polegała ona na niszczeniu
statków kosmicznych przeciwników.
Na przestrzeni kolejnych lat notowano rozwój gier internetowych, ale skala tego zjawiska
nie była zbyt duża aż do lat dziewięćdziesiątych kiedy to powstały takie gry jak „Warcraft”,
"Starcraft”,” Quake” czy wspominany już „Counter Strike”.
7
Rys. 2 Wielkość nagród za turnieje e-sportowe na przestrzeni ostatnich piętnastu lat w USD
(źr. Wikipedia)
8
3. Projekt systemu
3.1. Zapotrzebowanie
9
Przybliżony czas realizacji projektu powinien wynieść nie więcej niż dwa miesiące.
Oczywiście praca programisty jest sprawą dużo bardziej złożoną, niejednokrotnie napotkane
problemy mogą wydłużyć czas jego realizacji.
Użytkownik bloga:
Istnieją cztery typy użytkowników (administrator, redaktor, subskrybent, gość)
Większość informacji na serwisie jest dostępna z poziomu niezarejestrowanego
użytkownika (gość)
Po zarejestrowaniu użytkownik uzyskuje domyślną rolę „subskrybenta” oraz
możliwość edytowania swoich prywatnych danych w profilu (imię, nazwisko,
pseudonim, e-mail, witryna internetowa, facebook, biografia), zmiany swojego hasła
czy awatara (obrazka).
Zarejestrowany użytkownik otrzymuje możliwość komentowania wpisów jak również
konwersacji na forum.
Zarejestrowanemu użytkownikowi można nadać uprawnienia „redaktora” – w tym
wypadku poza standardowymi funkcjami otrzymuje on również dostęp do panelu
edycji wpisów, mediów i komentarzy.
Zarejestrowanemu użytkownikowi można nadać uprawnienia „administratora” – w
tym wypadku poza funkcjami należącymi do subskrybentów oraz redaktorów,
użytkownik otrzymuje dostęp do wszystkich możliwości panelu administracyjnego
(menu aktualizacji, ustawienia serwisu, panel użytkowników – w tym banowanie,
usuwanie, modyfikowanie – panel administracji wtyczkami, narzędzia do tworzenia
kopii zapasowych, zmiana wyglądu layoutu, edytor plików HTML).
Nowy użytkownik otrzymuje domyślny awatar z logiem serwisu.
Każdy użytkownik może wyszukiwać treści na serwisie za pomocą wyszukiwarki.
Użytkownik forum:
Istnieją cztery główne typy użytkowników na forum (administrator, moderator
globalny, zarejestrowany użytkownik, gość).
Większość informacji na forum jest dostępna z poziomu niezarejestrowanego
użytkownika (gość)
10
Po zarejestrowaniu użytkownik uzyskuje domyślną rolę „zarejestrowany użytkownik”
oraz możliwość edytowania swoich prywatnych danych w profilu (imię, nazwisko,
pseudonim, e-mail, wiek, zawód), zmiany swojego hasła czy awatara (obrazka).
Po zarejestrowaniu użytkownik otrzymuje też możliwość wysyłania prywatnych
wiadomości do innych użytkowników, dodawania przyjaciół, wrogów, otrzymuje
obszerne statystyki swojego konta (ostatnia wizyta, liczba postów, najaktywniejszy
dział itp.).
Zarejestrowany użytkownik otrzymuje możliwość wyrażania swojej opinii w każdym
miejscu do tego przeznaczonym, może przygotować swój podpis (tekst lub zdjęcie
widocznie pod każdym wpisem).
Zarejestrowanemu użytkownikowi możemy przydzielić rolę „moderator globalny”,
otrzymuje on wtedy dostęp do panelu moderatora (ostrzeżenia, bany, usuwanie czy
modyfikowanie postów).
Zarejestrowanemu użytkownikowi możemy przydzielić rolę „administrator”,
otrzymuje wtedy pełne możliwości konfiguracyjne systemu, mechanizmy nadawania
uprawień, aktualizacji, pełne statystyki forum, administrację użytkownikami,
administrację serwerem.
Nowy użytkownik forum otrzymuje domyślny awatar z logiem serwisu.
Każdy użytkownik może wyszukiwać treści na forum za pomocą wyszukiwarki na
forum.
Synchronizacja użytkowników:
Konto użytkownika zarejestrowane na blogu zostanie przemigrowane również na
forum, konto zarejestrowane na forum zostanie przemigrowane na bloga.
Zalogowanie się na blogu automatycznie loguje użytkownika na forum, zalogowanie
na forum automatycznie loguje użytkownika na blogu.
Struktura serwisu:
Serwis składa się z dwóch połączonych ze sobą silników CMS (WordPress blog oraz
PhpBB forum). Przemieszczanie się pomiędzy silnikami powinno być płynne i
niezauważalne z poziomu użytkownika.
Zarówno blog jak i forum posiada interaktywne logo, w które wkomponowany został
panel rejestracji oraz logowania a także ikonki przenoszące do innych powiązanych
portali społecznościowych (facebook, youtube, twitter, twitch).
11
Pod logiem znajdziemy interaktywne menu, na blogu znajdziemy tam
usystematyzowane kategorie wpisów oraz kilka dodatkowych podstron, na forum –
panel użytkowników, wyszukiwarkę, profil, panel prywatnych wiadomości, własne
wpisy, przycisk wylogowania).
Koncepcja rozplanowania zawartości na blogu:
Kontent Przerwa Sidebar (pasek boczny)
630px 20px 310px
Panel kontentowy zawiera skróty wpisów wraz z ilością komentarzy, datą, loginem
autora i kategoriami.
Sidebar zawiera dodatkowe panele (rankingi turniejowe, panel zwycięzców, ostatnie
posty czy tematy na forum), panel live stream.
Szerokość kontentu na forum wynosi 960px (tyle samo co całość bloga).
Stopka zawiera listę ostatnich wpisów na blogu lub listę ostatnich postów na forum,
zawiera miejsce na ewentualne linki sponsorskie czy grafiki użytkowe.
Mini-menu dolne zawiera informacje handlową twórcy gry, oraz kilka podstroi (o nas,
współpraca, kontakt, polityka prywatności).
12
4. System i jego architektura
Kiedy planujemy stworzyć własną stronę internetową, wtedy mamy do wyboru dwie
możliwości: stworzyć ją od początku samemu korzystając ze swoich umiejętności
programistycznych albo użyć któregoś z systemów zarządzania treścią. Nie oznacza to, że da
się stworzyć profesjonalny i szanowany serwis internetowy bez umiejętności programowania
go, jednak dzięki zastosowaniu tak zwanych CMS’ów (content management system) po
pierwsze tworzenie serwisu jest dużo szybsze, po drugie nawet amator bez znajomości
programowania będzie w stanie sam takim system administrować.
Zastanawiając się, którego z nich użyć do tego projektu natknąć się było można się na
ogromną ilość różnych darmowych i płatnych rozwiązań. Z oczywistych powodów skupiłem
się przede wszystkim na systemach z darmową licencją a wśród nich zdecydowanie
najbardziej wyróżniają się aktualnie trzy:
13
zaplecze w postaci dodatkowych wtyczek ogromne. Dodatkowo istnieje wspaniały poradnik
twórców systemu – wordpress codex, dzięki któremu nauka systemu jest dużo
przyjemniejsza. Instalacja samego wordpressa jest banalnie prosta, a administracja wymaga
tylko podstawowej wiedzy na temat działania serwisów internetowych. Dlatego też właśnie
ten system wybrany został do stworzenia serwisu hearthcore.pl.
14
internetowe a skrypty służą zwykle zapewnieniu interaktywności poprzez reakcje na
zdarzenia czy sprawdzania poprawności formularzy. JavaScript najczęściej działa po
stronie klienta, jednak od niedawna możliwe jest także jego działanie po stronie
serwera (Node.js).
CSS – kaskadowe arkusze stylów. Język służący do opisu formy prezentacji stron
WWW. Arkusz zawiera listę dyrektyw ustalających sposób wyświetlania zawartości
wybranych elementów przez przeglądarkę internetową. Można w ten sposób zapisać
takie elementy dokumentów jak marginesy, czcionki, kolor, ramkę, wcięcia a nawet
pozycję względem innego obiektu. Język ten służy do odseparowania struktury
dokumentu od sposobu jego prezentacji.
15
Kolejnym ważnym plikiem jest wp-config.php. W nim ustalamy dostęp do naszej bazy
danych MySQL.
WordPress współpracuje z bazą danych MySQL, dlatego też właśnie taka baza została
użyta. Podstawowa struktura bazy danych WordPress wygląda następująco:
16
Rys. 10 Baza danych WordPress serwisu Hearthcore.pl
Na szczęście WordPress sam troszczy się o swoją bazę danych, dlatego „admin” zagłębi się w
jej otchłań tylko wtedy kiedy potrzebuje konkretnych informacji administracyjnych (logi,
próby włamań, sztywna zmiana ustawień użytkownika). W większości przypadków zmian
dokonuje się z poziomu panelu administracyjnego, mimo to należy zwrócić uwagę na
ważniejsze tabele bazy danych WordPress.
17
Rys. 12 Zawartość tabeli Wp_usersmeta
18
4.5. Panel administracyjny
19
Przykładowe podstrony panelu administracyjnego
20
4.6. Wpisy
21
Administratorzy oraz redaktorzy mogą dodawać wpisy, w tym celu przygotowane są
specjalnie dwa edytory (wizualny i tekstowy HTML) aby ułatwić pracę przy ich generowaniu.
Przygotowane posty można zapisać jako szkice, w celu nie udostępniania ich i możliwości
powrotu do edycji później. Można też ustawić kategorię wpisu dzięki czemu możliwe jest ich
wylistowanie na podstawie konkretnej zawartości.
22
Dodatkowo można w tym miejscu edytować też informacje potrzebne do pozycjonowania
SEO. Jest to dodatek do wtyczki pozycjonującej, o której w kolejnym rozdziale. Można tu
również dodać miniaturkę zdjęcia oraz wstępny panel do ewentualnej moderacji komentarzy.
24
Rys. 27 Panel logowania stworzony za pomocą Erident Custom Login Dashboard
25
Cyclone Slider 2 – Domyślnie wtyczka stworzona do tworzenia przesuwanych panelu
obrazków, tzw. „sliderów”. W tym też celu został on pobrany. Jednak zyskał dodatkowe
zastosowanie. Dzięki jego wygodnemu panelowi edycji, można większość obrazków na
stronie umieścić w takich właśnie panelach nawet jeśli są statyczne. Wtedy ewentualny klient
może dowolnie zmieniać te obrazki bez zmieniania kodu CSS, a tylko przeciąga je z poziomu
panelu administracyjnego. Jest intuicyjna i bardzo przydatna. Przesuwanie można ustawić na
czas i/lub dodać guziki.
WordPress SEO – Ta wtyczka została stworzona przez Yoasta i jest to istny kombajn w
swojej klasie. Ma wbudowany wachlarz ustawień zaawansowanych, ale nawet uruchomienie
podstawowych funkcji w odczuwalny sposób usprawnia pracę z pozycjonowaniem.
Oczywiście nadal musimy pamiętać o słowach kluczowych w tytułach i sposobie pisania, ale
otrzymujemy również analizę jakości SEO oraz dodatkowy panel służący do pozycjonowania
każdego wpisu wbudowany do edytora WordPress. Nad samym pozycjonowaniem rozważane
będzie w osobnym rozdziale.
26
4.7.3. Wtyczki zabezpieczające
Login lock down – Blokuje dostęp do serwera po kilku nieudanych próbach logowania.
Zapobiega atakom typu Brute Force. Można ustawić czas banowania oraz ilość dozwolonych,
niepoprawnych prób.
Easy Captcha – prosta nakładka na panel rejestracyjny blokująca botom możliwość prostej
rejestracji. Oczywiście na bardziej zaawansowany boty lepiej sprawdzi się niestandardowa
captcha, gdyż niektóre potrafią już nawet analizować zdjęcia.
27
Warto wspomnieć, że coś na kształt wtyczek można znaleźć również na PhpBB, z którego
korzystano przy tworzeniu forum hearthcore.pl. Tam jednak nazywa się to „modami”.
Również rozszerzają one właściwości platformy.
Po stronie forum natomiast wystarczy dodać kilka plików i zatwierdzić modyfikacje. W ten
sposób gdy użytkownik rejestruje się na którymkolwiek z systemów, jego dokładna kopia
migruje do drugiego z nich. Użytkownik jest zalogowany na obu serwisach równolegle i nie
odczuwa przejścia pomiędzy systemami dzięki wyglądowi stylu.
28
Rys. 34 Wygląd forum hearthcore.pl
4.9. Motyw
Na wygląd serwisu składa się kilka czynników. Po pierwsze projekt graficzny. Jeśli
nie jest w jakiś sposób charakterystyczny wtedy goście po pierwszych odwiedzinach
zapamiętają, że już więcej nie mają po co zaglądać. Po drugie pliki szablonowe php, które
wyświetlają poszczególne panele. Trzecią sprawą są pliki .css, które określają sposób
wyświetlania poszczególnych elementów. Pliki naszego motywu (theme) usytuowane są w
katalogu: Wp-content/themes/nazwa_motywu.
Foldery tworzone w tym katalogu są integralną częścią motywu i nie mają nic
wspólnego z silnikiem WordPress. Tutaj też dodaje się funkcjonalności (includes) czy obrazki
do motywu (images).
29
Pliki .php w tym folderze to pliki sterujące wyświetlaniem wszystkich paneli strony.
Przykładowo w pliku header.php znajdziemy nagłówki oraz wyświetlanie górnego loga
strony. Footer.php to stopka, page.php to styl wyświetlania podstroi. W author znajdziemy
wylistowanie wpisów jednego autora. Nazewnictwo jest dość intuicyjne. Dodatkowo można
znaleźć tutaj też plik funkcyjny to functions.php w którym inicjujemy dodatkowe moduły i funkcje
szablonu:
Plik style.css to nasz kaskadowy arkusz styli. Wskazuje on elementom strony w jaki sposób powinny
się wyświetlać. Można używać kilku plików arkuszy styli aby zwiększyć czytelność przy dużych
projektach. Przy małych, można stosować jeden prosty plik. W taki sposób można kontrolować
miejsce wyświetlania się elementu, jego marginesy, cienie, obramowanie. Sposób
wyświetlania w nim tekstu (float), wysokość, szerokość. Opcji jest bardzo wiele.
30
Rys. 38 Szablon wyświetlania serwisu hearthcore.pl
Podczas rozwijania serwisu pojawiła się koncepcja, aby stworzyć system w którym
organizatorzy eventów (tzw. kominków – spotkań graczy) mogli dodać w serwisie takie
wydarzenie w celach promocyjnych. Koncepcja była o tyle skomplikowana, że aplikacja
miałaby tworzyć osobne podstrony dla każego wydarzenia, odsływać również do tematu na
forum i zawierać mapki dojazdu (googlemaps).
Z pomocą przyszła bardzo ciekawa wtyczka o nazwie „Events Made Easy”. Po
odpowiednim przygotowaniu serwisu i edytowaniu ustawień wtyczki udało się dostosować ją
do zadanych potrzeb. Plugin, podczas instalacji sam stworzył dodatkowe menu w panelu
WordPressa o nazwie „Wydarzenia”.
31
Rys. 39 Panel edycji wydarzeń
Z poziomu tego menu administrator jest zdolny dodawać wydarzenie, edytować je czy
usuwać. Ale jakoś trzeba sprawić aby użytkownik mógł takie dane administratorowi
przekazać. Zastosowany został prosty mechanizm zaimplementowany w .php, służący do
wysyłania e-mail’a do administratora z potrzebnymi danymi.
32
Rys. 41 Panel „spotkań przy kominku”
33
A tak wygląda indywidualna strona wydarzenia. Znajdziemy na niej wszystkie zaplanowane
pola takie jak miejsce, adres, data, godzina, informacja przekazana przez organizatora jak
również mapkę, która została stworzona przez wtyczkę na podstawie lokalizacji.
34
5. Administracja
Rolą administratora tego typu serwisu jest czuwanie nad jego funkcjonowaniem.
Najkorzystniejsza sytuacja ma miejsce wtedy, gdy administrator jest też programistą czy
grafikiem. Wtedy poza podstawowymi funkcjami - jak dodawanie wpisów, korekta,
nadzorowanie pracy redaktorów, pomoc użytkownikom czy nawet banowanie ich za złe
zachowanie - może on również modernizować serwis i rozwijać go.
W serwisie łączonym, którego integralną zawartością jest forum, administracja ma
jeszcze więcej pracy. Zachowanie porządku na forum jest trudniejsze niż na blogu i wymaga
też zaangażowania dodatkowych osób, tzw. „moderatorów”. Administrator nadaje im
uprawnienia dzięki którym mogą oni usuwać i edytować wpisy użytkowników, a nawet
zabrać im możliwość brania udziału w dalszej dyskusji.
W zależności od wielkości portalu czasami jeden administrator nie wystarcza. Zwykle
jest ich dwóch lub trzech przy większych projektach. Dodatkowo redaktorzy, którzy piszą
teksty czy moderatorzy pilnujący porządku na forum. Działanie serwisu internetowego
wymaga dużej ilości zaangażowanych w projekt osób.
następujący sposób:
Zarządzanie użytkownikami
Zarządzanie treścią
Zarządzanie wyglądem
Modernizacja serwisu
Reakcja na błędy, wprowadzanie poprawek
35
5.2. Zarządzanie za pomocą systemu
36
Zarządzanie forum phpBB
Zarządzanie użytkownikami
Zarządzanie grupami
Zarządzanie działami
Konfiguracja forum
Konfiguracja serwera
37
Rys. 48 Panel administracyjny phpBB
38
Z drugiej strony modernizacja phpBB o dodatkowe modyfikacje wymaga instalacji
AutoMOD’a, który już sam w sobie jest przykładem rozszerzenia do podstawowej wersji
systemu. W tym przypadku służy on do instalowania modyfikacji – „modów”. Dzięki niemu
możemy pobierać modyfikacje ze specjalnych stron społeczności wspierających działanie
phpBB – np. phpbb.pl/mods . Takie wtyczki jak np. ReIMG Image Resizer (odpowiednie
renderowanie plików graficznych na forum) instaluje się poprzez wybranie ścieżki do pliku
.rar i jego wypakowanie.
Aby mieć możliwość edycji plików szablonowych serwisu lub nawet plików arkusza
stylów musimy ręcznie logować się do serwera. Najczęściej to zadanie realizuje się
programami takimi jak WinSPC, za pomocą których podłączamy się do serwera i
otrzymujemy możliwość edytowania plików.
39
Panel administracyjny WordPress udostępnia jednak w tym celu specjalnie przygotowany
edytor plików szablonu. Dzięki temu administrator może już z poziomu serwisu edytować
ważne dla niego informacje – zmienne definicje jakiegoś panelu.
Dzięki edytorowi zmiana elementów panelu ogranicza się tylko do podmienienia linków,
nazwy i daty. W ten sam sposób można edytować również pliki .css. W znaczny sposób
ułatwia to aktualizację strony.
40
Bardzo ważną sprawą jest biblioteka mediów, czyli panel do którego dodaje się obrazki,
logotypy, tła potrzebne do wpisów. Po załadowaniu do takiej biblioteki obrazka otrzymuje się
link do miejsca na serwerze, pod którym można znaleźć daną grafikę. Dzięki temu nie
musimy sami martwić się ręcznym wrzucaniem grafik na serwer.
Kolejną przydatną możliwością, jaką daje panel WordPress jest edytor menu. Dzięki niemu
możemy edytować nasze główne menu aby doprowadzić go do naszych oczekiwań.
Cały proces jest bardzo prosty i intuicyjny, wystarczy dodać poszczególne strony z lewego
panelu lub dodać odnośniki (linki). Później należy zmienić pozycję takiej cegiełki wstawiając
ją jako kategorię, stronę lub własny link.
41
Rys. 56 Ustawianie struktury menu
42
5.5. Najczęstsze błędy oraz problemy
Administracja dużym serwisem złożonym z elementów takich jak blog i forum jest
stosunkowo bardziej złożona, niż administracja zwykłą statyczną stroną. Należy tutaj wziąć
pod uwagę wiele więcej zagadnień ot choćby problemy wynikające z istnienia mechanizmu
rejestracji użytkowników. Udostępniając w Internecie ten mechanizm trzeba być
przygotowanym na ciągłą walką z internetowymi botami, które będą za wszelką cenę
próbować ominąć zabezpieczenia, zarejestrować się na witrynie i bez opamiętania rozrzucać
nic nie warte informacje – tzw. „spam”. W zależności od stopnia zaawansowania takich
botów są one mniej lub bardziej podatne na zabezpieczenia. Przykładowo jak chodzi o blog
WordPress instalacja wtyczek Login Lockdown oraz Easy Captcha - o których była mowa w
poprzednich rozdziałach – skutecznie zapobiegła rejestracji botów w serwisie. Na forum
phpBB kłopot był większy, mimo istnienia kilku opcji zabezpieczenia rejestracji tylko jedna z
nich okazała się skuteczna.
43
W ten sposób dla potencjalnego użytkownika fraza: „Podaj nazwę gry, która sprowadza Cię
na nasze forum” nie jest żadnym problemem (Hearthstone). Jest bardzo wiele ciekawych
opcji zabezpieczających forum postawione na phpBB, większość z nich jest już domyślnie
wbudowana w system dlatego warto nawet pobieżnie sprawdzić cały panel administracyjny
aby mieć świadomość ich istnienia.
Częste robienie kopii zapasowej bazy danych czy aplikacji na serwerze jest nie tylko
dobrą praktyką, ale również obowiązkiem. Już na etapie tworzenia serwisu przynajmniej kilka
razy pracując nad rolami użytkowników może się zdarzyć sytuacja, w której przypadkowo
wyrzucimy z bazy danych jakiś ważny rekord lub zmienimy jakiś link w nieodpowiedni
sposób. Najczęstszym ratunkiem jest wtedy kopia naszej bazy danych. A to tylko wierzchołek
góry lodowej, bo co w sytuacji kiedy ktoś rzeczywiście będzie próbował włamać się do naszej
bazy? Aktualna baza danych pozwala uniknąć strat informacji, użytkowników, wpisów na
forum czy statystyk wejść. Podobna sytuacja ma miejsce z samymi plikami strony, na których
pracując czasami możemy gdzieś pomylić literkę – wtedy łatwiej taki plik przekopiować, niż
szukać błędów w całym kodzie.
Stosunkowo ważną praktyką jest też częste aktualizowanie WordPressa oraz użytych
wtyczek. Czasami wtyczki posiadają błędy, czasami są podatne na ataki hackerskie przez
niewłaściwy sposób zakodowania. Takie sytuacje są raczej rzadkie, jednak aktualizacja takich
wtyczek daje nam poczucie, że ktoś nad takimi sprawami pracuje i poprawia istniejące luki.
Jeśli chodzi o wtyczki, to administrator musi być dość elastyczny. Czasami zdarzają się
sytuacje, że jakaś wtyczka po prostu działa w nieprzewidziany sposób – np. „Easy Timer”
testowany przez serwis Heartcore.pl na wcześniejszym etapie pracy sprawiał, że kiedy licznik
odliczający określony czas dochodził do 0:00, serwer otrzymywał sygnał nieskończonej pętli i
blokował dostęp do strony. Zajęcie się takimi błędami należy do obowiązków administratora.
6. Marketing internetowy
6.1. Target
6.2. Aktywność
6.3. Pozycjonowanie
46
Domyślny adres Czysty adres
http://hearthcore.pl/?p=123 http://hearthcore.pl/blizzconowy-weekend-hexie/
Można tego dokonać w bardzo prosty sposób. Wystarczy odnaleźć „bezpośrednie odnośniki”
w zakładce „ustawienia”.
Odpowiednie redagowanie wpisów jest również bardzo ważne podczas pracy nad
pozycjonowaniem serwisu. Jakie hasło najlepiej pasuję do opisania tematyki omawianego
serwisu? Polska społeczność gry „Hearthstone”. Dlatego też podczas tworzenia wpisów,
artykułów należy szczególną uwagę zwrócić na używanie słów kluczowych. Nie znaczy to, że
użycie 100 razy słowa „Hearthstone” na stronie sprawi że nagle będzie pierwsza. Ale częste
używanie słowa kluczowego sprawi, że w konsekwencji serwis wyląduje w przeglądarkach
wyżej.
47
Rys. 61 Zagęszczenia słowa „Hearthstone” na hearthcore.pl
49
W podobnym celu można również stosować zaplecze przygotowane przez twórców
„youtube.com”. Serwis od wielu lat bijący rekordy popularności poprzez udostępnienie
systemu dodawania i odtwarzania filmów oraz muzyki. Ogromna ilość użytkowników tego
portalu sprawia, że stosunkowo łatwo jest zdobyć tam rozpoznawalność. Można też używać
„youtube.com” w celu archiwizacji nagrań realizowanych za pomocą Twitch.tv.
W ten sposób publika generowana przez jego audycje może zostać zachęcona do sprawdzenia
serwisu, a goście serwisu w łatwy sposób sprawdzą kto ciekawy aktualnie gra. Kolejny
przykład obopólnej korzyści wynikającej ze współpracy w Internecie.
51
7. Podobne tematycznie serwisy
„Hearthstone : Heroes of Warcraft” jest grą stosunkowo nową. Otwarte testy beta
rozpoczęły się w stycznie 2014r, więc gra ma dokładnie rok. W ciągu roku zaskarbiła sobie
ogromną popularność i zapełniła niszę na gry karciane w e-sporcie. Jest bardzo wiele portali
tematycznych, jednak stosunkowo mało tych dużych. Większość ze stron działa na zasadzie
blogów i nie są zbyt często aktualizowane. Dodatkowo jest naprawdę mało witryn, które
zajmują się organizacją turniejów, a zwłaszcza w Polsce. W tym rozdziale przedstawione
zostanie kilka znanych mi serwisów działających na podobnych zasadach.
4.1. Globalne
Inną znaną na świecie marką jest liquidhearth.com, serwis publicystyczny. Ma ogromną bazę
artykułów, wartościowych wywiadów, nowinek ze sceny światowej. Udostępnia ciekawe
dodatkowe panele, jak „bieżące wydarzenia”, „aktywne steramy”, „nadchodzące turnieje”.
Gość znajdzie tutaj na pewno bardzo wiele wartościowych, aktualnych informacji.
52
Rys. 69 Serwis liquidhearth.com
53
4.2. Polskie
W polskim środowisku wciąż jest mało aktywnych stron o podobnej tematyce. Istnieją
jak dotąd trzy duże serwisy traktujące o grze „Hearthstone”. Pierwszym z nich jest
oczywiście hearthcore.pl, którego główną myślą przewodnią jest organizacja turniejów oraz
video relacji. Kolejnym jest hsarena.pl, udostępniający interesujące wiadomości, artykuły
oraz największe forum tematyczne w Polsce.
54
Istnieje również serwis esportcup.pl, którego tematyką główną jest ogólno pojęty e-sport oraz
organizacja turniejów na różnych platformach. W swoim arsenale mają również prężną
administrację rozwijającą scenę „Hearthstone”. Zajmują się również promocją i
popularyzacją video relacji z turniejów, należy więc o nich wspomnieć jako serwis
podążający wspólnym trendem.
8. Podsumowanie
Zarówno proces tworzenia tego typu serwisu jak i administracja nim są na pierwszy
rzut oka bardzo skomplikowane, ale przede wszystkim czasochłonne. WordPress dzięki
swojej prostocie i bogactwu wtyczek spełnia oczekiwania i daje dodatkowe możliwości
rozwoju. W planach jest system rankingów dla graczy z całej Polski czy wprowadzenie kilku
aplikacji związanych z grą typu „kreator talii”. Promocja serwisu i jego pozycjonowanie to
niezwykle ważne aspekty, a współpraca z innymi portalami i społecznościami często daje
dobre rezultaty.
55
9. Literatura
[1] Larry Ullman, PHP6 I MySQL 5. Dynamiczne strony WWW. Szybki start, Helion 2009
[2] Thord Daniel Hedengren, Podręcznik WordPressa. Smashing Magazine, Helion 2013
[3] WordPress Codex Manual for WordPress
http://codex.wordpress.org/
[4] PHP Manual
http://php.net/manual/en/
[5] MySQL Reference Manual
http://dev.mysql.com/doc/
[6] JavaScript and HTML DOM Reference
http://www.w3schools.com/jsref/
[7] Historia E-Sportu
http://en.wikipedia.org/wiki/Electronic_sports
[8] Wtyczki WordPress oraz ich dokumentacje
https://wordpress.org/plugins/
[9] Modyfikacje do phpBB
http://www.phpbb.pl/mods
http://www.twitch.tv
http://hsarena.pl
http://www.hearthstone.net.pl
http://esportcup.pl
http://hseu.zotac-cup.com/pl/
http://www.liquidhearth.com
http://hearthpwn.com
http://challonge.com
http://youtube.pl
http://twitter.com
http://facebook.com
56
Spis rysunków
58