Master-detail data (sometimes referred to as parent-child data) is central to the majority of data-driven web applications. For example, think of an Invoice, a Quote, an Expense report, a Health Record, a Student Record etc...
Alpha Five Version 11 introduces a powerful and extremely flexible new way of dealing with Master-detail data...the new Dialog component.In earlier versions of Alpha Five you can model master-detail relationships using multiple Grids - one for the Master and one for the Detail, then you have to embed the Detail Grid into the Master. There are, however, significant drawbacks to this approach. Most importantly, you end up with multiple Submit buttons - one for each Grid. You cannot create a screen that looks exactly like an Invoice or Quote with a SINGLE submit button that allows you to enter or edit the Invoice as a single logical form.
With Alpha Five v11 you can create web based screens that looks exactly like the forms that you have in mind.
The Dialog (i.e. Form) will have a SINGLE submit button that will automatically save data to the master table and every detail table at once, all wrapped into a single transaction (that can be rolled back if the user wants) - with no coding required on your part!
The new Dialog Component in Alpha Five Version 11 is a game changer for the majority of data-driven web applications.
The Dialog Component in Alpha Five Version 11 lets you start laying out the design of your Dialog BEFORE you have defined the tables on which the Dialog is based. Once you have completed the Dialog design, press a button and Alpha Five Version 11 will automatically build the tables (master and detail) for the Dialog.
Thinking like a database designerNow as a database designer - and using the example of building an invoice - you know that invoices aren't kept in just one table. The header part, which stores the date, invoice id, total, etc. is stored in one table. And the items part, item numbers, item names, quantities and unit price are kept in another. And customer information is kept in a third table.
Thinking in a natural wayIn the real world, most of us don't spend our lives thinking like database designers. And we think of an invoice as one thing - not as an abstract collection of related records. And so do the people who use our applications. Wouldn't it be great to design interfaces the way you naturally think about them - and not worry about the data structures underneath?
Now you Can with the new Dialog Component in Alpha Five Version 11.Now you can create a screen that looks exactly like you would expect an Invoice form to look. The Dialog (i.e. Form) will have a SINGLE submit button that will automatically save data to the master table and the detail tables at once, all wrapped into a single transaction - with no coding required on your part. We are not aware of any other RAD tool for Web Applications that allows you to create a form for entering master-detail data as a single transaction.
How it worksStep 1 - Start out by designing your form - laying out fields however you want them.
That's It. Done.For step-by-step examples, watch these short (but instructive) videos below. You can check out our most up-to-date video list here.
Alpha Five Version 11 video page.
What users are saying about the new Dialog component in Version 11
The repeating section and data binding features are probably the top of the list. The repeating section feature has allowed me with one component to handle enter/editing of parent/child relationships, rather than having multiple components (one for parent and one for each child table) and screens to click through to get the same job done. For example, a customer invoice can be designed to handle the header record and detail records in one view and save or cancel in one pass. That's one hurdle I never got past on the desktop with the browse; tabbing from the header record to the browse saved the header record (automatically - no control), and tabbing from each line in the browse saved that line item - there was no backing up. I always contended that the user doesn't know or care that it's multiple records involved, he just wants to create or edit the "invoice". This approach allows them to make any changes to any field on the "invoice" (new or existing) and save or cancel at will.
And, data binding is the workhorse behind the scenes! It has allowed me to create these complex dialogs, with complex table relationships that are bound to the tables, and handles all the insert, update and delete statements, without writing hardly any code. It's powerful!
Soon I will be able to showcase a full blown sales/inventory application (browser based, intranet) that is using the new Dialog Component in Version 11 heavily for data entry/edit of various different forms throughout the system. I'm using it in conjunction with grids to show the (header) records, and then the dialog displays the form for entering/editing.