Udržitelnost WordPress webu

Podobné dokumenty
Evoluce deploye Od FTP po automatický deploy

Bakalářské. Vzdělání: Telefon: Ostrava. Bydliště: Ukázky práce: Správa a monitoring platformy provozované na AWS

Novinky v Azure pro webové vývojáře

w w w. u l t i m u m t e c h n o l o g i e s. c z Infrastructure-as-a-Service na platformě OpenStack

Automatizace správy linuxové infrastruktury pomocí Katello a Puppet LinuxDays

Alpine Linux: minimalistická distribuce nejen na server

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: AVTK. Úvod. strana 1

Praktické zkušenosti s Azure DevOps

SRSW4IT Inventarizační SW. Prezentace aplikace. Vedoucí DP: ing. Lukáš Macura Autor: Bc. Petr Mrůzek

Střední odborná škola a Střední odborné učiliště, Hořovice

Správa linuxového serveru: Zprovoznění Ruby aplikací s RVM, Thin a Nginx

Redakční systém Joomla. Prokop Zelený

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: Webové aplikace

Životní cyklus IT systémů

Apache Cordova (PhoneGap 3)

Od grafického návrhu k funkčnímu webu

Virtuální datacentrum na ovirt způsob

Co musíte udělat po instalaci WordPressu. Vlastimil Ott

Obsah. O autorech 9 Earle Castledine 9 Myles Eftos 9 Max Wheeler 9 Odborný korektor 10. Předmluva 11 Komu je kniha určena 12 Co se v knize dočtete 12

Programátorské večery. Tomáš Herceg Microsoft Student Partner

Tvorba webových aplikací s využitím Open Source CMS. Lukáš Dubina. Vedoucí práce. PaedDr. Petr Pexa

eduroam.cz správa a deployment pomocí Ansible

Integrace OpenOffice.org a Javy. CZJUG, , Robert Vojta

IBM Tivoli Storage Manager 6.2 a IBM Tivoli Storage Manager FastBack 6.1.1

Systémová administrace portálu Liferay

Formy komunikace s knihovnami

Jak si ochočit Ansible

Olga Rudikova 2. ročník APIN

Reporting a Monitoring

2012 ET NETERA a.s. Wicket přehled technologie Martin Strejc

Karel Bittner HUMUSOFT s.r.o. HUMUSOFT s.r.o.

Novinky v oblasti SAP Mobility. Martin Zikmund, Presale Mobility Platforms Miroslav Řehoř, Account Executive

Hosting a doména. Pavel Urbánek. srovnání providerů a WP požadavky.

Domino 10 nové komponenty a související témata (node.js, ES )

Metody zabezpečeného přenosu souborů

Počítačová Podpora Studia. Přednáška 5 Úvod do html a některých souvisejících IT. Web jako platforma pro vývoj aplikací.


Alcatel-Lucent VitalQIP DNS/DHCP & IP Management Software

Nasazení nových modulů McAfee Seminář CIV (nejen) pro lokální správce

modrana: flexibilní navigační systém Martin Kolman

Monitorování sítě pomocí OpenWrt

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: Webové aplikace

SOFISTIKOVANÉ NÁSTROJE PRO JEDNODUCHOU TVORBU PROFESIONÁLNÍCH WEBOVÝCH PREZENTACÍ

Instalace a konfigurace web serveru. WA1 Martin Klíma

STUDIJNÍ MATERIÁL PRO TECHNICKOU CERTIFIKACI ESET Server Security, Serverové produkty

GIT hands-on. Mgr. Šimon Tóth. 12. dubna () GIT hands-on 12. dubna / 25

Virtualizační platforma ovirt

AudioKnihovna. Harvie's JuKe!Box. ~Tomáš Mudruňka~ codename. Maturitní projekt SSPŠ 4.I 2008/2009

Karta předmětu prezenční studium

Otevřený svět ICS. Radim Navrátil. aneb co svět oken a ICS? Vedoucí oddělení aplikační administrace a bezpečnosti, YOUR SYSTEM, spol. s r.o.

Ruby on Rails: zapomeňte na Javu

Využití chemie v procesu testování webových aplikací vytvořených pomocí technologií PHP a Java

OpenNebula pro začátečníky SUT Tomáš Kukrál

Linux na desktopu Pro Běžně Frustrované Uživatele

