Os commerce wdrażanie sklepu internetowego



Podobne dokumenty
Wdrożenie modułu płatności eservice. dla systemu Zen Cart

Wdrożenie modułu płatności eservice. dla systemu oscommerce 2.3.x

Wdrożenie modułu płatności eservice. dla systemu Magento

Sklep Internetowy - OS Commerce

ZPKSoft WDoradca. 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja

Spis treści. Spis treści Wstęp Instalacja nazwa.pl Instalacja Home.pl Edycja grafiki strony logo...

WINDOWS Instalacja serwera WWW na systemie Windows XP, 7, 8.

InPost dla PrestaShop. kompatybliny z wersjami: 1.5, 1.6. Instrukcja obsługi

E-commerce. Genialnie proste tworzenie serwisów w PHP i MySQL.

RFP. Wymagania dla projektu. sklepu internetowego B2C dla firmy Oplot

BSX PRINTER INSTRUKCJA UŻYTKOWNIKA. Autor: Karol Wierzchołowski 30 marca 2015

OMNITRACKER Wersja testowa. Szybki przewodnik instalacji

I. Informacje ogólne. Jednym z takich systemów jest Mambo.

Wdrożenie modułu płatności eservice. dla systemu Gekosale 1.4

OMNITRACKER Wersja testowa. Szybki przewodnik instalacji

MODUŁ INTEGRUJĄCY ELEKTRONICZNEGO NADAWCĘ Z WF-MAG SPIS TREŚCI

oprogramowania F-Secure

FUNKCJONALNOŚ C PORTAL B2B KAMELEON.ŚQL

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

MATERIAŁY DYDAKTYCZNE. Streszczenie: Z G Łukasz Próchnicki NIP w ramach projektu nr RPMA /15

Instrukcja Integracja z istore. Wersja z 07/02/2015. Copyright Zakupteraz.pl

Instrukcja instalacji

Pracownia internetowa w szkole ZASTOSOWANIA

Integracja z Facebook. Wersja 7.2.4

Instrukcja użytkownika

SPECYFIKACJA WDROŻENIA SKLEPU MAGENTO

EXSO-CORE - specyfikacja

VENUS-BEAUTY.pl. Instrukcja obsługi procesu zamówienia

IIIIIIIIIIIIIIIMMIMMIII

Pomoc dla r.

PrestaShop. Sklep internetowy szyty na miarę

4. Podstawowa konfiguracja

Wstęp. Skąd pobrać program do obsługi FTP? Logowanie

Internetowy serwis Era mail Aplikacja sieci Web

Konfiguracja konta pocztowego w Thunderbird

Instrukcja. Rejestracji i aktywacji konta w systemie so-open.pl DOTACJE NA INNOWACJE; SOFTWARE OPERATIONS SP. Z O. O.

EuroFirma Sklep Internetowy do programów

Instrukcja Inetgracja z Clickshop. Wersja z 29/10/2014. Copyright Zakupteraz.pl

Wysyłka dokumentacji serwisowej z Sekafi3 SQL do producentów.

Miejskie Wodociągi i Oczyszczalnia sp. z o.o. w Grudziądzu. ibok. Internetowe Biuro Obsługi Klienta. Instrukcja obsługi

Dokumentacja Użytkownika Systemu

Platforma e-learningowa

Instrukcja użytkownika. Aplikacja dla Comarch ERP XL

Forte Zarządzanie Produkcją Instalacja i konfiguracja. Wersja B

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne

Klient poczty elektronicznej - Thunderbird

APACZKA. (Moduł Magento) v Strona 1 z 11

Instrukcja obsługi platformy B2B ARA Pneumatik

Technologie Internetowe Raport z wykonanego projektu Temat: Internetowy sklep elektroniczny

Włączanie/wyłączanie paska menu

ShopGold Integrator by CTI. Instrukcja

APLIKACJA SHAREPOINT

Dokumentacja systemu NTP rekrut. Autor: Sławomir Miller

Instalacja modułu DHL24 w sklepie Magento

MAGENTO INTEGRATOR XL BY CTI INSTRUKCJA

Instrukcja do panelu administracyjnego. do zarządzania kontem FTP WebAs.

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu http.

POCZTA POLSKA. v Strona 1 z 9

Voicer. SPIKON Aplikacja Voicer V100

Currenda EPO Instrukcja Konfiguracji. Wersja dokumentu: 1.3

Podstawowe informacje potrzebne do szybkiego uruchomienia e-sklepu

Instrukcja Integracja z Shoper. Wersja z 18/01/2015. Copyright Zakupteraz.pl

INSTRUKCJA INSTALACJI SYSTEMU

Rejestracja użytkownika Bentley Często zadawane pytania techniczne

Instrukcja instalacji i obsługi programu Szpieg 3

Instrukcja obsługi do programu i-monitallegro GT

Instrukcja użytkownika. Aplikacja dla Comarch Optima

Logowanie do aplikacji TETA Web. Instrukcja Użytkownika

OPCJE DOSTAWY W SERWISIE WIRTU.PL

Instrukcja aktualizacji programu Integra 7

Programy LeftHand - Obsługa plików JPK. Wrzesień 2016

Instrukcja obsługi serwera FTP v

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED

Obsługa systemu OGNIVO w aplikacji Kancelaria Komornika

MPH Mini. Instrukcja użytkownika ver 102 ( )

Instrukcja konfiguracji funkcji skanowania

INSTRUKCJA INSTALACJI OPROGRAMOWANIA MICROSOFT LYNC 2010 ATTENDEE ORAZ KORZYTANIA Z WYKŁADÓW SYNCHRONICZNYCH

VinCent Administrator

Instrukcja użytkownika. Aplikacja dla Magento

Dokumentacja Użytkownika Systemu

Pakiet informacyjny dla nowych użytkowników usługi Multimedia Internet świadczonej przez Multimedia Polska S.A. z siedzibą w Gdyni

I. Program II. Opis głównych funkcji programu... 19

Podstawy technologii WWW

Współpraca z platformą dokumentacja techniczna

Autorytatywne serwery DNS w technologii Anycast + IPv6 DNS NOVA. Dlaczego DNS jest tak ważny?

DHL EXPRESS. 1 DHL IntraShip Przewodnik

Asystent Hotline Instrukcja instalacji

REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i realizacja serwisu ogłoszeń z inteligentną wyszukiwarką

Instrukcja instalacji Asystenta Hotline

1. Logowanie się do panelu Adminitracyjnego

Instrukcja instalacji wtyczki Przelewy24

Ko n f i gura cja p ra cy V ISO z bazą SQL S e rve r

Konfiguracja poczty IMO dla urządzeń mobilnych z systemem ios oraz Android.

Instrukcja instalacji programu STATISTICA

Instrukcja zamawiania usług systemu ASG-EUPOS za pomocą Portalu PZGiK

Przewodnik po konfiguracji Comarch ERP e-sklep z wszystko.pl

WellCommerce Poradnik: Sprzedaż

Instrukcja użytkownika

Instalacja Active Directory w Windows Server 2003

Transkrypt:

Piotr Sadura Zespół Szkół w Barwicach Materiały pomocnicze do lekcji informatyki lub zajęć pozalekcyjnych szkoły ponadgimnazjalnej Os commerce wdrażanie sklepu internetowego Barwice 2008

Spis treści Wstęp... 3 1. Handel elektroniczny... 4 1.1. Koncepcje handlu elektronicznego... 4 1.1. Narzędzia i systemy wspomagające handel elektroniczny... 7 1.2. Problemy handlu elektronicznego... 9 2. OsCommerce darmowe rozwiązanie dla e-sklepu... 11 2.1. Idea projektu oscommerce... 11 2.2. Wykorzystanie języka PHP do generowania stron WWW... 12 2.3. Przechowywanie danych sklepu w bazie danych MySQL... 15 2.4. Serwer baz danych w trójwarstowej architekturze... 21 3. Konfigurowanie i wdrażanie systemu oscommerce... 24 3.1. Instalacja pakietu... 24 3.2. Polska wersja sklepu... 29 3.3. Podstawowa konfiguracja... 31 3.4. Problemy wdrożeniowe... 44 3.5. Obsługa i zarządzanie... 51 2

