Incode Modules

Reusable business modules for Apache Isis.

Each module is hosted in its own github repo.

  • incode-module-xxx : a "module" for a particular business subdomain, eg notes.

Do note that the modules are not part of ASF, but are maintained by the Apache Isis committers.

Screenshots and READMEs

Each module has its own README that includes screenshots, API, usage and configuration instructions.

Ready to use, "out-of-the-box"

All modules are released to Maven central repo so that you can use them out-of-the-box.

Ready to fork

Alternatively, you can fork the entire repo. All repos follow a standard structure, with a demo webapp and tests, so you can start from a solid base.

This site catalogs a number of modules for Apache Isis for you to use either "out of the box", or as a starting point to modify and adapt to your own requirements. Each add-on has its own repo. All add-ons use the org.incode package.

Module Description Build
incode-module-alias Allow multiple aliases to be created for Aliasable objects, eg to hold external / alternate keys.
incode-module-base Base library for incode modules.
incode-module-classification A module for Apache Isis for classifying (arbitrary) domain objects according to a predefined set of categorizations.
incode-module-commchannel A module for Apache Isis for attaching communication channel objects to other (arbitrary) domain objects.
incode-module-country A module for Apache Isis for defining countries and states
incode-module-docrendering-freemarker A module for the Incode Document module, providing Renderer implementations using the Isis Addons FreeMarker module
incode-module-docrendering-stringinterpolator A module for the Incode Document module, providing Renderer implementations using the Isis Addons StringInterpolator module
incode-module-docrendering-xdocreport A module for the Incode Document module, providing Renderer implementations using the Isis Addons XDocReport module
incode-module-document A module for Apache Isis for creating and persisting documents (binary or character)
incode-module-integtestsupport Integration testing utilities for Apache Isis applications
incode-module-note A module for Apache Isis for attaching note objects to other (arbitrary) domain objects.
incode-module-unittestsupport Unit testing utilities for Apache Isis applications.
incode-parent Parent POM for Incode modules and applications

'WIP' indicates the add-on is still work-in-progress and hasn't yet been released.

"Out-of-the-box"

All add-ons are released as a Maven artifact into the Maven central repo; just add the relevant dependencies to your project pom.xml, and (where required) register new domain services either using an AppManifest#getModules() or in Isis' isis.properties configuration files. The README for each add-on contains full details on how to do this.

Forking the module

Alternatively, if you do need to modify/adapt the provided functionality, then fork the entire repo. This way you also have fixtures and tests to ensure that your changes are properly tested.

The incode-module-xxx modules have the following structure:

Contributing back

If you fork an add-on and think others would benefit from your changes, please raise a pull request so that we can review and fold those changes back into the original.