
Fejlesztőknek > NFW (NetGRAL FrameWork)
Az NFW egy web alapú keretrendszer, mely lehetővé teszi a különböző adatforrások integrálását, adatbázisok kényelmes kezelését, és felhasználóbarát felhasználói felület kialakítását.
Az alábbi leírást azok a távmunkások tudják használni, akik már kaptak hozzáférést a CVS rendszerhez.
A fejlesztés során 3 repository -t (CVS munkakönyvtár) használunk.
Az NFW rendszer több komponensből épül fel. Egy új telepítésnél Eclipse használata esetén le kell töltened az nfw_inc, nfw_core és nfw_root modulokat. Ezek mind a /nfw repositoryban találhatóak. Ennek fényében létre kell hoznod 3 PHP projectet az Eclipse -ben az Eclipse alapértelmezett workspace -könyvtárába.
Az nfw_core tartalmaz minden olyan központi komponenst, ami az admin felületek megjelenítését biztosítja. Minden keretrendszerben fejlesztett project ugyanazt a nfw_core -t használhatja. Az nfw_core inicializálja az adatbázis réteget (Adodb) és a template rendszert is (Smarty), ezen felül biztosítja a központi logolást, session kezelést, modulok elérhetőségét, megjelenítését és a webes GUI -t. Az nfw_core elérési útvonalát megadhatod a php.ini include_path -jában is, de ezt felülbírálhatod a project saját config filejában.
Az nfw_inc azokat az open source alkalmazásokat tartalmazza, melyekre szükség van a keretrendszer futtatásánál. Elképzelhető, hogy ezek már telepítve vannak a gépeden, ilyenkor nem kell külön foglalkozni ezzel. A nélkülözhetetlen komponensek a következők: Adodb, Smarty, PEAR:Log
Ezeket a könyvtárakat bárhova másolhatod, a lényeg hogy a php.ini include_path -jában benne legyen az útvonaluk.
Az előbbi modulok bárhol lehetnek a gépeden, az nfw_inc -et a php.ini alapján, az nfw_core elérhetőségét pedig a project config filejában tudod meghatározni. Az nfw_root helye ezzel szemben lényeges, hiszen az ebben lévő modules könyvtár lesz a modulok helye, illetve a szintén ebben lévő www könyvtár lesz a http -n elérhető gyökérkönyvtár.
Minden új alkalmazás fejlesztése esetén egy másolatot kell létrehoznod az nfw_root könyvtárról, egy workspace -en kívül eső munka könyvtárba (mivel az Eclipse nem engedi hogy egy projekt egy másik projekt könyvtárában legyen, a fejlesztések pedig úgyis a modules könyvtárban zajlanak). Az nfw_root másolatának a neve bármi lehet. Ha modulokon nem fejlesztesz, akkor elég, ha azokat is csak bemásolod a modules könyvtárába. Ha új modult, vagy egy meglévőt fejlesztesz tovább, létre kell hoznod Eclipse -ben egy új projectet, és az nfw_root/modules -ben létrehozott könyvtárba kell megadni az elérési útvonalát (pl. nfw_root/modules/nws). Az üres könyvtárat még a project létrehozása előtt kell létrehozni! Ezek után az Eclipse fejezetnél már ismertetett módon sharelni kell a CVS -el a projectet.
Egy projekt webrootja minden esetben az nfw_root/www. Az apache -ban, ezt kell megadni egy virtualhost rootjának (a virtualhostot előbb létre kell hozni a hosts fileban, Windows XP esetén: windows/system32/drivers/etc/hosts).
A rendszer session -t használ, ezért fontos, hogy a php.ini -ben meghatározott temp könyvtár írható legyen.
A keretrendszer az index.html -el indul, és nem az index.php -vel! Erre figyelj, mert különben nem fogsz látni menüt és fejlécet...
Minden projektnek egy összetett config fileja van az nfw_root/setup/config.php Ebben kell meghatározni az adatbázis adatait és a core elérhetőségét. Érdemes fejlesztésnél 1 -re állítani a debug módot.
A modulok és a keretrendszer főleg postgres alatt lett fejlesztve és tesztelve. Az adatbázis sémák is ennek megfelelően postgresbe tölthetőek fel egyszerűen. Egy új project esetén először az nfw_root/sql/current_schema_pg.sql -t töltsük fel egy új adatbázisba. Minden modulnak van egy sql/current_schema.sql file -ja, az ebben található sémát minden modul használata esetén létre kell hozni az adatbázisban. Ha egy project repositoryban lévő munkát telepítesz, elég ha az sql/current_schema.sql file -t feltöltöd, ebben benne lesz minden. Figyelj arra, hogy a rendszernek legyen jogosultsága írni a táblákba!
Az /ncvs repoban jelenleg elérhető modulok:
Az NFW felhasználói felületének leírását ITT tudod letölteni.