Opencms modul fejlesztés Krizsán Zoltán
Modulok fajtái Nincs előírás, csak tipikus tennivalók: –Content type: új típus(oka)t vezet be. –Template: új sablont hoz létre, új megjelenítés, általában függ az előzőtől –Content: site részei –Extension: osztályok, jar-ok új szolgáltatások –Integration: külső rendszerek integrálása –Admin: Adminisztátor használhatja, speciális felületen.
Modulok kezelése
Module létrehozása
Kérés kiszolgálás HA JSP! 1.Az Opencms szervlet kimásolja a /WEB-INF/jsp alá a kért jsp fájl, ami VFS-en van. –Itt a megfelelő helyre teszi online vagy offline (az offline csak bejelentkezett böngésző ablakából) –Az előző jegyzékben a fájl a VFS utvonalával szerepel, és ha nem jsp volt a kiterjesztés, hozzáfűződik –/index.jsp -> /WEB-INF/jsp/online/index.jsp.jsp –Előfeldolgozza a fájlokat, a benne szereplő hivatkozásokat átírja – és Meghívja a requestDispatcher("{file.jsp}").include() metódust, ezek után normál szervlet konténer jön létre
Programozás lehetőségei: Taglib –Gyakran használt objektumokra –Html kódba illeszthető, nem kell – Scriplet API – környezet –Osztályok halmaza, példányosítás, használat –Első lépésként a org.opencms.jsp.CmsJspActionElement egy példánya kell! Opencms Bean –
Opencms taglib
Scriplet – fontosabb osztályok CmsJspActionElement bean, amivel tudunk kapcsolódni a rendszerhez CmsObject Ellenőrzött módon érhetjük el a rendszert userként OpenCms –alacsonyszintű hozzáférés a rendszerhez, pl.: loggolás, memória monitor, –Szingleton –Statikus függvények
CmsJspActionElement osztály Üres konstruktor csak azért van, mert kell, ne használjuk. Másik paraméter az explicit objektumokat várja, mindig: pageContext, request, response editable – beilleszti direkt szerkesztési lehetőséget getContent – sztringbe betölti a kívánt erőforrást getMessages include link – átfordítja a belső utat külsőre relatívból abszolult label – visszaadja a megfelelő nyelvű feliratát az azonosítónak properties, property – összes tulajdonság, bizonyos tulajdonság Template – visszaadja, hogy az elem aktív e User – felhasználó szintű tulajdonság értékét adja vissza.
CmsObject osztály
Scriptlets import="org.opencms.jsp.CmsJspActionElement“ %> <% CmsJspActionElement jsp = new CmsJspActionElement(pageContext, request, response); CmsObject cms = jsp.getCmsObject(); //... do something useful %>
Read property <% boolean search = false; CmsProperty prop = cms.readPropertyObject("/sites/mysite/ my_path/file.ext", "prop_name", search); String propValue = (prop != null) ? prop.getValue() : null; %>
Ajánlott linkek