SlideShare ist ein Scribd-Unternehmen logo
1 von 22
VersionPress
jak dělat WP weby lépe
Borek Bernard, @borekb
Story
WordPress z pohledu vývojáře
• Jsem v první řadě vývojář
• Špatný cit pro design
• Žádný CSS mág
• …ale vím, jak dělat softwarové projekty

• Web na WordPressu často je plnohodnotný
softwarový projekt
• Change management
• Dělba práce mezi více členů týmu (vývoj, coding,
copywriting, …)
• Release management (staging vs. live prostředí)
• atd.
Tři esenciální věci pro vývojáře
1. Version control – Git, Subversion atd.
2. Oblíbený editor / IDE
3. Version control
Vývoj dle WordPressu
• Vše se děje skrze administraci
• žádné IDE, žádný editor, vše se nakliká v administraci
nebo v krajním případě upraví přes textareu

• Změny jsou okamžité a neverzují se
• obecně neexistuje způsob, jak se vrátit zpátky

• Aktualizace přímo v produkci
• uuuaaaaaaaaaaaaaaaaa
=> rozpor v tom, jak fungují běžné SW projekty a
jak je WordPress zamýšlený

Důsledky pro běžné uživatele:
• Strach z aktualizací
• … až jejich ignorování
• WP hostingy nepodporují custom
pluginy a témata vzhledu
Můj přístup k vývoji WP webů
• Soubory verzované v Gitu
• Remote repository na BitBucketu
• Úprava funkcionality v PhpStormu
• Staging prostředí
• Systém pro zálohování
Přínosy a problémy
Přínosy

Problémy

WordPress projekt začal připomínat
standardní sw projekt, jak jsem byl zvyklý

Git repozitář neobsahoval celý obraz webu
– sám o sobě je bez DB k ničemu

Mohl jsem používat efektivnější nástroje

Změny v databázi neverzované

Do produkce šly až otestované změny

Merge dvou databází (test a live) stále
obtížný

Mohl jsem vyvíjet na více počítačích

=> idea udělat VersionPress
VersionPress
Co je VersionPress
• Standardní plugin
• Snaha přinést do WordPressu praktiky z
profesionálního sw vývoje
• V jádru především verzování, ale dále celá řada
navázaných funkcí
• Cílem je funkční a pohodlný staging

• V tuto chvíli prototyp
Nosné myšlenky
• Verzovat všechno, jak soubory tak databázi
• Použít nějaký standardní a osvědčený VCS (Git)
• Být přívětivý k power userům i běžným uživatelům
1. Verzování databáze
• Kritický bod, kvůli kterému je VersionPress unikátní
• Dvě protichůdné věci:
1. Verzování databáze je velmi těžké zrealizovat
2. Ale pokud se povede, odemyká zcela nový svět
2. Využití Gitu
• Verzovat lze různě – např. nové tabulky a řádky v
MySQL ala Wikipedia nebo WordPress posty
• Vývojáři ale mají rádi standardní VCS
• Zvolili jsme Git, protože:
•
•
•
•

Rozšířený, univerzálně používaný
Standardní sada příkazů pro práci s tímto VCS
Online služby jako GitHub nebo BitBucket
Široká podpora v nástrojích, velká uživatelský komunita
atd.
3. Pro power usery i běžné
uživatele
• Pokud je uživatel power user a např. udělá úpravu v
nějakém externím IDE, musí mít možnost
commitnout změny ručně a pro VersionPress to
nebude problém
• Běžný uživatel vůbec nemusí vědět, co je Git nebo
version control. Vše lze stále dělat skrze webové
rozhraní WordPressu
Funkce VersionPressu (1)
• Automaticky verzuje každou významnou akci, ať už
udělanou v administraci nebo veřejně
•
•
•
•

Nový post nebo komentář -> commit
Změna tématu vzhledu -> commit
Instalace pluginu -> commit
Update WordPressu -> commit

• Možnost vrátit se k libovolné předchozí verzi
• Něco jako Undo ve Wordu

• Možnost vrátit pouze změny z nějaké předchozí
verze
• Lepší než Undo ve Wordu
Funkce VersionPressu (2)
• Vestavěná podpora pro staging prostředí
• One-click vytvoření testovacího prostředí
• Merge dvou prostředí – chytré sloučení změn v živé a
testovací databázi