Wstęp Technologia internetowa jest dostępna dla wszystkich i wszędzie. Każda firma, niezależnie od wielkości, może korzystać z Internetu już przy minimalnych nakładach inwestycyjnych. Także firmy jednoosobowe odnoszą sukces dzięki handlowi elektronicznemu. Obecnie nie trudno wyobrazić sobie firmę, która za pomocą serwisu WWW sprzedaje takie towary jak ksiązki czy płyty CD. Zupełnie inaczej wygląda problem wdrożenia takiego serwisu w życie. Handel elektroniczny ma wiele odmian. Nie ma potrzeby od razu uruchamiać wirtualnego sklepu. Można zacząć na przykład od automatyzacji rutynowych procesów transakcyjnych, skracając czas z godziny do kilku minut, a zużycie papieru obniżyć z dziesiątków arkuszy do niemalże zera. Dzięki serwisom WWW przeznaczonym do obsługi handlu elektronicznego, można zaoferować klientom większy wybór towarów i usług, lepszą obsługę i szybszą dostawę. Chcąc wprowadzić e-sklep w swojej działalności, firmy mogą skorzystać z usług innych firm specjalizujących się w tworzeniu serwisów WWW. Na takie rozwiązanie mogą pozwolić sobie duże firmy ze względu na duże koszty wdrożenia serwisu. Mniejsze oraz jednoosobowe firmy mogą wdrożyć sklep internetowy z wykorzystaniem OsCommerce co jest tematem pracy licencjackiej. Celem podstawowym pracy jest opis instalacji sklepu internetowego, poczynając od wyboru serwera, kończąc na instalacji dodatkowych modułów sklepu czyniąc go bardziej atrakcyjnym. Praca składa się ze wstępu, trzech rozdziałów i wniosków podsumowujących. Całość zamyka zestawienie tabel, rysunków oraz literatury wykorzystanej przy pisaniu pracy. W rozdziale pierwszym scharakteryzowano definicję handlu elektronicznego, uwarunkowania e-sklepu oraz problemy i zagrożenia wynikające z jego rozwoju. W drugim rozdziale przedstawiono ideę OsCommerce wraz z implementacją języka PHP na stronach WWW. Opisano również bazę danych sklepu internetowego. Trzeci rozdział główny to dokładny opis wdrażania i konfigurowania sklepu internetowego. Całość pracy podsumowują wnioski i spostrzeżenia. 3

1. Handel elektroniczny 1.1. Koncepcje handlu elektronicznego Obserwowany od paru lat szybki rozwój handlu elektronicznego, na tle całego procesu globalizacji handlu, jako jeden z jego czynników, stał się procesem nieodwracalnym. Jest on obecnie, zjawiskiem powszechnym, otwierającym nowe horyzonty dla działalności zarówno wielkich przedsiębiorców, jednoosobowych firm, jak i indywidualnych użytkowników internetu 1. Handel elektroniczny to sprzedaż prowadzona za pośrednictwem sieci WWW. W swej najprostszej formie określenie "handel elektroniczny" (ang. E-Commerce) odnosi się do dowolnej transakcji zawartej przez Internet. Jednak określenie to jest bardzo pojemne, obejmuje bowiem wszystko, od pojedynczej strony WWW, na której oferowanych jest kilka pozycji, po całe firmy zajmujące się wyłącznie handlem w świecie online. Każda firma może rozpocząć oferowanie towarów i usług tą metodą na dowolnym poziomie - od prostego, statycznego serwisu internetowego, po rozbudowane systemy składania i realizacji zamówień przez Internet oraz uczestnictwo w elektronicznych giełdach towarowych. W swej najbardziej podstawowej formie serwis handlu elektronicznego może prezentować produkty oraz opcje składania zamówień, np. faksem, przez telefon lub pocztą elektroniczną. Rozbudowując system, można umożliwić klientom wybór towarów i dokonywanie płatności w trybie online, bez konieczności obsługi ze strony personelu. Kolejnym krokiem może być udostępnienie klientom bezpośredniej pomocy w procesie składania zamówień poprzez Internet, dzięki której będą oni mogli otrzymać natychmiastową odpowiedź na swoje pytania oraz wyjaśnić wątpliwości, przeszkadzające w finalizacji zakupu. Na jeszcze wyższym poziomie handlu elektronicznego sieć WWW umożliwia budowanie indywidualnych więzi z klientem, poprzez oferowanie specjalnych upustów zależnych od ilości zakupów, a nawet generowanie dostosowywanych serwisów odzwierciedlających preferencje poszczególnych klientów związane z wyborem produktów. Dzięki swojemu szerokiemu zasięgowi i elastyczności, handel elektroniczny staje się coraz bardziej znaczącym kanałem sprzedaży dla współczesnych firm. Wiele przedsiębiorstw, które zawsze opierały swoją działalność na bezpośrednich, osobistych interakcjach 1 Piotr Drygas, Grzegorz Leszczyński Polski e-commerce zarządzanie i marketing, http://www.e-marketing.pl/ 4

z klientem, decyduje się na uruchomienie serwisu internetowego przeznaczonego do obsługi handlu elektronicznego. Tym, którzy pracują obecnie nad strategią sprzedaży produktów lub świadczenia usług przez Internet, warto zwrócić uwagę na etapowe podejście do handlu elektronicznego, gdyż oferuje ono liczne korzyści. Można przetestować rynek, szybko zmodyfikować swój serwis, aby dostosować go do zmieniających się wymagań klientów, i zintegrować sprzedaż online z tradycyjną działalnością. Aby rozpocząć handel elektroniczny, wystarczy umieścić ofertę w swoim serwisie WWW i umożliwić klientom składanie zamówień online. Jest to uproszczony model handlu elektronicznego, ale od niego właśnie zaczynało wiele firm. Na drugim końcu skali są firmy, które opierają swoją działalność wyłącznie na handlu elektronicznym. Firmy tego rodzaju nie tylko akceptują płatności kartami kredytowymi, ale także wprowadzają nowe formy płatności, takie jak e-pieniądze. Między tymi dwiema skrajnościami jest bardzo wiele opcji pośrednich. Można uczynić z handlu elektronicznego element strategii sprzedaży lub po prostu ciekawy, dodatkowy kanał dostępu do rynku. Strategia oparta na handlu elektronicznym daje klientom do dyspozycji możliwości wcześniej niedostępne. Mogą oni kupować o dowolnej porze i z dowolnego miejsca, komfortowo i bez konieczności wstawania od biurka czy wychodzenia z pokoju. Jest bardzo prawdopodobne, że w takich warunkach dłużej będą wędrować po wirtualnych sklepach i więcej wydawać. A klienci wyposażeni w odpowiednie środki, to klienci lojalni. Rysunek 1. Jakie jest źródło przewagi sklepu internetowego nad sklepem tradycyjnym? 2 2 Piotr Drygas, Grzegorz Leszczyński Polski e-commerce zarządzanie i marketing, http://www.e-marketing.pl/ 5

