Blog Archives

[ANN] Apache Isis version 1.8.0 released

We just pushed another release of Apache Isis, and it’s a big one! New features in this release include:

– a new theme-able look-n-feel for the Wicket viewer, using Twitter Bootstrap [1] and font awesome icons [2]
– a new simplified set of annotations (@Property, @DomainObject, @CollectionLayout etc) to make features more discoverable; see cheat-sheet [3]
– support to enable multi-tenancy (in particular in conjunction with Isis addons security module [4])
– new i18n support using gettext .po files, honouring user locale [5]
– sign-up/self-regisration support (so that end-users can create own user accounts) [6]
– EmailService for sending HTML emails, optionally with attachments [7]
– ability to validate individual parameters imperatively
– config property to flag use of deprecated annotations/method prefixes
– Maven plugin to validate domain object model with respect to Isis programming conventions
– improved support for Neo4J
– experimental support for more flexibility of generating Restful Objects representations [8]

Full release notes are available on the Isis website [9]

As of 1.8.0 we’re continuing to trim down and simplify.  To that end, the Wicket Viewer is bundled in with Core, while the ToDoApp archetype is no longer provided.  In its place the example todoapp is available from Isis addons (not ASF) to fork and adapt [10].

Also, I should point out that this release finally drops support for JDK 1.6, standardizes on JDK 1.7


Welcoming Martin Grigorov as a new committer on Apache Isis

I’m delighted to announce that Martin Grigorov has been voted in as a committer on Apache Isis, and also as a member of the Isis PMC. The first gives Martin the right to commit changes directly to Isis’ codebase, the second gives him the right to be involved in future votes.

Martin is already a key committer on the Apache Wicket project, as well as actively contributing to the companion Wicket-bootstrap project. But you also can’t failed to have noticed his involvement in Isis’ users and dev lists recently.

Initially Martin got involved because Jeroen and I brought him onto the Estatio project in order to “bootstrappify” the Wicket viewer. Even though that piece of work is substantially complete, Martin continues to be actively involved, providing patches and working on other tickets, and from speaking with him I know he’s keen to get involved with all aspects of Isis, not just the Wicket viewer. For recent contributions, check out these github statistics and his activity stream on JIRA.

I’m looking forward to working with Martin in the future; another great addition to Isis’ committers.

[ANN] Apache Isis version 1.7.0 Released

We just pushed out Isis 1.7.0, which consists of:
* Apache Isis Core version 1.7.0
* Wicket Viewer 1.7.0
* SimpleApp Archetype 1.7.0
* ToDoApp Archetype 1.7.0

This was mostly a bug fix release, including as it did some security fixes raised by the community (ISIS-883, ISIS-884, ISIS-895). It did have a couple of new features in it though, notably:

ISIS-809: @ViewModel annotation, no longer requiring explicit implementation of the IViewModel interface.
ISIS-916: ability to override framework-provided services, such as MementoService or BookmarkService.
ISIS-917: (beta): pluggable representations for the RO viewer

A lot of work was also done over in the Isis add-ons website, in particular the new isis-module-security add-on (see also this previous post).

Full release notes for the release are available on the Isis website, [1,2,3,4], as well as a migration guide [5].


Configuring Apache Isis’ Security Module Add-on

When v1.6 of Apache Isis was released a month or two back we also announced the creation of a new “add-ons” website as a place to hold reusable module of code for any Apache Isis app.

Working with Jeroen I recently completed a new security module that handles both authentication and authorization for Isis apps.
Read the rest of this entry

[ANN] Apache Isis version 1.6.0 Released

We just pushed out 1.6.0 of Isis, which now consists of:
  • Apache Isis Core version 1.6.0
  • Wicket Viewer 1.6.0
  • TodoApp Archetype 1.6.0
  • SimpleApp Archetype 1.6.0
If you compare this announcement to that of 1.5.0, you’ll see that we’re releasing a lot fewer components.  But that’s because:
  • Isis Core now incorporates the JDO Objectstore, Restful Objects Viewer and Shiro Security (all previously released as separate components).
  • TodoApp Archetype was previously the ‘Quickstart (Wicket/Restful/JDO) archetype’
  • SimpleApp Archetype was previously the ‘Simple (Wicket/Restful/JDO) archetype’