• Ideální backup
• Zálohována je nejen aktuální verze, ale i všechny
historické
• … ve velmi úsporném formátu
Demo
Demo
• Instalace VersionPressu
• Akce v administraci se samy verzují
• S repozitářem lze pracovat i jinými nástroji, např.
TortoiseGit
• Revert k nějaké historické verzi
• Undo nějaké historické verze
• Naklonování WordPressu do testovacího prostředí
• Úspornost pro backup
Shrnutí
Co je na VersionPressu
unikátní
• První plugin, který skutečně verzuje WP weby, ne
jen vytváří statické snaphosty
• Automatický merge dvou prostředí
• Demokratizace verzování – člověk nemusí být
softwarový vývojář, aby dokázal VersionPress a jeho
výhody používat
Aktuální stav
• Prototyp / studie proveditelnosti
• Chceme slyšet feedback
• Čeká nás ještě hodně práce
•
•
•
•

Podpora nestandardních pluginů
GUI
Zbavení závislosti na cmdline Gitu
atd.
Sledujte @versionpress
nebo FB/VersionPress

Weitere ähnliche Inhalte

Was ist angesagt?

Základní pluginy pro WordPress
Základní pluginy pro WordPressZákladní pluginy pro WordPress
Základní pluginy pro WordPressRadek Kucera
 
Základní pluginy pro WordPress 25-6-2016
Základní pluginy pro WordPress 25-6-2016Základní pluginy pro WordPress 25-6-2016
Základní pluginy pro WordPress 25-6-2016Radek Kucera
 
Oxygen Builder - Kyslík pro WordPress
Oxygen Builder - Kyslík pro WordPressOxygen Builder - Kyslík pro WordPress
Oxygen Builder - Kyslík pro WordPressAleš Sýkora
 
Rizika použití WordPressu
Rizika použití WordPressuRizika použití WordPressu
Rizika použití WordPressuSUPERKODERS
 
Jak pracovat s fonty na front endu
Jak pracovat s fonty na front enduJak pracovat s fonty na front endu
Jak pracovat s fonty na front enduSUPERKODERS
 
WP Frameworky - WordCamp Praha 2018
WP Frameworky - WordCamp Praha 2018WP Frameworky - WordCamp Praha 2018
WP Frameworky - WordCamp Praha 2018Brilo Team
 
PHP Vysočina - WordPress - 25.10.2018
PHP Vysočina - WordPress - 25.10.2018PHP Vysočina - WordPress - 25.10.2018
PHP Vysočina - WordPress - 25.10.2018Brilo Team
 
Dobrý skautský web
Dobrý skautský webDobrý skautský web
Dobrý skautský webMichal Janata
 
Jenkins
JenkinsJenkins
JenkinsKeyup
 

Was ist angesagt? (10)

Základní pluginy pro WordPress
Základní pluginy pro WordPressZákladní pluginy pro WordPress
Základní pluginy pro WordPress
 
Základní pluginy pro WordPress 25-6-2016
Základní pluginy pro WordPress 25-6-2016Základní pluginy pro WordPress 25-6-2016
Základní pluginy pro WordPress 25-6-2016
 
Oxygen Builder - Kyslík pro WordPress
Oxygen Builder - Kyslík pro WordPressOxygen Builder - Kyslík pro WordPress
Oxygen Builder - Kyslík pro WordPress
 
Rizika použití WordPressu
Rizika použití WordPressuRizika použití WordPressu
Rizika použití WordPressu
 
Jak pracovat s fonty na front endu
Jak pracovat s fonty na front enduJak pracovat s fonty na front endu
Jak pracovat s fonty na front endu
 
WordPress šablony
WordPress šablony WordPress šablony
WordPress šablony
 
WP Frameworky - WordCamp Praha 2018
WP Frameworky - WordCamp Praha 2018WP Frameworky - WordCamp Praha 2018
WP Frameworky - WordCamp Praha 2018
 
PHP Vysočina - WordPress - 25.10.2018
PHP Vysočina - WordPress - 25.10.2018PHP Vysočina - WordPress - 25.10.2018
PHP Vysočina - WordPress - 25.10.2018
 
Dobrý skautský web
Dobrý skautský webDobrý skautský web
Dobrý skautský web
 
