bazy danych i us ugi sieciowe - drupal · drupal pawełwitkowski wydział matematyki, informatyki i...
TRANSCRIPT
Bazy Danych i Usługi SiecioweDrupal
Paweł Witkowski
Wydział Matematyki, Informatyki i Mechaniki
Jesień 2012
P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki)BDiUS w. XII Jesień 2012 1 / 26
Plan wykładu
1 CMS, Framework, CMF2 Czym jest Drupal?3 Instalacja4 Konfiguracja5 Moduły6 Szablony graficzne
P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki)BDiUS w. XII Jesień 2012 2 / 26
CMS - Sytem Zarządzania Treścią
1 Content Management System2 Rozwiązanie wygodne3 Od razu gotowe do użycia4 Łatwa administracja
PrzykładyI Wordpress (wordpress.org)
I Joomla! (www.joomla.org/)
I DotNetNuke (www.dotnetnuke.com)
I ExpressionEngine (ellislab.com/expressionengine)
P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki)BDiUS w. XII Jesień 2012 3 / 26
Framework
1 Framework2 Dostarcza komponentów do budowy aplikacji3 Wymaga budowania aplikacji od podstaw4 Brak panelu administracyjnego
PrzykładyI 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. Witkowski (Wydział Matematyki, Informatyki i Mechaniki)BDiUS w. XII Jesień 2012 4 / 26
Content Management Framework
1 Content Management Framework2 Narzędzie do tworzenia CMS3 Dostarcza narzędzi do obsługi zawartości4 Dostarcza obsługę użytkowników5 Panel administracyjny
PrzykładyI Drupal (drupal.org)
I Typo3 (typo3.org)
I Symfony CMF (cmf.symfony.com)
P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki)BDiUS w. XII Jesień 2012 5 / 26
Czym jest Drupal?
1 Elastyczna aplikacja do tworzenia CMS2 Zawiera podstawową funkcjonalność CMS3 Umożliwia implementację dowolnej funkcjonalności za pomocą
I istniejących modułówI modułów własnych
P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki)BDiUS w. XII Jesień 2012 6 / 26
Node1 Node - segment, węzeł2 Abstrakcyjny typ zawartości3 Twórca tworzy specjalizacje - typy zawartości (bundle)
Node
type
language title
status created
changed
promote
translate
Rysunek : Encja node z wybranymi atrybutamiP. Witkowski (Wydział Matematyki, Informatyki i Mechaniki)BDiUS w. XII Jesień 2012 7 / 26
Node
Przykłady typów zawartościStrona - zawartość w HTML z tytułemArtykuł - zawartość w HTML z tytułem i obrazkiemWpis na blogu - zawartość w HTML z tytułem, obrazkiem i tagamiWydarzenie - zawartość w formacie tekstowym z tytułem i datamiProdukt - zawartość w formacie tekstowym z obrazkiem i cenąSklep - zawartość w formacie tekstowym z dwoma obrazkami, adresempocztowym, adresem URLStrona podręcznika - zawartość w formacie HTML z zapisywanymikolejnymi wersjami
P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki)BDiUS w. XII Jesień 2012 8 / 26
Taxonomy
1 Taxonomy - kategorie2 Metoda oznaczania3 Klasyfikacja treści według różnego typu słowników4 Terminy mogą mieć terminy nadrzędne (wiele)
Taxonomy term
name description
weight format
Parent
Rysunek : Encja Taxonomy term z wybranymi atrybutami
P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki)BDiUS w. XII Jesień 2012 9 / 26
Taxonomy
Przykłady słowników i kategoriiSport - snooker, szachy, brydżŻywność - nabiał, mięso, warzywa, owoce, używkiŻywność z hierarchią
I nabiał - sery, jogurty, jajkaI warzywa - sałaty, fasole, ziemniakiI owoce - jabłka, gruszki, cytrusy
Sport z hierarchią wielokrotnąI zawodowy - snooker, szachy, brydżI amatrorski - snooker, szachy, brydż, scrabble
P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki)BDiUS w. XII Jesień 2012 10 / 26
User1 User - użytkownik2 Ma swoje konto i może dokonać uwierzytelnienia3 Może mieć różne role i uprawnienia
User
name
pass mail
signature access
status
timezone
picture
Rysunek : Encja User z wybranymi atrybutami
P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki)BDiUS w. XII Jesień 2012 11 / 26
User
Przykłady ról i użytkownikówAdministrator - może wszystko
I EwaContent administrator - dodaje i edytuje treści
I JanI OlgaI Sebastian
Newsletter administrator - wysyła newsletterI JanI Patrycja
P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki)BDiUS w. XII Jesień 2012 12 / 26
Comment1 Comment - komentarz2 Zawartość dołączana do node przez użytkowników3 Komentarze mogą mieć terminy nadrzędne (jeden)
Comment
subject description
status created
name
hostname
Parent
Rysunek : Encja Comment z wybranymi atrybutamiP. Witkowski (Wydział Matematyki, Informatyki i Mechaniki)BDiUS w. XII Jesień 2012 13 / 26
Comment
Przykłady komentarzyzwykły tekst ułożony w wątkitekst w HTML z kategoriami - używany do budowy forumzwykły tekst z gwiazdkami do oceniania artykułutekst z adresem URL stronyzapisy na wydarzenia
P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki)BDiUS w. XII Jesień 2012 14 / 26
Entity
1 Abstrakcyjny typ encji w Drupalu
EntityI Node
I User
I Comment
I Taxonomy term
P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki)BDiUS w. XII Jesień 2012 15 / 26
Zalety abstrakcyjnych Entity
1 CRUD: Create Read Update Delete2 Unifikacja operacji na danych serwisu3 Unikanie powtarzania tych samych fragmentów kodu4 Każda Entity może mieć
I WersjeI Unikalny adres URLI Dołączane pola
P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki)BDiUS w. XII Jesień 2012 16 / 26
Diagram związków entities
User
Author
Node
Author
Attached
Comment
Category
Taxonomy term
Category
Rysunek : Diagram związków entities
P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki)BDiUS w. XII Jesień 2012 17 / 26
Field
1 Field - pole2 Informacja dołączana do entity3 Może być różnych typów, również złożonych4 Może mieć różne kontrolki w formularzu dodawania treści5 Można ją wykorzystywać w różnych entities
P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki)BDiUS w. XII Jesień 2012 18 / 26
Field
Przykłady pól i kontrolekTekst
I Lista rozwijanaI Pole tekstoweI Pole tekstowe z walidacją
Liczba całkowitaI Lista rozwijanaI Pole tekstoweI Suwak
LokalizacjaI Pola tekstowe na kraj, miasto, ulica, numerI Mapka z możliwością zaznaczaniaI Pola tekstowe na współrzędne GPS
P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki)BDiUS w. XII Jesień 2012 19 / 26
Diagram związków entities z polami
User
Author
Node
Author
Comment
Category
Taxonomy term
Category
Attached
Attached
Attached
AttachedField
Rysunek : Encja Field reprezentuje pojedynczą instancję pola
P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki)BDiUS w. XII Jesień 2012 20 / 26
Wymagane składniki systemu
1 Serwer www: Apache, Nginx, IIS2 PHP3 Baza danych: MySQL, PostgreSQL, SQLite4 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. Witkowski (Wydział Matematyki, Informatyki i Mechaniki)BDiUS w. XII Jesień 2012 21 / 26
Instalacja
1 Założenie bazy danych wraz z użytkownikiem z pełnymi uprawnieniamido niej
2 Rozpakowanie plików aplikacji do katalogu serwera www3 Uruchomienie instalatora przez adres URL4 Podanie informacji na temat dostępu do bazy danych5 Podanie podstawowych informacji o stronie i danych administratora
P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki)BDiUS w. XII Jesień 2012 22 / 26
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. Witkowski (Wydział Matematyki, Informatyki i Mechaniki)BDiUS w. XII Jesień 2012 23 / 26
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. Witkowski (Wydział Matematyki, Informatyki i Mechaniki)BDiUS w. XII Jesień 2012 24 / 26
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. Witkowski (Wydział Matematyki, Informatyki i Mechaniki)BDiUS w. XII Jesień 2012 25 / 26
Szablony graficzne
1 Szablony gotoweI BartikI MarinelliI DanlandI BlueMasters
2 Szablony bazowe do tworzenia własnej grafikiI ZenI OmegaI AdaptiveTheme
P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki)BDiUS w. XII Jesień 2012 26 / 26