Kentico: české CMS pro ASP.NET vyladěné na maximum

V Česku vzniká mnoho zajímavých softwarových projektů a mezi nimi je bezesporu na předních příčkách úspěšnosti systém pro správu obsahu Kentico. Pokud hledáte CMS pro ASP.NET s maximálním komfortem pro vývojáře i uživatele, zaměřte se na něj. V článku se dotkneme i jeho historie.

Reklama

Pro platformu ASP.NET existuje řada systémů pro správu obsahu, podobně jako pro PHP. Problémem ASP.NET je skutečnost, že většina zde dostupných CMS jsou uzavřené projekty, které uživatel nebo vývojář nemá moc šanci upravit a kupuje je v podstatě jako hotový balík. Ber nebo nechej být.

Pro vývojáře zvyklé pracovat třeba s PHP nebo Joomlou to může být dosti nepohodlné. I když, výjimky se najdou. Ze zcela otevřených mohu jmenovat jednoduchý BlogEngine.NET s docela dobrou dokumentací a možnostmi rozšiřování. Máme tu také dobře známý těžší kalibr DotNetNuke, se základní verzí zdarma a množstvím placených doplňků, pomocí kterých jej dovedete do použitelného stavu.

Jako vývojář pracující převážně s Drupalem jsem na platformě ASP.NET hledal CMS spojující desktopově vypadající uživatelské prostředí, tolik typické pro tuto platformu, s perfektní použitelností a otevřeností pro případná rozšiřování tak, jak je to možné v Drupalu. Jestli mohu říci, že takovému požadavku něco stoprocentně vyhovuje, pak je to Kentico.

Kentico může na první pohled působit jako zbytečně robustní systém určený jen pro korporátní weby. Když mu ale dáte šanci, zjistíte, jak je neuvěřitelně flexibilní, přestože (nebo právě protože?) nejde o open source projekt a zdrojový kód je ve většině licencí nabízen jen pro administrační část.

Rozhovor nejen o historii Kentica

Začátkem prosince jsem se vydal do brněnských kanceláří, kde má Kentico sídlo. Světově uznávané CMS vzniká v Brně, kde v celém jednom patře na 1000 m2 sedí vývojáři, technická podpora i marketingové oddělení. Všemu šéfuje Petr Palas, který Kentico před několika lety sám vymyslel. Při našem setkání jsem mu položil několik otázek týkajících se nejen historie tohoto CMS.

Petr Palas
Petr Palas, CEO Kentico Software

Kdy vzniklo Kentico CMS a co bylo impulzem?

První verzi Kentica jsem začal psát někdy v roce 2004, kdy jediné použitelné CMS pro platformu ASP.NET byl v podstatě jen DotNetNuke. Viděl jsem mnoho jeho nedostatků spočívajících především v tom, že základ není co do funkčnosti moc bohatý a sestavení webu na jeho základě si tak vyžaduje mnoho dalších doplňků od různých dodavatelů, případně hodně času programátora. Kentico jsem chtěl napsat jako unifikovaný systém s maximální přívětivostí pro uživatele i vývojáře, ve kterém jsou všechny potřebné věci už v základu.

Proč jste se rozhodl pro ASP.NET a nikoli pro PHP?

Ta volba byla jasná a daná tím, že jsem před tím, než jsem se začal plně věnovat Kenticu, pracoval jako vývojář pro .NET Framework.

Kolik lidí se v současné době na tomto projektu podílí?

Firma Kentico Software vznikla v roce 2004 a v současné době tvoří její tým 67 lidí, z toho sedm v USA a jednoho člověka máme ve Velké Británii. Zbytek sedí tu v Brně. Samotným vývojem se zabývá čtyřicítka lidí, 25 vývojářů je rozděleno do šesti týmů, dále tu máme testery.

Na implementaci se samozřejmě podílí také naše síť partnerů na různých úrovních. Přes 1200 firem po celém světě tedy nabízí Kentico svým zákazníkům, kteří jsou ve finále těmi, kdo s ním denně pracují. My, jako Kentico Software poskytujeme technickou podporu, přímo ale weby nestavíme.

Odkud rekrutujete nové posily do svého týmu?

Osvědčila se nám praxe, kdy nabízíme brigády studentům, přičemž většina z těch, které si pro spolupráci vybereme s námi po dokončení studií zůstává natrvalo.

V jakém programovacím jazyku Kentico vytváříte?

