Databases and Architecture of Wordpress MORTENESBENSEN



Similar documents
DIPLOMA IN WEBDEVELOPMENT

WEB DEVELOPMENT IA & IB (893 & 894)

Certified PHP/MySQL Web Developer Course

Roars. Sudaworld. M roarsinc.com W Roars Technologies Pvt. Ltd. Escalon, Sunnyvale, California, USA 94085

Web Development. How the Web Works 3/3/2015. Clients / Server

Title: Front-end Web Design, Back-end Development, & Graphic Design Levi Gable Web Design Seattle WA

Advanced Web Development SCOPE OF WEB DEVELOPMENT INDUSTRY

Lesson 7 - Website Administration

The easy way to a nice looking website design. By a total non-designer (Me!)

Lisa Sabin-Wilson WILEY. Wiley Publishing, Inc.

Framework as a master tool in modern web development

COURSE CONTENT FOR WINTER TRAINING ON Web Development using PHP & MySql

Introduction to Web Content Management Systems Site Development SYLLABUS FALL 2012

A set-up guide and general information to help you get the most out of your new theme.

IE Class Web Design Curriculum

Web Development I & II*

WEB& WEBSITE DESIGN TRAINING

Website and Graphic Design Portfolio

uilding a Branch Website using Wordpress

Site Store Pro. INSTALLATION GUIDE WPCartPro Wordpress Plugin Version

Short notes on webpage programming languages

WEB DEVELOPMENT COURSE (PHP/ MYSQL)

Web Hosting Wordpress, Joomla, Drupal Integration

Web Design and Development Certificate Program

Web Development using PHP (WD_PHP) Duration 1.5 months

$920+ GST Paid Annually. e-commerce Website Hosting Service HOSTING:: WHAT YOU GET WORDPRESS:: THEME + PLUG-IN UPDATES

IT3504: Web Development Techniques (Optional)


AJ Matrix V5. Installation Manual

What do we mean by web hosting?

Top Navigation menu - Tabs. User Guide 1. &

ECOMMERCE SITE LIKE- GRAINGER.COM

WebLink 3 rd Party Integration Guide

General principles and architecture of Adlib and Adlib API. Petra Otten Manager Customer Support

CSCI110: Examination information.

UQC103S1 UFCE Systems Development. uqc103s/ufce PHP-mySQL 1

What is a Mobile Responsive Website?

IT3503 Web Development Techniques (Optional)

WEB PAGE DESIGN AND DEVELOPMENT 2 COURSE CODE: 5033 (COURSE NAME CHANGES TO ADVANCED WEB DESIGN AND DEVELOPMENT IN )

Web Hosting and Domain Name Registration

THE PLAN FOR TODAY. Welcome to Camp Tech!

Open Source Content Management System for content development: a comparative study

Computer Science Course Descriptions Page 1

Mobile Responsive Web Design

Request for Proposal (RFP) Toolkit

BT Website Centre Control Panel. User Guide Version 1.0

HTML5. Turn this page to see Quick Guide of CTTC

Volkov Vyacheslav. Summary. Saransk, , Mordovia, Russian Federation Moscow, Russian Federation +7(925) , +7(917)

What is a Mobile Responsive Website?

Hostopia Web Hosting - Getting Started

SKILLS HIGHLIGHTS: W e b a n d G r a p h i c D e s i g n e r

Annex E - Capability Building Policy

Computer Networks 1 (Mạng Máy Tính 1) Lectured by: Dr. Phạm Trần Vũ MEng. Nguyễn CaoĐạt

Workshop on Using Open Source Content Management System Drupal to build Library Websites Hasina Afroz Auninda Rumy Saleque

International Journal of Engineering Technology, Management and Applied Sciences. November 2014, Volume 2 Issue 6, ISSN

Aspect WordPress Theme

MyCompany Professional Web Developer Certification Examination Specification

Web Hosting Features. Small Office Premium. Small Office. Basic Premium. Enterprise. Basic. General

Web Hosting Control Panel

By : Khalid Alfalqi Department of Computer Science, Umm Al-Qura University

ADMINISTRATOR GUIDE VERSION

Web Design Specialist

Parallels Plesk Automation. Customer s Guide. Parallels Plesk Automation 11.5

IGW+ Certificate. I d e a l G r o u p i n W e b. International professional web design,

