Skip to main content

Application Settings

Documentation on the expansionSettings.xml in general can be found [here] (/docs/reference-guides/general/expansion-settings).

However, applicationsApplicationThe overarching model container grouping all components, domain logic, and configurations for an enterprise solution. can further be configured with settings in the ApplicationInstance. These settings active the relevant expandersExpanderA unit of generation that combines a data tree instance (functional M1 model) with a template to generate an artifact. of the resources defined in your expansionSettings.

project
├── conf
├── applications
├── components
├── settings
. ├── businessLogicSettings
│ └── tomee_posgres_hibernate.xml
├── globalOptionSettings
│ └── modern.xml
├── presentationSettings
│ └── knockout_bootstrap.xml
└── technicalInfrastructure
│ └── java_21.xml

You can model multiple application instancesApplication Instance (ApplicationInstance). A target technology configuration defining how an application's architecture layers are built and executed. that each use their own set of settings. This can be used to build an applicationApplicationThe overarching model container grouping all components, domain logic, and configurations for an enterprise solution. for different technology stacks (e.g. using a different database technology).

applicationInstance1.xml
<applicationInstance name="applicationInstance1">
<globalOptionSettings name="Modern"/>
<presentationSettings name="Knockout Bootstrap"/>
<businessLogicSettings name="TomEE Postgres Hibernate"/>
<technicalInfrastructure name="Java 21"/>
</applicationInstance>

Global Option Settings​

Here you can toggle several features for your applicationApplicationThe overarching model container grouping all components, domain logic, and configurations for an enterprise solution.

tomee_posgres_hibernate.xml
<globalOptionSettings name="Modern">
<counterDefault>IDENTITY</counterDefault>
<useJavaEESecurity>FALSE</useJavaEESecurity>
<buildEngine>MAVEN</buildEngine>
<beanInterfacePolicy>BOTH</beanInterfacePolicy>
<enforceHttpMethod>false</enforceHttpMethod>
<useCsrfProtection>false</useCsrfProtection>
<generateArtifactLabel>false</generateArtifactLabel>
</globalOptionSettings>
List of GlobalOptionSettings features
Deprecated

These settings have been deprecated. See Expanders 5.15.0

optiondescription
counterDefaultCan be GLOBAL or IDENTITY. If set to GLOBAL, new database id's will be taken from a global counter.
useJavaEESecurityDisables authentication using the account Component. You can also leave the account Component out of your applicationApplicationThe overarching model container grouping all components, domain logic, and configurations for an enterprise solution. or use the option struts.security.custom.
buildEngineTechnology used to build the ApplicationApplicationThe overarching model container grouping all components, domain logic, and configurations for an enterprise solution.. Currently only Maven is supported.
beanInterfacePolicyCan be BOTH (default), LOCAL or REMOTE. This will define whether bean classes in the ApplicationApplicationThe overarching model container grouping all components, domain logic, and configurations for an enterprise solution. have a Local and/or Remote interface.
enforceHttpMethodIf set to true, requests using the wrong http methods will be rejected.
useCsrfProtectionIf set to true, requests are implemented with a mechanism to protect against Cross Site Request Forgery attacks.
generateArtifactLabelIf set to true, versions of the artifactsArtifactA build or deployment result, such as a Docker container image or Java archive, produced by a software project. in the ApplicationApplicationThe overarching model container grouping all components, domain logic, and configurations for an enterprise solution. will get a postfix to make them unique for the applicationApplicationThe overarching model container grouping all components, domain logic, and configurations for an enterprise solution..

Presentation Settings​

Here you can configure the technologies used in the view layerLayerLogical separation of functionality within a single system/application, focused on code organization..

knockout_bootstrap.xml
<presentationSettings name="Knockout Bootstrap">
<version>2.1</version>
<viewStyler name="BOOTSTRAP"/>
<viewController name="KNOCKOUT"/>
</presentationSettings>

Business Logic Settings​

Here you can configure technologies used in the backend.

tomee_posgres_hibernate.xml
<businessLogicSettings name="TomEE Postgres Hibernate">
<targetDatabase name="POSTGRESQL"/>
<persistenceProvider name="HIBERNATE"/>
<transactionProvider name="EJB3"/>
<applicationServer name="TOMEE"/>
</businessLogicSettings>

Technical Infrastructure​

Here you can define versions of underlying technologies.

java_21.xml
<technicalInfrastructure name="Java 21">
<javaVersion>jdk21</javaVersion>
<jeeVersion>8</jeeVersion>
</technicalInfrastructure>