Původní verzi jsem vytvářel ve VB.NET, ta aktuální je psaná v C#. Převod probíhal postupně, využívali jsme některé nástroje pro automatizovaný převod kódu mezi oběma jazyky, ale ve finále stejně řada věcí automaticky převést nešla a museli jsme je přepsat od začátku.

Pan Palas mě vzal také na prohlídku kanceláří Kentico Software. Příjemně vypadající prostředí působilo profesionálně, ale zároveň přátelsky. Firemní recepce je spojena se soukromou kavárnou, mezi prosklenými kancelářemi se spouštěcími žaluziemi je pro volné chvíle připraven fotbálek, v jiném volném koutku nechybí televizor a prostor pro relaxaci.

kanceláře Kentico Software kanceláře Kentico Software kanceláře Kentico Software

Nevidím zde žádný openspace, tolik typický pro současné firmy…

Ne, ten skutečně nemáme. Všichni jsme se tu shodli na tom, že jeden velký otevřený prostor byl nebyl nejlepším řešením pro produktivní práci. Kanceláře máme rozděleny tak, že v každé sedí jeden vývojový tým, což je okolo sedmi lidí. Mohou se tak soustředit na svůj konkrétní úkol. Máme tu samozřejmě i interní školicí místnost, kde se mohou všichni sejít, je-li potřeba.

Kdo je typickým uživatelem Kentica?

Kentico cílí na střední až velké firmy, které požadují stabilní systém pro správu obsahu, jistotu případných oprav a bezpečnostních záplat. Nabízíme několik licencí v závislosti na požadovaných funkcích, nebo počtu domén, které má Kentico obsluhovat (z jedné instalace lze obhospodařovat více webů, pozn. JP).

Najdete nás také na větších webech, kde je požadována maximální stabilita a dostupnost. Většinu klientů máme v zahraničí, především v USA, kde je trh pro platformu ASP.NET neporovnatelně větší, než třeba u nás. Proto jsme také založili pobočku v USA.

Z mnoha webů, které běží na Kenticu mohu jmenovat například www.discoverireland.ie, což je oficiální web irské Národní agentury pro turistický rozvoj. Kentico využívá také Microsoft, Sony, McDonald nebo výrobce hudebních nástrojů Gibson, který je jedním z našich prvních klientů. Kentico používá také síť realitních kanceláří Bayleys, která využívá možnosti správy různých webů z jednoho místa. Stovky domén tedy obsluhuje jedna instalace Kentica, jednotlivý makléři mají přístup jen do svých webů a nad tím vším bdí společní administrátoři.

Jak si Kentico vede v České republice?

V České republice používá Kentico například Portál Ministerstva pro místní rozvoj, pojišťovna AXA, Konto Bariéry a další.

Slyšel jsem o vaší ekologické iniciativě související a opravami chyb v Kenticu…

Ano, naším cílem je nabízet opravy objevených chyb maximálně do sedmi dnů. Za každý nahlášený problém pak vysazujeme nový strom, který může klient někomu věnovat. Dokonce máme fanoušky, kteří hledají chyby a nedokonalosti už jen z tohoto důvodu.

Uživatelům Kentica nabízíte jeho zdrojový kód. Jak je to s uzavřeností nebo otevřeností Kentica?

Pokud zákazník potřebuje být ujištěn, že v případě jakýchkoli problémů s Kentico Software bude schopen svůj web i nadále udržovat, může využít naši speciální licence, která je k dispozici včetně zdrojového kódu celé aplikace. Všechny licence jsou nabízeny se zdrojovým kódem administračního rozhraní již zahrnutým v ceně, takže si jej můžete přizpůsobit podle svých představ nebo upravit dle potřeb koncového uživatele.

Nijak neomezujeme klienty v tom, na jakém řešení jejich web poběží, s výjimkou podpory ASP.NET samozřejmě. Kentico může stejně dobře běhat jako on premise řešení (na vlastním serveru provozovatele nebo hostingu, pozn. JP), tak v cloudu, kdy podporujeme cloud od Amazonu nebo Windows Azure, a to jak pro samotný běh aplikace, tak pro ukládání dat v souborovém úložišti nebo v databázi.

Jaký je váš osobní pohled na open source, kdy jsou zdrojové kódy produktů dostupné komukoli bez omezení?

