Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Vychází Drupal 7 s entitami a hromadou testů

Po několikaletém úsilí, díky přispění více než tisícovky vývojářů, byl 5. ledna 2011 vydán Drupal 7. Nová verze oblíbeného redakčního systému přinesla řadu novinek, které ocení jak běžní uživatelé, tak i programátoři. Přichystáno je 28 000 testů, podpora entit, přepracovaná práce se soubory a mnoho dalšího.

Tweetni to Twitter Jaggni to! Jagg Del.icio.us Delicious

Drupal 7 rozvíjí své tradičně silné stránky – flexibilitu a škálovatelnost – a přidává k nim přívětivost frontendu a administrace i pro méně technicky založené uživatele. Laicky řečeno, Drupal 7 nejenže dobře funguje, ale oproti Drupalu 6 podstatně lépe vypadá.

Požadavky a podpora databází

Drupal ve verzi 7 běží na skoro libovolném webserveru (Apache, Lighthttpd, Microsoft IIS) a vyžaduje PHP 5.2.x či PHP 5.3 (staré PHP 4 již není podporováno). Drupal 6 podporoval MySQL či PostgreSQL. Protože byla v Drupalu 7 kompletně přepsána podpora databází a Drupal nyní používá PHP PDO, je mezi podporovanými databázemi Oracle, MS SQL či SQLite (co takhle Drupal na iPhone či na CD, které pouze spustíte s jednoduchým webserverem?).

Testovací framework

Kromě důkladného uživatelského testování byl celý vývoj Drupalu 7 spojen s automatickým testováním, které poskytuje integrovaný Simpletest. Platilo jednoduché pravidlo – pokud to má být v jádře, musí to mít test. Výsledkem je vydání s 28 000 testy. Pro zajímavost, průběh všech testů na průměrném stroji trvá 30 minut a pro qa.drupal.org tuto funkcionalitu zajišťuje více než 10 strojů.

RDF

Hybatelem posledních let je sémantický web a mikroformáty. Proto Drupal 7 jako jeden z prvních CMS v jádře přidává podporu pro RDFa 1.0.

Škálovatelnost

Již v základním jádře je nyní dostupná podpora pro master/slave replikaci databází – můžete nadefinovat více přístupů k různým replikám databáze a poté určité typy SQL dotazů automaticky směrovat na Slave repliky místo zatíženého originálu. Všechny soubory (CSS, JS, přílohy) je díky first class objektům automaticky uživatelům předávat z libovolné CDN (funkcionalitu dříve zajišťoval modul CDN). Líné (lazy) sessions poté zajišťují možnost postavit před Drupal statickou cache jako např. Varnish nebo nginx – tato funkcionalita byla předtím dostupná pouze pomocí speciální verze Drupalu 6, Pressflow.

“Everything is fieldable”

Při vývoji Drupalu 7 se záhy objevil nepřeložitelný slogan “everything is fieldable”, který, uveden do praxe, má velký dopad na flexibilitu tvorby obsahu.

Drupal 6 pracoval s vlastními typy obsahu, do kterých bylo možné přidat nová tzv. pole (fields) přes populární modul Content Construction Kit – CCK. CCK tak rozšiřuje základní jednotky obsahu (v Drupalu tzv. uzly) o možnost přikládat obrázky, další texty, select boxy, checkboxy apod. (efektivně tak tvoříte formuláře pro vkládání dat).

Drupal 7 integruje podporu pro takzvané entity. Entita je cokoliv, co reprezentuje nějaký obsah, např. uzel, kategorie nebo třeba komentář. Můžete říct, že entita je jiné jméno pro uzel či komentář, ale zatímco v Drupalu 6 byly všechny dané termíny oddělené, v Drupalu 7 jsou to vždy entity, ke kterým existuje jeden interface a se všemi je možné (v kódu) dělat totéž. A protože Drupal vždy zajišťuje API pro své rozhraní, vy jako programátor si můžete definovat vlastní entity. Pro příklad – Drupal Commerce balík pro Drupal 7 integruje položky faktury jako entity.

Tím jsme se oklikou dostali k podstatě změny, která nastala v D7: pole (field) je nyní možné přidat k jakékoliv entitě. Všimněte si důležitého rozdílu – verze 6 omezovala pole pouze na uzly, nyní je možné je přidat k entitám. Jakákoliv vámi navržená pole (popisky, obrázky, kritéria pro filtrování apod.) tak můžete přidat k taxonomickým kategoriím, komentářům, uživatelům…

