Getting to the bottom of the Line of Business Application
No edit summary
m ((username removed) (log details removed))
 
(10 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<message>Write the content here to display this box</message>
__NOTOC__
__NOTOC__


After doing business application during many years, we tried to codify the '''most''' basic feature set required from any application. Following these simple "rules", we will reach far in our quest for the fully declarative application.  
After creating business applications for many years, we tried to codify the '''most''' basic feature set required from any application. Following these simple "rules", we will reach far in our quest for a fully declarative application.  
[[File:ImageOnly3things.png|none|thumb|438x438px]]


You'll find that everything in the MDriven Turnkey user interface is based on this Manifest.
You will find that everything in the MDriven Turnkey user interface is based on this Manifest.


=== Applications have three kinds of forms ===  
=== Applications have three kinds of forms. ===
# The ''seek form'' can search - from nothing - for objects in persistent storage and show them in a list.
# The ''document form'' is designed for a specific use case and shows information based on a root object and its associations in as many navigational steps as necessary.
# The ''report form'' differs from the document form by being non-interactive, paginated, and expanding all combinations in master-detail relationships at once (non-cursored).


The seek form that from nothing can search objects in persistent storage and show them in a list
=== The seek form can be used in two different modes.===
* The first mode is typically accessible from the main menu as in a context-less seek operation restricted by any number of filtering parameters.
* The second mode called “''seek and pick''” is a modal form that aims to seek out one or several objects for a specific reason, such as assignment to some association. The “''seek and pick''” is commonly used to set a 0..1 association end when a combo box would not suffice due to too large a data quantity.


The document form that is designed for a specific use case and shows information based on a root object and its associations, in as many navigational steps as necessary
=== Applications have four kinds of actions.===
# Actions that act on an object based on its class.
# Actions that act in a given context or use case; a document or seeker form.
# Actions that are global and act on neither of the above contexts, like main menu actions.
# Actions that can be organized in structures, like sub-menus.
Any action can be enabled or disabled based on the state of the context.


The Report form that differs from the document form by being non interactive, paginated and by expanding all combinations in master detail relationships at once (non cursored)
===  When an action is executed, the following things can happen:===
* Some code is executed.
* A form may be opened.
* The opened form is assigned an optional root object by execution of some code.
* The opened form can be opened Modal or not, and if Modal, an optional piece of code will be executed when the Modal form closes with OK (like with ''seek and pick'').
Forms have UI-Validations to communicate rule breaks in the current input.


=== The seek form can be used in two different modes===
Objects follow business rules by implementing Statemachines with guards.
 
The first mode is typically reached from the main menu as in a context-less seek operation restricted by any number of filtering parameters
 
The second mode we call “Seek and pick” and is a modal form that aims to seek out one or several objects for a specific reason; such as assignment to some association. The “Seek and pick” is commonly used to set a 0..1 association end when a combo box would not suffice due to too large data quantity
 
=== Applications has three kinds of actions===
 
Actions that act on an object based on its class
 
Actions that act in a given context or use case; a document or seeker form
 
Actions that are global and acts on neither of the above context’s, like main menu actions
 
Actions can be organized in structures; like sub menus
 
===  Any action can either be enabled or disabled based on state from the context===
 
===  When an action is executed to following things can happen===
 
Some code is executed
 
A Form may be opened
 
The opened form gets assigned an optional root object by execution of some code
 
The opened form can be opened Modal or not and if Modal an optional piece of code will be executed when the Modal form closes with OK (like with seek and pick)
 
===  Forms have UI-Validations to communicate rule breaks in the current input===
 
===  Objects follow business rules by implementing state machines with guards===
[[Category:Architecture]]
[[Category:Architecture]]
[[Category:Discovery]]
[[Category:Discovery]]
{{Edited|July|12|2024}}

Latest revision as of 05:38, 24 June 2024


After creating business applications for many years, we tried to codify the most basic feature set required from any application. Following these simple "rules", we will reach far in our quest for a fully declarative application.

ImageOnly3things.png

You will find that everything in the MDriven Turnkey user interface is based on this Manifest.

Applications have three kinds of forms.

  1. The seek form can search - from nothing - for objects in persistent storage and show them in a list.
  2. The document form is designed for a specific use case and shows information based on a root object and its associations in as many navigational steps as necessary.
  3. The report form differs from the document form by being non-interactive, paginated, and expanding all combinations in master-detail relationships at once (non-cursored).

The seek form can be used in two different modes.

  • The first mode is typically accessible from the main menu as in a context-less seek operation restricted by any number of filtering parameters.
  • The second mode called “seek and pick” is a modal form that aims to seek out one or several objects for a specific reason, such as assignment to some association. The “seek and pick” is commonly used to set a 0..1 association end when a combo box would not suffice due to too large a data quantity.

Applications have four kinds of actions.

  1. Actions that act on an object based on its class.
  2. Actions that act in a given context or use case; a document or seeker form.
  3. Actions that are global and act on neither of the above contexts, like main menu actions.
  4. Actions that can be organized in structures, like sub-menus.

Any action can be enabled or disabled based on the state of the context.

When an action is executed, the following things can happen:

  • Some code is executed.
  • A form may be opened.
  • The opened form is assigned an optional root object by execution of some code.
  • The opened form can be opened Modal or not, and if Modal, an optional piece of code will be executed when the Modal form closes with OK (like with seek and pick).

Forms have UI-Validations to communicate rule breaks in the current input.

Objects follow business rules by implementing Statemachines with guards.

This page was edited 11 days ago on 06/24/2024. What links here