+ All Categories
Home > Technology > VersionPress - jak dělat WP weby lépe

VersionPress - jak dělat WP weby lépe

Date post: 05-Dec-2014
Category:
Upload: borek-bernard
View: 655 times
Download: 0 times
Share this document with a friend
Description:
Prezentace z konference WordCamp Praha 2014. První veřejné představení VersionPressu.
22
VersionPress jak dělat WP weby lépe Borek Bernard, @borekb
Transcript
Page 1: VersionPress - jak dělat WP weby lépe

VersionPressjak dělat WP weby lépeBorek Bernard, @borekb

Page 2: VersionPress - jak dělat WP weby lépe

Story

Page 3: VersionPress - jak dělat WP weby lépe

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.

Page 4: VersionPress - jak dělat WP weby lépe

Tři esenciální věci pro vývojáře1. Version control – Git, Subversion atd.2. Oblíbený editor / IDE3. Version control

Page 5: VersionPress - jak dělat WP weby lépe

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

Page 6: VersionPress - jak dělat WP weby lépe

=> 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

Page 7: VersionPress - jak dělat WP weby lépe

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í

Page 8: VersionPress - jak dělat WP weby lépe

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

Page 9: VersionPress - jak dělat WP weby lépe

VersionPress

Page 10: VersionPress - jak dělat WP weby lépe

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

Page 11: VersionPress - jak dělat WP weby lépe

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

Page 12: VersionPress - jak dělat WP weby lépe

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é zrealizovat2. Ale pokud se povede, odemyká zcela nový svět

Page 13: VersionPress - jak dělat WP weby lépe

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.

Page 14: VersionPress - jak dělat WP weby lépe

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

Page 15: VersionPress - jak dělat WP weby lépe

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

Page 16: VersionPress - jak dělat WP weby lépe

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

Page 17: VersionPress - jak dělat WP weby lépe

Demo

Page 18: VersionPress - jak dělat WP weby lépe

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

Page 19: VersionPress - jak dělat WP weby lépe

Shrnutí

Page 20: VersionPress - jak dělat WP weby lépe

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

Page 21: VersionPress - jak dělat WP weby lépe

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.

Page 22: VersionPress - jak dělat WP weby lépe

Sledujte @versionpress

nebo FB/VersionPress


Recommended