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
|isis-app-kitchensink||Regression testing app for Apache Isis.|
|Example simpleapp for Apache Isis, configured to use Neo4j (through the JDO/DataNucleus Objectstore)|
|isis-app-todoapp||Todo app for Apache Isis|
||An implementation of Apache Isis' AuditingService3 API, persisting an AuditEntry record (through Isis' JDO ObjectStore) for each change to each object property.|
||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-devutils||A collection of domain services for Apache Isis providing access to an Isis application's metamodel, in support of various developer tasks.|
|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-fakedata||A domain service for Apache Isis which generates random fake data for use in unit and integration tests.|
|isis-module-poly||Helper classes (with demo application) to support polymorphic relationships in Apache Isis domain apps using the "table-of-two-halves" pattern.|
|isis-module-publishing||An implementation of Apache Isis' PublishingService and EventSerializer APIs, persisting a PublishedEvent record (through Isis' JDO Objectstore) for each changed published object or invoked published action, using a JSON format.|
|isis-module-publishmq||An implementation of Apache Isis' PublishingService SPI that publishes an ActionInvocationMemento DTO to ActiveMQ. Also includes a fully worked out example of routing the message using Camel.|
||A module for Apache Isis for administering users/roles/permissions and providing Shiro-based authentication and/or authorization.|
|isis-module-servletapi||Module to expose aspects of the Java servlet API to Apache Isis domain object model.|
|isis-module-sessionlogger||An implementation of Apache Isis' SessionLoggingService API, persisting a SessionLogEntry record (through Isis' JDO ObjectStore) each time a user logs in, logs out, or on session expiry.|
|isis-module-settings||A module for Apache Isis to manage and persist both application and user settings (using Isis' JDO Objectstore).|
|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-togglz||An integration of Togglz feature toggle library for Apache Isis.|
|isis-metamodel-paraname8||Named action parameters (requires JDK8).|
|isis-wicket-excel||A component for Apache Isis' Wicket viewer that allows parented and standalone collections to be downloaded as Excel spreadsheets.|
|isis-wicket-fullcalendar2||A component for Apache Isis' Wicket Viewer that render entities (implementing CalendarEvent) within a calendar.|
|isis-wicket-gmap3||A component for Apache Isis' Wicket viewer that renders a collection of entities upon a map.|
|isis-wicket-wickedcharts||A number of components for Apache Isis' Wicket viewer to integrate with wicked-charts, a wrapper around highcharts JS charting library.|
|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.
All add-ons are released as a Maven artifact into the
Maven central repo; just add the relevant dependencies to your
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.
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.
isis-module-xxx add-ons have the following structure:
dom- domain object module
integtests- integration tests
webapp- webapp to run
isis-wicket-xxx add-ons have the structure:
cpt- component module
webapp- webapp to run, and webapp (UI) tests
dom (for module add-ons) or
cpt (for wicket add-ons) are released
the Maven central repo.
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.
There are also a number of other repos which may nevertheless be of interest to developers building apps with Apache Isis.
|isis-jrebel-plugin||Apache Isis plugin for JRebel.|
|template||Template for creating a new isis-module-xxx add-on.|