Bazy Danych i Usługi Sieciowe



Podobne dokumenty
Bazy Danych i Usługi Sieciowe

Encje w Drupalu. Tworzenie własnych encji i ich wpływ na poprawę wydajności

Specyfikacja funkcjonalna systemu katalog opinii

I. Informacje ogólne. Jednym z takich systemów jest Mambo.

Tomasz Grześ. Systemy zarządzania treścią

REFERAT O PRACY DYPLOMOWEJ

Programowanie w Sieci Internet Python - c. d. Kraków, 28 listopada 2014 r. mgr Piotr Rytko Wydział Matematyki i Informatyki

Frogfoot CMS.

CMS Admin instrukcja administratora

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

Baza danych i ORM mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011

Podręcznik użytkownika

MAMP: Można to pobrać i zainstalować z XAMPP: Można go pobrać i zainstalować z

Django : praktyczne tworzenie aplikacji sieciowych / Antonio Mele. Gliwice, cop Spis treści

PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, O STRUKTURZE PRZEDMIOTOWEJ

Symfonia Produkcja. Kreator raportów. Wersja 2013

Szkolenie. IBM Lotus - Podstawy projektowania aplikacji w Domino Designer 8.5. Strona szkolenia Terminy szkolenia Rejestracja na szkolenie Promocje

Tomasz Grześ. Systemy zarządzania treścią, cz. II

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza

PROPOZYCJA WYKONANIA SERWISU WWW

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

Technologie Internetowe Raport z wykonanego projektu Temat: Internetowy sklep elektroniczny

Projektowanie systemów baz danych

Podręcznik użytkownika Obieg dokumentów

Szczegółowy opis zamówienia:

Wdrożenie modułu płatności eservice. dla systemu Gekosale 1.4

Nazwa Platforma Wspierane bazy danych Ostatnia stabilna wersja

Programowanie i projektowanie obiektowe

Bazy Danych i Usługi Sieciowe

Podręcznik Użytkownika LSI WRPO

app/ - folder zawiera pliki konfiguracyjne dla całej aplikacji src/ - folder zawiera cały kod PHP aplikacji

Tworzenie stron www. Standard. Cena: 1950 zł netto

Wdrożenie modułu płatności eservice. dla systemu Magento

Formularze. Instrukcja MailSolutions Zarządzanie Panelem Administratora Aplikacja zgodna wymogami RODO

REFERAT PRACY DYPLOMOWEJ

WYMAGANIA EDUKACYJNE. Witryny i Aplikacje Internetowe klasa I

REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i realizacja serwisu ogłoszeń z inteligentną wyszukiwarką

ZASTOSOWANIE SYSTEMÓW CMS W TWORZENIU PRZESTRZENI INFORMACYJNO-EDUKACYJNEJ W INTERNECIE

Praca w programie dodawanie pisma.

app/ - folder zawiera pliki konfiguracyjne dla całej aplikacji Można wybrać sposób zapisu konfiguracji: YML, XML, PHP

Poznań. Zapytanie o cenę

OPIS PRZEDMIOTU ZAMÓWIENIA

Wdrożenie modułu płatności eservice. dla systemu Zen Cart

PHP: bazy danych, SQL, AJAX i JSON

EPI: Interfejs Graficzny Wykład nr 4 Podstawy frameworku Rails

E-commerce. Genialnie proste tworzenie serwisów w PHP i MySQL.

SYSTEMY ZARZĄDZANIA TREŚCIĄ WORDPRESS

Platforma e-learningowa

2017/2018 WGGiOS AGH. LibreOffice Base

Podstawy technologii WWW

Instalacja systemu zarządzania treścią (CMS): Joomla

GoBiz System platforma współpracy marektingowej

Data wydania: Projekt współfinansowany przez Unię Europejską ze środków Europejskiego Funduszu Społecznego

Analiza, projekt i realizacja systemu wspomagania zarządzaniem hotelu. Michał Koczko 4321

PRZEWODNIK PO PRZEDMIOCIE

Przykłady tworzenia aplikacji komponentowych w technologii JavaServer Faces 2.1 na podstawie

Jak usprawnić tworzenie i zarządzanie stroną na drupalu. Maciej Łukiański

Aplikacja serwerowa Platformy Prezentacyjnej Opis produktu

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

Języki programowania wysokiego poziomu. Ćwiczenia

Część I Rozpoczęcie pracy z usługami Reporting Services

