HTML

Opteamus a blog

Kathryn és Greg! blogol a szoftverről, amit csinálnak. Neked.

Feedek

Új feature: számított mező

2007.09.26. 13:31 Greg!

Ha új ötlet vagy kérés érkezik, mindig arra törekszem, hogy azt ne az adott felhasználó  egyedi problémájaként, hanem minél általánosabb problémaként kezeljem. Igy persze bizonyosan több időt vesz igénybe az új feature tervezése és a fejlesztése, de szerencsés esetben olyan széleskörűen használható, általános képességet kapok eredményképpen, ami nem csak az aktuális ügyfélnek, nem csak az összes többi ügyfélnek, de magának a szoftvernek is előnyére válik, növelve a jövőbeli eladások esélyeit. Aktuálisan is agyalok egy ilyenen - elmesélem...

Felbukkan az igény


Először valahogy úgy, hogy "de jó lenne, hogy ha felviszek egy ajánlatot, akkor az ügyfél státusza rögtön változzon meg". Aztán Endre részéről úgy, hogy "de jó lenne egy cég adatlapján rögtön látni, hogy mi a számlatételeinek az összege". Kis tétovázás után: "vagy végül is de jó lenne bármilyen más szummát látni vele kapcsolatban, amit kitalálunk". A Victus aktuálisan a cég követelésállományát szeretné így látni, Assono pedig etikettezési okokból egy ember adatlapján a cégének a címét is szerette volna látni már egy ideje.

Definiálódik a feature


A legelső igény rögtön egy redundáns érték tárolását implikálja, méghozzá egy nem egyszerű, de automatikus karbantartással. Ez több szempontból sem tetszik. Olyan értéket, ami más tárolt értékekből is kiszámítható, nem tárolunk (hacsak nem a tárolással rendkívül költséges számításokat spórolunk meg, és erre feltétlen szükség van). Az adatbázis konzisztenciája sokkal előbbre való, mint a teljesítmény. Az élőerő, ami egy inkozisztencia helyreállításához kell: drága. A hardware, amivel a teljesítmény fokozható: olcsó. Gondolkozzunk hát valamifajta számított értékekben, amit az Opteamus a kellő pillanatokban kikalkulál és megmutat. Kis gondolkodás után, a fenti igények mindegyikét kielégíti, ha az adatlapokhoz definiálható egy olyan csak olvasható mező, amely mögött nem adat, hanem egy ad hoc kiszámítandó sql select utasítás áll.

A megvalósítás tervei


Nagy a csábítás hamar bevállalni a feladatot, mert az tényleg lelkesítő. Mégis muszáj előtte alaposan megnézni a megvalósíthatóságot. Első ránézésre semmi gond, valahol definiálni kell ezeket a számított mezőket, és az adatlapot megjelenítő képernyőt kell kiegészíteni ezek értelmezésével és kijelzésével. Ha ez így lenne, az idegesítő öngól lenne, mert a felhasználók nem annyira örülnének, mint inkább nyafognának, hogy hiába látják az adatlapon az új tulajdonságot, az nem jelenik meg az excel riportban, nem tudnak rákérdezni a keresővel, és nem tudják semmilyen listába se betenni. Szóval a feature csak úgy ér valamit, ha az új számított mezők szinte teljesen rendes mezőként viselkednek minden esetben. Ergo: sokkal mélyebbre kell nyúlni, nem elég magát az adatlapos képernyőt megpiszkálni, hanem magát az adatlapos tulajdonságok rendszerét kell kiegészíteni az újfajta képességgel. Hát ez rögtön nem egynapos munka, hanem sokkal több.

Kell egy igazán nyugodt pillanat (ez a legnehezebb ügy), amikor végiggondolom, hogyan tudna mindez a lehető legtermészetesebben belesimulni a jelenlegi architektúrába. Mint mindig, az alkalmas pillanatban most is villámcsapásszerűen és azonnal jön a megoldás. A kulcs most is - mint gyakran - egy jó analógia. Van-e hasonló feladat vagy megoldás most valahol a rendszerben, amit alapul vehetnék? Van bizony. Jelen pillanatban is vannak olyan adatlapos tulajdonságok, amelyeknél mély szinten nem maga a végleges érték tárolt, hanem egy idegen kulcs kódérték, amit ráadásul vagylagosan kell egyik, vagy másik módon kell kifejteni. Ha ezt és itt kiegészítem egy harmadik lehetőséggel, akkor csak és pontosan azokon a helyeken, ahol ez a kódkifejtés jelenleg is megtörténik, csak ott kell egy harmadik programágról gondoskodni. Igy ráadásul az új mezők teljesen úgy viselkednek mint a többiek, azaz, minden olyan rutin ami ezeket a mezőket eddig kezelte (lekérdező, listázó, exportáló) transzparensen, magától értetődően fogja az új sql alapú számított mezőket kezelni!

Halleluja!


És igen! Aki rugalmasságban fel akarja velünk venni a versenyt, annak eddig se volt könnyű dolga. Egy klasszikus ERP vagy CRM rendszer annyira rögzített mezőkkel dolgozik, hogy azokat gyakran még kiegészíteni sem engedi, mondjuk egy közönséges "haja színe" mezővel. Nálunk eddig is teljesen szabadon definiálható volt nem hogy minden mező, de maga az adatok köre is (azaz a cég, ember, ajánlat szentháromság mellé akármilyen másfajta anyag vagy adatlap is definiálható). Hamarosan pedig: jöhetnek a tetszőleges számított mezők is!

2 komment

Címkék: crm adatmodell tervezési szempontok új feature

A bejegyzés trackback címe:

https://opteamus.blog.hu/api/trackback/id/tr41177519

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

RAMBO · http://szolo.blog.hu 2007.09.27. 10:19:27

Ez pazar. Most kellene beizzítani a tervező démont a kimutatás varázslóra, amely mind a számított, mind a statikus mezők tartalmát tudja analizálni, és akkor az asszisztensnőm Opteamusból egy gombnomással el tudná készíteni a projectek pénzügyi kimutatását, nem kellene Excelt használnia.

Burma is warzone!

Greg! · http://opteamus.blog.hu 2007.10.07. 21:06:42

Wagner Endre noszogatása, Gábor lelkesedése a Direktinfótól, Tari Laci és Viki rajongásig pozitív hozzáállása, valamint egy hosszú szombati nap meghozta az eredményt. Készen van a feature, és sokkal több mindenre használható, mint azt első pillantásra gondoltam. Szinte mindenki tud majd belőle profitálni. A lehetőségek szinte korlátlanok, de néhány példával megpróbálom érzékeltetni:

o Számláknál: látható lehet a számla tételeinek összege
o Termékeknél, viszonteladónál látható az eladások összege, a kiadott ajánlatok száma
o Cégeknél, leadeknél látható lehet az utolsó aktivitás időpontja
o Embereknél látható lehet a cégének postacíme