I když jsme tvůrci komerčního softwaru, tak open source nijak nezatracuji - dokonce my sami používáme různé open source knihovny. Vždy je potřeba zvážit konkrétní situaci a vybrat systém, který vám bude vyhovovat nyní, ale i za několik let. Myslím, že hlavním tahákem open source CMS systémů je to, že jsou zdarma a lze k nim stáhnout či dokoupit různé doplňkové moduly. To že je k nim zdrojový kód, většina lidí ve skutečnosti nijak nevyužije - už jenom proto, že úpravami standardního kódu si zaděláváte na problémy při upgradu nebo při instalaci doplňkových modulů.

Zajímavý je pak pohled na celkové náklady na open source - pokud totiž budete chtít například garantovanou technickou podporu od výrobce, snadno za ni zaplatíte více než za náš produkt včetně podpory. Stejně tak je to s různými doplňky - snadno se vám může stát, že některý z nich nebude fungovat s poslední verzí open source CMS, takže ho budete muset pracně nahradit jiným podobným doplňkem, převést do něj data, apod.

Na začátku jste zmínil problémy při upgradech konkurenčních CMS. Jak je řeší Kentico?

Kentico se snaží jít cestou nabídky maxima funkcí v základu, který lze dále rozšiřovat vašimi vlastními widgety a webovými komponentami. Jako příklad bych uvedl, že přímo v administraci si kdokoli může nadefinovat další pole formulářů, které se používají pro vkládání obsahu. Aktualizace Kentica na to pamatují a jsou tvořeny s ohledem na tuto skutečnost. Udržujeme zpětnou kompatibilitu a dovedeme si poradit s případným konfliktem mezi ručně přidanými poli a tím, co nabízí nová verze Kentica ve svém základu.

Prozradíte na závěr nějaké novinky, se kterými počítáte do dalších verzí Kentico CMS?

Nedávno jsme uvedli Kentico CMS 6 s mnoha novými vylepšeními a především Kentico Enterprise Marketing Solution (EMS), které nabízí marketingovým pracovníkům plně integrované a snadno dostupné informace o uživatelích a jejich chování na webu. Máme nástroje pro vyhodnocování úspěšnosti kampaní, A/B a multivarientní testování, e-mailový marketing či pro automatickou segmentaci a perzonalizaci. Pro vývojáře jsme připravili náš vlastní programovací jazyk K#, což je takový zjednodušený C#, pomocí kterého je možné přizpůsobovat standardní funkce Kentica bez zásahu do našeho kódu.

Tyto novinky budeme samozřejmě v dalších verzích vylepšovat. Plánujeme také například vylepšení e-shopové části, ve které nabídneme pokročilejší možnosti nastavení - např. umožníme zadavateli se rozhodnout, zda bude vkládat cenu bez nebo včetně daně a dalších poplatků (DPH nebo poplatek za odpad, pozn. JP). U zadávání článků časem doplníme automatické ukládání, zřejmě s využitím HTML5.

Děkuji za rozhovor.

Kentico z pohledu manažera a zadavatele - co všechno umí?

V několika posledních dnech jsem se pod dojmem  získaných informací a názorných ukázek použití Kentica v praxi tento systém zkoušel a hrál si s ním. Můj názor na Kentico tedy vychází jen z tohoto základu. Každopádně není pochyb, že Kentico je maximálně uživatelsky přívětivé jak po stránce administrace jednotlivých webů, které spravuje pomocí části Site Manager, tak po stránce práce s obsahem v části CMS Desk.

Kentico CMS Kentico CMS Kentico CMS Kentico CMS Kentico CMS Kentico CMS Kentico CMS Kentico CMS Kentico CMS Kentico CMS Kentico CMS

U CMS běžících na ASP.NET mám zafixováno, že vlevo je vždy nějaká stromová struktura s obsahem, vpravo pak různé  další prvky a prostředí pro úpravu vybraného obsahu. Celé to připomíná desktopovou aplikaci běžící ve Windows. Ovšem u Kentica to není jen na oko, ta administrace je skutečně výborná. Vytvoření nového webu pomocí průvodce je otázkou několika klepnutí. Navíc se v obsahu nemusíte pohybovat jen ve stromové struktuře, to by skutečně u rozsáhlých webů nebylo praktické. Nechybí tedy seznamy, filtrování a řazení.

Při práci s obsahem oceňuji systém šablon umožňující rychle vytvořit potřebné rozvržení stránky na základě toho, co mi nadefinoval administrátor. Úprava obsahu probíhá samozřejmě ve vizuálním editoru (Kentico používá CKeditor). Na stránky lze umisťovat nejrůznější komponenty z široké nabídky připravených „součástek”.