Wordpress vs Omeka. No Holds Barred - CMS/DCMS Knockout Round ;-)

Web Design Tools and Planning Principles

How to work with the WordPress themes

HW9 WordPress & Google Analytics

Skills for Employment Investment Project (SEIP)

WordPress and HTML Basics

QUESTIONS AND ANSWERS

Support Documentation

Trainer name is P. Ranjan Raja. He is honour of and he has 8 years of experience in real time programming.

Content Management Systems: Drupal Vs Jahia

38 Essential Website Redesign Terms You Need to Know

WEB SITE DEVELOPMENT WORKSHEET

What is a Mobile Responsive Website?

Web Hosting Control Panel

Accelerating Wordpress for Pagerank and Profit

W3Perl A free logfile analyzer

Mage AW Blog Integrated Search

How To Use Google Analytics On Wordpress On A Pc Or Mac Or Mac (For Free) On A Blog Or Pc Or Ipad (For A Free)

CTIS 256 Web Technologies II. Week # 1 Serkan GENÇ

EBOX Digital Content Management System (CMS) User Guide For Site Owners & Administrators

SETTING UP AND RUNNING A WEB SITE ON YOUR LENOVO STORAGE DEVICE WORKING WITH WEB SERVER TOOLS

Unit Title: Content Management System Website Creation

Relational Database Basics Review

Web Foundations Series Internet Business Associate

Elgg 1.8 Social Networking

Transcription:

Databases and Architecture of Wordpress MORTENESBENSEN

Databases and Architecture of Wordpress MORTENESBENSEN FEEDBACK SO FAR?

TODAYS PROGRAM 1. Recap (08:00 08:15) 2. Databases (08:15 09:00) 1. Relational Databases 2. DBMS 3. SQL 3. Break (09:00 09:15) 4. Wordpress Architecture (09:15 09:50) 5. Exam (09:50 10:00)

1. Application layer protocols 1. HTTP (websites) 2. FTP (files) 3. SMTP/POP3/IMAP (mails) RECAP 2. The Dynamic Web 1. Client side (HTML, CSS, JavaScript) and Server side languages (PHP, Python, Node.js) 2. Dynamic website are created server side and sent to the client where they are interpreted by the browser

RECAP - EXERCISES 1. Draw a map or flow chart on how you understand the connection or roles between HTTP, FTP, IP, top-level domain names, domains, HTML and DNS. 2. Last week, we created an index.html file that can be accessed through the browser. Change the file permission of this file to 700 and try to access it through the browser. What happens? Why? 3. When clicking a link on you website, the browser reports a "404 Not found". What problem could cause this and how can you solve it? Is this problem occurring on client or server side? 4. Your website returns a 403 Forbidden page when visitors try to access it. What could cause this and how can you solve it? 5. EXTRA: the response time of your website is really slow. What can you do to check what is happening? What tools can you use?

A B FIGURE C D DATABASES

DATABASE - noun a structured set of data held in a computer, especially one that is accessible in various ways - Oxford Dictionary

DATABASE Clever way to store data Structured Easy to access and update Should ensure concurrency, integrity and recovery Different types; hierarchical, object, relational

RELATIONAL DATABASE Tables used to store data (think of an Excel sheet) Tables relate to each other through Keys Terminology: Relation (table) Attribute (column) Tuple (row)

RELATIONAL DATABASE

RELATIONAL DATABASE student student_id name date_of_birth study_line enrolment_year 12345 Hans Hansen 09-05- 1988 bsdt 2010 23456 Line Andersen 18-10- 1990 bdmd 2011 34567 Peter Jensen 01-12- 1986 m 2011

RELATIONAL DATABASE student student_id name date_of_birth study_line enrolment_year 12345 Hans Hansen 09-05- 1988 bsdt 2010 23456 Line Andersen 18-10- 1990 bdmd 2011 34567 Peter Jensen 01-12- 1986 m 2011 Attribute

RELATIONAL DATABASE student student_id name date_of_birth study_line enrolment_year 12345 Hans Hansen 09-05- 1988 bsdt 2010 23456 Line Andersen 18-10- 1990 bdmd 2011 34567 Peter Jensen 01-12- 1986 m 2011 Tuple Attribute

