Hlavní menu
Nástroje |
WebKiv.OpenCmsBestPractices HistoryHide minor edits - Show changes to output 30 June 2009, 09:18
by
- Added lines 37-41:
---- Zpět na FrameworkyProWebKiv 29 June 2009, 20:48
by
- Added lines 1-36:
!! Během vývoje pro [=OpenCms=] byla sesbíráná následující množina Best Practices !!! Logujte hodně a do samostatných souborů [=OpenCms=] dává k dispozici silný nástroj v podobě [=Log4J=]. Tento nástroj se dá použít k logování do standardního logu celého [=OpenCms=], to je však pro vývoj vlastních modulů velice nepraktické. Lepší je tedy určitě logovat do svého samostného souboru. Návod na to: [[OpenCmsLogovaniJednotlivychModulu|Jak vytvorit logovaci soubor pro jednotlive moduly do opencms]]. !!!Nejdříve vytvořte třídy, nahrajte je na [=OpenCms=] a až poté měňte xml konfigurační soubory Problém se týká toho, že pokud definuji nějaké beany v konfiguračních souborech bez toho, abych si je před tím jako javovské třídy vytvořit, zkopíroval na [=OpenCms=] a publikoval, dojde k tomu, že [=OpenCms=] nahlásí při startu chybu [@ClassNotFoundException@] a nespustí se – nemá žádnou možnost, jak zjistit, že tyto třídy existují. Z tohoto důvodu je vždy potřeba nejprve vytvořit třídy, zkopírovat je na [=OpenCms=], publikovat a až poté je možní měnit konfigurační soubory [=OpenCms=] a restartovat Tomcat. !!! Moduly vytvářejte v [=OpenCms=] Ačkoliv nabízí plugin do Eclipse také možnost toho, vytvořit modul již v Eclipse a poté jej nakopírovat do [=OpenCms=], je více osvědčeným způsobem vytvořit si modul v [=OpenCms=], ten si do Eclipse pomocí tohoto pluginu stáhnout a zde editovat. Pro opětovné nakopírování na [=OpenCms=] se také více osvědčila možnost pouhého Copy to [=OpenCms=] Server – přímé publikování z Eclipse není na sto procent spolehlivé. !!! První import modulu do Eclipse Poté, co v [=OpenCms=] vytvoříte modul, je potřeba počítat s tím, že Eclipse module developer načítá seznam modulů z [=OpenCms=] jen jednou. To znamená, že se musíte držet následujícího pořadí: 1. Vytvořit modul v [=OpenCms=] 2. Publikovat modul v [=OpenCms=] 3. Použít Eclipse průvodce pro vytváření – import modulu z [=OpenCms=] do Eclipse Pokud se Vámi vytvořený modul neobjeví ve seznamu nabízených modulů z [=OpenCms=] je potřeba zkontrolovat, zda je pagin nastaven na správnou instanci [=OpenCms=] (pokud jich máte současně nainstalováno více) a eventuelně restartovat Eclipse. !!! Přenos vývoje mezi více instancemi [=OpenCms=] Pokud budete vyvíjet modul na jednom počítači v jednom prostředí a poté budete vývoj přenášet například ke kolegovi, na jiný počítač je zapotřebí mít na paměti následující: Pokud se jedná o modul, který na druhém [=OpenCms=] zatím vůbec neexistuje, není možné jej na toto [=OpenCms=] z Eclipse nakopírovat!!! Pouhé použití funkce Copy to [=OpenCms=] Server v Eclipse nestačí! Je nutné si na originálním [=OpenCms=] modul vyexportovat: Administration View – Module Management – VYBRAT MODUL – Export Module. Toto vytvoří jednoduchý zip soubor v adresáři: [@OPENCMS_HOME\WEB-INF\packages\modules @]. Tento soubor se jmenuje stejně jako modul: cz.zcu.kiv.XXXX. Takto vyexportovaný modul je poté potřeba na druhé [=OpenCms=] neimportovat: Administration View – Module Management – Import module with http. V otevřeném dialogovém okně jednoduše zadáte cestu k souboru s modulem a potvrdíte. Modul se naimpotuje a publikuje (neuškodí, pokud publikování ještě manuálně zkontrolujete). Poté je již možné z eclipse tento modul na tomto [=OpenCms=] standardním způsobem kopírovat. Tento bod je zvláště důležitý také proto, že [=OpenCms=] všechny třídy, které si ve svých modulech vytvoříte, kopíruje do adresáře [@OPENCMS_HOME/WEB-INF/classes@] (jak je standardně od Java EE aplikace očekáváno) a zde jsou také Springem hledány (kde jinde než na classpath... ) A pokud [=OpenCms=] interně modul nevytvoří, neprovádí ani tuto činnost a Spring poté může hlásit chyby, protože své třídy prostě nenajde. !!! V Eclipse projektu nepoužívejte xml soubory Pokud ve vašem projektu v Eclipse použijete nějaký xml soubor, nebude možné tento projekt - modul na [=OpenCms=] nakopírovat. Je to z toho důvodu, že [=OpenCms=] potřebuje ke všem xml souborům jejich xsd. Uvedené omezení lze například vyřešit tak, že soubor [@XXX.xml@] přejmenujete na [@XXX.cnf@]. Platí , pokud chcete ve vašem modulu mít např. další konfigurační soubor Springu. !!!Tip pro urychlení práce Pokud vyvíjíte modul cz.zcu.kiv.XXX, je možné nastavit [=OpenCms=] tak, aby po startu automaticky ukazovalo na tento modul – nemusíte se poté zdlouhavě proklikávat několika adresářem: V hlavním okně zvolte Preferences a zde si dle svého přání nastavte hodnotu pole Start with folder . 29 June 2009, 20:20
by
- Deleted lines 0-20:
!Odkazy na zajimave stranky *JSP Tag Libraries - pro renderovani vystupu na jsp strance **Prehled OpenSource Java taglib: http://java-source.net/open-source/jsp-tag-libraries **Displaytag pro generovani tabulek: http://displaytag.sourceforge.net/1.2/ **Jakarte Taglibs: http://jakarta.apache.org/taglibs/ *Spring MVC **Knizka ''Spring In Action'' **Spring Reference Documentation, Kapitola 13 - Web MVC Framework http://static.springframework.org/spring/docs/2.5.x/reference/mvc.html **Spring Reference Documentation, Kapitola 14 - View technologies http://static.springframework.org/spring/docs/2.5.x/reference/view.html **Eventuelne kapitola 15 - Integrating with other web frameworks http://static.springframework.org/spring/docs/2.5.x/reference/web-integration.html ** Prehled Spring Forms Tagliby - spring-form.tld http://static.springframework.org/spring/docs/2.5.x/reference/spring-form.tld.html *Spring Web Flow **Reference Manual - http://static.springframework.org/spring-webflow/docs/2.0.x/reference/html/index.html **API - http://static.springframework.org/spring-webflow/docs/2.0.x/javadoc-api/index.html **Reference Application - http://richweb.springframework.org/swf-booking-faces * Eclipse Sysdeo Tomcat Pluin - http://www.eclipsetotale.com/tomcatPlugin.html * OpenCms Module Developer - http://www.redstardevelopment.nl/opencms/opencms/en/opencms/plugin/ **Flash prezentace: http://www.redstardevelopment.nl/opencms/opencms/en/opencms/plugin/userinstructions.html 29 June 2009, 20:19
by
- Added lines 1-21:
!Odkazy na zajimave stranky *JSP Tag Libraries - pro renderovani vystupu na jsp strance **Prehled OpenSource Java taglib: http://java-source.net/open-source/jsp-tag-libraries **Displaytag pro generovani tabulek: http://displaytag.sourceforge.net/1.2/ **Jakarte Taglibs: http://jakarta.apache.org/taglibs/ *Spring MVC **Knizka ''Spring In Action'' **Spring Reference Documentation, Kapitola 13 - Web MVC Framework http://static.springframework.org/spring/docs/2.5.x/reference/mvc.html **Spring Reference Documentation, Kapitola 14 - View technologies http://static.springframework.org/spring/docs/2.5.x/reference/view.html **Eventuelne kapitola 15 - Integrating with other web frameworks http://static.springframework.org/spring/docs/2.5.x/reference/web-integration.html ** Prehled Spring Forms Tagliby - spring-form.tld http://static.springframework.org/spring/docs/2.5.x/reference/spring-form.tld.html *Spring Web Flow **Reference Manual - http://static.springframework.org/spring-webflow/docs/2.0.x/reference/html/index.html **API - http://static.springframework.org/spring-webflow/docs/2.0.x/javadoc-api/index.html **Reference Application - http://richweb.springframework.org/swf-booking-faces * Eclipse Sysdeo Tomcat Pluin - http://www.eclipsetotale.com/tomcatPlugin.html * OpenCms Module Developer - http://www.redstardevelopment.nl/opencms/opencms/en/opencms/plugin/ **Flash prezentace: http://www.redstardevelopment.nl/opencms/opencms/en/opencms/plugin/userinstructions.html |