4.7.16. Information about Software Components
The platform provides an ability to register the information about third party software components used in the application (credits) and to display this information in the UI. The information includes a software component name, a website link and the license text.
Base projects of the platform contain their own files with descriptions, like cuba-credits.xml
, reports-credits.xml
. The cuba.creditsConfig application property can be used to define a list of application-specific description files depending on the base project used in the application.
The structure of the credits.xml
file is as follows:
-
The
items
element lists the used libraries with license texts included either as an embeddedlicense
element, or as alicense
attribute with a link to the text in thelicenses
section.It is possible to reference licenses declared in the current file as well as any other file declared in
cuba.creditsConfig
variable prior to the current one. -
The
licenses
element lists the texts of general licenses used (e.g. LGPL).
The entire list of third-party software components can be displayed using the com/haulmont/cuba/gui/app/core/credits/credits-frame.xml
frame, which loads the information from the files defined in the cuba.creditsConfig
property. An example of the frame within a screen:
<dialogMode width="500" height="400"/>
<layout expand="creditsBox">
<groupBox id="creditsBox"
caption="msg://credits"
width="100%">
<frame id="credits"
src="/com/haulmont/cuba/gui/app/core/credits/credits-frame.xml"
width="100%"
height="100%"/>
</groupBox>
</layout>
If the dialog mode (WindowManager.OpenType.DIALOG
) is used when opening the screen that contains the frame, the height must be specified; otherwise, the scrolling may work not correctly. See the dialogMode
element in the example above.