Jenkins
JenkinsJenkins
Jenkins
 

Andere mochten auch

WordCamp Prague 2014 - Website security cz
WordCamp Prague 2014 - Website security czWordCamp Prague 2014 - Website security cz
WordCamp Prague 2014 - Website security czpeter_sucuri
 
Premium šablona vždy neznamená nejvyšší kvalitu z pohledu použitelnost...
Premium šablona vždy neznamená nejvyšší kvalitu z pohledu použitelnost...Premium šablona vždy neznamená nejvyšší kvalitu z pohledu použitelnost...
Premium šablona vždy neznamená nejvyšší kvalitu z pohledu použitelnost...Jan Kvasnička
 
Custom post types a Post Format
Custom post types a Post Format Custom post types a Post Format
Custom post types a Post Format Vladislav Musílek
 
Jak na SEO ve Wordpressu
Jak na SEO ve WordpressuJak na SEO ve Wordpressu
Jak na SEO ve WordpressuPavel Ungr
 

Andere mochten auch (6)

CSS preprocesory
CSS preprocesoryCSS preprocesory
CSS preprocesory
 
WordCamp Prague 2014 - Website security cz
WordCamp Prague 2014 - Website security czWordCamp Prague 2014 - Website security cz
WordCamp Prague 2014 - Website security cz
 
Premium šablona vždy neznamená nejvyšší kvalitu z pohledu použitelnost...
Premium šablona vždy neznamená nejvyšší kvalitu z pohledu použitelnost...Premium šablona vždy neznamená nejvyšší kvalitu z pohledu použitelnost...
Premium šablona vždy neznamená nejvyšší kvalitu z pohledu použitelnost...
 
Custom post types a Post Format
Custom post types a Post Format Custom post types a Post Format
Custom post types a Post Format
 
Wordcamp Praha 2014
Wordcamp Praha 2014Wordcamp Praha 2014
Wordcamp Praha 2014
 
Jak na SEO ve Wordpressu
Jak na SEO ve WordpressuJak na SEO ve Wordpressu
Jak na SEO ve Wordpressu
 

Ähnlich wie VersionPress - jak dělat WP weby lépe

