What is Drupal? What is this Drew-Paul thing you do?

Similar documents
COP Spring 2011 Assignment 4 Working with Servers Due Monday, 28th February in class (17H15)

B2B Installation Manual, System Requirements & Folder Structure

Drupal Command Line Instructions Windows 7 List All Files >>>CLICK HERE<<<

Bitnami Ruby for Huawei Enterprise Cloud

Real Life Web Development. Joseph Paul Cohen

Site Performance, Optimization and Scalability Alan Dixon

Instructor s Notes Web Data Management Web Client/Server Concepts. Web Data Management Web Client/Server Concepts

Goran Halusa. Summary. Experience. Web Developer at Quotient

DIGIT.B4 Big Data PoC

Understanding the Dark Side

Apache Manual Install Ubuntu Php Mysql. Phpmyadmin No >>>CLICK HERE<<<

Scaling DreamFactory

Using and Developing with Azure. Joshua Drew

Full version is >>> HERE <<<

Blog site (cont.) theme, 202 view creations, 205 Browser tools, 196 Buytaert, Dries, 185

Designing, Scoping, and Configuring Scalable LAMP Infrastructure

Intro to. for Content Managers

How To Start Mysql Use Linux Command Line Client In Xampp

Drupal Command Line Instructions Windows 7 List All Users >>>CLICK HERE<<<

More Dev / Less Ops. Sean Dietrich DrupalCorn '18

TEN7AUDIT REPORT EXAMPLE

Kampatools. A construction kit based on Drupal

GIT VERSION CONTROL TUTORIAL. William Wu 2014 October 7

Installer Apache Manually Win7 7 Php Mysql Survey

Installing LAMP on Ubuntu and (Lucid Lynx, Maverick Meerkat)

Configuration Management

Technical Architecture & Analysis

Oracle Service Cloud Integration for Developers Ed 1

Full Stack Web Developer

Apache Manually Install Ubuntu On Windows 8 Themes

Manually Password Protect Directories Apache Ubuntu

No Schema Type For Mysql Type Date Drupal

Optimizing LAMP Development with PHP5

Drupal Command Line Instructions Windows 7 List All >>>CLICK HERE<<<

Drupal Training. Introduction to Module Development

Drupal Command Line Instructions Windows 7 Network Drive >>>CLICK HERE<<<

Webomania Solutions Pvt. Ltd Guidelines to Handling a Website using Drupal Platform

IT STARTED WITH A KICKSTARTER CAMPAIGN

Getting Started with Phalcon

Help! I need more servers! What do I do?

Course Wiki. Today s Topics. Web Resources. Amazon EC2. Linux. Apache PHP. Workflow and Tools. Extensible Networking Platform 1

Phpmyadmin Windows Xp

Installing MediaWiki using VirtualBox

Etanova Enterprise Solutions

2. Installing OpenBiblio 1.0 on a Windows computer

MIRO DIETIKER Founder

Drupal Command Line Instructions Windows 8.1 Setup >>>CLICK HERE<<<

Oracle Service Cloud Integration for Developers Ed 1

Kollaborate Server. Installation Guide

How To Start Mysql Use Linux Command Line Windows 7

Advanced Joomla! Dan Rahmel. Apress*

RPG & PHP REST SERVICES WITH APIGILITY. Chuk Shirley Sabel Steel Service Club Seiden

MCSE Cloud Platform & Infrastructure CLOUD PLATFORM & INFRASTRUCTURE.

Announcements. PS 3 is out (see the usual place on the course web) Be sure to read my notes carefully Also read. Take a break around 10:15am

Deploying to the Edge CouchDB

GIT. A free and open source distributed version control system. User Guide. January, Department of Computer Science and Engineering

Phpmyadmin Ubuntu 10.04

Oracle Service Cloud Integration for Develope

L.A.M.P. Stack Part I

School of Information and Computer Technology Sirindhorn International Institute of Technology Thammasat University

Apache MySQL PHP PHPAdmin Install

Drupal 8 THE VIDER ITY APPR OACH

SCALING DRUPAL TO THE CLOUD WITH DOCKER AND AWS

Mysql Server 4.1 Manually Windows 7 Start Service

Real Web Development. yeah, for real.

Drupal Hosting. April 19, Northeast Ohio Drupal User Group 1

Drupal Command Line Instructions Windows 7 List Files >>>CLICK HERE<<<

Bitnami MEAN for Huawei Enterprise Cloud

STREAMLINED CERTIFICATION PATHS

A Simple Course Management Website