POWERSHELL. Desired State Configuration (DSC) Lukáš Brázda MCT, MCSA, MCSE

Publikujeme web. "Kam s ním?!"

Acronis. Lukáš Valenta

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím

Dobrý CMS Popis produktu a jeho rozšíření

Mediální komunikace. Vysoká škola mezinárodních a veřejných vztahů PhDr. Peter Jan Kosmály, Ph.D

INSTALACE SOFTWARE A AKTIVACE PRODUKTU NÁVOD

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

Kubernetes Azure Service Fabric

Střední odborná škola a Střední odborné učiliště, Hořovice

Verzovací systémy. Pořádek především!

Travis CI. 8. března InstallFest Travis CI. Miro Hrončok. Co je CI. K čemu CI. Co je potřeba k CI. Co je Travis CI.

Nové licencování databází Informix

IS pro podporu BOZP na FIT ČVUT

Zranitelnost databáze a ochrana vašich citlivých dat. Michal Lukanič, Database Specialist

Obsah Redakční systém Wordpress

Historie, současnost a budoucnost ASP.NET

Nové jazykové brány do Caché. Daniel Kutáč

Microsoft System Center Configuration Manager Jan Lukele

Metodiky pro automatické testování webové aplikace. Ondřej Melkes, Martin Komenda

STUDIJNÍ MATERIÁL PRO TECHNICKOU CERTIFIKACI ESET Business Edition, ESET Remote Administrator

Použití zásad skupin k instalaci klientské komponenty ESO9

Tabulka základních vlastností nástroje C++Builder dle edice

Univerzita Pardubice. Dominik Víšek

Obsah. Rozdíly mezi systémy Joomla 1.0 a Systém Joomla coby jednička online komunity...16 Shrnutí...16

v. 2425a Jak si na PC vypěstovat HTTP (WWW, Web) server a jak ho používat (snadno a rychle) by: Ing. Jan Steringa

Knot DNS Resolver. Modulární rekurzivní resolver. Karel Slaný

[ASP].NET Core Demystified. Miroslav Holec. Konzultant a lektor [ASP].NET Core.

C# - Databáze úvod, ADO.NET. Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí

bubileg webový redakční systém Manuál administrace pro systém verze 5

Prototyping konfigurace linuxových serverů. horizontální škálování Deltacloud API

Netezza. Martin Pavlík. 2. Února to pravé řešení pro analytický datový sklad

Podnikový informační systém SAP

Střední odborná škola a Střední odborné učiliště, Hořovice

Firemní strategie pro správu mobilních zařízení, bezpečný přístup a ochranu informací. Praha 15. dubna 2015

Jakub Šesták. ESEJ DO PŘEDMĚTU DIGITÁLNÍ KNIHOVNY

Ondřej Soukup, DAQUAS Radek Žalud, DAQUAS

Na vybraném serveru vytvoříme MySQL databázi. Soubory scratch.jpa, kickstart.php a en-gb.kickstart.ini nahrajeme na vybraný server.

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: Webové technologie

RadioBase 3 Databázový subsystém pro správu dat vysílačů plošného pokrytí

Vývoj software pro Linuxové distribuce. Installfest Praha,

Open Source a softwarová integrace. Roman Piontek Director of SaaS Innovation

Úvod do Entity Frameworku

Správa softwaru v GNU/Linuxu. Michal Dočekal

Transkript:

Udržitelnost WordPress webu Petr Hlavička hlavicka.cz

Obsah Prémiové šablony a pluginy Struktura Nástroje Verzování Deployment Testování Dokumentace Petr Hlavička: Udržitelnost WordPress webu 2/58

Co pro mě znamená, že je projekt udržitelný? Petr Hlavička: Udržitelnost WordPress webu - Úvod 4/58

Cíl přednášky. Petr Hlavička: Udržitelnost WordPress webu - Úvod 5/58

Proč je dobré tu udržitelnost řešit? Petr Hlavička: Udržitelnost WordPress webu - Úvod 6/58

Myslet dopředu. Petr Hlavička: Udržitelnost WordPress webu - Úvod 7/58

Jaké problémy vidím s premiovými šablonami? aktualizace co maj "pod kapotou"? uzamčení obsahu (theme/plugin lock-in) Petr Hlavička: Udržitelnost WordPress webu - Prémiové šablony a pluginy 8/58

