DOUI
This section aims to explain the concepts involved in developing DOUI type services, assisting the developer in customizing and extending services using the features of the DOUI Framework.
The DOUI is a framework for building interfaces with specialized controls that manipulate data. The controls are associated with a source and their values are obtained through the fields. Whenever an action is triggered, the controls inject their values as parameters for processing.
Services implemented on the DOUI should use or extend the DouiService
class, referenced by the type lum_doui through mapping.
Therefore, a service can be defined as a DOUI service by placing the service
node with the type attribute set to lum_doui
.
Example:
DouiServiceInterface
Interfaces implemented on the DOUI framework should use or extend the DouiServiceInterface
class, also referenced by the type lum_doui through mapping.
Therefore, an interface can be defined as a DOUI interface by placing the interface node with the type attribute set to lum_doui.
For each DOUI interface, there can be a block in the servidefinition.xml file that defines this interface. If the block is not present, a default structure is used.
The DouiServiceInterface
makes the necessary calls to the doui framework, so that the interface can be defined using the features that the framework offers.
In addition to the type lum_doui
, there are other types of DOUI interfaces that have greater specializations. All of them extend the DouiServiceInterface
. The default structure of the interface (the one used if the interface is not defined in the douidefinition.xml) also varies according to the type. Below are the descriptions of each type:
- lum_douiList:This interface is used to present a list of data. The default class used for this type is
DouiListServiceInterface
; - lum_douiQuickList:This interface is used to present a quick list, where only some data are displayed along with a link to view all the data. This link goes to the page with the List interface. The default class used for this type is
DouiQuickListServiceInterface
; - lum_douiDetails:This is a details interface and is used to present details about a specific data item. Generally, the List interface has a link that leads to the page with this interface, allowing a more detailed view of the data. The default class used for this type is
DouiDetailsServiceInterface
; - lum_douiAdministrationList:This is an administration interface. In this interface, the data are listed and the user can add, edit, or delete data. Adding and editing data are done through other interfaces called by this one. The default class used for this type is
DouiAdministrationListServiceInterface
; - lum_douiAdministrationAddPropertyPage:This interface is used to add data and is called from the Administration interface when clicking “Add”. The default class used for this type is
DouiAdministrationAddPropertyPageServiceInterface
; - lum_douiAdministrationEditPropertyPage:This interface is used to edit data and is called from the Administration interface when clicking “Edit”. The default class used for this type is
DouiAdministrationEditPropertyPageServiceInterface
; - lum_douiAdministrationPropertyPage:This interface is used for generic properties. The add and edit interfaces mentioned above are extensions of this interface. The default class used for this type is
DouiAdministrationPropertyPageServiceInterface
; - lum_douiAdministrationEmbeddedAddPropertyPage:This interface is used to add data, but unlike
lum_douiAdministrationAddPropertyPage
, it should be instantiated on a page instead of being used for a pop-up. It does not have a cancel button, and after the user clicks OK, this interface renders a message indicating that the data has been added. The default class used for this type isDouiAdministrationEmbeddedAddPropertyPageServiceInterface
.