Bazy Danych i Us ugi Sieciowe - Drupal · Drupal PawełWitkowski Wydział Matematyki, Informatyki i...

26
Bazy Danych i Uslugi Sieciowe Drupal Pawel Witkowski Wydzial Matematyki, Informatyki i Mechaniki Jesień 2012 P. Witkowski (Wydzial Matematyki, Informatyki i Mechaniki) BDiUS w. XII Jesień 2012 1 / 26

Transcript of Bazy Danych i Us ugi Sieciowe - Drupal · Drupal PawełWitkowski Wydział Matematyki, Informatyki i...

Page 1: Bazy Danych i Us ugi Sieciowe - Drupal · Drupal PawełWitkowski Wydział Matematyki, Informatyki i Mechaniki Jesień2012 P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki)BDiUS

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

Page 2: Bazy Danych i Us ugi Sieciowe - Drupal · Drupal PawełWitkowski Wydział Matematyki, Informatyki i Mechaniki Jesień2012 P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki)BDiUS

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

Page 3: Bazy Danych i Us ugi Sieciowe - Drupal · Drupal PawełWitkowski Wydział Matematyki, Informatyki i Mechaniki Jesień2012 P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki)BDiUS

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

Page 4: Bazy Danych i Us ugi Sieciowe - Drupal · Drupal PawełWitkowski Wydział Matematyki, Informatyki i Mechaniki Jesień2012 P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki)BDiUS

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

Page 5: Bazy Danych i Us ugi Sieciowe - Drupal · Drupal PawełWitkowski Wydział Matematyki, Informatyki i Mechaniki Jesień2012 P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki)BDiUS

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

Page 6: Bazy Danych i Us ugi Sieciowe - Drupal · Drupal PawełWitkowski Wydział Matematyki, Informatyki i Mechaniki Jesień2012 P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki)BDiUS

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

Page 7: Bazy Danych i Us ugi Sieciowe - Drupal · Drupal PawełWitkowski Wydział Matematyki, Informatyki i Mechaniki Jesień2012 P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki)BDiUS

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

Page 8: Bazy Danych i Us ugi Sieciowe - Drupal · Drupal PawełWitkowski Wydział Matematyki, Informatyki i Mechaniki Jesień2012 P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki)BDiUS

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

Page 9: Bazy Danych i Us ugi Sieciowe - Drupal · Drupal PawełWitkowski Wydział Matematyki, Informatyki i Mechaniki Jesień2012 P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki)BDiUS

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

Page 10: Bazy Danych i Us ugi Sieciowe - Drupal · Drupal PawełWitkowski Wydział Matematyki, Informatyki i Mechaniki Jesień2012 P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki)BDiUS

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

Page 11: Bazy Danych i Us ugi Sieciowe - Drupal · Drupal PawełWitkowski Wydział Matematyki, Informatyki i Mechaniki Jesień2012 P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki)BDiUS

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

Page 12: Bazy Danych i Us ugi Sieciowe - Drupal · Drupal PawełWitkowski Wydział Matematyki, Informatyki i Mechaniki Jesień2012 P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki)BDiUS

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

Page 13: Bazy Danych i Us ugi Sieciowe - Drupal · Drupal PawełWitkowski Wydział Matematyki, Informatyki i Mechaniki Jesień2012 P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki)BDiUS

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

mail

hostname

Parent

Rysunek : Encja Comment z wybranymi atrybutamiP. Witkowski (Wydział Matematyki, Informatyki i Mechaniki)BDiUS w. XII Jesień 2012 13 / 26

Page 14: Bazy Danych i Us ugi Sieciowe - Drupal · Drupal PawełWitkowski Wydział Matematyki, Informatyki i Mechaniki Jesień2012 P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki)BDiUS

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

Page 15: Bazy Danych i Us ugi Sieciowe - Drupal · Drupal PawełWitkowski Wydział Matematyki, Informatyki i Mechaniki Jesień2012 P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki)BDiUS

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

Page 16: Bazy Danych i Us ugi Sieciowe - Drupal · Drupal PawełWitkowski Wydział Matematyki, Informatyki i Mechaniki Jesień2012 P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki)BDiUS

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

Page 17: Bazy Danych i Us ugi Sieciowe - Drupal · Drupal PawełWitkowski Wydział Matematyki, Informatyki i Mechaniki Jesień2012 P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki)BDiUS

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

Page 18: Bazy Danych i Us ugi Sieciowe - Drupal · Drupal PawełWitkowski Wydział Matematyki, Informatyki i Mechaniki Jesień2012 P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki)BDiUS

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

Page 19: Bazy Danych i Us ugi Sieciowe - Drupal · Drupal PawełWitkowski Wydział Matematyki, Informatyki i Mechaniki Jesień2012 P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki)BDiUS

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

Page 20: Bazy Danych i Us ugi Sieciowe - Drupal · Drupal PawełWitkowski Wydział Matematyki, Informatyki i Mechaniki Jesień2012 P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki)BDiUS

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

Page 21: Bazy Danych i Us ugi Sieciowe - Drupal · Drupal PawełWitkowski Wydział Matematyki, Informatyki i Mechaniki Jesień2012 P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki)BDiUS

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

Page 22: Bazy Danych i Us ugi Sieciowe - Drupal · Drupal PawełWitkowski Wydział Matematyki, Informatyki i Mechaniki Jesień2012 P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki)BDiUS

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

Page 23: Bazy Danych i Us ugi Sieciowe - Drupal · Drupal PawełWitkowski Wydział Matematyki, Informatyki i Mechaniki Jesień2012 P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki)BDiUS

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

Page 24: Bazy Danych i Us ugi Sieciowe - Drupal · Drupal PawełWitkowski Wydział Matematyki, Informatyki i Mechaniki Jesień2012 P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki)BDiUS

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

Page 25: Bazy Danych i Us ugi Sieciowe - Drupal · Drupal PawełWitkowski Wydział Matematyki, Informatyki i Mechaniki Jesień2012 P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki)BDiUS

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

Page 26: Bazy Danych i Us ugi Sieciowe - Drupal · Drupal PawełWitkowski Wydział Matematyki, Informatyki i Mechaniki Jesień2012 P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki)BDiUS

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