Nad čím se zamyslet při výběru pluginu? Opravdu je potřeba? Jak kri4cký bude pro web? Jaká je podpora? Vývoj? Je bezpečný? (WPScan Vulnerability Database) Petr Hlavička: Udržitelnost WordPress webu - Prémiové šablony a pluginy 9/58

Shrnu& Nemáte kontrolu nad vývojem šablony / pluginu. závislos= kontrola udržitelnější. závislos= čas dražší. Petr Hlavička: Udržitelnost WordPress webu - Prémiové šablony a pluginy 10/58

Webové frameworky Struktura Nástroje Verzování Deployment (CI/CD) Testování Dokumentace Petr Hlavička: Udržitelnost WordPress webu - Webové frameworky 11/58

Struktura WordPressu site/ index.php license.txt readme.html wp-activate.php wp-admin/ wp-blog-header.php wp-comments-post.php wp-config.php wp-config-sample.php wp-content/ themes/ languages/ plugins/ wp-cron.php wp-includes/ wp-links-opml.php wp-load.php wp-login.php wp-mail.php wp-settings.php wp-signup.php wp-trackback.php xmlrpc.php Petr Hlavička: Udržitelnost WordPress webu - Struktura 12/58

Struktura WordPressu site/ index.php license.txt readme.html wp-activate.php wp-admin/ wp-blog-header.php wp-comments-post.php wp-config.php wp-config-sample.php wp-content/ themes/ languages/ plugins/ wp-cron.php wp-includes/ wp-links-opml.php wp-load.php wp-login.php wp-mail.php wp-settings.php wp-signup.php wp-trackback.php xmlrpc.php Petr Hlavička: Udržitelnost WordPress webu - Struktura 13/58

Struktura WordPress šablony Petr Hlavička: Udržitelnost WordPress webu - Struktura 14/58

Struktura WordPress šablony Proč to řešit? Povinné soubory šablony: index.php style.css Petr Hlavička: Udržitelnost WordPress webu - Struktura 15/58

Struktura WordPress šablony Jaké máme možnos-? Oficiální (doporučená) 1 Použi7 WordPress frameworku Vlastní 1 Organizing Theme Files WordPress Developer Resources Petr Hlavička: Udržitelnost WordPress webu - Struktura 16/58

Oficiální (doporučená) theme/ 404.php archive.php assets/ comments.php footer.php front-page.php functions.php header.php inc/ index.php page.php README.txt rtl.css screenshot.png search.php searchform.php sidebar.php single.php style.css template-parts/ Petr Hlavička: Udržitelnost WordPress webu - Struktura 17/58

Oficiální (doporučená) theme/ 404.php archive.php assets/ comments.php footer.php front-page.php functions.php header.php inc/ index.php page.php README.txt rtl.css screenshot.png search.php searchform.php sidebar.php single.php style.css template-parts/ Petr Hlavička: Udržitelnost WordPress webu - Struktura 18/58

Použi& WordPress frameworku Usnadnění vývoje. Možný odklon od standardního vývoje šablon. Další závislost v projektu. Hotová dokumentace. Petr Hlavička: Udržitelnost WordPress webu - Struktura 19/58

Ukázka struktury Assely theme/ app bootstrap composer.json composer.lock config functions.php gulpfile.js index.php package.json public README.md resources screenshot.png storage style.css vendor Petr Hlavička: Udržitelnost WordPress webu - Struktura 20/58

Ukázka struktury Assely theme/ app bootstrap composer.json composer.lock config functions.php gulpfile.js index.php package.json public README.md resources screenshot.png storage style.css vendor Petr Hlavička: Udržitelnost WordPress webu - Struktura 21/58

Použi& WordPress frameworku Doporučení Druh implementace. Zvážit omezení, které mají. Vývoj a podpora frameworku. Vyzkoušet! Petr Hlavička: Udržitelnost WordPress webu - Struktura 22/58

Nelíbí se ani jedna z variant? 23/58

Vlastní struktura Doporučení Samostatný git repozitář. S dokumentací. Nechte se inspirovat. Myslet dopředu. Petr Hlavička: Udržitelnost WordPress webu - Struktura 24/58

