Getting Started

You can either add the required dependencies to an existing project or use one of the Maven archetypes to get started.

Maven dependencies

linkki-bom

The linkki BOM in linkki-bom groups all dependency versions that are known to be valid and tested to work together for linkki projects. This will reduce the developers’ pain of having to test the compatibility of different versions and reduce the chances to have version mismatches.

To create a linkki project, just add this linkki BOM and any of the following dependencies depending on the feature set you need.

            <dependency>
                <groupId>org.linkki-framework</groupId>
                <artifactId>linkki-bom</artifactId>
                <version>${project.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

linkki-core

        <dependency>
            <groupId>org.linkki-framework</groupId>
            <artifactId>linkki-core-vaadin-flow</artifactId>
        </dependency>

linkki-vaadin-flow-component

linkki-vaadin-flow-component contains the following additional features:

        <dependency>
            <groupId>org.linkki-framework</groupId>
            <artifactId>linkki-vaadin-flow-component</artifactId>
        </dependency>

linkki-application-framework

linkki-application-framework contains the following additional features:

  • Dialogs

  • LinkkiUi with ApplicationLayout and ApplicationConfig as well as an adjusted theme

  • UI Components to display validation messages

        <dependency>
            <groupId>org.linkki-framework</groupId>
            <artifactId>linkki-application-framework-vaadin-flow</artifactId>
        </dependency>

linkki-core-nestedcomponent-vaadin-flow

linkki-core-nestedcomponent-vaadin-flow contains the following additional features:

        <dependency>
            <groupId>org.linkki-framework</groupId>
            <artifactId>linkki-core-nestedcomponent-vaadin-flow</artifactId>
        </dependency>

linkki-ips-vaadin-flow

linkki-ips-vaadin-flow contains the following additional features:

        <dependency>
            <groupId>org.linkki-framework</groupId>
            <artifactId>linkki-ips-vaadin-flow</artifactId>
        </dependency>

In addition to the linkki dependency, a linkki application with Vaadin may require a Vaadin Spring Boot starter.

Initial project structure

app structure
BusinessPartner

A spring specific class which allows our project to be run as a Java application. This class will not be found in the plain archetype.

BusinessPartnerInfo

Defines basic information about our linkki application.

BusinessPartnerConfig

Provides an instance of our BusinessPartnerInfo class and provides ApplicationMenuItemDefinition items to create an ApplicationMenu for the ApplicationHeader.

BusinessPartnerLayout

Uses the BusinessPartnerConfig class to provide information for our application.

HelloPmo

Defines a section on the webpage which is used in the UI of the application. You can apply annotations like @UITextfield to your methods to create specific UI elements. For more information about creating a UI see UI elements.

BusinessPartnerPage

Allows displaying and editing data in a certain layout and can consist of so called sections defined with multiple PMOs.

BusinessPartnerView

Defines the entrypoint of a our main page.

Index

  1. Example project
  2. Maven Archetypes
  3. Dependencies
  4. Source Control