Full release notes are available on the Isis website, but there are some significant new features and reorganization worth calling out.
  • Extend (custom) EventBus vetoing logic so that can also encompass hide, disable, validate (ISIS-831)
  • @DomainService annotation to automatically discover and register domains (ISIS-493)
  • Wicket viewer: Add edit capability to view objects (ISIS-781)
  • Wicket viewer: Wizard-like form for Wicket viewer (ISIS-800, ISIS-810)
  • Move jdo, shiro and restful into core (ISIS-832)
  • Breaking out applib and JDO services into modules (ISIS-833)

The new EventBus stuff substantially helps decouple business logic in apps, while the @DomainService annotation reduces a lot of boring configuration.  But it’s the last two bullet points I want to talk a bit more about.

To expand on what these last two bullet points mean, as of 1.6.0 Isis now has a companion website, [10].  Similar to the way in which Apache Wicket has an additional “wicketstuff” website [9], the intention is for this site to house various third-party extensions to Isis, such that they can either be used “out-of-the-box”, or be forked and extended as need be.
Currently Isis add-ons fall into two categories:
  • modules… these provide business functionality to be incorporated directly into your domain object model, usually as domain services, occasionally with supporting entities.  Examples include mail merge, spreadsheets, tags/labels.
  • wicket extensions … these extend the capability of the Wicket viewer, eg maps, calendars, charts.

In the future we expect to add in “metamodel” category for customizations to Isis’ metamodel, eg an extension to leverage various Java 8 reflection features which we don’t want to roll into Isis core just yet.

The intention is for all modules in to follow a standard format, and include full unit and integration testing.  Thus, if you want to fork and extend any given module, then there is a solid base to start from.  Over time we hope that the “modules” in particular will provide a useful catalog to help bootstrap Isis development, and provide a way for the community to contribute back their own functionality as modules.

We are also considering moving some of Isis’ own modules (ie those recently factored out, such as for auditing, command, publishing etc) into  Doing so will reduce the size of Isis itself while making it possible for these components to be more easily extended/adapted by the user community as need be.  We will certainly take a *copy* of these modules in the first instance.

OK, that’s it.  Go check out some of those links…












[ANN] Apache Isis version 1.5.0 and related components Released

The Isis team is pleased to announce the release of:
– Apache Isis Core version 1.5.0
– Wicket Viewer 1.5.0
– Restful Objects Viewer 2.3.0
– JDO Object Store 1.5.0
– Shiro Security 1.5.0
– Simple Archetype 1.5.0
– Quickstart Archetype 1.5.0

New features and improvements in this release include:
– Additional EventBus service events, ability to programmatically trigger events, vetoing subscribers (ISIS-550, ISIS-786)
– Integration testing improvements, most notably the new FixtureScript API and auto-injection of services into integration tests (ISIS-776, ISIS-782, ISIS-783)
– Better handling of multiple realms in Shiro security (ISIS-746)
– Better default column sizes for applib services (command, auditing, pubsub) (ISIS-744, ISIS-750)
– Precommit phase to flush pending updates for applib services (ISIS-769)
– Preparatory work for move to Java 7 (ISIS-569, ISIS-770, ISIS-772)
– Improved support for JRebel in Maven and various IDEs (ISIS-756)

Notable bug fixes include:
– Fixed blob/clob mapping in JDO Objectstore (ISIS-714)
– Fixed handling of mandatory boolean parameters in Wicket viewer (ISIS-431)
– RO not threadsafe when buiding metamodel (ISIS-777)

Full release notes are available at [1,2,3,4,5,6,7] on the Isis website (links below).

You can access this release directly from the Maven central repo [8],
or download the release and build it from source [9].


-The Isis team


Isis 1.3.0 – crammed full of goodies!

Over on Apache Isis, we’ve just released a new version, 1.3.0, of the framework (core plus supporting components).

There are some major new features in this release; indeed this is probably the most significant release of Isis as a TLP.  Just to highlight some of the main features…