Kentico z pohledu vývojáře

Jakožto Drupalista jsem na Kentico zpočátku nekoukal příliš důvěřivě. Drupal má výhodu v maximální otevřenosti co se týče rozšiřování. Nadefinovat si nový formulář pro vkládání obsahu s vybranými formulářovými prvky, jiný formulář pro sběr dat, vytvořit si nějaké slideshow to vše je tu možné docela dobře přímo z administrace. Navíc s využitím Drupal API lze vytvářet vlastní moduly a navěšovat některé jejich funkce na události, které v Drupalu a jeho administraci probíhají.

Proto jsem byl zvědav, co mi může v tomto směru nabídnout Kentico, které zpřístupňuje zdrojový kód až v licenci s poměrně vysokým poplatkem, nebo rozhodně ne takovým, že by na něj cenově dosáhl kterýkoli z projektů, jaké jsem doposud realizoval. A byl jsem příjemně překvapen.

Programátorské rozhraní Kentica je hodně široké, nabízí možnost pověsit další funkce na různé situace a změny stavů. Co je nejlepší, ty nejčastější úpravy, které se dělají v Drupalu například pro vkládání nějakého specializovaného typu obsahu, pro různé výpisy a podobné, jdou v Kenticu nastavit v komfortní administraci a v podstatě není potřeba po jejich vytvoření nijak dále řešit vzhled nově vytvořených prvků v administraci. Vše krásně zapadne.

Psát nové komponenty v K# jsem nezkoušel, ale sama ta myšlenka se mi zdá velmi dobrá. Zkrátka Kentico vidím z pohledu rozšiřitelnosti jako takový Drupal pro ASP.NET. S tím dodatkem, že Drupal je mnohem větší skládačka, s klady i zápory, které to přináší.

Abych nezapomněl, Kentico CMS je možné použít i na intranet s podporou WebDAV. Pokud tedy budete otevírat nějaký dokument z intranetu, stáhnete si jej do příslušné aplikace (například Word nebo Excel) a po úpravě se dokument automaticky přenese z lokálního počítače zpátky na úložiště WebDAV. Pro firmy s méně technicky zdatnou obsluhou je to ideální, nehledě na to, že je to velmi pohodlné.

Zadarmo s omezením, placená verze odpovídá vlastnostem produktu

Kentico je v prvé řadě placený produkt, který zřejmě nikdy nebude cílit na jednotlivce a malé firmy, které si chtějí postavit své webové stránky. Jeho cena začínající v základu na 1999 USD ovšem odpovídá schopnostem tohoto produktu. Je drahý? Otázka by spíše měla znít, zda má tuto hodnotu pro cílového zákazníka. Odpověď bych viděl jednoduše v tom, že záleží na velikosti webu. Od určité fáze se už nevyplatí investovat do projektů, které jsou zcela zdarma a nějaká firma vám na nich postaví web. Dotáhnout je do robustnosti Kentica pak může vyjít mnohem dráž, než Kentico samotné. Nehledě na další rozšiřování.

Dobrou zprávu mám však pro ty z vás, kdo se rozhodli Kentico vyzkoušet a chtěli by jej použít na svém webu. Máte-li opravdu jednoduché stránky, měla by vám stačit základní zdarma dostupná verze, která je k dispozici s omezením na 1000 stránek nebo dokumentů, sto registrovaných uživatelů webu, jednoho admina, jednoho editora a vyžaduje logo nebo textový odkaz na Kentico v patičce webu. Pro malý web, kam se neregistrují další uživatelé to myslím úplně stačí.

Zdarma dostupnou verzi najdete na webu Kentica, viz přehled edicí, případně si ji můžete nainstalovat na lokální počítač s využitím nástroje WebMatrix. Pozor, zde se nachází zatím starší Kentico 5.5, nikoli aktuální šestá verze.

Volná místa v IT

Další pracovní místa najdete na stránce Volná pracovní místa v IT.

Reklama

Komentáře

Díky za skvělý článek! Jen doplním, že Kentico verze 6 pro WebMatrix je již ve schvalovací fázi, taže myslím můžeme slíbit od poloviny prosince 2011. Nejaktuálnější verzi ke stažení (trial), případně u nás hostovaný trial najdete vždy na: http://www.kentico.com/Download-Demo