Bazy Danych I Usługi Sieciowe Drupal, Webias
Total Page:16
File Type:pdf, Size:1020Kb
Bazy Danych i Usługi Sieciowe Drupal, WeBIAS Paweł Daniluk Paweł Witkowski Wydział Fizyki Wydział Matematyki, Informatyki i Mechaniki Jesień 2013 P. Daniluk, P.Witkowski BDiUS w. XII Jesień 2013 1 / 36 CMS - Sytem Zarządzania Treścią 1 Content Management System 2 Rozwiązanie wygodne 3 Od razu gotowe do użycia 4 Łatwa administracja Przykłady I Wordpress (wordpress.org) I Joomla! (www.joomla.org/) I DotNetNuke (www.dotnetnuke.com) I ExpressionEngine (ellislab.com/expressionengine) P. Daniluk, P.Witkowski BDiUS w. XII Jesień 2013 2 / 36 Framework 1 Framework 2 Dostarcza komponentów do budowy aplikacji 3 Wymaga budowania aplikacji od podstaw 4 Brak panelu administracyjnego Przykłady I Zend (framework.zend.com) I Symfony (symfony.com) I Django (www.djangoproject.com) I CherryPy (www.cherrypy.org) I Ruby on Rails (rubyonrails.org) I CakePHP (cakephp.org) I CodeIgniter (ellislab.com/codeigniter) P. Daniluk, P.Witkowski BDiUS w. XII Jesień 2013 3 / 36 Content Management Framework 1 Content Management Framework 2 Narzędzie do tworzenia CMS 3 Dostarcza narzędzi do obsługi zawartości 4 Dostarcza obsługę użytkowników 5 Panel administracyjny Przykłady I Drupal (drupal.org) I Typo3 (typo3.org) I Symfony CMF (cmf.symfony.com) P. Daniluk, P.Witkowski BDiUS w. XII Jesień 2013 4 / 36 Czym jest Drupal? 1 Elastyczna aplikacja do tworzenia CMS 2 Zawiera podstawową funkcjonalność CMS 3 Umożliwia implementację dowolnej funkcjonalności za pomocą I istniejących modułów I modułów własnych P. Daniluk, P.Witkowski BDiUS w. XII Jesień 2013 5 / 36 Node 1 Node - segment, węzeł 2 Abstrakcyjny typ zawartości 3 Twórca tworzy specjalizacje - typy zawartości (bundle) type language title status Node created translate changed promote Rysunek : Encja node z wybranymi atrybutami P. Daniluk, P.Witkowski BDiUS w. XII Jesień 2013 6 / 36 Node Przykłady typów zawartości Strona - zawartość w HTML z tytułem Artykuł - zawartość w HTML z tytułem i obrazkiem Wpis na blogu - zawartość w HTML z tytułem, obrazkiem i tagami Wydarzenie - zawartość w formacie tekstowym z tytułem i datami Produkt - zawartość w formacie tekstowym z obrazkiem i ceną Sklep - zawartość w formacie tekstowym z dwoma obrazkami, adresem pocztowym, adresem URL Strona podręcznika - zawartość w formacie HTML z zapisywanymi kolejnymi wersjami P. Daniluk, P.Witkowski BDiUS w. XII Jesień 2013 7 / 36 Taxonomy 1 Taxonomy - kategorie 2 Metoda oznaczania 3 Klasyfikacja treści według różnego typu słowników 4 Terminy mogą mieć terminy nadrzędne (wiele) Parent name description weight Taxonomy term format Rysunek : Encja Taxonomy term z wybranymi atrybutami P. Daniluk, P.Witkowski BDiUS w. XII Jesień 2013 8 / 36 Taxonomy Przykłady słowników i kategorii Sport - snooker, szachy, brydż Żywność - nabiał, mięso, warzywa, owoce, używki Żywność z hierarchią I nabiał - sery, jogurty, jajka I warzywa - sałaty, fasole, ziemniaki I owoce - jabłka, gruszki, cytrusy Sport z hierarchią wielokrotną I zawodowy - snooker, szachy, brydż I amatrorski - snooker, szachy, brydż, scrabble P. Daniluk, P.Witkowski BDiUS w. XII Jesień 2013 9 / 36 User 1 User - użytkownik 2 Ma swoje konto i może dokonać uwierzytelnienia 3 Może mieć różne role i uprawnienia name pass mail signature User access status picture timezone Rysunek : Encja User z wybranymi atrybutami P. Daniluk, P.Witkowski BDiUS w. XII Jesień 2013 10 / 36 User Przykłady ról i użytkowników Administrator - może wszystko I Ewa Content administrator - dodaje i edytuje treści I Jan I Olga I Sebastian Newsletter administrator - wysyła newsletter I Jan I Patrycja P. Daniluk, P.Witkowski BDiUS w. XII Jesień 2013 11 / 36 Comment 1 Comment - komentarz 2 Zawartość dołączana do node przez użytkowników 3 Komentarze mogą mieć terminy nadrzędne (jeden) Parent subject description status Comment created name hostname mail Rysunek : Encja Comment z wybranymi atrybutami P. Daniluk, P.Witkowski BDiUS w. XII Jesień 2013 12 / 36 Comment Przykłady komentarzy zwykły tekst ułożony w wątki tekst w HTML z kategoriami - używany do budowy forum zwykły tekst z gwiazdkami do oceniania artykułu tekst z adresem URL strony zapisy na wydarzenia P. Daniluk, P.Witkowski BDiUS w. XII Jesień 2013 13 / 36 Entity 1 Abstrakcyjny typ encji w Drupalu Entity I Node I User I Comment I Taxonomy term P. Daniluk, P.Witkowski BDiUS w. XII Jesień 2013 14 / 36 Zalety abstrakcyjnych Entity 1 CRUD: Create Read Update Delete 2 Unifikacja operacji na danych serwisu 3 Unikanie powtarzania tych samych fragmentów kodu 4 Każda Entity może mieć I Wersje I Unikalny adres URL I Dołączane pola P. Daniluk, P.Witkowski BDiUS w. XII Jesień 2013 15 / 36 Diagram związków entities Node Author Category User Attached Taxonomy term Author Category Comment Rysunek : Diagram związków entities P. Daniluk, P.Witkowski BDiUS w. XII Jesień 2013 16 / 36 Field 1 Field - pole 2 Informacja dołączana do entity 3 Może być różnych typów, również złożonych 4 Może mieć różne kontrolki w formularzu dodawania treści 5 Można ją wykorzystywać w różnych entities P. Daniluk, P.Witkowski BDiUS w. XII Jesień 2013 17 / 36 Field Przykłady pól i kontrolek Tekst I Lista rozwijana I Pole tekstowe I Pole tekstowe z walidacją Liczba całkowita I Lista rozwijana I Pole tekstowe I Suwak Lokalizacja I Pola tekstowe na kraj, miasto, ulica, numer I Mapka z możliwością zaznaczania I Pola tekstowe na współrzędne GPS P. Daniluk, P.Witkowski BDiUS w. XII Jesień 2013 18 / 36 Diagram związków entities z polami Node Author Attached Category User Attached Field Attached Taxonomy term Author Attached Category Comment Rysunek : Encja Field reprezentuje pojedynczą instancję pola P. Daniluk, P.Witkowski BDiUS w. XII Jesień 2013 19 / 36 Wymagane składniki systemu 1 Serwer www: Apache, Nginx, IIS 2 PHP 3 Baza danych: MySQL, PostgreSQL, SQLite 4 Można wykorzystać pakiety I XAMPP (www.apachefriends.org/en/xampp.html) I AMPPS (www.ampps.com) 5 Wybrana wersja Drupal (drupal.org/download) P. Daniluk, P.Witkowski BDiUS w. XII Jesień 2013 20 / 36 Instalacja 1 Założenie bazy danych wraz z użytkownikiem z pełnymi uprawnieniami do niej 2 Rozpakowanie plików aplikacji do katalogu serwera www 3 Uruchomienie instalatora przez adres URL 4 Podanie informacji na temat dostępu do bazy danych 5 Podanie podstawowych informacji o stronie i danych administratora P. Daniluk, P.Witkowski BDiUS w. XII Jesień 2013 21 / 36 Składniki serwisu 1 Views (drupal.org/project/views), CTools (drupal.org/project/ctools) 2 Panels (drupal.org/project/panels) 3 Pathauto (drupal.org/project/pathauto) 4 Token (drupal.org/project/token) P. Daniluk, P.Witkowski BDiUS w. XII Jesień 2013 22 / 36 Moduły dla programisty 1 Devel (drupal.org/project/devel) 2 Theme developer (drupal.org/project/devel_themer) 3 Migrate (drupal.org/project/migrate) 4 Backup and Migrate (drupal.org/project/backup_migrate) P. Daniluk, P.Witkowski BDiUS w. XII Jesień 2013 23 / 36 Moduły dla użytkowników 1 CKEditor (drupal.org/project/ckeditor) 2 IMCE (drupal.org/project/imce) 3 Link (drupal.org/project/link) 4 Printer, email and PDF versions (drupal.org/project/print) P. Daniluk, P.Witkowski BDiUS w. XII Jesień 2013 24 / 36 Szablony graficzne 1 Szablony gotowe I Bartik I Marinelli I Danland I BlueMasters 2 Szablony bazowe do tworzenia własnej grafiki I Zen I Omega I AdaptiveTheme P. Daniluk, P.Witkowski BDiUS w. XII Jesień 2013 25 / 36 Udostępnianie usług Wymagania 1 Obsługa usług I przyjmowanie zapytań I zarządzanie zgłoszonymi zadaniami I udostępnianie wyników 2 Rejestr użytkowników 3 Obsługa administracyjna P. Daniluk, P.Witkowski BDiUS w. XII Jesień 2013 26 / 36 WeBIAS Narzędzie do tworzenia serwisów udostępniających usługi. Tworzenie serwisu – definicje 1 usług 2 zasobów obliczeniowych 3 konfiguracja (baza danych, katalogi robocze, etc.) P. Daniluk, P.Witkowski BDiUS w. XII Jesień 2013 27 / 36 WeBIAS WeBIAS server Q R Q SQL database WeBIAS WeBIAS WeBIAS scheduler scheduler scheduler Torque/PBS HPC HPC server server HPC cluster P. Daniluk, P.Witkowski BDiUS w. XII Jesień 2013 28 / 36 Opis usługi <b i a s> <application id="Test" name="Test" info="Hello␣World."> <description>This is the simplest application.</description> <author>Bioexploratorium</author> <email>pawel@bioexploratorium . pl</email> <s e t u p> <help_url>/WeBIASDemo/page/Test/help</help_url> <param_template>/var/www/WeBIASDemo/examples/ test . py −−name="${name .PCDATA}" −−mood=${mood .PCDATA}</param_template> <param_table_template>examples/Test/param_table . genshi</param_table_template> </ s e t u p> <parameters> <e m a i l /> <section id="SectionInput" title="Test␣application"/> <text id="name" name="Name" tip="What␣is␣you␣name?" info="name" optional="no" help="#name"/> <select id="mood" name="How␣are␣you?" info="mood" optional="no" tip="C’mon,␣just␣tell␣me." help="#mood" > <option value="0" text="Fine ,␣thanks."/> <option value="1" text="Not␣bad."/> <option value="2" text="Don’t␣even␣ask."/> <option value="3" text="Go␣away␣you␣insensitive␣clod."/> </ s e l e c t> </parameters> </application> </ b i a s> P. Daniluk, P.Witkowski BDiUS w. XII Jesień 2013 29 / 36 Formularz zapytania <parameters> <e m a i l /> <section id="SectionInput" title="Test␣application"/> <text id="name" name="Name" tip="What␣is␣you␣name?" info="name" optional="no" help="#name"/> P. Daniluk, P.Witkowski BDiUS w. XII Jesień 2013 30 / 36 Formularz zapytania <select id="mood" name="How␣are␣you?" info="mood" optional="no" tip="C’mon,␣just␣tell␣me." help="#mood" > <option value="0" text="Fine ,␣thanks."/> <option value="1" text="Not␣bad."/> <option value="2" text="Don’t␣even␣ask."/> <option value="3" text="Go␣away␣you␣insensitive␣clod."/> </ s e l e c t> </parameters> P. Daniluk, P.Witkowski BDiUS w. XII Jesień 2013 31 / 36 Reprezentacja zapytania i wyniku Zapytanie <query> <name type="value">John</name> <mood type="value">0</mood> </ query> Wywołanie aplikacji <param_template> / v a r /www/WeBIASDemo/ examples / t e s t . py −−name="${name .PCDATA}" −−mood=${mood .PCDATA} </param_template> Wynik <TestResult> <response>Hello John, that ’s␣great.</response> </TestResult> P. Daniluk, P.Witkowski BDiUS w. XII Jesień 2013 32 / 36 Formatowanie wejścia/wyjścia P. Daniluk, P.Witkowski BDiUS w. XII Jesień 2013 33 / 36 Formatowanie wejścia/wyjścia <html xmlns="http://www.w3.