Je pro vás vhodný Liferay portál?
Již řadu let je portál Liferay oblíben jako integrační platforma extranetových či intranetových řešení. Liferay v základu nabízí několik užitečných funkcí a aplikací, na kterých lze postavit i přehledný web celé společnosti. Jde především o systém pro správu obsahu (CMS) a systém pro správu dokumentů (DMS). Vhodnost investice pro nasazení portálové platformy Liferay do firemního prostředí nejvíce závisí na potřebách provozovatele.
Pro představu o vhodnosti nasazení do vašeho prostředí je důležité se seznámit s nabízenou funkčností portálu. Základní funkce a komponenty nemusí plně vyhovovat specifickým požadavkům kladeným na váš systém a pak se nabízí otázka, jaké Liferay nabízí možnosti rozšíření nebo tvorbu vlastních komponent – tzv. pluginů.
Nabídka základních funkcí
Nejdříve se seznámíme s komponentami a funkčnostmi, které portál nabízí v základní instalaci:
Ovládací panel a správa aplikací: Pomocí aplikačního manažeru (App Manager) aktivujete/deaktivujete funkčnost standardních i vlastních pluginů. Po přihlášení do Liferay Marketplace (obdoba Google Play Store, Windows Store, Apple Store) naleznete v manažeru několik stovek pluginů, které můžete do svého portálu instalovat. Moduly lze konfigurovat pomocí jednotného rozhraní, které lze implementovat i do vlastních komponent přes Liferay API.
Autentizace a autorizace: Liferay nabízí konfiguraci několika autentizačních protokolů. Zajímavá je možnost synchronizace uživatelů vůči Active Directory a přihlášení pomocí NTLM protokolu (zde je funkčnost omezena pouze na prohlížeč Internet Explorer a navíc vyžaduje konfiguraci podporující NTLM protokol). Dále nabízí autentizaci pomocí LDAP, CAS, OpenId, SiteMinder, Open SSO a Facebook. Ve verzi Liferay EE je možné k autentizaci i autorizaci použít protokol SAML.
Uživatelé a Role: Přidělení oprávnění uživateli je ve výchozím stavu realizováno přes roli (RBAC). Jednotlivá oprávnění nelze přiřadit přímo uživateli, ale je možné vytvořit roli s požadovaným oprávněním a tuto roli přiřadit. V Liferay lze použít i jiný přístup, který umožní přiřazovat oprávnění uživateli přímo, ale toto z vlastní zkušenosti nedoporučuji, jelikož jednak ztratíte přehled a nastavení oprávnění bude při větším množství uživatelů náročnější.
Obsah: Portál rozlišuje obsah dle typu, např. webový obsah, soubory, seznamy, tagy, kategorie, blog atd. (v Liferay je označován takový objekt jako ASSET). Obsahy mohou využívat funkcionalit jako přiřazení tagů, kategorií, relace mezi obsahy (assety), workflow atd. Každému obsahu je také přiřazena sada oprávnění dle možností datového obsahu (prohlížení, editace, konfigurace…).
Organizace a Weby: Portál umožní vytvářet hierarchické skupiny pro stránky (mapa webu) a datový obsah. Skupiny mohou spravovat své členy z řad registrovaných uživatelů portálu. Lze také delegovat oprávnění administrace v hierarchii skupin apod.
Stránky: Hierarchické skupiny stránek definují mapu webu neboli sitemap. Stránkám je možné skupinově nebo individuálně přiřadit dostupné grafické téma a rozvržení stránky (1sloupcové, 2sloupcové atd.). Do rozvržení stránky můžete vložit portálové nebo vlastní aplikace a konfigurovat je přímo ve webovém prostředí stránky.
Vícejazyčnost: Téměř veškerý obsah může být uložen ve více jazykových mutacích. Jazykové mutace se týkají i tzv. friendly URL.
Vlastní atributy: Možnost specifikování nových atributů k objektům portálu (uživatelé, stránky, obsahy) bez změny datových tabulek. Nové atributy jsou při editaci daného objektu dostupné.
Šablony: Vytvořením šablon stránek nebo webů je usnadněno opakované vytváření příbuzných či podobných stránek a webů. Stránky vytvořené pomocí šablony s ní mohou být svázány – pak je jakákoliv změna v šabloně promítnuta do všech svázaných stránek.
Struktury a šablony webového obsahu: Umožní definovat strukturu dat pro webový obsah. Data ze struktury lze zobrazit dle uživatelsky definované šablony. Autor webového obsahu tak může být při publikování svého obsahu usměrněn do jednotného formátu a struktury.
Workflow: Dodávaná funkčnost workflow slouží především k procesu vytváření a schvalování obsahu, pro různé typy obsahu lze přiřadit jiná workflow.
Dynamické seznamy a formuláře: Struktury a šablony formulářů dovolí pomocí XML konfigurací vytvářet jednoduché formuláře s definovanou plochou strukturou a validací dat. Neslouží k tvorbě sofistikovaných formulářů či formulářových průvodců.
Kompletní výčet možností portálu Liferay není zdaleka u konce, ale mojí snahou bylo seznámit čtenáře alespoň s funkcemi, které pokrývají nejběžnější potřeby provozovatelů portálů.
Rozšiřitelnost Liferay
Síla portálu Liferay je v jeho možnostech rozšíření a úprav pomocí pluginů. Jejich prostřednictvím lze upravit i interní funkčnost portálu. Liferay podporuje několik typů pluginů:
Portlet plugin: Samostatná webová komponenta poskytující dynamický obsah nebo funkčnost. Jedná se o základní programové rozšíření podporované ve všech portletových kontejnerech.
Theme plugin: Ovlivňuje vzhled uživatelského rozhraní stránek v Liferay. Pomocí CSS, Velocity šablon, Javascriptu a konfiguračních XML je možné změnit celé uživatelské rozhraní. Úpravy rozhraní většinou vychází ze základních témat Liferay a vzhledem ke své komplexnosti a velké provázanosti na Liferay komponenty může být náročné upravit celé rozhraní se zachováním responsivního designu.
Layout Templates plugin: Rozšíření pro definici uspořádání portletů na stránce (2sloupcový, 3sloupcový atd.). Standardní šablony postačí pro většinu uživatelů.
Web plugin: Standardní webová Java EE aplikace běžící v samostatném kontextu. V aplikaci lze přistupovat k funkčnostem portálu pomocí programového API Liferay.
Hook plugin: Rozšíření pro úpravu interních funkcionalit Liferay. Nabízí přepsání nebo rozšíření JSP stránek, úpravu základních konfiguračních souborů, přidání vlastních akcí na definované spouštěcí akce (např.: před a po přihlášení uživatele, zpracování dotazu apod.) a přepsání služeb portálu. V novějších verzích jsou možnosti uživatelských úprav interních funkcionalit rozšiřovány.
Ext plugin: Starší typ rozšíření pro úpravu interních funkcionalit, které se používá v případech, kdy není možné použít novější Hook plugin.
Kdy je vhodné zvolit portálovou platformu Liferay
Rozhodování, zda provozovat portálovou platformu Liferay CE silně závisí na konkrétních požadavcích provozovatele a jeho plánech do budoucna. Portál lze použít jako základ všech webových aplikací či portálů, ale jeho univerzálnost a komplexnost si vyžádá vyšší pracnost při vývoji aplikací nebo při integraci do stávajícího prostředí.
V současné době portál zejména nabízí:
- Integrační aplikační a webové prostředí (intranet, extranet)
- Jednotnou správu obsahu napříč společností (CMS, DMS)
- Webové administrační prostředí
- Správu uživatelů, rolí a oprávnění
- Sofistikované nástroje, šablony a workflow pro vytváření webového obsahu
- Propojitelnost do firemního prostředí
- Uspokojivou dokumentaci (uživatelskou i programátorskou) a velkou vývojářskou komunitu
- Progresivní vývoj nových i stávajících funkcí
Pokud máte v úmyslu využít jen malou část dodávaných funkcí Liferay a většinu objemu prací tvoří vlastní nový vývoj, může tato platforma zbytečně a výrazně prodražit celý projekt. Například implementace specifického grafického vzhledu může být v Liferay i řádově náročnější než ve standardní webové aplikaci. Vzhled a funkčnost rozhraní může v Liferay kolidovat s prezentační vrstvou frameworku vyvíjené aplikace.
Naopak ideální využití portálu Liferay je jako integrační vývojové platformy pro více firemních aplikací nebo jako extranetový/intranetový portál pro předávání informací a komunikaci se zákazníky/zaměstnanci. Čím více standardních funkcí portálu správně využijete, tím více se investice do jeho nasazení vyplatí.
Jiří Stuchlík