Apache Isis

Saturday October 03, 2015

RAD RACE 2015: 7 proprietary CASE tools, and Apache Isis

On Sept 25th and 26th we (Jeroen van der Wal & Dan Haywood) took part in the Original RAD Race competition. This is a competition staged each year, this year (as in previous years) hosted and sponsored by Cap Gemini, and held in their offices in Utrecht, Netherlands. 

The competition consists of teams of exactly two team members; there were eight in total. The competition is held under very strict conditions: 8 hours of development on the first day, and a further 4 hours of coding the next. If you do the maths you’ll work out that means a sum total of 24 hours (2 team members x 12 hours), or 3 person-days.

We asked and were granted permission to develop our application as open source; our entry is in a github repo. If you look through the commit history you’ll see that all the work was done in those 12 hours (8 on 25 Sept 2015, a further 4 on 26 Sept). All the other teams used proprietary tools such as NoutBuilder, ThinkWise, Progress, SalesForce, Uniface and Mendix. We were the only open source entry, using Apache Isis (along with supporting modules in Isis Addons); in fact we think we are the first open source entry in the 17 years history of the competition.

OK, we didn’t win…​ but we got the impression we were mid-table, which we think is pretty good in the face of the competition. But you can judge for yourself; either download and build the code, or simply take a look at the various screenshots/our commentary on the README of the repo.

The README also has some of our "learnings" that we concluded from taking part in the competition.

Tuesday September 01, 2015

[ANN] Apache Isis v1.9.0 Released

The Apache Isis team is pleased to announce the release of Apache Isis v1.9.0.

New release includes 18 new features, 50 improvements and 25 bug fixes.  The new features include:
- upgrading dependency on DataNucleus to 4.1.x
- a new mechanism ("AppManifest") for bootstrapping Isis
- a bunch of useful new domain services, including support for content negotiation service within the Restful Objects viewer

Full release notes are available on the Apache Isis website.

This release cycle has also included the reworkings of the Apache Isis website, now built using Asciidoctor and hosted as a git repository.  There are also several new modules at the (non-ASF) Isis addons site, to support polymorphic relationships, publishing via ActiveMQ, feature toggles, and fakedata for testing.

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


--The Apache Isis team

Tuesday February 24, 2015

[ANN] Apache Isis 1.8.0

The Isis team is pleased to announce the release of:
  • Apache Isis Core version 1.8.0
  • SimpleApp Archetype 1.8.0
New features in this release include:
Full release notes are available on the Isis website.

Note that:
  • as of 1.8.0 the Wicket Viewer is bundled in with Core
  • the ToDoApp archetype is no longer provided, however the example todoapp is available from Isis addons (not ASF) to fork and adapt.
  • this release drops support for JDK 1.6, standardizes on JDK 1.7

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


--The Apache Isis team

Thursday December 04, 2014

[ANN] New committer for Apache Isis - Martin Grigorov

Martin Grigorov has been voted in as a new committer and PMC member for Apache Isis.[Read More]

Tuesday October 21, 2014

[ANN] Apache Isis version 1.7.0 Released

The Isis team is pleased to announce the release of:
* Apache Isis Core version 1.7.0
* Wicket Viewer 1.7.0
* SimpleApp Archetype 1.7.0
* ToDoApp Archetype 1.7.0

New features in this release include:
- 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

There are also some security fixes:
- ISIS-883: Bookmarkable action URLs can be submitted by a user without permissions to bring up action dialog (thereafter that user can invoke).
- ISIS-884: ErrorPage vulnerable to XSS attacks.
- ISIS-895: HomePage should honour authorization rules.

Full release notes are available at [1,2,3,4] on the Isis website.  

Isis modules that in 1.6.0 were released as part of Isis core have now moved to Isis addons [5]. Meanwhile the profilestore component (previously in core, but unused in the Wicket viewer) has been retired.  Migration should be straightforward, see [6].

Significant updates in Isis add-ons:
- isis-module-security module [7], for administering authentication and authorization
- all modules re-released against for 1.7.0.

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

