Adatok kezelése, kliens és szerveroldal kapcsolata |
A szerver és kliens közötti laza kapcsolat lehetővé teszi, hogy ugyanazt a klienst több process, vagy akár több szerver szolgálja ki. Egy RecroGid felépítése normál esetben a szerveroldalon kezdődik, a kliensoldalon kezdeményezett weboldal kéréssel. Azonban engedélyezni lehet külön paraméterezve közvetlenül kliens oldalról a JavaScript alapú létrehozást, de ez RecroSec vagy egyéb jogosultsági rendszer használata nélkül nem javasolt. A létrehozás után a keretrendszer egy azonosítót rendel a RecroGrid-hez és típus megjelöléssel elmenti a session state-be. Ezzel az azonosítóval kezdeményezheti majd a kliens a különböző műveleteket.
Az SQL lekérdezések az entitás paraméterei alapján dinamikusan NSQL formátumban jönnek létre, amit az aktuális felhasználó oszlopbeállításai és szűrései befolyásolhatnak. Egymásba ágyazott listák illetve a Form nézet további szűrést és korlátozást képes továbbadni. (pl. a Form nézeten elhelyezett List nézet elemek csak az aktuális rekordhoz kapcsoltakat mutatja). Az SQL lekérdezések után a szerver kiküldi a kliensnek a List nézet megjelenítéséhez szükséges adatokat, és a lekérdezés eredményét. List nézetben a szerveroldalon nem készül HTML kimenet, azt teljes egészében a kliens kezeli a kapott HTML template alapján. Form nézet esetén a HTML kimenet két szintű XSL transzformáció (a meghatározott template) és az esetleges Partial View maghatározások alapján készül szerveroldalon.
A List nézeten végzett további műveleteket (lapozás, rendezés és szűrés) a kliens a kapott RecroGrid azonosítóra hivatkozva kezdeményezheti. A szerver minden esetben ellenőrzi, hogy a kliens mit kér, így a kliens a meghatározott korlátozásokat nem tudja felülbírálni (pl. fix szűrő módosítása, tiltott oszlop megjelenítése ...). Az adatok szerkesztését és törlését a kliens a rekord kulcsának ismeretében kezdeményezheti. A kulcsokra szerveroldalon digitális aláírás kerül, tehát a kliens csak a korábban megkapott rekordokon végezhet műveleteket.