Struktura WordPress pluginu Princip stejný jako u šablon. Kde se inspirovat: WordPress Plugin Boilerplate a s =m spojený Plugin Directory Boilerplate. Frameworky: WordPress Plugin Framework, Herbert, WordPress Plugin Template. Petr Hlavička: Udržitelnost WordPress webu - Struktura 25/58

Struktura souborů je pouze základ Standardizovat si kód Vlastní standardy Cizí standardy např. WordPress Coding Standards + kontrola (WordPress Coding Standards for PHP_CodeSniffer) Standardizovat si nastavení editoru Soubor.editorconfig (editorconfig.org) Petr Hlavička: Udržitelnost WordPress webu - Struktura 26/58

Je vhodné předem informovat klienta o nestandardních komponentách projektu. Petr Hlavička: Udržitelnost WordPress webu - Struktura 27/58

Nástroje WP-CLI GenerateWP Plugin Developer + jim doporučené pluginy Případné nástroje frameworků. Petr Hlavička: Udržitelnost WordPress webu - Nástroje 28/58

Lokální vývojové prostředí přímo hotové řešení WPLib Box, Local (bývalý Pressma>c) či Trellis pro Bedrock. Vagrant VCCW Docker Local WordPress Development with Docker: 3 Easy Steps & Using wp-cli with Docker Petr Hlavička: Udržitelnost WordPress webu - Nástroje 29/58

Offline dokumentace Dash - macos, ios Zeal - Windows, Linux Velocity - Windows Petr Hlavička: Udržitelnost WordPress webu - Nástroje 30/58

Verzování Nic 2x Jen svoji práci Vše kri5cké Petr Hlavička: Udržitelnost WordPress webu - Verzování 31/58

Jaké jsou možnos-? Git submoduly Composer VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58

Git submoduly Propojování git repositářů. WordPress na GitHub WP Plugins na GitHub Petr Hlavička: Udržitelnost WordPress webu - Verzování 33/58

Git submoduly Ukázka struktury site/ index.php wp-config.php wp-content/ plugins/ wordpress-seo/ # Plugin jako submodul themes/ theme/ # Vlastní šablona wp-cli.yml # Info pro WP-CLI, kde je WP wp/ # WordPress jako submodul Petr Hlavička: Udržitelnost WordPress webu - Verzování 34/58

Git submoduly Co se výsledně verzuje site/ index.php wp-config.php wp-content/ plugins/ wordpress-seo/ # Plugin jako submodul themes/ theme/ # Vlastní šablona wp-cli.yml # Info pro WP-CLI, kde je WP wp/ # WordPress jako submodul Petr Hlavička: Udržitelnost WordPress webu - Verzování 35/58

Git submoduly Výhody Jen důležité. Verze WP a pluginů. Žádný další nástroj. Jednoduchý deployment pomocí Git-Ep. Petr Hlavička: Udržitelnost WordPress webu - Verzování 36/58

Git submoduly Nevýhody Náročnější správa verzí WP a pluginů. Nelze aktualizovat pluginy a ani WP z admina či WP-CLI. Klade vyšší nároky na znalost gitu. Petr Hlavička: Udržitelnost WordPress webu - Verzování 37/58

Composer Balíčkovací systém pro PHP. Možné díky WordPress Packagist - WordPress sám o sobě nepodporuje Composer 2. Využívá např. Bedrock, WP Starter a další. 2 #23912 (Add Composer package descrip6on) WordPress Trac Petr Hlavička: Udržitelnost WordPress webu - Verzování 38/58

Composer Ukázka: instalace Bedrocku 1. composer create-project roots/bedrock 2. Nastavení DB, WP Salt a další v souboru.env. 3. Hotovo. Petr Hlavička: Udržitelnost WordPress webu - Verzování 39/58

Composer Práce s Composerem Instalace pluginu: composer require wpackagist-plugin/wordpress-seo Aktualizace WP a pluginů: composer update Petr Hlavička: Udržitelnost WordPress webu - Verzování 40/58

Ukázka struktury Bedrocku site/ config/ environments/ development.php staging.php production.php application.php # Primary wp-config.php vendor/ # Composer dependencies web/ # Virtual host document root app/ # WordPress content directory mu-plugins/ plugins/ themes/ uploads/ wp/ # WordPress core Petr Hlavička: Udržitelnost WordPress webu - Verzování 41/58

Composer Výhody composer.json Petr Hlavička: Udržitelnost WordPress webu - Verzování 42/58