[1] http://isis.apache.org/core/release-notes/isis-1.7.0.html
[2] http://isis.apache.org/components/viewers/wicket/release-notes/isis-viewer-wicket-1.7.0.html
[3] http://isis.apache.org/archetypes/release-notes/todoapp-archetype-1.7.0.html
[4] http://isis.apache.org/archetypes/release-notes/simpleapp-archetype-1.7.0.html
[5] http://isis.apache.org/core/release-notes/migrating-to-1.7.0.html
[6] https://github.com/isisaddons/isis-module-security
[7] http://www.isisaddons.org
[8] http://search.maven.org
[9] http://isis.apache.org/download.html

Monday July 28, 2014

[ANN] Apache Isis version 1.6.0 Released

The Isis team is pleased to announce the release of:
* Apache Isis Core version 1.6.0
* Wicket Viewer 1.6.0
* TodoApp Archetype 1.6.0
* SimpleApp Archetype 1.6.0

Note that:
* 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'

New and noteworthy

New features in this release include:
* 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)

Improvements include:
* Move jdo, shiro and restful into core (ISIS-832)
* Break out applib and JDO services into modules (ISIS-833)
* Mock out individual domain services in integration tests (ISIS-813)
* contributed properties and collections only for service actions with safe semantics (ISIS-801)
* Wicket viewer: Internationalization of UI elements (edit, ok, cancel, logout, about) (ISIS-815)

Notable bug fixes include:
* lifecycle callbacks now all fire correctly (ISIS-796)
* Restful objects decodes json request body while this is not (ISIS-797)
* Isis 1.5 blob mapping broken for PostgreSQL (when set to null) (ISIS-812)
* wrapSkipRules does not execute action due to being hidden (ISIS-818)
* Precision gets lost when double values are use in BigDecimal attributes (ISIS-821)
* In Wicket viewer, forms not flushing properties when annotated with JDO @NotPersistent. (ISIS-837)

Full release notes are available at [1,2,3,4] on the Isis website.

You can access this release directly from the Maven central repo [5], download the release and build it from source [6], or start a new app using either of the archetypes [7,8].

Similar to the way in which Apache Wicket has an additional "wicketstuff" website [9], we have now set up a new companion website, www.isisaddons.org [10].  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 www.isisaddons.org 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 www.isisaddons.org.  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.

Migration from previous versions

Note that some Maven modules have been renamed, added or removed.  While every effort has been made to minimize impact (in particular: no classes have been deleted or have changed their package), there are necessarily some changes that must be made to existing application pom.xml files.

For full details of migrating an existing Isis application to 1.6.0, please see [11].


--The Isis team

[1] http://isis.apache.org/core/release-notes/isis-1.6.0.html
[2] http://isis.apache.org/components/viewers/wicket/release-notes/isis-viewer-wicket-1.6.0.html
[3] http://isis.apache.org/getting-started/release-notes/todoapp-archetype-1.6.0.html
[4] http://isis.apache.org/getting-started/release-notes/simpleapp-archetype-1.6.0.html
[5] http://search.maven.org
[6] http://isis.apache.org/download.html
[7] http://isis.apache.org/intro/getting-started/simpleapp-archetype.html
[9] http://wicketstuff.org/
[10] http://www.isisaddons.org/
[11] http://isis.apache.org/core/release-notes/migrating-to-1.6.0.html

Saturday June 07, 2014

[ANN] Apache Isis version 1.5.0 - decoupling using the event bus, fixture scripts, better jrebel support

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.

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

[1] http://isis.apache.org/core/release-notes/isis-1.5.0.html
[2] http://isis.apache.org/components/viewers/wicket/release-notes/isis-viewer-wicket-1.5.0.html
[3] http://isis.apache.org/components/viewers/restfulobjects/release-notes/isis-viewer-restfulobjects-2.3.0.html
[4] http://isis.apache.org/components/objectstores/jdo/release-notes/isis-objectstore-jdo-1.5.0.html
[5] http://isis.apache.org/components/security/shiro/release-notes/isis-security-shiro-1.5.0.html
[6] http://isis.apache.org/getting-started/release-notes/quickstart_wrj-archetype-1.5.0.html
[7] http://isis.apache.org/getting-started/release-notes/simple_wrj-archetype-1.5.0.html
[8] http://search.maven.org
[9] http://isis.apache.org/download.html

