Apache Isis Add-ons

Modules, plugins and add-ons to extend the capabilities of Apache Isis.

Each add-on is hosted in its own github repo:

  • isis-module-xxx : a domain object "module" that implements business logic for a particular subdomain, eg application settings, or tags (labels).
  • isis-wicket-yyy : a component for Isis' Wicket viewer, eg for rendering calendars or maps.

READMEs

Each add-on has its own README that includes screenshots, API, usage and configuration instructions. Some add-ons also have wiki pages (linked from the README).

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

All add-ons 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 add-ons to 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.isisaddons package.

Name Description
isis-module-audit An implementation of Apache Isis' AuditingService3 API, persisting an AuditEntry record (through Isis' JDO ObjectStore) for each change to each object property.
isis-module-command An implementation of Apache Isis' CommandService and BackgroundCommandService APIs, providing profiling, enhanced auditing and background (async) execution, persisting Command records through Isis' JDO Objectstore.
isis-module-docx A domain service for Apache Isis that generate Word .docx documents from a template and HTML input (ie, mail merge). Supports repeating table rows and lists.
isis-module-excel A domain service for use within Apache Isis, providing the ability to perform bulk export/import of collections of objects to/from an Excel spreadsheet.
isis-module-security A module for Apache Isis for administering users/roles/permissions and providing Shiro-based authentication and/or authorization.
isis-module-stringinterpolator A domain service for Apache Isis that interpolates strings using OGNL expressions applied to graphs of domain objects.
isis-module-tags A module for Apache Isis that allow tags (or labels) to be associated with other entities.
isis-module-devutils
WIP
A collection of domain services for Apache Isis providing access to an Isis application's metamodel, in support of various developer tasks.
isis-module-publishing
WIP
An implementation of Apache Isis' PublishingService API, persisting a PublishedEvent record (through Isis' JDO Objectstore) for each changed published object or invoked published action.
isis-module-publishingeventserializer
WIP
An implementation of Apache Isis' EventSerializer API that serializes a published object or action (so it can be persisted) into a JSON representation based on that defined by the Restful Objects spec.
isis-module-scheduler
WIP
A domain service (base class) for Apache Isis to schedule background jobs using a Quartz-based scheduler.
isis-module-settings
WIP
A module for Apache Isis to manage and persist both application and user settings (using Isis' JDO Objectstore).
isis-wicket-excel
WIP
A component for Apache Isis' Wicket viewer that allows parented and standalone collections to be downloaded as Excel spreadsheets.
isis-wicket-fullcalendar2
WIP
A component for Apache Isis' Wicket Viewer that render entities (implementing CalendarEvent) within a calendar.
isis-wicket-gmap3
WIP
A component for Apache Isis' Wicket viewer that renders a collection of entities upon a map.
isis-wicket-wickedcharts
WIP
A number of components for Apache Isis' Wicket viewer to integrate with wicked-charts, a wrapper around highcharts JS charting library.
isis-wicket-wizard
WIP
A component for Apache Isis' Wicket viewer that renders a wizard-like view model in a customized UI.

'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 in Isis' isis.properties configuration files. The README for each add-on contains full details on how to do this.

Forking the add-on

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 isis-module-xxx add-ons have the following structure:

The isis-wicket-xxx add-ons have the structure:

Only the dom (for module add-ons) or cpt (for wicket add-ons) are released the Maven central repo.

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.

Other add-ons

There are also a number of other add-ons that either do not fit into the above categories, or which do not follow the repository structure, but which may nevertheless be of interest to developers building apps with Apache Isis. The repos for these additional add-ons have been forked into this site for convenience.

Name Description
isis-jrebel-plugin Apache Isis plugin for JRebel.
isis-publishingservice-activemq-ra An implementation of an Apache Isis org.apache.isis.applib.services.publish.PublishingService that publishes to ActiveMQ using the RAR (JCA)