Composer Nevýhody Nutný deployment. Vyšší požadavky na hos9ng. Nelze aktualizovat pluginy a ani WP z admina či WP-CLI. Petr Hlavička: Udržitelnost WordPress webu - Verzování 43/58

VersionPress Trochu jiné verzování, než předchozí varianty. Stále ve vývoji. Petr Hlavička: Udržitelnost WordPress webu - Verzování 44/58

Další možnost.gitignore 3 Zakázání verzování všeho kromě vlastní šablony a podpůrných souborů. Neverzuje se verze WP a pluginů. WP-CLI, aktualizace přímo, jednoduchý deployment. 3 WordPress.gi-gnore Petr Hlavička: Udržitelnost WordPress webu - Verzování 45/58

Zamyšlení: WP-CLI pro správu verzí WP a pluginů? wp-cli.json wp plugin install wordpress-seo, wp plugin update --all, wp core update,... nové příkazy wp install, wp update tak kdyby se někdo nudil... Petr Hlavička: Udržitelnost WordPress webu - Verzování 46/58

Možnos& verzování databáze DBV - webové rozhraní, umí vytvářet migrace MMP - CLI, umí vytvářet migrace DBVC - CLI, neumí vytvářet migrace VersionPress - pro podporované pluginy Petr Hlavička: Udržitelnost WordPress webu - Verzování 47/58

Deployment Development -> Staging -> Produc7on. Součást CI 4 /CD 5. Automa7cky. 4 Con&nuous integra&on 5 Con&nuous delivery Petr Hlavička: Udržitelnost WordPress webu - Deployment 48/58

Deployment Jak si vybrat? Dle požadavků Dle rozpočtu Dle preferencí Petr Hlavička: Udržitelnost WordPress webu - Deployment 49/58

Deployment Obecné požadavky Specifickou strukturu (pro služby nebo nástroje pro WP) Repositáře na GitLab/GitHub (pro automabcký deploy) FTP nebo nejlépe VPS Petr Hlavička: Udržitelnost WordPress webu - Deployment 50/58

Deployment: Nástroje Jednoduché (nízkonákladové): Git-:p - development -> produc?on Git na hos?ngu (některé sdílené mají podporu gitu) - vlastní řešení (git pull) nebo VersionPress plugin Nástroje pro WP (nutný SSH přístup a další u?lity na straně serveru): wp-deploy - Capistrano Evolu?on WordPress - Vagrant, Ansible, Capistrano WP Stack - Capistrano Wordmove - Ruby Gem pro development <=> produc?on DebOps for WordPress - Python, Ansible, DebOps bedrock-capistrano - Capistrano pro Bedrock Trellis - Vagrant, Ansible pro Bedrock Petr Hlavička: Udržitelnost WordPress webu - Deployment 51/58

Deployment: Služby Univerzální služby: DeployBot DeployHQ WP služby: Pantheon WP Engine VersionPress.com Presslabs, GiFum Flywheel Petr Hlavička: Udržitelnost WordPress webu - Deployment 52/58

Deployment: Zajímavé Deploy pouze šablony či pluginu WP Pusher GitHub Updater Petr Hlavička: Udržitelnost WordPress webu - Deployment 53/58

Testování Plugin Unit Tests - PHPUnit, WP-CLI Codecep9on pro WP - přes Composer, Integra9on Tests, WordPress Func9onal Tests, Acceptance Tests, BDD Zajímavé odkazy: WP Test - kolekce dat pro testování WP Unit Tes9ng WordPress Plugins with PHPUnit Introduc9on to WordPress Unit Tes9ng Petr Hlavička: Udržitelnost WordPress webu - Testování 54/58

Dokumentace Rychlejší orientace v projektu. Stručně. Jasně. Wiki u GitLab/GitHub. Dokumentovat i kód (PHP DocumentaHon Standards). Petr Hlavička: Udržitelnost WordPress webu - Dokumentace 55/58

Shrnu& Petr Hlavička: Udržitelnost WordPress webu 56/58

Dotazy? Petr Hlavička: Udržitelnost WordPress webu 57/58

Prezentace bude dostupná na GitHubu. Sledujte @WordCampPraha na Twi?eru. Děkuji za pozornost. Petr Hlavička hlavicka.cz Petr Hlavička: Udržitelnost WordPress webu 58/58