K výše zmíněné podpoře databází přidávají pole svou dávku nových technologií. Fields je možné ukládat do noSQL databází jako MongoDB či Cassandra. V praxi to předvedl např. Examiner.com, který běží na Drupalu 7 s MongoDB.

Práce se soubory

Drupal téměř odjakživa podporoval práci s přílohami, a to buď pomocí veřejného nebo privátního filesystemu (privátní přístup umožňoval automaticky generovat odkazy na přílohy přes speciální wrapper, který k souboru ověřil přístup). V nové verzi je podpora souborů kompletně přepsána a soubor je klasický First-class objekt (v komunitě ho nazýváme 1st class citizen) s podporou PHP stream wrapperů, pomocí kterých lze velmi jednoduše implementovat ukládání do vzdálených lokací (jako třeba Amazon S3 nebo Flickr).

Společně s first-class objektem pro soubory a Fields v jádře bylo do jádra přesunuto pole pro obrázek (dříve modul ImageField) společně s novými styly obrázků (dříve ImageCache) – rovnou z jádra můžete nahrávat obrázky k uzlům a tvořit jejich styly. Pro neznalé Drupalu je styl něco jako předpřipravené nastavení zobrazení obrázku. Představte si, že vytvoříte styl “Náhled” s velikosti 100×50 pixelů a styl “Střední” s velikosti 400×300 pixelů. Poté v galerii dáte zobrazit Náhled a po kliknutí Střední velikost. Drupal automaticky při zobrazení jakýkoliv nahraný obrázek zmenší na danou velikost – originál zůstane, zobrazí se pouze zmenšený náhled, který se uloží na systém a každé další zobrazení již použije daný soubor místo generování obrázku znovu. Kromě změn velikosti je možné dělat další změny jako oříznutí, rotaci, vodoznaky, kulaté rohy či další akce, které si můžete naprogramovat.

Příjemné a flexibilní rozhraní

Drupal 7 přichází s novou výchozí šablonou vzhledu (Bartik) i s novou administrační šablonou (Seven). V jádře je navíc připravena i šablona typu “starterkit” (Stark), na které se lze snadno naučit odvození vlastní šablony (toto nasměrování v Drupalu 6 chybělo a začátečníci často chybovali úpravou hotových šablon, namísto odvození vlastní verze). Při tvorbě šablon se kladl velký důraz na přístupnost (blíže viz http://drupal­.org/about/ac­cessibility).

Administrační rozhraní pokračuje v trendech Drupalu 6: k požadované funkci je třeba dostat se bez zbytečného klikání. Stejně jako v Drupalu 6 je maximum věcí přístupných přímo z veřejné části webu, bez nutnosti přepínat na stránku administračního panelu. Tímto způsobem je možné editovat nejen obsah, ale také bloky a menu. Kromě toho je na všech stránkách webu k dispozici administrační lišta (v D6 se musela doinstalovat). Novinkou je sekundární nástrojová lišta pro často používané cesty, kam si může uživatel přidat vlastní zkratky, a uživatelsky nastavitelný kontrolní panel, na který si lze navolit pouze vybrané bloky nástrojů.

davame_internetu_obsah
       

Render API

Standardní postup v případě Drupalu 6 bylo přetížit šablonovací funkci a vytvořit si tak vlastní HTML výstup. Odteď je vše generováno pomocí Render API, které zobrazuje jednotlivé části stránky v menších kusech a umožňuje detailnější změny.

Drupal Gardens: i lama může být zahradníkem

Kromě již zmíněného Examiner.com a dalších zajímavých webů si nenechte ujít prohlídku Drupal Gardens – tato aplikace potěší zejména neprogramátory a příznivce webů, které je možné postavit naklikáním za jeden večer. Stačí si vybrat potřebné funkce a šablonu, kterou si v grafickém rozhraní můžete nastavit, upravit barvy, rozložení prvků, fonty písma i další vizuální vlastnosti (de facto tak můžete vytvořit zcela vlastní vzhled včetně zakomponování vašich obrázků). Pokud časem budete chtít vytvořit podobnou stránku, nemusíte začínat znovu, ale můžete své dílo pouze zduplikovat (3 kliknutí myší včetně rozbalení nabídky možností) a pozměnit dle potřeby. Kdybyste časem zjistili, že by vašemu webu slušel programátorský zásah na míru, můžete na svou práci plynule navázat, se zachováním všech dat (export je ale náročnější – i s uložením do počítače 4 kliknutí :-)). Na rozdíl od řady jiných aplikací, kde lze také vytvořit “rychlý” web, zde máte plnou kontrolu nad tím, co jste vytvořili, a můžete své dílo bez ztráty přenést do jiného prostředí a dále vyvíjet.