Automatic Creation of a Virtual Network with VBoxManage [1]

CHAPTER 1: A REFRESHER ON WEB BROWSERS 3

Topics. What is a RaspberryPi? Why should I want one? What is Raspbian? What is SSH? What is FTP? What is LAMP? Making a LAMP Stack!

Phpmyadmin Ubuntu Server

How To Start Mysql Using Linux Command Line Client In Ubuntu

Oh yes, wpcache comes with a dashboard wpcache is not Plugin!

Mysql Server 4.1 Manually Windows 7 64 Bit

Bitnami HHVM for Huawei Enterprise Cloud

Docker for Development: Getting Started

Trunk Player Documentation

App Central: Developer's Guide. For APKG 2.0

" Qué me estás container?" Docker for dummies

Sentences Installation Guide. Sentences Version 4.0

Using the Computer Programming Environment

Building Drupal sites using CCK, Views and Panels. Khalid Baheyeldin DUG Waterloo Region September 5, 2008

Software Platforms. Quiz with Explainations. Hans-Petter Halvorsen, M.Sc.

Improve Web Application Performance with Zend Platform

Regarding the quality attributes, the architecture of the system must be:

Nextcloud 13: How to Get Started and Why You Should

Bitnami Node.js for Huawei Enterprise Cloud

Install Apache Manually Win7 7 Php Mysql Phpmyadmin Ubuntu Server

TDDC88 Lab 4 Software Configuration Management

Drupal Command Line Instructions Windows 7 Network Drives >>>CLICK HERE<<<

Course Outline. MySQL Database Administration & Design. Course Description: Pre-requisites: Course Content:

35, to 42, per annum. Stroke Association House, London EC1V

Using Data Science to deliver Workforce & Labour Market Insights. Gary Gan Co-Founder, JobKred

Creating an Online Catalogue Search for CD Collection with AJAX, XML, and PHP Using a Relational Database Server on WAMP/LAMP Server

Magento Performance Testing

Department of Computer Science College of Engineering Boise State University

How To Start Mysql Use Linux Command Line Client In Ubuntu

Transcription:

What is Drupal? Or What is this Drew-Paul thing you do?

Drupal for the average person Drupal lets me build websites that help people build their own websites without needing to know anything about programming Drupal for IT People Drupal is an open source system for managing content and displaying it on the web. There's no software to install, works on every OS (even mobile) and is modular Drupal for Drupal People I build and maintain themes on Drupal.org and volunteer at Drupalcon and local DUGs Web 1.0 = content management Web 2.0 = Web 1.0 + user management + infinite extensibility Web 3.0 = Web 2.0 + infinite interoperability, so Web 3.0 = Web 2.0 + data portability + web service APIs

Drupal is Operating System (Linux, Mac OS, Windows Server) Web Server (Apache, IIS, Nginx) Database (MySQL, SQL Server or mongo DB, Cassandra; NoSQL) PHP The most common set up is LAMP (Linux, Apache, MySQL & PHP)

Drupal is Core subsystem with Core modules Add-on modules Custom modules Theme system use of CSS JavaScript, jquery

Core Drupal Current version is Drupal 6.22 or Drupal 7.8 Root Directory of 6.22:

It s only in the sites folder where you add contributed modules: sites/all/modules customised modules: sites/default/modules contributed themes: sites/all/themes customised themes: sites/default/themes files will usually also be stored here : sites/default/files but often you have private files that should be stored outside of the root directory And ideally on a file server! Files path:../online The absolute path (or relative to Drupal root) where files used for file downloads are located

Drupal.org search, download modules & themes (for free) Use subversion tools: GIT Even better: Drush command prompt

Download the zip file

Git distributed revision control system with an emphasis on speed by Linus Torvalds Every Git working directory is a full-fledged repository with complete history and full revision tracking capabilities, not dependent on network access or a central server.

Drush or drupal shell is a command-line utility to help the site building and maintenance workflows drush dl cck zen Download current recommended versions of CCK module and Zen theme drush enable content Enable the content (cck) module This saves a lot of clicking around and you can save a file full of instructions that can be re-used again

There are 3 main types of Drupal people: 1.Developer (working with PHP the Drupal way) 2.Themer (working with templates, CSS, jquery) 3.Architect (working with LAMP, architecture, configuration)

Drupal Developer IDE: Notepad++, Eclipse, Komodo, Dreamweaver, Zend Hudson CI, Jenckins CI PHP programming but in the Drupal way Hooks module talking to other module re using code Easy to find PHP programmers to do it the Drupal way is hard(er) A module has: info file (version, dependencies) install file (installs new tables in MySQL) module file I want to. There s a module for that!