RELATIONAL DATABASE student student_id name date_of_birth study_line enrolment_year 12345 Hans Hansen 09-05- 1988 bsdt 2010 23456 Line Andersen 18-10- 1990 bdmd 2011 34567 Peter Jensen 01-12- 1986 m 2011 Tuple Attribute Relation

KEYS Keys are used to provide access between relations Primary keys are unique identifiers Can be any unique attribute Foreign keys matches primary keys of other relations Can be any attribute

RELATIONAL DATABASE - KEYS student student_id name date_of_birth study_line enrolment_year 12345 Hans Hansen 23456 Line Andersen 09-05- 1988 bsdt 2010 18-10- 1990 bdmd 2011 study_line bsdt bdmd name SoMware Development and Technology Digital Media and Design studyline

RELATIONAL DATABASE - KEYS student student_id name date_of_birth study_line enrolment_year 12345 Hans Hansen 23456 Line Andersen 09-05- 1988 bsdt 2010 18-10- 1990 bdmd 2011 study_line bsdt bdmd name SoMware Development and Technology Digital Media and Design studyline

RELATIONAL DATABASE - KEYS student Foreign key student_id name date_of_birth study_line enrolment_year 12345 Hans Hansen 23456 Line Andersen 09-05- 1988 bsdt 2010 18-10- 1990 bdmd 2011 Primary key (unique) study_line bsdt bdmd name SoMware Development and Technology Digital Media and Design studyline

Database Management System Responsible for creation, maintenance, and usage of databases Provides access to databases through Query Language Handles access, concurrency, integrity and recovery DBMS

STRUCTURED QUERY LANGUAGE Developed in the 70s SEQUEL (Structured English Query Language) SQL Programming language for usages of DBMS MySQL implements SQL and is used for Wordpress

SQL - QUERIES 1. Retrieve data from a database 2. Keywords 1. SELECT query 2. FROM tables to use 3. WHERE restriction on rows 4. GROUP BY group rows 5. ORDER BY select columns to use for ordering 3. ; to end statements SELECT name FROM students WHERE study_line = bdmd ;

QUERIES SELECT name FROM student WHERE study_line = bdmd ; student student_id name date_of_birth study_line enrolment_year 12345 Hans Hansen 23456 Line Andersen 09-05- 1988 bsdt 2010 18-10- 1990 bdmd 2011 Result?

QUERIES SELECT name FROM student WHERE study_line = bdmd ; student student_id name date_of_birth study_line enrolment_year 12345 Hans Hansen 23456 Line Andersen 09-05- 1988 bsdt 2010 18-10- 1990 bdmd 2011 Result = Lise Andersen

QUERIES * = Wildcard SELECT * FROM student WHERE enrolment_year > 2010 ORDER BY date_of_birth student student_id name date_of_birth study_line enrolment_year 12345 Hans Hansen 09-05- 1988 bsdt 2010 23456 Line Andersen 18-10- 1990 bdmd 2011 34567 Peter Jensen 01-12- 1986 ebuss 2011 Result?

QUERIES * = Wildcard SELECT * FROM student WHERE enrolment_year > 2010 ORDER BY date_of_birth student student_id name date_of_birth study_line enrolment_year 12345 Hans Hansen 09-05- 1988 bsdt 2010 23456 Line Andersen 18-10- 1990 bdmd 2011 34567 Peter Jensen 01-12- 1986 ebuss 2011 Result? 34567 Peter Jensen 1986-12-01 ebuss 2011 23456 Lise Andersen 1990-10-18 bdmd 2011

SQL DATA MANIPULATION Change data in a database Keywords INSERT - insert data INTO table to insert into VALUES values to insert UPDATE update existing data SET assignment to variable DELETE delete data INSERT INTO student (student_id,name, date_of_birth, study_line, enrolment_year) VALUES (45678, Marie Madsen, 1989-03-05, bdmd, 2010);

DATA MANIPULATION INSERT INTO student (student_id,name, date_of_birth, study_line, enrolment_year) VALUES (45678, Marie Madsen, 1989-03-05, bdmd, 2010); student student_id name date_of_birth study_line enrolment_year 12345 Hans Hansen 09-05- 1988 bsdt 2010 23456 Line Andersen 18-10- 1990 bdmd 2011 34567 Peter Jensen 01-12- 1986 ebuss 2011 Result?