Užitečné odkazy a Drupal 7 v akci

Školení: Hackujeme operační systém Android

 

Školení vám ukáže, jak se dostat k Linuxu (tzv. "rootování"), který se pod hezkou tváří Androida skrývá a jak ho naplno využít. Pomůže vám to při záloze dat, zvětšování prostoru pro aplikace nebo sdílení připojení k internetu a pokud chcete z telefonu dostat opravdové maximum, ukážeme vám, jak v něm vyměnit kompletní systém za lepší.

Podrobnější informace a přihláška

Ohodnoťte jako ve škole:
Průměrná známka 1,80

Přehled názorů

pokazene odkazy
fsdfgadgfd 6. 1. 2011 02:06
Nový
└ 
Re: pokazene odkazy
Adam Štrauch 6. 1. 2011 11:54
Nový
Re: Vychází Drupal 7 s entitami a hromadou testů
david ponist 6. 1. 2011 02:06
Nový
Re: Vychází Drupal 7 s entitami a hromadou testů
kecinzer 6. 1. 2011 11:18
Nový
└ 
Re: Vychází Drupal 7 s entitami a hromadou testů
Jakub Suchý 6. 1. 2011 14:28
Nový
podporovaný verze PHP
jos 6. 1. 2011 13:10
Nový
└ 
Re: podporovaný verze PHP
Jakub Suchý 6. 1. 2011 14:26
Nový
 
└ 
Re: podporovaný verze PHP
jos 6. 1. 2011 15:29
Nový
 
 
└ 
Re: podporovaný verze PHP
jlx 6. 1. 2011 16:16
Nový
 
 
 
└ 
Re: podporovaný verze PHP
jos 6. 1. 2011 16:47
Nový
 
 
 
 
├ 
Re: podporovaný verze PHP
Jakub Suchý 6. 1. 2011 17:01
Nový
 
 
 
 
│
└ 
Re: podporovaný verze PHP
jos 6. 1. 2011 17:12
Nový
 
 
 
 
│
 
├ 
Re: podporovaný verze PHP
vlastik 6. 1. 2011 22:29
Nový
 
 
 
 
│
 
│
└ 
Re: podporovaný verze PHP
jos 7. 1. 2011 12:06
Nový
 
 
 
 
│
 
└ 
Re: podporovaný verze PHP
caracho 7. 1. 2011 09:12
Nový
 
 
 
 
│
 
 
└ 
Re: podporovaný verze PHP
jos 7. 1. 2011 12:07
Nový
 
 
 
 
└ 
Re: podporovaný verze PHP
Hugo 7. 1. 2011 12:12
Nový
 
 
 
 
 
└ 
Re: podporovaný verze PHP
jos 7. 1. 2011 13:43
Nový
....
Smokie 6. 1. 2011 15:04
Nový
├ 
Re: .... este ze tak, chyba je v clanku
Smokie 6. 1. 2011 15:11
Nový
├ 
Re: ....
tondalevhart 6. 1. 2011 15:30
Nový
└ 
Re: ....
tondalevhart 6. 1. 2011 15:36
Nový
 
└ 
Re: ....
siva01c 7. 1. 2011 21:07
Nový
 
 
└ 
Re: ....
aaa 8. 1. 2011 09:42
Nový
 
 
 
└ 
Re: ....
Smokie 8. 1. 2011 18:19
Nový
 
 
 
 
└ 
Re: ....
Jakub Suchý 9. 1. 2011 13:55
Nový
 
 
 
 
 
└ 
Re: ....
Smokie 9. 1. 2011 22:27
Nový
Re: Vychází Drupal 7 s entitami a hromadou testů
fred 7. 1. 2011 10:58
Nový
└ 
Re: Vychází Drupal 7 s entitami a hromadou testů
pexxi 7. 1. 2011 14:32
Nový
 
├ 
Re: Vychází Drupal 7 s entitami a hromadou testů
Jakub Suchý 7. 1. 2011 17:36
Nový
 
└ 
Re: Vychází Drupal 7 s entitami a hromadou testů
Vojta 9. 1. 2011 01:04
Nový
       

Tento text je již více než dva měsíce starý. Chcete-li na něj reagovat v diskusi, pravděpodobně vám již nikdo neodpoví. Pro řešení aktuálních problémů doporučujeme využít naše diskusní fórum.

Zasílat nově přidané příspěvky e-mailem