Drupal Themer IDE: Dreamweaver, Notepad++, Komodo, Astisteer Hudson CI, Jenckins CI Use Base Themes and customise! PHP programming the Drupal way CSS, jquery etc Pre-processing Base Theme: Omega HTML 5 CSS 3 Mobile A theme has: node.tpl.php, page.tpl.php, theme.tpl.php

Drupal Architect

Enable or disable modules

Editing a node of type News Item

High Performance Drupal Linux Ubuntu (server) can also be CentOS (or RHL if you insist) Git (subversion, downloading tool) Pressflow (distribution of Drupal with integrated performance, scalability, availability, and testing enhancements) APC (Alternative PHP Cache) PHP Accelerator Varnish Cache (is an open source, state of the art web app accelerator. You install it on your web server and it makes your website fly Memcache (Free & open source, high-performance, distributed memory object caching system, intended for use in speeding up dynamic web applications by alleviating database load.

High Performance Drupal Within a few minutes Linux Command Prompt apt-get install phpmyadmin mysql-server http://xxx.xxx.xxx.xxx/ # It works! # Now we'll get a git checkout of pressflow apt-get install git-core git clone git://github.com/pressflow/6.git www # Now for APC: cd /var/www apt-get install php-apc cp /usr/share/doc/php-apc/apc.php.gz./ gunzip apc.php.gz # Next level: use Varnish. apt-get install varnish cd /etc/apache2/ nano ports.conf # Change apache to listen on port 8080 nano sites-available/default # Change the virtualhost to also listen on port 8080 /etc/init.d/apache2 restart Ubuntu: apt-get CentOS/RHL: yum # Now verify that the site is up via Apache at http://xxx.xxx.xxx.xxx:8080/ nano /etc/varnish/default.vcl # Next change the Varnish configuration to enable and listen on port 80. # Change the "start" value at the top of the file from "no" to "yes". /etc/init.d/varnish restart # Verify that you get the site via http://xxx.xxx.xxx.xxx/ # Using firebug or Chrome dev tools, or live HTTP Headers you can verify that # the via-varnish and "age" headers are being set. # Now go turn the page caching to "external". And run benchmarks again: ab -n 1000 -c 30 http://xxx.xxx.xxx.xxx/ # Whoops too fast, let's do more requests: ab -n 10000 -c 30 http://xxx.xxx.xxx.xxx/ # What about a higher amount of concurrency? ab -n 10000 -c 100 http://xxx.xxx.xxx.xxx/ # Wow. Varnish is cool. :)

Performance and Scalability Which configuration do you want?? 6 000 5 000 4 000 Requests/sec 5 449 800 700 600 500 736 98% percentile response time (ms) 3 000 2 000 1 000 0 44 154 1 178 Base Drupal APC Default cache Varnish 400 300 200 100 0 296 68 5 Base Drupal APC Default cache Varnish

The Database MySQL - most common database Speed up! Check table locks MySQL configuration tuning Memcached tool InnoDB (a DB engine) uses low-level row locking instead of table-level locking (MyISAM) MySQL @ different physical server it is a bigger responsibility on software architects to choose the appropriate database for a project right at the beginning NoSQL - structured storage not require fixed table schemas usually avoid join operations and typically scale horizontally Highest Drupal 7 traffic website 25 page hits/s No page caching Uses mongodb But avoids 3 rd party widgets Calls it Document Oriented Database DODB instead of NoSQL

Drupal / Pressflow sites

Drupal to Sharepoint Migration? not Sharepoint to Drupal? Ad on Jobserve: Senior Drupal Architect - PHP, MySQL, HTML, CSS, JavaScript Senior Drupal Architect to start Monday the 31st of October. A major broadcasting company in London looking for architects to change the architecture from.net to Drupal. Migration Managers for SharePoint The only way to get full functionality out of SharePoint 2010 is by using Windows Server 2008 and Microsoft Office 2010 on the desktop upgrades your organization may not be ready to deploy TCO = licensing cost + development cost + management cost + support cost. Arpan Shah MSFT: the main difference between Sharepoint and Drupal is that Sharepoint ships with certain features that you can barely change 1. Functionality (BI, Browser/Office) 2. Total Cost of Ownership (TCO) 3. Simplicity (complex scenarios, UX) 4. Interoperability (REST) 5. Community 6. Technology Differences

Thank you for your attention!