DATA MANIPULATION INSERT INTO student (student_id,name, date_of_birth, study_line, enrolment_year) VALUES (45678, Marie Madsen, 1989-03-05, bdmd, 2010); student student_id name date_of_birth study_line enrolment_year 12345 Hans Hansen 09-05- 1988 bsdt 2010 23456 Line Andersen 18-10- 1990 bdmd 2011 34567 Peter Jensen 01-12- 1986 ebuss 2011 student student_id name date_of_birth study_line enrolment_year 12345 Hans Hansen 09-05- 1988 bsdt 2010 23456 Line Andersen 18-10- 1990 bdmd 2011 34567 Peter Jensen 01-12- 1986 ebuss 2011 45678 Marie Madsen 05-03- 1989 bdmd 2010

DATA MANIPULATION UPDATE student SET name = Maria Madsen WHERE student_id = 45678; student student_id name date_of_birth study_line enrolment_year 12345 Hans Hansen 09-05- 1988 bsdt 2010 23456 Line Andersen 18-10- 1990 bdmd 2011 34567 Peter Jensen 01-12- 1986 ebuss 2011 45678 Marie Madsen 05-03- 1989 bdmd 2010 Result?

DATA MANIPULATION UPDATE student SET name = Maria Madsen WHERE student_id = 45678; student student_id name date_of_birth study_line enrolment_year 12345 Hans Hansen 09-05- 1988 bsdt 2010 23456 Line Andersen 18-10- 1990 bdmd 2011 34567 Peter Jensen 01-12- 1986 ebuss 2011 45678 Marie Madsen 05-03- 1989 bdmd 2010 student student_id name date_of_birth study_line enrolment_year 12345 Hans Hansen 09-05- 1988 bsdt 2010 23456 Line Andersen 18-10- 1990 bdmd 2011 34567 Peter Jensen 01-12- 1986 ebuss 2011 45678 Maria Madsen 05-03- 1989 bdmd 2010

THE BIG PICTURE

THE BIG PICTURE database SELECT * FROM news.. database result

WORDPRESS 1. WORDPRESS

WORDPRESS Open source blogging / cms tool Based on php / mysql (database) / JQuery Free online blog or download and install wordpress.com vs wordpress.org Most popular CMS on the internet Requirements: PHP 5.2.4 or up MySQL 5.0 or up

POSTS, PAGES The content of a Wordpress blog is organized in to Post and pages Posts are articles that you publish on your blog E.g. news, updates etc. Pages are static sites on your blog E.g. About Me

WIDGETS, PLUGINS Plugins extends the functionality of your blog E.g. check comments for spam, connect with social media, SEO Widgets are plugins with a visual interface New comments, top post You can find Plugins and Themes online and install them from the admin panel http://wordpress.org/extend/plugins/

THEMES Themes define the look and presentation of your blog Basics style.css defining the look index.php defining the presentation You can find Themes online and install the from the admin panel More on styling and themes next time! http://codex.wordpress.org/theme

THE LOOP The code that talks with your database and outputs content! <?php get_header(); if (have_posts()) : while (have_posts()) : the_post(); the_content(); endwhile; endif; get_sidebar(); get_footer();?> More on this later in the course http://codex.wordpress.org/the_loop

THE LOOP The code that talks with your database and outputs content! <?php get_header(); if (have_posts()) : while (have_posts()) : the_post(); the_content(); endwhile; endif; get_sidebar(); get_footer();?> More on this later in the course Wordpress core functions http://codex.wordpress.org/the_loop

WORDPRESS CORE 1. A number of.php files in your Wordpress installation 2. Gives you the functionality you need to interact with the database 3. Should not be changed http://codex.wordpress.org/wordpress_files get_adjacent_post get_boundary_post get_children get_extended get_next_post get_next_posts_link get_permalink get_the_excerpt get_the_post_thumbnail get_post get_post_ancestors get_post_mime_type get_post_status get_post_format get_edit_post_link get_delete_post_link get_previous_post

EXERCISES 1. Explore the database behind Wordpress 2. Designing your portfolio 3. Changelog

EXAM Portfolio handin at 16/12-2013 No oral defense Requirements: Wordpress installation CSS & PHP Changes Changelog Design page Social Media Integration 5 posts about exercises

EXAM Portfolio handin at 16/12-2013 No oral defense Requirements: Wordpress installation CSS & PHP Changes Changelog Design page Social Media Integration 5 posts about exercises

MORTENESBENSEN