RFP. Wymagania dla projektu. sklepu internetowego B2C dla firmy Oplot

Aplikacje webowe z wykorzystaniem Node.js oraz Express

SYSTEM ZARZĄDZANIA TREŚCIĄ (CMS) STRONY INTERNETOWEJ SZKOŁY PRZEWODNIK

Modele. Najcz. Metoda unicode definiuje sposób wyświetlania obiektu w postaci tekstowej. BooleanField - pole logiczne, True/False

ASP.NET MVC. Grzegorz Caban 20 stycznia 2009

Baza danych sql. 1. Wprowadzenie

Dotacje na innowacje. Inwestujemy w waszą przyszłość.

ELM SYSTEM ZARZĄDZANIA CYKLEM ŻYCIA SPRZĘTU

Spis wzorców. Działania użytkownika Strona 147 Obsługa większości Działań użytkownika za pomocą kodu JavaScript przy użyciu metod obsługi zdarzeń.

INSTRUKCJA UŻYTKOWNIKA. Wielkopolski system doradztwa. edukacyjno-zawodowego

Podstawowe możliwości programu Spectro Market Faktura

Program szkolenia: Symfony, nowoczesny framework PHP

Wykład 5: PHP: praca z bazą danych MySQL

Ruby i Ruby on Rails. Mateusz Drożdżyński

Instrukcja użytkownika Porównywarki cen Liquid

REFERAT O PRACY DYPLOMOWEJ

Zakup literatury specjalistycznej

Jak stworzyć stronę WWW drużyny harcerskiej. dh Paweł Wnuk

Instrukcja instalacji i obsługi programu Szpieg 3

Spis treści 1. Założenia ogólne 2. Wymagania 3. Typy SMSów 4. Statusy SMSów 5. Wysyłanie SMSów - Web API 6. Wysyłanie SMSów - 7.

OMNITRACKER Wersja testowa. Szybki przewodnik instalacji

Lodówka w której przechowujemy produkty zalogowanego użytkownika. Inaczej zwykły użytkownik posiadający konto w systemie.

PrestaShop. Sklep internetowy szyty na miarę

PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W NOWYM SĄCZU SYLABUS PRZEDMIOTU 1. PRZEDMIOT. Oprogramowanie profesjonalne CMS (Joomla)

Własna strona WWW w oparciu o CMS

autor poradnika - KS Jak zamieszczać i edytować artykuły na szkolnej stronie internetowej

Komponent Formularz. Rys. 1. Strona programu Joomla - Rys. 2. Instalacja komponentu

Ełk, dn r. DOMSET Marcin Brochacki. ul. Wojska Polskiego 43 lok. 3, Ełk. Nip ZAPYTANIE OFERTOWE

Możliwość dodawania modułów pozwala na dopasowanie oprogramowania do procesów biznesowych w firmie.

Przewodnik instalacji i rozpoczynania pracy. Dla DataPage+ 2013

Cennik OpenOffice Software Sp. z o. o.

Dostęp do baz danych z serwisu www - PHP. Wydział Fizyki i Informatyki Stosowanej Joanna Paszkowska, 4 rok FK

Ruby on Rails. Supersilnik WWW. Łukasz Włodarczyk

Podręcznik użytkownika Wprowadzający aplikacji Wykaz2

Transkrypt:

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 Wordpress (wordpress.org) Joomla! (www.joomla.org/) DotNetNuke (www.dotnetnuke.com) 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 Zend (framework.zend.com) Symfony (symfony.com) Django (www.djangoproject.com) CherryPy (www.cherrypy.org) Ruby on Rails (rubyonrails.org) CakePHP (cakephp.org) 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 Drupal (drupal.org) Typo3 (typo3.org) 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ą istniejących modułów 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 promote changed 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) name Parent 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ą nabiał - sery, jogurty, jajka warzywa - sałaty, fasole, ziemniaki owoce - jabłka, gruszki, cytrusy Sport z hierarchią wielokrotną zawodowy - snooker, szachy, brydż 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 Ewa Content administrator - dodaje i edytuje treści Jan Olga Sebastian Newsletter administrator - wysyła newsletter Jan 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) subject Parent 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 Node User Comment 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ć Wersje Unikalny adres URL 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 Lista rozwijana Pole tekstowe Pole tekstowe z walidacją Liczba całkowita Lista rozwijana Pole tekstowe Suwak Lokalizacja Pola tekstowe na kraj, miasto, ulica, numer Mapka z możliwością zaznaczania 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 XAMPP (www.apachefriends.org/en/xampp.html) 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 Bartik Marinelli Danland BlueMasters 2 Szablony bazowe do tworzenia własnej grafiki Zen Omega AdaptiveTheme P. Daniluk, P.Witkowski BDiUS w. XII Jesień 2013 25 / 36

