E-Learning megoldások
Word 2003 tananyag
Design sablonok
NetGRAL Page Editor
Webáruház
Fejlesztőknek

Fejlesztőknek > NFW (NetGRAL FrameWork)

NFW keretrendszer

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.

  1. /nfw - ebben a repo -ban vannak a keretrendszer fő komponensei
  2. /ncvs - itt a keretrendszerhez fejlesztett különböző modulok találhatóak
  3. /project - olyan komponensek és projectek gyűjtőhelye, amik nem feltétlenül a keretrendszerben készültek, vagy olyan projectek, ahol a keretrendszert jelentősen át kellett alakítani, esetleg új, kisérleti funkciókkal kiegészíteni. Ez a repo leginkább egy szemeteshez hasonlítható

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.

nfw_core

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.

nfw_inc

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.

nfw_root

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.

Projekt létrehozás CVS -ből

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.

Webserver (apache)

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...

Config

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.

Adatbázis (postgres)

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!

Modulok

Az /ncvs repoban jelenleg elérhető modulok:

  • nms (NetGRAL Management System) - Speciális, illetve kisérleti fázisban lévő komponensek
  • nws (NetGRAL Webshop System) - webáruház modul
  • nls (NetGRAL List System) - hírlevél küldés
  • auth (Authentication) - beléptető, autentikáló rendszer
  • npar (Partners) - partnertörzsadat kezelő rendszer
  • npro (Projects) - project manadzselést támogató modul
  • nbill (NetGRAL bill) - web alapú számlázó modul
  • ncms (NetGRAL Content Management System) - cikkezelő, és tartalom szerkesztő modul

Az NFW felhasználói felületének leírását ITT tudod letölteni.


A keretrendszer és egyéb fejlesztések hibáit, fejlesztési igényeit a bugtrack rendszerben rögzítjük. Ennek használatáról ITT olvashatsz. Egyéb kérdés esetén írj bátran a developer@netgral.com címre!
Kutatás, fejlesztés Referenciák