ontwikkelaars /

Wat kan ddProGen allemaal?

Het ontstaan van ddProGen

Je krijgt een opdracht. Je inventariseert alle gewenste functionaliteit en .... dan kijk je op Google of collega-ict'ers misschien al een soortgelijk programma (of onderdelen) hebben gemaakt. In negen van de tien gevallen kom je tot de conclusie dat het wel ongeveer bestaat maar net niet zoals je het wilt. Kortom, je moet het wiel opnieuw uitvinden.
Ook wij ondervinden dat dagelijks. Tot voor ongeveer een jaar geleden! Waarom niet een programmagenerator maken die focust op functionaliteit maar tegelijkertijd zo flexibel is dat je er alles mee kan maken en waarbij je feitelijk maar één onderdeel ervan hoeft aan te passen.
Bijna elk programma of een website gebruikt een database. Waarom niet die database zo slim maken dat hij zelf gaat bepalen hoe het programma zich gedraagt? Daar omheen functionaliteit bouwen voor veiligheid, autorisatie, correspondentie et cetera...
Tegen details als historie (bijhouden wie wat heeft veranderd, toegevoegd, verwijderd), statistieken et cetera loop je vanzelf aan en bouw je later wel in. Exact zo is het ook gegaan met de bouw van ddProGen. Voorzichtig beginnen met één tabel, daarna één referentietabel et cetera..... ddProGen kwam tot leven.

Mooi verhaal maar . . . 

Wat kan het dan?
Uitgangspunt bij ddProGen is dat de klant werkt met dossiers. Dat kan een relatie zijn, een fysiek dossier kortom een sleutelobject. Met dit sleutelobject wordt de relationele database gebouwd. 

Voorbeeld relaties in een database:


In woorden toegelicht:
Een dossier kan bestaan uit één of meerdere relaties. Een relatie kan één of meerdere keren gefactureerd worden. Elke factuur heeft één of meerdere factuurspecificaties... et cetera.
Een database, mits goed opgebouwd, bestaat uit meerdere tabellen die wel of niet in relatie met elkaar staan.

ddProGen zal per tabel de 'aan de tabel gegeven logica' volgen en programmamodulen genereren die exact doen wat de tabel van haar vraagt.

Hieronder bekijken we de tabel 'relatie' en de logica waarmee ddProGen aan de slag gaat:



ddProGen zal tijdens het genereren van de programmamodulen letten op de Field Name, het Datatype en de comments.
In het bovenstaande voorbeeld zal bijvoorbeeld het veld 'email' niet als email verschijnen op het scherm maar als E-mail. Het veld opt_out zal een keuzemenu (dropdown) zijn met daarin de opties Ja en Nee.
Dit is een simpel voorbeeld, de mogelijkheden zijn talrijk!

Wat genereert het dan?
Het bovenstaande voorbeeld levert:

* om privacyredenen zijn bovenstaande gegevens vervaagd!

Gaat u het record wijzigen dan ziet u:

* om privacyredenen zijn bovenstaande gegevens vervaagd!

Met andere woorden: u ontwikkelt een tabel, u voegt daar wat logica aan toe, u genereert de module en alles hierboven wordt voor u geregeld! 

Nog steeds een mooi verhaal, maar hoe ziet het geheel er dan uit?

* om privacyredenen zijn bovenstaande gegevens vervaagd!

Zijn er beperkingen?
Als we nu beweren dat er geen beperkingen zijn, dan gaan we waarschijnlijk onwaarheden spreken. We kennen de beperkingen echter niet!
Dat komt omdat er nou eenmaal geen enkel programma of programmagenerator exact in uw bedrijfsprocessen kan kijken! Dat onderkennen we! U kunt echter dat 'gat' opvullen door gebruik te maken van de mogelijkheid om 'plugins' toe te voegen! Voorbeelden uit de praktijk zijn schermen waarbij twee velden bij elkaar opgeteld moeten worden en in een derde (read-only) veld getoond moet worden. Een simpele javascript-plugin en het probleem is opgelost.

U wilt iets extra's doen met de invoer, bijvoorbeeld delen van die invoer gebruiken in een andere tabel? U maakt een PHP-plugin (of laat dit maken).... en het probleem is opgelost.

ddProGen heeft overigens de mogelijkheid om tabelafhankelijke tabellen te voorzien van eerder ingevoerde gegevens

Bij 'Screenshots' worden meer afbeeldingen getoond zodat u een nog betere indruk kan krijgen van de mogelijkheden van ddProGen!

Vraag een demonstratie aan en laat u overtuigen van de kracht van ddProGen!

 

 

Wilt u meer informatie? Neem dan contact met ons op.