In core, the new features include:

  • contributed collections and properties
  • view model support (across both Wicket and RO viewers)
  • UI layouts defined in JSON files
  • better integration and BDD testing support, including Cucumber-JVM integration
  • domain services for handling application and user settings service
  • domain service providing various developer utilities (eg downloading metamodel)
  • domain service incorporating Guava’s EventBus service);
  • context-specific autoComplete
  • conditional choices
  • new annotations: @SortedBy; @CssClass; @PostsPropertyChangedEvent
  • helpers for writing contract unit tests and for writing comparable entities
  • optimistic locking improvements

In the Wicket viewer, new features include:

  • default dashboard
  • more sophisticated layouts, with multiple columns
  • dynamic reloading of layouts
  • sortable table columns
  • BlobPanel displaying images
  • bookmarkable actions
  • upgrade to wicket 6.11.0

In JDO objectstore, new features include:

  • better integration/validation between Isis and JDO metamodels
  • upgrade to DataNucleus 3.2.7
  • better Google App Engine compatibility
  • expose JDO PersistenceManager via domain service for more sophisticated use cases

The Restful Objects viewer also had several bug fixes vis-a-vis the RO spec v1.0 (thanks to our GSOC students for highlighting these).

In addition to all that, there is a new “simple” archetype, making it easier to get started.

The full release notes etc are available at [1,2,3,4,5,6,7] on the Isis website.

You can access this release directly from the Maven central repo [8], or download the release and build it from source [9].

As ever, feedback welcome


Welcoming Oscar Bou as a new committer to Apache Isis

I’m delighted to announce that Oscar Bou has been voted in as a committer on Apache Isis, and also to as a member of the Isis PMC. The first gives Oscar the right to commit changes directly to Isis’ codebase, the second gives him the right to be involved in future votes.

If you’ve been following the Isis users and dev lists over the last few months, you can’t fail to have seen Oscar’s energetic involvement. Oscar came across Isis while building a similar framework in-house, and has since worked with his team to port much of their application – still in development – over to Isis. In so doing, Oscar has provided invaluable early testing and feedback for new features being implemented.

Oscar has ticked the boxes in terms of being a committer: using the mailing lists appropriately, raising JIRA tickets, provided patches to address specific issues, providing help to others in the community. But he’s gone beyond that in raising a number of insightful – sometimes challenging – questions regarding Isis’ design/responsibilities as a framework, and shown that he’s keen to address these issues and thus improve Isis as a product.

I’m looking forward to working with Oscar in the future; another great addition to Isis’ committers.

As a bit of tidying up, we have also voted for Jeroen van der Wal, and Maurizio Taverna, to be members of the Isis PMC. In fact, in many/most Apache projects, all committers are also PMC members, so it was something of an anomaly that we originally voted Jeroen and Maurizio as just committers.

Apache Isis Core 1.1.0, Isis Shiro Security 1.1.0, Isis Wicket Viewer 1.1.0

A few days ago we (that is to say, the Apache Isis team) pushed out a new point release of Apache Isis Core (v1.1.0), along with two of its components Isis Shiro Security (v1.1.0) and the Isis Wicket Viewer (v1.1.0). The Quickstart Archetype that combines Wicket, Shiro, Restful and JDO also got an update (v1.0.2).

New and notable features in this release are: Read the rest of this entry

Apache Isis release v1.0.0

Following on from recent graduation as an Apache top level project and the work we’ve done since (new website, moving to git, semantic versioning), I’m proud to announce that Isis 1.0.0 has been released.

In fact, the news is a little old by now; we got the release out just in time for Xmas 2012, Read the rest of this entry

Apache Isis graduates as a top-level Apache project, gets a new website

Somewhat delayed news, but just to say that a couple of months ago (Oct 17 2012, to be precise), the Apache board approved the resolution to establish Isis as a top-level project.

This is a big deal. The Apache Software Foundation is all about establishing viable open source communities with software developed “out in the open”, and with squeaky clean intellectual property. The reason Apache has an incubator is to ensure that these principles are followed.

So, after a couple of years in the incubator Read the rest of this entry


Get every new post delivered to your Inbox.

Join 298 other followers