Najlepsi sprzedawcy nie narzucają się klientom; pozwalają przeglądać ofertę w dogodnym dla klienta czasie, ale czuwają, aby zawsze w pobliżu był ktoś, kto zareaguje na zasygnalizowany zamiar zakupu. Handel elektroniczny działa w identyczny sposób. Klienci przeglądają serwis, na przykład klikając produkty, które im się podobają, i dodając je do wirtualnego koszyka na zakupy. Trudne momenty zdarzają się wtedy, kiedy klient nie jest pewien, czy dany produkt jest odpowiedni, oraz kiedy przystępuje do składania zamówienia. Prezentacja pełnej informacji w punkcie sprzedaży może pomóc w przezwyciężeniu początkowego wahania. Zdjęcia i szczegółowe informacje podkreślają wartość produktu i zapewniają klienta, że to właśnie jest najlepszy wybór. Jednak przy składaniu zamówienia problem jest bardziej złożony i rzeczywistość wygląda tak, że wielu klientów wciąż pozostawia swoje koszyki bez ostatecznego zatwierdzenia. Na tym etapie zasadnicze znaczenie dla pomyślnego zamknięcia transakcji sprzedaży mają zrozumiałe komunikaty o prowadzonej przez firmę polityce zwrotów i absolutnym bezpieczeństwie dokonywania zakupów online. Wyróżnia się dwa rodzaje handlu elektronicznego: handel elektroniczny typu firmaklient (B2C) oraz handel elektroniczny typu firma-firma (B2B). Większość użytkowników, korzystających z Internetu na hasło handel elektroniczny ma na myśli sprzedaż typu firma-klient. Zakupiona płyta CD lub ksiązka poprzez serwis WWW przy użyciu domowego komputera PC jest typowym przykładem handlu typu firmaklient. W praktyce jednak sprzedaż online typu firma-klient to tylko 10% wszystkich przychodów generowanych przez handel elektroniczny. firma-klient (B2C) 10% firma-klient (B2C) firma-firma (B2B) firma-firma (B2B) 90% Rysunek 2. Przychody generowane przez handel elektroniczny (Źródło: http://www.e-marketing.pl/) 6

Znacznie więcej produktów i usług sprzedaje się pomiędzy firmami, co określone jest mianem handlu elektronicznego typu firma-firma lub inaczej handlu elektronicznego typu B2B. W takim przypadku stronami transakcji są dwie różne firmy, np. firma, która sprzedaje innej firmie materiały biurowe lub firma, która umożliwia firmie produkcyjnej składanie zamówień w trybie online. Korzyści wynikające z prowadzenia handlu elektronicznego są wielorakie. Po pierwsze, jest to nie tylko dodatkowy kanał sprzedaży dla dotychczasowych klientów firmy, ale także dla wielu potencjalnych nowych nabywców i to z dowolnego miejsca na Świecie. Po drugie, handel elektroniczny nie ma ograniczeń czasowych działa przez całą dobę, siedem dni w tygodniu. Obroty firmy można zwiększyć przez oferowanie nowych produktów i usług opartych na sieci WWW. Handel elektroniczny usprawnia przepływ informacji pomiędzy poszczególnymi firmami. Transakcje w handlu elektronicznym przebiegają zazwyczaj szybciej, są efektywniejsze i bardziej dokładne niż transakcje tradycyjne. Zredukowana zostaje liczba błędów, unika się błędnej wysyłki zamówionych produktów. Także koszty transakcji są niższe, ponieważ skraca się czas i zmniejsza nakład pracy. Handel elektroniczny daje ponadto dostęp do ważnych informacji związanych z zakupami klientów. 1.2. Narzędzia i systemy wspomagające handel elektroniczny Dostęp do informacji związanych z klientami ich zakupami, transakcjami, danymi osobowymi stawia przed firmą oferującą swoje towary i usługi poprzez sieć WWW wymagania, które firma musi spełnić, aby została uznana przez klienta za wiarygodną. Wymagania te, to przede wszystkim warunki techniczne oraz bezpieczeństwo. Te dwa pojęcia muszą być ze sobą, w handlu elektronicznym, ściśle związane aby transakcję dokonaną przez sieć WWW, można było uznać za bezpieczną, a co za tym idzie godną zaufania przez klienta. Nie wystarczy wystawić produktów do sprzedaży przez serwis WWW przede wszystkim należy rozważyć kluczowe wymagania i warunki, które stawia się przed firmą, a które chciałbym przedstawić poniżej. Po pierwsze - serwis WWW umożliwiający zakup towarów i usług, który wdraża i uruchamia firma staje się ważniejszym portalem dla firmy. Klienci odwiedzający stronę internetową będą od tej pory oczekiwali znalezienia tam wszelkich niezbędnych informacji 7

związanych z zamawianiem i zakupami. Serwis taki musi zawierać kompletne i zawsze aktualne informacje. Także jego wydajność i niezawodność muszą być na najwyższym możliwym poziomie. W dużej firmie, zajdzie konieczność przyjrzenia się procesom gospodarczym i najprawdopodobniej ich częściowej reorganizacji. Związane to będzie z przetwarzaniem zleceń, ich realizacją oraz procesem rozliczeń, jakie za sobą niesie wprowadzenie handlu elektronicznego. Niezbędne jest zagwarantowanie odpowiedniego nadzoru nad zleceniami klientów. Wysyłanie poczty elektronicznej, potwierdzenie złożonych zamówień, a także terminowa dostawa towaru w nienaruszonym stanie to najważniejsze elementy pozwalające utrzymać wysoki stopień zaufania klientów. Poza tym, większość klientów internetowych przywiązuje dużą wagę do bezpieczeństwa transakcji finansowych. Dlatego też, niezbędne jest zachowanie poufności informacji o kartach kredytowych i płatnościach, a także zapewnienie ochrony danych osobowych. Po drugie trzeba zdecydować się na jedną z dwu opcji. Można zdecydować się na samodzielne uruchomienie handlowego serwisu WWW albo zdać się na operatora internetowego. Decydując się na obsługę serwisu przez operatora, często można skorzystać z wielu dodatkowych usług. Niektórzy operatorzy oferują pakiety usług w zakresie handlu elektronicznego, systemy autoryzacji kart kredytowych, usługi rozbudowy serwisu WWW itp. Z drugiej strony, samodzielna obsługa serwisu ma także pewne zalety. Przede wszystkim to korzystanie z darmowych serwerów oraz wykorzystanie darmowego oprogramowania oscommerce. Dodatkowo samodzielna obsługa ułatwia integrację bazy zleceń czy rozliczeń. Decydując się na samodzielną obsługę handlu elektronicznego, trzeba mieć na uwadze całość przedsięwzięcia. Poczynając od wyboru serwera, jego oprogramowanie oraz niezawodność działania, poprzez wybór oprogramowania do handlu elektronicznego, łącza internetowego gwarantującego klientom stały i wydajny dostęp do serwisu WWW a nade wszystko wymagana jest bardzo dobra znajomość baz danych oraz ich bezpieczeństwo oraz znajomość PHP. Jeżeli wybrany zostanie wariant z obsługą serwisu przez operatora, to do niego będzie należało rozwiązanie kwestii bezpieczeństwa i szybkiego łącza internetowego. Systemy handlu elektronicznego muszą być wydajne i niezawodne, aby klienci mogli polegać na sklepach elektronicznych tak samo, jak na sklepach tradycyjnych. Ponadto, jak wcześniej wspomniałem systemy te muszą być bezpieczne - umożliwi to ochronę wartościowych 8

informacji korporacyjnych oraz wzbudzenie w klientach zaufania do takiej formy zawierania transakcji. Na rysunku 3 przedstawiono przykładowe, komercyjne zastosowanie architektury sieci do zastosowań w handlu elektronicznym. Rysunek 3. Przykładowe wykorzystanie dostawcy internetowego do zastosowań w handlu elektronicznym 3 1.3. Problemy handlu elektronicznego Rozwoju polskiego handlu elektronicznego jest na pewno zbieżny z tendencjami światowymi - zarówno w Polsce jak i na świecie przeważają bowiem firmy, które poza działalności elektroniczną prowadzą także działalność tradycyjną. Rysunek 4. W Polsce 55% firm oprócz działalności elektronicznej prowadzi także działalność tradycyjną 3 Źródło: http://www.sisco.com 9

Najpoważniejszym zagrożeniem rozwoju e-sklepów w Polsce są jednak one same. Bardzo często witryny przedsiębiorstw handlowych odbiegają znacznie od norm wypracowanych przez zachodnioeuropejskie i amerykańskie sklepy elektroniczne. Mniej niż połowa (39%) polskich sklepów internetowych posiada informację o dostępności swoich produktów, natomiast ponad połowa (56,9) rzadziej niż raz w tygodniu aktualizuje swoją ofertę na witrynie internetowej. Taka sytuacja doprowadza do niskiego zaufania klientów do elektronicznych zakupów (brak świadomości, czy zamawiany towar może być dostarczony czy też należy na niego poczekać). 4 Rysunek 5. Ponad połowa firm nie uaktualnia swojej oferty w e-sklepie Problemy z rozwojem polskiego handlu elektronicznego wiążą się podobnie jak w krajach, gdzie ta forma sprzedaży jest już lepiej rozwinięta także z kwestiami kapitałowymi. Recesja w polskiej gospodarce jest szczególnie widoczna w obszarach związanych z nową technologią, które to w sytuacji wzrostu gospodarczego najszybciej przyciągają inwestorów, ale w sytuacji recesji najszybciej ich tracą. Problem ten pogłębiony jest prze sytuację, gdzie większość sklepów elektronicznych nie generuje zysku. Badania wskazują, że ponad 40% przedsięwzięć tego typu nie jest rentownych. Największy udział rentownych firm zanotowano wśród sklepów oferujących: meble (66,6%), sprzęt sportowy i artykuły AGD (po 50,0%), odzież (44,4%) oraz sprzęt komputerowy - 37,5%, multimedia - 36,0%, książki i prasa - 30,8%. Należy także zaznaczyć, że wśród firm deklarujących rentowność ponad dwie trzecie 4 Piotr Drygas Konsumpcja i rynek w warunkach zmian systemowych, PWE, Warszawa 10

(66,7%) stanowią przedsiębiorstwa, które poza działalnością internetową prowadzą również sprzedaż tradycyjną. 2. OsCommerce darmowe rozwiązanie dla e-sklepu 2.1. Idea projektu oscommerce Os Commerce (ang. Open Source Commerce) to platforma do prowadzenia sklepu internetowego oparta na licencji GNU GPL. OsCommerce opiera się na produktach Open Source aby zapewnić wolną od opłat platformę, pozwalającą na dalszy rozwój sklepu bez ponoszenia dodatkowych opłat. W skład tej platformy wchodzą: serwer WWW Apache, język skryptowy PHP oraz baza danych MySQL 5. Sklep oscommerce zbudowany jest na tradycyjnym szablonie - nagłówek, trzykolumnowe centrum i stopka. Czasami spotyka się sklepy oparte na oscommerce odbiegające od tego schematu. Podstawowa wersja zawiera mechanizmy prezentacji towaru, system logowania klientów, system recenzji, informowanie o produktach, newsletter, system prezentacji nowości, moduł promocji. Panel administracyjny pozwala dodawać towary, obsługiwać zamówienia, konfigurować sklep. Oprogramowanie obsługuje wiele języków, wiele walut - potrafi przełączać się między nimi i przeliczać wartości. Idea OsCommerce powstała w roku 2000. Do dnia dzisiejszego zarejestrowanych zostało ponad 12000 sklepów na całym świecie. Sukces tego projektu opiera się głównie na dużym bezpieczeństwie sklepu internetowego oraz na aktywnej komunikacji użytkowników tej platformy. Wokół tych projektów społeczność wymienia się poglądami na listach dyskusyjnych, tworzy moduły, poprawki i nowe funkcjonalności zwane kontrybucjami (ang. contibutions). Zgodnie z Powszechną Licencją Publiczną GNU, użytkownicy oscommerce mają prawa do uruchamiania programu w dowolnym celu, analizowania działania programu i dostosowywania go do swoich potrzeb, kopiowania oraz udoskonalania i publikowania własnych poprawek programów i kodu źródłowego tych programów. Poniższy rysunek przedstawia podstawową strukturę sklepu oraz pliki, które się na nią składają. 5 Źródło: http://www.oscommerce.com 11

Rysunek 6. Podstawowa struktura sklepu internetowego opartego na oscommerce 2.2. Wykorzystanie języka PHP do generowania stron WWW W projekcie oscommerce w ścisłym powiązaniu pozostaje język PHP, baza danych MySQL oraz serwer WWW. Wykorzystanie języka PHP służy poprawieniu funkcjonalności dynamicznej strony WWW. PHP jest językiem server-side, tj. pracuje po stronie serwera WWW. Przeciwieństwem są języki client-side pracujące po stronie przeglądarki użytkownika (np. JavaScript). Aby wykorzystywać go na własnej stronie, trzeba upewnić się, że serwer WWW ma zainstalowaną jego obsługę (np. serwer Apache). Zasada, na jakiej PHP generuje dynamicznie stronę WWW wygląda następująco. Kiedy wpisujemy adres w przeglądarce internetowej, żądanie wyświetlenia strony kierowane jest do serwera HTTP zwanego także serwerem WWW. Jeśli serwer stwierdzi na podstawie rozszerzenia pliku, że dany dokument zawiera kod PHP, serwer kieruje do jego interpretera żądanie przetworzenia podanego pliku. Interpreter wyszukuje w jego treści tzw. wstawki PHP wplecione w statyczny kod HTML i zastępuje je wynikiem ich wykonywania. Utworzony kod HTML jest zwracany serwerowi, a ten wysyła go z powrotem do internauty. W tym procesie kod PHP nigdy nie opuszcza serwera. Internauta zawsze otrzyma wyłącznie utworzony przez PHP kod HTML. Dzięki pracy po stronie serwera, PHP idealnie nadaje się do tworzenia złożonych aplikacji zarządzających dużymi ilościami danych: forami dyskusyjnymi, systemami zarządzania treścią, sklepami internetowymi. Generują one odpowiedni kod HTML dla 12

przeglądarek internautów, a w momencie, kiedy oni go przeglądają, PHP już zakończył nad nim swą pracę. Jest to bardzo istotne, ponieważ wszelkie dalsze reakcje na poczynania użytkownika należy albo pozostawić przeglądarce, albo obsłużyć je za pomocą języka JavaScript. Podobnie wygląda wykorzystanie języka PHP w sklepie internetowym opartym na oscommerce. Poniżej przedstawiono strukturę pliku footer.php, który jest stopką dla każdej strony sklepu. Rysunek 7. Kod pliku stopki strony: footer.php W każdej z kolumn dostępne są boksy (panele). Każdy boks realizuje inną funkcję. Wszystkie boksy znajdują się w katalogu: includes/boxes/. Deklaracja boksów na stronie znajduje się w pliku column_left.php oraz column_right.php. Rysunek 8. Przykładowa inicjalizacja boksów w pliku column_left.php 13

Użytkownik strony sam może zdecydować po której stronie chcemy mieć dany boks oraz ich kolejność. Aby zmienić parametry boksów należy skorzystać z arkusza styli stylesheet.css lub wyedytować plik includes/classes/boxes.php. Każdy boks składa się z części HTML, która jest odpowiedzialna za stworzenie tabeli oraz za grafikę. W środku tabeli definiowane są funkcje PHP, które odpowiadają za konkretną czynność. Rysunek 9. Przykładowa struktura pliku z definicją tabeli Poniżej przedstawiono spis boksów ich plików php oraz znaczenie. Nazwa pliku Znaczenie login.php logowanie categories.php kategorie produktów best_sellers.php najlepiej sprzedające się towary curencies.php wybór waluty information.php informacje właściciela sklepu contact.php dane kontaktowe languages.php wybór języka strony what_news.php nowe produkty w sklepie manufactures.php wybór producentów manufacture_info.php informacja o producencie reklama.php miejsce na reklamę reviews.php opinie o produktach 14

serach.php shopping_cart.php specials.php forum.php online.php tell_a_friend.php wyszukiwarka nasze zakupy produkty objęte promocją forum statystyka on-line e-mail o nowym produkcie Przykładowy opis boksu contact.php. Rysunek 10. Struktura pliku contact.php 2.3. Przechowywanie danych sklepu w bazie danych MySQL Przed umieszczeniem danych sklepu i przechowywaniem ich w bazie danych należy utworzyć i skonfigurować bazę danych MySQL. Na potrzeby tej pracy wykorzystano program KRASNAL-Serv 2.7 z następującymi komponentami: - Server Apache 1.3.31 - MySQL 3.23.58 - PHP 4.3.9 15

- PHP 5.0.2 - ActivePerl 5.6.1.628 - phpmyadmin 2.6.0 pl2 -SQLite Manager 1.0.1 - CesarFTP 0.99g -WebAlizer 2.1 - Free SMTP Server. Po poprawnym zainstalowaniu programu KRASNAL należy wykonać połączenie z lokalnym serwerem, czyli http://127.0.0.1/phpmyadmin lub http://localhost/phpmyadmin ( w przypadku korzystania z oferty hostingowej, należy wykonać połączenie z serwerem poprzez port 2083, np. www.mojsklep.pl:2083). Po połączeniu powinno pojawić się następujące okno: Rysunek 11. Okno logowania do panela administracyjnego phpmyadmin Jako nazwę użytkownika i hasło należy podać tą, którą otrzymaliśmy od administratora. Po poprawnym zalogowaniu można korzystać z panelu administracyjnego, którego wygląd przedstawiono na rysunku 12. 16

Rysunek 12. Panel administracyjny phpmyadmin 2.6.0-pl2 Podstawową czynnością jaką należy wykonać jest utworzenie nowej bazy danych SQL oraz dodanie do niej użytkownika o prawach administratora. Nową bazę danych tworzymy, wpisując nazwę bazy w oknie Utworzenie nowej bazy danych i potwierdzenie przyciskiem Utworzenie. Rysunek 13. Tworzenie bazy danych o nazwie sklep Po potwierdzeniu powinien pojawić się komunikat Baza danych sklep zostało utworzone. 17

Rysunek 14. Pomyślne utworzenie nowej bazy danych Po utworzeniu bazy należy dodać użytkownika bazy danych o prawach administratora. W tym celu należy kliknąć na ikonkę oraz wybrać opcję. Po wybraniu tej opcji należy dodać nowego użytkownika bazy danych poprzez wybranie opcji Dodanie nowego użytkownika. Rysunek 15. Okno Opis użytkownika z możliwością zarządzania użytkownikami Po wybraniu opcji Dodanie nowego użytkownika pojawia się okno, w którym tworzymy nowego użytkownika bazy danych. 18

Rysunek 16. Okno, w którym tworzy się nowego użytkownika bazy danych Nowego użytkownika tworzy się poprzez wpisanie nazwy użytkownika, wybrania hosta oraz utworzenia hasła dla użytkownika o prawach administratora. Te prawa nadane są w opcjach znajdujących się poniżej, a mianowicie w Globalnych uprawnieniach, w których zaznaczyć należy opcję Zaznaczenie wszystkich. Dodanie użytkownika potwierdzamy przyciskiem Wykonanie. Po tych czynnościach należy ponownie kliknąć w ikonkę a następnie wybrać opcję. W ten sposób została utworzona nowa baza danych nowego sklepu oraz użytkownik o prawach administratora. Aby pokazać w jaki sposób przechowywane są dane sklepu w bazie danych MySQL pominięto w tej części rozdziału proces instalacji sklepu na serwerze. Dokładny opis instalacji znajduje się w 3 rozdziale niniejszej pracy. Po prawidłowej instalacji sklepu baza danych będzie zawierała 46 tabel powiązanych między sobą relacjami. 19

Rysunek 17. Struktura bazy danych sklep Dane sklepu przechowywane są w tabelach w postaci rekordów. Każda tabela posiada również swoją strukturę, na którą składa się m.in.: pole, typ, atrybut, wartość NULL oraz ustawienia domyślne i dodatkowe. Rysunek 18. Struktura tabeli address_book 20

W każdej strukturze tabeli dostępne są również opcje w kolumnie Działanie, w której to wyróżnić można edycję, usunięcie oraz nazwę klucza i typ. Dodatkowo każda struktura tabeli posiada informacje o indeksach, wykorzystaniu przestrzeni oraz statystyki rekordów. Rysunek 19. Dodatkowe informacje w strukturze tabeli Każda tabela przechowywana w bazie danych posiada opcje, które są dostępne w menu w postaci zakładek. Rysunek 20. Dostępne opcje tabeli w bazie danych W skład tego menu, tak jak wcześniej wspomniano wyróżnić można strukturę tabeli, przeglądanie rekordów wraz z ich edycją, zadawanie zapytań do bazy danych SQL, szukanie rekordów, dodawanie nowych rekordów, eksportowanie rekordów, wykonywanie operacji: sortowania, zmiany nazwy tabeli, przeniesienie tabeli, kopiowanie tabeli, komentarze tabeli, typ tabeli. Dodatkowo tabelę można wyczyścić z rekordów oraz usunąć tabelę. Przechowywanie danych sklepu za pomocą panelu phpmyadmin jest intuicyjne i nie powinno sprawiać większych problemów użytkownikowi, który powinien posiadać podstawowe wiadomości z baz danych. 2.4. Serwer baz danych w trójwarstowej architekturze Architekturę systemów bazodanowych można podzielić na: - systemy dwuwarstwowe (klient serwer), - systemy trójwarstwowe (klient serwer aplikacji serwer bazy danych), 21

- internetowe systemy wielowarstwowe (przeglądarka serwer WWW serwer aplikacji serwer bazy danych). Typowa realizacja architektury dwuwarstwowej obejmuje serwer bazy danych (zazwyczaj wykorzystujący język SQL) oraz szereg stacji roboczych, na których są wykonywane aplikacje klienckie. Funkcje aplikacji w takiej architekturze obejmują zazwyczaj: obsługę komunikacji z użytkownikiem (interfejs użytkownika), wysłanie do serwera zleceń wykonania operacji na danych (w postaci instrukcji w języku SQL), odbiór danych z serwera i ewentualne dalsze ich przetwarzanie, prezentacja wyników operacji na bazie danych, wydruk raportów. Serwer bazy danych realizuje (w dużym uproszczeniu) następujące funkcje: odbiór zleceń operacji na danych (w języku SQL) i kontrola uprawnień użytkownika do wykonania tych zleceń, analiza zleceń i ich optymalizacja, wykonanie operacji na bazie danych, w trybie realizacji transakcji, kontrola integralności bazy danych, wysłanie odpowiedzi do aplikacji klienckiej. W skrajnym przypadku aplikacja kliencka nie wykonuje żadnego złożonego przetwarzania danych (tzw. cienki klient). W praktyce możliwości języka SQL w zakresie przetwarzania danych mogą nie wystarczać i wtedy część tego przetwarzania musi się odbywać w aplikacji klienta ( gruby klient). Może to pogorszyć efektywność pracy systemu, wymaga bowiem zwykle sprowadzenia z bazy danych, poprzez sieć, dużej liczby danych. Alternatywą grubego klienta jest przeniesienie przetwarzania danych na komputer serwera i zrealizowanie tego przetwarzania w postaci tzw. procedur pamiętanych (ang. stored procedures), przechowywanych jako specjalny rodzaj obiektów w bazie danych i uruchamianych na zlecenie aplikacji klienckiej 6. Etapem docelowym tego kierunku zmian w architekturze klient-serwer jest architektura trójwarstwowa: klient - serwer aplikacji serwer bazy danych (Rysunek 21). W architekturze tej serwer aplikacji przejmuje na siebie całe przetwarzanie danych (tzw. logika aplikacji). Ponadto serwer ten obsługuje również komunikację ze stacjami klienckimi, odciążając w tym zakresie serwer bazy danych. W pewnych rozwiązaniach serwer 6 Red. Paweł Kasprowski, Bezpieczeństwo systemów bazodanowych dostępnych przez Internet, Politechnika Śląska, Instytut Informatyki 22

aplikacji może również wspierać serwer bazy danych w zakresie zarządzania transakcjami. Zadania tej części aplikacji, która jest realizowana na stacji klienta ograniczają się do obsługi komunikacji z użytkownikiem (w tym prezentacji wyników przetwarzania danych). Zadania serwera bazy danych pozostają takie jak w architekturze dwuwarstwowej. Rysunek 21. Architektura trójwarstwowa (klient serwer aplikacji serwer bazy danych) Architektura trójwarstwowa oznacza tak naprawdę oddzielenie bazy danych warstwy aplikacji oraz warstwy interfejsu użytkownika. Taka konstrukcja pozwala na dowolne manipulowanie funkcjonalnością aplikacji i rozmaite wykorzystania posiadanych danych 7. W praktyce w rozwiązaniu z cienkim klientem interfejs użytkownika jest stroną WWW, którą obsługuje przeglądarka internetowa. Komunikacja interfejsu użytkownika z drugą warstwą, czyli serwerem aplikacji odbywa się poprzez protokół HTTP, lub nowsze technologie takie jak standard ISAPI, ASP, JDBC, czy cookies. Warstwa druga, w której implementowane są reguły biznesowe, realizuje funkcje systemu oraz przetwarzanie danych kontaktuje się z warstwą klienta i serwerem lub serwerami bazy danych poprzez sieć lokalną LAN (ang. Local Area Network) lub rozległą 7 Beyond Features and Functionality, 10 Critical Parameters for Evaluating CRM Technology 23

WAN (ang. Wide Area Network). Warstwę tę tworzy zestaw obiektów wielokrotnego użytku, nazywanych często obiektami biznesowymi. Obecnie istnieje spory wybór technologii i produktów umożliwiających fizyczną realizację warstwy drugiej, przykładowo Serwer ASP (ang. Active Server Pages), JSP (ang. Java Serwer Pages), czy PHP (ang. Hypertext preprocesor), NDO (ang. NetWare Data Object). Warstwa trzecia jest odpowiedzialna za fizyczne przetwarzanie i magazynowanie informacji, najczęściej stanowią ją serwery baz danych. W sytuacji, gdy bazy danych są udostępniane w Internecie, czyli z serwisu bazodanowego może korzystać duża i losowa liczba klientów, bardzo ważna jest skalowalność serwera bazy danych, rozumiana jako możliwość zwiększenia wydajności aplikacji wraz z rosnącą liczbą użytkowników. Omawiając architekturę trójwarstwową i jej związek ze środowiskiem internetowym nie można pominąć kluczowego elementu internetowych aplikacji bazodanowych, jakim jest serwer WWW. Stanowi on spoiwo na poziomie komunikacyjnym omawianych trzech warstw: prezentacji, aplikacji i danych. Do najpopularniejszych serwerów należą: Apache HTTP Serwer, Microsoft Internet Explorer (IIS), Netscape Navigator, AOL Server, Xitami. 3. Konfigurowanie i wdrażanie systemu oscommerce 3.1. Instalacja pakietu Po poprawnym skonfigurowaniu serwera baz danych MySQL oraz użytkownika bazy danych można przystąpić do instalacji pakietu oscommerce. Pierwszym krokiem będzie przekopiowanie plików instalacyjnych na serwer. Najprostszą metodą przeniesienia pakietu na witrynę będzie skorzystanie z domyślnego protokołu stosowanego przez firmę udostępniającą tę witrynę internecie. Jeżeli możemy użyć tej metody, to należy za jej pomocą przenieść przygotowane wcześniej archiwum na serwer lub skorzystać z dostępnych narzędzi FTP. Po przekopiowaniu wszystkich plików na serwer należy zmienić uprawnienia do wybranych plików. Najważniejszą zmianą jest zmiana uprawnień do pliku configure.php, który znajduje się z dwóch katalogach: /includes/ oraz /admin/includes. Wybieramy interesujące nas pliki i zmieniamy uprawnienia komendą chmod 777 configure.php. Następnie w przeglądarce wpisujemy adres naszego sklepu http://127.0.0.1/install (w przypadku korzystania z oferty hostingowej, należy wpisać adres, np. www.mojsklep.pl/install/). Instalacja sklepu rozpocznie się automatycznie. 24

Rysunek 22. Po wpisaniu adresu naszego sklepu powinna pojawić się strona prezentowana powyżej. Ponieważ tworzymy nową instalację wybieramy opcję Install a New online store. Po wybraniu tej opcji pojawi się kolejne okno, na której widnieją dwie opcje, które należy koniecznie zaznaczyć, tak jak zostało to pokazane na rysunku 23. Rysunek 23. Przed wykonaniem kolejnego kroku koniecznie należy zaznaczyć opcję: Import Catalog Database oraz Automatic Configuration. 25

Po zaznaczeniu tych opcji klikamy na przycisk Contiune. Pojawia się kolejna strona, która jest bardzo ważna, ponieważ podajemy w niej ustawienia serwera MySQL, które ustalono podczas instalowania bazy danych (patrz rozdział 2.3). Rysunek 24. Na powyżej stronie wpisujemy ustawienia naszego serwera. W opcji Sesion Storage wybrać należy wartość Database, aby dane sesji przechowywane były w bazie danych a nie w plikach lokalnych. Klikamy przycisk Continue. Na ekranie powinien widnieć komunikat informujący o udanym połączeniu z bazą danych: A test connection made to the database was successful. Jeżeli wystąpiły problemy z połączeniem należy zwrócić uwagę na poprawność nazw użytkownika, hasło oraz nazwę bazy danych. Muszą one być identyczne jak w panelu administracyjnym, gdzie utworzono bazę danych. Następnie komputer powiadomi nas o poprawnym imporcie bazy danych: The database import was successful! Kolejne okno instalacji wyświetla wszystkie informacje na temat naszego serwera. Przed kliknięciem przycisku Continue należy upewnić się, że wszystkie informacje są wpisane prawidłowo. Na tym etapie wdrażania pakietu nie występuje potrzeba aktywowania połączeń SSL, więc opcja Enable SSL Connections powinna pozostać niezaznaczona. Należy sprawdzić 26

poprawność zapisów w polach WWW Address oraz Webserver Root Directory (powinny one wskazywać na umiejscowienie na serwerze katalogu catalog). Rysunek 25. Odpowiednie informacje o kontroli poprawności znaleźć można na pasku adresu w przeglądarce oraz w systemie pliów. Na kolejnej stronie należy kliknąć przycisk Contiune potwierdzając ustawienia. Ostatnią stroną podczas instalacji jest strona informująca użytkownika o poprawnej konfiguracji sklepu oraz oferująca dwie opcje: pierwsza pozwalająca przeglądać katalog oraz druga, która umożliwia dostęp do narzędzi administracyjnych. Rysunek 26. Ostatnia strona instalacji informująca o poprawnym przebiegu instalacji. 27

Podstawowa konfiguracja sklepu została zakończona, natomiast należy ustawić jeszcze parametry, których komunikaty o błędach wyświetlają się po kliknięciu przycisku Catalog. Rysunek 27. Komunikaty informujące użytkownika o konieczności poprawienia bezpieczeństwa strony internetowej. Pierwszy z komunikatów informuje użytkownika o istnieniu katalogu install i jednocześnie prosi o usunięcie go ze względów bezpieczeństwa. Drugi komunikat informuje o potencjalnym zagrożeniu jakim jest możliwość zapisu w pliku konfiguracyjnym. Należy zabezpieczyć tą lukę konfigurując odpowiednie ustawienia dla plików: 1. w katalogu /admin/includes/ należy wpisać chmod 644 configure.php; 2. w katalogu /includes/ należy wpisać chmod 644 configure.php. Po wprowadzeniu powyższych poprawek strona powinna wyglądać podobnie jak na rysunku 28. Pakiet oscommerce w większości przypadków jest w stanie sam się skonfigurować, więc nie trzeba przeprowadzać dodatkowych testów sklepu. Natomiast mogą występować pewne problemy wdrożeniowe, które zostaną omówione w kolejnych częściach rozdziału. Jak wcześniej wspomniano oprócz przycisku Catalog na ostatniej stronie procesu instalacji dostępna jest również opcja Administration Tool, dostepna w przeglądarce pod adresem http://127.0.0.1/admin/index.php lub http://www.mojsklep.pl/catalog/admin/index.php. W tym miejscu można dokonywać praktycznie dowolną operację związaną z administrowaniem witryny. Wszystkie możliwości zostały podzielone na kategorie o intuicyjnym układzie. 28

Rysunek 28. Poprawnie zainstalowana strona sklepu oscommerce. 3.2. Polska wersja sklepu 8 Domyślnie instalacja pakietu oscommerce oraz efekt końcowy w postaci gotowej strony internetowej wykorzystuje język angielski. W tym podrozdziale zostanie pokazany proces przygotowania polskiej wersji zainstalowanego sklepu. Wszystkie pakiety językowe znajdują się na stronie oscommerce, w tym również i pakiet z językiem polskim. Należy wejść na stronę http://www.oscommerce.com/community/contributions,1376, na której znajduje się tłumaczenie na język polski tekstów i komunikatów wyświetlanych przez pakiet oscommerce. Tłumaczenie niestety jest jeszcze całkowicie niekompletne, dlatego czasami mogą pojawiać się nieprzetłumaczone fragmenty. Po pobraniu pakietu ze strony internetowej należy odtworzyć strukturę katalogów sklepu internetowego, przejść do katalogu /catalog/includes/languages/ i skopiować do niego zawartość tego samego katalogu ze struktury archiwum. W ten sposób otrzymujemy plik polish.php oraz katalog polish zawierający pliki i katalogi skopiowane z archiwum. 8 David Mercer, OsCommerce. Tworzenie sklepów internetowych, Helion, 2007 29

Podobnie należy postąpić z katalogiem admin. Należy przejść do katalogu /catalog/admin/includes/languages i skopiować do niego zawartość z pobranego archiwum. Podobnie jak w pierwszym przypadku otrzymamy plik polish.php oraz katalog polish zawierający wszystkie pliki i katalogi przeniesione z archiwum. Dodatkowo pobrać można zestawy przycisków do panelu administracyjnego oraz samego sklepu. Odpowiednie pakiety można pobrać ze stron: http://www.oscommerce.com/ community/contributions,3741 (przyciski dla panelu administracyjnego) i http://www.oscommerce.com/ community/contributions,2051 (przyciski dla sklepu). Zawartość obu archiwum należy przenieść do odpowiednich katalogów w strukturze sklepu. Dla panelu administracyjnego będzie to katalog catalog/admin/includes/ languages/polish/images/buttons, natomiast przyciski dla sklepu odpowiednio katalog catalog/includes/languages/polish/images/buttons. Wszystkie pliki w tych katalogach należy nadpisać. Kolejnym krokiem jest poinformowanie oscommerce o możliwości korzystania z języka polskiego. W tym celu należy przejść do panelu administracyjnego. Po otwarciu panelu należy kliknąć łącze kategorii Localization, a następnie łącze sekcji Languages. Na otwartej stronie należy kliknąć przycisk new language, a następnie w polach edycyjnych należy wprowadzić następujące dane: pole Name Polski; pole Code pl; pole Image pozostawić należy domyślny tekst icon.gif; pole Directory polish; pole Sort order 0. Należy również zaznaczyć opcję Set as default w celu ustawienia języka polskiego jako domyślnego. Na koniec klikamy w przycisk insert. Na zakończenie należy ponownie otworzyć stronę ze sklepem i z listy języków wybrać Polski. 30

Rysunek 29. Poprawnie zaimplementowany język polski na stronie sklepu. 3.3. Podstawowa konfiguracja Konfiguracja całego pakietu oscommerce nie należy do zadań łatwych i wymaga wiele pracy aby efekt końcowy był zadowalający. W tej pracy ograniczono się jedynie do podstawowej konfiguracji sklepu, korzystając w większości z ustawień domyślnych, które można pozostawić bez zmian. OsCommerce, tak jak wspomniano wcześniej dysponuje bardzo dobrym zestawem narzędzi administracyjnych, które w tej pracy będzie można uznać za podstawowe. Panel administracyjny, bo o nim mowa, stanowi duże ułatwienie każdego użytkownika pakietu. Wszystkie strony narzędzia administracyjnego charakteryzują się wspólnymi cechami. Po pierwsze na wszystkich stronach dostępny jest pasek nawigacyjny znajdujący się w górnej części strony, który pozwala na szybie przemieszczanie się pomiędzy stroną administracyjną, stroną główną naszego sklepu oraz pomocą pakietu oscommerce. Oprócz tego wszystkie dostępne opcje pogrupowane są w ramach kategorii. Wyróżnić tutaj można następujące kategorie: Konfiguracja, Sklep, Klienci, Raporty, Moduły, Miejscowości/Podatki, Lokalizacja oraz Narzędzia. 31

Rysunek 30. Panel administracyjny z wyróżnionymi kategoriami. Po wybraniu kategorii Konfiguracja użytkownik może zacząć konfigurować ustawienia sklepu internetowego. Rysunek 31. Panel administracyjny Konfiguracja My Store (mój sklep). 32

Konfigurację sklepu rozpocznie sekcja My Store (mój sklep). Tutaj znajdują się ustawienia, które nie powinny użytkownikowi przysparzać problemów. Pierwsze opcje Store Name (nazwa sklepu), Store Owner (właściciel sklepu), E-Mail Address (adres pocztowy) oraz E-Mail From (pocztowy nagłówek od) są czytelne i należy je wprowadzić zgodnie z rzeczywistością. Kolejna opcja Send Extra Order Mail To (wysyłaj dane zamówień do) pozwala użytkownikowi określić, kto jeszcze ma otrzymywać kopię wiadomości z potwierdzeniem przyjęcia zamówienia otrzymanego od klienta. Opcja User Serach-Engine Safe URLs (adresy URL dla wyszukiwarek) powinna otrzymać wartość false ze względu na prace nad tym modułem. W opcji Store Address and Phone (adres i telefon sklepu) należy wprowadzić informacje na temat lokalizacji sklepu, z których przede wszystkim będą korzystać klienci płacący czekiem bądź przekazem pieniężnym. Opcje Default Serach Operator (domyślny operator wyszukiwania), Show Category Counts (pokaż licznik kategorii) oraz Display Cart After Adding Product (pokaż koszyk po dodaniu produktu) odwzorowują upodobania użytkownika co do sposobu działania sklepu. Kategorie Maximum Values (wartości maksymalne) oraz Minimum Values (wartości minimalne) pozwalają administratorowi na ustawianie najróżniejszych rzeczy, począwszy od zarządzania informacjami o liczbie wyświetlanych pozycji wyszukiwania skończywszy na obsłudze historii zamówień klienta. Obsługa tych ustawień nie jest skomplikowana i nie powinna sprawiać kłopotów. Do najważniejszych opcji w tych kategoriach, które należy dokładniej przedstawić to opcja Address Book Entries (liczba wpisów w książce adresowej), która opisuje liczbę różnych adresów, jakie klienci mogą dodawać do swoich kont. W ten sposób uzyskują możliwość zdefiniowania innego adresu korespondencyjnego, w zależności od tego, do kogo chcą przesłać zakupiony towar. Druga z opcji wartej przedstawienia to opcja Categories to List Per Row (liczba kategorii w wierszu), która zarządza liczbą kolumn, w jakich prezentowane są kategorie produktów oferowanych w sklepie. Przy ustalaniu wartości tej opcji należy brać pod uwagę następując czynniki: jak duże będą obrazki poszczególnych kategorii; jak szeroka będzie strona sklepu; ile średnio przewidujemy podkategorii produktów. Na rysunku 32 przedstawiono kategorie Minimum Values i Maximum Values z domyślnymi wartościami. 33

Rysunek 32. Panel administracyjny Konfiguracja Minimum Values (wartości minimalne) oraz Maximum Values (wartości maksymalne). Konfiguracją właściwych wartości dla obrazów wstawianych na stronie internetowej należy szukać w opcji Images (obrazki). Przed zastosowaniem własnych ustawień należy zapamiętać wartości domyślne ustawione w tej opcji. Podstawowe parametry obrazków można ustawiać z następujących opcjach: Small Image Width szerokość małych obrazków; 34

Small Image Height wysokość małych obrazków; Heading Image Width szerokość obrazków nagłówków; Heading Image Height wysokość obrazków nagłówków; Subcategory Image Width szerokość obrazków podkategorii; Subcategory Image Height wysokość obrazków podkategorii; Można również całkowicie zrezygnować z podawania wartości Width i Height. W ten sposób zmusza się pakiet do wyliczania tych wartości za każdym razem na podstawie zastosowanych przez użytkownika obrazków. Dzięki opcji Calculate Image Size (wylicz wymiary obrazków) użytkownik uniknie wszystkich zniekształceń, a obrazki będą wyświetlane proporcjonalnie. W tej opcji powinna być ustawiona wartość true. Ta sama wartość powinna zostać ustawiona w opcji Image Required (wymagaj obrazków). Rysunek 33. Panel administracyjny Konfiguracja Images (obrazki). Customer details (dane klienta) to sekcja w której administrator ustawia parametry użytkownika zalogowanego na stronie sklepu. Wyróżnić tutaj można następujące parametry: Gender płeć; Date of Birth data urodzin; Company firma; 35

Parametry Suburb oraz State niekoniecznie pasują do warunków polskiego sklepu, dlatego wartości tych parametrów powinny zostać ustawione na false. Rysunek 34. Panel administracyjny Konfiguracja Customer details (dane klienta). W sekcji Shipping/packaging (wysyłki i pakowanie) użytkownik wprowadza dwa podstawowe parametry związane z County of Origin (kraj sklepu) oraz Postal Code (kod pocztowy). Kolejne opcje należy wprowadzać zgodnie z przyjętymi opłatami firm spedycyjnych lub Poczty Polskiej, ponieważ odnoszą się do samej paczki, która zostanie wysłana klientowi. Pierwsza a opcji Maximum Package Weight sou will ship (podaj maksymalną wagę wysyłanej paczki) wymaga ustalenia górnego limitu wagi wysyłanej paczki. Kolejna opcja Package Tare Weight (waga tara paczki) pozwala określić minimalną wagę paczki. Dla dużych paczek wysyłanych do klienta zdecydowanie lepszym rozwiązaniem jest opisywanie wagi nie pojedynczą wartością ale jako procent wagi całej paczki. Takie rozwiązanie przyjmuje opcja Langer packages percentage increase (większe paczki zwiększanie procentowe). Domyślnie wartości opisują wagę opakowania na poziomie 3 kg, a wartości procentowe ustalone zostały na poziomie 10. W tym wypadku oznacza to, że do wyliczania wagi opakowania wszystkich paczek cięższych niż 30 kg używane będą wartości procentowe. 36

Rysunek 35. Panel administracyjny Konfiguracja Shipping/packaging (wysyłki i pakowanie). Ustalenie sposobu wyświetlanych produktów oferowanych w sklepie internetowym użytkownik ustawia w sekcji Product Listing (listy produktów). W tej sekcji należy zdecydować czy ma być wyświetlany obrazek przy każdym produkcie, jego nazwę oraz producenta albo dowolną inną informację. Dwie ostatnie opcje są ściśle związane z nawigacją na stronie internetowej. Pierwsza opcja Display Category/Manufacturer Filter (wyświetlaj filtr kategorii/producentów) domyślenie otrzymuje wartość 1. Oznacza to ze klienci sklepu uzyskają dostęp do filtru, co pozwoli na przeszukiwanie katalogu produktów, szukając określonej marki. Ostatnia opcja Location of Prev/Next Navigation Bar (pozycja paska nawigacyjnego poprzedni/następny) pozwala na umieszczenie paska przewijania w jednej z trzech określonych pozycji. Polityka obsługi magazynu wymaga od użytkownika sklepu internetowego gotowego spójnego działania. Obsługa stanów magazynowych ma ogromny wpływ na funkcjonowanie, stabilność i skuteczność całego sklepu. Ustawienia magazynu na platformie oscommerce dostępne są w sekcji Stock (magazyn). Opcja Check stock level (kontroluj stany magazynowe) oznacza, że pakiet oscommerce będzie odczytywać liczbę produktów w magazynie i porówna ją z liczbą produktów zamówionych przez klienta. Opcja Subtract stock (zdejmij z magazynu) oznacza, że po dokonaniu zakupu w bazie danych przeprowadzone 37

zostaną aktualizacje powodujące odjęcie z ogólnego stanu magazynowego ilości produktów zakupionych przez klienta. Rysunek 36. Panel administracyjny Konfiguracja Product Listing (listy produktów). Rysunek 37. Panel administracyjny Konfiguracja Stock (magazyn). 38

Niezwykle przydatnym a czasami nawet krytycznym narzędziem do utrzymania pełnej sprawności systemu jest Logging (dziennik). To narzędzie służy do zapamiętywania praktycznie dowolnej akcji lub zmiany stanu aplikacji. System oscommerce pozwala na tworzenie i monitorowanie akcji wykonywanych przez aplikacje. Narzędzie to ma jednak jedną wadę. Pozostawione bez nadzoru szybko zajmuje ogromne zasoby systemu, w szczególności miejsce na dysku. Zaleca się, żeby opcji Store Database Queries (zachowuj zapytania do bazy danych) nadawać wartość false. Przydaje się ona jedynie przy bardzo specyficznych sytuacjach i dla doświadczonych użytkowników, których wiadomości pozwalają ocenić na ile dana informacja jest skuteczna. Tak jak wspomniano wcześniej dzienniki rozrastają się do gigantycznych rozmiarów, co może doprowadzić do problemów z wyświetlaniem strony internetowej. Rysunek 38. Panel administracyjny Konfiguracja Logging (dzienniki). Bufor (Cache) implementowany jest jako katalog ze stronami WWW, które przechowywane są niezależnie od pozostałych stron. Zadaniem takiego bufora jest umożliwienie serwerowi szybkie wysyłanie stron bez konieczności każdorazowego odpytywania bazy danych. Takie rozwiązanie bardzo skraca czas przesłania strony do użytkownika, co przekłada się na znacznie lepsze odczucia klientów przy pracy z naszym 39

sklepem. Dlatego zaleca się, żeby w przypadku już działających sklepów internetowych włączyć mechanizm buforowania stron, natomiast w przypadku tworzenia sklepu, ten mechanizm powinien mieć ustawioną wartość false, ze względu na częste zmiany wyglądu sklepu, co powodowałoby ciągłe generowanie nowych zmian, co znacznie wydłużyłoby czas wyświetlania strony. Rysunek 39. Panel administracyjny Konfiguracja Cache (bufor). Ustawienia poczty elektronicznej sklepu internetowego znajdują się w sekcji Email Options (opcje poczty). W tej sekcji, w zależności od systemu operacyjnego serwera, należy ustawić dwie pierwsze opcje. Jeżeli sklep działa na serwerze linuksowym, ustawienia można zostawić jako domyślne. Natomiast, jeżeli jest to serwer oparty o system Windows konieczne będzie zmodyfikowanie opcji E-mail Transport Metod (metoda przesyłania poczty) i E-mail Linefeeds (znaki końca wiersza) i nadanie im alternatywnych wartości. Ustawienie opcji Use MIME HTML when sending Emails (przy wysyłaniu poczty używaj MIME HTML) jest dobrowolne i administrator strony zadecyduje czy w wysyłanych wiadomościach ma się znaleźć kod HTML. Bardzo przydatną opcją jest Verify E-mail Address Through DNS (kontroluj adresy pocztowe przez DNS), która pozwala zweryfikować, czy podawany przy rejestracji przez klientów adres e-mail jest prawdziwy. Dlatego parametr ten powinien posiadać wartość true. 40

Rysunek 40. Panel administracyjny Konfiguracja E-mail Options (opcje poczty). Rysunek 41. Panel administracyjny Konfiguracja Download (pobieranie). 41

Sekcja Download (pobieranie) umożliwia w sklepie internetowym pobieranie zakupionych produktów. Przykładem może być sprzedaż książek i artykułów w wersji elektronicznej lub oprogramowania. Jeżeli w sklepie będą znajdować się tylko dobra fizyczne parametr Enable download (włącz pobieranie) powinien przyjąć wartość domyślną false. Stosowanie kompresji danych jest bardzo skutecznym sposobem na zmniejszenie ilości przesyłanych danych. W oscommerce mechanizm ten, umożliwia wysyłanie do przeglądarek klientów skompresowanych plików, które są tam rozpakowywane i wyświetlane. Mechanizm kompresji jest ustawiany w sekcji GZip Compression (kompresja GZip). Tą funkcję obsługuje większość przeglądarek, dlatego nie powinny występować problemy ze zgodnością z różnymi przeglądarkami. Warunkiem funkcjonowania tych wartości jest sprawdzenie, czy serwer obsługuje bibliotekę Zlib. Najszybciej konfigurację serwera sprawdza się uzywając skryptu: <?php?> phpinfo(); Skryptowi należy nadać nazwę i uruchomić w przeglądarce, a automatycznie zostanie wypisana lista wszystkich ustawień konfiguracji. Opcja Compression Level (poziom kompresji) domyślnie posiada wartość 5. Ten poziom kompresji sprawdza się w większości przypadków przeglądarek. Na rysunku 42 przedstawiono konfigurację dla opcji GZip Commpression. Ostatnia opcja konfiguracji sklepu internetowego pełni jedną z najważniejszych funkcji sklepu. Tam gdzie w grę wchodzą pieniądze, informacja o każdej transakcji zaczyna nabierać szczególnej wartości. Transakcją tutaj może być cokolwiek od kliknięcia łącza, aż po zakup produktu. Sessions (sesje) są metodą używaną przez język PHP do przechowywania stanu aplikacji. Sesja zaczyna się w momencie zalogowania klienta na witrynie. PHP przydziela klientowi pewien obszar informacji, w której przechowuje dane o tym użytkowniku, np. o zawartości koszyka klienta. Sesje, jak wspomniano wcześniej, są bardzo istotnym elementem pakietu oscommerce, dlatego też, należy w odpowiedni sposób skonfigurować ich obsługę. Podczas instalacji sklepu internetowego, użytkownik miał możliwość zadecydowania o sposobie przechowywania informacji o sesjach w bazie danych lub pliku. 42

Rysunek 42. Panel administracyjny Konfiguracja GZip Compression (kompresja GZip). Rysunek 43. Panel administracyjny Konfiguracja Sessions (sesje). 43