2.1. Fejlesztőkörnyezet
Egy kényelmes fejlesztőkörnyezet kialakítása lényeges pontja egy fejlesztésnek, a JavaForum2.0 projekt az alábbi eszközökkel fejleszthető kényelmesen.
2.1.1. A projekt szerkezete
A portál kódja Maven konvenciók mentén van szervezve, így az alábbi projekt struktúrát látni az SVN repóban:
- FCKEditor: FCKEditor szülő projekt
- FCKEditor-java: FCKEditor Java kapcsolatai (TLD, Servlet, stb.)
- FCKEditor-war: FCKEditor Web tartalom (JS, HTML, stb.)
- JavaForum2.0: JavaForum2.0 szülő projekt
- JavaForum2.0-commons: Hasznos osztályok és metódusok
- JavaForum2.0-deploy: A portlet kezeléshez szükséges osztályok, amelyek belekerülnek a telepített portlet csomagokba a portlet telepítés során
- JavaForum2.0-deploy-tld: A portletek által igényelt TLD névtér és a hozzá tartozó osztályok
- JavaForum2.0-ear: EAR csomag készítése
- JavaForum2.0-ejb-bf: Business Function EJB implementációk
- JavaForum2.0-ejb-commons: Közös EJB osztályok
- JavaForum2.0-ejb-dao: DAO EJB implementációk
- JavaForum2.0-ejb-pu: Persistence Unit leíró
- JavaForum2.0-ejb-remote: WebService EJB implementációk
- JavaForum2.0-entities: Entitás osztályok
- JavaForum2.0-interfaces-bf: BF interfészek
- JavaForum2.0-interfaces-dao: DAO interfészek
- JavaForum2.0-interfaces-remote: WebService interfészek
- JavaForum2.0-jmx: JMX osztályok
- JavaForum2.0-pages: JavaForumPages osztályok
- JavaForum2.0-portal-tld: A portál TLD névtere és osztályai
- JavaForum2.0-portlets-cms: A CMS portletek
- JavaForum2.0-war: Web réteg osztályai, admin design, admin portletek
- JavaForum2.0-design-1000birka: Az 1000birka.hu design csomagja
- JavaForum2.0-design-cash: A "cash" nevű design csomag
- JavaForum2.0-design-javaforum: A javaforum.hu design csomagja
2.1.2. A build folyamata
A fejlesztéshez minimálisan szükséges egy Maven2, egy Subversion kliens és egy OpenJDK 6 (ez utóbbi helyett bármilyen OpenJDK6 kompatibilis JDK megfelel). A JavaForum2.0 tartalmát le kell töltenünk egy kiválasztott könyvtárba:
A sikeres lefutás után a home könyvtárunkban a trunk alkönyvtárban létrejön az előző fejezetben részletezett struktúra. Ennek a fordításához szükséges a Maven2 és az OpenJDK6. Első lépésként fel kell vennünk az OpenJDK telepítés helyét a környezeti változók közé, mivel a Maven2 ezt keresni fogja (Windows rendszeren ezt a "Rendszer" ablakban tudjuk megtenni):
Ezek után futtatni kell a Maven2 programot, amelynek kettő paramétert kell átadnunk:
A fordítás eredményeképp létre kell jönnie a megfelelő helyen a telepíthető EAR fájlnak:
Az EAR fájl verziószáma változhat, mindig tükrözi a fejlesztés aktuális állapotát, hiszen a /trunk mindig a kiadás előtti állapotot tükrözi, amelynek önállóan működnie kell. Ez az EAR maga a portál, elsőként ezt kell telepítenünk az alkalmazás szerverbe. A portál csak az adminisztrációs felület design elemeit tartalmazza, az egyéb - lazábban csatolt - design csomagok a trunk/JavaForum2.0-design-* könyvtárakban találhatók meg, és szintén Maven2 segítségével fordíthatóak le:
Az összes design projekt előáll, mint WAR csomag:
A projekt verziószáma szintén változhat a fejlesztés üteme szerint.
2.1.3. NetBeans, Eclipse vagy egyéb IDE
A fejlesztést nagyban megkönnyíti egy IDE használata, amely lehet bármilyen IDE, amelyik képes a Maven2 projektek megnyitására (és a Subversion kezelésére). NetBeans esetén a 6.5 óta alapból támogatott a Maven2 projekt és a Subversion, Eclipse esetén mind Maven2, mind a Subversion kezeléséhez szükséges hozzá egy-egy plugin. Egyéb IDE esetén is többnyire rendelkezésre áll a Subversion és a Maven2 támogatás.