Udostępnianie usług Wymagania 1 Obsługa usług przyjmowanie zapytań zarządzanie zgłoszonymi zadaniami 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 scheduler Torque/PBS WeBIAS scheduler HPC server WeBIAS scheduler HPC server HPC cluster P. Daniluk, P.Witkowski BDiUS w. XII Jesień 2013 28 / 36

Opis usługi <b i a s> <a p p l i c a t i o n i d=" Test " name=" Test " i n f o=" H e l l o World. "> <d e s c r i p t i o n>this i s t h e s i m p l e s t a p p l i c a t i o n.</ d e s c r i p t i o n> <a u t h o r>b i o e x p l o r a t o r i u m</ a u t h o r> <e m a i l>p a w e l @ b i o e x p l o r a t o r i u m. p l</ e m a i l> <s e t u p> <h e l p _ u r l>/webiasdemo/ page / Test / h e l p</ h e l p _ u r l> </ s e t u p> <p a r a m e t e r s> <e m a i l /> <s e c t i o n i d=" S e c t i o n I n p u t " t i t l e =" Test a p p l i c a t i o n "/> <t e x t i d="name" name="name" t i p="what i s you name?" i n f o="name" o < s e l e c t i d="mood" name="how a r e you?" i n f o="mood" o p t i o n a l="no" t i <o p t i o n v a l u e="0" t e x t=" Fine, t h a n k s. "/> <o p t i o n v a l u e="1" t e x t="not bad. "/> <o p t i o n v a l u e="2" t e x t="don t even ask. "/> <o p t i o n v a l u e="3" t e x t="go away you i n s e n s i t i v e c l o d. "/> </ s e l e c t> </ p a r a m e t e r s> </ a p p l i c a t i o n> </ b i a s> P. Daniluk, P.Witkowski BDiUS w. XII Jesień 2013 29 / 36

Formularz zapytania <p a r a m e t e r s> <e m a i l /> <s e c t i o n i d=" S e c t i o n I n p u t " t i t l e =" Test a p p l i c a t i o n "/> <t e x t i d="name" name="name" t i p="what i s you name?" i n f o="name" o p t i o n a l="no" h e l p="#name"/> P. Daniluk, P.Witkowski BDiUS w. XII Jesień 2013 30 / 36

Formularz zapytania < s e l e c t i d="mood" name="how a r e you?" i n f o="mood" o p t i o n a l="no" t i p="c mon, j u s t t e l l me. " h e l p="#mood" > <o p t i o n v a l u e="0" t e x t=" Fine, t h a n k s. "/> <o p t i o n v a l u e="1" t e x t="not bad. "/> <o p t i o n v a l u e="2" t e x t="don t even ask. "/> <o p t i o n v a l u e="3" t e x t="go away you i n s e n s i t i v e c l o d. "/> </ s e l e c t> </ p a r a m e t e r s> P. Daniluk, P.Witkowski BDiUS w. XII Jesień 2013 31 / 36

Reprezentacja zapytania i wyniku Zapytanie <q u e r y> <name <mood </ q u e r y> t y p e=" v a l u e ">John</name> t y p e=" v a l u e ">0</mood> 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 <T e s t R e s u l t> <r e s p o n s e>h e l l o John, t h a t s g r e a t.</ r e s p o n s e > </T e s t R e s u l t > 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=" h t t p : //www. w3. org /1999/ xhtml " x m l n s : p y=" h t t p : // g e n s h i. e d g e w a l l. org /" p y : s t r i p=""> <d i v i d=" c e n t e r "> <? python d i c t =[" Fine, t h a n k s. ", "Not bad. ", "Don t even ask. ", "Go away you i n s e n s i t i v e c l o d. " ]?> <p><em>q:</em>what i s your name?</p> <p><em>a:</em>${ q u e r y. t r e e. name.pcdata}</p> <p><em>q:</em>how a r e you?</p> <p><em>a:</em>${ d i c t [ i n t ( q u e r y. t r e e. mood.pcdata) ] }</p> </ d i v> </ html> 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