Friday March 14, 2014

[ANN] Isis 1.4.0 released - yet more cool stuff!

The Isis team is pleased to announce the release of 1.4.0.  Load of new features, improved UI, auditing support, background commands.[Read More]

Thursday November 14, 2013

[ANN] Isis Wicket Viewer 1.3.1 released, with updated archetypes

The Isis team is pleased to announce the release of:
- Wicket Viewer 1.3.1
- Simple Archetype 1.3.1
- Quickstart Archetype 1.3.1

This is primarily a bug patch of Wicket viewer; the only changes to the
archetypes are to update the dependency on the Wicket viewer.  Full release
are available at [1][2][3] on the Isis website.

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


-The Isis team

[1] http://isis.apache.org/components/viewers/wicket/release-notes/isis-viewer-wicket-1.3.1.html
[2] http://isis.apache.org/getting-started/release-notes/quickstart_wrj-archetype-1.3.1.html
[3] http://isis.apache.org/getting-started/release-notes/simple_wrj-archetype-1.3.1.html
[4] http://search.maven.org
[5] http://isis.apache.org/download.html

Friday October 25, 2013

[ANN] Isis 1.3.0 released - crammed full of goodies!

The Isis team is pleased to announce the release of:

  • Apache Isis Core version 1.3.0
  • Wicket Viewer 1.3.0
  • Restful Objects Viewer 2.1.0
  • JDO Object Store 1.3.0
  • Shiro Security 1.3.0
  • Quickstart Archetype 1.3.0
  • Simple Archetype 1.3.0

There are some major new features in this release; indeed this is probably the most significant release of Isis as a TLP.  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.

Full release notes 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].


-The Isis team

[1] http://isis.apache.org/core/release-notes/isis-1.3.0.html
[2] http://isis.apache.org/components/viewers/wicket/release-notes/isis-viewer-wicket-1.3.0.html
[3] http://isis.apache.org/components/viewers/restfulobjects/release-notes/isis-viewer-restfulobjects-2.1.0.html
[4] http://isis.apache.org/components/objectstores/jdo/release-notes/isis-objectstore-jdo-1.3.0.html
[5] http://isis.apache.org/components/security/shiro/release-notes/isis-security-shiro-1.3.0.html
[6] http://isis.apache.org/getting-started/release-notes/quickstart_wrj-archetype-1.3.0.html
[7] http://isis.apache.org/getting-started/release-notes/simple_wrj-archetype-1.3.0.html
[8] http://search.maven.org
[9] http://isis.apache.org/download.html

Monday October 07, 2013

Google Open Source blogpost on ASF's GSOC2013 participants

The Google open source blog has just posted the write-up that ASF provided on some of its students for GSOC 2013. I contributed a couple of paragraphs on how Apache Isis' two students, Dimuthu Upeksha and Bhargav Golla, got on.[Read More]

Monday August 12, 2013

Welcoming Oscar Bou as a new committer to Apache Isis

Oscar Bou has been voted in as a new committer to Apache Isis[Read More]

Friday May 31, 2013

[ANN] Release of Apache Isis Core 1.2.0 and components

The Isis team is pleased to announce the release of Apache Isis Core version 1.2.0 and components.  There have been many new features and improvements in this release.  Highlights include: publishing service, reworked bookmarks in the wicket viewer, restful objects compliant(ish) with RO spec v1.0, and eager rendering of collections in restful objects.

[Read More]

Tuesday February 26, 2013

Marrying DHTMLX with Apache Isis

Announcing the development of a new integration between DHTMLX Javascript library and Apache Isis.[Read More]

Wednesday February 13, 2013

A couple of articles on Isis at SDJournal (free access)

A couple of articles on Apache Isis have just been published by the Software Developers Journal, available for free download.

The first article is a general introduction to Apache Isis, while the second looks in detail at Isis' RESTful APIs.  Both were written by Dan Haywood, Isis' current PMC chair.

To download the journal, you do need to register, but it won't cost you anything other than your email address.



Hot Blogs (today's hits)

Tag Cloud