DocGen

The DocGen module automatically generates help documentation from the application metamodel.

Setup

Dependency Management

pom.xml
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.apache.causeway.extensions</groupId>
            <artifactId>causeway-extensions-docgen</artifactId>
            <scope>import</scope>
            <type>pom</type>
            <version>2.0.0</version>
        </dependency>
    </dependencies>
</dependencyManagement>

Dependencies

In the webapp module of your application, add the following dependency:

pom.xml
<dependencies>
    <dependency>
        <groupId>org.apache.causeway.extensions</groupId>
        <artifactId>causeway-extensions-docgen-help</artifactId>
    </dependency>
</dependencies>

AppManifest

In your application’s AppManifest (top-level Spring @Configuration used to bootstrap the app), import the CausewayModuleExtDocgen module.

AppManifest.java
@Configuration
@Import({
        ...
        CausewayModuleExtDocgenHelp.class,
        ...
})
public class AppManifest {
}

The extension provides its own menu. You can use menubars.layout.xml to arrange as you see fit, for example in the tertiary menu:

menubars.layout.xml
<mb:tertiary>
    <mb:menu>
        <mb:named/>
        <mb:section>
            <mb:named>Documentation</mb:named>
            <mb:serviceAction objectType="causeway.ext.docgen.DocumentationMenu" id="help"/>
        </mb:section>
    </mb:menu>
    ...
</mb:tertiary>

Usage

Once setup, the extension provides a "help" action for the end-user to click on. This returns a view model that provides access to documentation about the application.

The documentation shown is obtained from various describedAs annotations of the @XxxLayout annotations.