VersionPress – proč, jak a za kolik (#wcbratislava 2016)
VersionPress – proč, jak a za kolik (#wcbratislava 2016)VersionPress – proč, jak a za kolik (#wcbratislava 2016)
VersionPress – proč, jak a za kolik (#wcbratislava 2016)Borek Bernard
 
Generátory statických webů
Generátory statických webůGenerátory statických webů
Generátory statických webůMichal Doležel
 
Vývoj frontendu na redakčním systému? ... aneb jak udržet pořádek v š...
Vývoj frontendu na redakčním systému? ... aneb jak udržet pořádek v š...Vývoj frontendu na redakčním systému? ... aneb jak udržet pořádek v š...
Vývoj frontendu na redakčním systému? ... aneb jak udržet pořádek v š...Martin Pešout
 
Webinář: Vylepšete ochranu virtuální infrastruktury - Veeam Backup & Replication
Webinář: Vylepšete ochranu virtuální infrastruktury - Veeam Backup & ReplicationWebinář: Vylepšete ochranu virtuální infrastruktury - Veeam Backup & Replication
Webinář: Vylepšete ochranu virtuální infrastruktury - Veeam Backup & ReplicationJaroslav Prodelal
 
Webinář: Unikátní funkce a novinky ve Veeam Backup & Replication verze 7 / 27...
Webinář: Unikátní funkce a novinky ve Veeam Backup & Replication verze 7 / 27...Webinář: Unikátní funkce a novinky ve Veeam Backup & Replication verze 7 / 27...
Webinář: Unikátní funkce a novinky ve Veeam Backup & Replication verze 7 / 27...Jaroslav Prodelal
 
Odborná snídaně 20.9. - Agile@DevOps - 2. část
Odborná snídaně 20.9. - Agile@DevOps - 2. částOdborná snídaně 20.9. - Agile@DevOps - 2. část
Odborná snídaně 20.9. - Agile@DevOps - 2. částProfinit
 
Deployment PHP aplikací | WebExpo 2011
Deployment PHP aplikací | WebExpo 2011Deployment PHP aplikací | WebExpo 2011
Deployment PHP aplikací | WebExpo 2011Jan Mittner
 
WordPress - základy bezpečnosti
WordPress - základy bezpečnostiWordPress - základy bezpečnosti
WordPress - základy bezpečnostiVladimír Smitka
 
Nové »bezhlavé« CMS — přechod od monolitů ke službám
Nové »bezhlavé« CMS — přechod od monolitů ke službámNové »bezhlavé« CMS — přechod od monolitů ke službám
Nové »bezhlavé« CMS — přechod od monolitů ke službámJaroslav Vrána
 
Webinář: Ochrana dat ve virtuálním prostředí pomocí nástroje Veeam B&R / 3.10...
Webinář: Ochrana dat ve virtuálním prostředí pomocí nástroje Veeam B&R / 3.10...Webinář: Ochrana dat ve virtuálním prostředí pomocí nástroje Veeam B&R / 3.10...
Webinář: Ochrana dat ve virtuálním prostředí pomocí nástroje Veeam B&R / 3.10...Jaroslav Prodelal
 
Webinář: Ochrana dat ve virtuálním prostředí pomocí nástroje Veeam Backup & R...
Webinář: Ochrana dat ve virtuálním prostředí pomocí nástroje Veeam Backup & R...Webinář: Ochrana dat ve virtuálním prostředí pomocí nástroje Veeam Backup & R...
Webinář: Ochrana dat ve virtuálním prostředí pomocí nástroje Veeam Backup & R...Jaroslav Prodelal
 
Dotykova zarizeni ve vyuce informatiky
Dotykova zarizeni ve vyuce informatikyDotykova zarizeni ve vyuce informatiky
Dotykova zarizeni ve vyuce informatikyINTERES - KISK
 
Zkušenosti s generováním reportů
Zkušenosti s generováním reportůZkušenosti s generováním reportů
Zkušenosti s generováním reportůSlávek Rydval
 
Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro...
Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro...Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro...
Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro...Vojtěch Kusý
 
Přechod na Windows 10 - jak na to ve firemních sítích
Přechod na Windows 10 - jak na to ve firemních sítíchPřechod na Windows 10 - jak na to ve firemních sítích
Přechod na Windows 10 - jak na to ve firemních sítíchMarketingArrowECS_CZ
 
HCL Sametime Meetings on Docker - SUTOL Cafe 2/2021
HCL Sametime Meetings on Docker - SUTOL Cafe 2/2021HCL Sametime Meetings on Docker - SUTOL Cafe 2/2021
HCL Sametime Meetings on Docker - SUTOL Cafe 2/2021Ales Lichtenberg
 
Presentation about desktop virtualization for WUG (Czech only)
Presentation about desktop virtualization for WUG (Czech only)Presentation about desktop virtualization for WUG (Czech only)
Presentation about desktop virtualization for WUG (Czech only)Michal ZOBEC
 
Optimalizace Symfony na devu
 Optimalizace Symfony na devu Optimalizace Symfony na devu
Optimalizace Symfony na devuVašek Purchart
 

Ähnlich wie VersionPress - jak dělat WP weby lépe (20)

VersionPress – proč, jak a za kolik (#wcbratislava 2016)
VersionPress – proč, jak a za kolik (#wcbratislava 2016)VersionPress – proč, jak a za kolik (#wcbratislava 2016)
VersionPress – proč, jak a za kolik (#wcbratislava 2016)
 
Generátory statických webů
Generátory statických webůGenerátory statických webů
Generátory statických webů
 
Vývoj frontendu na redakčním systému? ... aneb jak udržet pořádek v š...
Vývoj frontendu na redakčním systému? ... aneb jak udržet pořádek v š...Vývoj frontendu na redakčním systému? ... aneb jak udržet pořádek v š...
Vývoj frontendu na redakčním systému? ... aneb jak udržet pořádek v š...
 
Webinář: Vylepšete ochranu virtuální infrastruktury - Veeam Backup & Replication
Webinář: Vylepšete ochranu virtuální infrastruktury - Veeam Backup & ReplicationWebinář: Vylepšete ochranu virtuální infrastruktury - Veeam Backup & Replication
Webinář: Vylepšete ochranu virtuální infrastruktury - Veeam Backup & Replication
 
Webinář: Unikátní funkce a novinky ve Veeam Backup & Replication verze 7 / 27...
Webinář: Unikátní funkce a novinky ve Veeam Backup & Replication verze 7 / 27...Webinář: Unikátní funkce a novinky ve Veeam Backup & Replication verze 7 / 27...
Webinář: Unikátní funkce a novinky ve Veeam Backup & Replication verze 7 / 27...
 
Odborná snídaně 20.9. - Agile@DevOps - 2. část
Odborná snídaně 20.9. - Agile@DevOps - 2. částOdborná snídaně 20.9. - Agile@DevOps - 2. část
Odborná snídaně 20.9. - Agile@DevOps - 2. část
 
Deployment PHP aplikací | WebExpo 2011
Deployment PHP aplikací | WebExpo 2011Deployment PHP aplikací | WebExpo 2011
Deployment PHP aplikací | WebExpo 2011
 
WordPress - základy bezpečnosti
WordPress - základy bezpečnostiWordPress - základy bezpečnosti
WordPress - základy bezpečnosti
 
Nové »bezhlavé« CMS — přechod od monolitů ke službám
Nové »bezhlavé« CMS — přechod od monolitů ke službámNové »bezhlavé« CMS — přechod od monolitů ke službám
Nové »bezhlavé« CMS — přechod od monolitů ke službám
 
Joomla! na MS Windows
Joomla! na MS WindowsJoomla! na MS Windows
Joomla! na MS Windows
 
Webinář: Ochrana dat ve virtuálním prostředí pomocí nástroje Veeam B&R / 3.10...
Webinář: Ochrana dat ve virtuálním prostředí pomocí nástroje Veeam B&R / 3.10...Webinář: Ochrana dat ve virtuálním prostředí pomocí nástroje Veeam B&R / 3.10...
Webinář: Ochrana dat ve virtuálním prostředí pomocí nástroje Veeam B&R / 3.10...
 
Webinář: Ochrana dat ve virtuálním prostředí pomocí nástroje Veeam Backup & R...
Webinář: Ochrana dat ve virtuálním prostředí pomocí nástroje Veeam Backup & R...Webinář: Ochrana dat ve virtuálním prostředí pomocí nástroje Veeam Backup & R...
Webinář: Ochrana dat ve virtuálním prostředí pomocí nástroje Veeam Backup & R...
 
Dotykova zarizeni ve vyuce informatiky
Dotykova zarizeni ve vyuce informatikyDotykova zarizeni ve vyuce informatiky
Dotykova zarizeni ve vyuce informatiky
 
Zkušenosti s generováním reportů
Zkušenosti s generováním reportůZkušenosti s generováním reportů
Zkušenosti s generováním reportů
 
Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro...
Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro...Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro...
Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro...
 
Přechod na Windows 10 - jak na to ve firemních sítích
Přechod na Windows 10 - jak na to ve firemních sítíchPřechod na Windows 10 - jak na to ve firemních sítích
Přechod na Windows 10 - jak na to ve firemních sítích
 
HCL Sametime Meetings on Docker - SUTOL Cafe 2/2021
HCL Sametime Meetings on Docker - SUTOL Cafe 2/2021HCL Sametime Meetings on Docker - SUTOL Cafe 2/2021
HCL Sametime Meetings on Docker - SUTOL Cafe 2/2021
 
Horizon 8 + Instant Clones
Horizon 8 + Instant ClonesHorizon 8 + Instant Clones
Horizon 8 + Instant Clones
 
Presentation about desktop virtualization for WUG (Czech only)
Presentation about desktop virtualization for WUG (Czech only)Presentation about desktop virtualization for WUG (Czech only)
Presentation about desktop virtualization for WUG (Czech only)
 
Optimalizace Symfony na devu
 Optimalizace Symfony na devu Optimalizace Symfony na devu
Optimalizace Symfony na devu
 

Mehr von Borek Bernard

Git in 10 minutes (WordCamp London 2018)
Git in 10 minutes (WordCamp London 2018)Git in 10 minutes (WordCamp London 2018)
Git in 10 minutes (WordCamp London 2018)Borek Bernard
 
Jak tu věc dostat do produkce (WordCamp Praha 2018)
Jak tu věc dostat do produkce  (WordCamp Praha 2018)Jak tu věc dostat do produkce  (WordCamp Praha 2018)
Jak tu věc dostat do produkce (WordCamp Praha 2018)Borek Bernard
 
Git in 10 minutes (WordCamp Europe 2017)
Git in 10 minutes (WordCamp Europe 2017)Git in 10 minutes (WordCamp Europe 2017)
Git in 10 minutes (WordCamp Europe 2017)Borek Bernard
 
VersionPress: představení & kam se za rok posunul
VersionPress: představení & kam se za rok posunulVersionPress: představení & kam se za rok posunul
VersionPress: představení & kam se za rok posunulBorek Bernard
 
WordPress REST API + React + TypeScript
WordPress REST API + React + TypeScriptWordPress REST API + React + TypeScript
WordPress REST API + React + TypeScriptBorek Bernard
 
WordPress, React, oh my! (DevelCZ 2016)
WordPress, React, oh my! (DevelCZ 2016)WordPress, React, oh my! (DevelCZ 2016)
WordPress, React, oh my! (DevelCZ 2016)Borek Bernard
 
React for WordPress developers
React for WordPress developersReact for WordPress developers
React for WordPress developersBorek Bernard
 
Update o VersionPressu 2.0
Update o VersionPressu 2.0Update o VersionPressu 2.0
Update o VersionPressu 2.0Borek Bernard
 

Mehr von Borek Bernard (11)

Gatsby vs. Next.js
Gatsby vs. Next.jsGatsby vs. Next.js
Gatsby vs. Next.js
 
WordPress + Gatsby
WordPress + GatsbyWordPress + Gatsby
WordPress + Gatsby
 
Git in 10 minutes (WordCamp London 2018)
Git in 10 minutes (WordCamp London 2018)Git in 10 minutes (WordCamp London 2018)
Git in 10 minutes (WordCamp London 2018)
 
Jak tu věc dostat do produkce (WordCamp Praha 2018)
Jak tu věc dostat do produkce  (WordCamp Praha 2018)Jak tu věc dostat do produkce  (WordCamp Praha 2018)
Jak tu věc dostat do produkce (WordCamp Praha 2018)
 
Git in 10 minutes (WordCamp Europe 2017)
Git in 10 minutes (WordCamp Europe 2017)Git in 10 minutes (WordCamp Europe 2017)
Git in 10 minutes (WordCamp Europe 2017)
 
VersionPress: představení & kam se za rok posunul
VersionPress: představení & kam se za rok posunulVersionPress: představení & kam se za rok posunul
VersionPress: představení & kam se za rok posunul
 
WordPress REST API + React + TypeScript
WordPress REST API + React + TypeScriptWordPress REST API + React + TypeScript
WordPress REST API + React + TypeScript
 
WordPress, React, oh my! (DevelCZ 2016)
WordPress, React, oh my! (DevelCZ 2016)WordPress, React, oh my! (DevelCZ 2016)
WordPress, React, oh my! (DevelCZ 2016)
 
React for WordPress developers
React for WordPress developersReact for WordPress developers
React for WordPress developers
 
Update o VersionPressu 2.0
Update o VersionPressu 2.0Update o VersionPressu 2.0
Update o VersionPressu 2.0
 
Markdown
MarkdownMarkdown
Markdown
 

VersionPress - jak dělat WP weby lépe

  • 1. VersionPress jak dělat WP weby lépe Borek Bernard, @borekb
  • 3. WordPress z pohledu vývojáře • Jsem v první řadě vývojář • Špatný cit pro design • Žádný CSS mág • …ale vím, jak dělat softwarové projekty • Web na WordPressu často je plnohodnotný softwarový projekt • Change management • Dělba práce mezi více členů týmu (vývoj, coding, copywriting, …) • Release management (staging vs. live prostředí) • atd.
  • 4. Tři esenciální věci pro vývojáře 1. Version control – Git, Subversion atd. 2. Oblíbený editor / IDE 3. Version control
  • 5. Vývoj dle WordPressu • Vše se děje skrze administraci • žádné IDE, žádný editor, vše se nakliká v administraci nebo v krajním případě upraví přes textareu • Změny jsou okamžité a neverzují se • obecně neexistuje způsob, jak se vrátit zpátky • Aktualizace přímo v produkci • uuuaaaaaaaaaaaaaaaaa
  • 6. => rozpor v tom, jak fungují běžné SW projekty a jak je WordPress zamýšlený Důsledky pro běžné uživatele: • Strach z aktualizací • … až jejich ignorování • WP hostingy nepodporují custom pluginy a témata vzhledu
  • 7. Můj přístup k vývoji WP webů • Soubory verzované v Gitu • Remote repository na BitBucketu • Úprava funkcionality v PhpStormu • Staging prostředí • Systém pro zálohování
  • 8. Přínosy a problémy Přínosy Problémy WordPress projekt začal připomínat standardní sw projekt, jak jsem byl zvyklý Git repozitář neobsahoval celý obraz webu – sám o sobě je bez DB k ničemu Mohl jsem používat efektivnější nástroje Změny v databázi neverzované Do produkce šly až otestované změny Merge dvou databází (test a live) stále obtížný Mohl jsem vyvíjet na více počítačích => idea udělat VersionPress
  • 10. Co je VersionPress • Standardní plugin • Snaha přinést do WordPressu praktiky z profesionálního sw vývoje • V jádru především verzování, ale dále celá řada navázaných funkcí • Cílem je funkční a pohodlný staging • V tuto chvíli prototyp
  • 11. Nosné myšlenky • Verzovat všechno, jak soubory tak databázi • Použít nějaký standardní a osvědčený VCS (Git) • Být přívětivý k power userům i běžným uživatelům
  • 12. 1. Verzování databáze • Kritický bod, kvůli kterému je VersionPress unikátní • Dvě protichůdné věci: 1. Verzování databáze je velmi těžké zrealizovat 2. Ale pokud se povede, odemyká zcela nový svět
  • 13. 2. Využití Gitu • Verzovat lze různě – např. nové tabulky a řádky v MySQL ala Wikipedia nebo WordPress posty • Vývojáři ale mají rádi standardní VCS • Zvolili jsme Git, protože: • • • • Rozšířený, univerzálně používaný Standardní sada příkazů pro práci s tímto VCS Online služby jako GitHub nebo BitBucket Široká podpora v nástrojích, velká uživatelský komunita atd.
  • 14. 3. Pro power usery i běžné uživatele • Pokud je uživatel power user a např. udělá úpravu v nějakém externím IDE, musí mít možnost commitnout změny ručně a pro VersionPress to nebude problém • Běžný uživatel vůbec nemusí vědět, co je Git nebo version control. Vše lze stále dělat skrze webové rozhraní WordPressu
  • 15. Funkce VersionPressu (1) • Automaticky verzuje každou významnou akci, ať už udělanou v administraci nebo veřejně • • • • Nový post nebo komentář -> commit Změna tématu vzhledu -> commit Instalace pluginu -> commit Update WordPressu -> commit • Možnost vrátit se k libovolné předchozí verzi • Něco jako Undo ve Wordu • Možnost vrátit pouze změny z nějaké předchozí verze • Lepší než Undo ve Wordu
  • 16. Funkce VersionPressu (2) • Vestavěná podpora pro staging prostředí • One-click vytvoření testovacího prostředí • Merge dvou prostředí – chytré sloučení změn v živé a testovací databázi • Ideální backup • Zálohována je nejen aktuální verze, ale i všechny historické • … ve velmi úsporném formátu
  • 17. Demo
  • 18. Demo • Instalace VersionPressu • Akce v administraci se samy verzují • S repozitářem lze pracovat i jinými nástroji, např. TortoiseGit • Revert k nějaké historické verzi • Undo nějaké historické verze • Naklonování WordPressu do testovacího prostředí • Úspornost pro backup
  • 20. Co je na VersionPressu unikátní • První plugin, který skutečně verzuje WP weby, ne jen vytváří statické snaphosty • Automatický merge dvou prostředí • Demokratizace verzování – člověk nemusí být softwarový vývojář, aby dokázal VersionPress a jeho výhody používat
  • 21. Aktuální stav • Prototyp / studie proveditelnosti • Chceme slyšet feedback • Čeká nás ještě hodně práce • • • • Podpora nestandardních pluginů GUI Zbavení závislosti na cmdline Gitu atd.

Hinweis der Redaktion

  1. téma vzhledu: expound