<<

Bazy Danych i Usługi Sieciowe , 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 (.org)

I ! (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.com)

I (www.djangoproject.com)

I CherryPy (www.cherrypy.org)

I (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 This is the simplest application. Bioexploratorium pawel@bioexploratorium . pl /WeBIASDemo/page/Test/help /var/www/WeBIASDemo/examples/ test . py −−name="${name .PCDATA}" −−mood=${mood .PCDATA} examples/Test/param_table . genshi

Zapytanie John 0

Wywołanie aplikacji / v a r /www/WeBIASDemo/ examples / t e s t . py −−name="${name .PCDATA}" −−mood=${mood .PCDATA}

Wynik Hello John, that ’s␣great.

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

Q:What i s your name?

A:${ query . t r e e . name .PCDATA}

Q:How a r e you ?

A:${ dict [ int ( query . tree .mood.PCDATA)]}

P. Daniluk, P.Witkowski BDiUS w. XII Jesień 2013 34 / 36 Obsługa plików

Aplikacje mogą generować pliki wynikowe (np. obrazki), których nie da się wygodnie zakodować w XMLu. Można wskazać jakie pliki znajdujące się w katalogu roboczym maja być zachowane. Pliki wejściowe i wyjściowe składowane są w bazie danych (jako BLOBy). Dostęp przez URL (np. https://bioexploratorium.pl/EP/DEDAL/ file?uuid=735ce39c4de611e38a5d00163600000a&pathname=res_ 2_1.al&runid=129)

P. Daniluk, P.Witkowski BDiUS w. XII Jesień 2013 35 / 36 Dodatkowe funkcjonalności

Dla użytkownika rejestracja użytkowników dostęp do archiwalnych zapytań edycja zapytań i ponowne wysyłanie sprawdzanie poprawności formularza przed wysłaniem (AJAX)

Dla administratora raporty i statystyki możliwość włączania i wyłączania aplikacji kontrola dostępu przez użytkowników przeglądanie wszytkich zapytań

P. Daniluk, P.Witkowski BDiUS w. XII Jesień 2013 36 / 36