Dokumentacja techniczna
1. Wymagania systemu i oprogramowaniaOpisywany system informatyczny do poprawnego działania wymaga następującego zestawu oprogramowania.
1.1. Serwer HTTP
Apache jest otwartym, bezpłatnym serwerem HTTP dostępnym dla wielu systemów operacyjnych (m.in. UNIX, GNU/Linux, BSD, OS X, Microsoft Windows). Serwer ten jest wymagany by obsługiwać żądania protokołu HTTP i dynamicznie generować strony WWW. Elementy strony, które są potrzebne przekazuje parserowi języka programowania i ewentualnie łączy się z bazą danych, by pobrać z niej informacje. Gotowy dokument zostaje zwrócony użytkownikowi.
Najnowsze programowanie Apache można pobrać ze strony: http://httpd.apache.org/download.cgi
Wersją używaną podczas tworzenia oprogramowania była wersja: 2.4.4
1.2. Baza danych
Baza danych jest systemem składowania danych niezbędnym do funkcjonowania DownloadManagera, ze względu na przechowywanie informacji o użytkownikach i dynamiczne umieszczanie na stronie informacji o przesłanych plikach. Systemem bazodanowym wykorzystywanym przez opisywane tutaj oprogramowanie jest MySQL.
MySQL jest darmowym systemem zarządzania relacyjnymi bazami danych, którego najnowszą wersję można pobrać ze strony: http://dev.mysql.com/downloads/
Do łatwej modyfikacji danych w bazach danych MySQL służy narzędzie administracyjne phpMyAdmin.

Skrypt bazy danych znajduje się w repozytorium opisanym później.
Informacje o połączeniu z bazą znajdują się w pliku connection.php.
1.3. Parser języka oprogramowania
Parser języka oprogramowania jest potrzebny do dynamicznej kompilacji kodu źródłowego plików systemu "Download Manager". Służy także jako debugger do wykrywania błędów składni. Językiem wykorzystywanym w opisywanym systemie jest PHP, dlatego niezbędny jest odpowiedni parser PHP.
Najnowszą wersję parsera PHP można pobrań darmowo ze strony: http://windows.php.net/download/
Opisywany system działa bezproblemowo w PHP w wersji 5.4.25.
1.4. XAMPP
XAMPP jest darmowym, wieloplatformowym zintegrowanym pakietem, składającym się głównie z serwera Apache, bazy danych MySQL i parsera PHP. Zamiast osobno pobierać każde z powyższych programów można zainstalować jeden pakiet jakim jest XAMPP. Przy opracowywaniu systemu korzystano właśnie z takiego pakietu w wersji 1.8.3.

Dostępna jest także najnowsza wersja programu XAMPP pod adresem: https://www.apachefriends.org/download.html
2. Przechodzenie testów akceptacyjnych przy pomocy oprogramowania SeleniumWażnym elementem badania poprawności działania systemu są testy akceptacyjne. Pozwalają one określić czy stworzone oprogramowanie spełnia swoje założenia. Do tego celu można wykorzystać bezpłatną wtyczkę do przeglądarki Firefox " Selenium IDE". Jej najnowszą wersję można pobrać ze strony: http://docs.seleniumhq.org/projects/ide/
Przeprowadzanie testów systemu "DownloadManager":

3. System logowania i nadawania uprawnieńLogowanie użytkownika następuje po wybraniu odpowiedniej pozycji z listy rozwijanej:

Informacje o zalogowanym użytkowniku przechowywane są w zmiennej sesyjnej $_SESSION. Domyślną wartością jest Gość.
Istnieją 3 poziomy uprawnień, decydujące o tym do jakiej zawartości dostęp ma użytkownik:
0 - Gość
1 - Konto administratora
2 - Konto użytkownika
Gość może tylko pobierać pliki, użytkownik może pobierać, dodawać pliki, a także usuwać pliki, które sam przesłał. Administrator posiada pełnię uprawnień w tym wszystkie uprawnienia zwykłego użytkownika i dodatkowo dostęp do panelu administracyjnego umożliwiającego modyfikacje plików i ich usuwanie.
4. Mechanizmy przesyłania i pobierania plikówPrzesyłanie plików odbywa się za pomocą formularza wysyłanego metodą POST. Każdy plik może mieć rozmiar nie większy niż 50 MB. Po przesłaniu pliku znajduje się on w tymczasowym folderze na serwerze, a informacje o nim zawarte są w zmiennej $_FILES.
Przed zatwierdzeniem pliku sprawdzana jest obecność ewentualnych błędów za pomocą funkcji sprawdzbledy(). Następnie plik zostaje zapisywany w folderze /pliki/ za pomocą funkcji zapiszplik().
Gdy funkcja zapisz_plik() wykona się pozytywnie następuje wprowadzanie informacji o pliku do bazy danych.
Pobieranie pliku odbywa się poprzez przesłanie nazwy pliku do skryptu pobierz.php, gdzie następuje zliczanie ilości pobrań danego pliku i przekierowanie do jego źródła.
5. Zarządzanie plikami za pomocą Panelu AdministracyjnegoAdministrator posiada dostęp do specjalnego panelu administracyjnego, gdzie może edytować informacje o plikach z bazy oraz je usuwać razem z plikami na dysku.


6. Kody źródłowe i repozytoriaKody źródłowe systemu i bazy danych znajdują się na serwerze CodePlex pod adresem: https://downloadmanager.codeplex.com/SourceControl/latest
gdzie można je pobrać za pomocą systemu kontroli wersji Git lub bezpośrednio na dysk komputera.
Adres serwera plików Git: https://git01.codeplex.com/downloadmanager