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
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:
itemselement lists the used libraries with license texts included either as an embedded
licenseelement, or as a
licenseattribute with a link to the text in the
It is possible to reference licenses declared in the current file as well as any other file declared in
cuba.creditsConfigvariable prior to the current one.
licenseselement 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.