You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2020/03/28 09:45:34 UTC
[isis] 01/05: ISIS-2062: updates to docs
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to tag docs/isis-2.0.0-M3
in repository https://gitbox.apache.org/repos/asf/isis.git
commit 596a4681c7441c62910308cd325fadfb68b0fff0
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Sat Mar 28 09:08:22 2020 +0000
ISIS-2062: updates to docs
---
README.adoc | 8 +-
STATUS | 2 +
.../images/release-process/nexus-release-1.png | Bin 82855 -> 610302 bytes
.../ROOT/pages/post-release-successful.adoc | 53 +-
.../components/docs/modules/ROOT/pages/about.adoc | 2 +-
.../ROOT/pages/landing-page/components.adoc | 4 +-
.../modules/ROOT/pages/landing-page/releases.adoc | 2 +-
.../what-is-apache-isis/powered-by/contactapp.adoc | 2 +-
.../what-is-apache-isis/powered-by/estatio.adoc | 3 +-
.../powered-by/gesconsultor-grc.adoc | 2 +-
.../pages/what-is-apache-isis/screencasts.adoc | 37 +-
.../modules/ROOT/partials/module-nav/releases.adoc | 2 +-
.../resources/attachments/IsisCheatSheet.docx | Bin 23869 -> 24336 bytes
.../resources/attachments/IsisCheatSheet.pdf | Bin 179877 -> 195020 bytes
antora/components/relnotes/modules/ROOT/nav.adoc | 56 +-
.../modules/ROOT/pages/2012/1.0.0/relnotes.adoc | 124 --
.../modules/ROOT/pages/2013/1.1.0/relnotes.adoc | 139 --
.../modules/ROOT/pages/2013/1.2.0/relnotes.adoc | 134 --
.../modules/ROOT/pages/2013/1.3.0/relnotes.adoc | 254 ---
.../modules/ROOT/pages/2013/1.3.1/relnotes.adoc | 28 -
.../modules/ROOT/pages/2014/1.4.0/relnotes.adoc | 236 ---
.../modules/ROOT/pages/2014/1.4.1/relnotes.adoc | 28 -
.../modules/ROOT/pages/2014/1.5.0/relnotes.adoc | 123 --
.../modules/ROOT/pages/2014/1.6.0/relnotes.adoc | 90 -
.../modules/ROOT/pages/2014/1.7.0/mignotes.adoc | 269 ---
.../modules/ROOT/pages/2014/1.7.0/relnotes.adoc | 120 --
.../modules/ROOT/pages/2015/1.10.0/mignotes.adoc | 132 --
.../modules/ROOT/pages/2015/1.10.0/relnotes.adoc | 95 -
.../modules/ROOT/pages/2015/1.8.0/mignotes.adoc | 23 -
.../modules/ROOT/pages/2015/1.8.0/relnotes.adoc | 126 --
.../modules/ROOT/pages/2015/1.9.0/mignotes.adoc | 19 -
.../mignotes/bootstrapping-using-AppManifest.adoc | 258 ---
.../2015/1.9.0/mignotes/exception-recognizer.adoc | 42 -
.../fixture-scripts-specification-provider.adoc | 12 -
.../1.9.0/mignotes/specify-all-dom-packages.adoc | 37 -
.../2015/1.9.0/mignotes/upgrading-to-dn4.adoc | 251 ---
.../2015/1.9.0/mignotes/upgrading-to-java8.adoc | 82 -
.../pages/2015/1.9.0/mignotes/war-packaging.adoc | 38 -
.../modules/ROOT/pages/2015/1.9.0/relnotes.adoc | 132 --
.../modules/ROOT/pages/2016/1.11.0/mignotes.adoc | 92 -
.../modules/ROOT/pages/2016/1.11.0/relnotes.adoc | 82 -
.../modules/ROOT/pages/2016/1.11.1/relnotes.adoc | 19 -
.../modules/ROOT/pages/2016/1.12.0/mignotes.adoc | 81 -
.../modules/ROOT/pages/2016/1.12.0/relnotes.adoc | 97 -
.../modules/ROOT/pages/2016/1.12.1/relnotes.adoc | 23 -
.../modules/ROOT/pages/2016/1.12.2/relnotes.adoc | 21 -
.../modules/ROOT/pages/2016/1.13.0/mignotes.adoc | 231 ---
.../modules/ROOT/pages/2016/1.13.0/relnotes.adoc | 151 --
.../modules/ROOT/pages/2016/1.13.1/relnotes.adoc | 56 -
.../modules/ROOT/pages/2016/1.13.2/relnotes.adoc | 43 -
.../modules/ROOT/pages/2017/1.13.2.1/relnotes.adoc | 20 -
.../modules/ROOT/pages/2017/1.14.0/mignotes.adoc | 42 -
.../modules/ROOT/pages/2017/1.14.0/relnotes.adoc | 73 -
.../modules/ROOT/pages/2017/1.15.0/mignotes.adoc | 154 --
.../modules/ROOT/pages/2017/1.15.0/relnotes.adoc | 148 --
.../modules/ROOT/pages/2017/1.15.1/relnotes.adoc | 57 -
.../modules/ROOT/pages/2018/1.16.0/mignotes.adoc | 65 -
.../modules/ROOT/pages/2018/1.16.0/relnotes.adoc | 122 --
.../modules/ROOT/pages/2018/1.16.1/relnotes.adoc | 103 --
.../modules/ROOT/pages/2018/1.16.2/relnotes.adoc | 35 -
.../modules/ROOT/pages/2019/1.17.0/mignotes.adoc | 40 -
.../modules/ROOT/pages/2019/1.17.0/relnotes.adoc | 95 -
.../modules/ROOT/pages/2019/2.0.0-M2/relnotes.adoc | 2 +-
.../pages/2020/2.0.0-M3/migrating-to-2.0.0.adoc | 2 +-
.../modules/ROOT/pages/2020/2.0.0-M3/relnotes.adoc | 213 +++
.../relnotes/modules/ROOT/pages/about.adoc | 386 +---
.../partials/UNUSED/faster-turnaround-times.adoc | 2 +-
antora/playbooks/site.yml | 4 +-
antora/supplemental-ui/css/site-custom.css | 1 +
antora/supplemental-ui/doap_isis.rdf | 10 +
api/adoc/refguide/modules/ROOT/pages/about.adoc | 3 +-
.../modules/ROOT/partials/component-nav.adoc | 3 +-
api/adoc/userguide/modules/ROOT/pages/about.adoc | 15 +-
api/adoc/userguide/modules/btb/pages/about.adoc | 3 +-
.../userguide/modules/btb/pages/deployment.adoc | 20 -
.../modules/btb/pages/deployment/cmd-line.adoc | 117 --
.../modules/btb/pages/deployment/docker.adoc | 91 -
.../deployment/externalized-configuration.adoc | 259 ---
.../modules/btb/pages/deployment/gae.adoc | 50 -
.../modules/btb/pages/deployment/jvm-flags.adoc | 52 -
.../modules/btb/pages/deployment/neo4j.adoc | 50 -
.../modules/btb/pages/deployment/tomcat.adoc | 61 -
.../AbstractIsisSessionTemplate.adoc | 43 +-
.../BackgroundCommandExecution.adoc | 4 +-
.../modules/btb/pages/hints-and-tips.adoc | 17 +-
.../btb/pages/hints-and-tips/are-you-sure.adoc | 42 -
.../btb/pages/hints-and-tips/custom-css.adoc | 58 +
.../how-to-handle-void-and-null-results.adoc | 44 +-
.../btb/pages/hints-and-tips/persisted-title.adoc | 58 +-
.../btb/pages/hints-and-tips/pushing-changes.adoc | 140 --
.../replacing-default-service-implementations.adoc | 76 +-
.../subclass-properties-in-tables.adoc | 20 +-
.../hints-and-tips/transactions-and-errors.adoc | 3 +-
.../hints-and-tips/view-model-instantiation.adoc | 7 +-
api/adoc/userguide/modules/btb/pages/i18n.adoc | 193 +-
.../pages/programming-model/custom-validator.adoc | 124 +-
.../btb/pages/programming-model/finetuning.adoc | 25 +-
api/adoc/userguide/modules/btb/pages/web-xml.adoc | 521 ------
.../userguide/modules/btb/partials/module-nav.adoc | 2 -
.../fun}/images/application-menu/dividers.png | Bin
.../fun}/images/application-menu/layout-menus.pdn | Bin
.../fun}/images/application-menu/layout-menus.png | Bin
.../fun/images/application-menu/tertiary.png | Bin 0 -> 15059 bytes
.../images/layout-dynamic-xml/ToDoAppDashboard.png | Bin
.../fun}/images/layout-dynamic-xml/ToDoItem.png | Bin
.../modules/fun}/images/layouts/customer-order.png | Bin
.../fun}/images/layouts/estatio-Invoice.png | Bin
.../modules/fun}/images/layouts/estatio-Lease.png | Bin
.../fun}/images/layouts/estatio-LeaseItem.png | Bin
.../fun}/images/layouts/todoapp-ToDoItem.png | Bin
.../modules/fun}/images/menubars/010-download.png | Bin
.../modules/fun}/images/menubars/020-download.png | Bin
.../todoapp-Dashboard.png | Bin
api/adoc/userguide/modules/fun/pages/about.adoc | 6 -
.../framework-provided.adoc | 104 --
.../available-domain-services/incode-platform.adoc | 28 -
.../modules/fun/pages/business-rules.adoc | 17 +-
.../modules/fun/pages/business-rules/actions.adoc | 14 -
.../fun/pages/business-rules/side-effects.adoc | 51 -
.../fun/pages/business-rules/usability.adoc | 67 +-
.../modules/fun/pages/business-rules/validity.adoc | 47 +-
.../fun/pages/business-rules/visibility.adoc | 54 +-
.../{core-concepts.adoc => concepts-patterns.adoc} | 14 +-
.../apache-isis-vs-cqrs-and-event-sourcing.adoc | 6 +-
.../architecture.adoc | 7 +-
.../core-values.adoc | 7 +-
.../deployment-options.adoc | 0
.../domain-driven-design.adoc | 1 +
.../metamodel.adoc | 3 +-
.../naked-objects-pattern.adoc | 0
api/adoc/userguide/modules/fun/pages/crud.adoc | 20 -
.../userguide/modules/fun/pages/crud/deleting.adoc | 31 -
.../userguide/modules/fun/pages/crud/finding.adoc | 68 -
.../modules/fun/pages/crud/instantiating.adoc | 67 -
.../modules/fun/pages/crud/persisting.adoc | 76 -
.../userguide/modules/fun/pages/crud/updating.adoc | 25 -
.../pages/domain-entities-and-services.adoc} | 11 +-
.../pages/domain-entities-and-services/crud.adoc | 246 +++
.../domain-entities.adoc | 31 +-
.../domain-services.adoc | 34 +-
.../inject-services.adoc | 211 +++
.../modules/fun/pages/drop-downs-and-defaults.adoc | 67 +-
.../modules/fun/pages/meta-annotations.adoc | 110 ++
api/adoc/userguide/modules/fun/pages/mixins.adoc | 277 +++
.../fun/pages/{programming-model => }/modules.adoc | 3 +-
.../modules/fun/pages/object-members.adoc} | 7 +-
.../modules/fun/pages/object-members/actions.adoc | 284 +++
.../fun/pages/object-members/collections.adoc | 134 ++
.../properties.adoc | 232 ++-
.../pages/{building-blocks.adoc => overview.adoc} | 15 +-
.../business-rules.adoc | 13 +-
.../{building-blocks => overview}/events.adoc | 18 +-
.../{building-blocks => overview}/identifiers.adoc | 4 +-
.../{building-blocks => overview}/modules.adoc | 15 +-
.../object-members.adoc | 56 +-
.../fun/pages/overview/programming-model.adoc | 29 +
.../types-of-domain-objects.adoc | 46 +-
.../modules/fun/pages/programming-model.adoc | 81 -
.../fun/pages/programming-model/actions.adoc | 256 ---
.../fun/pages/programming-model/collections.adoc | 118 --
.../pages/programming-model/inject-services.adoc | 106 --
.../fun/pages/programming-model/mixins.adoc | 206 ---
.../properties-vs-parameters.adoc | 39 -
.../fun/pages/programming-model/view-models.adoc | 663 -------
api/adoc/userguide/modules/fun/pages/ui-hints.adoc | 16 -
.../fun/pages/ui-hints/eager-rendering.adoc | 52 -
.../modules/fun/pages/ui-hints/layout.adoc | 13 -
api/adoc/userguide/modules/fun/pages/ui.adoc | 37 +
.../{ui-hints => ui}/action-icons-and-css.adoc | 11 +-
.../modules/fun/pages/ui/menubars-layout.adoc | 182 ++
.../{ui-hints => ui}/names-and-descriptions.adoc | 1 -
.../modules/fun/pages/ui/object-layout.adoc | 296 +---
.../{ui-hints => ui}/object-titles-and-icons.adoc | 170 +-
.../modules/fun/pages/ui}/table-columns.adoc | 23 +-
.../userguide/modules/fun/pages/view-models.adoc | 302 ++++
.../modules/fun/pages/view-models/UNUSED-dto.adoc | 190 ++
.../userguide/modules/fun/partials/module-nav.adoc | 21 +-
.../main/adoc/modules/applib-ant/pages/Action.adoc | 29 +-
.../applib-ant/pages/Action/associateWith.adoc | 51 +-
.../modules/applib-ant/pages/Action/command.adoc | 20 +-
.../applib-ant/pages/Action/domainEvent.adoc | 54 +-
.../modules/applib-ant/pages/Action/hidden.adoc | 16 +-
.../modules/applib-ant/pages/Action/invokeOn.adoc | 63 -
.../applib-ant/pages/Action/publishing.adoc | 26 +-
.../applib-ant/pages/Action/restrictTo.adoc | 29 +-
.../modules/applib-ant/pages/Action/semantics.adoc | 49 +-
.../modules/applib-ant/pages/Action/typeOf.adoc | 12 +-
.../modules/applib-ant/pages/ActionLayout.adoc | 9 +-
.../applib-ant/pages/ActionLayout/bookmarking.adoc | 9 +-
.../pages/ActionLayout/contributedAs.adoc | 54 +-
.../applib-ant/pages/ActionLayout/cssClass.adoc | 14 +-
.../applib-ant/pages/ActionLayout/cssClassFa.adoc | 24 +-
.../applib-ant/pages/ActionLayout/describedAs.adoc | 17 +-
.../applib-ant/pages/ActionLayout/hidden.adoc | 28 +-
.../applib-ant/pages/ActionLayout/named.adoc | 20 +-
.../applib-ant/pages/ActionLayout/position.adoc | 59 +-
.../applib-ant/pages/ActionLayout/promptStyle.adoc | 41 +-
.../applib-ant/pages/ActionLayout/redirect.adoc | 22 +-
.../adoc/modules/applib-ant/pages/Collection.adoc | 7 +-
.../applib-ant/pages/Collection/domainEvent.adoc | 101 +-
.../applib-ant/pages/Collection/editing.adoc | 18 +-
.../applib-ant/pages/Collection/hidden.adoc | 21 +-
.../pages/Collection/mementoSerialization.adoc | 14 +-
.../applib-ant/pages/Collection/typeOf.adoc | 13 +-
.../modules/applib-ant/pages/CollectionLayout.adoc | 11 +-
.../pages/CollectionLayout/cssClass.adoc | 20 +-
.../pages/CollectionLayout/defaultView.adoc | 35 +-
.../pages/CollectionLayout/describedAs.adoc | 21 +-
.../applib-ant/pages/CollectionLayout/hidden.adoc | 22 +-
.../applib-ant/pages/CollectionLayout/named.adoc | 21 +-
.../applib-ant/pages/CollectionLayout/paged.adoc | 24 +-
.../pages/CollectionLayout/sortedBy.adoc | 41 +-
.../main/adoc/modules/applib-ant/pages/Column.adoc | 7 +-
.../main/adoc/modules/applib-ant/pages/Digits.adoc | 15 +-
.../modules/applib-ant/pages/Discriminator.adoc | 6 +-
.../modules/applib-ant/pages/DomainObject.adoc | 25 +-
.../pages/DomainObject/actionDomainEvent.adoc | 19 +-
.../applib-ant/pages/DomainObject/auditing.adoc | 11 +-
.../pages/DomainObject/autoCompleteRepository.adoc | 32 +-
.../applib-ant/pages/DomainObject/bounding.adoc | 11 +-
.../pages/DomainObject/collectionDomainEvent.adoc | 27 +-
.../pages/DomainObject/createdLifecycleEvent.adoc | 16 +-
.../applib-ant/pages/DomainObject/editing.adoc | 34 +-
.../pages/DomainObject/loadedLifecycleEvent.adoc | 21 +-
.../applib-ant/pages/DomainObject/mixinMethod.adoc | 36 +-
.../applib-ant/pages/DomainObject/nature.adoc | 24 +-
.../applib-ant/pages/DomainObject/objectType.adoc | 14 +-
.../DomainObject/persistedLifecycleEvent.adoc | 23 +-
.../DomainObject/persistingLifecycleEvent.adoc | 26 +-
.../pages/DomainObject/propertyDomainEvent.adoc | 8 +-
.../applib-ant/pages/DomainObject/publishing.adoc | 19 +-
.../pages/DomainObject/removingLifecycleEvent.adoc | 27 +-
.../pages/DomainObject/updatedLifecycleEvent.adoc | 24 +-
.../pages/DomainObject/updatingLifecycleEvent.adoc | 26 +-
.../applib-ant/pages/DomainObjectLayout.adoc | 17 +-
.../pages/DomainObjectLayout/bookmarking.adoc | 22 +-
.../pages/DomainObjectLayout/cssClass.adoc | 9 +-
.../pages/DomainObjectLayout/cssClassFa.adoc | 16 +-
.../pages/DomainObjectLayout/cssClassUiEvent.adoc | 28 +-
.../pages/DomainObjectLayout/describedAs.adoc | 7 +-
.../pages/DomainObjectLayout/iconUiEvent.adoc | 23 +-
.../pages/DomainObjectLayout/layoutUiEvent.adoc | 30 +-
.../applib-ant/pages/DomainObjectLayout/named.adoc | 12 +-
.../applib-ant/pages/DomainObjectLayout/paged.adoc | 13 +-
.../pages/DomainObjectLayout/plural.adoc | 6 +-
.../pages/DomainObjectLayout/titleUiEvent.adoc | 24 +-
.../modules/applib-ant/pages/DomainService.adoc | 3 +-
.../applib-ant/pages/DomainService/nature.adoc | 83 +-
.../applib-ant/pages/DomainService/objectType.adoc | 14 +-
.../applib-ant/pages/DomainServiceLayout.adoc | 5 +-
.../pages/DomainServiceLayout/menuBar.adoc | 3 +-
.../pages/DomainServiceLayout/named.adoc | 3 +-
.../main/adoc/modules/applib-ant/pages/Facets.adoc | 1 +
.../adoc/modules/applib-ant/pages/HomePage.adoc | 5 +-
.../modules/applib-ant/pages/IsisSessionScope.adoc | 1 +
.../adoc/modules/applib-ant/pages/MemberOrder.adoc | 6 +-
.../modules/applib-ant/pages/MemberOrder/name.adoc | 79 +-
.../applib-ant/pages/MemberOrder/sequence.adoc | 11 +-
.../adoc/modules/applib-ant/pages/MinLength.adoc | 3 +-
.../main/adoc/modules/applib-ant/pages/Mixin.adoc | 3 +-
.../modules/applib-ant/pages/Mixin/method.adoc | 28 +-
.../modules/applib-ant/pages/NotPersistent.adoc | 1 +
.../adoc/modules/applib-ant/pages/Nullable.adoc | 1 +
.../adoc/modules/applib-ant/pages/Parameter.adoc | 13 +-
.../applib-ant/pages/Parameter/fileAccept.adoc | 29 +-
.../applib-ant/pages/Parameter/maxLength.adoc | 11 +-
.../applib-ant/pages/Parameter/mustSatisfy.adoc | 47 +-
.../applib-ant/pages/Parameter/optionality.adoc | 17 +-
.../applib-ant/pages/Parameter/regexPattern.adoc | 21 +-
.../modules/applib-ant/pages/ParameterLayout.adoc | 21 +-
.../applib-ant/pages/ParameterLayout/cssClass.adoc | 18 +-
.../pages/ParameterLayout/describedAs.adoc | 20 +-
.../pages/ParameterLayout/labelPosition.adoc | 21 +-
.../pages/ParameterLayout/multiLine.adoc | 22 +-
.../applib-ant/pages/ParameterLayout/named.adoc | 35 +-
.../{renderedAsDayBefore.adoc => renderDay.adoc} | 28 +-
.../pages/ParameterLayout/typicalLength.adoc | 12 +-
.../adoc/modules/applib-ant/pages/Pattern.adoc | 9 +-
.../applib-ant/pages/PersistenceCapable.adoc | 6 +-
.../adoc/modules/applib-ant/pages/PrimaryKey.adoc | 3 +-
.../modules/applib-ant/pages/Programmatic.adoc | 1 +
.../adoc/modules/applib-ant/pages/Property.adoc | 17 +-
.../modules/applib-ant/pages/Property/command.adoc | 4 +-
.../applib-ant/pages/Property/domainEvent.adoc | 69 +-
.../modules/applib-ant/pages/Property/editing.adoc | 26 +-
.../applib-ant/pages/Property/fileAccept.adoc | 15 +-
.../modules/applib-ant/pages/Property/hidden.adoc | 25 +-
.../applib-ant/pages/Property/maxLength.adoc | 29 +-
.../pages/Property/mementoSerialization.adoc | 21 +-
.../applib-ant/pages/Property/mustSatisfy.adoc | 31 +-
.../applib-ant/pages/Property/optionality.adoc | 69 +-
.../applib-ant/pages/Property/projecting.adoc | 14 +-
.../applib-ant/pages/Property/publishing.adoc | 30 +-
.../applib-ant/pages/Property/regexPattern.adoc | 17 +-
.../modules/applib-ant/pages/PropertyLayout.adoc | 23 +-
.../applib-ant/pages/PropertyLayout/cssClass.adoc | 18 +-
.../pages/PropertyLayout/describedAs.adoc | 16 +-
.../applib-ant/pages/PropertyLayout/hidden.adoc | 28 +-
.../pages/PropertyLayout/labelPosition.adoc | 40 +-
.../applib-ant/pages/PropertyLayout/multiLine.adoc | 21 +-
.../applib-ant/pages/PropertyLayout/named.adoc | 22 +-
.../applib-ant/pages/PropertyLayout/navigable.adoc | 26 +-
.../pages/PropertyLayout/promptStyle.adoc | 21 +-
.../{renderedAsDayBefore.adoc => renderDay.adoc} | 34 +-
.../pages/PropertyLayout/repainting.adoc | 12 +-
.../pages/PropertyLayout/typicalLength.adoc | 16 +-
.../main/adoc/modules/applib-ant/pages/Title.adoc | 1 +
.../adoc/modules/applib-ant/pages/ViewModel.adoc | 4 +-
.../applib-ant/pages/ViewModel/objectType.adoc | 13 +-
.../applib-ant/pages/XmlJavaTypeAdapter.adoc | 3 +-
.../modules/applib-ant/pages/XmlRootElement.adoc | 19 +-
.../main/adoc/modules/applib-ant/pages/about.adoc | 2 +-
.../adoc/modules/applib-ant/pages/about/jdo.adoc | 19 +-
.../adoc/modules/applib-ant/pages/about/jee.adoc | 4 +-
.../adoc/modules/applib-ant/pages/about/main.adoc | 4 +-
.../adoc/modules/applib-ant/pages/about/other.adoc | 2 +-
.../{applib-cm => applib-classes}/examples.sh | 1 +
.../examples/clock/Clock.java | 0
.../examples/clock/package-info.java | 0
.../examples/domain/DomainObjectList.java | 0
.../events/ActionArgumentUsabilityEvent.java | 0
.../events/ActionArgumentVisibilityEvent.java | 0
.../examples/events/EventObjectBase.java | 0
.../events/domain/AbstractDomainEvent.java | 0
.../examples/events/domain/ActionDomainEvent.java | 0
.../events/domain/CollectionDomainEvent.java | 0
.../events/domain/PropertyDomainEvent.java | 0
.../events/lifecycle/AbstractLifecycleEvent.java | 0
.../events/lifecycle/ObjectCreatedEvent.java | 0
.../events/lifecycle/ObjectLoadedEvent.java | 0
.../events/lifecycle/ObjectPersistedEvent.java | 0
.../events/lifecycle/ObjectPersistingEvent.java | 0
.../events/lifecycle/ObjectRemovingEvent.java | 0
.../events/lifecycle/ObjectUpdatedEvent.java | 0
.../events/lifecycle/ObjectUpdatingEvent.java | 0
.../examples/events/ui/AbstractUiEvent.java | 0
.../examples/events/ui/CssClassUiEvent.java | 0
.../examples/events/ui/IconUiEvent.java | 0
.../examples/events/ui/LayoutUiEvent.java | 0
.../examples/events/ui/TitleUiEvent.java | 0
.../examples/graph/Edge.java | 0
.../examples/graph/SimpleEdge.java | 0
.../examples/graph/Vertex.java | 0
.../examples/graph/tree/LazyTreeNode.java | 0
.../examples/graph/tree/TreeAdapter.java | 0
.../examples/graph/tree/TreeNode.java | 0
.../graph/tree/TreeNode_iteratorBreadthFirst.java | 0
.../graph/tree/TreeNode_iteratorDepthFirst.java | 0
.../graph/tree/TreeNode_iteratorHierarchyUp.java | 0
.../examples/graph/tree/TreePath.java | 0
.../examples/graph/tree/TreePath_Default.java | 0
.../examples/graph/tree/TreeState.java | 0
.../examples/graph/tree/TreeState_Default.java | 0
.../layout/component/ActionLayoutData.java | 0
.../layout/component/ActionLayoutDataOwner.java | 0
.../layout/component/CollectionLayoutData.java | 0
.../component/CollectionLayoutDataOwner.java | 0
.../layout/component/CssClassFaPosition.java | 0
.../layout/component/DomainObjectLayoutData.java | 0
.../component/DomainObjectLayoutDataOwner.java | 0
.../examples/layout/component/FieldSet.java | 0
.../examples/layout/component/FieldSetOwner.java | 0
.../examples/layout/component/HasBookmarking.java | 0
.../examples/layout/component/HasCssClass.java | 0
.../examples/layout/component/HasCssClassFa.java | 0
.../examples/layout/component/HasDescribedAs.java | 0
.../examples/layout/component/HasHidden.java | 0
.../examples/layout/component/HasNamed.java | 0
.../examples/layout/component/MemberRegion.java | 0
.../layout/component/MemberRegionOwner.java | 0
.../examples/layout/component/Owned.java | 0
.../examples/layout/component/Owner.java | 0
.../layout/component/PropertyLayoutData.java | 0
.../layout/component/ServiceActionLayoutData.java | 0
.../component/ServiceActionLayoutDataOwner.java | 0
.../examples/layout/component/package-info.java | 0
.../examples/layout/grid/Grid.java | 0
.../examples/layout/grid/GridAbstract.java | 0
.../layout/grid/bootstrap3/BS3ClearFix.java | 0
.../layout/grid/bootstrap3/BS3ClearFixHidden.java | 0
.../layout/grid/bootstrap3/BS3ClearFixVisible.java | 0
.../examples/layout/grid/bootstrap3/BS3Col.java | 0
.../layout/grid/bootstrap3/BS3Element.java | 0
.../layout/grid/bootstrap3/BS3ElementAbstract.java | 0
.../examples/layout/grid/bootstrap3/BS3Grid.java | 0
.../examples/layout/grid/bootstrap3/BS3Row.java | 0
.../layout/grid/bootstrap3/BS3RowContent.java | 0
.../layout/grid/bootstrap3/BS3RowContentOwner.java | 0
.../layout/grid/bootstrap3/BS3RowOwner.java | 0
.../examples/layout/grid/bootstrap3/BS3Tab.java | 0
.../layout/grid/bootstrap3/BS3TabGroup.java | 0
.../layout/grid/bootstrap3/BS3TabGroupOwner.java | 0
.../layout/grid/bootstrap3/BS3TabOwner.java | 0
.../examples/layout/grid/bootstrap3/HasCssId.java | 0
.../examples/layout/grid/bootstrap3/Size.java | 0
.../examples/layout/grid/bootstrap3/SizeSpan.java | 0
.../layout/grid/bootstrap3/WithinGrid.java | 0
.../layout/grid/bootstrap3/package-info.java | 0
.../examples/layout/links/Link.java | 0
.../examples/layout/links/package-info.java | 0
.../examples/layout/menubars/Menu.java | 0
.../examples/layout/menubars/MenuBar.java | 0
.../examples/layout/menubars/MenuBars.java | 0
.../examples/layout/menubars/MenuBarsAbstract.java | 0
.../examples/layout/menubars/MenuSection.java | 0
.../layout/menubars/bootstrap3/BS3Menu.java | 0
.../layout/menubars/bootstrap3/BS3MenuBar.java | 0
.../layout/menubars/bootstrap3/BS3MenuBars.java | 0
.../layout/menubars/bootstrap3/BS3MenuSection.java | 0
.../layout/menubars/bootstrap3/package-info.java | 0
.../examples/layout/package-info.java | 0
.../examples/mixins/MixinConstants.java | 0
.../examples/mixins/dto/Dto.java | 0
.../examples/mixins/dto/Dto_downloadXml.java | 0
.../examples/mixins/dto/Dto_downloadXsd.java | 0
.../examples/mixins/dto/package-info.java | 0
.../mixins/layout/Object_downloadLayoutXml.java | 0
.../examples/mixins/layout/Object_openRestApi.java | 0
.../mixins/layout/Object_rebuildMetamodel.java | 0
.../metamodel/Object_downloadMetaModelXml.java | 25 +-
.../mixins/metamodel/Object_objectIdentifier.java | 17 +-
.../mixins/metamodel/Object_objectType.java | 17 +-
.../examples/mixins/timestamp/HoldsUpdatedAt.java | 0
.../examples/mixins/timestamp/HoldsUpdatedBy.java | 0
.../examples/mixins/timestamp/Timestampable.java | 0
.../examples/mixins/timestamp/package-info.java | 0
.../examples/spec/AbstractSpecification.java | 0
.../examples/spec/AbstractSpecification2.java | 0
.../examples/spec/Specification.java | 0
.../examples/spec/Specification2.java | 0
.../examples/spec/SpecificationAnd.java | 0
.../examples/spec/SpecificationNot.java | 0
.../examples/spec/SpecificationOr.java | 0
.../examples/spec/package-info.java | 0
.../examples/util/Enums.java | 0
.../examples/util/Equality.java | 0
.../examples/util/Hashing.java | 0
.../examples/util/JaxbAdapters.java | 0
.../examples/util/JaxbUtil.java | 0
.../examples/util/ObjectContract_Empty.java | 0
.../examples/util/ObjectContract_Impl.java | 0
.../examples/util/ObjectContract_Parser.java | 0
.../examples/util/ObjectContracts.java | 0
.../examples/util/ReasonBuffer.java | 0
.../examples/util/ReasonBuffer2.java | 0
.../examples/util/Reasons.java | 0
.../examples/util/TitleBuffer.java | 0
.../examples/util/TitleBufferException.java | 0
.../examples/util/ToString.java | 0
.../examples/util/ZipWriter.java | 0
.../examples/util/package-info.java | 0
.../examples/util/schema/ChangesDtoUtils.java | 0
.../examples/util/schema/CommandDtoUtils.java | 0
.../examples/util/schema/CommonDtoUtils.java | 0
.../examples/util/schema/InteractionDtoUtils.java | 0
.../util/schema/MemberExecutionDtoUtils.java | 0
.../examples/value/Blob.java | 0
.../examples/value/Clob.java | 0
.../examples/value/Image.java | 0
.../examples/value/LocalResourcePath.java | 0
.../examples/value/Markup.java | 0
.../examples/value/NamedWithMimeType.java | 0
.../examples/value/Password.java | 0
.../examples/value/package-info.java | 0
.../reference-classes/issue-in-more-detail.png | Bin
.../prefixes/choices/dependent.png | Bin
.../reserved/cssClass/strikethrough.png | Bin
.../reserved/iconName/differing.pdn | Bin
.../reserved/iconName/differing.png | Bin
.../reserved/iconName/png-files.png | Bin
.../images/value-types/markup.png | Bin
.../modules/{applib-cm => applib-classes}/nav.adoc | 0
.../pages/ViewModel.adoc} | 8 +-
.../adoc/modules/applib-classes}/pages/about.adoc | 10 +-
.../pages/events.adoc} | 7 +-
.../pages/events}/domainevent.adoc | 25 +-
.../events}/domainevent/AbstractDomainEvent.adoc | 86 +-
.../events}/domainevent/ActionDomainEvent.adoc | 18 +-
.../events}/domainevent/CollectionDomainEvent.adoc | 21 +-
.../events}/domainevent/PropertyDomainEvent.adoc | 21 +-
.../pages/events}/lifecycleevent.adoc | 42 +-
.../lifecycleevent/AbstractLifecycleEvent.adoc | 17 +-
.../events}/lifecycleevent/ObjectCreatedEvent.adoc | 2 +-
.../events}/lifecycleevent/ObjectLoadedEvent.adoc | 6 +-
.../lifecycleevent/ObjectPersistedEvent.adoc | 2 +-
.../lifecycleevent/ObjectPersistingEvent.adoc | 2 +-
.../lifecycleevent/ObjectRemovingEvent.adoc | 2 +-
.../events}/lifecycleevent/ObjectUpdatedEvent.adoc | 2 +-
.../lifecycleevent/ObjectUpdatingEvent.adoc | 2 +-
.../pages/events}/uievent.adoc | 36 +-
.../pages/events}/uievent/CssClassUiEvent.adoc | 11 +-
.../pages/events}/uievent/IconUiEvent.adoc | 14 +-
.../pages/events}/uievent/TitleUiEvent.adoc | 11 +-
.../classes => applib-classes/pages}/i18n.adoc | 1 +
.../pages}/i18n/TranslatableString.adoc | 7 +-
.../pages/layout.adoc} | 6 +-
.../pages/layout}/menubars.adoc | 23 +-
.../pages/layout/object-layout.adoc} | 26 +-
.../pages/roles-mixins-contributees.adoc | 21 +-
.../roles-mixins-contributees/contributee.adoc} | 50 +-
.../pages/roles-mixins-contributees}/mixins.adoc | 4 +-
.../roles-mixins-contributees}/mixins/Dto.adoc | 22 +-
.../roles-mixins-contributees}/mixins/Object.adoc | 42 +-
.../mixins/Persistable.adoc | 16 +-
.../pages/roles-mixins-contributees}/roles.adoc | 0
.../roles/HoldsUpdatedAt.adoc | 4 +-
.../roles/HoldsUpdatedBy.adoc | 4 +-
.../roles/Timestampable.adoc | 6 +-
.../classes => applib-classes/pages}/spec.adoc | 14 +-
.../classes => applib-classes/pages}/utility.adoc | 2 +-
.../pages}/utility/Enums.adoc | 45 +-
.../pages}/utility/ObjectContracts.adoc | 64 +-
.../pages}/utility/Reasons.adoc | 4 +-
.../pages}/utility/TitleBuffer.adoc | 2 +-
.../pages}/value-types.adoc | 44 +-
.../applib-classes/pages/value-types/Blob.adoc | 71 +
.../applib-classes/pages/value-types/Clob.adoc | 86 +
.../pages}/value-types/Markup.adoc | 15 +-
.../applib-classes/partials/module-nav.adoc | 12 +
.../main/adoc/modules/applib-cm/pages/about.adoc | 12 -
.../main/adoc/modules/applib-cm/pages/classes.adoc | 25 -
.../pages/classes/AppManifest-bootstrapping.adoc | 300 ----
.../pages/classes/AppManifest2-bootstrapping.adoc | 191 --
.../applib-cm/pages/classes/contributee.adoc | 12 -
.../pages/classes/contributee/HasUserName.adoc | 27 -
.../modules/applib-cm/pages/classes/super.adoc | 50 -
.../pages/classes/super/AbstractService.adoc | 10 -
.../pages/classes/super/AbstractViewModel.adoc | 15 -
.../pages/classes/super/FixtureScript.adoc | 22 -
.../pages/classes/super/FixtureScripts.adoc | 14 -
.../applib-cm/pages/classes/value-types/Blob.adoc | 49 -
.../applib-cm/pages/classes/value-types/Clob.adoc | 55 -
.../applib-cm/pages/methods/lifecycle/created.adoc | 16 -
.../applib-cm/pages/methods/lifecycle/jdo-api.adoc | 50 -
.../applib-cm/pages/methods/lifecycle/removed.adoc | 15 -
.../modules/applib-cm/pages/methods/prefixes.adoc | 217 ---
.../applib-cm/pages/methods/prefixes/default.adoc | 188 --
.../main/adoc/modules/applib-cm/pages/rgcms.adoc | 7 -
.../modules/applib-cm/partials/module-nav.adoc | 9 -
.../{applib-cm => applib-methods}/examples.sh | 1 +
.../examples/clock/Clock.java | 0
.../examples/clock/package-info.java | 0
.../examples/domain/DomainObjectList.java | 0
.../events/ActionArgumentUsabilityEvent.java | 0
.../events/ActionArgumentVisibilityEvent.java | 0
.../examples/events/EventObjectBase.java | 0
.../events/domain/AbstractDomainEvent.java | 0
.../examples/events/domain/ActionDomainEvent.java | 0
.../events/domain/CollectionDomainEvent.java | 0
.../events/domain/PropertyDomainEvent.java | 0
.../events/lifecycle/AbstractLifecycleEvent.java | 0
.../events/lifecycle/ObjectCreatedEvent.java | 0
.../events/lifecycle/ObjectLoadedEvent.java | 0
.../events/lifecycle/ObjectPersistedEvent.java | 0
.../events/lifecycle/ObjectPersistingEvent.java | 0
.../events/lifecycle/ObjectRemovingEvent.java | 0
.../events/lifecycle/ObjectUpdatedEvent.java | 0
.../events/lifecycle/ObjectUpdatingEvent.java | 0
.../examples/events/ui/AbstractUiEvent.java | 0
.../examples/events/ui/CssClassUiEvent.java | 0
.../examples/events/ui/IconUiEvent.java | 0
.../examples/events/ui/LayoutUiEvent.java | 0
.../examples/events/ui/TitleUiEvent.java | 0
.../examples/graph/Edge.java | 0
.../examples/graph/SimpleEdge.java | 0
.../examples/graph/Vertex.java | 0
.../examples/graph/tree/LazyTreeNode.java | 0
.../examples/graph/tree/TreeAdapter.java | 0
.../examples/graph/tree/TreeNode.java | 0
.../graph/tree/TreeNode_iteratorBreadthFirst.java | 0
.../graph/tree/TreeNode_iteratorDepthFirst.java | 0
.../graph/tree/TreeNode_iteratorHierarchyUp.java | 0
.../examples/graph/tree/TreePath.java | 0
.../examples/graph/tree/TreePath_Default.java | 0
.../examples/graph/tree/TreeState.java | 0
.../examples/graph/tree/TreeState_Default.java | 0
.../layout/component/ActionLayoutData.java | 0
.../layout/component/ActionLayoutDataOwner.java | 0
.../layout/component/CollectionLayoutData.java | 0
.../component/CollectionLayoutDataOwner.java | 0
.../layout/component/CssClassFaPosition.java | 0
.../layout/component/DomainObjectLayoutData.java | 0
.../component/DomainObjectLayoutDataOwner.java | 0
.../examples/layout/component/FieldSet.java | 0
.../examples/layout/component/FieldSetOwner.java | 0
.../examples/layout/component/HasBookmarking.java | 0
.../examples/layout/component/HasCssClass.java | 0
.../examples/layout/component/HasCssClassFa.java | 0
.../examples/layout/component/HasDescribedAs.java | 0
.../examples/layout/component/HasHidden.java | 0
.../examples/layout/component/HasNamed.java | 0
.../examples/layout/component/MemberRegion.java | 0
.../layout/component/MemberRegionOwner.java | 0
.../examples/layout/component/Owned.java | 0
.../examples/layout/component/Owner.java | 0
.../layout/component/PropertyLayoutData.java | 0
.../layout/component/ServiceActionLayoutData.java | 0
.../component/ServiceActionLayoutDataOwner.java | 0
.../examples/layout/component/package-info.java | 0
.../examples/layout/grid/Grid.java | 0
.../examples/layout/grid/GridAbstract.java | 0
.../layout/grid/bootstrap3/BS3ClearFix.java | 0
.../layout/grid/bootstrap3/BS3ClearFixHidden.java | 0
.../layout/grid/bootstrap3/BS3ClearFixVisible.java | 0
.../examples/layout/grid/bootstrap3/BS3Col.java | 0
.../layout/grid/bootstrap3/BS3Element.java | 0
.../layout/grid/bootstrap3/BS3ElementAbstract.java | 0
.../examples/layout/grid/bootstrap3/BS3Grid.java | 0
.../examples/layout/grid/bootstrap3/BS3Row.java | 0
.../layout/grid/bootstrap3/BS3RowContent.java | 0
.../layout/grid/bootstrap3/BS3RowContentOwner.java | 0
.../layout/grid/bootstrap3/BS3RowOwner.java | 0
.../examples/layout/grid/bootstrap3/BS3Tab.java | 0
.../layout/grid/bootstrap3/BS3TabGroup.java | 0
.../layout/grid/bootstrap3/BS3TabGroupOwner.java | 0
.../layout/grid/bootstrap3/BS3TabOwner.java | 0
.../examples/layout/grid/bootstrap3/HasCssId.java | 0
.../examples/layout/grid/bootstrap3/Size.java | 0
.../examples/layout/grid/bootstrap3/SizeSpan.java | 0
.../layout/grid/bootstrap3/WithinGrid.java | 0
.../layout/grid/bootstrap3/package-info.java | 0
.../examples/layout/links/Link.java | 0
.../examples/layout/links/package-info.java | 0
.../examples/layout/menubars/Menu.java | 0
.../examples/layout/menubars/MenuBar.java | 0
.../examples/layout/menubars/MenuBars.java | 0
.../examples/layout/menubars/MenuBarsAbstract.java | 0
.../examples/layout/menubars/MenuSection.java | 0
.../layout/menubars/bootstrap3/BS3Menu.java | 0
.../layout/menubars/bootstrap3/BS3MenuBar.java | 0
.../layout/menubars/bootstrap3/BS3MenuBars.java | 0
.../layout/menubars/bootstrap3/BS3MenuSection.java | 0
.../layout/menubars/bootstrap3/package-info.java | 0
.../examples/layout/package-info.java | 0
.../examples/mixins/MixinConstants.java | 0
.../examples/mixins/dto/Dto.java | 0
.../examples/mixins/dto/Dto_downloadXml.java | 0
.../examples/mixins/dto/Dto_downloadXsd.java | 0
.../examples/mixins/dto/package-info.java | 0
.../mixins/layout/Object_downloadLayoutXml.java | 0
.../examples/mixins/layout/Object_openRestApi.java | 0
.../mixins/layout/Object_rebuildMetamodel.java | 0
.../metamodel/Object_downloadMetaModelXml.java | 25 +-
.../mixins/metamodel/Object_objectIdentifier.java | 17 +-
.../mixins/metamodel/Object_objectType.java | 17 +-
.../examples/mixins/timestamp/HoldsUpdatedAt.java | 0
.../examples/mixins/timestamp/HoldsUpdatedBy.java | 0
.../examples/mixins/timestamp/Timestampable.java | 0
.../examples/mixins/timestamp/package-info.java | 0
.../examples/spec/AbstractSpecification.java | 0
.../examples/spec/AbstractSpecification2.java | 0
.../examples/spec/Specification.java | 0
.../examples/spec/Specification2.java | 0
.../examples/spec/SpecificationAnd.java | 0
.../examples/spec/SpecificationNot.java | 0
.../examples/spec/SpecificationOr.java | 0
.../examples/spec/package-info.java | 0
.../examples/util/Enums.java | 0
.../examples/util/Equality.java | 0
.../examples/util/Hashing.java | 0
.../examples/util/JaxbAdapters.java | 0
.../examples/util/JaxbUtil.java | 0
.../examples/util/ObjectContract_Empty.java | 0
.../examples/util/ObjectContract_Impl.java | 0
.../examples/util/ObjectContract_Parser.java | 0
.../examples/util/ObjectContracts.java | 0
.../examples/util/ReasonBuffer.java | 0
.../examples/util/ReasonBuffer2.java | 0
.../examples/util/Reasons.java | 0
.../examples/util/TitleBuffer.java | 0
.../examples/util/TitleBufferException.java | 0
.../examples/util/ToString.java | 0
.../examples/util/ZipWriter.java | 0
.../examples/util/package-info.java | 0
.../examples/util/schema/ChangesDtoUtils.java | 0
.../examples/util/schema/CommandDtoUtils.java | 0
.../examples/util/schema/CommonDtoUtils.java | 0
.../examples/util/schema/InteractionDtoUtils.java | 0
.../util/schema/MemberExecutionDtoUtils.java | 0
.../examples/value/Blob.java | 0
.../examples/value/Clob.java | 0
.../examples/value/Image.java | 0
.../examples/value/LocalResourcePath.java | 0
.../examples/value/Markup.java | 0
.../examples/value/NamedWithMimeType.java | 0
.../examples/value/Password.java | 0
.../examples/value/package-info.java | 0
.../reference-classes/issue-in-more-detail.png | Bin
.../prefixes/choices/dependent.png | Bin
.../reserved/cssClass/strikethrough.png | Bin
.../reserved/iconName/differing.pdn | Bin
.../reserved/iconName/differing.png | Bin
.../reserved/iconName/png-files.png | Bin
.../images/value-types/markup.png | Bin
.../modules/{applib-cm => applib-methods}/nav.adoc | 0
.../pages/about.adoc} | 7 +-
.../pages}/lifecycle.adoc | 51 +-
.../applib-methods/pages/lifecycle/created.adoc | 0
.../pages}/lifecycle/loaded.adoc | 2 +-
.../pages}/lifecycle/persisted.adoc | 4 +-
.../pages}/lifecycle/persisting.adoc | 4 +-
.../pages}/lifecycle/removing.adoc | 4 +-
.../pages}/lifecycle/updated.adoc | 4 +-
.../pages}/lifecycle/updating.adoc | 4 +-
.../modules/applib-methods/pages/prefixes.adoc | 212 +++
.../pages}/prefixes/autoComplete.adoc | 49 +-
.../pages}/prefixes/choices.adoc | 112 +-
.../applib-methods/pages/prefixes/default.adoc | 161 ++
.../pages/prefixes/deprecated}/addTo.adoc | 2 +-
.../pages/prefixes/deprecated}/clear.adoc | 2 +-
.../pages/prefixes/deprecated}/modify.adoc | 2 +-
.../pages/prefixes/deprecated}/removeFrom.adoc | 2 +-
.../pages/prefixes/deprecated}/validate.adoc | 0
.../pages/prefixes/deprecated}/validateAddTo.adoc | 2 +-
.../prefixes/deprecated}/validateRemoveFrom.adoc | 2 +-
.../pages}/prefixes/disable.adoc | 83 +-
.../pages}/prefixes/get.adoc | 2 +-
.../pages}/prefixes/hide.adoc | 71 +-
.../pages}/prefixes/set.adoc | 4 +-
.../methods => applib-methods/pages}/reserved.adoc | 41 +-
.../pages}/reserved/cssClass.adoc | 13 +-
.../pages/reserved/deprecated}/disable.adoc | 6 +-
.../pages/reserved/deprecated}/getId.adoc | 4 +-
.../pages/reserved/deprecated}/hide.adoc | 8 +-
.../pages/reserved/deprecated}/validate.adoc | 2 +-
.../pages}/reserved/iconName.adoc | 10 +-
.../pages}/reserved/layout.adoc | 18 +-
.../pages}/reserved/title.adoc | 39 +-
.../applib-methods/partials/module-nav.adoc | 8 +
.../examples/services/hint/HintStore.java | 1 -
.../modules/applib-svc/pages/AuditerService.adoc | 2 +-
.../modules/applib-svc/pages/CommandService.adoc | 2 +-
.../applib-svc/pages/ConfigurationViewService.adoc | 3 +-
.../applib-svc/pages/ContentMappingService.adoc | 4 +-
.../modules/applib-svc/pages/DeepLinkService.adoc | 2 +-
.../applib-svc/pages/EmailNotificationService.adoc | 2 +-
.../modules/applib-svc/pages/EmailService.adoc | 3 +-
.../applib-svc/pages/ErrorReportingService.adoc | 2 +-
.../modules/applib-svc/pages/EventBusService.adoc | 5 +-
.../applib-svc/pages/ExceptionRecognizer.adoc | 6 +-
.../pages/ExceptionRecognizerService.adoc | 2 +-
.../modules/applib-svc/pages/FactoryService.adoc | 7 +-
.../applib-svc/pages/GridLoaderService.adoc | 7 +-
.../adoc/modules/applib-svc/pages/GridService.adoc | 8 +-
.../applib-svc/pages/GridSystemService.adoc | 2 +-
.../adoc/modules/applib-svc/pages/HintStore.adoc | 4 +-
.../applib-svc/pages/InteractionContext.adoc | 6 +-
.../adoc/modules/applib-svc/pages/JaxbService.adoc | 6 +-
.../modules/applib-svc/pages/LayoutService.adoc | 5 +-
.../applib-svc/pages/LayoutServiceMenu.adoc | 1 +
.../modules/applib-svc/pages/LocaleProvider.adoc | 1 +
.../applib-svc/pages/MenuBarsLoaderService.adoc | 3 +-
.../modules/applib-svc/pages/MenuBarsService.adoc | 5 +-
.../modules/applib-svc/pages/MessageService.adoc | 1 +
.../modules/applib-svc/pages/MetaModelService.adoc | 1 +
.../applib-svc/pages/MetaModelServiceMenu.adoc | 2 +
.../modules/applib-svc/pages/MetricsService.adoc | 1 +
.../modules/applib-svc/pages/PublisherService.adoc | 7 +-
.../applib-svc/pages/QueryResultsCache.adoc | 3 +-
.../applib-svc/pages/QueryResultsCacheControl.adoc | 2 +
.../applib-svc/pages/RepositoryService.adoc | 22 +-
.../modules/applib-svc/pages/RoutingService.adoc | 3 +-
.../adoc/modules/applib-svc/pages/Scratchpad.adoc | 6 +-
.../modules/applib-svc/pages/ServiceInjector.adoc | 3 +-
.../modules/applib-svc/pages/ServiceRegistry.adoc | 4 +-
.../applib-svc/pages/SessionLoggingService.adoc | 1 +
.../adoc/modules/applib-svc/pages/SudoService.adoc | 5 +-
.../modules/applib-svc/pages/SwaggerService.adoc | 5 +-
.../applib-svc/pages/TableColumnOrderService.adoc | 3 +-
.../modules/applib-svc/pages/TitleService.adoc | 4 +-
.../applib-svc/pages/TransactionService.adoc | 4 +-
.../applib-svc/pages/TranslationService.adoc | 1 +
.../applib-svc/pages/TranslationsResolver.adoc | 2 +-
.../applib-svc/pages/UrlEncodingService.adoc | 4 +-
.../applib-svc/pages/UserProfileService.adoc | 2 +-
.../applib-svc/pages/UserRegistrationService.adoc | 2 +-
.../adoc/modules/applib-svc/pages/UserService.adoc | 2 +-
.../modules/applib-svc/pages/WrapperFactory.adoc | 15 +-
.../applib-svc/pages/XmlSnapshotService.adoc | 1 +
.../main/adoc/modules/applib-svc/pages/about.adoc | 8 +-
.../applib-svc/partials/_integration-spi.adoc | 3 +-
.../services/repository/RepositoryService.java | 3 +-
.../src/main/adoc/modules/schema/pages/about.adoc | 4 +-
.../src/main/adoc/modules/schema/pages/common.adoc | 6 +-
.../modules/archdesign/partials/module-nav.adoc | 2 +-
.../src/main/adoc/modules/config/pages/about.adoc | 5 +-
.../application-specific/application-css.adoc | 33 +
.../isis.persistence.jdo-datanucleus.impl.adoc | 217 ---
.../config/pages/sections/isis.value-types.adoc | 190 +-
.../specloader/validator/MetaModelValidator.java | 3 -
.../template/AbstractIsisSessionTemplate.java | 6 +-
.../pages/ContentNegotiationService.adoc | 6 +-
.../partials/_application-layer.adoc | 2 +-
.../partials/_persistence-layer.adoc | 2 +-
.../partials/_presentation-layer.adoc | 2 +-
.../src/main/adoc/modules/core/pages/about.adoc | 2 +-
.../src/main/java/demoapp/dom/jee/JeeDemo.adoc | 16 +-
.../adoc/modules/command-log/pages/about.adoc | 8 +-
.../adoc/modules/audit-trail/pages/about.adoc | 7 +-
.../secman/adoc/modules/secman/pages/about.adoc | 2 +
.../adoc/modules/session-log/pages/about.adoc | 2 +-
.../adoc/modules/shiro-realm-ldap/pages/about.adoc | 6 +-
.../vro/cors/adoc/modules/cors/pages/about.adoc | 4 +-
.../adoc/modules/cors/partials/module-nav.adoc | 5 +-
.../adoc/modules/exceldownload/pages/about.adoc | 3 +-
.../adoc/modules/fullcalendar/pages/about.adoc | 3 +-
.../vw/gmap3/adoc/modules/gmap3/pages/about.adoc | 3 +-
.../vw/pdfjs/adoc/modules/pdfjs/pages/about.adoc | 3 +-
.../src/main/adoc/modules/model/pages/about.adoc | 3 +-
.../adoc/modules/microprofile/pages/about.adoc | 3 +-
legacy/adoc/modules/ROOT/nav.adoc | 2 +-
.../adoc/modules/ROOT/partials/component-nav.adoc | 2 -
.../src/main/adoc/modules/applib/pages/about.adoc | 2 +-
.../adoc/modules/applib/partials/module-nav.adoc | 3 -
.../src/main/adoc/modules/commons/pages/about.adoc | 3 +-
.../adoc/modules/commons/partials/module-nav.adoc | 3 -
.../src/main/adoc/modules/runtime/pages/about.adoc | 3 +-
.../adoc/modules/runtime/partials/module-nav.adoc | 3 -
.../main/adoc/modules/restclient/pages/about.adoc | 3 +-
.../modules/restclient/partials/module-nav.adoc | 3 -
.../main/adoc/modules/servletapi/pages/about.adoc | 3 +-
.../modules/servletapi/partials/module-nav.adoc | 3 -
.../adoc/modules/ROOT/partials/component-nav.adoc | 2 +-
.../{publisher => outbox-publisher}/nav.adoc | 0
.../pages/about.adoc | 3 +-
.../outbox-publisher/partials/module-nav.adoc | 6 +
.../modules/publisher/partials/module-nav.adoc | 6 -
persistence/jdo/adoc/modules/ROOT/pages/about.adoc | 13 +-
.../jdo/adoc/modules/ROOT/pages/configuring.adoc | 28 +-
.../disabling-persistence-by-reachability.adoc | 2 +-
.../modules/ROOT/pages/configuring/properties.adoc | 11 +-
.../pages/configuring/using-jndi-data-source.adoc | 18 +-
.../jdo/adoc/modules/ROOT/pages/db-schemas.adoc | 181 +-
.../adoc/modules/ROOT/pages/hints-and-tips.adoc | 4 +-
.../pages/hints-and-tips/jdoql-and-timestamps.adoc | 2 +-
.../hints-and-tips/overriding-jdo-annotations.adoc | 11 +-
.../jdo/adoc/modules/ROOT/pages/jdo-mappings.adoc | 1 +
.../mandatory-properties-in-subtypes.adoc | 12 +-
.../ROOT/pages/services/IsisJdoSupport.adoc | 74 +-
security/adoc/modules/ROOT/pages/about.adoc | 14 +-
.../domain-services-api-for-applications.adoc | 20 -
.../modules/ROOT/pages/usage-by-isis-viewers.adoc | 5 +-
.../src/main/adoc/modules/bypass/pages/about.adoc | 5 +-
.../main/adoc/modules/keycloak/pages/about.adoc | 2 +
.../src/main/adoc/modules/shiro/pages/about.adoc | 2 +-
.../pages/about/configuring-isis-to-use-shiro.adoc | 23 +-
.../adoc/modules/shiro/pages/about/run-as.adoc | 2 +-
.../adoc/modules/starters/pages/helloworld.adoc | 2 +-
.../adoc/modules/starters/pages/simpleapp.adoc | 2 +-
.../adoc/modules/fixtures/pages/about.adoc | 1 +
.../pages/fixture-scripts/api-and-usage.adoc | 33 +-
.../pages/fixture-scripts/mocking-the-clock.adoc | 4 +-
.../h2console/pages/services/H2ManagerMenu.adoc | 12 +-
.../adoc/modules/integtestsupport/pages/about.adoc | 5 +-
valuetypes/adoc/modules/ROOT/pages/about.adoc | 2 +-
.../adoc/modules/asciidoc/partials/module-nav.adoc | 2 +-
.../adoc/modules/markdown/partials/module-nav.adoc | 2 +-
.../sse/adoc/modules/sse/partials/module-nav.adoc | 2 +-
.../adoc/modules/ROOT/pages/about.adoc | 15 +-
.../adoc/modules/ROOT/pages/architecture.adoc | 49 +-
.../ROOT/pages/configuration-properties.adoc | 378 ++--
.../adoc/modules/ROOT/pages/health-check.adoc | 3 +-
.../adoc/modules/ROOT/pages/hints-and-tips.adoc | 1 +
.../ROOT/pages/hints-and-tips/pretty-printing.adoc | 2 +-
.../adoc/modules/ROOT/pages/layout-resources.adoc | 10 +-
.../adoc/modules/ROOT/pages/ro-spec.adoc | 101 +-
.../adoc/modules/ROOT/pages/security.adoc | 1 +
.../ROOT/pages/simplified-representations.adoc | 2 +-
.../action-invocation.adoc | 6 +-
.../configuration-properties.adoc | 2 +-
.../simplified-representations/domain-object.adoc | 3 +-
.../object-collection.adoc | 3 +-
.../ROOT/images/application-menu/tertiary.png | Bin 11491 -> 0 bytes
.../ROOT/images/reference-layout/4-0-8-0.png | Bin 20662 -> 0 bytes
.../ROOT/images/reference-layout/4-4-4-12.png | Bin 21012 -> 0 bytes
.../ROOT/images/reference-layout/6-6-0-12.png | Bin 21100 -> 0 bytes
.../reference-layout/isis-layout-show-facets.css | 22 -
.../ROOT/images/reference-layout/isis-layout.css | 272 ---
.../images/reference-layout/layout-4-0-8-0.html | 216 ---
.../images/reference-layout/layout-4-4-4-12.html | 223 ---
.../images/reference-layout/layout-6-6-0-12.html | 221 ---
viewers/wicket/adoc/modules/ROOT/pages/about.adoc | 7 +-
.../ROOT/pages/configuration-properties.adoc | 1857 ++++++++++----------
.../adoc/modules/ROOT/pages/customisation.adoc | 1 +
.../pages/customisation/tweaking-css-classes.adoc | 47 +-
.../wicket/adoc/modules/ROOT/pages/extending.adoc | 1 +
.../login-via-query-args-prototyping.adoc | 2 +-
.../pages/extending/replacing-page-elements.adoc | 3 +-
.../wicket/adoc/modules/ROOT/pages/features.adoc | 1 +
.../ROOT/pages/features/blob-attachments.adoc | 2 +-
.../ROOT/pages/features/bookmarked-pages.adoc | 30 +-
.../modules/ROOT/pages/features/where-am-i.adoc | 36 +-
.../adoc/modules/ROOT/pages/hints-and-tips.adoc | 1 +
.../ROOT/pages/hints-and-tips/per-user-themes.adoc | 5 +-
.../adoc/modules/ROOT/pages/incode-platform.adoc | 32 -
viewers/wicket/adoc/modules/ROOT/pages/layout.adoc | 17 -
.../ROOT/pages/layout/annotation-based.adoc | 191 --
.../adoc/modules/ROOT/pages/menubars-layout.adoc | 38 -
.../pages/menubars-layout/annotation-based.adoc | 125 --
.../ROOT/pages/menubars-layout/file-based.adoc | 104 --
.../wicket/adoc/modules/ROOT/pages/security.adoc | 2 +
.../adoc/modules/ROOT/partials/module-nav.adoc | 2 -
902 files changed, 7831 insertions(+), 16629 deletions(-)
diff --git a/README.adoc b/README.adoc
index 6fff110..7619f93 100644
--- a/README.adoc
+++ b/README.adoc
@@ -133,13 +133,13 @@ image::https://raw.githubusercontent.com/apache/isis/master/antora/components/do
== Security, Auditing and other Services
-As well as providing extensions to the UI, the (non-ASF) Incode Platform provides a rich set of modules to support various cross-cutting concerns.
+As well as providing extensions to the UI, the framework has a rich set of extensions to support various cross-cutting concerns.
-Under the activity menu are four sets of services which provide support for link:https://platform.incode.org/modules/spi/sessionlogger/spi-sessionlogger.html[user session logging/auditing], link:https://platform.incode.org/modules/spi/command/spi-command[command profiling], link:https://platform.incode.org/modules/spi/audit/spi-audit.html[(object change) auditing] (shown) and (inter-system) link:https://platform.incode.org/modules/spi/publishmq/spi-publishmq[event publishing]:
+Under the activity menu are four sets of services which provide support for _user session logging/auditing_, _command profiling_, _(object change) auditing_ (shown) and (inter-system) _event publishing_:
image::https://raw.githubusercontent.com/apache/isis/master/antora/components/docs/modules/ROOT/images/what-is-apache-isis/isis-in-pictures/120-auditing.png[link="https://raw.githubusercontent.com/apache/isis/master/antora/components/docs/modules/ROOT/images/what-is-apache-isis/isis-in-pictures/120-auditing.png"]
-In the security menu is access to the rich set of functionality provided by the xref:security:ROOT:about.adoc[SecMan extension]:
+In the security menu is access to the rich set of functionality provided by the SecMan extension:
image::https://raw.githubusercontent.com/apache/isis/master/antora/components/docs/modules/ROOT/images/what-is-apache-isis/isis-in-pictures/130-security.png[link="https://raw.githubusercontent.com/apache/isis/master/antora/components/docs/modules/ROOT/images/what-is-apache-isis/isis-in-pictures/130-security.png"]
@@ -148,7 +148,7 @@ This file can then be translated into multiple languages so that your app can su
image::https://raw.githubusercontent.com/apache/isis/master/antora/components/docs/modules/ROOT/images/what-is-apache-isis/isis-in-pictures/140-i18n.png[link="https://raw.githubusercontent.com/apache/isis/master/antora/components/docs/modules/ROOT/images/what-is-apache-isis/isis-in-pictures/140-i18n.png"]
-The Incode Platform also provides a module for managing link:https://platform.incode.org/modules/dom/settings/dom-settings.html[application and user settings].
+The framework also provides an extension module for managing _application and user settings_.
Most apps (the todoapp example included) won't expose these services directly, but will usually wrap them in their own app-specific settings service that trivially delegates to the settings module's services:
image::https://raw.githubusercontent.com/apache/isis/master/antora/components/docs/modules/ROOT/images/what-is-apache-isis/isis-in-pictures/150-appsettings.png[link="https://raw.githubusercontent.com/apache/isis/master/antora/components/docs/modules/ROOT/images/what-is-apache-isis/isis-in-pictures/150-appsettings.png"]
diff --git a/STATUS b/STATUS
index defb623..32d8bad 100644
--- a/STATUS
+++ b/STATUS
@@ -23,6 +23,8 @@ Description
TLP releases:
+ * isis-2.0.0-M3 : 27 Mar 2020
+
* isis-2.0.0-M2 : 22 Jan 2019
* helloworld-archetype-2.0.0-M2 : 22 Jan 2019
* simpleapp-archetype-2.0.0-M2 : 22 Jan 2019
diff --git a/antora/components/comguide/modules/ROOT/images/release-process/nexus-release-1.png b/antora/components/comguide/modules/ROOT/images/release-process/nexus-release-1.png
index a00a1ba..df92533 100644
Binary files a/antora/components/comguide/modules/ROOT/images/release-process/nexus-release-1.png and b/antora/components/comguide/modules/ROOT/images/release-process/nexus-release-1.png differ
diff --git a/antora/components/comguide/modules/ROOT/pages/post-release-successful.adoc b/antora/components/comguide/modules/ROOT/pages/post-release-successful.adoc
index f97ffdd..95b4f4f 100644
--- a/antora/components/comguide/modules/ROOT/pages/post-release-successful.adoc
+++ b/antora/components/comguide/modules/ROOT/pages/post-release-successful.adoc
@@ -20,14 +20,14 @@ This section describes the steps to perform if the vote has been successful.
Post the results to the `dev@isis.a.o` mailing list:
-[source,bash,subs="attributes+"]
+[source,subs="attributes+"]
----
[RESULT] [VOTE] Apache Isis Core release {isisnext}
----
using the body (alter last line as appropriate):
-[source,bash]
+[source]
----
The vote has completed with the following result :
@@ -42,6 +42,17 @@ The vote is SUCCESSFUL.
I'll now go ahead and complete the post-release activities.
----
+== Release to Maven Central
+
+CAUTION: We release from Maven Central before anything else; we don't want to push the git tags (an irreversible action) until we know that this has worked ok.
+
+From the http://repository.apache.org[ASF Nexus repository], select the staging repository and select 'release' from the top menu.
+
+image::release-process/nexus-release-1.png[width="600px",link="{imagesdir}/release-process/nexus-release-1.png"]
+
+This moves the release artifacts into an Apache releases repository; from there they will be automatically moved to the Maven repository.
+
+
== Set environment variables
As we did for the cutting of the release, we set environment variables to parameterize the following steps:
@@ -63,6 +74,12 @@ env | grep ISIS | sort
<.> adjust as required
<.> adjust as necessary if there was more than one attempt to release
+Open up a terminal, and switch to the correct release branch:
+
+[source,bash,subs="attributes+"]
+----
+git checkout $ISISBRANCH
+----
== Update tags
@@ -72,7 +89,7 @@ You can do this using the `scripts/promoterctag.sh` script; for example:
[source,bash,subs="attributes+"]
----
-sh scripts/promoterctag.sh $ISISART-ISISREL $ISISRC
+sh scripts/promoterctag.sh $ISISART-$ISISREL $ISISRC
----
This script pushes the tag under `refs/tags/rel`.
As per Apache policy (communicated on 10th Jan 2016 to Apache PMCs), this path is 'protected' and is unmodifiable (guaranteeing the provenance that the ASF needs for releases).
@@ -80,6 +97,12 @@ As per Apache policy (communicated on 10th Jan 2016 to Apache PMCs), this path i
== Update JIRA
+=== Close tickets
+
+Close all JIRA tickets for the release, or moved to future releases if not yet addressed.
+Any tickets that were partially implemented should be closed, and new tickets created for the functionality on the ticket not yet implemented.
+
+
=== Generate Release Notes
From the root directory, generate the release notes for the current release, in Asciidoc format; eg:
@@ -95,17 +118,13 @@ This script uses 'jq' to parse JSON.
See the script itself for details of how to install this utility.
====
-=== Close tickets
-
-Close all JIRA tickets for the release, or moved to future releases if not yet addressed.
-Any tickets that were partially implemented should be closed, and new tickets created for the functionality on the ticket not yet implemented.
-
=== Mark the version as released
In JIRA, go to the link:https://issues.apache.org/jira/plugins/servlet/project-config/ISIS/versions[administration section] for the Apache Isis project and update the version as being released.
In the link:https://issues.apache.org/jira/secure/RapidBoard.jspa?rapidView=87[Kanban view] this will have the effect of marking all tickets as released (clearing the "done" column).
+[#create-new-jira]
=== Create new JIRA
Create a new JIRA ticket as a catch-all for the _next_ release.
@@ -145,7 +164,7 @@ git add .
git commit -m "$ISISJIRA: updates release notes, STATUS and doap_isis.rdf"
----
-== Genereate website
+== Generate website
We use Antora to generate the site, not only the latest version but also any previous versions listed in `site.yml`.
The most recently version being released is built in effect twice, as both "latest" and with its formal tag name.
@@ -311,14 +330,6 @@ git branch -d release-{isisnext}-RC1 # branch no longer needed
----
-== Release to Maven Central
-
-From the http://repository.apache.org[ASF Nexus repository], select the staging repository and select 'release' from the top menu.
-
-
-image::release-process/nexus-release-1.png[width="600px",link="{imagesdir}/release-process/nexus-release-1.png"]
-
-This moves the release artifacts into an Apache releases repository; from there they will be automatically moved to the Maven repository.
== Release Source Zip
@@ -512,13 +523,5 @@ For example, here is a report showing both of these cases:
For these artifacts you will need to search http://search.maven.org[Maven central repo] directly yourself to confirm there are no newer dependencies not shown in this list.
-== Code formatting
-
-This is also a good time to make source code has been cleaned up and formatted according to the Apache Isis and ASF conventions.
-Use link:../dg/resources/eclipse/Apache-code-style-formatting.xml[this] Eclipse template and link:../dg/resources/eclipse/isis.importorder[this] import order.
-
-
-== Release (non-ASF) Modules
-The (non-ASF) link:https://platform.incode.org[Incode Platform^] should also be released, as per their link:https://platform.incode.org/pages/committers-guide/committers-guide.html#_release_to_maven_central[release guide].
diff --git a/antora/components/docs/modules/ROOT/pages/about.adoc b/antora/components/docs/modules/ROOT/pages/about.adoc
index 5546611..d460b2b 100644
--- a/antora/components/docs/modules/ROOT/pages/about.adoc
+++ b/antora/components/docs/modules/ROOT/pages/about.adoc
@@ -119,7 +119,7 @@ _Nightly Builds (not ASF)_
* link:https://github.com/apache-isis-committers/isis-nightly[CI]
* link:https://repo.incode.cloud/[Maven Repo]
-* link:https://apache-isis-committers.github.io/isis-nightly/toc/about.html[Website preview]
+* link:https://apache-isis-committers.github.io/isis-nightly[Website preview]
|
diff --git a/antora/components/docs/modules/ROOT/pages/landing-page/components.adoc b/antora/components/docs/modules/ROOT/pages/landing-page/components.adoc
index 271e117..755680e 100644
--- a/antora/components/docs/modules/ROOT/pages/landing-page/components.adoc
+++ b/antora/components/docs/modules/ROOT/pages/landing-page/components.adoc
@@ -26,9 +26,9 @@ The xref:security:ROOT:about.adoc[Security Guide] describes how to configure eac
== Persistence
-The framework allows xref:userguide:fun:building-blocks.adoc#domain-entities[domain entities] to be persisted using the xref:pjdo:ROOT:about.adoc[JDO/DataNucleus object store], for use with the JDO API.
+The framework allows xref:userguide:fun:overview.adoc#domain-entities[domain entities] to be persisted using the xref:pjdo:ROOT:about.adoc[JDO/DataNucleus object store], for use with the JDO API.
-Alternatively, if you restrict yourself to xref:userguide:fun:building-blocks.adoc#view-models[view models] then these can be persisted with any data persistence technology that is supported by Spring Boot.
+Alternatively, if you restrict yourself to xref:userguide:fun:overview.adoc#view-models[view models] then these can be persisted with any data persistence technology that is supported by Spring Boot.
== Extensions
diff --git a/antora/components/docs/modules/ROOT/pages/landing-page/releases.adoc b/antora/components/docs/modules/ROOT/pages/landing-page/releases.adoc
index 107edd9..c0e9e87 100644
--- a/antora/components/docs/modules/ROOT/pages/landing-page/releases.adoc
+++ b/antora/components/docs/modules/ROOT/pages/landing-page/releases.adoc
@@ -28,7 +28,7 @@ If you like to live on the bleeding edge, there are also nightly builds of the f
* link:https://github.com/apache-isis-committers/isis-nightly[CI]
* link:https://repo.incode.cloud/[Maven Repo]
-* link:https://apache-isis-committers.github.io/isis-nightly/toc/about.html[Website preview]
+* link:https://apache-isis-committers.github.io/isis-nightly[Website preview]
Although these are maintained and used by the framework's committers, do be aware that *these are _not_ official ASF releases*; they are provided as a convenience only.
diff --git a/antora/components/docs/modules/ROOT/pages/what-is-apache-isis/powered-by/contactapp.adoc b/antora/components/docs/modules/ROOT/pages/what-is-apache-isis/powered-by/contactapp.adoc
index 4bb6054..30f1980 100644
--- a/antora/components/docs/modules/ROOT/pages/what-is-apache-isis/powered-by/contactapp.adoc
+++ b/antora/components/docs/modules/ROOT/pages/what-is-apache-isis/powered-by/contactapp.adoc
@@ -24,7 +24,7 @@ image:https://github.com/incodehq/contactapp/blob/master/docs/contactapp-fronten
As our first Apache Isis app making use of mobile technologies it opens the doors for more to follow.
Ionic has proven easy to learn and build apps with, and has a helpful community.
-Meanwhile we've used Apache Isis' support for xref:userguide:fun:programming-model.adoc#jaxb[JAXB view models]
+Meanwhile we've used Apache Isis' support for xref:userguide:fun:view-models.adoc#jaxb[JAXB view models]
and in particular the xref:vro:ROOT:simplified-representations.adoc[simplified REST representations] introduced in v1.12.0. The result is code that is easy to follow and enhance.
We expect that the scope of _Contact App_ will expand and new features added, these will (almost certainly) remain open source.
diff --git a/antora/components/docs/modules/ROOT/pages/what-is-apache-isis/powered-by/estatio.adoc b/antora/components/docs/modules/ROOT/pages/what-is-apache-isis/powered-by/estatio.adoc
index 36eac29..2487513 100644
--- a/antora/components/docs/modules/ROOT/pages/what-is-apache-isis/powered-by/estatio.adoc
+++ b/antora/components/docs/modules/ROOT/pages/what-is-apache-isis/powered-by/estatio.adoc
@@ -26,8 +26,7 @@ Since the initial release - as the scope of the application has grown - the team
== Supporting Open Source
-Much of Apache Isis' recent development has been driven out by the requirements of this application, so you can see for yourself how many of the features in Isis are used in real life.
-Much of the (non-ASF) link:https://platform.incode.org[Incode Platform^] also originate from the requirements of Estatio.
+Much of Apache Isis' recent development has been driven out by the requirements of this application, so you can see for yourself how many of the features in Apache Isis are used in real life.
Estatio itself is also open source, licensed under Apache Software License and available on link:https://github.com/estatio/estatio[github].
diff --git a/antora/components/docs/modules/ROOT/pages/what-is-apache-isis/powered-by/gesconsultor-grc.adoc b/antora/components/docs/modules/ROOT/pages/what-is-apache-isis/powered-by/gesconsultor-grc.adoc
index 4097e07..378fdb2 100644
--- a/antora/components/docs/modules/ROOT/pages/what-is-apache-isis/powered-by/gesconsultor-grc.adoc
+++ b/antora/components/docs/modules/ROOT/pages/what-is-apache-isis/powered-by/gesconsultor-grc.adoc
@@ -79,7 +79,7 @@ We chose http://wavemaker.com[Wavemaker] for implementing the viewer, also lever
Even so, while GRC does (as the figures above show) include custom views, the majority of the views exposed by GRC are automatically generated from the underlying domain entities; the GRC viewer is a proprietary version of Isis' own xref:vw:ROOT:about.adoc[Wicket viewer].
At the last count more than 400 domain entities, across 6 different Bounded Contexts, are surfaced in the UI in this this way.
-At the Domain level, we also extensively use the xref:userguide:fun:building-blocks.adoc#domain-events[domain events] functionality available in Apache Isis, along with many of the (non-ASF) link:https://platform.incode.org[Incode Platform^] (such as audit, security and excel modules).
+At the Domain level, we also extensively use the xref:userguide:fun:overview.adoc#domain-events[domain events] functionality available in Apache Isis, along with many of the (non-ASF) link:https://platform.incode.org[Incode Platform^] (such as audit, security and excel modules).
The GRC platform currently has more than 5600 automated tests, about 2000 being xref:testing:specsupport:about.adoc[BDD tests] and 3600 xref:testing:integtestsupport:about.adoc[integration tests], all leveraging Apache Isis' extensive testing capabilities.
diff --git a/antora/components/docs/modules/ROOT/pages/what-is-apache-isis/screencasts.adoc b/antora/components/docs/modules/ROOT/pages/what-is-apache-isis/screencasts.adoc
index 888dd3b..3b7ef2d 100644
--- a/antora/components/docs/modules/ROOT/pages/what-is-apache-isis/screencasts.adoc
+++ b/antora/components/docs/modules/ROOT/pages/what-is-apache-isis/screencasts.adoc
@@ -64,12 +64,12 @@ Importing the generated app into an xref:setupguide:ROOT:ide.adoc[IDE] +
|link:https://www.youtube.com/watch?v=xVTjtiJM8XM[003^] +
-Walking through the main classes that make up the SimpleApp: `SimpleObject` persistent entity, `HomePageViewModel`xref:userguide:fun:programming-model.adoc#view-models[view model] and `SimpleObjects` domain service (repository).
+Walking through the main classes that make up the SimpleApp: `SimpleObject` persistent entity, `HomePageViewModel`xref:userguide:fun:view-models.adoc[view model] and `SimpleObjects` domain service (repository).
||||x|||||||
|link:https://www.youtube.com/watch?v=KCJ1ZPPB3pA[004^] +
-Using the optional `Xxx.layout.xml` file to provide xref:vw:ROOT:layout.adoc#file-based[layout metadata] to dynamically render a domain object using the link:http://getbootstrap.com[Bootstrap 3] grid system.
+Using the optional `Xxx.layout.xml` file to provide xref:userguide:fun:ui.adoc#object-layout[layout metadata] to dynamically render a domain object using the link:http://getbootstrap.com[Bootstrap 3] grid system.
||x|||||||||
@@ -127,12 +127,6 @@ Using the Swagger UI to access the xref:vro:ROOT:about.adoc[REST API] automatica
-//12+| *App Manifest*
-//
-//
-//|link:https://www.youtube.com/watch?v=1sNiR3Y84c0[011^] +
-//How the framework uses the xref:refguide:applib-cm:classes/AppManifest-bootstrapping.adoc[`AppManifest`] is used to bootstrap the application
-//||||||||||x|
@@ -144,7 +138,7 @@ include::screencasts/playlists.adoc[]
|link:https://www.youtube.com/watch?v=dfRZeYqzMtI[012^] +
-Implementing business logic using a (no-arg) action, and associating with a property using either the xref:refguide:applib-ant:MemberOrder.adoc[`@MemberOrder`] annotations or using xref:vw:ROOT:layout.adoc#file-based[dynamic (XML) layouts].
+Implementing business logic using a (no-arg) action, and associating with a property using either the xref:refguide:applib-ant:MemberOrder.adoc[`@MemberOrder`] annotations or using xref:userguide:fun:ui.adoc#object-layout[dynamic (XML) layouts].
|x||||||||x||
@@ -159,7 +153,7 @@ include::screencasts/playlists.adoc[]
|link:https://www.youtube.com/watch?v=CwM430UH5WE[014^] +
-Using the xref:refguide:applib-cm:methods.adoc#title[`title()`], xref:refguide:applib-cm:methods.adoc#iconName[`iconName()`] and xref:refguide:applib-cm:methods.adoc#cssClass[`cssClass()`] so that end-users can distinguish domain objects within the UI.
+Using the xref:refguide:applib-cm:methods.adoc#title[`title()`], xref:refguide:applib-cm:methods.adoc#iconName[`iconName()`] and xref:refguide:applib-cm:methods.adoc#cssclass[`cssClass()`] so that end-users can distinguish domain objects within the UI.
|x||x||||||x||
@@ -198,7 +192,7 @@ Extending a xref:testing:fixtures:about.adoc[fixture script] to more easily demo
|link:https://www.youtube.com/watch?v=39Hpd7C4Kvo[018^] +
-Using xref:vw:ROOT:layout.adoc#file-based[dynamic (XML) layouts] to specify the page size for a domain object's collection.
+Using xref:userguide:fun:ui.adoc#object-layout[dynamic (XML) layouts] to specify the page size for a domain object's collection.
||||x|||||||
@@ -213,7 +207,7 @@ include::screencasts/playlists.adoc[]
|link:https://www.youtube.com/watch?v=0d713-V4vrg[019^] +
Demonstrates how Apache Isis' xref:vw:ROOT:about.adoc[Wicket viewer] remembers the state of rendered domain objects, and how the end-user of the
- application can clear these UI hints using the (framework-provided) xref:refguide:applib-cm:rgcms.adoc#__rgcms_classes_mixins_Object_clearHints["clear hints"] action.
+ application can clear these UI hints using the (framework-provided) xref:refguide:applib-cm:classes.adoc#clearHints["clear hints"] action.
|||x||||||||
@@ -240,26 +234,26 @@ include::screencasts/playlists.adoc[]
|link:https://www.youtube.com/watch?v=Wn5215K7_Jg[022^] +
-Shows how to refactor a domain object to move an action implementation out of the domain object itself, and instead implement as a xref:userguide:fun:building-blocks.adoc#mixins[mixin] (useful for decoupling).
+Shows how to refactor a domain object to move an action implementation out of the domain object itself, and instead implement as a xref:userguide:fun:overview.adoc#mixins[mixin] (useful for decoupling).
|x|||||x|||||
|link:https://www.youtube.com/watch?v=m633OEBpWqQ[023^] +
-Shows how to refactor a domain object to move (derived) collections out of the domain object and reimplement as a xref:userguide:fun:building-blocks.adoc#mixins[mixin].
+Shows how to refactor a domain object to move (derived) collections out of the domain object and reimplement as a xref:userguide:fun:overview.adoc#mixins[mixin].
||||||x|||||
|link:https://www.youtube.com/watch?v=-AQJb9GtIqI[024^] +
-Using a domain event subscriber to xref:userguide:fun:building-blocks.adoc#domain-events[decouple] and abstract business rules (xref:refguide:applib-cm:methods.adoc#validate[validation]).
+Using a domain event subscriber to xref:userguide:fun:overview.adoc#domain-events[decouple] and abstract business rules (xref:refguide:applib-cm:methods.adoc#validate[validation]).
||||||x|||||
|link:https://www.youtube.com/watch?v=6GjLW0hlrm4[025^] +
Using a domain event subscriber to hide functionality, in this
- case the xref:refguide:applib-cm:rgcms.adoc#__rgcms_classes_mixins_Object_clearHints["clear hints"] action automatically provided by the framework.
+ case the xref:refguide:applib-cm:classes.adoc#clearHints["clear hints"] action automatically provided by the framework.
||||||||||x|
@@ -306,9 +300,6 @@ Using link:https://projectlombok.org/[Project Lombok] to remove boilerplate from
-|link:https://www.youtube.com/watch?v=AXuxULuRtm0[029^] +
-Using the (non-ASF) link:https://platform.incode.org[Incode Platform^]'s paraname8 metamodel extension to remove boilerplate from your domain object (xref:refguide:applib-ant:ParameterLayout.adoc#named[`@ParameterLayout#named()`] annotation attribute on action parameters).
-|||||x|||x|||
@@ -514,22 +505,22 @@ include::screencasts/playlists.adoc[]
|link:https://www.youtube.com/watch?v=puG-pzxRSd0[052^] +
-How to write a xref:userguide:fun:programming-model.adoc#jaxb[(JAXB) view model], holding references to two domain objects.
+How to write a xref:userguide:fun:view-models.adoc#jaxb[(JAXB) view model], holding references to two domain objects.
|x||||||||x||
|link:https://www.youtube.com/watch?v=tdBkmA2CCZY[053^] +
-Updating the title, icon and layout of a xref:userguide:fun:programming-model.adoc#jaxb[(JAXB) view model].
+Updating the title, icon and layout of a xref:userguide:fun:view-models.adoc#jaxb[(JAXB) view model].
||||x|||||||
|link:https://www.youtube.com/watch?v=TKF0FB_od00[054^] +
-How to expose information from underlying domain entities referenced by a xref:userguide:fun:programming-model.adoc#jaxb[(JAXB) view model] using derived properties
+How to expose information from underlying domain entities referenced by a xref:userguide:fun:view-models.adoc#jaxb[(JAXB) view model] using derived properties
||||||||||x|
|link:https://www.youtube.com/watch?v=TMMeVhRNi8A[055^] +
-Adding an action to a xref:userguide:fun:programming-model.adoc#jaxb[(JAXB) view model], and adjusting the layout using custom CSS.
+Adding an action to a xref:userguide:fun:view-models.adoc#jaxb[(JAXB) view model], and adjusting the layout using custom CSS.
||||x|||||||
diff --git a/antora/components/docs/modules/ROOT/partials/module-nav/releases.adoc b/antora/components/docs/modules/ROOT/partials/module-nav/releases.adoc
index 8dfe567..c6fa0e9 100644
--- a/antora/components/docs/modules/ROOT/partials/module-nav/releases.adoc
+++ b/antora/components/docs/modules/ROOT/partials/module-nav/releases.adoc
@@ -11,5 +11,5 @@
*** link:https://github.com/apache-isis-committers/isis-nightly[CI]
*** link:https://repo.incode.cloud/[Maven Repo]
-*** link:https://apache-isis-committers.github.io/isis-nightly/toc/about.html[Website preview]
+*** link:https://apache-isis-committers.github.io/isis-nightly[Website preview]
diff --git a/antora/components/docs/modules/resources/attachments/IsisCheatSheet.docx b/antora/components/docs/modules/resources/attachments/IsisCheatSheet.docx
index 619acfa..6b13cb5 100644
Binary files a/antora/components/docs/modules/resources/attachments/IsisCheatSheet.docx and b/antora/components/docs/modules/resources/attachments/IsisCheatSheet.docx differ
diff --git a/antora/components/docs/modules/resources/attachments/IsisCheatSheet.pdf b/antora/components/docs/modules/resources/attachments/IsisCheatSheet.pdf
index 0760116..baa6247 100644
Binary files a/antora/components/docs/modules/resources/attachments/IsisCheatSheet.pdf and b/antora/components/docs/modules/resources/attachments/IsisCheatSheet.pdf differ
diff --git a/antora/components/relnotes/modules/ROOT/nav.adoc b/antora/components/relnotes/modules/ROOT/nav.adoc
index 7c59977..1f6c005 100644
--- a/antora/components/relnotes/modules/ROOT/nav.adoc
+++ b/antora/components/relnotes/modules/ROOT/nav.adoc
@@ -1,64 +1,16 @@
:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
+* 2020
+
+** xref:relnotes:ROOT:2020/2.0.0-M3/relnotes.adoc[2.0.0-M3]
+
* 2019
** xref:relnotes:ROOT:2019/2.0.0-M2/relnotes.adoc[2.0.0-M2]
-** xref:relnotes:ROOT:2019/1.17.0/relnotes.adoc[1.17.0]
* 2018
** xref:relnotes:ROOT:2018/2.0.0-M1/relnotes.adoc[2.0.0-M1]
-** xref:relnotes:ROOT:2018/1.16.2/relnotes.adoc[1.16.2]
-** xref:relnotes:ROOT:2018/1.16.1/relnotes.adoc[1.16.1]
-** xref:relnotes:ROOT:2018/1.16.0/relnotes.adoc[1.16.0]
-
-
-* 2017
-
-** xref:relnotes:ROOT:2017/1.15.1/relnotes.adoc[1.15.1]
-** xref:relnotes:ROOT:2017/1.15.0/relnotes.adoc[1.15.0]
-** xref:relnotes:ROOT:2017/1.14.0/relnotes.adoc[1.14.0]
-** xref:relnotes:ROOT:2017/1.13.2.1/relnotes.adoc[1.13.2.1]
-
-
-* 2016
-
-** xref:relnotes:ROOT:2016/1.13.2/relnotes.adoc[1.13.2]
-** xref:relnotes:ROOT:2016/1.13.1/relnotes.adoc[1.13.1]
-** xref:relnotes:ROOT:2016/1.13.0/relnotes.adoc[1.13.0]
-** xref:relnotes:ROOT:2016/1.12.2/relnotes.adoc[1.12.2]
-** xref:relnotes:ROOT:2016/1.12.1/relnotes.adoc[1.12.1]
-** xref:relnotes:ROOT:2016/1.12.0/relnotes.adoc[1.12.0]
-** xref:relnotes:ROOT:2016/1.11.1/relnotes.adoc[1.11.1]
-** xref:relnotes:ROOT:2016/1.11.0/relnotes.adoc[1.11.0]
-
-
-* 2015
-
-** xref:relnotes:ROOT:2015/1.10.0/relnotes.adoc[1.10.0]
-** xref:relnotes:ROOT:2015/1.9.0/relnotes.adoc[1.9.0]
-** xref:relnotes:ROOT:2014/1.8.0/relnotes.adoc[1.8.0]
-
-
-* 2014
-
-** xref:relnotes:ROOT:2014/1.7.0/relnotes.adoc[1.7.0]
-** xref:relnotes:ROOT:2014/1.6.0/relnotes.adoc[1.6.0]
-** xref:relnotes:ROOT:2014/1.5.0/relnotes.adoc[1.5.0]
-** xref:relnotes:ROOT:2014/1.4.1/relnotes.adoc[1.4.1]
-** xref:relnotes:ROOT:2014/1.4.0/relnotes.adoc[1.4.0]
-
-
-* 2013
-
-** xref:relnotes:ROOT:2013/1.3.1/relnotes.adoc[1.3.1]
-** xref:relnotes:ROOT:2013/1.3.0/relnotes.adoc[1.3.0]
-** xref:relnotes:ROOT:2013/1.2.0/relnotes.adoc[1.2.0]
-** xref:relnotes:ROOT:2013/1.1.0/relnotes.adoc[1.1.0]
-** xref:relnotes:ROOT:2013/1.0.1/relnotes.adoc[1.0.1]
-
-* 2012
-** xref:relnotes:ROOT:2012/1.0.0/relnotes.adoc[1.0.0]
diff --git a/antora/components/relnotes/modules/ROOT/pages/2012/1.0.0/relnotes.adoc b/antora/components/relnotes/modules/ROOT/pages/2012/1.0.0/relnotes.adoc
deleted file mode 100644
index c303d83..0000000
--- a/antora/components/relnotes/modules/ROOT/pages/2012/1.0.0/relnotes.adoc
+++ /dev/null
@@ -1,124 +0,0 @@
-= 1.0.0
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-
-== Core
-
-=== New Feature
-
-* link:https://issues.apache.org/jira/browse/ISIS-240[ISIS-240] - Provide a bookmark service in order to lookup any object
-* link:https://issues.apache.org/jira/browse/ISIS-242[ISIS-242] - Provide support for JODA LocalDate and LocalDateTime as value types.
-* link:https://issues.apache.org/jira/browse/ISIS-250[ISIS-250] - Change MetaModelValidator such that multiple validation errors can be reported in a single shot....
-* link:https://issues.apache.org/jira/browse/ISIS-263[ISIS-263] - Introduce a new @CommonlyUsed annotation as a hint for the UI. To be implemented by Wicket viewer (as a minimum)
-* link:https://issues.apache.org/jira/browse/ISIS-264[ISIS-264] - side paging as a minimum). Implement in Wicket as a minimum
-
-
-
-=== Improvement
-
-* link:https://issues.apache.org/jira/browse/ISIS-89[ISIS-89] - Finish off updating documentation post the first (pre 1.0) release of Apache Isis.
-* link:https://issues.apache.org/jira/browse/ISIS-131[ISIS-131] - Archive off (and no longer support) the default runtime's client/server remoting
-* link:https://issues.apache.org/jira/browse/ISIS-188[ISIS-188] - 1.0.0 release.
-* link:https://issues.apache.org/jira/browse/ISIS-192[ISIS-192] - based authorization
-* link:https://issues.apache.org/jira/browse/ISIS-202[ISIS-202] - Rename @Stable to @ViewModel
-* link:https://issues.apache.org/jira/browse/ISIS-203[ISIS-203] - Improve the logging at startup
-* link:https://issues.apache.org/jira/browse/ISIS-216[ISIS-216] - describing (ie make OidWithSpecification the norm, using an ObjectTypeFacet as a way of determining the type).
-* link:https://issues.apache.org/jira/browse/ISIS-227[ISIS-227] - exist better.
-* link:https://issues.apache.org/jira/browse/ISIS-228[ISIS-228] - Use JUnit categories to distinguish between tests that can be run on CI server and those that cannot.
-* link:https://issues.apache.org/jira/browse/ISIS-243[ISIS-243] - Remove the Maybe type from the Isis applib.
-* link:https://issues.apache.org/jira/browse/ISIS-245[ISIS-245] - Collapse the Version hierarchy
-* link:https://issues.apache.org/jira/browse/ISIS-248[ISIS-248] - Perform concurrency checking within the persistor (rather than rely on every viewer/client to do the check)
-* link:https://issues.apache.org/jira/browse/ISIS-252[ISIS-252] - Use enums instead of booleans in FacetFactory's/Facets/ValueSemanticsProvider
-* link:https://issues.apache.org/jira/browse/ISIS-253[ISIS-253] - Get rid of DateValueFacet#getLevel(), since unused
-* link:https://issues.apache.org/jira/browse/ISIS-257[ISIS-257] - Remove the @Executed annotation from the applib (and corresponding metadata stuff) since remoting no longer supported.
-* link:https://issues.apache.org/jira/browse/ISIS-258[ISIS-258] - Extend @Hidden and @Disabled to specify Where the object member should be hidden/disabled.
-* link:https://issues.apache.org/jira/browse/ISIS-259[ISIS-259] - Replace @QueryOnly and @Idempotent with a new @ActionSemantics annotation.
-* link:https://issues.apache.org/jira/browse/ISIS-260[ISIS-260] - If a property is annotated as @Title, then by default it should not appear as a column in tables.
-* link:https://issues.apache.org/jira/browse/ISIS-261[ISIS-261] - Remove obsolete code (Enumeration interface, AnnotationBasedFacetFactory)
-* link:https://issues.apache.org/jira/browse/ISIS-262[ISIS-262] - Real composite for ResourceSourceStream
-* link:https://issues.apache.org/jira/browse/ISIS-267[ISIS-267] - Handle "recreating" object adapters which are already resolved
-* link:https://issues.apache.org/jira/browse/ISIS-274[ISIS-274] - Simplify the bootstrapping of Apache Isis so that there are fewer configuration properties to set in isis.properties
-* link:https://issues.apache.org/jira/browse/ISIS-280[ISIS-280] - More consistent support for @Prototype and @Exploration, by utilizing the existing HidingInteractionAdvisor API
-* link:https://issues.apache.org/jira/browse/ISIS-281[ISIS-281] - Provide support for integration testing using a JUnit rule.
-* link:https://issues.apache.org/jira/browse/ISIS-283[ISIS-283] - Provide the ability to use fixtures as domain objects, eg within demo apps
-* link:https://issues.apache.org/jira/browse/ISIS-285[ISIS-285] - Add additional MetaModelValidators so that orphaned prefixes are treated as a validation error.
-* link:https://issues.apache.org/jira/browse/ISIS-286[ISIS-286] - Make sure pending changes are stored before issuing a query
-* link:https://issues.apache.org/jira/browse/ISIS-288[ISIS-288] - During start up the configuration files are read in repeatedly making it confusing to track down configuration issues
-
-
-=== Bug
-
-* link:https://issues.apache.org/jira/browse/ISIS-184[ISIS-184] - PasswordValueSemanticsProvider.doEncode threw exception when I provided a defaultXXX method
-* link:https://issues.apache.org/jira/browse/ISIS-255[ISIS-255] - Test in Runtime TestSupport component fails due to TimeZone
-* link:https://issues.apache.org/jira/browse/ISIS-265[ISIS-265] - NullPointerException when storing new objects
-* link:https://issues.apache.org/jira/browse/ISIS-266[ISIS-266] - BoundedFacetAbstract was invalidating using disabledReason()
-
-
-
-
-
-== Wicket Viewer
-
-
-
-=== New Feature
-
-* link:https://issues.apache.org/jira/browse/ISIS-232[ISIS-232] - General improvements to the Wicket viewer
-* link:https://issues.apache.org/jira/browse/ISIS-263[ISIS-263] - Introduce a new @CommonlyUsed annotation as a hint for the UI. To be implemented by Wicket viewer (as a minimum)
-* link:https://issues.apache.org/jira/browse/ISIS-264[ISIS-264] - side paging as a minimum). Implement in Wicket as a minimum
-
-
-=== Improvement
-
-* link:https://issues.apache.org/jira/browse/ISIS-239[ISIS-239] - Add support for MultiLine facet in Wicket viewer
-* link:https://issues.apache.org/jira/browse/ISIS-244[ISIS-244] - Hide properties in tables that are statically invisible within the Wicket viewer
-* link:https://issues.apache.org/jira/browse/ISIS-251[ISIS-251] - Implement concurrency exception handling in Wicket viewer
-
-
-=== Bug
-
-* link:https://issues.apache.org/jira/browse/ISIS-287[ISIS-287] - BigInteger types throw error in Wicket viewer
-
-
-
-=== Wish
-
-* link:https://issues.apache.org/jira/browse/ISIS-271[ISIS-271] - the option to overrule properties distributed as part of the application (read external properties)
-
-
-
-
-
-== RestfulObjects Viewer
-
-
-
-=== Improvement
-
-* link:https://issues.apache.org/jira/browse/ISIS-194[ISIS-194] - memory objectstore.
-
-
-
-=== Bug
-
-* link:https://issues.apache.org/jira/browse/ISIS-256[ISIS-256] - NullPointerReference exceptions when attempting to persist an object
-
-
-
-
-== JDO ObjectStore
-
-
-
-=== New Feature
-
-* link:https://issues.apache.org/jira/browse/ISIS-14[ISIS-14] - Add JDO 3.1 object store in order to support any datastore
-
-
-=== Improvement
-
-* link:https://issues.apache.org/jira/browse/ISIS-246[ISIS-246] - DataNucleus
-
diff --git a/antora/components/relnotes/modules/ROOT/pages/2013/1.1.0/relnotes.adoc b/antora/components/relnotes/modules/ROOT/pages/2013/1.1.0/relnotes.adoc
deleted file mode 100644
index c588a0e..0000000
--- a/antora/components/relnotes/modules/ROOT/pages/2013/1.1.0/relnotes.adoc
+++ /dev/null
@@ -1,139 +0,0 @@
-= 1.1.0
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-
-== Core
-
-=== New Feature
-
-* link:https://issues.apache.org/jira/browse/ISIS-282[ISIS-282] - Add support for file uploads and downloads to Wicket viewer and JDO objectstore
-* link:https://issues.apache.org/jira/browse/ISIS-304[ISIS-304] - arg, no business rules) do not appear.
-
-
-=== Improvement
-
-* link:https://issues.apache.org/jira/browse/ISIS-305[ISIS-305] - compareTo methods (when implement Comparable) should be automatically hidden
-
-
-=== Bug
-
-* link:https://issues.apache.org/jira/browse/ISIS-207[ISIS-207] - Improve the message given when a field is too long (exceeds its @MaxLength value)
-* link:https://issues.apache.org/jira/browse/ISIS-312[ISIS-312] - Guard in BaseFixture to allow fixtures to load in production mode was faulty
-
-
-
-== Wicket Viewer
-
-
-=== New Feature
-
-* link:https://issues.apache.org/jira/browse/ISIS-282[ISIS-282] - Add support for file uploads and downloads to Wicket viewer and JDO objectstore
-* link:https://issues.apache.org/jira/browse/ISIS-304[ISIS-304] - arg, no business rules) do not appear.
-
-
-=== Improvement
-
-* link:https://issues.apache.org/jira/browse/ISIS-308[ISIS-308] - Don't show (null) for a property or a parameter that has no reference (instead show an empty string)
-* link:https://issues.apache.org/jira/browse/ISIS-309[ISIS-309] - Minor fixes to support extensions to Wicket viewer.
-* link:https://issues.apache.org/jira/browse/ISIS-315[ISIS-315] - INF
-
-
-=== Bug
-
-* link:https://issues.apache.org/jira/browse/ISIS-300[ISIS-300] - The home page link in Wicket viewer goes to root context "/", rather than to the base of the webapp.
-
-
-
-
-
-
-
-== RestfulObjects Viewer
-
-
-
-=== New Feature
-
-* link:https://issues.apache.org/jira/browse/ISIS-323[ISIS-323] - Provide the capability to publish events, either changed objects or invoked actions
-* link:https://issues.apache.org/jira/browse/ISIS-410[ISIS-410] - RO viewer support @Render(EAGERLY) for collections
-
-
-=== Improvement
-
-* link:https://issues.apache.org/jira/browse/ISIS-233[ISIS-233] - viewer up to RO spec 1.0.0
-* link:https://issues.apache.org/jira/browse/ISIS-362[ISIS-362] - Upgrade to JMock 2.6.0
-* link:https://issues.apache.org/jira/browse/ISIS-387[ISIS-387] - Enhance PublishingService and AuditingService for created and deleted objects (as well as just updated objects).
-
-
-
-
-== Shiro Security
-
-
-
-
-=== New Feature
-
-* link:https://issues.apache.org/jira/browse/ISIS-307[ISIS-307] - Allow groups to be mapped to roles (eg AD groups to logically internal application roles)
-
-
-=== Improvement
-
-* link:https://issues.apache.org/jira/browse/ISIS-298[ISIS-298] - Provide a shiro Realm implementation that supports looking up roles from an LDAP server.
-
-
-=== Bug
-
-* link:https://issues.apache.org/jira/browse/ISIS-306[ISIS-306] - Parsing permission strings should trim both before and after.
-
-
-
-
-
-
-== JDO ObjectStore
-
-
-
-=== New Feature
-
-* link:https://issues.apache.org/jira/browse/ISIS-370[ISIS-370] - Provide a service to allow all @PersistenceCapable entities to be eagerly registered with Apache Isis (and therefore with DataNucleus)
-* link:https://issues.apache.org/jira/browse/ISIS-377[ISIS-377] - Publishing Service implementation that writes to a queue (using JDO).
-* link:https://issues.apache.org/jira/browse/ISIS-379[ISIS-379] - Move AuditingService out of the ToDo app demo and into JDO objectstore as a service impl.
-
-
-
-
-
-=== Improvement
-
-* link:https://issues.apache.org/jira/browse/ISIS-270[ISIS-270] - NotYetImplementedException in JDO objectstore when debug logging enabled
-* link:https://issues.apache.org/jira/browse/ISIS-326[ISIS-326] - Make Datanucleus JNDI aware
-* link:https://issues.apache.org/jira/browse/ISIS-362[ISIS-362] - Upgrade to JMock 2.6.0
-* link:https://issues.apache.org/jira/browse/ISIS-376[ISIS-376] - Enhance JDO objectstore to also support IdentityType.APPLICATION (as well as DATASTORE)
-* link:https://issues.apache.org/jira/browse/ISIS-386[ISIS-386] - Provide the ability to force a reload of an object by JDO/DataNucleus, and provide a domain service for clients.
-* link:https://issues.apache.org/jira/browse/ISIS-387[ISIS-387] - Enhance PublishingService and AuditingService for created and deleted objects (as well as just updated objects).
-* link:https://issues.apache.org/jira/browse/ISIS-389[ISIS-389] - Ensure that objects lazily loaded by JDO/DataNucleus get domain services injected into them consistently.
-* link:https://issues.apache.org/jira/browse/ISIS-391[ISIS-391] - Upgrade JDO objectstore to Datanucleus 3.2.1
-* link:https://issues.apache.org/jira/browse/ISIS-396[ISIS-396] - Wicket/JDO handling of BigDecimal properties should honour the @Column's scale attribute.
-* link:https://issues.apache.org/jira/browse/ISIS-303[ISIS-303] - Migration of DataNucleus (DN) type support to use DN v3.2 standard
-
-
-
-
-
-
-=== Bug
-
-* link:https://issues.apache.org/jira/browse/ISIS-296[ISIS-296] - wicket viewer display ??? ENTITYMODEL OBJECTADAPTER OID: NULL when view a root entity's collection member which data type is primitive String.
-* link:https://issues.apache.org/jira/browse/ISIS-301[ISIS-301] - Error when using class name as discriminator strategy
-* link:https://issues.apache.org/jira/browse/ISIS-302[ISIS-302] - Ensure related items are mapped into pojo (possible eager loading of parent/child relationship)
-* link:https://issues.apache.org/jira/browse/ISIS-321[ISIS-321] - gracefully handle any constraint violation thrown by the DataNucleus persistence mechanism (to be handled by JDO ObjectStore & Wicket)
-
-
-
-
-
diff --git a/antora/components/relnotes/modules/ROOT/pages/2013/1.2.0/relnotes.adoc b/antora/components/relnotes/modules/ROOT/pages/2013/1.2.0/relnotes.adoc
deleted file mode 100644
index e7ea8bd..0000000
--- a/antora/components/relnotes/modules/ROOT/pages/2013/1.2.0/relnotes.adoc
+++ /dev/null
@@ -1,134 +0,0 @@
-= 1.2.0
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-
-
-== Core
-
-=== New Feature
-
-* link:https://issues.apache.org/jira/browse/ISIS-323[ISIS-323] - Provide the capability to publish events, either changed objects or invoked actions
-* link:https://issues.apache.org/jira/browse/ISIS-327[ISIS-327] - Initialize and shutdown domain services
-* link:https://issues.apache.org/jira/browse/ISIS-344[ISIS-344] - Automatically exclude "parent references" from parented collections.
-* link:https://issues.apache.org/jira/browse/ISIS-351[ISIS-351] - fatal, for rendering to the user.
-* link:https://issues.apache.org/jira/browse/ISIS-356[ISIS-356] - Allow 'inject' to be used as a prefix for injecting services into entities, fixtures or other services.
-* link:https://issues.apache.org/jira/browse/ISIS-360[ISIS-360] - About page on wicket viewer should show version, build number and other details.
-* link:https://issues.apache.org/jira/browse/ISIS-367[ISIS-367] - Refactor to support JTA transactions
-* link:https://issues.apache.org/jira/browse/ISIS-377[ISIS-377] - Publishing Service implementation that writes to a queue (using JDO).
-* link:https://issues.apache.org/jira/browse/ISIS-378[ISIS-378] - a service for prototyping that allows access into the internals of the Apache Isis runtime
-* link:https://issues.apache.org/jira/browse/ISIS-380[ISIS-380] - Enhance BookmarkService API to allow objects to be looked up directly (rather than by dint of a BookmarkHolder)
-* link:https://issues.apache.org/jira/browse/ISIS-407[ISIS-407] - Annotation to automatically adjust end dates of ranges so that they are shown as inclusive vs exclusive.
-* link:https://issues.apache.org/jira/browse/ISIS-409[ISIS-409] - Move the 'wrapper' progmodel component into core, reworked as an optional service
-
-
-=== Improvement
-
-* link:https://issues.apache.org/jira/browse/ISIS-208[ISIS-208] - If two services accidentally have the same Id, then should throw an exception.
-* link:https://issues.apache.org/jira/browse/ISIS-326[ISIS-326] - Make Datanucleus JNDI aware
-* link:https://issues.apache.org/jira/browse/ISIS-330[ISIS-330] - Wicket viewer calls choices method while figuring out how to render properties. Should call less often (if not at all).
-* link:https://issues.apache.org/jira/browse/ISIS-331[ISIS-331] - Explicitly specify project.build.sourceEncoding for both Isis and the quickstart archetype
-* link:https://issues.apache.org/jira/browse/ISIS-343[ISIS-343] - Introduce @Render annotation and deprecate @Resolve
-* link:https://issues.apache.org/jira/browse/ISIS-345[ISIS-345] - Move the Bookmark service in the applib to a different package
-* link:https://issues.apache.org/jira/browse/ISIS-353[ISIS-353] - compareTo methods (when implement Comparable) should be automatically hidden
-* link:https://issues.apache.org/jira/browse/ISIS-358[ISIS-358] - Should be able to delete objects even if they are not versioned.
-* link:https://issues.apache.org/jira/browse/ISIS-362[ISIS-362] - Upgrade to JMock 2.6.0
-* link:https://issues.apache.org/jira/browse/ISIS-364[ISIS-364] - Suppress components of title when rendered in a parented collection.
-* link:https://issues.apache.org/jira/browse/ISIS-366[ISIS-366] - Core unit testing support JUnitRuleMockery2 does not support autoinjection of setters
-* link:https://issues.apache.org/jira/browse/ISIS-386[ISIS-386] - Provide the ability to force a reload of an object by JDO/DataNucleus, and provide a domain service for clients.
-* link:https://issues.apache.org/jira/browse/ISIS-387[ISIS-387] - Enhance PublishingService and AuditingService for created and deleted objects (as well as just updated objects).
-* link:https://issues.apache.org/jira/browse/ISIS-396[ISIS-396] - Wicket/JDO handling of BigDecimal properties should honour the @Column's scale attribute.
-* link:https://issues.apache.org/jira/browse/ISIS-397[ISIS-397] - Change default AuditingService impl to write to stderr, not stdout
-* link:https://issues.apache.org/jira/browse/ISIS-398[ISIS-398] - Extend applib's Clock interface to also return time as Joda LocalDate or LocalDateTime
-* link:https://issues.apache.org/jira/browse/ISIS-403[ISIS-403] - Improve the bookmarks in the Wicket viewer.
-
-
-=== Bug
-
-* link:https://issues.apache.org/jira/browse/ISIS-359[ISIS-359] - arg...
-* link:https://issues.apache.org/jira/browse/ISIS-408[ISIS-408] - persistable properties (annotated with @NotPersisted).
-
-
-
-== Wicket Viewer
-
-
-=== New Feature
-
-* link:https://issues.apache.org/jira/browse/ISIS-328[ISIS-328] - Wicket viewer should shutdown Apache Isis core on completion
-* link:https://issues.apache.org/jira/browse/ISIS-344[ISIS-344] - Automatically exclude "parent references" from parented collections.
-* link:https://issues.apache.org/jira/browse/ISIS-351[ISIS-351] - fatal, for rendering to the user.
-* link:https://issues.apache.org/jira/browse/ISIS-360[ISIS-360] - About page on wicket viewer should show version, build number and other details.
-* link:https://issues.apache.org/jira/browse/ISIS-363[ISIS-363] - Wicket viewer should abbreviate title to different lengths for parented vs standalone collections.
-* link:https://issues.apache.org/jira/browse/ISIS-384[ISIS-384] - Provide automatic totalling of collections.
-* link:https://issues.apache.org/jira/browse/ISIS-400[ISIS-400] - In the wicket viewer, allow actions to be associated with properties (similar to how this can be done with collections)
-* link:https://issues.apache.org/jira/browse/ISIS-407[ISIS-407] - Annotation to automatically adjust end dates of ranges so that they are shown as inclusive vs exclusive.
-
-
-=== Improvement
-
-* link:https://issues.apache.org/jira/browse/ISIS-314[ISIS-314] - The wicket viewer should honour precision and scale when rendering BigDecimal values.
-* link:https://issues.apache.org/jira/browse/ISIS-320[ISIS-320] - Be more verbose when wicket page fails to render
-* link:https://issues.apache.org/jira/browse/ISIS-330[ISIS-330] - Wicket viewer calls choices method while figuring out how to render properties. Should call less often (if not at all).
-* link:https://issues.apache.org/jira/browse/ISIS-335[ISIS-335] - Don't include (or perhaps abbreviate) the title text in collections
-* link:https://issues.apache.org/jira/browse/ISIS-337[ISIS-337] - Reduce size of font in breadcrumbs
-* link:https://issues.apache.org/jira/browse/ISIS-338[ISIS-338] - Right align number fields (byte, short, int, long, float, double, BigInteger, BigDecimal)
-* link:https://issues.apache.org/jira/browse/ISIS-339[ISIS-339] - Wicket Autocomplete should only fire if at least 1 character has been entered.
-* link:https://issues.apache.org/jira/browse/ISIS-340[ISIS-340] - Wicket viewer bookmarks should show icon as well as title
-* link:https://issues.apache.org/jira/browse/ISIS-343[ISIS-343] - Introduce @Render annotation and deprecate @Resolve
-* link:https://issues.apache.org/jira/browse/ISIS-349[ISIS-349] - Show notifications, warning messages and error messages in Wicket
-* link:https://issues.apache.org/jira/browse/ISIS-350[ISIS-350] - Provide a fallback error page in case of runtime exception being thrown.
-* link:https://issues.apache.org/jira/browse/ISIS-357[ISIS-357] - Gracefully handle objects that have been deleted.
-* link:https://issues.apache.org/jira/browse/ISIS-362[ISIS-362] - Upgrade to JMock 2.6.0
-* link:https://issues.apache.org/jira/browse/ISIS-364[ISIS-364] - Suppress components of title when rendered in a parented collection.
-* link:https://issues.apache.org/jira/browse/ISIS-365[ISIS-365] - Should not add same object to bookmarks (breadcrumbs) twice if its title has changed.
-* link:https://issues.apache.org/jira/browse/ISIS-392[ISIS-392] - In Wicket, provide a datepicker for all of the date/datetime value types.
-* link:https://issues.apache.org/jira/browse/ISIS-393[ISIS-393] - Upgrade to Wicket 6.7.0
-* link:https://issues.apache.org/jira/browse/ISIS-394[ISIS-394] - Use JQuery UI date picker rather than the YUI picker.
-* link:https://issues.apache.org/jira/browse/ISIS-395[ISIS-395] - Allow Wicket viewer's date pattern to be globally configurable
-* link:https://issues.apache.org/jira/browse/ISIS-396[ISIS-396] - Wicket/JDO handling of BigDecimal properties should honour the @Column's scale attribute.
-* link:https://issues.apache.org/jira/browse/ISIS-403[ISIS-403] - Improve the bookmarks in the Wicket viewer.
-
-
-=== Bug
-
-* link:https://issues.apache.org/jira/browse/ISIS-295[ISIS-295] - NullPointerException when view aggregated entity using Wicket viewer
-* link:https://issues.apache.org/jira/browse/ISIS-321[ISIS-321] - gracefully handle any constraint violation thrown by the DataNucleus persistence mechanism (to be handled by JDO ObjectStore & Wicket)
-* link:https://issues.apache.org/jira/browse/ISIS-334[ISIS-334] - method String iconName() is never called in entities
-* link:https://issues.apache.org/jira/browse/ISIS-336[ISIS-336] - Fix CSS for Wicket viewer so that disabled application actions (on menu bar) are shown greyed out.
-* link:https://issues.apache.org/jira/browse/ISIS-341[ISIS-341] - if search and get no results, then click on the OK, then get a stack trace
-* link:https://issues.apache.org/jira/browse/ISIS-342[ISIS-342] - Bootstrapping Wicket application should load supplementary config files for viewers.
-* link:https://issues.apache.org/jira/browse/ISIS-354[ISIS-354] - Issues with Wicket viewer and tck examples
-* link:https://issues.apache.org/jira/browse/ISIS-359[ISIS-359] - arg...
-* link:https://issues.apache.org/jira/browse/ISIS-382[ISIS-382] - Quickly pressing enter multiple times on an object form creates multiple instances.
-* link:https://issues.apache.org/jira/browse/ISIS-385[ISIS-385] - In the wicket viewer, actions rendered by collections are never shown as disabled.
-* link:https://issues.apache.org/jira/browse/ISIS-388[ISIS-388] - Bulk actions in Wicket viewer not correctly redirecting to error page if an unexpected error occurs
-* link:https://issues.apache.org/jira/browse/ISIS-390[ISIS-390] - Fix NPE in Wicket viewer if tries to render an action that is invisible.
-* link:https://issues.apache.org/jira/browse/ISIS-402[ISIS-402] - Wicket viewer, show bulk actions for prototype or exploring modes.
-
-
-
-
-
-
-
-== RestfulObjects Viewer
-
-=== New Feature
-
-* link:https://issues.apache.org/jira/browse/ISIS-323[ISIS-323] - Provide the capability to publish events, either changed objects or invoked actions
-* link:https://issues.apache.org/jira/browse/ISIS-410[ISIS-410] - RO viewer support @Render(EAGERLY) for collections
-
-
-=== Improvement
-
-* link:https://issues.apache.org/jira/browse/ISIS-233[ISIS-233] - viewer up to RO spec 1.0.0
-* link:https://issues.apache.org/jira/browse/ISIS-362[ISIS-362] - Upgrade to JMock 2.6.0
-* link:https://issues.apache.org/jira/browse/ISIS-387[ISIS-387] - Enhance PublishingService and AuditingService for created and deleted objects (as well as just updated objects).
-
-
-
-
-
diff --git a/antora/components/relnotes/modules/ROOT/pages/2013/1.3.0/relnotes.adoc b/antora/components/relnotes/modules/ROOT/pages/2013/1.3.0/relnotes.adoc
deleted file mode 100644
index 4e18eb6..0000000
--- a/antora/components/relnotes/modules/ROOT/pages/2013/1.3.0/relnotes.adoc
+++ /dev/null
@@ -1,254 +0,0 @@
-= 1.3.0
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-== Core
-
-=== New Feature
-
-* link:https://issues.apache.org/jira/browse/ISIS-420[ISIS-420] - level settings service.
-* link:https://issues.apache.org/jira/browse/ISIS-423[ISIS-423] - Provide contract test utility for the automatic testing of 1:m and 1:1 bidirectional relationships
-* link:https://issues.apache.org/jira/browse/ISIS-426[ISIS-426] - Provide abstract contract test to easily verify Comparable implementations.
-* link:https://issues.apache.org/jira/browse/ISIS-427[ISIS-427] - specific), with JDO implementation.
-* link:https://issues.apache.org/jira/browse/ISIS-430[ISIS-430] - Allow the sort order for SortedSet parented collections to be overridden with a new @SortedBy annotation.
-* link:https://issues.apache.org/jira/browse/ISIS-433[ISIS-433] - specific autoComplete through prefixed methods on actions parameters (cf choices method).
-* link:https://issues.apache.org/jira/browse/ISIS-434[ISIS-434] - specific autoComplete through prefixed methods on properties
-* link:https://issues.apache.org/jira/browse/ISIS-440[ISIS-440] - Contributed collections to allow decoupling
-* link:https://issues.apache.org/jira/browse/ISIS-441[ISIS-441] - Helper classes in the applib to implement common object contracts (toString, equals, hashCode, compareTo)
-* link:https://issues.apache.org/jira/browse/ISIS-446[ISIS-446] - A new DeveloperUtilitiesService to download the metamodel as a CSV spreadsheet
-* link:https://issues.apache.org/jira/browse/ISIS-450[ISIS-450] - session interaction between entities.
-* link:https://issues.apache.org/jira/browse/ISIS-452[ISIS-452] - New @PostsPropertyChangedEvent annotation to post a PropertyChangedEvent via EventBusService
-* link:https://issues.apache.org/jira/browse/ISIS-457[ISIS-457] - New annotation @CssClass for class member, should render in the HTML markup for that member.
-* link:https://issues.apache.org/jira/browse/ISIS-461[ISIS-461] - Provide the ability to run arbitrary fixtures (implementing the applib's InstallableFixture) in integration tests
-* link:https://issues.apache.org/jira/browse/ISIS-463[ISIS-463] - scope, respectively)
-* link:https://issues.apache.org/jira/browse/ISIS-468[ISIS-468] - Provide better layout management of pages in the Wicket viewer.
-* link:https://issues.apache.org/jira/browse/ISIS-469[ISIS-469] - Provide implementations of certain layout facets that read from a "Xxx.layout.properties" file
-* link:https://issues.apache.org/jira/browse/ISIS-470[ISIS-470] - Provide the ability to rebuild the metamodel for individual classes, thus allowing file-based layout capability...
-* link:https://issues.apache.org/jira/browse/ISIS-475[ISIS-475] - File-based layout using JSON, using an `Xxx.layout.json` file
-* link:https://issues.apache.org/jira/browse/ISIS-478[ISIS-478] - Provide conditional choices, defaults and validation between action parameters
-* link:https://issues.apache.org/jira/browse/ISIS-484[ISIS-484] - Contract test for ensuring that injectXxx methods are final and not overridable
-* link:https://issues.apache.org/jira/browse/ISIS-497[ISIS-497] - Allow service actions to be rendered as contributed collections or as contributed properties.
-* link:https://issues.apache.org/jira/browse/ISIS-518[ISIS-518] - Support Guava's Predicate API for allMatches etc in the applib; deprecate the Filter<T> API.
-* link:https://issues.apache.org/jira/browse/ISIS-553[ISIS-553] - Provide view model support, as sketched out in the Restful Objects spec
-* link:https://issues.apache.org/jira/browse/ISIS-554[ISIS-554] - Automatically render a "Dashboard" service (perhaps one annotated with @Dashboard) as an object in the Wicket viewer.
-* link:https://issues.apache.org/jira/browse/ISIS-559[ISIS-559] - When a @Bulk action is invoked, an interaction context (available via a ThreadLocal) should provide additional contextual information.
-
-
-
-=== Improvement
-
-* link:https://issues.apache.org/jira/browse/ISIS-51[ISIS-51] - collections/guava or Apache collections)
-* link:https://issues.apache.org/jira/browse/ISIS-74[ISIS-74] - Get rid of BoundedFacet (or keep only for information); instead replace with ChoicesFacetBecauseBounded.
-* link:https://issues.apache.org/jira/browse/ISIS-210[ISIS-210] - Support parameter choices on contributed actions
-* link:https://issues.apache.org/jira/browse/ISIS-425[ISIS-425] - Factor out abstract contract test class to make it easier to write contract tests that apply to all entities.
-* link:https://issues.apache.org/jira/browse/ISIS-428[ISIS-428] - JUnitMockery2 should automatically instantiate the @ClassUnderTest
-* link:https://issues.apache.org/jira/browse/ISIS-436[ISIS-436] - Extend the ApplicationSettings and UserSettings (read/write and listAll)
-* link:https://issues.apache.org/jira/browse/ISIS-444[ISIS-444] - Autocomplete should allow minimum characters to be specified; choices should require no characters to be specified.
-* link:https://issues.apache.org/jira/browse/ISIS-453[ISIS-453] - Extend @MemberGroups annotation so that it can provide a hint to lay out properties on either left or right hand side of the page (with respect to Wicket viewer's rendering)
-* link:https://issues.apache.org/jira/browse/ISIS-456[ISIS-456] - ResourceServlet should set the contentType for common file types.
-* link:https://issues.apache.org/jira/browse/ISIS-458[ISIS-458] - Allow services to be rendered in a different order than listed in isis.properties.
-* link:https://issues.apache.org/jira/browse/ISIS-462[ISIS-462] - Improve ValueTypeContractTestAbstract to also test for value types that implement Comparable.
-* link:https://issues.apache.org/jira/browse/ISIS-465[ISIS-465] - Provide the ability to reuse FixtureInstallerDelegate to install demo fixtures (in running application).
-* link:https://issues.apache.org/jira/browse/ISIS-474[ISIS-474] - able due to user role permission mapping.
-* link:https://issues.apache.org/jira/browse/ISIS-480[ISIS-480] - With the new multiple columns for properties, should only be a single edit form, and should also allow collections to "overflow" underneath property columns if need be.
-* link:https://issues.apache.org/jira/browse/ISIS-482[ISIS-482] - Allow as "choices" return type any descendant of "Collection"
-* link:https://issues.apache.org/jira/browse/ISIS-485[ISIS-485] - Clearer messages for validation exceptions (specially MandatoryExceptions)
-* link:https://issues.apache.org/jira/browse/ISIS-490[ISIS-490] - Switch from log4j to using slf4j throughout
-* link:https://issues.apache.org/jira/browse/ISIS-495[ISIS-495] - collection
-* link:https://issues.apache.org/jira/browse/ISIS-500[ISIS-500] - Make EntityIconAndTitlePanel easier to subclass; minor tidy up ComponentFactory and PageRegistryDefault.
-* link:https://issues.apache.org/jira/browse/ISIS-503[ISIS-503] - Refactor the way that members are ordered to allow contributee actions to be ordered within regular actions
-* link:https://issues.apache.org/jira/browse/ISIS-504[ISIS-504] - Metamodel validator should throw a violation if discover any properties/collections on a service
-* link:https://issues.apache.org/jira/browse/ISIS-509[ISIS-509] - Tidy up and rationalize Util classes in core (and all dependents)
-* link:https://issues.apache.org/jira/browse/ISIS-519[ISIS-519] - archived stuff too, the never implemented searchable annotations/interfaces).
-* link:https://issues.apache.org/jira/browse/ISIS-528[ISIS-528] - Allow framework to deal with transient objects not instantiated by newTransientInstance. Improve javadoc.
-* link:https://issues.apache.org/jira/browse/ISIS-536[ISIS-536] - local
-* link:https://issues.apache.org/jira/browse/ISIS-539[ISIS-539] - Allow a reason to be specified in @Disabled annotation
-* link:https://issues.apache.org/jira/browse/ISIS-546[ISIS-546] - OID marshalling should allow an '@' symbol for the version.getUser()
-* link:https://issues.apache.org/jira/browse/ISIS-564[ISIS-564] - The API for the AuditingService#audit omits the id of the property being changed. Fix this (respecting semver)
-* link:https://issues.apache.org/jira/browse/ISIS-567[ISIS-567] - Provide the capability to disable concurrency checking through a global property (in isis.properties)
-
-
-
-=== Bug
-
-* link:https://issues.apache.org/jira/browse/ISIS-236[ISIS-236] - Classes that are not referenced in the DOM aren't found by the specification loader
-* link:https://issues.apache.org/jira/browse/ISIS-435[ISIS-435] - Problems with Enums implementing methods on values
-* link:https://issues.apache.org/jira/browse/ISIS-442[ISIS-442] - Fix error handling flow in IsisTransaction
-* link:https://issues.apache.org/jira/browse/ISIS-449[ISIS-449] - Error handling when transaction aborted incorrect
-* link:https://issues.apache.org/jira/browse/ISIS-451[ISIS-451] - Abstract methods (and perhaps synthetic methods) not being filtered out of metamodel
-* link:https://issues.apache.org/jira/browse/ISIS-464[ISIS-464] - Some trivial cleanup
-* link:https://issues.apache.org/jira/browse/ISIS-467[ISIS-467] - timezone difference issue in date test in org.apache.isis.objectstore.sql.HsqlTest
-* link:https://issues.apache.org/jira/browse/ISIS-531[ISIS-531] - "API" classes that are used by danhaywood's wicket extensions, was breaking backward compatibility
-* link:https://issues.apache.org/jira/browse/ISIS-533[ISIS-533] - When flushing transaction, allow for fact that flushing might cause additional persistence commands to be created, and iterate.
-* link:https://issues.apache.org/jira/browse/ISIS-545[ISIS-545] - Test in error (Unparseable date)
-* link:https://issues.apache.org/jira/browse/ISIS-549[ISIS-549] - RegisterEntities has two @PostConstruct methods...
-* link:https://issues.apache.org/jira/browse/ISIS-565[ISIS-565] - NullPointerException on OneToOneAssociation#clearValue
-* link:https://issues.apache.org/jira/browse/ISIS-566[ISIS-566] - Concurrency conflict on related entity that has not been edited
-
-
-
-
-=== Task
-
-* link:https://issues.apache.org/jira/browse/ISIS-437[ISIS-437] - up tasks for Apache Isis 1.3.0 and associated components.
-
-
-
-== Wicket Viewer
-
-=== New Feature
-
-* link:https://issues.apache.org/jira/browse/ISIS-417[ISIS-417] - In wicket viewer, provide a 'select all' checkbox on table (for invoking bulk actions)
-* link:https://issues.apache.org/jira/browse/ISIS-419[ISIS-419] - sensitive lookups.
-* link:https://issues.apache.org/jira/browse/ISIS-430[ISIS-430] - Allow the sort order for SortedSet parented collections to be overridden with a new @SortedBy annotation.
-* link:https://issues.apache.org/jira/browse/ISIS-432[ISIS-432] - In the wicket viewer, table columns should be sortable
-* link:https://issues.apache.org/jira/browse/ISIS-433[ISIS-433] - specific autoComplete through prefixed methods on actions parameters (cf choices method).
-* link:https://issues.apache.org/jira/browse/ISIS-434[ISIS-434] - specific autoComplete through prefixed methods on properties
-* link:https://issues.apache.org/jira/browse/ISIS-443[ISIS-443] - Provide the ability to group domain services into logical menus, using @MemberOrder.
-* link:https://issues.apache.org/jira/browse/ISIS-445[ISIS-445] - Actions returning blobs or clobs should download as a file.
-* link:https://issues.apache.org/jira/browse/ISIS-447[ISIS-447] - In Wicket viewer, distinguish prototype/exploration actions in the app menu
-* link:https://issues.apache.org/jira/browse/ISIS-457[ISIS-457] - New annotation @CssClass for class member, should render in the HTML markup for that member.
-* link:https://issues.apache.org/jira/browse/ISIS-468[ISIS-468] - Provide better layout management of pages in the Wicket viewer.
-* link:https://issues.apache.org/jira/browse/ISIS-475[ISIS-475] - File-based layout using JSON, using an `Xxx.layout.json` file
-* link:https://issues.apache.org/jira/browse/ISIS-478[ISIS-478] - Provide conditional choices, defaults and validation between action parameters
-* link:https://issues.apache.org/jira/browse/ISIS-497[ISIS-497] - Allow service actions to be rendered as contributed collections or as contributed properties.
-* link:https://issues.apache.org/jira/browse/ISIS-498[ISIS-498] - Enhance Wicket's BlobPanel so that, if an image is uploaded as the blob, then it is displayed in thumbnail form.
-* link:https://issues.apache.org/jira/browse/ISIS-553[ISIS-553] - Provide view model support, as sketched out in the Restful Objects spec
-* link:https://issues.apache.org/jira/browse/ISIS-554[ISIS-554] - Automatically render a "Dashboard" service (perhaps one annotated with @Dashboard) as an object in the Wicket viewer.
-* link:https://issues.apache.org/jira/browse/ISIS-559[ISIS-559] - When a @Bulk action is invoked, an interaction context (available via a ThreadLocal) should provide additional contextual information.
-
-
-
-=== Improvement
-
-* link:https://issues.apache.org/jira/browse/ISIS-416[ISIS-416] - Make spinning icon image in Wicket pluggable
-* link:https://issues.apache.org/jira/browse/ISIS-424[ISIS-424] - final so can be subclassed.
-* link:https://issues.apache.org/jira/browse/ISIS-444[ISIS-444] - Autocomplete should allow minimum characters to be specified; choices should require no characters to be specified.
-* link:https://issues.apache.org/jira/browse/ISIS-453[ISIS-453] - Extend @MemberGroups annotation so that it can provide a hint to lay out properties on either left or right hand side of the page (with respect to Wicket viewer's rendering)
-* link:https://issues.apache.org/jira/browse/ISIS-455[ISIS-455] - specific CSS.
-* link:https://issues.apache.org/jira/browse/ISIS-473[ISIS-473] - Allow operations to individually be specified for "@bookmarkable" behaviour.
-* link:https://issues.apache.org/jira/browse/ISIS-480[ISIS-480] - With the new multiple columns for properties, should only be a single edit form, and should also allow collections to "overflow" underneath property columns if need be.
-* link:https://issues.apache.org/jira/browse/ISIS-490[ISIS-490] - Switch from log4j to using slf4j throughout
-* link:https://issues.apache.org/jira/browse/ISIS-500[ISIS-500] - Make EntityIconAndTitlePanel easier to subclass; minor tidy up ComponentFactory and PageRegistryDefault.
-* link:https://issues.apache.org/jira/browse/ISIS-520[ISIS-520] - type cmd line arg.
-* link:https://issues.apache.org/jira/browse/ISIS-521[ISIS-521] - Xxx.layout.json is not read for abstract classes (as used for parented collections)
-* link:https://issues.apache.org/jira/browse/ISIS-523[ISIS-523] - If max length of title in collections is 0, then suppress the title label also.
-* link:https://issues.apache.org/jira/browse/ISIS-525[ISIS-525] - Wicket tags should be stripped by default, overridable with an Apache Isis property.
-* link:https://issues.apache.org/jira/browse/ISIS-527[ISIS-527] - focus on first field when edit an object or on action parameter.
-* link:https://issues.apache.org/jira/browse/ISIS-530[ISIS-530] - ui
-* link:https://issues.apache.org/jira/browse/ISIS-538[ISIS-538] - Improve performance of rendering lists (in Wicket viewer)
-* link:https://issues.apache.org/jira/browse/ISIS-547[ISIS-547] - Provide better error logging from the Wicket applicaiton init() method if Apache Isis fails to boot.
-* link:https://issues.apache.org/jira/browse/ISIS-558[ISIS-558] - When bulk action is invoked, the action that generated the collection should be resubmitted (so that a full refresh takes place).
-
-
-
-
-=== Bug
-
-* link:https://issues.apache.org/jira/browse/ISIS-401[ISIS-401] - In wicket viewer, concurrency checking is currently disabled when invoke action on an entity.
-* link:https://issues.apache.org/jira/browse/ISIS-449[ISIS-449] - Error handling when transaction aborted incorrect
-* link:https://issues.apache.org/jira/browse/ISIS-502[ISIS-502] - wicket componentList order sensitivity
-* link:https://issues.apache.org/jira/browse/ISIS-551[ISIS-551] - Not forwarding onto the error page correctly if any of the application actions (ie menus) hit the object store when the transaction has been set to ABORT due to an earlier failure.
-* link:https://issues.apache.org/jira/browse/ISIS-552[ISIS-552] - Upgrade to Wicket 6.11.0 and disable HTML5 functionality that caused interference between required text fields and the Wicket viewer's veil.
-* link:https://issues.apache.org/jira/browse/ISIS-560[ISIS-560] - When invoking an action, drop downs get cleared (in the UI) if there is a validation error, but the underlying model is set.
-* link:https://issues.apache.org/jira/browse/ISIS-566[ISIS-566] - Concurrency conflict on related entity that has not been edited
-
-
-
-
-
-== RestfulObjects Viewer
-
-
-=== New Feature
-
-* link:https://issues.apache.org/jira/browse/ISIS-553[ISIS-553] - Provide view model support, as sketched out in the Restful Objects spec
-
-
-
-=== Improvement
-
-* link:https://issues.apache.org/jira/browse/ISIS-411[ISIS-411] - Enhance RO to allow EAGER rendering of properties (as well as collections)
-* link:https://issues.apache.org/jira/browse/ISIS-509[ISIS-509] - Tidy up and rationalize Util classes in core (and all dependents)
-
-
-
-
-=== Bug
-
-* link:https://issues.apache.org/jira/browse/ISIS-318[ISIS-318] - Restful Objects viewer returning 500 instead of 400 when given bad input
-* link:https://issues.apache.org/jira/browse/ISIS-413[ISIS-413] - RO representation of entities with a null LocalDate failing with an ClassCastException
-* link:https://issues.apache.org/jira/browse/ISIS-464[ISIS-464] - Some trivial cleanup
-* link:https://issues.apache.org/jira/browse/ISIS-479[ISIS-479] - Properties not getting updated as per 14.2 in RO Spec
-* link:https://issues.apache.org/jira/browse/ISIS-481[ISIS-481] - some links are broken
-* link:https://issues.apache.org/jira/browse/ISIS-496[ISIS-496] - a link is broken
-* link:https://issues.apache.org/jira/browse/ISIS-526[ISIS-526] - Action Resource Parameters representation
-
-
-
-
-
-== Shiro Security
-
-
-
-=== Improvement
-
-* link:https://issues.apache.org/jira/browse/ISIS-362[ISIS-362] - Upgrade to JMock 2.6.0
-* link:https://issues.apache.org/jira/browse/ISIS-509[ISIS-509] - Tidy up and rationalize Util classes in core (and all dependents)
-
-
-
-
-== JDO ObjectStore
-
-=== New Feature
-
-* link:https://issues.apache.org/jira/browse/ISIS-322[ISIS-322] - Allow JDO objectstore to run on the Google App Engine
-* link:https://issues.apache.org/jira/browse/ISIS-422[ISIS-422] - Create Apache Isis API for custom Queries sent to the Objectstore by the PersistenceManager
-* link:https://issues.apache.org/jira/browse/ISIS-427[ISIS-427] - specific), with JDO implementation.
-* link:https://issues.apache.org/jira/browse/ISIS-450[ISIS-450] - session interaction between entities.
-* link:https://issues.apache.org/jira/browse/ISIS-459[ISIS-459] - Enhance IsisJdoSupport service to support integration testing (execute arbitrary SQL, delete all instances of an entity)
-* link:https://issues.apache.org/jira/browse/ISIS-488[ISIS-488] - Derive Apache Isis' MandatoryFacet from JDO @Column(allowsNull=) annotation, and provide @Mandatory annotation as override
-* link:https://issues.apache.org/jira/browse/ISIS-553[ISIS-553] - Provide view model support, as sketched out in the Restful Objects spec
-
-
-
-=== Improvement
-
-* link:https://issues.apache.org/jira/browse/ISIS-270[ISIS-270] - NotYetImplementedException in JDO objectstore when debug logging enabled
-* link:https://issues.apache.org/jira/browse/ISIS-436[ISIS-436] - Extend the ApplicationSettings and UserSettings (read/write and listAll)
-* link:https://issues.apache.org/jira/browse/ISIS-438[ISIS-438] - Upgrade to DN 3.2.3 and remove the workaround we had introduced ...
-* link:https://issues.apache.org/jira/browse/ISIS-460[ISIS-460] - JDO objectstore should sync adapters on bulk delete.
-* link:https://issues.apache.org/jira/browse/ISIS-509[ISIS-509] - Tidy up and rationalize Util classes in core (and all dependents)
-* link:https://issues.apache.org/jira/browse/ISIS-524[ISIS-524] - Allow to control the database schema generation using a property in isis.properties file.
-* link:https://issues.apache.org/jira/browse/ISIS-529[ISIS-529] - Provide hidden versions of the ApplicationSettingsService and UserSettingsService.
-* link:https://issues.apache.org/jira/browse/ISIS-540[ISIS-540] - ExceptionRecognizerForJDODataStoreException is too general...
-* link:https://issues.apache.org/jira/browse/ISIS-557[ISIS-557] - If @javax.jdo.annotations.Column(length=...) is specified, then should be used to infer the MaxLengthFacet
-
-
-=== Bug
-
-* link:https://issues.apache.org/jira/browse/ISIS-476[ISIS-476] - Update JDO/DN to allow for fact that invoking the Persisting callback may have resulted in the target object having already been updated.
-* link:https://issues.apache.org/jira/browse/ISIS-549[ISIS-549] - RegisterEntities has two @PostConstruct methods...
-* link:https://issues.apache.org/jira/browse/ISIS-566[ISIS-566] - Concurrency conflict on related entity that has not been edited
-
-
-=== Dependency upgrade
-
-* link:https://issues.apache.org/jira/browse/ISIS-477[ISIS-477] - Update JDO/DataNucleus objectstore to DN 3.2.6 and other latest dependencies
-* link:https://issues.apache.org/jira/browse/ISIS-501[ISIS-501] - Maven error with DN enhancer: required artifact missing
-
-
-
-=== Task
-
-* link:https://issues.apache.org/jira/browse/ISIS-437[ISIS-437] - up tasks for Apache Isis 1.3.0 and associated components.
-
-
-
-
-
-
diff --git a/antora/components/relnotes/modules/ROOT/pages/2013/1.3.1/relnotes.adoc b/antora/components/relnotes/modules/ROOT/pages/2013/1.3.1/relnotes.adoc
deleted file mode 100644
index 91dc5f4..0000000
--- a/antora/components/relnotes/modules/ROOT/pages/2013/1.3.1/relnotes.adoc
+++ /dev/null
@@ -1,28 +0,0 @@
-= 1.3.1
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-
-== Wicket Viewer
-
-=== New Feature
-
-* link:https://issues.apache.org/jira/browse/ISIS-575[ISIS-575] - Tiny new feature... add a tooltip to icons/titles so can see what type it represents.
-
-
-=== Bug
-
-* link:https://issues.apache.org/jira/browse/ISIS-560[ISIS-560] - When invoking an action, drop downs get cleared (in the UI) if there is a validation error, but the underlying model is set.
-* link:https://issues.apache.org/jira/browse/ISIS-570[ISIS-570] - Drop downs for action parameters don't repaint themselves correctly when a validation error occurs for other parameters on the form.
-* link:https://issues.apache.org/jira/browse/ISIS-580[ISIS-580] - Date fields are cleared when tabbing through other fields.
-
-
-=== Task
-
-* link:https://issues.apache.org/jira/browse/ISIS-581[ISIS-581] - Release tasks for Apache Isis wicket viewer v1.3.1
-
-
-
-
diff --git a/antora/components/relnotes/modules/ROOT/pages/2014/1.4.0/relnotes.adoc b/antora/components/relnotes/modules/ROOT/pages/2014/1.4.0/relnotes.adoc
deleted file mode 100644
index 5020d7b..0000000
--- a/antora/components/relnotes/modules/ROOT/pages/2014/1.4.0/relnotes.adoc
+++ /dev/null
@@ -1,236 +0,0 @@
-= 1.4.0
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-== Core
-
-=== New Feature
-
-* link:https://issues.apache.org/jira/browse/ISIS-592[ISIS-592] - Make XmlSnapshot (in core.runtime) available as an applib service.
-* link:https://issues.apache.org/jira/browse/ISIS-593[ISIS-593] - MementoService enhancements
-* link:https://issues.apache.org/jira/browse/ISIS-595[ISIS-595] - Validate metamodel to ensure that any bookmarkable actions are explicitly annotated as having safe action semantics.
-* link:https://issues.apache.org/jira/browse/ISIS-601[ISIS-601] - Extend the dynamic JSON layout so that the PagedFacet (@Paged annotation) can be specified for collections.
-* link:https://issues.apache.org/jira/browse/ISIS-602[ISIS-602] - Extend the dynamic JSON layout so that RenderFacet (@Render annotation) can be specified dynamically
-* link:https://issues.apache.org/jira/browse/ISIS-603[ISIS-603] - Extend the dynamic JSON layout so that NamedFacet (@Named annotation) can be specified dynamically
-* link:https://issues.apache.org/jira/browse/ISIS-604[ISIS-604] - Extend the dynamic JSON layout so that TypicalLengthFacet (@TypicalLength annotation) can be specified dynamically
-* link:https://issues.apache.org/jira/browse/ISIS-605[ISIS-605] - Extend the dynamic JSON layout so that MultiLineFacet (@MultiLine annotation) can be specified dynamically
-* link:https://issues.apache.org/jira/browse/ISIS-606[ISIS-606] - Extend the dynamic JSON layout so that CssClassFacet (@CssClass annotation) can be specified dynamically
-* link:https://issues.apache.org/jira/browse/ISIS-607[ISIS-607] - Extend the dynamic JSON layout so that DescribedAsFacet (@DescribedAs annotation) can be specified dynamically
-* link:https://issues.apache.org/jira/browse/ISIS-612[ISIS-612] - Return a URL from an action opens a new browser window
-* link:https://issues.apache.org/jira/browse/ISIS-613[ISIS-613] - Extend the dynamic JSON layout so that HiddenFacet (@Hidden annotation) can be specified dynamically
-* link:https://issues.apache.org/jira/browse/ISIS-614[ISIS-614] - Extend the dynamic JSON layout so that DisabledFacet (@Disabled annotation) can be specified dynamically
-* link:https://issues.apache.org/jira/browse/ISIS-624[ISIS-624] - Use javax.validation.constraints.Digits to specify length and scale for BigDecimal action parameters (to avoid JDO exceptions later).
-* link:https://issues.apache.org/jira/browse/ISIS-625[ISIS-625] - Better reporting of metamodel violation errors
-* link:https://issues.apache.org/jira/browse/ISIS-648[ISIS-648] - Improve support for bulk update
-* link:https://issues.apache.org/jira/browse/ISIS-652[ISIS-652] - Support @RequestScoped beans (registered as services)
-* link:https://issues.apache.org/jira/browse/ISIS-653[ISIS-653] - scoped service, as a way of passing arbitrary user data from one place to another. One use case is to coordinate the response of bulk actions.
-* link:https://issues.apache.org/jira/browse/ISIS-654[ISIS-654] - scoped QueryResultsCache service, as a technique for performance tuning.
-* link:https://issues.apache.org/jira/browse/ISIS-655[ISIS-655] - scoped Bulk.InteractionContextService bean.
-* link:https://issues.apache.org/jira/browse/ISIS-660[ISIS-660] - Profiling support and also infrastructure for background (async job) support
-* link:https://issues.apache.org/jira/browse/ISIS-661[ISIS-661] - BackgroundService and BackgroundTaskService as a way of creating mementos to execute jobs asynchronously
-* link:https://issues.apache.org/jira/browse/ISIS-662[ISIS-662] - Provide a "contributions" service to add a PublishedEvents contributed collection for the Interaction entity.
-* link:https://issues.apache.org/jira/browse/ISIS-663[ISIS-663] - Provide a "contributions" service for AuditEntry, so that audit entries are shown as a contributed collection to the Interaction entity.
-* link:https://issues.apache.org/jira/browse/ISIS-664[ISIS-664] - Provide an abstract class for running "sudo" scheduler jobs
-* link:https://issues.apache.org/jira/browse/ISIS-673[ISIS-673] - AbstractIsisSessionTemplate as a way to run arbitrary 'runnable' in an Apache Isis session
-* link:https://issues.apache.org/jira/browse/ISIS-685[ISIS-685] - Add new @Command(async=true|false) flag, so that Command is automatically scheduled to run in the background
-* link:https://issues.apache.org/jira/browse/ISIS-696[ISIS-696] - Extra overload for BookmarkService for lookup with downcast (making more consistent with API of MementoService).
-* link:https://issues.apache.org/jira/browse/ISIS-697[ISIS-697] - Extend DeveloperUtilitiesService to be able to refresh services (for contributed actions)
-* link:https://issues.apache.org/jira/browse/ISIS-728[ISIS-728] - Provide facet factory to enable auditing by default on all objects, unless explicitly opted out
-* link:https://issues.apache.org/jira/browse/ISIS-729[ISIS-729] - Provide facet factory to treat all actions by default as commands, unless explicitly opted out
-* link:https://issues.apache.org/jira/browse/ISIS-730[ISIS-730] - Provide a very simple ClockService, so all services accessed in same way via DI
-
-
-
-=== Improvement
-
-* link:https://issues.apache.org/jira/browse/ISIS-272[ISIS-272] - Adding ValueSemanticProviders for UUID and URI
-* link:https://issues.apache.org/jira/browse/ISIS-541[ISIS-541] - Enhance contributed actions/associations to support hideXxx, disableXxx, validateXxx, defaultXxx and choices where the contributee is automatically populated.
-* link:https://issues.apache.org/jira/browse/ISIS-543[ISIS-543] - title() should take precedence over @Title, or perhaps should fail eagerly?
-* link:https://issues.apache.org/jira/browse/ISIS-579[ISIS-579] - Add support for range queries in JDO objectstore
-* link:https://issues.apache.org/jira/browse/ISIS-583[ISIS-583] - Contributed collections ignore @Render annotation
-* link:https://issues.apache.org/jira/browse/ISIS-597[ISIS-597] - Services still not injected when entering @PostConstruct methods on a Service
-* link:https://issues.apache.org/jira/browse/ISIS-598[ISIS-598] - Add support for @Inject standard annotation
-* link:https://issues.apache.org/jira/browse/ISIS-599[ISIS-599] - Better message and diagnostics for Exception Recognizers
-* link:https://issues.apache.org/jira/browse/ISIS-600[ISIS-600] - Change format of facet properties file, scope by member then facet
-* link:https://issues.apache.org/jira/browse/ISIS-623[ISIS-623] - Make the default logging of JDO and IsisSytemForTest less verbose
-* link:https://issues.apache.org/jira/browse/ISIS-626[ISIS-626] - Recognize Wicket PageExpiredExceptions and display a friendlier error message
-* link:https://issues.apache.org/jira/browse/ISIS-634[ISIS-634] - downs (for enums/bounded and autocomplete) should honour TypicalLengthFacet.
-* link:https://issues.apache.org/jira/browse/ISIS-639[ISIS-639] - Jetty webserver support long URLs
-* link:https://issues.apache.org/jira/browse/ISIS-640[ISIS-640] - Extend MementoService.Memento API so that can also return the set of keys held in the Memento
-* link:https://issues.apache.org/jira/browse/ISIS-651[ISIS-651] - Modifications to enable JRebel support
-* link:https://issues.apache.org/jira/browse/ISIS-659[ISIS-659] - Extend MementoServiceDefault service to handle Bookmarks and also enums (as well as simple values)
-* link:https://issues.apache.org/jira/browse/ISIS-665[ISIS-665] - ObjectActionImpl should escalate a thrown Apache Isis ApplicationException to its underlying cause if the transaction is in a state of mustAbort.
-* link:https://issues.apache.org/jira/browse/ISIS-668[ISIS-668] - out" services.
-* link:https://issues.apache.org/jira/browse/ISIS-670[ISIS-670] - Replace AuditingService and AuditingService2 with new AuditingService3 API, more consistent with other APIs
-* link:https://issues.apache.org/jira/browse/ISIS-671[ISIS-671] - Add a ReifiableActionFacet and @Reifiable annotation as a way to restrict which ReifiableActions are persisted. Enable background task service to hint that an ReifiableAction should be persisted even if not annotated.
-* link:https://issues.apache.org/jira/browse/ISIS-672[ISIS-672] - Unify BackgroundTask and Interaction into same entity, rename to "ReifiableAction".
-* link:https://issues.apache.org/jira/browse/ISIS-684[ISIS-684] - Rename ReifiableAction to simply 'Command', and update services also
-* link:https://issues.apache.org/jira/browse/ISIS-693[ISIS-693] - Minor extensions in support of Excel import/export functionality.
-* link:https://issues.apache.org/jira/browse/ISIS-708[ISIS-708] - BookmarkService null handling
-* link:https://issues.apache.org/jira/browse/ISIS-723[ISIS-723] - BookmarkService should support lookup of domain services as well as domain entities (and throw an exception for view models)
-
-
-
-=== Bug
-
-* link:https://issues.apache.org/jira/browse/ISIS-234[ISIS-234] - Persistence by reachability of aggregated instances fails.
-* link:https://issues.apache.org/jira/browse/ISIS-619[ISIS-619] - Extend IsisActions to support easy mocking of the DOC#newTransientInstance
-* link:https://issues.apache.org/jira/browse/ISIS-627[ISIS-627] - Lazily loaded object cannot be deleted, throws an NPE
-* link:https://issues.apache.org/jira/browse/ISIS-635[ISIS-635] - JDO Publishing Service impl causes ConcurrentModificationException in core.
-* link:https://issues.apache.org/jira/browse/ISIS-636[ISIS-636] - BookmarkServiceDefault throws NPE if the BookmarkHolder (to which it contributes a property) returns a null Bookmark
-* link:https://issues.apache.org/jira/browse/ISIS-641[ISIS-641] - Incompatibility of TreeSet for @Bulk.
-* link:https://issues.apache.org/jira/browse/ISIS-691[ISIS-691] - down list's handling of null entity or values
-* link:https://issues.apache.org/jira/browse/ISIS-700[ISIS-700] - (
-* link:https://issues.apache.org/jira/browse/ISIS-707[ISIS-707] - Support Bulk.InteractionContext with contributed actions.
-* link:https://issues.apache.org/jira/browse/ISIS-712[ISIS-712] - Inconsistency in domain logic for validation of optional strings causes Wicket viewer to trip up.
-
-
-
-=== Task
-
-* link:https://issues.apache.org/jira/browse/ISIS-695[ISIS-695] - up tasks for Apache Isis 1.4.0 release
-
-
-
-== Wicket Viewer
-
-=== New Feature
-* link:https://issues.apache.org/jira/browse/ISIS-472[ISIS-472] - Limit number of bookmarks
-* link:https://issues.apache.org/jira/browse/ISIS-608[ISIS-608] - Show count for collections (if rendered eagerly), else a hint to expand.
-* link:https://issues.apache.org/jira/browse/ISIS-609[ISIS-609] - Suppress showing actions for collections that are not rendered eagerly
-* link:https://issues.apache.org/jira/browse/ISIS-612[ISIS-612] - Return a URL from an action opens a new browser window
-* link:https://issues.apache.org/jira/browse/ISIS-625[ISIS-625] - Better reporting of metamodel violation errors
-* link:https://issues.apache.org/jira/browse/ISIS-633[ISIS-633] - Press ESC to close/cancel the action prompt dialog
-* link:https://issues.apache.org/jira/browse/ISIS-638[ISIS-638] - Provide the capability to capture UI hints, and copy to clipboard
-* link:https://issues.apache.org/jira/browse/ISIS-642[ISIS-642] - down; when revisiting a page, any UI hints from last visit should be retained.
-* link:https://issues.apache.org/jira/browse/ISIS-648[ISIS-648] - Improve support for bulk update
-* link:https://issues.apache.org/jira/browse/ISIS-649[ISIS-649] - In wicket viewer, make it easier to develop custom styling by wrapping the body of all pages in a div with custom style
-* link:https://issues.apache.org/jira/browse/ISIS-701[ISIS-701] - In Wicket viewer, make uppercase text switchable
-* link:https://issues.apache.org/jira/browse/ISIS-727[ISIS-727] - time type
-
-
-=== Improvement
-
-* link:https://issues.apache.org/jira/browse/ISIS-486[ISIS-486] - Show action dialogs in a modal dialog rather than new page (less context switching for user)
-* link:https://issues.apache.org/jira/browse/ISIS-587[ISIS-587] - Various UI improvements for Wicket viewer.
-* link:https://issues.apache.org/jira/browse/ISIS-588[ISIS-588] - In Wicket viewer, make bookmark panel smaller, and enable with a keyboard shortcut
-* link:https://issues.apache.org/jira/browse/ISIS-589[ISIS-589] - (
-* link:https://issues.apache.org/jira/browse/ISIS-590[ISIS-590] - Wicket viewer strip wicket tags should depend on the deployment mode.
-* link:https://issues.apache.org/jira/browse/ISIS-591[ISIS-591] - For Wicket viewer, load Javascript libraries (except for JQuery) from the footer.
-* link:https://issues.apache.org/jira/browse/ISIS-594[ISIS-594] - Tidy up and simplify URLs in Wicket viewer.
-* link:https://issues.apache.org/jira/browse/ISIS-596[ISIS-596] - Require smarter handling of bookmarked objects that have been deleted
-* link:https://issues.apache.org/jira/browse/ISIS-618[ISIS-618] - Simplify ActionPage, separate out result components from prompt.
-* link:https://issues.apache.org/jira/browse/ISIS-626[ISIS-626] - Recognize Wicket PageExpiredExceptions and display a friendlier error message
-* link:https://issues.apache.org/jira/browse/ISIS-634[ISIS-634] - downs (for enums/bounded and autocomplete) should honour TypicalLengthFacet.
-* link:https://issues.apache.org/jira/browse/ISIS-658[ISIS-658] - Provide a custom panel for java.sql.Timestamp
-* link:https://issues.apache.org/jira/browse/ISIS-677[ISIS-677] - The blob/clob panel does not show the name of the blob/clob present (eg if just uploaded).
-* link:https://issues.apache.org/jira/browse/ISIS-680[ISIS-680] - fidelity) alternative to the clipboard link, for those environments where flash is not supported.
-* link:https://issues.apache.org/jira/browse/ISIS-682[ISIS-682] - In the Wicket viewer, the tooltip for icons should show the title (and perhaps also the type) of the icon being linked to.
-* link:https://issues.apache.org/jira/browse/ISIS-683[ISIS-683] - In Wicket viewer, if delete objects from a standalone collection, then selecting again causes an exception.
-* link:https://issues.apache.org/jira/browse/ISIS-692[ISIS-692] - down list box.
-* link:https://issues.apache.org/jira/browse/ISIS-699[ISIS-699] - In Wicket viewer, when redirect to next page after invoking an action, have the browser's address bar show the URL of the object
-* link:https://issues.apache.org/jira/browse/ISIS-706[ISIS-706] - Blob vs Clob request handling, also relationship with bulk actions.
-* link:https://issues.apache.org/jira/browse/ISIS-718[ISIS-718] - Actions that return a URL should open in new tab/window
-
-=== Bug
-* link:https://issues.apache.org/jira/browse/ISIS-429[ISIS-429] - coded dependency to WicketSignInPage in PageAbstract...
-* link:https://issues.apache.org/jira/browse/ISIS-617[ISIS-617] - Wicket viewer throws NPE when rendering Apache Isis DateTime in a collection
-* link:https://issues.apache.org/jira/browse/ISIS-620[ISIS-620] - When editing an entity twice a concurrency exception is thrown
-* link:https://issues.apache.org/jira/browse/ISIS-621[ISIS-621] - Improve the Wicket viewer's parsing of numbers
-* link:https://issues.apache.org/jira/browse/ISIS-629[ISIS-629] - Selecting a different option from a dropdown resets other fields
-* link:https://issues.apache.org/jira/browse/ISIS-630[ISIS-630] - LocalDates are parsed to a wrong date when running in different timezone
-* link:https://issues.apache.org/jira/browse/ISIS-637[ISIS-637] - down in action prompt
-* link:https://issues.apache.org/jira/browse/ISIS-669[ISIS-669] - Download of Excel files in Wicket viewer on *nix/OSx machines doesn't work.
-* link:https://issues.apache.org/jira/browse/ISIS-675[ISIS-675] - If try to upload attachment, then have to do the operation twice.
-* link:https://issues.apache.org/jira/browse/ISIS-676[ISIS-676] - down widget is no longer rendered.
-* link:https://issues.apache.org/jira/browse/ISIS-686[ISIS-686] - Logout as admin doesn't work (could be if on any machine other than localhost?)
-* link:https://issues.apache.org/jira/browse/ISIS-691[ISIS-691] - down list's handling of null entity or values
-* link:https://issues.apache.org/jira/browse/ISIS-711[ISIS-711] - Fix so that can raiseError in bulk actions.
-* link:https://issues.apache.org/jira/browse/ISIS-712[ISIS-712] - Inconsistency in domain logic for validation of optional strings causes Wicket viewer to trip up.
-
-
-=== Task
-* link:https://issues.apache.org/jira/browse/ISIS-695[ISIS-695] - up tasks for Apache Isis 1.4.0 release
-
-
-
-== RestfulObjects Viewer
-
-=== Task
-
-* link:https://issues.apache.org/jira/browse/ISIS-695[ISIS-695] - up tasks for Apache Isis 1.4.0 release
-
-
-
-
-== Shiro Security
-
-=== New Feature
-
-* link:https://issues.apache.org/jira/browse/ISIS-586[ISIS-586] - Allow the IsisLdapRealm to read its role/perm mappings from an .ini file
-* link:https://issues.apache.org/jira/browse/ISIS-656[ISIS-656] - Roles not setup when using Shiro
-
-
-=== Task
-
-* link:https://issues.apache.org/jira/browse/ISIS-695[ISIS-695] - up tasks for Apache Isis 1.4.0 release
-
-
-
-
-== JDO ObjectStore
-
-=== New Feature
-
-* link:https://issues.apache.org/jira/browse/ISIS-660[ISIS-660] - Profiling support and also infrastructure for background (async job) support
-* link:https://issues.apache.org/jira/browse/ISIS-661[ISIS-661] - BackgroundService and BackgroundTaskService as a way of creating mementos to execute jobs asynchronously
-* link:https://issues.apache.org/jira/browse/ISIS-662[ISIS-662] - Provide a "contributions" service to add a PublishedEvents contributed collection for the Interaction entity.
-* link:https://issues.apache.org/jira/browse/ISIS-663[ISIS-663] - Provide a "contributions" service for AuditEntry, so that audit entries are shown as a contributed collection to the Interaction entity.
-* link:https://issues.apache.org/jira/browse/ISIS-664[ISIS-664] - Provide an abstract class for running "sudo" scheduler jobs
-* link:https://issues.apache.org/jira/browse/ISIS-685[ISIS-685] - Add new @Command(async=true|false) flag, so that Command is automatically scheduled to run in the background
-* link:https://issues.apache.org/jira/browse/ISIS-726[ISIS-726] - Provide a 'Recent changes' contributed action that provides a unified view of commands and audit entries for domain objects.
-* link:https://issues.apache.org/jira/browse/ISIS-728[ISIS-728] - Provide facet factory to enable auditing by default on all objects, unless explicitly opted out
-* link:https://issues.apache.org/jira/browse/ISIS-729[ISIS-729] - Provide facet factory to treat all actions by default as commands, unless explicitly opted out
-
-
-=== Improvement
-
-* link:https://issues.apache.org/jira/browse/ISIS-576[ISIS-576] - JDO exception recognizer for sql integrity constraints should only recognize uniqueness constraints
-* link:https://issues.apache.org/jira/browse/ISIS-577[ISIS-577] - Specify @Column(length=...) for JDO entities (ApplicationSetting, UserSetting, PublishedEvent)
-* link:https://issues.apache.org/jira/browse/ISIS-579[ISIS-579] - Add support for range queries in JDO objectstore
-* link:https://issues.apache.org/jira/browse/ISIS-597[ISIS-597] - Services still not injected when entering @PostConstruct methods on a Service
-* link:https://issues.apache.org/jira/browse/ISIS-599[ISIS-599] - Better message and diagnostics for Exception Recognizers
-* link:https://issues.apache.org/jira/browse/ISIS-611[ISIS-611] - Ensure classes are properly eagerly registered with JDO Object store
-* link:https://issues.apache.org/jira/browse/ISIS-616[ISIS-616] - JDO Implementation of the AuditingService should implement the AuditingService2 API
-* link:https://issues.apache.org/jira/browse/ISIS-623[ISIS-623] - Make the default logging of JDO and IsisSytemForTest less verbose
-* link:https://issues.apache.org/jira/browse/ISIS-651[ISIS-651] - Modifications to enable JRebel support
-* link:https://issues.apache.org/jira/browse/ISIS-657[ISIS-657] - JDO objectstore service implemenations should use "IsisXxx" as a common prefix to any tables.
-* link:https://issues.apache.org/jira/browse/ISIS-665[ISIS-665] - ObjectActionImpl should escalate a thrown Apache Isis ApplicationException to its underlying cause if the transaction is in a state of mustAbort.
-* link:https://issues.apache.org/jira/browse/ISIS-667[ISIS-667] - up/rationalization of JDO domain service impls
-* link:https://issues.apache.org/jira/browse/ISIS-670[ISIS-670] - Replace AuditingService and AuditingService2 with new AuditingService3 API, more consistent with other APIs
-* link:https://issues.apache.org/jira/browse/ISIS-671[ISIS-671] - Add a ReifiableActionFacet and @Reifiable annotation as a way to restrict which ReifiableActions are persisted. Enable background task service to hint that an ReifiableAction should be persisted even if not annotated.
-* link:https://issues.apache.org/jira/browse/ISIS-672[ISIS-672] - Unify BackgroundTask and Interaction into same entity, rename to "ReifiableAction".
-* link:https://issues.apache.org/jira/browse/ISIS-684[ISIS-684] - Rename ReifiableAction to simply 'Command', and update services also
-* link:https://issues.apache.org/jira/browse/ISIS-698[ISIS-698] - Allow JDOQL to be able to select scalars (eg project individual field(s)) rather than entire entities.
-
-
-=== Bug
-
-* link:https://issues.apache.org/jira/browse/ISIS-632[ISIS-632] - PublishingService's PublishedEvent id has an incorrect max length
-* link:https://issues.apache.org/jira/browse/ISIS-644[ISIS-644] - Update FrameworkSynchronizer to avoid the "Object not yet known to Apache Isis" exception
-
-
-=== Dependency upgrade
-
-* link:https://issues.apache.org/jira/browse/ISIS-646[ISIS-646] - Upgrade DataNucleus to 3.3.6 (JDO 3.1), and use the convenience 'accessplatform' POMs.
-
-
-
-=== Task
-
-* link:https://issues.apache.org/jira/browse/ISIS-695[ISIS-695] - up tasks for Apache Isis 1.4.0 release
-
-
-
diff --git a/antora/components/relnotes/modules/ROOT/pages/2014/1.4.1/relnotes.adoc b/antora/components/relnotes/modules/ROOT/pages/2014/1.4.1/relnotes.adoc
deleted file mode 100644
index f5a885a..0000000
--- a/antora/components/relnotes/modules/ROOT/pages/2014/1.4.1/relnotes.adoc
+++ /dev/null
@@ -1,28 +0,0 @@
-= 1.4.1
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-
-== Wicket Viewer
-
-
-=== Improvement
-* link:https://issues.apache.org/jira/browse/ISIS-732[ISIS-732] - The refresh of a standalone collection after invoking a bulk action should only be done if the original action was safe (query only)
-* link:https://issues.apache.org/jira/browse/ISIS-734[ISIS-734] - In Wicket viewer, if action returns a blob/clob, then currently performing in a new window/tab.
-
-=== Bug
-
-* link:https://issues.apache.org/jira/browse/ISIS-731[ISIS-731] - execute the action fails
-
-
-== JDO Objectstore
-
-=== Bug
-
-* link:https://issues.apache.org/jira/browse/ISIS-733[ISIS-733] - If toggle an object twice in standalone list (for bulk action), ends up invoking action (when shouldn't) and also throwing concurrency exception
-
-
-
-
diff --git a/antora/components/relnotes/modules/ROOT/pages/2014/1.5.0/relnotes.adoc b/antora/components/relnotes/modules/ROOT/pages/2014/1.5.0/relnotes.adoc
deleted file mode 100644
index cfe2d3f..0000000
--- a/antora/components/relnotes/modules/ROOT/pages/2014/1.5.0/relnotes.adoc
+++ /dev/null
@@ -1,123 +0,0 @@
-= 1.5.0
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-
-== Core
-
-=== New Feature
-
-* link:https://issues.apache.org/jira/browse/ISIS-550[ISIS-550] - Complete the guava EventBus support with new annotations
-* link:https://issues.apache.org/jira/browse/ISIS-776[ISIS-776] - end stories.
-* link:https://issues.apache.org/jira/browse/ISIS-786[ISIS-786] - Allow event bus subscribers to veto interactions by throwing a RecoverableException or NonRecoverableException
-
-
-=== Improvement
-
-* link:https://issues.apache.org/jira/browse/ISIS-569[ISIS-569] - Fix JMock to support JDK7 (JavassistImposteriser)
-* link:https://issues.apache.org/jira/browse/ISIS-745[ISIS-745] - Do not suppress the org.apache.isis classes from the "download metamodel" action (as provided by DeveloperUtilities service)
-* link:https://issues.apache.org/jira/browse/ISIS-749[ISIS-749] - Make logging less noisy for selected classes
-* link:https://issues.apache.org/jira/browse/ISIS-762[ISIS-762] - For commands on contributed actions, the target and "user friendly" target details should be captured as the contributee, not the contributed service.
-* link:https://issues.apache.org/jira/browse/ISIS-765[ISIS-765] - Allow UserMemento#hasRole to match on wildcards
-* link:https://issues.apache.org/jira/browse/ISIS-770[ISIS-770] - ioc (because brings in cglib/asm dependency)
-* link:https://issues.apache.org/jira/browse/ISIS-772[ISIS-772] - Reimplement WrapperFactory to use javassist instead of cglib/asm (for Java7 support)
-* link:https://issues.apache.org/jira/browse/ISIS-782[ISIS-782] - Integration testing framework should automatically install the FixtureClock singleton rather than the regular Clock
-* link:https://issues.apache.org/jira/browse/ISIS-783[ISIS-783] - Integration test support enhancements
-* link:https://issues.apache.org/jira/browse/ISIS-795[ISIS-795] - commit in the archetypes.
-
-
-
-=== Bug
-
-* link:https://issues.apache.org/jira/browse/ISIS-758[ISIS-758] - Auditing should be able to cope with a change to a property where the referenced object has been deleted.
-* link:https://issues.apache.org/jira/browse/ISIS-759[ISIS-759] - Transient errors being logged as result of incorrect call to sendRedirect; not sure why, need diagnostics.
-* link:https://issues.apache.org/jira/browse/ISIS-760[ISIS-760] - IllegalStateException when commands/audit enabled in Estatio and failing to persist the Oid of a view model.
-* link:https://issues.apache.org/jira/browse/ISIS-769[ISIS-769] - IsisTransaction should do a "precommit" for pending updates to applib services, prior to commiting the underlying (JDO) transaction.
-* link:https://issues.apache.org/jira/browse/ISIS-777[ISIS-777] - safe for concurrent requests.
-
-
-
-=== Task
-
-* link:https://issues.apache.org/jira/browse/ISIS-751[ISIS-751] - Update NOTICE copyright dates
-* link:https://issues.apache.org/jira/browse/ISIS-792[ISIS-792] - up tasks for Apache Isis 1.5.0 release
-
-
-
-
-== Wicket Viewer
-
-=== Improvement
-* link:https://issues.apache.org/jira/browse/ISIS-719[ISIS-719] - Use org.webjars for some common dependencies (eg jquery)
-* link:https://issues.apache.org/jira/browse/ISIS-764[ISIS-764] - Combine ReferencePanel and EntityLink2SelectPanel
-* link:https://issues.apache.org/jira/browse/ISIS-770[ISIS-770] - ioc (because brings in cglib/asm dependency)
-* link:https://issues.apache.org/jira/browse/ISIS-774[ISIS-774] - Remove IsisWicketUnsecuredApplication
-* link:https://issues.apache.org/jira/browse/ISIS-778[ISIS-778] - Simpify ReferencePanel and EntityLinkSelect2Panel
-* link:https://issues.apache.org/jira/browse/ISIS-793[ISIS-793] - Make Wicket viewer's IsisApplication easier to override (to support customization use cases)
-
-=== Bug
-* link:https://issues.apache.org/jira/browse/ISIS-431[ISIS-431] - A boolean atribute should never be mandatory
-* link:https://issues.apache.org/jira/browse/ISIS-752[ISIS-752] - When collection is eagerly rendered (open), the title doesn't display the number of elements, instead just displays (+).
-* link:https://issues.apache.org/jira/browse/ISIS-757[ISIS-757] - Make it possible to override logging.properties
-* link:https://issues.apache.org/jira/browse/ISIS-761[ISIS-761] - ErrorPage itself is not serializable, resulting in stack traces in the log.
-* link:https://issues.apache.org/jira/browse/ISIS-787[ISIS-787] - Property validation not displaying error message.
-
-=== Dependency upgrade
-* link:https://issues.apache.org/jira/browse/ISIS-771[ISIS-771] - Upgrade Wicket to wicket 6.15.0 (or whatever is latest)
-
-
-=== Task
-* link:https://issues.apache.org/jira/browse/ISIS-792[ISIS-792] - up tasks for Apache Isis 1.5.0 release
-
-
-
-== RestfulObjects Viewer
-
-=== Task
-
-* link:https://issues.apache.org/jira/browse/ISIS-792[ISIS-792] - up tasks for Apache Isis 1.5.0 release
-
-
-
-
-
-
-=== Bug
-
-* link:https://issues.apache.org/jira/browse/ISIS-746[ISIS-746] - When multiple realms configured for Shiro, should be more intelligent about obtaining roles from those realms
-
-
-=== Task
-
-* link:https://issues.apache.org/jira/browse/ISIS-751[ISIS-751] - Update NOTICE copyright dates
-* link:https://issues.apache.org/jira/browse/ISIS-792[ISIS-792] - up tasks for Apache Isis 1.5.0 release
-
-
-
-== JDO ObjectStore
-
-=== Improvement
-
-* link:https://issues.apache.org/jira/browse/ISIS-750[ISIS-750] - For consistency with CommandJdo, allow the serializedForm to be stored as a clob (rather than as a zipped byte array)
-* link:https://issues.apache.org/jira/browse/ISIS-754[ISIS-754] - BDD tests speed improvement with DN options, through a new IsisConfigurationForTests
-* link:https://issues.apache.org/jira/browse/ISIS-788[ISIS-788] - Delete the Apache Isis Blob/Clob Converter classes for JDO, since redundant.
-
-
-=== Bug
-
-* link:https://issues.apache.org/jira/browse/ISIS-744[ISIS-744] - Column size can't be greater than 8000 characters on SQL Server
-* link:https://issues.apache.org/jira/browse/ISIS-714[ISIS-714] - Blob/Clob mapping under DataNucleus is broken (just default serialize, not picking up the extension points)
-
-
-
-=== Task
-
-* link:https://issues.apache.org/jira/browse/ISIS-751[ISIS-751] - Update NOTICE copyright dates
-* link:https://issues.apache.org/jira/browse/ISIS-792[ISIS-792] - up tasks for Apache Isis 1.5.0 release
-
-
-
-
-
diff --git a/antora/components/relnotes/modules/ROOT/pages/2014/1.6.0/relnotes.adoc b/antora/components/relnotes/modules/ROOT/pages/2014/1.6.0/relnotes.adoc
deleted file mode 100644
index dafb67b..0000000
--- a/antora/components/relnotes/modules/ROOT/pages/2014/1.6.0/relnotes.adoc
+++ /dev/null
@@ -1,90 +0,0 @@
-= 1.6.0
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-
-== Core
-
-Isis core 1.6.0 also incorporates the Restful Objects viewer, Shiro Security and JDO Objectstore.
-
-
-=== New Feature
-
-* link:https://issues.apache.org/jira/browse/ISIS-493[ISIS-493] - Annotation to identify domain services/repositories
-* link:https://issues.apache.org/jira/browse/ISIS-800[ISIS-800] - like form for Wicket viewer
-* link:https://issues.apache.org/jira/browse/ISIS-813[ISIS-813] - Provide the ability to mock out domain services in integration tests.
-
-
-=== Improvement
-
-* link:https://issues.apache.org/jira/browse/ISIS-421[ISIS-421] - Write TCK tests for Restful Objects viewer
-* link:https://issues.apache.org/jira/browse/ISIS-574[ISIS-574] - shiro to use shiro 1.2.3 (currently using 1.2.1)
-* link:https://issues.apache.org/jira/browse/ISIS-798[ISIS-798] - Minor improvements in support of integration testing.
-* link:https://issues.apache.org/jira/browse/ISIS-823[ISIS-823] - Restructure Todo's tests, nested static classes.
-* link:https://issues.apache.org/jira/browse/ISIS-827[ISIS-827] - Introduce WrappingObject, with more unique method names, as a replacement for WrappedObject.
-* link:https://issues.apache.org/jira/browse/ISIS-831[ISIS-831] - Extend (custom) EventBus vetoing logic so that can also encompass hide, disable, validate.
-* link:https://issues.apache.org/jira/browse/ISIS-832[ISIS-832] - Move jdo, shiro and restful into core
-* link:https://issues.apache.org/jira/browse/ISIS-833[ISIS-833] - Break out applib and JDO services into modules
-* link:https://issues.apache.org/jira/browse/ISIS-838[ISIS-838] - Provide an additional hook method for AbstractIsisSessionTemplate that automatically sets up the transaction.
-
-
-=== Bug
-
-* link:https://issues.apache.org/jira/browse/ISIS-796[ISIS-796] - lifecycle callback "updating()" is not firing
-* link:https://issues.apache.org/jira/browse/ISIS-797[ISIS-797] - 'Restful objects' decodes json request body while this is not
-* link:https://issues.apache.org/jira/browse/ISIS-801[ISIS-801] - Action method taking domain object paramater gets triggered automatically whenever instances of that object type is accessed
-* link:https://issues.apache.org/jira/browse/ISIS-812[ISIS-812] - Apache Isis 1.5 blob mapping broken for PostgreSQL (when set to null)
-* link:https://issues.apache.org/jira/browse/ISIS-818[ISIS-818] - wrapSkipRules does not execute action due to being hidden
-* link:https://issues.apache.org/jira/browse/ISIS-821[ISIS-821] - Precision gets lost when double values are use in BigDecimal attributes
-* link:https://issues.apache.org/jira/browse/ISIS-824[ISIS-824] - Generic repository is broken
-* link:https://issues.apache.org/jira/browse/ISIS-828[ISIS-828] - Wrapping an already wrapped object should honour the mode if different.
-* link:https://issues.apache.org/jira/browse/ISIS-836[ISIS-836] - Not certain that FixtureScripts' ClassDiscoveryService works when referencing deployed 1.5.0 JAR
-* link:https://issues.apache.org/jira/browse/ISIS-840[ISIS-840] - "Permission groups" for IsisPermission (custom security string for Shiro) not working as advertised.
-
-
-=== Dependency upgrade
-
-* link:https://issues.apache.org/jira/browse/ISIS-716[ISIS-716] - Update to DN 3.3.8 (deferred)
-
-
-=== Task (Core)
-
-* link:https://issues.apache.org/jira/browse/ISIS-751[ISIS-751] - Update NOTICE copyright dates
-* link:https://issues.apache.org/jira/browse/ISIS-839[ISIS-839] - 1.6.0 release tasks
-
-
-
-
-== Wicket Viewer
-
-
-=== New Feature
-
-* link:https://issues.apache.org/jira/browse/ISIS-800[ISIS-800] - like form for Wicket viewer
-* link:https://issues.apache.org/jira/browse/ISIS-816[ISIS-816] - Provide an applib for Wicket viewer to hold any services specific to that viewer.
-* link:https://issues.apache.org/jira/browse/ISIS-817[ISIS-817] - sources debugging plugin
-
-=== Improvement
-
-* link:https://issues.apache.org/jira/browse/ISIS-781[ISIS-781] - Add edit capability to view objects
-* link:https://issues.apache.org/jira/browse/ISIS-807[ISIS-807] - Break out EntityPropertiesForm into two for the new IWizard, and then make into a separate component.
-* link:https://issues.apache.org/jira/browse/ISIS-815[ISIS-815] - Internationalization of Wicket UI elements (edit, ok, cancel, logout, about)
-
-=== Bug
-
-* link:https://issues.apache.org/jira/browse/ISIS-544[ISIS-544] - focus on an action param date, then doesn't show calendar picker..
-* link:https://issues.apache.org/jira/browse/ISIS-825[ISIS-825] - focus on first field on action parameter not working
-* link:https://issues.apache.org/jira/browse/ISIS-835[ISIS-835] - NPE in select2 with isisaddons module for tags, (optional choices for strings)
-* link:https://issues.apache.org/jira/browse/ISIS-837[ISIS-837] - In Wicket viewer, forms not flushing properties when annotated with JDO @NotPersistent.
-* link:https://issues.apache.org/jira/browse/ISIS-843[ISIS-843] - AboutPage is not serializable
-
-
-=== Task
-
-* link:https://issues.apache.org/jira/browse/ISIS-839[ISIS-839] - 1.6.0 release tasks
-
-
-
-
diff --git a/antora/components/relnotes/modules/ROOT/pages/2014/1.7.0/mignotes.adoc b/antora/components/relnotes/modules/ROOT/pages/2014/1.7.0/mignotes.adoc
deleted file mode 100644
index cfcf21e..0000000
--- a/antora/components/relnotes/modules/ROOT/pages/2014/1.7.0/mignotes.adoc
+++ /dev/null
@@ -1,269 +0,0 @@
-= From v1.6.0 to 1.7.0
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-In `1.7.0` we've continued the work started in `1.6.0` in modularizing the framework. The most important change to note is that all Apache Isis core modules (with the Maven `groupId` of `org.apache.isis.module` have now MOVED to link:http://www.isisaddons.org[Isis Addons].
-
-
-In addition, we've retired some obsolete (and unused) functionality, specifically the `ProfileStore` component.
-
-To move up amounts to changing POM files and, where required, updating package names for any referenced modules.
-
-
-
-
-== Reorganized 'modules'
-
-The following modules are no longer released as part of Apache Isis core and have moved to Isis Addons (or in one case, back into Apache Isis core).
-
-Minor changes are required to `pom.xml` files and (in some cases) to `isis.properties` config file.
-
-In one or two exceptional cases it may be necessary to fix up import statements if there are reference to changed package/class names in code (most likely any dependency on the `devutils` module or `settings` module).
-
-
-
-
-=== Audit module
-
-In `pom.xml`, replace:
-
-[source,xml]
-----
-<dependency>
- <groupId>org.apache.isis.module</groupId>
- <artifactId>isis-module-audit-jdo</artifactId>
-</dependency>
-----
-
-with:
-
-[source,xml]
-----
-<dependency>
- <groupId>org.isisaddons.module.audit</groupId>
- <artifactId>isis-module-audit-dom</artifactId>
-</dependency>
-----
-
-If necessary, also update any services registered in `isis.properties` (package/class names may have changed slightly).
-
-
-
-
-=== Command module
-
-In `pom.xml`, replace:
-
-[source,xml]
-----
-<dependency>
- <groupId>org.apache.isis.module</groupId>
- <artifactId>isis-module-command-jdo</artifactId>
-</dependency>
-----
-
-with:
-
-[source,xml]
-----
-<dependency>
- <groupId>org.isisaddons.module.command</groupId>
- <artifactId>isis-module-command-dom</artifactId>
-</dependency>
-----
-
-If necessary, also update any services registered in `isis.properties` (package/class names may have changed slightly).
-
-
-
-
-=== DevUtils module
-
-In `pom.xml`, replace:
-
-[source,xml]
-----
-<dependency>
- <groupId>org.apache.isis.module</groupId>
- <artifactId>isis-module-devutils-applib</artifactId>
-</dependency>
-----
-
-with:
-
-[source,xml]
-----
-<dependency>
- <groupId>org.isisaddons.module.devutils</groupId>
- <artifactId>isis-module-devutils-dom</artifactId>
-</dependency>
-----
-
-Remove any references to:
-
-[source,xml]
-----
-<dependency>
- <groupId>org.apache.isis.module</groupId>
- <artifactId>isis-module-devutils</artifactId>
-</dependency>
-----
-
-or to:
-
-[source,xml]
-----
-<dependency>
- <groupId>org.apache.isis.module</groupId>
- <artifactId>isis-module-devutils-impl</artifactId>
-</dependency>
-----
-
-These modules are no longer required (the `org.apache.isis.module:isis-module-devutils-applib`
-and `org.apache.isis.module:isis-module-devutils-impl` submodules have been combined
-into the new `org.isisaddons.module.devutils:isis-module-devutils-dom` module).
-
-If necessary, also update any services registered in `isis.properties` (package/class names may have changed slightly).
-
-
-
-
-=== Publishing module
-
-In `pom.xml`, replace:
-
-[source,xml]
-----
-<dependency>
- <groupId>org.apache.isis.module</groupId>
- <artifactId>isis-module-publishing-jdo</artifactId>
-</dependency>
-----
-
-with:
-
-[source,xml]
-----
-<dependency>
- <groupId>org.isisaddons.module.publishing</groupId>
- <artifactId>isis-module-publishing-dom</artifactId>
-</dependency>
-----
-
-If necessary, also update any services registered in `isis.properties` (package/class names may have changed slightly).
-
-
-
-
-=== Publishing Event Serializer RO module
-
-Remove any references to:
-
-[source,xml]
-----
-<dependency>
- <groupId>org.apache.isis.module</groupId>
- <artifactId>isis-module-publishingeventserializer-ro</artifactId>
-</dependency>
-----
-
-This module has been merged with `org.isisaddons.module.publishing:isis-module-publishing-dom`, above.
-
-
-
-
-=== Settings module
-
-In `pom.xml`, replace:
-
-[source,xml]
-----
-<dependency>
- <groupId>org.apache.isis.module</groupId>
- <artifactId>isis-module-settings-applib</artifactId>
-</dependency>
-----
-
-with:
-
-[source,xml]
-----
-<dependency>
- <groupId>org.isisaddons.module.settings</groupId>
- <artifactId>isis-module-settings-dom</artifactId>
-</dependency>
-----
-
-Remove any references to:
-
-[source,xml]
-----
-<dependency>
- <groupId>org.apache.isis.module</groupId>
- <artifactId>isis-module-settings</artifactId>
-</dependency>
-----
-
-or to:
-
-[source,xml]
-----
-<dependency>
- <groupId>org.apache.isis.module</groupId>
- <artifactId>isis-module-settings-impl</artifactId>
-</dependency>
-----
-
-These modules are no longer required (the `org.apache.isis.module:isis-module-settings-applib`
-and `org.apache.isis.module:isis-module-settings-impl` submodules have been combined
-into the new `org.isisaddons.module.settings:isis-module-settings-dom` module).
-
-If necessary, also update any services registered in `isis.properties` (package/class names may have changed slightly).
-
-
-
-
-=== Background module
-
-In `pom.xml`, remove:
-
-[source,xml]
-----
-<dependency>
- <groupId>org.apache.isis.module</groupId>
- <artifactId>isis-module-background</artifactId>
-</dependency>
-----
-
-The service classes have been moved into existing `org.apache.isis.core:isis-core-runtime` Maven module (that is, already be referenced in the `pom.xml`).
-
-If necessary, also update any services registered in `isis.properties` (package/class names may have changed slightly).
-
-
-
-
-== Retired `ProfileStore` component
-
-As per link:https://issues.apache.org/jira/browse/ISIS-802[ISIS-802], the ProfileStore component has been removed. This functionality was not surfaced or available in the Wicket or Restful Objects viewers, so there is no meaningful loss of functionality. However, Maven `pom.xml` files will require updating:
-
-Specifically, remove any dependencies on `org.apache.isis:isis-core-profilestore`:
-
-[source,xml]
-----
-<dependency>
- <groupId>org.apache.isis.core</groupId>
- <artifactId>isis-core-profilestore</artifactId>
-</dependency>
-----
-
-A number of corresponding classes/interfaces have also been removed from the Apache Isis applib:
-
-* `org.apache.isis.applib.fixtures.userprofile.UserProfileService`
-* `org.apache.isis.applib.fixtures.userprofile.UserProfileServiceAware`
-* `org.apache.isis.applib.fixtures.UserProfileFixture`
-* `org.apache.isis.applib.profiles.Profile`
-* `org.apache.isis.applib.profiles.Perspective`
-
-It is highly unlikely that any existing production code references these classes.
diff --git a/antora/components/relnotes/modules/ROOT/pages/2014/1.7.0/relnotes.adoc b/antora/components/relnotes/modules/ROOT/pages/2014/1.7.0/relnotes.adoc
deleted file mode 100644
index 48ebe02..0000000
--- a/antora/components/relnotes/modules/ROOT/pages/2014/1.7.0/relnotes.adoc
+++ /dev/null
@@ -1,120 +0,0 @@
-= 1.7.0
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-== Core
-
-=== New Feature
-
-* link:https://issues.apache.org/jira/browse/ISIS-809[ISIS-809] - Provide implementation of ViewModelFacet that doesn't require explicit implementation of the IViewModel interface.
-* link:https://issues.apache.org/jira/browse/ISIS-873[ISIS-873] - CommandContext.getCommand() should also expose the ActionInteractionEvent.
-* link:https://issues.apache.org/jira/browse/ISIS-917[ISIS-917] - Support pluggable representations for the RO viewer (object and list representations)
-
-
-
-=== Security fixes
-
-* link:https://issues.apache.org/jira/browse/ISIS-846[ISIS-846] - Enhance ExceptionRecognizer so that the stack trace can be suppressed in certain circumstances (for security)
-* link:https://issues.apache.org/jira/browse/ISIS-895[ISIS-895] - HomePage should honour authorization rules.
-
-
-
-
-=== Improvement
-
-* link:https://issues.apache.org/jira/browse/ISIS-864[ISIS-864] - Command should be persisted if any dirty objects enlisted into transaction, in order to ensure no accidental orphans.
-* link:https://issues.apache.org/jira/browse/ISIS-866[ISIS-866] - scoped service should be told when the request is starting and stopping.
-* link:https://issues.apache.org/jira/browse/ISIS-882[ISIS-882] - Appropriate facets should be copied over to contributed collections and properties.
-* link:https://issues.apache.org/jira/browse/ISIS-907[ISIS-907] - downs are truncated... the (derived) typical length for enums uses the name() rather than the toString()
-* link:https://issues.apache.org/jira/browse/ISIS-908[ISIS-908] - strict" mode
-* link:https://issues.apache.org/jira/browse/ISIS-916[ISIS-916] - provided services, such as MementoService or BookmarkService, can be overridden by the developer.
-* link:https://issues.apache.org/jira/browse/ISIS-918[ISIS-918] - case handling of DomainObjectContainer; is just another service.
-* link:https://issues.apache.org/jira/browse/ISIS-927[ISIS-927] - BookmarkService should be WrapperFactory aware...
-* link:https://issues.apache.org/jira/browse/ISIS-805[ISIS-805] - (Mac and Linux) Class discovery service throws errors on startup
-
-
-
-
-=== Bug
-
-* link:https://issues.apache.org/jira/browse/ISIS-404[ISIS-404] - Testing if a "wrapped" Domain Object has been persisted fails
-* link:https://issues.apache.org/jira/browse/ISIS-643[ISIS-643] - N relationship
-* link:https://issues.apache.org/jira/browse/ISIS-852[ISIS-852] - Derived property cannot be written properly
-* link:https://issues.apache.org/jira/browse/ISIS-871[ISIS-871] - ActionInvocationFacetForInteractionAbstract passes Null to "ObjectSpecification.isViewModelCloneable"
-* link:https://issues.apache.org/jira/browse/ISIS-879[ISIS-879] - ObjectMemberAbstract#isAlwaysHidden() does not honour where=Where.EVERYWHERE.
-* link:https://issues.apache.org/jira/browse/ISIS-899[ISIS-899] - Can't return a view model in Apache Isis 1.6.0 over RO viewer.
-* link:https://issues.apache.org/jira/browse/ISIS-905[ISIS-905] - arg action.
-* link:https://issues.apache.org/jira/browse/ISIS-912[ISIS-912] - fixture flag is broken).
-* link:https://issues.apache.org/jira/browse/ISIS-919[ISIS-919] - scoped) service when logging in DEBUG mode.
-
-
-
-=== Removed features
-
-Moved to (non-ASF) link:http://www.isisaddons.org[Isis Addons] (as of 1.15.0, part of (non-ASF) link:https://platform.incode.org[Incode Platform^]).
-
-* link:https://issues.apache.org/jira/browse/ISIS-851[ISIS-851] - Remove modules from Apache Isis core (available instead through isisaddons).
-* link:https://issues.apache.org/jira/browse/ISIS-887[ISIS-887] - xxx modules, as now in isisaddons.
-
-
-
-=== Removed features (obsolete)
-
-* link:https://issues.apache.org/jira/browse/ISIS-802[ISIS-802] - Remove the ProfileStore component (in future, can raise a ProfileService as and when we identify a concrete reqt).
-* link:https://issues.apache.org/jira/browse/ISIS-913[ISIS-913] - Remove the "ViewerInstaller" and "EmbeddedWebServerInstaller" APIs, since in effect defunct.
-
-
-
-=== Unreleased features (backed out)
-
-* link:https://issues.apache.org/jira/browse/ISIS-865[ISIS-865] - fast if an action is annotated with safe semantics but nevertheless results in dirty objects in the xactn.
-* link:https://issues.apache.org/jira/browse/ISIS-921[ISIS-921] - 865), since does not cater for edits with contributed properties.
-
-
-=== Task
-
-* link:https://issues.apache.org/jira/browse/ISIS-872[ISIS-872] - 1.7.0 release activities
-
-
-
-== Wicket viewer
-
-
-=== New Feature
-
-* link:https://issues.apache.org/jira/browse/ISIS-902[ISIS-902] - Enhance ImageResourceCacheClassPath so that can have two entities with the same simple name but in different packages.
-
-
-
-=== Security fixes
-
-* link:https://issues.apache.org/jira/browse/ISIS-920[ISIS-920] - (As a configuration option), provide the ability to disable the Wicket viewer automatically continuing to original URL after successful login.
-* link:https://issues.apache.org/jira/browse/ISIS-846[ISIS-846] - Enhance ExceptionRecognizer so that the stack trace can be suppressed in certain circumstances (for security)
-* link:https://issues.apache.org/jira/browse/ISIS-895[ISIS-895] - HomePage should honour authorization rules.
-* link:https://issues.apache.org/jira/browse/ISIS-884[ISIS-884] - ErrorPage vulnerable to XSS attacks.
-* link:https://issues.apache.org/jira/browse/ISIS-885[ISIS-885] - To avoid leaking information (eg in the title) should have a "special" permission to throw a 404 if user doesn't have permission to view any of the class' members.
-* link:https://issues.apache.org/jira/browse/ISIS-883[ISIS-883] - Bookmarkable action URLs can be submitted by a user without permissions to bring up action dialog (thereafter that user can invoke).
-
-
-
-=== Bug
-
-* link:https://issues.apache.org/jira/browse/ISIS-889[ISIS-889] - Action prompt dialog seems to be not quite big enough in Chrome (is ok in Firefox and IEv11)
-* link:https://issues.apache.org/jira/browse/ISIS-880[ISIS-880] - Appearance of Password field (in action dialogs) requires tweaking.
-* link:https://issues.apache.org/jira/browse/ISIS-910[ISIS-910] - Entering invalid data for Char type fails with an internal error
-
-
-=== Dependency upgrade
-* link:https://issues.apache.org/jira/browse/ISIS-794[ISIS-794] - Upgrade to Wicket 6.16.0, remove CharSequenceResource
-
-
-
-=== Task
-* link:https://issues.apache.org/jira/browse/ISIS-872[ISIS-872] - 1.7.0 release activities
-
-
-
-
-
diff --git a/antora/components/relnotes/modules/ROOT/pages/2015/1.10.0/mignotes.adoc b/antora/components/relnotes/modules/ROOT/pages/2015/1.10.0/mignotes.adoc
deleted file mode 100644
index 33e43c5..0000000
--- a/antora/components/relnotes/modules/ROOT/pages/2015/1.10.0/mignotes.adoc
+++ /dev/null
@@ -1,132 +0,0 @@
-= From v1.9.0 to 1.10.0
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-Existing projects written against v1.9.0 should run against v1.10.0 with only a few minor changes.
-If you *do* encounter any difficulties then let us know via the link:https://isis.apache.org/versions/1.10.0/support.html#[users mailing list], so we can support you and document issues here.
-
-
-== Remove references to `isis-viewer-wicket` parent pom.
-
-In earlier releases the Wicket viewer defined its own parent `pom.xml` for dependency management and its dependencies
-and to declare the various submodules that make up the viewer. This `pom.xml` has now been incorporated into the
-parent `pom.xml` for the Core framework.
-
-Therefore, in the parent `pom.xml` of your own domain applications, remove:
-
-[source,xml]
-----
-<dependencyManagement>
- <dependencies>
- ...
- <dependency>
- <groupId>org.apache.isis.viewer</groupId>
- <artifactId>isis-viewer-wicket</artifactId>
- <version>${isis.version}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- ...
- </dependencies>
-</dependencyManagement>
-----
-
-
-
-
-== `allowLateRegistration`
-
-One possible issue is that (as per link:https://issues.apache.org/jira/browse/ISIS-830[ISIS-830]) the link:https://isis.apache.org/versions/1.10.0/guides/rgsvc/rgsvc.html#_rgsvc_core-domain-api_EventBusService[`EventBusService`] is now initialized as one of the first domain
-services; this is to ensure that any object lifecycle events caused by domain services initializing themselves can be
-posted on the event bus for subscribers. The typical case for such lifecycle events to occur is from domain services
-that seed reference data; one such example can be found in the (non-ASF) link:https://platform.incode.org[Incode Platform^]'s security module.
-
-In previous releases, the ordering of initialization for the `EventBusService` was undefined (but would typically be towards the
-"end" of the list of services. What this meant in practice is that it generally didn't matter whether (domain service)
-subscribers were initialized before or after seed services.
-
-Now, though, because the `EventBusService` is initialized early on, it proactively checks that all subscribers have
-been registered before any event posts occur (so that no events get missed). If any subscriber attempts to register
-after at least one event has been posted, then the service will fail fast and the framework will not start. The error looks something like:
-
-[source,log]
-----
-: EXEC
-org.isisaddons.module.security.seed.scripts.IsisModuleSecurityAdminUser
-seed-users-and-roles-fixture-script/isis-applib-fixture-results-role-and-permissions
-: EXEC
-org.isisaddons.module.security.seed.scripts.IsisApplibFixtureResultsRoleAndPermissions
-19:41:19,478 [IsisTransaction main INFO ] abort transaction
-IsisTransaction@5dc1597f[state=MUST_ABORT,commands=1]
-19:41:19,495 [IsisWicketApplication main ERROR] Failed to initialize
-com.google.inject.ProvisionException: Guice provision errors:
-
-1) Error in custom provider,
-org.apache.isis.core.runtime.system.transaction.IsisTransactionManagerException:
-java.lang.IllegalStateException: Events have already been posted; too late
-to register any further (singleton) subscribers
- at
-org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:139)
-----
-
-
-To ensure that subscriber domain services are initialized before "seed" domain services, the link:https://isis.apache.org/versions/1.10.0/guides/rgant/rgant.html#_rgant-DomainServiceLayout_menuOrder[`@DomainServiceLayout#menuOrder()`] attribute can be used.
-Normally this attribute is just used to order UI-visible services on the menu bars, but it also is used
-internally to sequence the internal list of services being initialized.
-
-Alternatively, you can disable this checking within the `EventBusService` using:
-
-[source,ini]
-----
-isis.services.eventbus.allowLateRegistration=true
-----
-
-If you do that, be aware that not all subscribers may not receive some events generated by other domain services.
-
-For more details, see the link:https://isis.apache.org/versions/1.10.0/guides/rgsvc/rgsvc.html#_rgsvc_core-domain-api_EventBusService[`EventBusService`] man page.
-
-
-
-== Simplify domain events
-
-The domain event superclasses now provide no-arg versions; the framework will use new (non-API) setters to initialize.
-
-This means that domain events can be substantially simplified, eg from this:
-
-[source,java]
-----
-public class ToDoItem {
- public static class CompletedEvent extends ActionDomainEvent<ToDoItem> {
- private static final long serialVersionUID = 1L;
- public CompletedEvent(
- final ToDoItem source,
- final Identifier identifier,
- final Object... arguments) {
- super("completed", source, identifier, arguments);
- }
- }
- @Action(domainEvent=CompletedEvent.class)
- public ToDoItem completed() { /* ... */ }
-}
-----
-
-to just this:
-
-[source,java]
-----
-public class ToDoItem {
- public static class CompletedEvent extends ActionDomainEvent<ToDoItem> { } // <1>
- @Action(domainEvent=CompletedEvent.class)
- public ToDoItem completed() { /* ... */ }
-}
-----
-
-
-
-== isis-maven-plugin
-
-The way that the Isis Maven plugin is configured has changed slightly; check out its link:https://isis.apache.org/versions/1.10.0/guides/rgmvn/rgmvn.html#[documentation] for full details.
-
-
diff --git a/antora/components/relnotes/modules/ROOT/pages/2015/1.10.0/relnotes.adoc b/antora/components/relnotes/modules/ROOT/pages/2015/1.10.0/relnotes.adoc
deleted file mode 100644
index 58f3c1c..0000000
--- a/antora/components/relnotes/modules/ROOT/pages/2015/1.10.0/relnotes.adoc
+++ /dev/null
@@ -1,95 +0,0 @@
-= 1.10.0
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-
-Apache Isis 1.10.0 provides a couple of new domain services.
-Client-side filtering of objects (eg to support (non-ASF) link:https://platform.incode.org[Incode Platform^]'s security module's multi-tenancy support) is completed so that autocomplete//choices, summary totals and components such as (non-ASF) link:https://platform.incode.org[Incode Platform^]'s gmap3 wicket component show only filtered objects.
-The "are you sure" semantic and corresponding UI is also available, as well as the ability to specify the default view for collections.
-The release also introduces a new type of contribution service (mixins), as well as bringing in support for Project Lombok
-
-Internally there have been substantial simplifications to the codebase.
-
-
-== New Feature
-
-* link:https://issues.apache.org/jira/browse/ISIS-1215[ISIS-1215] - New MultipleExecutionStrategy for fixture scripts to use value semantics for determining whether to run a fixture script invoked more than once.
-* link:https://issues.apache.org/jira/browse/ISIS-1213[ISIS-1213] - Provide support for @Mixin domain objects, as a specialized type of contributor (though not a domain service)
-* link:https://issues.apache.org/jira/browse/ISIS-1210[ISIS-1210] - Provide an SPI service for handling exception stack traces, rather than just render to the end-user
-* link:https://issues.apache.org/jira/browse/ISIS-1205[ISIS-1205] - Support @Inject on List<T> or Collection<T>
-* link:https://issues.apache.org/jira/browse/ISIS-1007[ISIS-1007] - Provide support for "are you sure" idiom, eg using a @AreYouSure annotation on the action
-* link:https://issues.apache.org/jira/browse/ISIS-1005[ISIS-1005] - Allow users to implement an optional service to perform pre-commit processing ("ChangedObjectService")
-* link:https://issues.apache.org/jira/browse/ISIS-867[ISIS-867] - Domain service to automatically maintain lastUpdatedAt and lastUpdatedBy on any entity.
-
-
-== Improvement
-
-* link:https://issues.apache.org/jira/browse/ISIS-1231[ISIS-1231] - Add jdeps to build as optional profile, to verify use of internal JDK jars.
-* link:https://issues.apache.org/jira/browse/ISIS-1222[ISIS-1222] - Inject services into command objects.
-* link:https://issues.apache.org/jira/browse/ISIS-1218[ISIS-1218] - Allow autoComplete supporting method to return a Collection as well as a List or array.
-* link:https://issues.apache.org/jira/browse/ISIS-1216[ISIS-1216] - Update Wicket Bootstrap to 0.9.13 (once available) as a better fix to the checkbox issue
-* link:https://issues.apache.org/jira/browse/ISIS-1211[ISIS-1211] - Provide no-arg versions of domain events, to avoid boilerplate in the domain applications themselves.
-* link:https://issues.apache.org/jira/browse/ISIS-1207[ISIS-1207] - Extend concurrency checking support for time-stamp based checks (per JDO's @Version annotation)
-* link:https://issues.apache.org/jira/browse/ISIS-1197[ISIS-1197] - Extend the ContributeeMember internal API so that the devutils addon can report on the which service contributes which members
-* link:https://issues.apache.org/jira/browse/ISIS-1194[ISIS-1194] - Remove dead code, remove support for @Aggregated, for isDirty/clearDirty/markDirty.
-* link:https://issues.apache.org/jira/browse/ISIS-1189[ISIS-1189] - Autocomplete and choices should filter results so that hidden objects are not shown.
-* link:https://issues.apache.org/jira/browse/ISIS-1186[ISIS-1186] - Use different classpath scanner to reduce time to boot.
-* link:https://issues.apache.org/jira/browse/ISIS-1184[ISIS-1184] - Auto-inject services into Specification, ie @Property(mustSatisfy=...) etc
-* link:https://issues.apache.org/jira/browse/ISIS-1151[ISIS-1151] - Allow the default view of a collection to be set
-* link:https://issues.apache.org/jira/browse/ISIS-1092[ISIS-1092] - Add OWASP Dependency Check maven plugin
-* link:https://issues.apache.org/jira/browse/ISIS-1044[ISIS-1044] - Table counts and gmap3/fullcalendar2 do not honour any vetoing, eg by subscribers or WithApplicationTenancy
-* link:https://issues.apache.org/jira/browse/ISIS-1009[ISIS-1009] - Call a @PostConstruct callback for view models
-* link:https://issues.apache.org/jira/browse/ISIS-534[ISIS-534] - Does JDO Objectstore ever need to create DataNucleusUpdateObjectCommand commands?
-* link:https://issues.apache.org/jira/browse/ISIS-348[ISIS-348] - Update Wicket viewer to support @Aggregated domain objects
-* link:https://issues.apache.org/jira/browse/ISIS-273[ISIS-273] - Update annotation-based facet factories to read from fields, such that tools like Lombok can be supported
-
-
-== Bug
-
-* link:https://issues.apache.org/jira/browse/ISIS-1229[ISIS-1229] - Calling nextRequest() in an integration test should clear any @RequestScoped services.
-* link:https://issues.apache.org/jira/browse/ISIS-1226[ISIS-1226] - Drop-down breadcrumbs broken.
-* link:https://issues.apache.org/jira/browse/ISIS-1214[ISIS-1214] - Three state checkbox doesn't work
-* link:https://issues.apache.org/jira/browse/ISIS-1208[ISIS-1208] - Can't bootstrap without the wicket viewer (issue with Guice / AppManifest)
-* link:https://issues.apache.org/jira/browse/ISIS-1204[ISIS-1204] - The title of certain joda dates (eg LocalDate) is incorrect as per container.titleOf(...)
-* link:https://issues.apache.org/jira/browse/ISIS-1203[ISIS-1203] - fixture scripts not found unless using an appManifest
-* link:https://issues.apache.org/jira/browse/ISIS-1201[ISIS-1201] - autoComplete support fails validation when using Collection<T> as return type
-* link:https://issues.apache.org/jira/browse/ISIS-1020[ISIS-1020] - upgrade select2 to v3.5.2 (was: Dropdown window opens top left of the screen)
-* link:https://issues.apache.org/jira/browse/ISIS-847[ISIS-847] - RegisterEntities isn't called prior to the metamodel validation, thus we currently rely on priming the metamodel through the services... not good.
-* link:https://issues.apache.org/jira/browse/ISIS-830[ISIS-830] - Wire up JDO events to publish onto our EventBus (rather than publish our own events).
-* link:https://issues.apache.org/jira/browse/ISIS-829[ISIS-829] - updating() callback not firing on edit
-* link:https://issues.apache.org/jira/browse/ISIS-325[ISIS-325] - Field validation annotations should be on setters or fields instead of on the getters.
-
-
-== Task
-
-* link:https://issues.apache.org/jira/browse/ISIS-1195[ISIS-1195] - Release activities for v1.10.0
-
-== Dependency upgrade
-
-* link:https://issues.apache.org/jira/browse/ISIS-1061[ISIS-1061] - Upgrade Wicket to 6.19.0 (or rather, 6.20.0 when released since we found issues with 6.19.0).
-
-== Superceded
-
-* link:https://issues.apache.org/jira/browse/ISIS-721[ISIS-721] - For 2.0.0, should we remove the ObjectStore API and standardize on JDO/DataNucleus
-* link:https://issues.apache.org/jira/browse/ISIS-725[ISIS-725] - For 2.0.0, should we remove the ProfileStore?
-
-
-== Not implemented (tidying up backlog)
-
-* link:https://issues.apache.org/jira/browse/ISIS-513[ISIS-513] - Wicket: Pdf.js display in browser natively
-* link:https://issues.apache.org/jira/browse/ISIS-508[ISIS-508] - Integrate with d3js.org (for what, I don't know exactly...)
-* link:https://issues.apache.org/jira/browse/ISIS-383[ISIS-383] - For GSOC, integrate Apache Lucene with Apache Isis as a generic text search engine
-* link:https://issues.apache.org/jira/browse/ISIS-374[ISIS-374] - [GSOC2013] A generic Naked Objects app written using Javascript/Coffeescript (optionally using Apache Cordova), running against Isis' Restful Objects interface.
-* link:https://issues.apache.org/jira/browse/ISIS-373[ISIS-373] - [Mentored?] A generic Naked Objects app written using Apache Flex, running against Isis' Restful Objects interface.
-* link:https://issues.apache.org/jira/browse/ISIS-371[ISIS-371] - [GSOC2013] A generic (Naked Objects) Android app, to run against Isis' Restful Objects interface.
-* link:https://issues.apache.org/jira/browse/ISIS-369[ISIS-369] - For GSOC: Kemble: A domain-specific language aligned with the Apache Isis programming conventions.
-* link:https://issues.apache.org/jira/browse/ISIS-218[ISIS-218] - Allow file authorizor whitelist to default to "allowed"
-* link:https://issues.apache.org/jira/browse/ISIS-742[ISIS-742] - For GSOC, develop an integration with zapier or ittt, for app automation.
-* link:https://issues.apache.org/jira/browse/ISIS-740[ISIS-740] - For GSOC, to write a clean-room implementation of a JDO enhancer, as a replacement for the DN one, and that ideally integrates with the JRebel plugin
-* link:https://issues.apache.org/jira/browse/ISIS-739[ISIS-739] - For GSOC, to develop an oAuth integration
-* link:https://issues.apache.org/jira/browse/ISIS-737[ISIS-737] - For GSOC, develop screencasts for all the various features that we have
-
-
-
diff --git a/antora/components/relnotes/modules/ROOT/pages/2015/1.8.0/mignotes.adoc b/antora/components/relnotes/modules/ROOT/pages/2015/1.8.0/mignotes.adoc
deleted file mode 100644
index 8f439af..0000000
--- a/antora/components/relnotes/modules/ROOT/pages/2015/1.8.0/mignotes.adoc
+++ /dev/null
@@ -1,23 +0,0 @@
-= From v1.7.0 to 1.8.0
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-
-
-Existing projects written against v1.7.0 should run against v1.8.0 without any changes.
-In particular (unlike 1.6.0 and 1.7.0) there should be no need to update `pom.xml` files of existing projects.
-If you *do* encounter any difficulties then let us know via the link:https://isis.apache.org/versions/2.0.0-M1/support.html#[users mailing list], so we can support you and document issues here.
-
-That said, many of the existing annotations have been deprecated in 1.8.0, replaced with a simplified and rationalized set of annotations; see link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#[here].
-To help you migrate your application over to the new annotations, there is a new configuration property that can be set in `isis.properties`:
-
-[source,ini]
-----
-isis.reflector.validator.allowDeprecated=false
-----
-
-If this flag is present and set to false, then metamodel validation errors will be thrown on startup if any deprecated annotations are encountered.
-These can be viewed either in the console or by browsing to the app (an error page will be displayed).
-
diff --git a/antora/components/relnotes/modules/ROOT/pages/2015/1.8.0/relnotes.adoc b/antora/components/relnotes/modules/ROOT/pages/2015/1.8.0/relnotes.adoc
deleted file mode 100644
index 6b1553a..0000000
--- a/antora/components/relnotes/modules/ROOT/pages/2015/1.8.0/relnotes.adoc
+++ /dev/null
@@ -1,126 +0,0 @@
-= 1.8.0
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-Apache Isis 1.8.0 incorporates the Wicket viewer, which was previously a separately released component.
-Other components that are included in core (that were previously released separately are: the Restful Objects viewer, Shiro Security and the JDO/DataNucleus ObjectStore.
-
-
-== New Feature
-
-
-* link:https://issues.apache.org/jira/browse/ISIS-284[ISIS-284] - Maven plugin to validate domain object model w.r.t. Apache Isis programming conventions
-* link:https://issues.apache.org/jira/browse/ISIS-537[ISIS-537] - Convert Wicket viewer to use Bootstrap, so that it can be themed.
-* link:https://issues.apache.org/jira/browse/ISIS-690[ISIS-690] - 'Show all' button for tables.
-* link:https://issues.apache.org/jira/browse/ISIS-702[ISIS-702] - Provide new annotation/facet as a hint for the layout of the label for a property.
-* link:https://issues.apache.org/jira/browse/ISIS-703[ISIS-703] - Provide a switch in the Wicket viewer to make the positioning of a fields label either to the left or above the field.
-* link:https://issues.apache.org/jira/browse/ISIS-819[ISIS-819] - Wicket viewer should show the environment details so can distinguish if running in productnio vs UAT/systest/dev etc
-* link:https://issues.apache.org/jira/browse/ISIS-854[ISIS-854] - Separator between for menu items
-* link:https://issues.apache.org/jira/browse/ISIS-874[ISIS-874] - Allow individual items to stand out in a collection, eg new reserved method
-* link:https://issues.apache.org/jira/browse/ISIS-901[ISIS-901] - Use @DomainService(repositoryFor=...) as the basis for an implementation of the IconFacet.
-* link:https://issues.apache.org/jira/browse/ISIS-930[ISIS-930] - Support use of "font awesome" icons as decoration of actions and also instead of entity icons.
-* link:https://issues.apache.org/jira/browse/ISIS-933[ISIS-933] - Allow the RO viewer to be configured so that it can honour or ignore UI hints (in particular, the @Render(EAGERLY) facet).
-* link:https://issues.apache.org/jira/browse/ISIS-951[ISIS-951] - Add menu separators (bootstrap dividers) when multiple services define actions on the same menu
-* link:https://issues.apache.org/jira/browse/ISIS-956[ISIS-956] - icons to be specified using pattern matching on member names.
-* link:https://issues.apache.org/jira/browse/ISIS-963[ISIS-963] - Allow service actions to be rendered either on a primary, secondary or tertiary (the "me" icon) menu
-* link:https://issues.apache.org/jira/browse/ISIS-964[ISIS-964] - Unify UI hints into @XxxLayout annotations with corresponding support in .layout.json for properties, collections and actions.
-* link:https://issues.apache.org/jira/browse/ISIS-967[ISIS-967] - Let the LayoutMetadataReader implementation(s) be configured using isis.properties.
-* link:https://issues.apache.org/jira/browse/ISIS-983[ISIS-983] - Embedded Neo4J support
-* link:https://issues.apache.org/jira/browse/ISIS-985[ISIS-985] - Filter collections so that objects that are not visible to the current user are not shown.
-* link:https://issues.apache.org/jira/browse/ISIS-987[ISIS-987] - register for an Apache Isis application.
-* link:https://issues.apache.org/jira/browse/ISIS-990[ISIS-990] - Optional UserProfileService to allow the user profile information to be customized.
-* link:https://issues.apache.org/jira/browse/ISIS-995[ISIS-995] - Allow the label of a property to be rendered as HTML. Also, allow the label of boolean panels to be rendered on the right hand side.
-* link:https://issues.apache.org/jira/browse/ISIS-999[ISIS-999] - Provide a log to administrator of which users logged in and logged out
-* link:https://issues.apache.org/jira/browse/ISIS-1000[ISIS-1000] - Allow objects to return CSS class (analogous to iconName() method) so that their presentation can be dynamically reflected in tables or on an object form.
-* link:https://issues.apache.org/jira/browse/ISIS-1016[ISIS-1016] - Make it possible to use brand logo instead of plain text in the header
-* link:https://issues.apache.org/jira/browse/ISIS-1024[ISIS-1024] - Support imperative validation of a single action parameter argument (as well as of entire parameter args).
-* link:https://issues.apache.org/jira/browse/ISIS-1027[ISIS-1027] - Raise metamodel validation exceptions if deprecated annotations or method prefixes are used.
-* link:https://issues.apache.org/jira/browse/ISIS-1033[ISIS-1033] - Extend DomainObjectContainer, add isViewModel(...).
-
-
-
-== Improvement
-
-* link:https://issues.apache.org/jira/browse/ISIS-568[ISIS-568] - Drop support for JDK 1.6, standardize on JDK 1.7.
-* link:https://issues.apache.org/jira/browse/ISIS-650[ISIS-650] - Nested Menu Support in Apache ISIS
-* link:https://issues.apache.org/jira/browse/ISIS-705[ISIS-705] - Support actions accepting parameters that return Blobs/Clobs
-* link:https://issues.apache.org/jira/browse/ISIS-755[ISIS-755] - Allow external system data to be integrated and managed with an Apache Isis domain object
-* link:https://issues.apache.org/jira/browse/ISIS-779[ISIS-779] - Refactor EventBusService as a @RequestScoped service, and have it own the guava EventBus as a field.
-* link:https://issues.apache.org/jira/browse/ISIS-903[ISIS-903] - side locale.
-* link:https://issues.apache.org/jira/browse/ISIS-931[ISIS-931] - Make Apache Isis faster to start.
-* link:https://issues.apache.org/jira/browse/ISIS-934[ISIS-934] - printed if running in prototype mode.
-* link:https://issues.apache.org/jira/browse/ISIS-935[ISIS-935] - RO viewer should return a 404 exception if object not found.
-* link:https://issues.apache.org/jira/browse/ISIS-936[ISIS-936] - memory) into core (metamodel and runtime)
-* link:https://issues.apache.org/jira/browse/ISIS-937[ISIS-937] - Move TCK out of core
-* link:https://issues.apache.org/jira/browse/ISIS-938[ISIS-938] - bytecode modules (as no longer used by either objectstore)
-* link:https://issues.apache.org/jira/browse/ISIS-939[ISIS-939] - Simplify Persistor and ObjectStore components.
-* link:https://issues.apache.org/jira/browse/ISIS-944[ISIS-944] - Minor improvements to TitleBuffer.
-* link:https://issues.apache.org/jira/browse/ISIS-948[ISIS-948] - scoped services
-* link:https://issues.apache.org/jira/browse/ISIS-950[ISIS-950] - Suppress stack trace from Error page if exception is recognised.
-* link:https://issues.apache.org/jira/browse/ISIS-953[ISIS-953] - Minor enhancements to Fixture script execution context
-* link:https://issues.apache.org/jira/browse/ISIS-955[ISIS-955] - Merge JDO Java Type Mapping for Money.
-* link:https://issues.apache.org/jira/browse/ISIS-960[ISIS-960] - The event bus swallows errors thrown in the subscribers
-* link:https://issues.apache.org/jira/browse/ISIS-968[ISIS-968] - Rationalize handling of menu actions and contributed actions
-* link:https://issues.apache.org/jira/browse/ISIS-969[ISIS-969] - Create new @DomainServiceLayout annotation, and move UI hints out of @DomainService
-* link:https://issues.apache.org/jira/browse/ISIS-970[ISIS-970] - UI (layout) hints, and deprecate old annotations
-* link:https://issues.apache.org/jira/browse/ISIS-972[ISIS-972] - Make it possible to set FontAwesome icons after the label for action links
-* link:https://issues.apache.org/jira/browse/ISIS-973[ISIS-973] - Simplify the FixtureScript API so that child fixtures are executed using the ExecutionContext object
-* link:https://issues.apache.org/jira/browse/ISIS-980[ISIS-980] - menu sections in the tertiary actions menu panel
-* link:https://issues.apache.org/jira/browse/ISIS-981[ISIS-981] - Should be able to use the wrapper factory when installing fixtures.
-* link:https://issues.apache.org/jira/browse/ISIS-1002[ISIS-1002] - Recognize (JDO) exceptions for foreign key constraint violations
-* link:https://issues.apache.org/jira/browse/ISIS-1003[ISIS-1003] - Add "veto" as a simpler API for EventBusSubscribers
-* link:https://issues.apache.org/jira/browse/ISIS-1008[ISIS-1008] - Make it possible to stream Lobs after using the action prompt
-* link:https://issues.apache.org/jira/browse/ISIS-1012[ISIS-1012] - Use the same date and time format across tables and fields
-* link:https://issues.apache.org/jira/browse/ISIS-1014[ISIS-1014] - Modal window improvements
-* link:https://issues.apache.org/jira/browse/ISIS-1018[ISIS-1018] - Do not allow http session replacement in Wicket because Shiro knowledge becomes outdated
-* link:https://issues.apache.org/jira/browse/ISIS-1019[ISIS-1019] - Upgrade dependencies to javassist, org.reflections
-* link:https://issues.apache.org/jira/browse/ISIS-1026[ISIS-1026] - plugin to 1.56
-* link:https://issues.apache.org/jira/browse/ISIS-1032[ISIS-1032] - Contract test for bidirectional relationship can't handle overridden methods
-* link:https://issues.apache.org/jira/browse/ISIS-1036[ISIS-1036] - Inject services into Comparators specified in a @CollectionLayout(sortedBy=...) clause
-* link:https://issues.apache.org/jira/browse/ISIS-1038[ISIS-1038] - Extend ActionDomainEvent so that it provides the return value during the Executed phase.
-* link:https://issues.apache.org/jira/browse/ISIS-1039[ISIS-1039] - XmlSnapshot.Builder interface missing the build() method...
-* link:https://issues.apache.org/jira/browse/ISIS-1040[ISIS-1040] - Extend FixtureScript / ExecutionContext with defaultParam / checkParam...
-* link:https://issues.apache.org/jira/browse/ISIS-1043[ISIS-1043] - Enhance fixture script framework with better support for parameters being passed between scripts.
-* link:https://issues.apache.org/jira/browse/ISIS-1049[ISIS-1049] - Move Wicket viewer under core.
-
-
-== Bug
-
-* link:https://issues.apache.org/jira/browse/ISIS-853[ISIS-853] - joda DateTime properties loose time when persisted
-* link:https://issues.apache.org/jira/browse/ISIS-878[ISIS-878] - Wicket viewer escape does not dismiss some (though not all) action dialog boxes
-* link:https://issues.apache.org/jira/browse/ISIS-881[ISIS-881] - deterministic?
-* link:https://issues.apache.org/jira/browse/ISIS-897[ISIS-897] - Wrong format for org.joda.time.LocalDateTime
-* link:https://issues.apache.org/jira/browse/ISIS-911[ISIS-911] - The blob panel's "additionalLinks" (for upload and clear buttons) should be hidden in Edit mode.
-* link:https://issues.apache.org/jira/browse/ISIS-941[ISIS-941] - Wicket viewer shouldn't try to flush properties that are disabled.
-* link:https://issues.apache.org/jira/browse/ISIS-942[ISIS-942] - Auditing broken for deleted objects.
-* link:https://issues.apache.org/jira/browse/ISIS-943[ISIS-943] - ObjectContracts#equals should be more resilient.
-* link:https://issues.apache.org/jira/browse/ISIS-946[ISIS-946] - Apache Isis application won't run from Eclipse
-* link:https://issues.apache.org/jira/browse/ISIS-954[ISIS-954] - Duplicate menu items in the application menu
-* link:https://issues.apache.org/jira/browse/ISIS-961[ISIS-961] - Throwing exception in application code does NOT abort the transaction (it should, of course).
-* link:https://issues.apache.org/jira/browse/ISIS-966[ISIS-966] - Restful viewer doesn't return a JSON representation when hits a 500 internally (instead getting an HTML page)
-* link:https://issues.apache.org/jira/browse/ISIS-971[ISIS-971] - Ignore anonymous classes which inherit from @DomainService (eg in integ tests).
-* link:https://issues.apache.org/jira/browse/ISIS-1010[ISIS-1010] - "Session already open" error if attempting to login in a second browser tab
-* link:https://issues.apache.org/jira/browse/ISIS-1011[ISIS-1011] - Select2 component doesn't filter the suggestions
-* link:https://issues.apache.org/jira/browse/ISIS-1017[ISIS-1017] - @PreDestroy annotated method is not called
-* link:https://issues.apache.org/jira/browse/ISIS-1029[ISIS-1029] - Hidden#where in layout is not honored by table representations
-* link:https://issues.apache.org/jira/browse/ISIS-1030[ISIS-1030] - Not possible for a declarative view model (@ViewModel) to reference another view model/
-* link:https://issues.apache.org/jira/browse/ISIS-1041[ISIS-1041] - Under certain circumstances, appears that auditing can cause the same tuple to be audited within a single transaction.
-* link:https://issues.apache.org/jira/browse/ISIS-1042[ISIS-1042] - Dropdown of Enums does not honour title() method
-
-
-== Task
-
-* link:https://issues.apache.org/jira/browse/ISIS-928[ISIS-928] - Apache Isis 1.8.0 release tasks
-* link:https://issues.apache.org/jira/browse/ISIS-959[ISIS-959] - Update Jackson dependency from 1.9.11 to 2.4.3
-
-
-== Sub-task
-* link:https://issues.apache.org/jira/browse/ISIS-512[ISIS-512] - Wicket: render icons for actions (if available)
-* link:https://issues.apache.org/jira/browse/ISIS-556[ISIS-556] - 537 branch to master
-* link:https://issues.apache.org/jira/browse/ISIS-876[ISIS-876] - Action prompt dialog box rendering when title too long...
-
-
-
-
diff --git a/antora/components/relnotes/modules/ROOT/pages/2015/1.9.0/mignotes.adoc b/antora/components/relnotes/modules/ROOT/pages/2015/1.9.0/mignotes.adoc
deleted file mode 100644
index dd026c9..0000000
--- a/antora/components/relnotes/modules/ROOT/pages/2015/1.9.0/mignotes.adoc
+++ /dev/null
@@ -1,19 +0,0 @@
-= Migrating from v1.8.0 to 1.9.0
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-
-include::mignotes/upgrading-to-dn4.adoc[leveloffset=+1]
-include::mignotes/specify-all-dom-packages.adoc[leveloffset=+1]
-include::mignotes/upgrading-to-java8.adoc[leveloffset=+1]
-include::mignotes/exception-recognizer.adoc[leveloffset=+1]
-include::mignotes/fixture-scripts-specification-provider.adoc[leveloffset=+1]
-include::mignotes/war-packaging.adoc[leveloffset=+1]
-include::mignotes/bootstrapping-using-AppManifest.adoc[leveloffset=+1]
-
-
-
-
-
diff --git a/antora/components/relnotes/modules/ROOT/pages/2015/1.9.0/mignotes/bootstrapping-using-AppManifest.adoc b/antora/components/relnotes/modules/ROOT/pages/2015/1.9.0/mignotes/bootstrapping-using-AppManifest.adoc
deleted file mode 100644
index 7a34366..0000000
--- a/antora/components/relnotes/modules/ROOT/pages/2015/1.9.0/mignotes/bootstrapping-using-AppManifest.adoc
+++ /dev/null
@@ -1,258 +0,0 @@
-= Bootstrapping using `AppManifest`
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-
-Apache Isis 1.9.0 provides a simplified programmatic way of bootstrapping the application, that also unifies bootstrapping for integration tests.
-
-For now this new bootstrapping mechanism is optional (you don't have to change your code), but it may become mandatory in future releases.
-The link:https://isis.apache.org/versions/1.9.0/arch/simpleapp/about.html[SimpleApp archetype] has been updated to use this new mechanism.
-
-The instructions below assume that your application is structured as per the simpleapp archetype. Adjust accordingly.
-
-
-
-== `myapp-dom` Module
-
-In your `myapp-dom` module (containing definitions of your persistent entities and domain services), create an empty class to represent the module.
-This should be at the root package for the domain, eg:
-
-[source,java]
-----
-package myapp.dom;
-public final class MyAppDomainModule {
- private MyAppDomainModule(){}
-}
-----
-
-Since there is no requirement to actually instantiate this class (it merely provides the location of the `myapp.dom` package), we give it a private constructor.
-
-If you have any other modules where you have either domain services or entities, similarly create an empty "module" class.
-
-
-
-== `myapp-fixture` Module
-
-Similarly, in your `myapp-fixture` module (containing fixture scripts used for testing and demos), do likewise:
-
-[source,java]
-----
-package myapp.fixture;
-public class MyAppFixtureModule {
- private MyAppFixtureModule(){}
-}
-----
-
-
-
-
-== `myapp-app` Maven Module
-
-Create a new `myapp-app` Maven module:
-
-* in its `pom.xml`, reference `myapp-fixture` +
-+
-[source,xml]
-----
-<dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>myapp-fixture</artifactId>
-</dependency>
-----
-+
-[NOTE]
-====
-Since `myapp-fixture` will reference `myapp-dom` there's no need for a direct reference to `myapp-dom`
-====
-
-* also add in dependencies to the core framework: +
-+
-[source,xml]
-----
-<dependency>
- <groupId>org.apache.isis.core</groupId>
- <artifactId>isis-core-wrapper</artifactId>
-</dependency>
-<dependency>
- <groupId>org.apache.isis.core</groupId>
- <artifactId>isis-core-runtime</artifactId>
-</dependency>
-----
-
-* if your application uses any of the (non-ASF) link:http://www.isisaddons.org[Isis Addons] modules, then add dependencies to these modules in the `pom.xml`.
-You should be able to copy-and-paste the dependencies from the `pom.xml` of your `myapp-webapp` module.
-
-Create a module class for the `myapp` module also:
-
-[source,java]
-----
-package myapp.app;
-public final class MyAppAppModule {
- private MyAppAppModule() {}
-}
-----
-
-Next, create an `AppManifest` implementation, eg: +
-
-[source,java]
-----
-package myapp.app;
-public class MyAppAppManifest implements AppManifest {
- @Override
- public List<Class<?>> getModules() { // <1>
- return Arrays.asList(
- MyAppDomainModule.class,
- MyAppFixtureModule.class,
- MyAppAppModule.class
- );
- }
- @Override
- public List<Class<?>> getAdditionalServices() { return null; } // <2>
- @Override
- public String getAuthenticationMechanism() { return null; }
- @Override
- public String getAuthorizationMechanism() { return null; }
- @Override
- public List<Class<? extends FixtureScript>> getFixtures() { return null; }
- @Override
- public Map<String, String> getConfigurationProperties() { return null; }
-}
-----
-<1> the module classes, whose packages specify the existence of domain services and/or persistent entities.
-If your app uses (non-ASF) link:http://www.isisaddons.org[Isis Addons] modules, then include the module classes for these addons in `getModules()`.
-For example, the (non-ASF) link:https://platform.incode.org[Incode Platform^]'s security module provides the `org.isisaddons.module.security.SecurityModule` class.
-<2> any additional services, as per `isis.services` configuration property.
-
-
-[TIP]
-====
-For details of the usages of the other methods in this interface, see the link:https://isis.apache.org/versions/1.9.0/guides/rgcms/rgcms.html#_rgcms_classes_AppManifest-bootstrapping[reference guide] documentation.
-====
-
-
-If in your `myapp-dom` module you have application-level services and view models (services that depend on persistent domain entities but not the other way around), then we recommend that you move this code to the new `myapp-app` module.
-This makes the layering clearer, and avoids circular dependencies between application-layer vs domain-layer logic.
-
-
-
-
-== Update parent
-
-in the parent `pom.xml`, declare and reference the new `myapp-app` module:
-
-[source,xml]
-----
-<dependencyManagement>
- <dependencies>
- ...
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>myapp-app</artifactId>
- <version>${project.version}</version>
- </dependency>
- ...
- </dependencies>
-</dependencyManagement>
-
-<modules>
- <module>app</module>
- ...
-</modules>
-
-----
-
-
-
-== Update `myapp-integtests`
-
-In its `pom.xml`:
-
-* add a dependency on `myapp-app`
-* remove dependency on `myapp-fixture` (and on `myapp-dom`, if present)
-* remove dependencies on `isis-core-wrapper` and `isis-core-runtime` (since now obtained transitively from `myapp-app`)
-
-Also update (simplify) `MyAppSystemInitializer` to use the new `AppManifest`, eg:
-
-[source,java]
-----
-public class MyAppSystemInitializer {
- public static void initIsft() {
- IsisSystemForTest isft = IsisSystemForTest.getElseNull();
- if(isft == null) {
- isft = new IsisSystemForTest.Builder()
- .withLoggingAt(org.apache.log4j.Level.INFO)
- .with(new DomainAppAppManifest()) // <1>
- .with(new IsisConfigurationForJdoIntegTests()) // <2>
- .build()
- .setUpSystem();
- IsisSystemForTest.set(isft);
- }
- }
-}
-----
-<1> bootstrapping using the new `AppManifest` implementation
-<2> if your bootstrapping previously explicitly overrode certain configuration properties, this can instead be moved to the `getConfigurationProperties()` method of your `AppManifest` implementation.
-
-
-
-
-== Update `myapp-webapp`
-
-In its `pom.xml`:
-
-* add a dependency on `myapp-app`
-* remove dependency on `myapp-fixture` (and on `myapp-dom`, if present)
-* remove dependencies on `isis-core-wrapper` and `isis-core-runtime` (since now obtained transitively from `myapp-app`)
-
-* (if you didn't previously), move any dependencies to addons or other services referenced in the `AppManifest` to the `pom.xml` of the new `myapp-app` module.
-
-
-Remove configuration properties that are no longer needed:
-
-* in `isis.properties`:
-
-** remove `isis.services-installer`
-** remove `isis.services.ServicesInstallerFromAnnotation.packagePrefix`
-** remove `isis.services`
-
-* in `persistor_datanucleus.properties`
-
-** remove `isis.persistor.datanucleus.RegisterEntities.packagePrefix`
-
-
-Finally, specify the `AppManifest` to use to bootstrap the app. You have a choice here:
-
-* either update `isis.properties`, using the `isis.appManifest` key to specify the `AppManifest` implementation, eg: +
-+
-[source,ini]
-----
-isis.appManifest=domainapp.app.DomainAppAppManifest
-----
-
-* alternatively, specify the `AppManifest` by overriding the `IsisWicketApplication#newWicketModule()`, eg: +
-+
-[source,java]
-----
-@Override
-protected Module newIsisWicketModule() {
- final Module isisDefaults = super.newIsisWicketModule();
- ...
- final Module overrides = new AbstractModule() {
- @Override
- protected void configure() {
- ...
- bind(AppManifest.class).toInstance(new DomainAppAppManifest());
- }
- };
-
- return Modules.override(isisDefaults).with(overrides);
-}
-----
-
-If the second (programmatic) approach is used, this overrides the first approach (using `isis.properties`).
-
-
-
-
diff --git a/antora/components/relnotes/modules/ROOT/pages/2015/1.9.0/mignotes/exception-recognizer.adoc b/antora/components/relnotes/modules/ROOT/pages/2015/1.9.0/mignotes/exception-recognizer.adoc
deleted file mode 100644
index 987896a..0000000
--- a/antora/components/relnotes/modules/ROOT/pages/2015/1.9.0/mignotes/exception-recognizer.adoc
+++ /dev/null
@@ -1,42 +0,0 @@
-= `ExceptionRecognizerCompositeForJdoObjectStore`
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-
-The `ExceptionRecognizerCompositeForJdoObjectStore` service (an implementation of the link:https://isis.apache.org/versions/1.9.0/guides/rgsvc/rgsvc.html#_rgsvc_presentation-layer-spi_ExceptionRecognizer[`ExceptionRecognizer`] SPI) recognizes certain expected exceptions thrown by JDO/DataNucleus (for example, violations of uniqueness) and converts them into meaningful messages for the end-user.
-
-Prior to 1.9.0 this implementation was _not_ annotated with link:https://isis.apache.org/versions/1.9.0/guides/rgant/rgant.html#_rgant-DomainService[`@DomainService`] and thus needed to be explicitly registered in `isis.properties`.
-
-In 1.9.0 the service has been annotated with `@DomainService` meaning that:
-
-* it must be removed from `isis.services` property in `isis.properties` configuration file
-
-* in integration tests, if the service is explicitly registered, then it should be removed; for example: +
-+
-[source,java]
-----
-public class EstatioIntegTestBuilder extends IsisSystemForTest.Builder {
- public EstatioIntegTestBuilder() {
- ...
- withServices(
- // new ExceptionRecognizerCompositeForJdoObjectStore() // <1>
- );
- }
- ...
-}
-----
-<1> remove this line (or comment it out, as shown)
-
-If you fail to do this you will get an exception to the effect of duplicate service Ids being registered.
-
-Now that the `ExceptionRecognizerCompositeForJdoObjectStore` no longer needs to be explicitly registered, you might (very rarely) require the opposite situation, namely to disable the service. As this can't be done by just removing it from `isis.properties`, you instead can set a new link:https://isis.apache.org/versions/1.9.0/guides/rgcfg/rgcfg.html#_rgcfg_configuring-core[configuration property] `isis.services.ExceptionRecognizerCompositeForJdoObjectStore.disable`:
-
-[source,ini]
-----
-#isis.services.ExceptionRecognizerCompositeForJdoObjectStore.disable=false
-----
-
-If you did not register this service directly but instead registered a subclass of this service, then you should refactor your code so that your implementation is in a separate service, eg by subclassing `ExceptionRecognizerComposite`. You should probably also annotate with `@DomainService`.
-
diff --git a/antora/components/relnotes/modules/ROOT/pages/2015/1.9.0/mignotes/fixture-scripts-specification-provider.adoc b/antora/components/relnotes/modules/ROOT/pages/2015/1.9.0/mignotes/fixture-scripts-specification-provider.adoc
deleted file mode 100644
index 474e309..0000000
--- a/antora/components/relnotes/modules/ROOT/pages/2015/1.9.0/mignotes/fixture-scripts-specification-provider.adoc
+++ /dev/null
@@ -1,12 +0,0 @@
-= `FixtureScriptsSpecificationProvider`
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-
-The `FixtureScriptsSpecificationProvider` SPI service is an alternative to subclassing the link:https://isis.apache.org/versions/1.9.0/guides/rgcms/rgcms.html#_rgcms_classes_super_FixtureScripts[`FixtureScripts`] domain service. The logic that would normally be in the subclass moves to the provider service instead, and the framework instantiates a fallback default instance, link:https://isis.apache.org/versions/1.9.0/guides/rgsvc/rgsvc.html#_rgsvc_testing_FixtureScripts[`FixtureScriptsD [...]
-
-This new design is optional; if you continue to provide your own subclass then everything will continue as before. However the new design is more flexible and involves less code.
-
-See link:https://isis.apache.org/versions/1.9.0/guides/ugtst/ugtst.html#_ugtst_fixture-scripts_api-and-usage[user guide] for further discussion.
diff --git a/antora/components/relnotes/modules/ROOT/pages/2015/1.9.0/mignotes/specify-all-dom-packages.adoc b/antora/components/relnotes/modules/ROOT/pages/2015/1.9.0/mignotes/specify-all-dom-packages.adoc
deleted file mode 100644
index f948c3a..0000000
--- a/antora/components/relnotes/modules/ROOT/pages/2015/1.9.0/mignotes/specify-all-dom-packages.adoc
+++ /dev/null
@@ -1,37 +0,0 @@
-= Specify all `dom` packages
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-
-Apache Isis automatically scans for certain classes on the classpath in order to configure itself. Specifically these are:
-
-* searching for classes annotated with link:https://isis.apache.org/versions/1.9.0/guides/rgant/rgant.html#_rgant-DomainService[`@DomainService`].
-
-* searching for classes extending link:https://isis.apache.org/versions/1.9.0/guides/rgcms/rgcms.html#_rgcms_classes_super_FixtureScript[`FixtureScript`]
-
-* searching for classes annotated with link:https://isis.apache.org/versions/1.9.0/guides/rgant/rgant.html#_rgant-PersistenceCapable[`@PersistenceCapable`].
-
-For the last of these we have tightened up the validation, to ensure that each package specified in the `isis.persistor.datanucleus.RegisterEntities.packagePrefix` key does indeed include at least one annotated entity. This should include any domain classes for addon modules.
-
-For example, the http://github.com/apache/isis-app-todoapp[TodoApp]'s configuration now reads:
-
-[source,ini]
-----
-isis.persistor.datanucleus.RegisterEntities.packagePrefix=\
- todoapp.dom.module,\
- org.isisaddons.module.security.dom,\
- org.isisaddons.module.settings.dom,\
- org.isisaddons.module.sessionlogger.dom,\
- org.isisaddons.module.command.dom,\
- org.isisaddons.module.audit.dom,\
- org.isisaddons.module.publishing.dom
-----
-
-[TIP]
-====
-Alternatively, could have just specified `org.isisaddons.module` instead of enumerating every addon. This would be a bit slower, but more maintainable.
-====
-
-If you fail to do specify all packages things may still work, however DataNucleus will build up its metamodel lazily. This can call issues: we've seen malformed SQL being submitted when DN wasn't aware of subclasses of a superclass, and we've also seen deadlocks when running against HSQLDB as it attempts to perform a DDL statement intermixed with DML statements.
diff --git a/antora/components/relnotes/modules/ROOT/pages/2015/1.9.0/mignotes/upgrading-to-dn4.adoc b/antora/components/relnotes/modules/ROOT/pages/2015/1.9.0/mignotes/upgrading-to-dn4.adoc
deleted file mode 100644
index f5e583f..0000000
--- a/antora/components/relnotes/modules/ROOT/pages/2015/1.9.0/mignotes/upgrading-to-dn4.adoc
+++ /dev/null
@@ -1,251 +0,0 @@
-= Upgrading to DataNucleus 4
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-
-Apache Isis 1.9.0 updates to DataNucleus 4.0.0, which requires some changes (simplifications) to the Maven configuration.
-
-If you starting a new app then you can start from the link:https://isis.apache.org/versions/1.9.0/arch/simpleapp/about.html[SimpleApp archetype]; its Maven configuration has been updated.
-
-If you have an existing Apache Isis app that you want to upgrade, then you'll need to make some changes.
-
-
-
-== In the parent `pom.xml`
-
-under the `project/properties`, remove:
-
-[source,xml]
-----
-<!-- must be consistent with the versions defined by JDO/DataNucleus -->
-<datanucleus-accessplatform-jdo-rdbms.version>3.3.6</datanucleus-accessplatform-jdo-rdbms.version>
-<datanucleus-maven-plugin.version>3.3.2</datanucleus-maven-plugin.version>
-----
-
-
-
-
-== In `dom/pom.xml`,
-
-under `build/plugins`, remove:
-
-[source,xml]
-----
-<plugin>
- <groupId>org.datanucleus</groupId>
- <artifactId>datanucleus-maven-plugin</artifactId>
- <version>${datanucleus-maven-plugin.version}</version>
- <configuration>
- <fork>false</fork>
- <log4jConfiguration>${basedir}/log4j.properties</log4jConfiguration>
- <verbose>true</verbose>
- <props>${basedir}/datanucleus.properties</props>
- </configuration>
- <executions>
- <execution>
- <phase>compile</phase>
- <goals>
- <goal>enhance</goal>
- </goals>
- </execution>
- </executions>
-</plugin>
-----
-
-and (if you have it) under `build/pluginManagement/plugins`, remove:
-
-[source,xml]
-----
-<!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
-<plugin>
- <groupId>org.eclipse.m2e</groupId>
- <artifactId>lifecycle-mapping</artifactId>
- <version>1.0.0</version>
- <configuration>
- <lifecycleMappingMetadata>
- <pluginExecutions>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>
- org.datanucleus
- </groupId>
- <artifactId>
- datanucleus-maven-plugin
- </artifactId>
- <versionRange>
- [3.2.0-release,)
- </versionRange>
- <goals>
- <goal>enhance</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore></ignore>
- </action>
- </pluginExecution>
- </pluginExecutions>
- </lifecycleMappingMetadata>
- </configuration>
-</plugin>
-----
-
-
-and instead, under `<profiles>` add:
-
-
-[source,xml]
-----
-<profile>
- <id>enhance</id>
- <activation>
- <activeByDefault>true</activeByDefault>
- </activation>
- <properties>
- <datanucleus-maven-plugin.version>4.0.1</datanucleus-maven-plugin.version>
- </properties>
- <build>
- <pluginManagement>
- <plugins>
- <plugin>
- <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
- <groupId>org.eclipse.m2e</groupId>
- <artifactId>lifecycle-mapping</artifactId>
- <version>1.0.0</version>
- <configuration>
- <lifecycleMappingMetadata>
- <pluginExecutions>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>org.datanucleus</groupId>
- <artifactId>datanucleus-maven-plugin</artifactId>
- <versionRange>[${datanucleus-maven-plugin.version},)</versionRange>
- <goals>
- <goal>enhance</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore></ignore>
- </action>
- </pluginExecution>
- </pluginExecutions>
- </lifecycleMappingMetadata>
- </configuration>
- </plugin>
- </plugins>
- </pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.datanucleus</groupId>
- <artifactId>datanucleus-maven-plugin</artifactId>
- <version>${datanucleus-maven-plugin.version}</version>
- <configuration>
- <fork>false</fork>
- <log4jConfiguration>${basedir}/log4j.properties</log4jConfiguration>
- <verbose>true</verbose>
- <props>${basedir}/datanucleus.properties</props>
- </configuration>
- <executions>
- <execution>
- <phase>process-classes</phase>
- <goals>
- <goal>enhance</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- <dependencies>
- <dependency>
- <groupId>org.datanucleus</groupId>
- <artifactId>datanucleus-core</artifactId>
- </dependency>
- <dependency>
- <groupId>org.datanucleus</groupId>
- <artifactId>datanucleus-jodatime</artifactId>
- </dependency>
- <dependency>
- <groupId>org.datanucleus</groupId>
- <artifactId>datanucleus-api-jdo</artifactId>
- </dependency>
- </dependencies>
-</profile>
-----
-
-If you don't use Eclipse then you can omit the `org.eclipse.m2e` plugin in `<pluginManagement>`.
-
-
-
-
-== In the webapp's `persistor_datanucleus.properties`
-
-in `src/main/webapp/WEB-INF/`,
-
-change:
-
-[source,ini]
-----
-isis.persistor.datanucleus.impl.datanucleus.autoCreateSchema=true
-isis.persistor.datanucleus.impl.datanucleus.validateTables=true
-isis.persistor.datanucleus.impl.datanucleus.validateConstraints=true
-----
-
-to:
-
-[source,ini]
-----
-isis.persistor.datanucleus.impl.datanucleus.schema.autoCreateAll=true
-isis.persistor.datanucleus.impl.datanucleus.schema.validateTables=true
-isis.persistor.datanucleus.impl.datanucleus.schema.validateConstraints=true
-----
-
-[NOTE]
-====
-Previously Apache Isis would automatically add the auto-create property if they were absent from `isis.properties`, set to "true".
-The framework does still add the property, but now sets it to "false".
-This is to prevent the framework from unexpectedly modifying a target database if the application was misconfigured and the auto-create property not defined.
-
-The framework will also automatically add the auto-validate property.
-Previously this was set to "true" and it is _still_ set to "true"; there is no risk of the target database being modified as a result of this auto-validate property being defaulted by the framework.
-====
-
-[IMPORTANT]
-====
-Setting `autoCreateAll` to `true` is important to do when running with an in-memory database.
-If you don't do this then the tables will be created lazily anyway by DataNucleus, but in some circumstances this can lead to deadlocks.
-====
-
-
-In addition, change:
-
-[source,ini]
-----
-isis.persistor.datanucleus.impl.datanucleus.identifier.case=PreserveCase
-----
-
-to:
-
-[source,ini]
-----
-isis.persistor.datanucleus.impl.datanucleus.identifier.case=MixedCase
-----
-
-
-
-== Run `mvn clean` !
-
-Be careful to ensure that your classes are only enhanced by the DataNucleus 4 enhancer, and _not_ by the DataNucleus 3 enhancer.
-Or even, be careful that they are not doubly enhanced.
-One of our committers had this situation and it led to all sorts of bizarre issues.
-The solution, it turned out, was actually just to do a full `mvn clean`.
-
-If you are struggling and suspect you may have misconfigured the enhancer plugin, then you can decompile the bytecode (eg in IntelliJ) and take a look:
-
-* A class enhanced with DataNucleus 3 would implement `javax.jdo.spi.PersistenceCapable` interface
-* A class enhanced with DataNucleus 4 will implement `org.datanucleus.enhancer.Persistable`.
-
-
-
-
diff --git a/antora/components/relnotes/modules/ROOT/pages/2015/1.9.0/mignotes/upgrading-to-java8.adoc b/antora/components/relnotes/modules/ROOT/pages/2015/1.9.0/mignotes/upgrading-to-java8.adoc
deleted file mode 100644
index 0a8b96e..0000000
--- a/antora/components/relnotes/modules/ROOT/pages/2015/1.9.0/mignotes/upgrading-to-java8.adoc
+++ /dev/null
@@ -1,82 +0,0 @@
-= Upgrading to Java 8
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-
-Apache Isis 1.9.0 is the first version to support Java 8. You can continue to use Java 7, but if you want to move to Java 8 then there are several small changes to be made.
-
-
-
-== In the parent `pom.xml`
-
-under `build/pluginManagement/plugins`, add (or update) `maven-compiler-plugin`:
-
-[source,xml]
-----
-<plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>3.1</version>
- <configuration>
- <source>1.8</source>
- <target>1.8</target>
- <compilerArgument>-parameters</compilerArgument>
- </configuration>
- <executions>
- <execution>
- <id>source</id>
- <phase>compile</phase>
- </execution>
- <execution>
- <id>test</id>
- <phase>test-compile</phase>
- </execution>
- </executions>
-</plugin>
-----
-
-[TIP]
-====
-The `-parameters` argument causes the Java compiler to capture the names of method parameters in the `.class` files. Apache Isis can be configured to use this, thereby avoiding the requirement to annotate every parameter with `@ParameterLayout(named=...)`. The necessary configuration is provided in the (non-ASF) link:https://platform.incode.org[Incode Platform^]'s paraname8 metamodel extension.
-
-====
-
-We also recommend that you add the `maven-enforcer-plugin` (if not used already). Again, this resides under `<build>/<pluginManagement>/<plugins>`:
-
-[source,xml]
-----
-<plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-enforcer-plugin</artifactId>
- <version>1.3.1</version>
- <configuration>
- <rules>
- <requireMavenVersion>
- <version>[3.2.1,)</version>
- </requireMavenVersion>
- <requireJavaVersion>
- <version>[1.8.0,)</version>
- </requireJavaVersion>
- <requirePluginVersions>
- <message>All plugin versions must be defined!</message>
- <banLatest>true</banLatest>
- <banRelease>true</banRelease>
- </requirePluginVersions>
- <DependencyConvergence />
- </rules>
- </configuration>
- <executions>
- <execution>
- <id>validate-enforce</id>
- <phase>validate</phase>
- <goals>
- <goal>enforce</goal>
- </goals>
- </execution>
- </executions>
-</plugin>
-----
-
-
diff --git a/antora/components/relnotes/modules/ROOT/pages/2015/1.9.0/mignotes/war-packaging.adoc b/antora/components/relnotes/modules/ROOT/pages/2015/1.9.0/mignotes/war-packaging.adoc
deleted file mode 100644
index aa1da7f..0000000
--- a/antora/components/relnotes/modules/ROOT/pages/2015/1.9.0/mignotes/war-packaging.adoc
+++ /dev/null
@@ -1,38 +0,0 @@
-= War packaging
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-As discussed in link:https://isis.apache.org/versions/1.9.0/arch/simpleapp/about.html[SimpleApp archetype] and elsewhere, the `org.apache.isis.WebServer` provides the ability to run your app from an embedded jetty.
-This is great for prototyping.
-The class resides in the `isis-core-webserver` module, which also has the dependency on jetty.
-
-In 1.9.0 we have upgraded the jetty dependency to use Jetty 9.2.0 (`org.eclipse.jetty.aggregate:jetty-all:9.2.11.v20150529`, to be precise).
-One consequence of this is that the packaged WAR file will not boot on Tomcat.
-
-One fix is to simply remove the `isis-core-webserver` module as a dependency of your webapp module, however this will prevent you from using our `org.apache.isis.WebServer` launcher.
-That's not necessarily a bad thing; you could continue to use `jetty:run`, say.
-But it might be a change to your development workflow that you don't want.
-
-Alternatively you can change your webapp's `pom.xml` so that when the war is packaged up it excludes the jetty files.
-To do this, locate the `maven-war-plugin` module definition (under `<build>/<plugins>` and add to its `<configuration>` section:
-
-[source,xml]
-----
-<plugin>
- <artifactId>maven-war-plugin</artifactId>
- <configuration>
- ...
- <packagingExcludes>
- WEB-INF/lib/isis-core-webserver*.jar,
- WEB-INF/lib/javax.servlet-api-*.jar,
- WEB-INF/lib/javax.websocket-api-*.jar,
- WEB-INF/lib/jetty-all-*.jar
- </packagingExcludes>
- </configuration>
-</plugin>
-----
-
-
-For future projects the link:https://isis.apache.org/versions/1.9.0/arch/simpleapp/about.html[SimpleApp archetype] has been updated with this change.
diff --git a/antora/components/relnotes/modules/ROOT/pages/2015/1.9.0/relnotes.adoc b/antora/components/relnotes/modules/ROOT/pages/2015/1.9.0/relnotes.adoc
deleted file mode 100644
index 7921ecf..0000000
--- a/antora/components/relnotes/modules/ROOT/pages/2015/1.9.0/relnotes.adoc
+++ /dev/null
@@ -1,132 +0,0 @@
-= 1.9.0
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-
-Apache Isis 1.9.0 provides various new "under-the-cover" features, such as `AppManifest` for simplified bootstrapping, and content negotiation support within link:https://isis.apache.org/versions/1.9.0/guides/ugvro/ugvro.html#[RestfulObjects viewer].
-It also updates the DataNucleus version to DN 4.1.x.
-
-This release was also the first to include the updated Asciidoc website.
-
-== New Feature
-
-* link:https://issues.apache.org/jira/browse/ISIS-1167[ISIS-1167] - NullPrintStream in unittestsupport to reduce the noise of unit tests that log to stdout or stderr
-* link:https://issues.apache.org/jira/browse/ISIS-1166[ISIS-1166] - Support for unit testing using SOAP fake servers
-* link:https://issues.apache.org/jira/browse/ISIS-1165[ISIS-1165] - "Schema" module to support integration scenarios.
-* link:https://issues.apache.org/jira/browse/ISIS-1164[ISIS-1164] - For RO viewer content negotiation (via XRoDomainType), if in prototype mode then pretty-print.
-* link:https://issues.apache.org/jira/browse/ISIS-1159[ISIS-1159] - Make ExceptionRecognizerCompositeForJdoObjectStore into a @DomainService, so automatically registered.
-* link:https://issues.apache.org/jira/browse/ISIS-1149[ISIS-1149] - New ContentNegotiationService and ContentMappingService SPIs for Restful Objects viewer
-* link:https://issues.apache.org/jira/browse/ISIS-1148[ISIS-1148] - Extend DomainObjectContainer to allow services to be looked up
-* link:https://issues.apache.org/jira/browse/ISIS-1147[ISIS-1147] - Provide API in IsisJdoSupport to execute typesafe queries
-* link:https://issues.apache.org/jira/browse/ISIS-1145[ISIS-1145] - REST action invocations support limited conneg to JAXB-marshalled DTOs
-* link:https://issues.apache.org/jira/browse/ISIS-1144[ISIS-1144] - New "NatureOfService" to restrict domain services to be visible in the REST API (Restful Objects viewer) but not in the Wicket viewer.
-* link:https://issues.apache.org/jira/browse/ISIS-1143[ISIS-1143] - MetaModelService to provide formal access to certain (restricted) aspects of the Isis metamodel
-* link:https://issues.apache.org/jira/browse/ISIS-1129[ISIS-1129] - SudoService to allow the current user to be temporarily switched (for fixture scripts and integ tests)
-* link:https://issues.apache.org/jira/browse/ISIS-1102[ISIS-1102] - Allow translations service to toggle between read mode and write mode from UI
-* link:https://issues.apache.org/jira/browse/ISIS-1096[ISIS-1096] - Derive the object type from the schema and table of @PersistenceCapable (but ensure backward compatibility is preserved).
-* link:https://issues.apache.org/jira/browse/ISIS-1071[ISIS-1071] - Provide new HasUsername interface in applib (analogous to HasTransactionId) so that various addon services can contribute to it.
-* link:https://issues.apache.org/jira/browse/ISIS-1064[ISIS-1064] - Allow DB schemas (or any other setup) to be performed as DN metamodel is built up for each class.
-* link:https://issues.apache.org/jira/browse/ISIS-1028[ISIS-1028] - Create Event Bus Service based on Axon
-* link:https://issues.apache.org/jira/browse/ISIS-940[ISIS-940] - Extend the CommandService so that both the editing and also the rendering of an entity are shown as commands.
-
-== Improvement
-
-* link:https://issues.apache.org/jira/browse/ISIS-1191[ISIS-1191] - Broken links
-* link:https://issues.apache.org/jira/browse/ISIS-1188[ISIS-1188] - Refactoring/simplifying internals.
-* link:https://issues.apache.org/jira/browse/ISIS-1182[ISIS-1182] - Refactorings of the management of domain services; slightly simplified classpath scanning.
-* link:https://issues.apache.org/jira/browse/ISIS-1173[ISIS-1173] - Split out responsibilities of FixtureScript class so that framework can provide a default implementation, and be configured through an alternative.
-* link:https://issues.apache.org/jira/browse/ISIS-1171[ISIS-1171] - If DN autoCreate is missing, don't default to "true", instead default to "false".
-* link:https://issues.apache.org/jira/browse/ISIS-1170[ISIS-1170] - Throw a better exception if an class (through programmer error) has no properties.
-* link:https://issues.apache.org/jira/browse/ISIS-1169[ISIS-1169] - Simplify IsisSessionFilter, make more resilient to possible leakage of IsisSession on thread-local, also allow RO to force a logout
-* link:https://issues.apache.org/jira/browse/ISIS-1162[ISIS-1162] - For Shiro Realm,Make LDAP attributes as permision generator
-* link:https://issues.apache.org/jira/browse/ISIS-1161[ISIS-1161] - Allow member group (per @Member(name=...) to be internationalized
-* link:https://issues.apache.org/jira/browse/ISIS-1160[ISIS-1160] - Allow RO viewer to consume any media type (HTTP Accept)
-* link:https://issues.apache.org/jira/browse/ISIS-1158[ISIS-1158] - Extend o.a.i.applib.spec.Specification to support i18n
-* link:https://issues.apache.org/jira/browse/ISIS-1157[ISIS-1157] - Cache safe Actions results by annotating them
-* link:https://issues.apache.org/jira/browse/ISIS-1154[ISIS-1154] - Extend ActionDomainEvent and PublishingService's EventMetaData to include info on the action parameter names/types.
-* link:https://issues.apache.org/jira/browse/ISIS-1153[ISIS-1153] - Upgrade to DN 4.1
-* link:https://issues.apache.org/jira/browse/ISIS-1152[ISIS-1152] - Allow domain services to be registered "late" to the event bus
-* link:https://issues.apache.org/jira/browse/ISIS-1150[ISIS-1150] - Retire the InMemoryObjectStore
-* link:https://issues.apache.org/jira/browse/ISIS-1146[ISIS-1146] - Automatically ignore @PostConstruct and @PreDestroy methods from the metamodel.
-* link:https://issues.apache.org/jira/browse/ISIS-1141[ISIS-1141] - Integration tests should honour isis.reflector.facets.include and isis.reflector.facets.exclude for extending the programming model
-* link:https://issues.apache.org/jira/browse/ISIS-1139[ISIS-1139] - Make it clear that ObjectContracts.compare() is slow, and should mostly be used for prototyping.
-* link:https://issues.apache.org/jira/browse/ISIS-1133[ISIS-1133] - Convert website to asciidoctor, hosted in git and published via ASF's svnpubsub
-* link:https://issues.apache.org/jira/browse/ISIS-1126[ISIS-1126] - Improve deserialization logic in RO applib.
-* link:https://issues.apache.org/jira/browse/ISIS-1124[ISIS-1124] - Add the simple name of the domain entity as a CSS class next to 'entityPage' for easier custom styling
-* link:https://issues.apache.org/jira/browse/ISIS-1123[ISIS-1123] - Allow the member group label for properties to be translated.
-* link:https://issues.apache.org/jira/browse/ISIS-1120[ISIS-1120] - Hide the colon separating icon and title in modal window when there is no icon
-* link:https://issues.apache.org/jira/browse/ISIS-1116[ISIS-1116] - Use ResourceModel for labels in Wicket viewer
-* link:https://issues.apache.org/jira/browse/ISIS-1115[ISIS-1115] - Make it possible to set a custom favicon
-* link:https://issues.apache.org/jira/browse/ISIS-1114[ISIS-1114] - Allow to use EmailVerificationUrlService for custom pages too
-* link:https://issues.apache.org/jira/browse/ISIS-1113[ISIS-1113] - Vetoing subscribers should be able to provide a translatable reason.
-* link:https://issues.apache.org/jira/browse/ISIS-1110[ISIS-1110] - Check for available RequestCycle before trying to read the request locale
-* link:https://issues.apache.org/jira/browse/ISIS-1109[ISIS-1109] - Use titleOf(...) for the menu services, so that any translations get picked up.
-* link:https://issues.apache.org/jira/browse/ISIS-1108[ISIS-1108] - Allow informUser, warnUser, raiseError and also exception messages to be translated.
-* link:https://issues.apache.org/jira/browse/ISIS-1107[ISIS-1107] - Register Guice Injector in Wicket before trying to inject the application's dependencies
-* link:https://issues.apache.org/jira/browse/ISIS-1106[ISIS-1106] - Improve translation service to translate all enum constants of all enums, and also capture the title of all services automaticaly all domain services and of all enum constants.
-* link:https://issues.apache.org/jira/browse/ISIS-1105[ISIS-1105] - Improvements to the integration testing framework.
-* link:https://issues.apache.org/jira/browse/ISIS-1104[ISIS-1104] - Remove some of the chattiness in the log if there are no translations for a given locale
-* link:https://issues.apache.org/jira/browse/ISIS-1101[ISIS-1101] - Avoid unexpected concurrency exceptions if using a custom page.
-* link:https://issues.apache.org/jira/browse/ISIS-1100[ISIS-1100] - Improve algorithm for flushing transaction and similarly in capturing post values (for auditing) on transaction preCommit
-* link:https://issues.apache.org/jira/browse/ISIS-1099[ISIS-1099] - Make it possible to use images loaded from the classpath in email templates
-* link:https://issues.apache.org/jira/browse/ISIS-1095[ISIS-1095] - Make it possible to show the datepicker in a "birthdate" mode
-* link:https://issues.apache.org/jira/browse/ISIS-1091[ISIS-1091] - Simplify the format of bookmark, remove prefix (CUS:L_123 -> CUS:123)
-* link:https://issues.apache.org/jira/browse/ISIS-1090[ISIS-1090] - Deprecate IntegrationTestAbstract#runScript (static method)
-* link:https://issues.apache.org/jira/browse/ISIS-1088[ISIS-1088] - Lazily discover fixture scripts
-* link:https://issues.apache.org/jira/browse/ISIS-1087[ISIS-1087] - Restful Objects viewer's "services" representation should show only domain services on the menu
-* link:https://issues.apache.org/jira/browse/ISIS-1085[ISIS-1085] - Add cssClassFa to DomainObjectLayout
-* link:https://issues.apache.org/jira/browse/ISIS-1083[ISIS-1083] - Resetting dependent choice
-* link:https://issues.apache.org/jira/browse/ISIS-1081[ISIS-1081] - Make it possible to lookup Guice beans in Isis domain services
-* link:https://issues.apache.org/jira/browse/ISIS-1080[ISIS-1080] - Misc. bootstrap refinements.
-* link:https://issues.apache.org/jira/browse/ISIS-1078[ISIS-1078] - Wrapper factory should check visibility/usability/validity for contributed members also
-* link:https://issues.apache.org/jira/browse/ISIS-1077[ISIS-1077] - Use the provided 'cssClass' for action menu items
-* link:https://issues.apache.org/jira/browse/ISIS-1068[ISIS-1068] - Rationalize menuOrder for domain services that appear in UI
-
-== Bug
-
-* link:https://issues.apache.org/jira/browse/ISIS-1190[ISIS-1190] - If an referenced object cannot be loaded (not found in the database), then this should be handled gracefully
-* link:https://issues.apache.org/jira/browse/ISIS-1179[ISIS-1179] - Prevent the defaultXxx(...) being called multiple times when invoke an action.
-* link:https://issues.apache.org/jira/browse/ISIS-1177[ISIS-1177] - Deserialization using RO applib fails in Jackson library
-* link:https://issues.apache.org/jira/browse/ISIS-1175[ISIS-1175] - Wicket viewer separators go missing when force refresh page (eg ctrl-R)
-* link:https://issues.apache.org/jira/browse/ISIS-1174[ISIS-1174] - In RO, posting to the ObjectsOfType resource (section 9) fails.
-* link:https://issues.apache.org/jira/browse/ISIS-1168[ISIS-1168] - Eagerly register entities with DataNucleus objectstore (for Neo4j)
-* link:https://issues.apache.org/jira/browse/ISIS-1155[ISIS-1155] - validate() vetoing - requiring rollback via the memento when editing - causes a ConcurrencyException to occur.
-* link:https://issues.apache.org/jira/browse/ISIS-1142[ISIS-1142] - FrameworkSynchronizer should handle case of adapter already marked as destroyed
-* link:https://issues.apache.org/jira/browse/ISIS-1137[ISIS-1137] - PermGen errors through WrapperFactory (javassist)
-* link:https://issues.apache.org/jira/browse/ISIS-1135[ISIS-1135] - Make a copy of the PojoAdapter and OidAdapter maps for debugging purposes
-* link:https://issues.apache.org/jira/browse/ISIS-1112[ISIS-1112] - ExceptionRecognizerComposite cannot self-inject its dependencies
-* link:https://issues.apache.org/jira/browse/ISIS-1111[ISIS-1111] - Trying to load an entity with wrong/non-existing OID fails with NullPointerException
-* link:https://issues.apache.org/jira/browse/ISIS-1103[ISIS-1103] - Translations service not picking up translated versions of property/collection names
-* link:https://issues.apache.org/jira/browse/ISIS-1097[ISIS-1097] - Suspicion that Isis may be leaving DB connections open under certain circumstances, leading to instability
-* link:https://issues.apache.org/jira/browse/ISIS-1089[ISIS-1089] - Should cascade state of tracing printstream to child fixture scripts
-* link:https://issues.apache.org/jira/browse/ISIS-1079[ISIS-1079] - FixtureScript#defaultParam should actually default the property on the fixture script...
-* link:https://issues.apache.org/jira/browse/ISIS-1076[ISIS-1076] - MetaModelValidation error page (MmvPage) is no longer shown...
-* link:https://issues.apache.org/jira/browse/ISIS-1074[ISIS-1074] - For SessionLoggingService, causedBy only meaningful for sessions that have been logged out...
-* link:https://issues.apache.org/jira/browse/ISIS-1073[ISIS-1073] - Action domain event for contributed actions should provide the contributee as an argument.
-* link:https://issues.apache.org/jira/browse/ISIS-1072[ISIS-1072] - When editing, if property validation vetoes the save, then not handled correctly.
-* link:https://issues.apache.org/jira/browse/ISIS-1069[ISIS-1069] - DomainChangeJdoAbstract's open action incorrectly annotated as being a bulk action.
-* link:https://issues.apache.org/jira/browse/ISIS-1065[ISIS-1065] - Auditing of editing of properties only audits one of the properties changed (the last one)
-* link:https://issues.apache.org/jira/browse/ISIS-1062[ISIS-1062] - Guice injector should create serializable proxies for the injected beans
-* link:https://issues.apache.org/jira/browse/ISIS-1057[ISIS-1057] - WebRequestCycleForIsis should use the configured SignIn page
-* link:https://issues.apache.org/jira/browse/ISIS-1004[ISIS-1004] - Infitinite recursion in updating() callback when call setter
-
-== Dependency upgrade
-
-* link:https://issues.apache.org/jira/browse/ISIS-1163[ISIS-1163] - Update Jetty (as used by our IsisWebServer launcher) to 9.x
-* link:https://issues.apache.org/jira/browse/ISIS-1140[ISIS-1140] - Now that JDK7 is eol, we should build using Java8; retain source and target compiler level set to 1.7.
-
-== Task
-
-* link:https://issues.apache.org/jira/browse/ISIS-1187[ISIS-1187] - Mothball the legacy (never documented) integration testing support
-* link:https://issues.apache.org/jira/browse/ISIS-1178[ISIS-1178] - Mothball the TCK tests, with a view to replacing them by new tests in the isisaddons isis-app-kitchensink
-* link:https://issues.apache.org/jira/browse/ISIS-1058[ISIS-1058] - Upgrade embedded Jetty to latest 8.x
-* link:https://issues.apache.org/jira/browse/ISIS-1052[ISIS-1052] - Isis 1.9.0 release tasks
-
-== Wish
-
-* link:https://issues.apache.org/jira/browse/ISIS-1060[ISIS-1060] - An exception is logged when the provided credentials are invalid
-
-
-
diff --git a/antora/components/relnotes/modules/ROOT/pages/2016/1.11.0/mignotes.adoc b/antora/components/relnotes/modules/ROOT/pages/2016/1.11.0/mignotes.adoc
deleted file mode 100644
index 086e5ef..0000000
--- a/antora/components/relnotes/modules/ROOT/pages/2016/1.11.0/mignotes.adoc
+++ /dev/null
@@ -1,92 +0,0 @@
-= From v1.10.0 to 1.11.0
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-Existing projects written against v1.10.0 should run against v1.11.0 with few if any changes.
-If you *do* encounter any difficulties then let us know via the link:https://isis.apache.org/versions/1.11.0/support.html[users mailing list], so we can support you and document issues here.
-
-
-
-== Swagger UI
-
-The new link:https://isis.apache.org/versions/1.11.0/guides/rgsvc/rgsvc.html#_rgsvc_metadata-api_SwaggerService[`SwaggerService`] allows link:http://swagger.io[Swagger] spec files to be generated from the Apache Isis metamodel.
-These can be downloaded directly through the `SwaggerResource` (mapped to `/restful/swagger/public` and `/restful/swagger/private`) as well as from the Wicket UI through the `SwaggerServiceMenu`.
-
-In addition, the link:https://isis.apache.org/versions/1.11.0/arch/simpleapp/about.html[SimpleApp archetype] now bundles link:https://github.com/swagger-api/swagger-ui[Swagger UI], which documents the main features of the REST API and allows it to be explored.
-
-To enable this in your application, first update the `web.xml`:
-
-[source,xml]
-----
-<servlet>
- <servlet-name>WebjarsServlet</servlet-name> <!--1-->
- <servlet-class>org.webjars.servlet.WebjarsServlet</servlet-class>
- <init-param>
- <param-name>disableCache</param-name>
- <param-value>false</param-value>
- </init-param>
- <load-on-startup>2</load-on-startup>
-</servlet>
-<servlet-mapping>
- <servlet-name>WebjarsServlet</servlet-name>
- <url-pattern>/webjars/*</url-pattern>
-</servlet-mapping>
-...
-<filter>
- <filter-name>IsisSessionFilterForRestfulObjects</filter-name>
- ...
- <init-param>
- <param-name>whenNoSession</param-name>
- <param-value>auto</param-value> <!--2-->
- </init-param>
- <init-param>
- <param-name>passThru</param-name> <!--3-->
- <param-value>/restful/swagger</param-value>
- </init-param>
-</filter>
-----
-<1> provides access to the Swagger UI (packaged as a webjar)
-<2> issues a 401 status, but with the `WWW-Authenticate` challenge suppressed if requested from the Swagger UI
-<3> provides access to the RESTful resource that generates the Swagger spec.
-
-There is also an HTML page to load the Swagger UI itself; this resides in `src/main/webapp/swagger-ui/index.html`.
-Copy the link:https://github.com/apache/isis/blob/master/example/application/simpleapp/webapp/src/main/webapp/swagger-ui/index.html[file from Apache Isis' repo], or from the app generated by the link:https://isis.apache.org/versions/1.11.0/arch/simpleapp/about.html[SimpleApp archetype].
-
-The text of the simple app's `about/index.html` has also changed (the `<li`> for the `/restful` URL has been replaced with a `/swagger-ui` URL).
-If you use link:https://github.com/apache/isis/blob/master/example/application/simpleapp/webapp/src/main/webapp/about/index.html[this file], then update it.
-
-If your application is bootstrapped using an `AppManifest` (recommended; link:https://isis.apache.org/versions/1.11.0/guides/rgcms/rgcms.html#_rgcms_classes_AppManifest-bootstrapping[here]) then the default implementation of the `SwaggerService` will automatically be discovered and registered.
-However, if you are still using the older `isis.properties` configuration file to explicitly register services then you will need to add in this service.
-
-
-
-== `RoutingService`
-
-The new link:https://isis.apache.org/versions/1.11.0/guides/rgsvc/rgsvc.html#_rgsvc_presentation-layer-spi_RoutingService[`RoutingService`] SPI service provides a plugin point to the link:https://isis.apache.org/versions/1.11.0/guides/ugvw/ugvw.html[Wicket viewer] so that a different object than that returned from an action invocation can be rendered.
-
-The framework provides a default implementation of this service that will - instead of a void or a `null` result - render the home page (as per the link:https://isis.apache.org/versions/1.11.0/guides/rgant/rgant.html#_rgant-HomePage[`@HomePage`] annotation) if there is one.
-This is therefore a subtle change in the UI.
-If you wish to retain the original behaviour (to return the "no results" page instead), then you should implement your own no-op implementation of this service:
-
-[source,java]
-----
-@DomainService
-@DomainServiceLayout(menuOrder="1")
-public class IdentityRoutingService implements RoutingService {
- public boolean canRoute(Object original) { return true; }
- public Object route(Object original) { return original; }
-}
-----
-
-
-== Wicket Viewer i18n
-
-The link:https://isis.apache.org/versions/1.11.0/guides/ugvw/html.adoc#[Wicket viewer] (its labels, buttons, messages etc) can now be internationalized using the link:https://isis.apache.org/versions/1.11.0/guides/rgsvc/rgsvc.html#_rgsvc_presentation-layer-spi_TranslationService[`TranslationService`].
-
-To enable this, new ``msgId``s and corresponding translations must be added to the `translations.po` file.
-Full details of these ``msgId``s can be found in link:https://isis.apache.org/versions/1.11.0/guides/ugbtb/ugbtb.html#__ugbtb_i18n_wicket-viewer[i18n] section of the "beyond the basics" guide.
-
-If no translations are available, then the fallback is to use the previous mechanism, ie Wicket's original resource bundles.
-This feature can therefore be considered as optional.
diff --git a/antora/components/relnotes/modules/ROOT/pages/2016/1.11.0/relnotes.adoc b/antora/components/relnotes/modules/ROOT/pages/2016/1.11.0/relnotes.adoc
deleted file mode 100644
index 9ed1c21..0000000
--- a/antora/components/relnotes/modules/ROOT/pages/2016/1.11.0/relnotes.adoc
+++ /dev/null
@@ -1,82 +0,0 @@
-= 1.11.0
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-The main focus for Apache Isis 1.11.0 is on the REST API and on view models using JAXB:
-
-* the link:https://isis.apache.org/versions/1.11.0/guides/ugvro/ugvro.html#[Restful Objects viewer] now supports simplified
-representations intended to make it easier to write custom Javascript (and other) clients that consume the REST API;
-these are obtained using the HTTP Accept header. There is also support for link:http://swagger.io[Swagger] spec files
-so that the REST API can be more easily explored and tested. +
-+
-In addition, the `x-ro-follow-links` capability for RO spec representations is now supported.
-
-* JAXB-annotated classes are now recognised as view models; these also enable the contents
-collections to be part of the view model's state (previously only view model properties were recognised). The new
-UrlEncodingService allows long URLs (for view models) to be converted into shorter URLs; this also allows the URL
-to optionally be encrypted.
-
-The release also includes improved control for domain events (these can now be suppressed if required) , and a new
-category of UI events (so that titles, icons and CSS classes can be provided by event bus subscribers).
-
-
-
-== New Feature
-
-* link:https://issues.apache.org/jira/browse/ISIS-1279[ISIS-1279] - AcceptHeaderService for application-defined content negotiation.
-* link:https://issues.apache.org/jira/browse/ISIS-1274[ISIS-1274] - ContentNegotiationService for simplified representations for custom RO clients
-* link:https://issues.apache.org/jira/browse/ISIS-1262[ISIS-1262] - Provide mixin to allow the JDO metadata to be downloaded for any Persistable.
-* link:https://issues.apache.org/jira/browse/ISIS-1258[ISIS-1258] - Extend the Isis maven plugin to be able to generate XSD schemas using the JaxbService
-* link:https://issues.apache.org/jira/browse/ISIS-1252[ISIS-1252] - New TitleUiEvent, IconUiEvent and CssClassUiEvent as a means to allow subscribers to provide a title for domain objects.
-* link:https://issues.apache.org/jira/browse/ISIS-1251[ISIS-1251] - UrlEncodingService as a plugin point for serializing mementos into a URL-friendly string.
-* link:https://issues.apache.org/jira/browse/ISIS-1250[ISIS-1250] - JaxbService to marshall DTOs to XML.
-* link:https://issues.apache.org/jira/browse/ISIS-1217[ISIS-1217] - Formatting text inside a text field
-* link:https://issues.apache.org/jira/browse/ISIS-666[ISIS-666] - Provide the ablity to return (and render) a different object when an action is invoked.
-
-
-== Improvement
-
-* link:https://issues.apache.org/jira/browse/ISIS-1275[ISIS-1275] - Configuration property for RO viewer to relax Accept header checking.
-* link:https://issues.apache.org/jira/browse/ISIS-1273[ISIS-1273] - Enhance RO viewer so that the default RO v1 representations are implemented as a ContentNegotiationService
-* link:https://issues.apache.org/jira/browse/ISIS-1269[ISIS-1269] - Deleting an object from a list can cause NPE when that list is re-rendered.
-* link:https://issues.apache.org/jira/browse/ISIS-1259[ISIS-1259] - For derived parameter names from nested inner classes, ignore the parent out class
-* link:https://issues.apache.org/jira/browse/ISIS-1257[ISIS-1257] - Allow @Title to be added as an annotation to fields.
-* link:https://issues.apache.org/jira/browse/ISIS-1255[ISIS-1255] - Provide configuration property so that domain events set to Xxx.Default are either ignored (like the Noop) or are posted anyway.
-* link:https://issues.apache.org/jira/browse/ISIS-1254[ISIS-1254] - Disable action/property/collection events if set to Noop domain events
-* link:https://issues.apache.org/jira/browse/ISIS-1249[ISIS-1249] - Annotate AbstractSubscriber with @DomainServiceLayout(menuOrder=...) so that this is picked up by default by all implementations.
-* link:https://issues.apache.org/jira/browse/ISIS-1246[ISIS-1246] - Better diagnostics on NPE
-* link:https://issues.apache.org/jira/browse/ISIS-1245[ISIS-1245] - During bootstrap, ensure that any @PersistenceCapable entities found on classpath also implement PersistenceCapable interface (ie that the DN enhancer has run).
-* link:https://issues.apache.org/jira/browse/ISIS-1241[ISIS-1241] - Providing better feedback when RegEx validation does not match pattern
-* link:https://issues.apache.org/jira/browse/ISIS-1237[ISIS-1237] - Integrate with swagger for REST APIs
-* link:https://issues.apache.org/jira/browse/ISIS-1232[ISIS-1232] - Enhance RO viewer to support section 34.4 of RO v1.0 spec (x-ro-follow-links)
-* link:https://issues.apache.org/jira/browse/ISIS-1220[ISIS-1220] - Methods annotated with @Subscribe should automatically be ignored (as per @Programmatic).
-* link:https://issues.apache.org/jira/browse/ISIS-1117[ISIS-1117] - Allow using "marker" view models
-* link:https://issues.apache.org/jira/browse/ISIS-1093[ISIS-1093] - Integrate Wicket's i18n requirements with Isis' TranslationPoService.
-* link:https://issues.apache.org/jira/browse/ISIS-1084[ISIS-1084] - Reduce PoReader messages in the log
-* link:https://issues.apache.org/jira/browse/ISIS-1070[ISIS-1070] - Add header and handle double quotes in translations.pot file
-* link:https://issues.apache.org/jira/browse/ISIS-803[ISIS-803] - Replace lifecycle methods with additional EventBus events.
-
-
-== Bug
-
-* link:https://issues.apache.org/jira/browse/ISIS-1283[ISIS-1283] - SAFE_AND_CACHEABLE semantics caches incorrectly, works for domain services (stateless) but not for domain entities (where stateful target determines result)
-* link:https://issues.apache.org/jira/browse/ISIS-1278[ISIS-1278] - Title of choices lnks in RO failing, called incorrectly.
-* link:https://issues.apache.org/jira/browse/ISIS-1253[ISIS-1253] - Default title for enums is not friendly name
-* link:https://issues.apache.org/jira/browse/ISIS-1244[ISIS-1244] - RO POST to "objects of type" resource should return a 201, not a 200.
-* link:https://issues.apache.org/jira/browse/ISIS-1242[ISIS-1242] - Breadcrumbs broken if change the title.... the drop-down never displays elements
-* link:https://issues.apache.org/jira/browse/ISIS-1227[ISIS-1227] - in edit mode, when there are validation errors, these are not showing up for the individual properties, instead for the object-level validation.
-* link:https://issues.apache.org/jira/browse/ISIS-1221[ISIS-1221] - JSON Format Layouts not recognized with i18n translations in Wicket Viewer
-* link:https://issues.apache.org/jira/browse/ISIS-1202[ISIS-1202] - Mandatory dropdown field doesn't show asterisk
-* link:https://issues.apache.org/jira/browse/ISIS-1193[ISIS-1193] - void actions return 404 Not Found when called through restful viewer
-* link:https://issues.apache.org/jira/browse/ISIS-1185[ISIS-1185] - [CAN'T REPRODUCE] 'Ok' and 'Cancel' buttons in edit mode are both appearing as 'Submit Query'
-* link:https://issues.apache.org/jira/browse/ISIS-1128[ISIS-1128] - 'namedEscaped' is broken when 'named' comes from a translation.po
-* link:https://issues.apache.org/jira/browse/ISIS-915[ISIS-915] - Framework should transparently allow view models to reference other view models.
-
-
-== Task
-
-* link:https://issues.apache.org/jira/browse/ISIS-1243[ISIS-1243] - Release activities for v1.11.0
-
-
diff --git a/antora/components/relnotes/modules/ROOT/pages/2016/1.11.1/relnotes.adoc b/antora/components/relnotes/modules/ROOT/pages/2016/1.11.1/relnotes.adoc
deleted file mode 100644
index 37bd93d..0000000
--- a/antora/components/relnotes/modules/ROOT/pages/2016/1.11.1/relnotes.adoc
+++ /dev/null
@@ -1,19 +0,0 @@
-= 1.11.1
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-Apache Isis 1.11.1 is a bug fix release for Apache Isis 1.11.0, re-releasing using Java 7.
-
-Apache Isis is intended to be compatible with both Java 7 and Java 8.
-However, it was found that v1.11.0 used a number of Java 8 APIs.
-This release fixes this issue.
-
-
-
-== Bug
-
-* link:https://issues.apache.org/jira/browse/ISIS-1276[ISIS-1276] - Release activities for v1.11.1
-
-
diff --git a/antora/components/relnotes/modules/ROOT/pages/2016/1.12.0/mignotes.adoc b/antora/components/relnotes/modules/ROOT/pages/2016/1.12.0/mignotes.adoc
deleted file mode 100644
index 4be0367..0000000
--- a/antora/components/relnotes/modules/ROOT/pages/2016/1.12.0/mignotes.adoc
+++ /dev/null
@@ -1,81 +0,0 @@
-= From v1.11.0 to 1.12.0
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-
-Existing projects written against v1.11.x should run against v1.12.0 with few if any changes.
-If you *do* encounter any difficulties then let us know via the link:https://isis.apache.org/versions/1.12.0/support.html#[users mailing list], so we can support you and document issues here.
-
-
-
-== Dynamic XML Layouts
-
-The major new feature in 1.12.0 is link:https://isis.apache.org/versions/1.12.0/guides/ugvw/ugvw.html#_ugvw_layout_file-based[dynamic XML layouts], providing much enhanced support for custom layouts.
-
-The new `Xxx.layout.xml` file is optional; without it domain objects will continue to be rendered as before, using metadata from annotations (link:https://isis.apache.org/versions/1.12.0/guides/rgant/rgant.html#_rgant-DomainObjectLayout[`@DomainObjectLayout`], link:https://isis.apache.org/versions/1.12.0/guides/rgant/rgant.html#_rgant-PropertyLayout[`@PropertyLayout`], link:https://isis.apache.org/versions/1.12.0/guides/rgant/rgant.html#_rgant-CollectionLayout[`@CollectionLayout`], link: [...]
-There is therefore no requirement to move to the new more flexible XML-based layout.
-
-If you do want to start using the new format, then you will find that 1.12.0 provides a mixin action (available in prototype mode only) called "download XML layout".
-This will allow you to download the current layout file for the object being rendered.
-This can then be saved alongside the class' Java source file.
-Once a `Xxx.layout.xml` file is present, any existing `Xxx.layout.json` file will be ignored; any annotations though will continue to be honoured.
-
-If you wish to migrate all your domain objects to use XML layouts, this can be done using the "download layouts (XML)" (on the "Prototyping" menu), as a single zip file.
-This can then be unzipped into the `src/main/java` directory.
-
-
-== Mixins
-
-(As mentioned above), 1.12.0 provides a number of new mixin actions and properties:
-
-* link:https://isis.apache.org/versions/1.12.0/guides/rgcms/rgcms.html#__rgcms_classes_mixins_Object_clearHints[clear hints] action
-
-* link:https://isis.apache.org/versions/1.12.0/guides/rgcms/rgcms.html#__rgcms_classes_mixins_Object_downloadLayoutXml[download Layout XML] action (prototype mode)
-
-* link:https://isis.apache.org/versions/1.12.0/guides/rgcms/rgcms.html#__rgcms_classes_mixins_Object_rebuildMetamodel[rebuild metamodel] action (prototype mode)
-
-* link:https://isis.apache.org/versions/1.12.0/guides/rgcms/rgcms.html#__rgcms_classes_mixins_Persistable_datanucleusXxx[id and version] properties (for domain entities only)
-
-These are in addition to the link:https://isis.apache.org/versions/1.12.0/guides/rgcms/rgcms.html#__rgcms_classes_mixins_Persistable_downloadJdoMetadata[download JDO metadata] mixin action (prototype mode) provided in earlier versions of the framework.
-
-The properties are grouped in a "metadata" fieldset, and the mixin actions associated with that fieldset.
-If the domain object is a view model rather than an entity (that is, has no id or version) then the actions will instead be rendered as top-level actions.
-
-Most of these mixin object members are visible only in prototype mode, though some are visible in production mode and so potentially visible to end-users.
-If you wish to suppress these members from the view, you can either use link:https://isis.apache.org/versions/1.12.0/guides/ugsec/ugsec.html#[security], or alternatively you can write subscribers to veto the visibility of these members by subscribing to their respective domain events.
-
-
-
-== JAXB view models are editable
-
-All link:https://isis.apache.org/versions/1.12.0/guides/rgant/rgant.html#_rgant-XmlRootElement[`@XmlRootElement`] view models are now implicitly editable.
-Therefore any view models that should be read-only should have editing attribute disabled using link:https://isis.apache.org/versions/1.12.0/guides/rgant/rgant.html#_rgant-DomainObject_editing[`@DomainObject#editing()`] (or use a subscriber to veto editability).
-
-
-== `DomainObjectContainer` domain service
-
-The link:https://isis.apache.org/versions/1.12.0/guides/rgsvc/rgsvc.html#_rgsvc_core-domain-api_DomainObjectContainer[`DomainObjectContainer`]domain service has been deprecated, with its methods moved to a new set of more fine-grained domain services, such as link:https://isis.apache.org/versions/1.12.0/guides/rgsvc/rgsvc.html#_rgsvc_persistence-layer-api_RepositoryService[`RepositoryService`] and
-link:https://isis.apache.org/versions/1.12.0/guides/rgsvc/rgsvc.html#_rgsvc_application-layer-api_MessageService[`MessageService`].
-
-The `DomainObjectContainer` service will continue to be supported until Apache Isis v2.0.0, but in the meantime, consider changing existing application code to use these new domain services.
-
-Please note that when migrating from _rgsvc_core-domain-api_DomainObjectContainer_object-persistence-api.adoc#_rgsvc_core-domain-api_DomainObjectContainer_object-persistence-api[`DomainObjectContainer#persist()`] to link:https://isis.apache.org/versions/1.12.0/../guides/rgsvc/rgsvc.html#_rgsvc_persistence-layer-api_RepositoryService[`RepositoryService#persist()`], no exception will be thrown if the Domain Object is already persisted, so the behavior of link:https://isis.apache.org/versio [...]
-
-
-
-== Removal of the `self-host` profile
-
-The `self-host` profile has been removed from the link:https://isis.apache.org/versions/1.12.0/arch/simpleapp/about.html[SimpleApp archetype].
-Instead, run the application using either the `org.apache.isis.WebServer` main class, or `mvn jetty:run`, or build the WAR and deploy to a servlet container such as Tomcat.
-
-
-
-
-== `isis.viewer.wicket.disableModalDialogs` removed
-
-The Apache Isis Wicket viewer uses a modal dialog for action parameters. Before this feature was implemented (prior to 1.4.0), action parameters were rendered on their own page. This property was provided to re-enable the old behaviour.
-
-The property has now been removed and this feature removed; actions parameters are always now always shown in a modal dialog.
-
diff --git a/antora/components/relnotes/modules/ROOT/pages/2016/1.12.0/relnotes.adoc b/antora/components/relnotes/modules/ROOT/pages/2016/1.12.0/relnotes.adoc
deleted file mode 100644
index e0fb8c6..0000000
--- a/antora/components/relnotes/modules/ROOT/pages/2016/1.12.0/relnotes.adoc
+++ /dev/null
@@ -1,97 +0,0 @@
-= 1.12.0
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-
-
-The main feature in 1.12.0 is much enhanced support for custom layouts, using an optional separate XML layout file `Xxx.layout.xml` (where `Xxx` is the class of the object being rendered). This is similar in concept to the earlier support we have had for custom layouts through a `.layout.json` file, but introduces the ability to position object members anywhere using bootstrap columns and rows. It also brings in
-support for tabgroups, and allows object members to be included in the page more than once (eg a table view and also a (non-ASF) link:https://platform.incode.org[Incode Platform^]`'s fullcalendar2 view).
-
-As a result of this change, the support for editing objects has been modified; rather than an 'edit' button which toggles the entire
-page into edit mode, instead each property is edited individually. The current implementation of this is using a prompt dialog (very
-similar to the action prompt dialogs; in a future release we hope to support "in-place" edits instead.
-
-Another notable change in this release include various new domain services.
-Some of these are in support of the file-based layouts functionality, others including new access into Apache Isis' metamodel.
-(Some of these new services were originally part of the (non-ASF) link:http://www.isisaddons.org[Isis Addons]).
-In addition, the link:https://isis.apache.org/versions/1.12.0/guides/rgsvc/rgsvc.html#_rgsvc_core-domain-api_DomainObjectContainer[`DomainObjectContainer`] service has been deprecated, replaced by a number of fine-grained services (such as link:https://isis.apache.org/versions/1.12.0/guides/rgsvc/rgsvc.html#_rgsvc_persistence-layer-api_RepositoryService[`RepositoryService`] and link:https://isis.apache.org/versions/1.12.0/guides/rgsvc/rgsvc.html#_rgsvc_application-layer-api_MessageServic [...]
-
-The release also includes a number of new mixins, to automatically surface in the UI an entity's id, version (if any), and to download the layout XML and rebuild the metamodel for a given domain entity.
-There is also a mixin to clear any UI hints (part of the file-based layouts functionality).
-In all cases these mixins can be hidden using either security or by writing a subscriber to veto the visibility of the corresponding domain event.
-
-
-
-
-
-== New Feature
-
-* link:https://issues.apache.org/jira/browse/ISIS-1351[ISIS-1351] - Extend link:https://isis.apache.org/versions/1.12.0/guides/rgsvc/rgsvc.html#_rgsvc_core-domain-api_ConfigurationService[`ConfigurationService`] to list all configuration properties in the UI
-* link:https://issues.apache.org/jira/browse/ISIS-1325[ISIS-1325] - New link:https://isis.apache.org/versions/1.12.0/guides/rgsvc/rgsvc.html#_rgsvc_application-layer-api_SessionManagementService[`SessionManagementService (removed in 2.0.0)`]
-* link:https://issues.apache.org/jira/browse/ISIS-1317[ISIS-1317] - Allow single domain object class to be invalidated through a mixin.
-* link:https://issues.apache.org/jira/browse/ISIS-1313[ISIS-1313] - Enhancement to link:https://isis.apache.org/versions/1.12.0/guides/rgmvn/rgmvn.html#_rgmvn_xsd[xsd] goal of the isis-maven-plugin to ignore/include the Isis common schemas.
-* link:https://issues.apache.org/jira/browse/ISIS-1292[ISIS-1292] - Extend link:https://isis.apache.org/versions/1.12.0/guides/rgsvc/rgsvc.html#_rgsvc_metadata-api_MetamodelService[`MetaModelService`] to surface packages, classes etc (as used by the security module).
-* link:https://issues.apache.org/jira/browse/ISIS-993[ISIS-993] - Show different object members on multiple tabs (link:https://isis.apache.org/versions/1.12.0/guides/ugvw/ugvw.html#_ugvw_layout_file-based[dynamic XML layouts])
-* link:https://issues.apache.org/jira/browse/ISIS-784[ISIS-784] - Change Wicket viewer to get rid of edit mode, instead allow individual fields to be edited by clicking on them (similar to the way that JIRA works).
-
-
-== Improvement
-
-* link:https://issues.apache.org/jira/browse/ISIS-1333[ISIS-1333] - Remove self-host profile from the archetype
-* link:https://issues.apache.org/jira/browse/ISIS-1332[ISIS-1332] - Factor out a link:https://isis.apache.org/versions/1.12.0/guides/rgsvc/rgsvc.html#_rgsvc_presentation-layer-spi_HintStore[`HintStore`] service, so that this is pluggable.
-* link:https://issues.apache.org/jira/browse/ISIS-1330[ISIS-1330] - Add CSS classes for table cells and for collections to make it easier to fine tune pages using CSS.
-* link:https://issues.apache.org/jira/browse/ISIS-1329[ISIS-1329] - Extend hint support for "show all"
-* link:https://issues.apache.org/jira/browse/ISIS-1327[ISIS-1327] - Change the view mode of the select2 (value drop down) to be a simple text field.
-* link:https://issues.apache.org/jira/browse/ISIS-1324[ISIS-1324] - Allow multiple different views of same collection in a layout (link:https://isis.apache.org/versions/1.12.0/guides/ugvw/ugvw.html#_ugvw_layout_file-based[dynamic XML layouts])
-* link:https://issues.apache.org/jira/browse/ISIS-1323[ISIS-1323] - Deprecate @CollectionLayout#renderType, since is duplicated by link:https://isis.apache.org/versions/1.12.0/guides/rgant/rgant.html#_rgant-CollectionLayout_defaultView[`@CollectionLayout#defaultView()`]
-* link:https://issues.apache.org/jira/browse/ISIS-1322[ISIS-1322] - Mixins not exposing the mixedin object in events (for subscribers to veto).
-* link:https://issues.apache.org/jira/browse/ISIS-1321[ISIS-1321] - Extend link:https://isis.apache.org/versions/1.12.0/guides/rgsvc/rgsvc.html#_rgsvc_metadata-api_MetamodelService[`MetaModelService`] to allow CSV of metamodel to be downloaded.
-* link:https://issues.apache.org/jira/browse/ISIS-1320[ISIS-1320] - Move link:https://isis.apache.org/versions/1.12.0/guides/rgsvc/rgsvc.html#_rgsvc_presentation-layer-spi_ContentMappingService[`ContentMappingService`] to applib (and simplify)
-* link:https://issues.apache.org/jira/browse/ISIS-1312[ISIS-1312] - Improve link:https://isis.apache.org/versions/1.12.0/guides/rgsvc/rgsvc.html#_rgsvc_integration-api_JaxbService[`JaxbServiceDefault#xsd(...)`] to correctly reference the Isis common schema imports.
-* link:https://issues.apache.org/jira/browse/ISIS-1300[ISIS-1300] - Allow the enablement of the WicketSource plugin to be configurable, and disabled by default
-* link:https://issues.apache.org/jira/browse/ISIS-1299[ISIS-1299] - link:https://isis.apache.org/versions/1.12.0/guides/rgant/rgant.html#_rgant-ViewModel[`@ViewModel`] and link:https://isis.apache.org/versions/1.12.0/guides/rgant/rgant.html#_rgant-XmlRootElement[`@XmlRootElement`] view models should automatically support isCloneable.
-* link:https://issues.apache.org/jira/browse/ISIS-1298[ISIS-1298] - Fix deprecated annotation use for ViewModel.Cloneable#clone
-* link:https://issues.apache.org/jira/browse/ISIS-1295[ISIS-1295] - Run integration tests using thread-local, to allow "complete" tests that also exercise, eg Quartz jobs.
-* link:https://issues.apache.org/jira/browse/ISIS-1240[ISIS-1240] - Derive icon from service when not provided
-* link:https://issues.apache.org/jira/browse/ISIS-1239[ISIS-1239] - For wicket ui, use a cookie or similar to remember the hint from last time (link:https://isis.apache.org/versions/1.12.0/guides/ugvw/ugvw.html#_ugvw_layout_file-based[dynamic XML layouts])
-* link:https://issues.apache.org/jira/browse/ISIS-1228[ISIS-1228] - Reorganizing/splitting out link:https://isis.apache.org/versions/1.12.0/guides/rgant/rgant.html#_rgant-DomainObjectContainer[`@DomainObjectContainer`] service.
-* link:https://issues.apache.org/jira/browse/ISIS-1048[ISIS-1048] - Make view model URLs more secure, eg through a private key (link:https://isis.apache.org/versions/1.12.0/guides/rgsvc/rgsvc.html#_rgsvc_presentation-layer-spi_UrlEncodingService[`UrlEncodingService`]).
-* link:https://issues.apache.org/jira/browse/ISIS-1037[ISIS-1037] - Support layout.xml as well as layout.json (link:https://isis.apache.org/versions/1.12.0/guides/ugvw/ugvw.html#_ugvw_layout_file-based[dynamic XML layouts])
-* link:https://issues.apache.org/jira/browse/ISIS-806[ISIS-806] - In Wicket viewer, shouldn't be possible to invoke an action if editing a form.
-
-
-== Bug
-
-* link:https://issues.apache.org/jira/browse/ISIS-1348[ISIS-1348] - Bug with `SoapEndpointPublishingRule` when multiple endpoints.
-* link:https://issues.apache.org/jira/browse/ISIS-1347[ISIS-1347] - Missing annotation in SimpleObject
-* link:https://issues.apache.org/jira/browse/ISIS-1346[ISIS-1346] - ActionInvocationContext isn't populated properly
-* link:https://issues.apache.org/jira/browse/ISIS-1342[ISIS-1342] - The metamodel validation error page doesn't reliably render itself if there are errors.
-* link:https://issues.apache.org/jira/browse/ISIS-1341[ISIS-1341] - Restful Objects viewer should perform a flush transaction before generating representations.
-* link:https://issues.apache.org/jira/browse/ISIS-1340[ISIS-1340] - Rebuild metamodel mixin action isn't working reliably
-* link:https://issues.apache.org/jira/browse/ISIS-1328[ISIS-1328] - Bookmark hints are not being honoured
-* link:https://issues.apache.org/jira/browse/ISIS-1319[ISIS-1319] - Input dialog for action label for mandatory parameter not shown when the parameter is an view model
-* link:https://issues.apache.org/jira/browse/ISIS-1318[ISIS-1318] - contributed actions/mixins breaks publishing; also flush any pending actions to be published as the result of doing a wrapped action via the link:https://isis.apache.org/versions/1.12.0/guides/rgsvc/rgsvc.html#_rgsvc_application-layer-api_WrapperFactory[`WrapperFactory`]
-* link:https://issues.apache.org/jira/browse/ISIS-1315[ISIS-1315] - Can't generate link:https://isis.apache.org/versions/1.12.0/guides/rgmvn/rgmvn.html#_rgmvn_swagger[swagger] specs, where actions are contributed.
-* link:https://issues.apache.org/jira/browse/ISIS-1314[ISIS-1314] - Filename parameter label missing for DTO mixins
-* link:https://issues.apache.org/jira/browse/ISIS-1311[ISIS-1311] - Mixins for Persistable metadata causes exception when rendering.
-* link:https://issues.apache.org/jira/browse/ISIS-1310[ISIS-1310] - DomainObjectContainer#titleOf(..) does not resolve @Title annotated on private field
-* link:https://issues.apache.org/jira/browse/ISIS-1309[ISIS-1309] - Disabled no-arg "are you sure" actions still show the prompt to be shown..
-* link:https://issues.apache.org/jira/browse/ISIS-1305[ISIS-1305] - For collections contributed from mixins, the name is empty (presumably null or "")
-* link:https://issues.apache.org/jira/browse/ISIS-1304[ISIS-1304] - Table column with icon and title is not left aligned
-* link:https://issues.apache.org/jira/browse/ISIS-1125[ISIS-1125] - Spurious WARN messages for translation messages of contributed actions
-* link:https://issues.apache.org/jira/browse/ISIS-1075[ISIS-1075] - RO viewer's version resource always returns a 420 (method failure)
-* link:https://issues.apache.org/jira/browse/ISIS-1063[ISIS-1063] - View models with mandatory enum properties are not initialized correctly.
-* link:https://issues.apache.org/jira/browse/ISIS-906[ISIS-906] - incorrectly attempts to render a veto exception (from a subscriber) to a non-existent action dialog panel when invoked for a no-arg action.
-* link:https://issues.apache.org/jira/browse/ISIS-687[ISIS-687] - @AutoComplete annotation on repository does not seem to honour @MinLength
-
-
-== Dependency upgrade
-
-* link:https://issues.apache.org/jira/browse/ISIS-1288[ISIS-1288] - Update (minor) dependencies
-
-
-== Task
-
-* link:https://issues.apache.org/jira/browse/ISIS-1287[ISIS-1287] - Release activities for v1.12.0
diff --git a/antora/components/relnotes/modules/ROOT/pages/2016/1.12.1/relnotes.adoc b/antora/components/relnotes/modules/ROOT/pages/2016/1.12.1/relnotes.adoc
deleted file mode 100644
index 1a09a90..0000000
--- a/antora/components/relnotes/modules/ROOT/pages/2016/1.12.1/relnotes.adoc
+++ /dev/null
@@ -1,23 +0,0 @@
-= 1.12.1
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-Apache Isis 1.12.1 is a bug fix release for Apache Isis 1.12.0. The primary issue it addresses are spurious concurrency exceptions that can be thrown when editing an object. It also addresses a subtle issue where the new support in JAXB view models for auto-edit can cause some dirty objects not to be updated.
-
-
-
-== Bug
-
-* link:https://issues.apache.org/jira/browse/ISIS-1355[ISIS-1355] - concurrency exception after property edit when attempting to render...
-* link:https://issues.apache.org/jira/browse/ISIS-1357[ISIS-1357] - Update dependency from guava-19.0.20150826 to guava-19.0
-* link:https://issues.apache.org/jira/browse/ISIS-1361[ISIS-1361] - View model that changes two domain objects only has one of them updated.
-* link:https://issues.apache.org/jira/browse/ISIS-1363[ISIS-1363] - ConfigurationServiceMenu is defined under the prototyping menu, but is not restricted to prototyping. Suggest place under the tertiary menu instead.
-
-
-== Task
-
-* link:https://issues.apache.org/jira/browse/ISIS-1362[ISIS-1362] - Release activities for v1.12.1
-
-
diff --git a/antora/components/relnotes/modules/ROOT/pages/2016/1.12.2/relnotes.adoc b/antora/components/relnotes/modules/ROOT/pages/2016/1.12.2/relnotes.adoc
deleted file mode 100644
index 8528440..0000000
--- a/antora/components/relnotes/modules/ROOT/pages/2016/1.12.2/relnotes.adoc
+++ /dev/null
@@ -1,21 +0,0 @@
-= 1.12.2
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-Apache Isis 1.12.2 is a bug fix release for Apache Isis 1.12.0.
-It addresses two UI issues which result in the viewer showing invalid data with respect to the data actually stored in the database.
-
-
-
-== Bug
-
-* link:https://issues.apache.org/jira/browse/ISIS-1396[ISIS-1396] - Some elements on an entity page can be rendered against stale data.
-* link:https://issues.apache.org/jira/browse/ISIS-1132[ISIS-1132] - possible timezone issues when refresh page in Wicket viewer.
-
-
-== Task
-
-* link:https://issues.apache.org/jira/browse/ISIS-1424[ISIS-1424] - Release activities for v1.12.2
-
diff --git a/antora/components/relnotes/modules/ROOT/pages/2016/1.13.0/mignotes.adoc b/antora/components/relnotes/modules/ROOT/pages/2016/1.13.0/mignotes.adoc
deleted file mode 100644
index abef8d6..0000000
--- a/antora/components/relnotes/modules/ROOT/pages/2016/1.13.0/mignotes.adoc
+++ /dev/null
@@ -1,231 +0,0 @@
-= From v1.12.x to 1.13.0
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-
-Most applications written against v1.12.x should run against v1.13.0 with few if any changes.
-That said, this release has removed a small number of features that were dependent on internal APIs, and some configuration properties are
-now removed/unsupported.
-We therefore do recommend that you read and keep in mind these notes when you upgrade your app.
-
-If you *do* encounter any difficulties then let us know via the link:https://isis.apache.org/versions/1.13.0/support.html#[users mailing list], so we can
-support you and document issues here.
-
-
-== Command changes
-
-The main feature in `1.13.0` is the link:https://isis.apache.org/versions/1.13.0/guides/rgsvc/rgsvc.html#_rgsvc_application-layer-api_InteractionContext[`InteractionContext`] domain service to represent an action invocation/property edit, with the re-positioning of link:https://isis.apache.org/versions/1.13.0/guides/rgsvc/rgsvc.html#_rgsvc_application-layer-api_CommandContext[`CommandContext`] to represent the _intention_ to invoke an action/edit a property.
-You can read more about this design in the reference guide on domain services, in the link:https://isis.apache.org/versions/1.13.0/guides/rgsvc/rgsvc.html#__rgsvc_intro_commands-and-events[commands and events] section.
-
-This refactoring completely overhauls the structure of the XML mementos passed to link:https://isis.apache.org/versions/1.13.0/guides/rgsvc/rgsvc.html#_rgsvc_application-layer-spi_CommandService[`CommandService`] (to persist) and to link:https://isis.apache.org/versions/1.13.0/guides/rgsvc/rgsvc.html#_rgsvc_application-layer-spi_BackgroundCommandService[`BackgroundCommandService`] (to invoke persisted commands in the background).
-If you are using these services then ensure that there are no pending commands at the point at which you cut-over.
-If you have any code that makes assumptions on the format of the XML, it will also need to be rewritten.
-Note that the XML which is persisted henceforth is well-defined and any future changes to it will be backward compatible; see link:https://isis.apache.org/versions/1.13.0/guides/rgcms/rgcms.html#_rgcms_schema[schema reference guide].
-In fact, there are three schema: for commands (`cmd.xsd`), inteactions (`ixn.xsd`) and for changes (`chg.xsd`).
-These replace the earlier `aim.xsd` schema (which was an amalgam of `cmd.xsd` and `ixn.xsd`).
-
-The reworked `CommandService` now properly supports property edits in the exact same way as action invocations.
-
-As a side-effect of this work, note also that:
-
-* the `CommandService#startTransaction(...)` SPI is *NO LONGER CALLED* by the framework.
-* the `BackgroundService#asActionInvocationMemento(...)` (not formally part of the API) is also no longer called by the framework; moreover the default implementation now throws an exception to this effect.
-
-
-== Auditing
-
-The link:https://isis.apache.org/versions/1.13.0/guides/rgsvc/rgsvc.html#_rgsvc_persistence-layer-spi_AuditingService[`AuditingService`] SPI service has been deprecated, instead replaced by the link:https://isis.apache.org/versions/1.13.0/guides/rgsvc/rgsvc.html#_rgsvc_persistence-layer-spi_AuditerService[`AuditerService`].
-
-There can be more than one implementation of this new SPI, and a framework-provided implementation (`AuditerServiceLogging`) will log to a file.
-The (non-ASF) link:https://platform.incode.org[Incode Platform^]'s audit module also implements the new SPI.
-
-
-== Publishing
-
-The link:https://isis.apache.org/versions/1.13.0/guides/rgsvc/rgsvc.html#_rgsvc_persistence-layer-spi_PublishingService[`PublishingService`] SPI service and its supporting link:https://isis.apache.org/versions/1.13.0/guides/rgsvc/rgsvc.html#_rgsvc_persistence-layer-spi_EventSerializer[`EventSerializer`] domain service, have both deprecated, instead replaced by the link:https://isis.apache.org/versions/1.13.0/guides/rgsvc/rgsvc.html#_rgsvc_persistence-layer-spi_PublisherService[`Publisher [...]
-
-There can be more than one implementation of this new SPI, and a framework-provided implementation (`PublisherServiceLogging`) will log to a file.
-The (non-ASF) link:https://platform.incode.org[Incode Platform^]'s publishmq module also implements the new SPI.
-
-The new service also supports the notion of published property edits; the new link:https://isis.apache.org/versions/1.13.0/guides/rgant/rgant.html#_rgant-Property_publishing[`@Property#publishing()`] annotation attribute can be used to specify.
-The ` isis.services.publish.properties` configuration property can be used to specify a fallback default for properties where the attribute is not set explicitly.
-
-Conversely, neither the link:https://isis.apache.org/versions/1.13.0/guides/rgant/rgant.html#_rgant-Action_publishingPayloadFactory[`@Action#publishingPayloadFactory()`] nor the link:https://isis.apache.org/versions/1.13.0/guides/rgant/rgant.html#_rgant-DomainObject_publishingPayloadFactory[`@DomainObject#publishingPayloadFactory()`] are supported by `PublisherService`; instead the consumers of the events are expected to callback for any additional information, eg using link:https://isis [...]
-
-
-== Auto-logout
-
-The new configuration property `isis.authentication.shiro.autoLogoutIfAlreadyAuthenticated` (documented more fully in the link:https://isis.apache.org/versions/1.13.0/guides/ugsec/ugsec.html#_ugsec_configuring-isis-to-use-shiro[security guide]) is by default set to false, thereby disabling auto-logout behaviour that is believed to be the root cause of some exceptions thrown by the link:https://isis.apache.org/versions/1.13.0/guides/ugvro/ugvro.html#[Restful Objects viewer] during a race [...]
-The *previous behaviour can be re-enabled* by setting to `true`.
-
-
-== Safe 'rememberMe' cookies
-
-Apache Isis leverages link:http://wicket.apache.org[Apache Wicket]'s rememberMe support which holds remembered user/passwords in an encrypted cookie.
-
-If a hard-coded and publicly known value were to be used (as was the case prior to `1.13.0`), then it would be possible for rememberMe user/password to be intercepted and decrypted, possibly compromising access.
-The `isis.viewer.wicket.rememberMe.encryptionKey` configuration property therefore allows a private key to be specified, baked into the application.
-
-If no value is set then (for safety) a random UUID will be used as the encryption key.
-(The net effect of this fallback behaviour is that 'rememberMe' will work, but only until the webapp is restarted (after which the end-user will have to log in again).
-
-Related, the `isis.viewer.wicket.suppressRememberMe` configuration property has been replaced by `isis.viewer.wicket.rememberMe.suppress` (though the old configuration property is still supported).
-
-
-== Custom programming models
-
-In previous releases the `isis.reflector.facets` configuration property could be used to specify a new implementation
-of the (internal) `ProgrammingModel` API. This configuration property is no longer supported. See the
-link:https://isis.apache.org/versions/1.13.0/guides/ugbtb/ugbtb.html#_ugbtb_programming-model_finetuning[beyond the basics] guide for an alternative broadly equivalent
-approach.
-
-
-
-== injectXxx() no longer supported
-
-Apache Isis automatically injects domain services into other domain objects, supporting the
-link:https://isis.apache.org/versions/1.13.0/guides/rgant/rgant.html#_rgant-Inject[`@Inject`] annotation, also injection to `set...()` setter methods and finally injection
-into `inject...()` methods. This last method is now no longer supported by default. It can be re-enabled if necessary
-using the `isis.services.injector.injectPrefix` configuration property.
-
-It is also possible to disable injection to `set...()` methods (using the `isis.services.injector.setPrefix`
-configuration property), though this is enabled by default.
-
-Disabling auto-wiring has a positive impact on bootstrap times, as well as standarding Apache Isis' conventions to be
-more in line with JEE.
-
-
-== Optionally ignore deprecated facets
-
-The `isis.reflector.facets.ignoreDeprecated` configuration property indicates whether to continue to honour or to simply
-ignore any deprecated annotations and other semantics that make up the programming model.
-
-This is disabled by default, in other words deprecated facets continue to be recognized. Be aware that enabling this
-setting could substantially alter the semantics of your application. To be safe, we recommend that you first run the
-application using `isis.reflector.validator.allowDeprecated` set to `false`; if any deprecated annotations etc. are
-in use, then the app will fail-fast and refuse to start.
-
-
-== ApplicationFeatureRepository
-
-The `isis.services.applicationFeatures.init` configuration property is used to control whether the
-link:https://isis.apache.org/versions/1.13.0/guides/rgsvc/rgsvc.html#_rgsvc_metadata-api_ApplicationFeatureRepository[`ApplicationFeatureRepository`] domain service lazily or
-eagerly initializes itself based on the framework's internal metamodel.
-
-Previously this service eagerly initialized itself, causing the framework to have to traverse the domain object
-model graph for all types, noticeably increasing the bootstrap time. For `1.13.0` this service now initializes itself
-lazily. The previous behaviour (of eager initialization) can be re-enabled by setting this property to `eager`.
-
-
-
-== Integration testing
-
-There are two sets of changes relating to integration tests.
-
-=== Builder
-
-The `IsisSystemForTest.Builder` class is used to bootstrap integration tests.
-
-A number of the clauses within this class have been removed:
-
-* `with(PersistenceMechanismInstaller persistenceMechanismInstaller)` +
-+
-Apache Isis has for many releases only supported a single implementation of persistence mechanism (JDO/DataNucleus),
-so this builder method is redundant.
-
-* `with(ProgrammingModel programmingModel)` +
-+
-Instead, use `AppManifest#getConfiguration()` to link:https://isis.apache.org/versions/1.13.0/guides/ugbtb/ugbtb.html#_ugbtb_programming-model_finetuning[include/exclude facets]
-
-* `with(MetaModelValidator metaModelValidator)` +
-+
-Instead, use `AppManifest#getConfiguration()` to specify a link:https://isis.apache.org/versions/1.13.0/guides/ugbtb/ugbtb.html#_ugbtb_programming-model_custom-validator[custom validator].
-
-* `withServicesIn(String... packagePrefixes)` and `withServices(Object... services)` +
-+
-Instead, use `AppManifest#getAdditionalServices()`
-
-* `withFixtures(InstallableFixture... fixtures)` +
-+
-Instead, use `AppManifest#getFixtures()`
-
-
-=== Centralizing configuration
-
-Previously when bootstrapping the integration tests, the `IsisConfigurationForJdoIntegTests` was provided as a custom
-implementation of `IsisConfiguration`, providing a number of configuration settings specifically for running
-integration tests (eg run using an in-memory database). This design split the responsiblity of providing the
-configuration properties between that class and `AppManifest`.
-
-A new `AppManifest.Util` helper class now allows these responsibilities to belong exlusively to the `AppManifest`.
-For example:
-
-[source,java]
-----
-public class DomainAppSystemInitializer {
- public static void initIsft() {
- IsisSystemForTest isft = IsisSystemForTest.getElseNull();
- if(isft == null) {
- isft = new IsisSystemForTest.Builder()
- .withLoggingAt(org.apache.log4j.Level.INFO)
- .with(new DomainAppAppManifest() {
- @Override
- public Map<String, String> getConfigurationProperties() {
- final Map<String, String> map = Maps.newHashMap();
- Util.withJavaxJdoRunInMemoryProperties(map);
- Util.withDataNucleusProperties(map);
- Util.withIsisIntegTestProperties(map);
- return map;
- }
- })
- .build();
- isft.setUpSystem();
- IsisSystemForTest.set(isft);
- }
- }
-}
-----
-
-
-== web.xml
-
-In the xref:userguide:btb:web-xml.adoc[web.xml], the "isis.viewers" context-param is now ignored.
-Instead the `viewer_wicket.properties` and `viewer_restfulobjects.properties` will both be loaded if present (but neither need be present).
-
-
-
-== `HasTransactionId` mixin
-
-The link:https://isis.apache.org/versions/1.13.0/guides/rgcms/rgcms.html#_rgcms_classes_mixins_HasTransactionId[`HasTransactionId`] mixin interface has subtly changed its meaning (and is now somewhat mis-named). Prior to `1.13.0`, this identifier was the GUID of the Isis transaction in which the object was created. As of `1.13.0`, this identifier actually is for the request/interaction (as per the new link:https://isis.apache.org/versions/1.13.0/guides/rgsvc/rgsvc.html#_rgsvc_applicati [...]
-
-
-
-== Notable new features
-
-The following are new features so do not impact in themselves impact any migration effort, but you may wish to start taking advantage of once you have upgraded.
-
-* `@Nullable` annotation
-+
-The link:https://isis.apache.org/versions/1.13.0/guides/rgant/rgant.html#_rgant-Nullable[`@Nullable`] annotation can now be used to specify the optionality of properties and parameters.
-
-* `ActionDomainEvent` for mixins
-+
-Previously it was not possible to discover the mixed-in domain object when an `ActionDomainEvent` was raised by a mixin action.
-This is now possible, through the link:https://isis.apache.org/versions/1.13.0/guides/rgcms/rgcms.html#_rgcms_classes_domainevent_ActionDomainEvent[`mixedIn()`] method.
-
-* `Blob` and `Clob` file types
-+
-The link:https://isis.apache.org/versions/1.13.0/guides/rgant/rgant.html#_rgant-Property_fileAccept[`@Property#fileAccept()`] and link:https://isis.apache.org/versions/1.13.0/guides/rgant/rgant.html#_rgant-Parameter-fileAccept[`@Parameter#fileAccept()`] annotation attributes can be used to hint at the file type to upload for a blob or clob.
-
-* Live reloading
-+
-The `isis.viewer.wicket.liveReloadUrl` configuration property allows live reloading of objects if the layout is updated, reducing feedback times.
-Further guidance on setting this up can be found link:https://isis.apache.org/versions/1.13.0/guides/dg/dg.html#__dg_ide_intellij_advanced_gradle-liveReload[here].
-
-* Docker support
-+
-The `overrides.properties` configuration file, if present, is loaded last as the configuration property file, with its contents overriding any previously defined configuration properties.
-This simple idea makes it easy to create Docker container images; see link:https://isis.apache.org/versions/1.13.0/guides/ugbtb/ugbtb.html#_ugbtb_deployment_docker[here] for further discussion.
-
diff --git a/antora/components/relnotes/modules/ROOT/pages/2016/1.13.0/relnotes.adoc b/antora/components/relnotes/modules/ROOT/pages/2016/1.13.0/relnotes.adoc
deleted file mode 100644
index c6416a9..0000000
--- a/antora/components/relnotes/modules/ROOT/pages/2016/1.13.0/relnotes.adoc
+++ /dev/null
@@ -1,151 +0,0 @@
-= 1.13.0
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-Apache Isis 1.13.0 improves and formalizes the support for commands and auditing, and introduces the new concept of an
-interaction. A command now represents the _intention_ to interact with the application, either to invoke an action or
-to edit a property. This is captured as a JAXB DTO. An interaction on the other hand captures the fact that a
-command has been performed. Interactions are also captured as DTOs. Interactions can include sub-interactions,
-representing the fact that an action can invoke another action by way of the
-link:https://isis.apache.org/versions/1.13.0/guides/rgsvc/rgsvc.html#_rgsvc_application-layer-api_WrapperFactory[`WrapperFactory`].
-
-The existing link:https://isis.apache.org/versions/1.13.0/guides/rgsvc/rgsvc.html#_rgsvc_persistence-layer-spi_AuditingService[`AuditingService`] and
-link:https://isis.apache.org/versions/1.13.0/guides/rgsvc/rgsvc.html#_rgsvc_persistence-layer-spi_PublishingService[`PublishingService`] SPI services have both been deprecated, instead
-replaced by link:https://isis.apache.org/versions/1.13.0/guides/rgsvc/rgsvc.html#_rgsvc_persistence-layer-spi_AuditerService[`AuditerService`] and
-link:https://isis.apache.org/versions/1.13.0/guides/rgsvc/rgsvc.html#_rgsvc_persistence-layer-spi_PublisherService[`PublisherService`]. It is now possible to have multiple implementations
-of each.
-
-The (non-ASF) link:https://platform.incode.org[Incode Platform^]'s auditing module has been reworked to
-implement link:https://isis.apache.org/versions/1.13.0/guides/rgsvc/rgsvc.html#_rgsvc_spi_AuditService[`AuditService`], while the new (non-ASF) link:https://platform.incode.org[Incode Platform^]'s publishmq module implements
-link:https://isis.apache.org/versions/1.13.0/guides/rgsvc/rgsvc.html#_rgsvc_persistence-layer-spi_PublisherService[`PublisherService`] to publish interaction events to an ActiveMQ bus (and
-to allow such events to be replayed if necessary).
-
-The release also includes a great deal of internal refactorings and simplifications.
-
-Most applications written against v1.12.x should run against v1.13.0 with few if any changes. That said, this release
-has removed a small number of features that were dependent on internal APIs, and some configuration properties are
-now removed/unsupported. We therefore do recommend that you read and keep in mind the link:https://isis.apache.org/versions/1.13.0/migration-notes/migration-notes.html#_migration-notes_1.12.0-to-1.13.0[migration notes] when you upgrade your app.
-
-
-
-
-
-== New Feature
-
-* link:https://issues.apache.org/jira/browse/ISIS-1446[ISIS-1446] - Extend the Wicket viewer client-side file-open-dialog to allow file extension to be specified.
-* link:https://issues.apache.org/jira/browse/ISIS-1433[ISIS-1433] - New configuration option to allow a minimum/maximum date to be specified for date pickers.
-* link:https://issues.apache.org/jira/browse/ISIS-1421[ISIS-1421] - Possible object deadlock when under load.
-* link:https://issues.apache.org/jira/browse/ISIS-1420[ISIS-1420] - To support dockerization, have any overrides.properties file take precedence over any other config properties
-* link:https://issues.apache.org/jira/browse/ISIS-1418[ISIS-1418] - Support @Nullable for parameters and properties
-* link:https://issues.apache.org/jira/browse/ISIS-1413[ISIS-1413] - Gradle script (and docs) in simpleapp archetype to auto-enhance and for file-based layouts, also liveReload
-* link:https://issues.apache.org/jira/browse/ISIS-1399[ISIS-1399] - MetricsService to capture within InteractionContext, for profiling.
-* link:https://issues.apache.org/jira/browse/ISIS-1390[ISIS-1390] - Provide a default CommandService, to return CommandDefault.
-* link:https://issues.apache.org/jira/browse/ISIS-1389[ISIS-1389] - New InteractionContext service and Interaction to handle the execution of commands.
-* link:https://issues.apache.org/jira/browse/ISIS-1385[ISIS-1385] - Improve DomainChangeJdoAbstract (superclass of commands, audits etc) so cannot "open" target object if a domain service.
-* link:https://issues.apache.org/jira/browse/ISIS-1384[ISIS-1384] - Extend MetaModelService to indicate what "sort of" object a given domain type represents.
-* link:https://issues.apache.org/jira/browse/ISIS-1381[ISIS-1381] - Extend ActionInvocationMementoDto (XSD) to apply to bulk actions (a list of targets and perhaps list of mixins).
-* link:https://issues.apache.org/jira/browse/ISIS-1380[ISIS-1380] - ActionInvocationMementoDTO to capture stacktrace, if any, when an action is invoked.
-* link:https://issues.apache.org/jira/browse/ISIS-1379[ISIS-1379] - ActionInvocationMementoDto (XSD) should hold subactions.
-* link:https://issues.apache.org/jira/browse/ISIS-1378[ISIS-1378] - ActionInvocationMementoDTO (XSD) returned object also indicates its type (same as parameters)
-* link:https://issues.apache.org/jira/browse/ISIS-1377[ISIS-1377] - ActionInvocationMementoDto (XSD) with majorVersion and minorVersion, so that each instance identifies the "logical" version of the schema with which it is compatible.
-* link:https://issues.apache.org/jira/browse/ISIS-1376[ISIS-1376] - ActionInvocationMementoDto (XSD) to capture end time of each action invocation.
-* link:https://issues.apache.org/jira/browse/ISIS-1375[ISIS-1375] - extend BackgroundCommandService to be able to invoke mixed-in actions.
-* link:https://issues.apache.org/jira/browse/ISIS-1374[ISIS-1374] - extend BackgroundCommandService to be able to invoke mixed-in actions.
-* link:https://issues.apache.org/jira/browse/ISIS-1373[ISIS-1373] - Have isis-core-applib depend upon isis-core-schema
-* link:https://issues.apache.org/jira/browse/ISIS-1372[ISIS-1372] - Change BackgroundCommandService to work with new Command DTO
-* link:https://issues.apache.org/jira/browse/ISIS-1370[ISIS-1370] - New PublisherService to simplify and replace PublishingService.
-* link:https://issues.apache.org/jira/browse/ISIS-1368[ISIS-1368] - The (new) PublisherService API should provide the ability to republish (action) commands.
-* link:https://issues.apache.org/jira/browse/ISIS-1291[ISIS-1291] - Define new DTO (XSD) as the memento for Command#setMemento
-* link:https://issues.apache.org/jira/browse/ISIS-855[ISIS-855] - Allow contributed actions to be renamed in the contributee
-* link:https://issues.apache.org/jira/browse/ISIS-542[ISIS-542] - Restrict which entities a service action is contributed to (as either a contributed action or contributed assocation).
-* link:https://issues.apache.org/jira/browse/ISIS-292[ISIS-292] - Remove Authenticator#isValid method; should not be defined as part of API.
-
-
-== Improvement
-
-* link:https://issues.apache.org/jira/browse/ISIS-1464[ISIS-1464] - DomainChangeJdoAbstract#openTarget should support looking up view models
-* link:https://issues.apache.org/jira/browse/ISIS-1462[ISIS-1462] - A new user has some trouble navigating to a single item in a collection using wicket ui
-* link:https://issues.apache.org/jira/browse/ISIS-1460[ISIS-1460] - Position edit link on top of string field.
-* link:https://issues.apache.org/jira/browse/ISIS-1459[ISIS-1459] - Add AppManifest.Util class to set up common configuration properties for running in-memory
-* link:https://issues.apache.org/jira/browse/ISIS-1457[ISIS-1457] - PoWriter shouldn't log on shutdown if there are metamodel validation exceptions
-* link:https://issues.apache.org/jira/browse/ISIS-1455[ISIS-1455] - Improve metamodel invalid exception handling
-* link:https://issues.apache.org/jira/browse/ISIS-1449[ISIS-1449] - Rename 'isis.viewer.wicket.suppressRememberMe' to 'isis.viewer.wicket.rememberMe.suppress'
-* link:https://issues.apache.org/jira/browse/ISIS-1448[ISIS-1448] - Reinstate component factory for collections, so that they can be easily substituted.
-* link:https://issues.apache.org/jira/browse/ISIS-1447[ISIS-1447] - Avoid possible race-condition resulting in 500 errors under the Restful Objects viewer
-* link:https://issues.apache.org/jira/browse/ISIS-1445[ISIS-1445] - Tab names (in XML layouts) should be translated via TranslationService
-* link:https://issues.apache.org/jira/browse/ISIS-1443[ISIS-1443] - Refactor specloader so that specs for domain services are marked as a service from the get-go
-* link:https://issues.apache.org/jira/browse/ISIS-1442[ISIS-1442] - Mark some applib classes as @Value in order to reduce size of the metamodel (don't mixin to these).
-* link:https://issues.apache.org/jira/browse/ISIS-1441[ISIS-1441] - Remove subclass of AuthenticationManagerStandard in isis-core-runtime.
-* link:https://issues.apache.org/jira/browse/ISIS-1438[ISIS-1438] - Set up JAXBContext for ChangesDtoUtils and the others in a background thread.
-* link:https://issues.apache.org/jira/browse/ISIS-1437[ISIS-1437] - Configure slow-running Wicket bootstrapping in separate background threads.
-* link:https://issues.apache.org/jira/browse/ISIS-1430[ISIS-1430] - Deprecate AuditingService3 and replace with AuditerService, with transactions identified by ...
-* link:https://issues.apache.org/jira/browse/ISIS-1429[ISIS-1429] - Remove unused code.
-* link:https://issues.apache.org/jira/browse/ISIS-1428[ISIS-1428] - Remove unnecessary 'synchronized' modifiers
-* link:https://issues.apache.org/jira/browse/ISIS-1427[ISIS-1427] - Simplify bootstrapping code
-* link:https://issues.apache.org/jira/browse/ISIS-1426[ISIS-1426] - Remove unused log4j appender classes
-* link:https://issues.apache.org/jira/browse/ISIS-1425[ISIS-1425] - Fix support for publishing of wrapper calling programmatically instantiated mixin.
-* link:https://issues.apache.org/jira/browse/ISIS-1419[ISIS-1419] - Simplify session management handling (IllegalStateException when integ tests complete).
-* link:https://issues.apache.org/jira/browse/ISIS-1417[ISIS-1417] - For faster start-ups, allow any deprecated facets to simply be ignored.
-* link:https://issues.apache.org/jira/browse/ISIS-1416[ISIS-1416] - To reduce application bootstrap times, allow set...() and inject...() style of dependency injection to be diabled.
-* link:https://issues.apache.org/jira/browse/ISIS-1415[ISIS-1415] - Reduce app startup times by lazily initializing the ApplicationFeatureRepository,
-* link:https://issues.apache.org/jira/browse/ISIS-1411[ISIS-1411] - Refactoring - simplify PersistenceSession.
-* link:https://issues.apache.org/jira/browse/ISIS-1410[ISIS-1410] - Minor performance improvements/refactorings (no functional change)
-* link:https://issues.apache.org/jira/browse/ISIS-1409[ISIS-1409] - Simplify RuntimeContext (internal bootstrapping)
-* link:https://issues.apache.org/jira/browse/ISIS-1408[ISIS-1408] - Simplify InstallerLookup and IsisComponentProvider (internal bootstrapping)
-* link:https://issues.apache.org/jira/browse/ISIS-1407[ISIS-1407] - Refactor SpecificationLoader into an internal domain service.
-* link:https://issues.apache.org/jira/browse/ISIS-1406[ISIS-1406] - Refactor IsisConfigurationDefault and the metamodel.ConfigurationService into an internal domain service
-* link:https://issues.apache.org/jira/browse/ISIS-1404[ISIS-1404] - Refactor AuthenticationSessionProvider as an internal domain service.
-* link:https://issues.apache.org/jira/browse/ISIS-1398[ISIS-1398] - Refactor PropertySetterFacet to follow the pattern for ActionInvocationFacet.
-* link:https://issues.apache.org/jira/browse/ISIS-1397[ISIS-1397] - Generalize ActionInvocationMemento to also capture property modifications. Rename to MemberInteractionMemento.
-* link:https://issues.apache.org/jira/browse/ISIS-1392[ISIS-1392] - Extend RepositoryService with persistAndFlush(...) and removeAndFlush(...) methods
-* link:https://issues.apache.org/jira/browse/ISIS-1387[ISIS-1387] - Ensure that generated bs3 layout XML files include a suitable namespace prefix.
-* link:https://issues.apache.org/jira/browse/ISIS-1386[ISIS-1386] - Ensure that generated aim, cmd or common memento XML include a suitable namespace prefix.
-* link:https://issues.apache.org/jira/browse/ISIS-1371[ISIS-1371] - ActionInvocationMementoDto (XSD) to capture the mixed-in object (if any).
-* link:https://issues.apache.org/jira/browse/ISIS-1369[ISIS-1369] - Add missing tests for AppFeature
-* link:https://issues.apache.org/jira/browse/ISIS-1367[ISIS-1367] - Extend MetaModelService to expose the nature of a domain service. Have DomainObjectContainer#isViewModel(...) delegate to it.
-* link:https://issues.apache.org/jira/browse/ISIS-1366[ISIS-1366] - Add svg image suffix support (PR #38)
-* link:https://issues.apache.org/jira/browse/ISIS-1365[ISIS-1365] - DomainObjectContainerDefault should delegate to RepositoryService (and others) where possible.
-* link:https://issues.apache.org/jira/browse/ISIS-1364[ISIS-1364] - Improve Asciidoc and Javadoc for migrating from DomainObjectContainer#persist() to RepositoryService#persist()
-* link:https://issues.apache.org/jira/browse/ISIS-1359[ISIS-1359] - Action annotated as autoCompleteAction cannot be annotated with @Programmatic. This should be possible.
-* link:https://issues.apache.org/jira/browse/ISIS-1356[ISIS-1356] - Install a BulkFacet even if @Action( invokeOn=OBJECTS_ONLY)
-* link:https://issues.apache.org/jira/browse/ISIS-1352[ISIS-1352] - collapse IsisSystemFactoryThatUsesInstallers up to IsisSystemFactory
-* link:https://issues.apache.org/jira/browse/ISIS-1344[ISIS-1344] - Remove the *Transaction facets
-* link:https://issues.apache.org/jira/browse/ISIS-1343[ISIS-1343] - Properly handle domain events from mixins, exposing the underlying "mixedIn" domain object.
-* link:https://issues.apache.org/jira/browse/ISIS-1338[ISIS-1338] - Extend ResourceServlet and simpleapp archetype for SVG image type.
-* link:https://issues.apache.org/jira/browse/ISIS-1256[ISIS-1256] - Shiro has a vulnerabilty for default rememberMe cookie. We should work around this somehow
-
-
-== Bug
-
-* link:https://issues.apache.org/jira/browse/ISIS-1461[ISIS-1461] - More reliable fix to concurrency exception
-* link:https://issues.apache.org/jira/browse/ISIS-1458[ISIS-1458] - Possible incomplete auditing for "non-trivial" updates
-* link:https://issues.apache.org/jira/browse/ISIS-1454[ISIS-1454] - Hints for drop-downs in Wicket viewer not honoured.
-* link:https://issues.apache.org/jira/browse/ISIS-1453[ISIS-1453] - SessionManagementService#nextSession broken
-* link:https://issues.apache.org/jira/browse/ISIS-1452[ISIS-1452] - Throwing an exception (for snapshots) does not abort the transaction.
-* link:https://issues.apache.org/jira/browse/ISIS-1444[ISIS-1444] - Mark applib FixtureScript.Execution methods as @Programmatic to avoid being added to the metamodel
-* link:https://issues.apache.org/jira/browse/ISIS-1436[ISIS-1436] - When executing a bulk action on a paginated collection items, chosen items can be ignored unintentionally
-* link:https://issues.apache.org/jira/browse/ISIS-1435[ISIS-1435] - Infitinite recursion in updating() callback if it modifies the object
-* link:https://issues.apache.org/jira/browse/ISIS-1434[ISIS-1434] - Cookie not cleared after logout, Shiro session remains active
-* link:https://issues.apache.org/jira/browse/ISIS-1432[ISIS-1432] - When there is no default for a date parameter, the system is defaulting to the current date, whereas it should be null.
-* link:https://issues.apache.org/jira/browse/ISIS-1423[ISIS-1423] - TranslationServicePo does not guard against null keys.
-* link:https://issues.apache.org/jira/browse/ISIS-1422[ISIS-1422] - Autocomplete publishes events to the event bus.
-* link:https://issues.apache.org/jira/browse/ISIS-1414[ISIS-1414] - nextTransaction can cause null pointers with the new MetricsService.
-* link:https://issues.apache.org/jira/browse/ISIS-1412[ISIS-1412] - Actions annotated with SemanticsOf.IDEMPOTENT_ARE_YOU_SURE throw a NullPointerException when invoked through the REST API
-* link:https://issues.apache.org/jira/browse/ISIS-1405[ISIS-1405] - Refactor DeploymentCategoryProvider into an internal domain service.
-* link:https://issues.apache.org/jira/browse/ISIS-1402[ISIS-1402] - Remove the Debuggable interface.
-* link:https://issues.apache.org/jira/browse/ISIS-1401[ISIS-1401] - NPE when wrapping call to FixtureScripts#runFixtureScript for a newly instantiated FixtureScript
-* link:https://issues.apache.org/jira/browse/ISIS-1400[ISIS-1400] - bulk-only actions are shown on object forms
-* link:https://issues.apache.org/jira/browse/ISIS-1393[ISIS-1393] - Maven swagger goal failed: No Session opened for this thread
-* link:https://issues.apache.org/jira/browse/ISIS-1383[ISIS-1383] - Missing component factory class names in Wicket HTML
-* link:https://issues.apache.org/jira/browse/ISIS-1382[ISIS-1382] - Cancel buttons disappeared on modal dialogs
-* link:https://issues.apache.org/jira/browse/ISIS-1358[ISIS-1358] - Simpleapp created from archetype and packaged to war fails when deploying to Tomcat
-* link:https://issues.apache.org/jira/browse/ISIS-1336[ISIS-1336] - config param typo... titleEvent should be titleUiEvent.
-
-
-== Task
-
-* link:https://issues.apache.org/jira/browse/ISIS-1335[ISIS-1335] - Release activities for v1.13.0
-
-
diff --git a/antora/components/relnotes/modules/ROOT/pages/2016/1.13.1/relnotes.adoc b/antora/components/relnotes/modules/ROOT/pages/2016/1.13.1/relnotes.adoc
deleted file mode 100644
index 4e263b7..0000000
--- a/antora/components/relnotes/modules/ROOT/pages/2016/1.13.1/relnotes.adoc
+++ /dev/null
@@ -1,56 +0,0 @@
-= 1.13.1
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-This is a maintenance release with a number of minor improvements and bug fixes.
-It also provides better support for docker, by allowing configuration properties to be overridden using either system properties or an ISIS_OPT environment variable.
-
-
-
-== New Feature
-
-* link:https://issues.apache.org/jira/browse/ISIS-1510[ISIS-1510] - Improve support for docker containers by allowing isis configuration properties to be overridden using either system properties or an ISIS_OPT environment variable
-
-
-== Improvement
-
-* link:https://issues.apache.org/jira/browse/ISIS-1527[ISIS-1527] - Make overlays consistent for editable properties, with general fix for Firefox
-* link:https://issues.apache.org/jira/browse/ISIS-1522[ISIS-1522] - Remove unused field declarations
-* link:https://issues.apache.org/jira/browse/ISIS-1519[ISIS-1519] - Deprecate JdoColumnLength in applib, instead define types
-* link:https://issues.apache.org/jira/browse/ISIS-1518[ISIS-1518] - Hide and replace certain UI fragments
-* link:https://issues.apache.org/jira/browse/ISIS-1514[ISIS-1514] - Hide the calendar hint on the date time (users tend to click on it)
-* link:https://issues.apache.org/jira/browse/ISIS-1508[ISIS-1508] - The integration test framework should be more resilient to badly behaved tests that leave the transaction incomplete
-* link:https://issues.apache.org/jira/browse/ISIS-1507[ISIS-1507] - QueryResultsCache should be disabled while fixture scripts are running.
-* link:https://issues.apache.org/jira/browse/ISIS-1505[ISIS-1505] - MetaModelService should return an unknown enum rather than throw exception, eg if passed an java.lang.Object.class.
-* link:https://issues.apache.org/jira/browse/ISIS-1499[ISIS-1499] - Improve BookmarkService to be able to "lookup" domain services, so that can schedule background commands against a service.
-* link:https://issues.apache.org/jira/browse/ISIS-1495[ISIS-1495] - Extend SessionLoggingService.CausedBy enum, so can mark as complete any log entries that are still shown as ongoing when app (re)starts
-* link:https://issues.apache.org/jira/browse/ISIS-1492[ISIS-1492] - Adding css-class to object forms
-* link:https://issues.apache.org/jira/browse/ISIS-1491[ISIS-1491] - Changed all occurrences of allowNulls and allowsNulls in the docs to
-* link:https://issues.apache.org/jira/browse/ISIS-1476[ISIS-1476] - Transaction interface: Expose "clearAbortCause" for don't pick up handled persistence Exceptions
-
-
-== Bug
-
-* link:https://issues.apache.org/jira/browse/ISIS-1525[ISIS-1525] - Problems with startup under certain circumstances
-* link:https://issues.apache.org/jira/browse/ISIS-1524[ISIS-1524] - Dates not showing in view model
-* link:https://issues.apache.org/jira/browse/ISIS-1520[ISIS-1520] - Amelia template is broken
-* link:https://issues.apache.org/jira/browse/ISIS-1517[ISIS-1517] - Typo on home page
-* link:https://issues.apache.org/jira/browse/ISIS-1516[ISIS-1516] - Typo on home page
-* link:https://issues.apache.org/jira/browse/ISIS-1515[ISIS-1515] - BackgroundCommandExecution can NPE if it attempts to invoke an action on an object that no longer exists.
-* link:https://issues.apache.org/jira/browse/ISIS-1502[ISIS-1502] - Error handling of invalid domain object not strong enough, causing infinite loop in endTransaction.
-* link:https://issues.apache.org/jira/browse/ISIS-1498[ISIS-1498] - BackgroundCommandExecution does not handle exceptions correctly.
-* link:https://issues.apache.org/jira/browse/ISIS-1497[ISIS-1497] - AbstractIsisSessionTemplate does not lookup adapter for OidDtos correctly.
-* link:https://issues.apache.org/jira/browse/ISIS-1494[ISIS-1494] - EmailNotificationServiceDefault does not use overriding implementations of EmailService
-* link:https://issues.apache.org/jira/browse/ISIS-1493[ISIS-1493] - Sorting of records with null values is not working correctly
-* link:https://issues.apache.org/jira/browse/ISIS-1490[ISIS-1490] - Fix 'svg' suffix in ImageResourceCacheClassPath
-* link:https://issues.apache.org/jira/browse/ISIS-1483[ISIS-1483] - Tiny bug in the SimpleObjectTest unit test as generated by the simpleapp.
-* link:https://issues.apache.org/jira/browse/ISIS-1482[ISIS-1482] - Occasional(?) exception in i18n PoWriter, looks like a concurrent access problem
-* link:https://issues.apache.org/jira/browse/ISIS-1481[ISIS-1481] - Duplicate PK exception for SessoinLogEntry (isisaddons implementation of SessionLoggingService) due to race condition.
-* link:https://issues.apache.org/jira/browse/ISIS-1480[ISIS-1480] - LocalDateTime property on different tabs, encoding exception
-* link:https://issues.apache.org/jira/browse/ISIS-1477[ISIS-1477] - Background command execution of commands with 0 parameters causes an NPE
-* link:https://issues.apache.org/jira/browse/ISIS-1475[ISIS-1475] - Application name not set
-* link:https://issues.apache.org/jira/browse/ISIS-1474[ISIS-1474] - Cannot use custom implementation of authenticationmanager (ShiroWithOAuth2AuthenticationManagerInstaller)
-* link:https://issues.apache.org/jira/browse/ISIS-1472[ISIS-1472] - Any attempts to schedule a background job via the RO viewer fail, due to incomplete state. (In fact: actions with commands cannot be invoked via RO viewer).
-* link:https://issues.apache.org/jira/browse/ISIS-1470[ISIS-1470] - Maintenance 1.13.1 umbrella ticket
diff --git a/antora/components/relnotes/modules/ROOT/pages/2016/1.13.2/relnotes.adoc b/antora/components/relnotes/modules/ROOT/pages/2016/1.13.2/relnotes.adoc
deleted file mode 100644
index f0a8b12..0000000
--- a/antora/components/relnotes/modules/ROOT/pages/2016/1.13.2/relnotes.adoc
+++ /dev/null
@@ -1,43 +0,0 @@
-= 1.13.2
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-This is a maintenance release with a number of minor improvements and bug fixes.
-If these the main improvement is that the simpleapp archetype has been substantially reworked to be more modular.
-
-This release also closes the ticket to provide a better DB migration story; this has been implemented by way of the (non-ASF) link:https://platform.incode.org[Incode Platform^]'s flywaydb module.
-
-
-
-== New Feature
-
-* link:https://issues.apache.org/jira/browse/ISIS-1542[ISIS-1542] - Update simpleapp application/archetype to provide access to HSQL DB Manager (via their Swing UI) when running in-memory
-* link:https://issues.apache.org/jira/browse/ISIS-1471[ISIS-1471] - Integrate Flyway or Liquibase or something similar (see (non-ASF) link:https://platform.incode.org[Incode Platform^]'s flywaydb module.
-
-
-== Improvement
-
-* link:https://issues.apache.org/jira/browse/ISIS-1554[ISIS-1554] - Prevent double click on buttons (which can cause applications to throw an error, eg concurrency exception)
-* link:https://issues.apache.org/jira/browse/ISIS-1553[ISIS-1553] - If in prototyping mode, shouldn't have to keep logging in when restart (rememberMe should activate)
-* link:https://issues.apache.org/jira/browse/ISIS-1552[ISIS-1552] - Use 'readonly' rather than 'disabled' tag, in compliance with w3c spec (Firefox and Chrome 54+)
-* link:https://issues.apache.org/jira/browse/ISIS-1550[ISIS-1550] - Remove metamodel validation that insists on at least one @PersistenceCapable class.
-* link:https://issues.apache.org/jira/browse/ISIS-1548[ISIS-1548] - Allow @Mixin annotation to specify the method name to use (instead of '$$') meaning to infer the mixin name from the mixin type. Also, allow '$' to be used as separator of the mixin type.
-* link:https://issues.apache.org/jira/browse/ISIS-1546[ISIS-1546] - Reduce logging (don't show stack traces) for invalid user/pass attempts
-* link:https://issues.apache.org/jira/browse/ISIS-1543[ISIS-1543] - IsisConfigurationBuilder should obfuscate password when logged.
-* link:https://issues.apache.org/jira/browse/ISIS-1538[ISIS-1538] - Rework simpleapp archetype so that is more modular.
-* link:https://issues.apache.org/jira/browse/ISIS-1503[ISIS-1503] - Allow security checking be disabled when running via SudoService.
-
-
-== Bug
-
-* link:https://issues.apache.org/jira/browse/ISIS-1545[ISIS-1545] - QueryResultsCache can sometimes result in throwing an exception if not properly initialized when fixtures being installed.
-* link:https://issues.apache.org/jira/browse/ISIS-1541[ISIS-1541] - When no explicit layout xml is available the order of the members is set to incorrect, ignoring other facets
-* link:https://issues.apache.org/jira/browse/ISIS-1533[ISIS-1533] - Fix edit icon offset for boolean, referencem blob, clob and multilinestring panels
-* link:https://issues.apache.org/jira/browse/ISIS-1524[ISIS-1524] - Dates not showing in view model
-* link:https://issues.apache.org/jira/browse/ISIS-1496[ISIS-1496] - A domainobject annotated with @DomainObject(auditing = Auditing.DISABLED) is audited nonetheless
-
-
-== Task
-
-* link:https://issues.apache.org/jira/browse/ISIS-1540[ISIS-1540] - Release tasks for 1.13.2
diff --git a/antora/components/relnotes/modules/ROOT/pages/2017/1.13.2.1/relnotes.adoc b/antora/components/relnotes/modules/ROOT/pages/2017/1.13.2.1/relnotes.adoc
deleted file mode 100644
index a1e2b5a..0000000
--- a/antora/components/relnotes/modules/ROOT/pages/2017/1.13.2.1/relnotes.adoc
+++ /dev/null
@@ -1,20 +0,0 @@
-= 1.13.2.1
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-Update for the simpleapp archetype only, which improves docker support as well as reducing amount of boilerplate by backing out some of the mixins.
-It also fixes an issue with the fixture scripts (noted in previous release).
-
-
-
-== Improvement
-
-* link:https://issues.apache.org/jira/browse/ISIS-1559[ISIS-1559] - Remove the mixins from the simpleapp archetype - adds too much boilerplate
-* link:https://issues.apache.org/jira/browse/ISIS-1558[ISIS-1558] - Extend simpleapp archetype to also build docker images
-
-
-== Task
-
-* link:https://issues.apache.org/jira/browse/ISIS-1560[ISIS-1560] - Release 1.13.2.1 archetype
diff --git a/antora/components/relnotes/modules/ROOT/pages/2017/1.14.0/mignotes.adoc b/antora/components/relnotes/modules/ROOT/pages/2017/1.14.0/mignotes.adoc
deleted file mode 100644
index bb20c86..0000000
--- a/antora/components/relnotes/modules/ROOT/pages/2017/1.14.0/mignotes.adoc
+++ /dev/null
@@ -1,42 +0,0 @@
-= From v1.13.x to 1.14.0
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-== New metamodel validations
-
-This release defines a number of metamodel validations.
-These can be enabled or disabled using configuration properties:
-
-* `isis.reflector.validator.explicitObjectType` +
-+
-Whether to check that the class has an object type explicitly specified somehow.
-This is strongly recommended, but is disabled by default to prevent migration issues.
-
-* `isis.reflector.validator.jdoqlFromClause` +
-+
-Whether to check that the class name in JDOQL `FROM` clause matches or is a supertype of the class on which it is annotated.
-This is enabled by default.
-
-* `isis.reflector.validator.jdoqlVariablesClause` +
-+
-Whether to check that the class name in JDOQL `VARIABLES` clause is a recognized class.
-This is enabled by default.
-
-* `isis.reflector.validator.mixinsOnly` +
-+
-This is disabled by default; if enabled, this configuration property will treat any contributed service as invalid; instead use mixins (as a simpler/less confusing programming model).
-
-* `isis.reflector.validator.noParamsOnly` +
-+
-When searching for link:https://isis.apache.org/versions/1.14.0/guides/rgcms/rgcms.html#_rgcms_methods_prefixes_disable[`disableXxx()`] or link:https://isis.apache.org/versions/1.14.0/guides/rgcms/rgcms.html#_rgcms_methods_prefixes_hide[`hideXxx()`] supporting methods, whether to search only for the no-param version (or also for supporting methods that match the parameter types of the action). +
-+
-This is disabled by default; if enabled then this makes for a simpler programming model.
-
-* `isis.reflector.validator.serviceActionsOnly` +
-+
-Domain services are stateless (at least conceptually) and so should not have any properties or collections; any that are defined will not be rendered by the viewers. +
-+
-This is disabled by default; if enabled, then this ensure that domain services only declare actions and so makes for a simpler programming model.
-
diff --git a/antora/components/relnotes/modules/ROOT/pages/2017/1.14.0/relnotes.adoc b/antora/components/relnotes/modules/ROOT/pages/2017/1.14.0/relnotes.adoc
deleted file mode 100644
index 72e3a96..0000000
--- a/antora/components/relnotes/modules/ROOT/pages/2017/1.14.0/relnotes.adoc
+++ /dev/null
@@ -1,73 +0,0 @@
-= 1.14.0
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-
-Apache Isis 1.14.0 introduces one significant new feature, namely the ability to invoke actions with collection parameters.
-This is rendered by the Wicket viewer as a multi-select drop-down.
-It is also captured in the DTO/XML for both commands and published interaction events.
-Note though that Restful Objects viewer currently does not provide any support.
-
-Also included in the release are a number of minor improvements.
-In particular, there are now a number of metamodel validations intended to make it apps already in production easier to refactor.
-These include a new `objectType` attribute for `@DomainService`, analogous to the same attribute on `@DomainObject`.
-The `EmailService` has been improved so it is easier to use in system test (non-prod) environments.
-Finally, a new `TableColumnOrderService` to allow column order to be fine-tuned.
-
-The release also has a number of bug fixes.
-
-Most applications written against v1.13.x should run against v1.14.0 with few if any changes.
-That said, we do recommend that you read and keep in mind the link:https://isis.apache.org/versions/1.14.0/migration-notes/migration-notes.html#_migration-notes_1.13.0-to-1.14.0[migration notes] when you upgrade your app.
-
-
-
-
-
-== New Feature
-
-* link:https://issues.apache.org/jira/browse/ISIS-1529[ISIS-1529] - TableColumnOrderService, to allow column order to be fine-tuned (or columns suppressed)
-* link:https://issues.apache.org/jira/browse/ISIS-709[ISIS-709] - Support multi-select for the drop-down box
-* link:https://issues.apache.org/jira/browse/ISIS-785[ISIS-785] - Invoke action parameter with a collection of entities.
-
-
-== Improvement
-
-* link:https://issues.apache.org/jira/browse/ISIS-1587[ISIS-1587] - Extend "explicitObjectType" checking to also take in view models.
-* link:https://issues.apache.org/jira/browse/ISIS-1586[ISIS-1586] - Rationalize the way that service instances are referenced by RO vs rest of the framework
-* link:https://issues.apache.org/jira/browse/ISIS-1584[ISIS-1584] - Metamodel validation to flag for any contributed services (rather than mixins)
-* link:https://issues.apache.org/jira/browse/ISIS-1582[ISIS-1582] - Extend 'explicitObjectType' checking to domain services
-* link:https://issues.apache.org/jira/browse/ISIS-1581[ISIS-1581] - MetaModel validator should (if configured) check that an object type has been explicitly specified.
-* link:https://issues.apache.org/jira/browse/ISIS-1580[ISIS-1580] - Should throw a metamodel validation exception if JDOQL FROM clause or VARIABLES clause invalid.
-* link:https://issues.apache.org/jira/browse/ISIS-1567[ISIS-1567] - Replace jetty-uber with jetty-servlet and jetty-webapp
-* link:https://issues.apache.org/jira/browse/ISIS-1557[ISIS-1557] - Enhance EmailServiceDefault, to optionally throw exception if fail, and optionally allow overrides
-* link:https://issues.apache.org/jira/browse/ISIS-1555[ISIS-1555] - DomainChangeJdoAbstract (super of command, audit etc) shouldn't throw exception if target class is unknown.
-* link:https://issues.apache.org/jira/browse/ISIS-1512[ISIS-1512] - MetaModelValidator should detect domain services that have collections, and fail-fast.
-* link:https://issues.apache.org/jira/browse/ISIS-1501[ISIS-1501] - MetaModel validator for mixin that doesn't have a public constructor with a single parameter
-
-
-== Bug
-
-* link:https://issues.apache.org/jira/browse/ISIS-1578[ISIS-1578] - Should throw a metamodel validation exception if a disable or hide method has any params.
-* link:https://issues.apache.org/jira/browse/ISIS-1577[ISIS-1577] - The transactionId within a command XML does not correspond with the transactionId of the command's metadata.
-* link:https://issues.apache.org/jira/browse/ISIS-1574[ISIS-1574] - Throws exception if layout.xml references unknown property.
-* link:https://issues.apache.org/jira/browse/ISIS-1573[ISIS-1573] - ISIS_OPTS incorrectly ignores values that have an '=' sign in them.
-* link:https://issues.apache.org/jira/browse/ISIS-1571[ISIS-1571] - Should throw metamodel validation error if omit choices or autoComplete for parameter collection type.
-* link:https://issues.apache.org/jira/browse/ISIS-1570[ISIS-1570] - CSS spacing incorrect for action buttons placed below when there are also action placed to right
-* link:https://issues.apache.org/jira/browse/ISIS-1566[ISIS-1566] - Allow datanucleus.ConnectionPasswordDecrypter to be used to decrypt password.
-* link:https://issues.apache.org/jira/browse/ISIS-1565[ISIS-1565] - Fixes @MemberOrder so that the 4 default mixin actions are automatically associated with the 3 default mixin properties
-* link:https://issues.apache.org/jira/browse/ISIS-1564[ISIS-1564] - Attempt to invoke no-arg bookmarked action, throws stacktraceexception.
-* link:https://issues.apache.org/jira/browse/ISIS-1526[ISIS-1526] - WebServer --port option not working
-* link:https://issues.apache.org/jira/browse/ISIS-1478[ISIS-1478] - Setting Editing.ENABLED does not seem to override configuration property set to disabled.
-
-
-
-== Documentation
-
-* link:https://issues.apache.org/jira/browse/ISIS-1532[ISIS-1532] - Move DN OS cfg props to DN OS guide
-
-== Task
-
-* link:https://issues.apache.org/jira/browse/ISIS-1561[ISIS-1561] - Release 1.14.0
-
diff --git a/antora/components/relnotes/modules/ROOT/pages/2017/1.15.0/mignotes.adoc b/antora/components/relnotes/modules/ROOT/pages/2017/1.15.0/mignotes.adoc
deleted file mode 100644
index 18fe911..0000000
--- a/antora/components/relnotes/modules/ROOT/pages/2017/1.15.0/mignotes.adoc
+++ /dev/null
@@ -1,154 +0,0 @@
-= From v1.14.x to 1.15.0
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-
-
-
-
-== `isis-mavendeps` Aggregator POMs
-
-To remove boilerplate in your application's `pom.xml`, three new maven "aggregator projects have been defined:
-
-* `org.apache.isis.mavendeps:isis-mavendeps-testing` +
-+
-aggregates dependencies for unit, integration and BDD tests
-
-* `org.apache.isis.mavendeps:isis-mavendeps-webapp` +
-+
-aggregates dependencies for running as a webapp
-
-* `org.apache.isis.mavendeps:isis-mavendeps-intellij` +
-+
-brings in a dependency on `isis-core-webserver` (to run the application from the command line using `org.apache.isis.WebServer`).
-This is defined in a profile which is actived only when running under the Intellij IDE.
-
-The link:https://isis.apache.org/versions/1.15.0/ugfun/ugfun.html#_ugfun_getting-started_helloworld-archetype[HelloWorld] and link:https://isis.apache.org/versions/1.15.0/ugfun/ugfun.html#_ugfun_getting-started_simpleapp-archetype[SimpleApp] archetypes both make use of these new aggregators.
-
-
-== Rename of isis-viewer-wicket artifacts (link:https://issues.apache.org/jira/browse/ISIS-1528[ISIS-1528])
-
-The `<groupId>` and `<artifactId>` of the link:https://isis.apache.org/versions/1.15.0/guides/ugvw/ugvw.html#[Wicket viewer] have been made consistent with other artifacts:
-
-* the `<groupId>` has been changed from `org.apache.isis.viewer` to `org.apache.isis.core`
-* the `<artifactId>` has been changed from `isis-viewer-wicket-???` to `isis-core-viewer-wicket-???`
-
-
-For example:
-
-[source,xml]
-----
-<groupId>org.apache.isis.viewer</groupId>
-<artifactId>isis-viewer-wicket-applib</artifactId>
-----
-
-has been renamed to:
-
-[source,xml]
-----
-<groupId>org.apache.isis.core</groupId>
-<artifactId>isis-core-viewer-wicket-applib</artifactId>
-----
-
-
-== Overriding framework services (link:https://issues.apache.org/jira/browse/ISIS-1611[ISIS-1611])
-
-Domain services fall into three categories:
-
-* application services: written by the application developer and used only within the application
-* SPI services: written by the application developer but called by the framework
-* framework services: defined within the applib with a default implementation provided by the framework itself.
-
-As described
-link:https://isis.apache.org/versions/1.15.0/guides/ugbtb/ugbtb.html#_ugbtb_hints-and-tips_replacing-default-service-implementations[here], it is possible to override framework services so that the framework uses the replacement implementation.
-Previously this required explicitly setting either link:https://isis.apache.org/versions/1.15.0/guides/rgant/rgant.html#_rgant-DomainService_menuOrder[`@DomainService#menuOrder()`] or link:https://isis.apache.org/versions/1.15.0/guides/rgant/rgant.html#_rgant-DomainServiceLayout_menuOrder[`@DomainServiceLayout#menuOrder()`].
-
-In 1.15.0, the default value for `menuOrder` has been set to a value lower than that of the framework-provided implementations, and so will a custom implementation will always take precedence over the framework implementations without having to remember to also set `menuOrder`.
-
-Of course, your application can still override `menuOrder` if it wishes.
-A small change (made in (link:https://issues.apache.org/jira/browse/ISIS-1688[ISIS-1688]) is that if both are set, then the minimum value is used.
-
-
-== Metamodel validators (link:https://issues.apache.org/jira/browse/ISIS-1504[ISIS-1504], link:https://issues.apache.org/jira/browse/ISIS-1622[ISIS-1622], link:https://issues.apache.org/jira/browse/ISIS-1669[ISIS-1669])
-
-The metamodel validator has been extended with several new checks relating to link:https://isis.apache.org/versions/1.15.0/ugfun.html#_ugfun_programming-model_view-models_jaxb[JAXB view models]:
-
-* that the view model can be instantiated:
-** has a public, no-arg constructor
-** is not abstract
-** is not a member inner class (nested static class is ok)
-* that JODA datetimes are annotated with the link:https://isis.apache.org/versions/1.15.0/ugfun/ugfun.html#_ugfun_programming-model_view-models_jaxb_joda-datatypes[appropriate implementation] of a JAXB `XmlAdapter`
-* that for references to persistent entities, that those persistent entities are annotated to use link:https://isis.apache.org/versions/1.15.0/ugfun/ugfun.html#_ugfun_programming-model_view-models_jaxb_referencing-domain-entities[`PersistentEntityAdapter`] as their JAXB adapter.
-
-\... in other words, that the view model can be instantiated.
-
-These checks are enabled by default but can be disabled with a link:https://isis.apache.org/versions/1.15.0/rgcfg.html#__rgcfg_configuring-core_metamodel-validation[configuration property] if required.
-
-
-== Logging workaround (link:https://issues.apache.org/jira/browse/ISIS-1613[ISIS-1613])
-
-`ISIS-1613` improves the UI so that the framework does not repaint the entire page after a property edit or after invoking an action that returns the same object (`this`).
-The overall effect is a smoother user experience.
-
-However, it also results in "WARN" messages being emitted by Apache Wicket.
-These are not harmful, but may pollute the log.
-
-To remove them, add the following to `logging.properties`:
-
-[source,properties]
-----
-log4j.logger.org.apache.wicket.page.XmlPartialPageUpdate=ERROR,console
-log4j.additivity.org.apache.wicket.page.XmlPartialPageUpdate=false
-----
-
-
-== Less boilerplate when bootstrapping (link:https://issues.apache.org/jira/browse/ISIS-1686[ISIS-1686])
-
-Bootstrapping the application can now be accomplished with less boilerplate, both for the regular webapp and in integration tests.
-
-For more information, see the link:https://isis.apache.org/versions/1.15.0/ugtst/ugtst.html#_ugtst_integ-test-support_bootstrapping[testing guide] and link:https://isis.apache.org/versions/1.15.0/rgcms/rgcms.html#__rgcms_classes_AppManifest-bootstrapping_bootstrapping_AppManifestAbstract[reference guide for classes/methods/schema].
-
-
-
-== Fix for view models optionality (link:https://issues.apache.org/jira/browse/ISIS-1630[ISIS-1630])
-
-This ticket fixed a bug whereby - in the absence of an explicit `@Property(optionality=...)` or `@Nullable` annotation, a view model's properties would be defaulted as optional rather than mandatory.
-
-Note also that this bug fix means that numeric properties (eg `java.lang.Integer` and `java.lang.BigDecimal`) will default to zero if the view model is instantiated using `FactoryService#instantiate(...)`, and dates (eg `java.util.Date` and `org.jodatime.LocalDate`) will default to the current date.
-This could cause your application to behave differently.
-
-You should therefore inspect all properties of your view models and ensure that they are annotated as optional if required.
-
-
-
-== Fix to config variable (link:https://issues.apache.org/jira/browse/ISIS-1595[ISIS-1595])
-
-The configuration property link:https://isis.apache.org/versions/1.15.0/guides/rgcfg/rgcfg.html#__rgcfg_configuring-core_metamodel-validation[ `isis.reflector.validator.jdoqlVariablesClause`] was incorrectly named `variablesClause`.
-This has now been corrected.
-
-Any applications that used this configuration property should be updated.
-
-
-== `@PostConstruct` always called (link:https://issues.apache.org/jira/browse/ISIS-1690[ISIS-1690])
-
-In previous versions, if any domain service threw an exception in their initialization method (annotated `@PostConstruct`) then none of the remaining domain services would be initialized.
-Even though the failing service would cause an error to be logged during start-up, this could still manifest as the application starting (in a fashion) but then failing in unrelated areas later on.
-
-As of this version, the framework now always calls ensures that all services are initialized, even if one or more of them throw an exception.
-The first exception encountered is then re-thrown (to preserve similar behaviour as possible to earlier versions).
-
-
-
-== (non-ASF) Incode Platform
-
-The various (non-ASF) link:http://isisaddons.org[Isis Addons] and link:http://catalog.incode.org[Incode Catalog] have also been combined into a single link:https://platform.incode.org["Incode Platform"].
-
-While each module can still be consumed individually, the new platform versions consistently (a change in any one module will result in a re-release of all).
-This should make these modules easier to consume, and easier to maintain/develop.
-
-All the modules remain open source, still licensed under the ASF v2.0 license.
-
-As of this release, none of the ``groupId``s or ``artifactId``s have changed.
-They will be rationalized/made consistent in a future release; most probably to coincide with v2.0.0 of the framework.
diff --git a/antora/components/relnotes/modules/ROOT/pages/2017/1.15.0/relnotes.adoc b/antora/components/relnotes/modules/ROOT/pages/2017/1.15.0/relnotes.adoc
deleted file mode 100644
index 861397f..0000000
--- a/antora/components/relnotes/modules/ROOT/pages/2017/1.15.0/relnotes.adoc
+++ /dev/null
@@ -1,148 +0,0 @@
-= 1.15.0
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-
-
-The main new feature of `1.15.0` is inline prompts: the ability to edit a property or invoke an action (associated with a property) without requiring a modal dialog box.
-There have also been several improvements in the ability to tab around the UI.
-
-The version of Apache Wicket has also been upgraded from `6.x` to `7.x`.
-
-Most applications written against v1.14.x should run against v1.15.0 with few if any changes.
-That said, we do recommend that you read and keep in mind the link:https://isis.apache.org/versions/1.15.0/migration-notes/migration-notes.html#_migration-notes_1.14.0-to-1.15.0[migration notes] when you upgrade your app.
-
-[NOTE]
-====
-The supporting (non-ASF) link:http://isisaddons.org[Isis Addons] and link:http://catalog.incode.org[Incode Catalog] have also been combined into a single link:https://platform.incode.org["Incode Platform"].
-
-While each module can still be consumed individually, the new platform versions consistently (a change in any one module will result in a re-release of all).
-This should make these modules easier to consume, and easier to maintain/develop.
-
-All the modules remain open source, still licensed under the ASF v2.0 license.
-====
-
-
-
-== New Feature
-
-* link:https://issues.apache.org/jira/browse/ISIS-1674[ISIS-1674] - Create a "hello world" archetype
-* link:https://issues.apache.org/jira/browse/ISIS-1641[ISIS-1641] - Allow the Wicket debug bar to be optionally shown, even in non-prototyping mode.
-* link:https://issues.apache.org/jira/browse/ISIS-1640[ISIS-1640] - Allow bookmarks and breadcrumb panels to be hidden.
-* link:https://issues.apache.org/jira/browse/ISIS-1633[ISIS-1633] - Allow properties to be "edited" using an action (ie using multiple parameters)
-* link:https://issues.apache.org/jira/browse/ISIS-1621[ISIS-1621] - Promote HsqlDbManager from simpleapp archetype to applib.
-* link:https://issues.apache.org/jira/browse/ISIS-1617[ISIS-1617] - Add support for the Wicket debug bar, for better diagnostics on session size etc
-* link:https://issues.apache.org/jira/browse/ISIS-1603[ISIS-1603] - Inline prompts for property edits and action invocations.
-
-
-== Improvement
-
-* link:https://issues.apache.org/jira/browse/ISIS-1688[ISIS-1688] - Service priority should honour either @DomainServiceLayout#menuOrder or @DomainService#menuOrder
-* link:https://issues.apache.org/jira/browse/ISIS-1687[ISIS-1687] - Support for TypeSafe queries with a unique result in IsisJdoSupport
-* link:https://issues.apache.org/jira/browse/ISIS-1686[ISIS-1686] - Allow integration tests to be bootstrapped with less boilerplate
-* link:https://issues.apache.org/jira/browse/ISIS-1685[ISIS-1685] - Add missing javadocs for packages in the applib
-* link:https://issues.apache.org/jira/browse/ISIS-1669[ISIS-1669] - For JAXB view models, metamodel validator for missing JAXB adapters on date/time properties, or on persistable reference types.
-* link:https://issues.apache.org/jira/browse/ISIS-1662[ISIS-1662] - Metamodel validator that any view model should have a no-arg constructor.
-* link:https://issues.apache.org/jira/browse/ISIS-1658[ISIS-1658] - Subscribers on title UI event, css and icon should override title() or @Title etc in the class itself.
-* link:https://issues.apache.org/jira/browse/ISIS-1655[ISIS-1655] - QueryResultsCache should be invalidated prior to the render phase.
-* link:https://issues.apache.org/jira/browse/ISIS-1654[ISIS-1654] - per-arg validation not fired for enum (ValueChoicesSelect2Panel)
-* link:https://issues.apache.org/jira/browse/ISIS-1653[ISIS-1653] - Allow properties to be dynamically made visible/non-visible when not redirecting
-* link:https://issues.apache.org/jira/browse/ISIS-1652[ISIS-1652] - Inline prompts should not show gap when no action buttons visible
-* link:https://issues.apache.org/jira/browse/ISIS-1651[ISIS-1651] - Inline prompt should provide CSS identifying the action being prompted for.
-* link:https://issues.apache.org/jira/browse/ISIS-1630[ISIS-1630] - view models with inline prompts don't show which fields are mandatory or not.
-* link:https://issues.apache.org/jira/browse/ISIS-1627[ISIS-1627] - Error handling for axon event bus
-* link:https://issues.apache.org/jira/browse/ISIS-1614[ISIS-1614] - Improve responsive design of header
-* link:https://issues.apache.org/jira/browse/ISIS-1613[ISIS-1613] - On action invoke/property edit, don't reload page, just repaint changed components (and allow unchanged components to opt out).
-* link:https://issues.apache.org/jira/browse/ISIS-1611[ISIS-1611] - Allow framework services to be overridden without having to remember to set @DomainService#menuOrder to a lower value.
-* link:https://issues.apache.org/jira/browse/ISIS-1592[ISIS-1592] - Extend XSD for command and interaction events, show logicalMemberIdentifier as well as memberIdentifier
-* link:https://issues.apache.org/jira/browse/ISIS-1590[ISIS-1590] - Performance issue: don't call Clause#getValueOf() with ApplicationFeatureId
-* link:https://issues.apache.org/jira/browse/ISIS-1535[ISIS-1535] - MetaModel CSV should not list mixins as types.
-* link:https://issues.apache.org/jira/browse/ISIS-1528[ISIS-1528] - Rename isis-viewer-wicket artifacts to isis-core-viewer-wicket, for consistency with other core modules.
-* link:https://issues.apache.org/jira/browse/ISIS-1504[ISIS-1504] - Metamodel validator should check that all classes annotated as view models are instantiable (are not member inner classes)
-* link:https://issues.apache.org/jira/browse/ISIS-1468[ISIS-1468] - Extend TransactionService to include API of TransactionStateProviderInternal.
-* link:https://issues.apache.org/jira/browse/ISIS-1394[ISIS-1394] - Suppress fieldset banner (name) if only one fieldset in tab (to reduce page real estate usage).
-* link:https://issues.apache.org/jira/browse/ISIS-1391[ISIS-1391] - Combine MessageBrokerInternalService with MessageService, and...
-
-
-
-== Bug
-
-* link:https://issues.apache.org/jira/browse/ISIS-1690[ISIS-1690] - Better diagnostics if a service's @PostConstruct fails, and ensure that all get initialized
-* link:https://issues.apache.org/jira/browse/ISIS-1689[ISIS-1689] - ObjectSpecIdFacet from JDO schema being clobbered by objectType inferred from class name, causing a validator to fail unnecessarily
-* link:https://issues.apache.org/jira/browse/ISIS-1676[ISIS-1676] - Standardise framework mxins to use @Mixin(method="act") or @Mixin(method="prop") etc.
-* link:https://issues.apache.org/jira/browse/ISIS-1675[ISIS-1675] - swagger spec file does not support parameters with an id starting with "."
-* link:https://issues.apache.org/jira/browse/ISIS-1668[ISIS-1668] - INLINE_AS_IF_EDIT actions do not honour hidden or disabled facets.
-* link:https://issues.apache.org/jira/browse/ISIS-1667[ISIS-1667] - Rework ActionParametersPanel so that only rendered if there is a N-arg action ... it isn't used to implicitly invoke an action for a no-arg action.
-* link:https://issues.apache.org/jira/browse/ISIS-1657[ISIS-1657] - Fix for CSS for disabled drop-down actions on right of property.
-* link:https://issues.apache.org/jira/browse/ISIS-1650[ISIS-1650] - Disabled properties for JAXB view models are never disabled.
-* link:https://issues.apache.org/jira/browse/ISIS-1649[ISIS-1649] - Update docs with Erik's runAs gist
-* link:https://issues.apache.org/jira/browse/ISIS-1648[ISIS-1648] - Disable copy link (because hint as provided in the bookmarks seems to be broken)
-* link:https://issues.apache.org/jira/browse/ISIS-1647[ISIS-1647] - Hitting escape twice for modal dialogs causes a stack trace
-* link:https://issues.apache.org/jira/browse/ISIS-1642[ISIS-1642] - Refactor breadcrumb panel to remove memory leak
-* link:https://issues.apache.org/jira/browse/ISIS-1631[ISIS-1631] - jdoqlFromClause validation error with multi-level inheritance
-* link:https://issues.apache.org/jira/browse/ISIS-1626[ISIS-1626] - Confirmation Dialog not shown on no-parameter Menu Actions
-* link:https://issues.apache.org/jira/browse/ISIS-1625[ISIS-1625] - Tooltips do not show up on Menu Actions (using the describedAs feature)
-* link:https://issues.apache.org/jira/browse/ISIS-1619[ISIS-1619] - Blob/Clob Action results are cached no matter what
-* link:https://issues.apache.org/jira/browse/ISIS-1618[ISIS-1618] - Action Button with Confirmation Dialog ignores second shot
-* link:https://issues.apache.org/jira/browse/ISIS-1615[ISIS-1615] - Tooltip for Actions not always shown ... @ActionLayout.describedAs
-* link:https://issues.apache.org/jira/browse/ISIS-1610[ISIS-1610] - Unable to use space bar to toggle checkboxes.
-* link:https://issues.apache.org/jira/browse/ISIS-1609[ISIS-1609] - @Property(editing=ENABLED) not working for some JAXB view model properties.
-* link:https://issues.apache.org/jira/browse/ISIS-1608[ISIS-1608] - Error "ConcurrentModificationException" during startup
-* link:https://issues.apache.org/jira/browse/ISIS-1607[ISIS-1607] - Swagger HTML doesn't load correctly, missing webjars
-* link:https://issues.apache.org/jira/browse/ISIS-1606[ISIS-1606] - Running with bypass authenticator seems to be failing, not looking up class from its 'bypass' alias
-* link:https://issues.apache.org/jira/browse/ISIS-1605[ISIS-1605] - When entering / editing LocalDate in UI on Viewmodel the current date is taken instead of entered date
-* link:https://issues.apache.org/jira/browse/ISIS-1602[ISIS-1602] - Handle mixins without any NotContributedFacet (assume is contributed as action)
-* link:https://issues.apache.org/jira/browse/ISIS-1600[ISIS-1600] - Autocomplete repositories not being used/detected when using an action with a collection parameter
-* link:https://issues.apache.org/jira/browse/ISIS-1597[ISIS-1597] - review the buildnumber plugin in the simpleapp archetype
-* link:https://issues.apache.org/jira/browse/ISIS-1596[ISIS-1596] - Parameter translations broken ?
-* link:https://issues.apache.org/jira/browse/ISIS-1595[ISIS-1595] - Configuration property for JDOQL VARIABLES clause mismatch
-* link:https://issues.apache.org/jira/browse/ISIS-1572[ISIS-1572] - RestfulObjects viewer - Service members empty
-* link:https://issues.apache.org/jira/browse/ISIS-1551[ISIS-1551] - Problems with startup under certain circumstances
-* link:https://issues.apache.org/jira/browse/ISIS-1486[ISIS-1486] - three-way Boolean checkbox doesn't seem to be rendering correctly (shows as two-way only)
-* link:https://issues.apache.org/jira/browse/ISIS-1224[ISIS-1224] - drop down box (select2) is orphaned and floats top-right under certain circumstances
-* link:https://issues.apache.org/jira/browse/ISIS-1183[ISIS-1183] - Copying a property value in view mode doesn't work in Firefox on Windows
-
-
-== Dependency upgrade
-
-* link:https://issues.apache.org/jira/browse/ISIS-1353[ISIS-1353] - Upgrade minor dependencies.
-* link:https://issues.apache.org/jira/browse/ISIS-1223[ISIS-1223] - Upgrade Wicket to 7.x
-* link:https://issues.apache.org/jira/browse/ISIS-1523[ISIS-1523] - Upgrade wicket-bootstrap and related, and revert ISIS-1520
-
-
-== Documentation
-
-* link:https://issues.apache.org/jira/browse/ISIS-1644[ISIS-1644] - Broken Links
-* link:https://issues.apache.org/jira/browse/ISIS-1604[ISIS-1604] - Extend support for SVG (3 additional dependencies, it seems)
-* link:https://issues.apache.org/jira/browse/ISIS-1594[ISIS-1594] - Provide an 'edit' button on the isis documentation
-* link:https://issues.apache.org/jira/browse/ISIS-1579[ISIS-1579] - Asciidoc Template/Stylesheet issues
-* link:https://issues.apache.org/jira/browse/ISIS-1575[ISIS-1575] - Problems with download page
-
-
-
-== Task
-
-* link:https://issues.apache.org/jira/browse/ISIS-1521[ISIS-1521] - Release activities for 1.15.0
-
-
-== Incode Platform
-
-Implemented in the (non-ASF) link:https://platform.incode.org[Incode Platform^].
-
-* link:https://issues.apache.org/jira/browse/ISIS-513[ISIS-513] - [ADDONS] Wicket: Pdf.js display in browser natively
-
-
-== Closed (other reasons)
-
-The issues below are either not a problem, or have been implemented in previous releases but (for whatever reason) not closed at that time.
-
-* link:https://issues.apache.org/jira/browse/ISIS-1691[ISIS-1691] - [NOT A PROBLEM] Bootstrap paging navigators "pageNumber" failing to render correctly
-* link:https://issues.apache.org/jira/browse/ISIS-1661[ISIS-1661] - [NOT A PROBLEM] once selected, doesn't seem to be possible to set a @Nullable parameter that has an autoComplete back to null
-* link:https://issues.apache.org/jira/browse/ISIS-1673[ISIS-1673] - [CAN'T REPRODUCE] jdoqlFromClause validator is too strict, does not allow for NOT EXISTS
-* link:https://issues.apache.org/jira/browse/ISIS-1467[ISIS-1467] - [INCOMPLETE] Deprecate features/API which are either unused or for which there is a better replacemen
-* link:https://issues.apache.org/jira/browse/ISIS-1293[ISIS-1293] - [DUPLICATE] when in prototype mode, have a mechanism to temporarily hide the prototyping menus ... eg for taking screenshots
-* link:https://issues.apache.org/jira/browse/ISIS-1034[ISIS-1034] - [WON'T FIX] Support bulk actions that return Blobs and Clobs
-* link:https://issues.apache.org/jira/browse/ISIS-511[ISIS-511] - Provide the ability to plugin a dashboard for the Wicket viewer
-
diff --git a/antora/components/relnotes/modules/ROOT/pages/2017/1.15.1/relnotes.adoc b/antora/components/relnotes/modules/ROOT/pages/2017/1.15.1/relnotes.adoc
deleted file mode 100644
index 4b04b03..0000000
--- a/antora/components/relnotes/modules/ROOT/pages/2017/1.15.1/relnotes.adoc
+++ /dev/null
@@ -1,57 +0,0 @@
-= 1.15.1
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-
-
-This is primarily a bug fix release.
-Notable fixes include upgrading to Wicket 7.9.0 (to address a link:https://www.mail-archive.com/dev@wicket.apache.org/msg16967.html[major page store issue]), and a fix for the Wicket viewer's reference panel with choices.
-
-The release also has some minor new features: a new Markup value type that allows arbitrary HTML to be rendered in the Wicket viewer, an extension to Restful Objects to provide a new "layout" resource, and a new "logout" page for Wicket viewer to support monitoring tools.
-
-
-== New Feature
-
-* link:https://issues.apache.org/jira/browse/ISIS-1717[ISIS-1717] - To make monitoring applications reliably able to logout, allow session to be logged out just by hitting a simple HTTP GET page ("/logout")
-* link:https://issues.apache.org/jira/browse/ISIS-1697[ISIS-1697] - Extend RO viewer, new "layout" resource to provide the BS3 layout grid.
-* link:https://issues.apache.org/jira/browse/ISIS-1696[ISIS-1696] - Extend RO viewer so that services indicate their menuBar (primary/secondary) as an extension
-* link:https://issues.apache.org/jira/browse/ISIS-1616[ISIS-1616] - Support URLs as a link / "As-is" HTML rendering
-* link:https://issues.apache.org/jira/browse/ISIS-571[ISIS-571] - [WON'T FIX] To (hopefully) improve performance, use Render.EAGERLY as a hint to instruct JDO to eagerly load the collection (using a dynamic fetch group).
-
-
-== Improvement
-
-* link:https://issues.apache.org/jira/browse/ISIS-1733[ISIS-1733] - Improve API of RepositoryService#persist, so returns the object being persisted.
-* link:https://issues.apache.org/jira/browse/ISIS-1719[ISIS-1719] - QueryResultsCache should be disable when running fixture scripts.
-* link:https://issues.apache.org/jira/browse/ISIS-1707[ISIS-1707] - Suppress mandatory red-star on read-only properties
-* link:https://issues.apache.org/jira/browse/ISIS-1706[ISIS-1706] - Add 'username' config parameter to email service
-
-
-== Bug
-
-* link:https://issues.apache.org/jira/browse/ISIS-1731[ISIS-1731] - @Property(hidden=Where.PARENTED_TABLES) does not render correctly in standalone collection view
-* link:https://issues.apache.org/jira/browse/ISIS-1716[ISIS-1716] - Framework is silently aborted xactns that have a JDOUserExceptions thrown, resulting in an audit trail that is misleading and confusing behaviour in some circumstances
-* link:https://issues.apache.org/jira/browse/ISIS-1715[ISIS-1715] - Service priority as defined by @DomainServiceLayout#menuOrder or @DomainService#menuOrder not honored.
-* link:https://issues.apache.org/jira/browse/ISIS-1713[ISIS-1713] - Revert to Wicket 7.7.0 (issue with Wicket filestore filling up)
-* link:https://issues.apache.org/jira/browse/ISIS-1711[ISIS-1711] - Reference panel that returns choices not same as current field tramples over.
-* link:https://issues.apache.org/jira/browse/ISIS-1705[ISIS-1705] - Addon module isis-module-settings is not working after upgrade to Isis 1.15.0
-* link:https://issues.apache.org/jira/browse/ISIS-1699[ISIS-1699] - Titles of (editable) references not shown in collections
-* link:https://issues.apache.org/jira/browse/ISIS-1466[ISIS-1466] - Hidden(where=REFERENCES_PARENT) seems to be broken.
-
-
-== Dependency upgrade
-
-* link:https://issues.apache.org/jira/browse/ISIS-1722[ISIS-1722] - Upgrade to Wicket 7.9.0 once available
-* link:https://issues.apache.org/jira/browse/ISIS-1718[ISIS-1718] - Upgrade to Jetty 9.4.3
-
-
-== Task
-
-* link:https://issues.apache.org/jira/browse/ISIS-1712[ISIS-1712] - 1.15.1 release activities
-
-
-== Documentation
-
-* link:https://issues.apache.org/jira/browse/ISIS-1708[ISIS-1708] - Broken Links according to W3C checker
diff --git a/antora/components/relnotes/modules/ROOT/pages/2018/1.16.0/mignotes.adoc b/antora/components/relnotes/modules/ROOT/pages/2018/1.16.0/mignotes.adoc
deleted file mode 100644
index 1b12466..0000000
--- a/antora/components/relnotes/modules/ROOT/pages/2018/1.16.0/mignotes.adoc
+++ /dev/null
@@ -1,65 +0,0 @@
-= From v1.15.x to 1.16.0
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-
-
-== `AppManifest2` and `Module`
-
-While not required, it is recommended to rework modules to subclass from `ModuleAbstract`, and to bootstrap the application using `AppManifestAbstract2`.
-
-
-== `IntegrationTestAbstract3`
-
-While not required, it is recommended that integration tests are updated to subclass from `IntegrationTestAbstract3`.
-These require a `Module` to bootstrap from (see above).
-
-
-== Explicitly-defined actions
-
-By default actions are implicitly recognised as any remaining `public` methods once properties/collections and supporting methods are discounted.
-Any methods that are _not_ intended to be actions have previously required to be annotated with `@Programmatic`.
-
-Setting:
-
-[source,ini]
-----
-isis.reflector.explicitAnnotations.action=true
-----
-
-reverses this policy: left-over `public` methods will not be treated as actions unless they also have an `@Action` annotation.
-
-
-
-== `isis-mavendeps-intellij` Aggregator POM
-
-The contents of the `org.apache.isis.mavendeps:isis-mavendeps-intellij` aggregator has been moved to `org.apache.isis.mavendeps:isis-mavendeps-webapp`.
-
-Since these are commonly found together in the webapp module, the `isis-mavendeps-intellij` reference can therefore simply be removed.
-
-Note that `isis-mavendeps-webapp` has been updated with support for running within Eclipse IDE.
-
-
-
-== (non-ASF) Incode Platform
-
-The generic subdomain modules of the (non-ASF) link:https://platform.incode.org["Incode Platform"] have been demoted to instead act as examples.
-
-Rather than consume as binaries, the recommendation is to copy in the source code into your application and adapt as required.
-
-For the time being, the binaries will continue to be released, but to avoid confusions the `groupId:artifactId` and the packages have been changed.
-
-For example, the _alias_ generic subdomain has moved:
-
-* from: `org.incode.module.alias:incode-module-alias-dom`
-* to: `org.incode.example.alias:incode-example-alias-dom`
-
-The package has similarly changed:
-
-* from: `org.incode.module.alias`
-* to: `org.incode.example.alias`
-
-The full list of generic subdomains that have been renamed to examples is: _alias, classification, commchannel, communications, country, docfragment, document, note, settings_ and _tags_.
-
diff --git a/antora/components/relnotes/modules/ROOT/pages/2018/1.16.0/relnotes.adoc b/antora/components/relnotes/modules/ROOT/pages/2018/1.16.0/relnotes.adoc
deleted file mode 100644
index 4a0269e..0000000
--- a/antora/components/relnotes/modules/ROOT/pages/2018/1.16.0/relnotes.adoc
+++ /dev/null
@@ -1,122 +0,0 @@
-= 1.16.0
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-
-
-This release introduces a couple of new features and improvements.
-
-* a new `Module` interface (and `ModuleAbstract` adapter class) allows transitive dependencies to be defined between modules, and allowing optional setup and teardown fixtures to be defined for the module
-
-* Application bootstrapping has been simplified further with a new `AppManifest2` interface (and `AppManifestAbstract2` adapter class) defined in terms of ``Module``s.
-
-+
-Similarly, integration testing bootstrapping has been simplified with a new `IntegrationTestAbstract3` adapter class that also uses a `Module`.
-
-+
-BDD specs (Cucumber) have also been simplified to be bootstrapped with a `Module`, with a much more "conventional" programming model (domain services can be injected into spec "glue", the same as for integration tests)
-
-* Fixture scripts have been improved (the `BuilderScriptAbstract` subclass) to allow enums to act as "personas".
-An enum instance can be used to easily create corresponding domain objects, and then later to look up that domain object from within a test
-
-* menu bars can now be specified using a `menubars.layout.xml` file, expected to reside in the same package as the app manifest used to bootstrap the application
-
-* The framework can be configured to require that actions are explicitly annotatedusing `@Action`.
-This therefore removes the requirement to annotate non-action methods with `@Programmatic`.
-
-There are also numerous improvements and bug fixes.
-
-Applications written against v1.15.x should run against v1.16.0 with few if any changes.
-However, note that applications *are* required to bootstrap from an `AppManifest`.
-
-
-
-
-
-== New Feature
-
-* link:https://issues.apache.org/jira/browse/ISIS-1801[ISIS-1801] - BookmarkUiService to clear Wicket bookmarks and breadcrumbs programmatically.
-* link:https://issues.apache.org/jira/browse/ISIS-1794[ISIS-1794] - Rework BDD bootstrapping to support app manifest/modules + dependency injection into glue
-* link:https://issues.apache.org/jira/browse/ISIS-1793[ISIS-1793] - Extend MetaModelService to expose the AppManifest used to bootstrap the app
-* link:https://issues.apache.org/jira/browse/ISIS-1792[ISIS-1792] - DtoMappingHelper domain service.
-* link:https://issues.apache.org/jira/browse/ISIS-1791[ISIS-1791] - provide a ClockFixture and TickingClockFixture
-* link:https://issues.apache.org/jira/browse/ISIS-1784[ISIS-1784] - Support for the builder pattern for fixtures, along with more flexibility in fixture setup using BuilderScriptAbstract
-* link:https://issues.apache.org/jira/browse/ISIS-1772[ISIS-1772] - Assume @Programmatic for public methods not annotated with @Action (make this configurable).
-* link:https://issues.apache.org/jira/browse/ISIS-1769[ISIS-1769] - Mixin to navigate to equivalent REST API URL for each domain object.
-* link:https://issues.apache.org/jira/browse/ISIS-1766[ISIS-1766] - Allow Xxx.layout.xml and menu.layout.xml to be served up as JSON via REST API
-* link:https://issues.apache.org/jira/browse/ISIS-1765[ISIS-1765] - Extend menu.layout.xml to include HATEOAS links when served by REST API.
-* link:https://issues.apache.org/jira/browse/ISIS-1764[ISIS-1764] - Expose the "layout" resource for domain objects via REST API, with HATEOAS links.
-* link:https://issues.apache.org/jira/browse/ISIS-1752[ISIS-1752] - Extend RO viewer, return a menu.layout.xml resource
-* link:https://issues.apache.org/jira/browse/ISIS-977[ISIS-977] - Allow the application menus to be specified using a appmenu.layout.xml file.
-
-
-== Improvement
-
-* link:https://issues.apache.org/jira/browse/ISIS-1804[ISIS-1804] - Deprecate isis-mavendeps-intellij, fold into isis-mavendeps-webapp
-* link:https://issues.apache.org/jira/browse/ISIS-1800[ISIS-1800] - Blank out apiKey and authToken when listing configuration properties.
-* link:https://issues.apache.org/jira/browse/ISIS-1798[ISIS-1798] - Error page should suppress stack trace if an ErrorReportingService returns a Ticket indicating stack trace should be hidden
-* link:https://issues.apache.org/jira/browse/ISIS-1797[ISIS-1797] - Error page should show a "Continue" button to go back to previous page.
-* link:https://issues.apache.org/jira/browse/ISIS-1796[ISIS-1796] - Extend info in ErrorDetails for the ErrorReportingService
-* link:https://issues.apache.org/jira/browse/ISIS-1786[ISIS-1786] - Allow the default defaultView for collections to be configured globally.
-* link:https://issues.apache.org/jira/browse/ISIS-1782[ISIS-1782] - Revamp support for bootstrapping using transitive modules
-* link:https://issues.apache.org/jira/browse/ISIS-1778[ISIS-1778] - Handle anonymous classes in the metamodel, and ignore also any explicitly annotated as @Programmatic
-* link:https://issues.apache.org/jira/browse/ISIS-1776[ISIS-1776] - Remove lombok from helloworld, to reduce # of concepts need to understand
-* link:https://issues.apache.org/jira/browse/ISIS-1774[ISIS-1774] - Handle N+1 issue for first page and subsequent pages.
-* link:https://issues.apache.org/jira/browse/ISIS-1771[ISIS-1771] - Restful viewer shows unreadable warnings
-* link:https://issues.apache.org/jira/browse/ISIS-1759[ISIS-1759] - Always calling getXxx() and hideXxx() both decreases performance of application (?)
-* link:https://issues.apache.org/jira/browse/ISIS-1746[ISIS-1746] - Provide a default implementation of UserProfileService so that don't need special case logic in each viewer.
-* link:https://issues.apache.org/jira/browse/ISIS-1729[ISIS-1729] - Auditer Service probably shouldn't submit records for an object that is [new] -> [deleted]
-* link:https://issues.apache.org/jira/browse/ISIS-1728[ISIS-1728] - Rework helloworld and simpleapp to use typesafe queries.
-* link:https://issues.apache.org/jira/browse/ISIS-1700[ISIS-1700] - Enhance ObjectContracts#compare to allow different types of objects to be compared.
-
-
-== Bug
-
-* link:https://issues.apache.org/jira/browse/ISIS-1803[ISIS-1803] - Hitting escape twice on prompt results in the error page.
-* link:https://issues.apache.org/jira/browse/ISIS-1802[ISIS-1802] - JDOQL using SELECT UNIQUE causes NPE to be thrown.
-* link:https://issues.apache.org/jira/browse/ISIS-1799[ISIS-1799] - Extend TransactionService with overload of nextTransaction for more control.
-* link:https://issues.apache.org/jira/browse/ISIS-1795[ISIS-1795] - Error page heading is white-on-white for some themes.
-* link:https://issues.apache.org/jira/browse/ISIS-1789[ISIS-1789] - Metamodel validator thinks SQL query is a JDOQL query and fails
-* link:https://issues.apache.org/jira/browse/ISIS-1787[ISIS-1787] - Property named 'Active' conflicts with Bootstrap CSS class (optional configuration property to set as a prefix on all CSS classes)
-* link:https://issues.apache.org/jira/browse/ISIS-1785[ISIS-1785] - DomainService#menuOrder and DomainServiceLayout#menuOrder are not equivalent
-* link:https://issues.apache.org/jira/browse/ISIS-1783[ISIS-1783] - Prevent classpath scanning from returning services outside the list of (packages of) modules
-* link:https://issues.apache.org/jira/browse/ISIS-1781[ISIS-1781] - JsonValueConverter as implemented for int->long throws class cast exception
-* link:https://issues.apache.org/jira/browse/ISIS-1780[ISIS-1780] - Unable to remove facets (isis.reflector.facets.exclude)
-* link:https://issues.apache.org/jira/browse/ISIS-1777[ISIS-1777] - swagger-ui/index.html in helloworld and simpleapp needs to honor context paths
-* link:https://issues.apache.org/jira/browse/ISIS-1773[ISIS-1773] - default view of a collection seems to be broken
-* link:https://issues.apache.org/jira/browse/ISIS-1770[ISIS-1770] - REST API action resources with _ARE_YOU_SURE result in NPE
-* link:https://issues.apache.org/jira/browse/ISIS-1768[ISIS-1768] - REST API returning 500 not 404 when try to access non-existent object
-* link:https://issues.apache.org/jira/browse/ISIS-1761[ISIS-1761] - Hiding empty fieldset + similar issues with contributed props/colls.
-* link:https://issues.apache.org/jira/browse/ISIS-1758[ISIS-1758] - cssClass() not working any more if css class definition exists on DomainObjectLayout
-* link:https://issues.apache.org/jira/browse/ISIS-1750[ISIS-1750] - SQL Exception when invoke action (inline prompt) not handled correctly in UI
-* link:https://issues.apache.org/jira/browse/ISIS-1749[ISIS-1749] - Allow domain object nature of XXX_ENTITY to be specified for JAXB view models
-* link:https://issues.apache.org/jira/browse/ISIS-1748[ISIS-1748] - Update HelloWorld & Simpleapp archetype to run under Eclipse
-* link:https://issues.apache.org/jira/browse/ISIS-1741[ISIS-1741] - ConcurrentModificationException during startup when launching packaged webapp with jetty
-* link:https://issues.apache.org/jira/browse/ISIS-1739[ISIS-1739] - DisableXxx() method is always called while hideXxx() returns true
-* link:https://issues.apache.org/jira/browse/ISIS-1738[ISIS-1738] - ObjectMember's compator is not transitive
-* link:https://issues.apache.org/jira/browse/ISIS-1730[ISIS-1730] - Invoking an action button which was rendered enabled but which is actually disabled at point of invocation throws stacktrace.
-* link:https://issues.apache.org/jira/browse/ISIS-1714[ISIS-1714] - AppManifestAbstract#withConfigurationProperty overwrites value set by -D system property.
-* link:https://issues.apache.org/jira/browse/ISIS-1710[ISIS-1710] - AppManifestAbstract#withAdditionalServices replaces rather than appends.
-* link:https://issues.apache.org/jira/browse/ISIS-1698[ISIS-1698] - CollectionLayout.defaultView not honored
-
-
-== Documentation only
-
-* link:https://issues.apache.org/jira/browse/ISIS-1747[ISIS-1747] - Update docs, hints-n-tips for view models
-
-
-== Task
-
-* link:https://issues.apache.org/jira/browse/ISIS-1465[ISIS-1465] - Release activities for 1.16.0
-
-
-== Other
-
-* link:https://issues.apache.org/jira/browse/ISIS-383[ISIS-383] - [OUT OF SCOPE] Integrate Apache Lucene or ElasticSearch
-* link:https://issues.apache.org/jira/browse/ISIS-724[ISIS-724] - [WON'T FIX] Support HTML file format as a way of specifying dynamic layout facets (similar to .layout.json files currently)
-* link:https://issues.apache.org/jira/browse/ISIS-814[ISIS-814] - [WON'T FIX] Provide a better way to handle polymorphic relationships, eg implement a "PolymorphicNavigator service"
-* link:https://issues.apache.org/jira/browse/ISIS-1745[ISIS-1745] - [CANNOT REPRODUCE] isis maven plugin (validate) swallows NPEs from DN.
-* link:https://issues.apache.org/jira/browse/ISIS-1760[ISIS-1760] - [NOT A PROBLEM] Integration of Apache Isis and Ignite
-* link:https://issues.apache.org/jira/browse/ISIS-1790[ISIS-1790] - [DUPLICATE] Concurrent modification exception at startup
diff --git a/antora/components/relnotes/modules/ROOT/pages/2018/1.16.1/relnotes.adoc b/antora/components/relnotes/modules/ROOT/pages/2018/1.16.1/relnotes.adoc
deleted file mode 100644
index 57f09e0..0000000
--- a/antora/components/relnotes/modules/ROOT/pages/2018/1.16.1/relnotes.adoc
+++ /dev/null
@@ -1,103 +0,0 @@
-= 1.16.1
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-
-
-
-This release is primarily a bug fix release, but does introduce a couple of notable new features and improvements:
-
-* link:https://issues.apache.org/jira/browse/ISIS-1585[ISIS-1585] supports checkboxes on parented (rather than standalone) collections.
-The selected items are used as the default values for any associated actions with collection parameters.
-+
-As part of this change, the new `@Action(associateWith="...")` attribute can be used instead of `@MemberOrder(...)` as a way to associate actions with either collections or properties.
-
-* link:https://issues.apache.org/jira/browse/ISIS-1569[ISIS-1569] provides infrastructure to enable commands to be replayed from master to slave (for regression testing purposes).
-
-+
-The majority of the implementation is provided in the (non-ASF) (non-ASF) link:https://platform.incode.org[Incode Platform]'s new link:https://platform.incode.org/modules/spi/command/spi-command-replay.html[command replay] library.
-
-Applications written against v1.16.0 should run against v1.16.1 with few if any changes.
-
-
-
-== New Feature
-
-* link:https://issues.apache.org/jira/browse/ISIS-1861[ISIS-1861] - Extend tabgroup layout control so that a tabgroup with only one tab can show either collapsed (default) or with the one tab.
-* link:https://issues.apache.org/jira/browse/ISIS-1856[ISIS-1856] - Add git.properties and SCM-Revision into MANIFEST.MF
-* link:https://issues.apache.org/jira/browse/ISIS-1585[ISIS-1585] - Allow objects in parented collections to be selected, automatically passed as defaults for collection parameter of associated actions. Also infer choices for both scalar and collection parameters.
-* link:https://issues.apache.org/jira/browse/ISIS-1569[ISIS-1569] - Automated testing tool to replay commands against a copy of prod
-
-
-
-== Improvement
-
-* link:https://issues.apache.org/jira/browse/ISIS-1837[ISIS-1837] - Metamodel validator should check for cyclic dependencies (reference to entities that live outside of the module set)
-* link:https://issues.apache.org/jira/browse/ISIS-1836[ISIS-1836] - Better diagnostic reporting in RO viewer if passed in a non-parseable value
-* link:https://issues.apache.org/jira/browse/ISIS-1835[ISIS-1835] - Better diagnostic reporting if fail to read a configuration flie.
-* link:https://issues.apache.org/jira/browse/ISIS-1834[ISIS-1834] - Relax metamodel validation to allow @PersistenceCapable on interfaces
-* link:https://issues.apache.org/jira/browse/ISIS-1826[ISIS-1826] - Add Automatic-Module-Name to support Java 9.
-* link:https://issues.apache.org/jira/browse/ISIS-1814[ISIS-1814] - JAXB validator fails requiring @XmlJavaTypeAdapter even if annotated with @XmlTransient
-* link:https://issues.apache.org/jira/browse/ISIS-1808[ISIS-1808] - Let the error page be customisable, eg embed an image from randomkittengenerator.com
-* link:https://issues.apache.org/jira/browse/ISIS-1759[ISIS-1759] - Always calling getXxx() and hideXxx() both decreases performance of application (?)
-* link:https://issues.apache.org/jira/browse/ISIS-1743[ISIS-1743] - fa-Icon mapping for mixin provided methods not honored intuitively
-* link:https://issues.apache.org/jira/browse/ISIS-1589[ISIS-1589] - Allow layout to be loaded from either .layout.xml or .layout.fallback.xml (so that library modules can provide a default layout for their entities using XML).
-
-
-== Bug
-
-* link:https://issues.apache.org/jira/browse/ISIS-1858[ISIS-1858] - NPE when Log at Debug Level
-* link:https://issues.apache.org/jira/browse/ISIS-1857[ISIS-1857] - help block for properties/parameters with drop down actions to right encroaches on the field.
-* link:https://issues.apache.org/jira/browse/ISIS-1855[ISIS-1855] - scm entries in core pom.xml are incorrect
-* link:https://issues.apache.org/jira/browse/ISIS-1854[ISIS-1854] - menubars.layout.xml seems to ignore the embedded <Name> ?
-* link:https://issues.apache.org/jira/browse/ISIS-1853[ISIS-1853] - Fix AbstractSessionTemplate and to unmarshal collection and reference arguments.
-* link:https://issues.apache.org/jira/browse/ISIS-1852[ISIS-1852] - Iterating over query result list with parallelStream produces next exception
-* link:https://issues.apache.org/jira/browse/ISIS-1851[ISIS-1851] - Improve the dynamic visibility of PropertyGroups so works with pdf js viewer (anything that isn't a ScalarPanelAbstract2, basically).
-* link:https://issues.apache.org/jira/browse/ISIS-1848[ISIS-1848] - References of type java.lang.Object (sometimes) not rendered correctly in Wicket viewer
-* link:https://issues.apache.org/jira/browse/ISIS-1847[ISIS-1847] - Eventbus: AbstractDomainEvent incorrect veto handling?
-* link:https://issues.apache.org/jira/browse/ISIS-1833[ISIS-1833] - Mandatory marker (red asterisk) not shown on mandatory parameters
-* link:https://issues.apache.org/jira/browse/ISIS-1832[ISIS-1832] - Entering a non-valid string into a parameter of type UUID results in a stacktrace.
-* link:https://issues.apache.org/jira/browse/ISIS-1831[ISIS-1831] - If Accept header bad, then our exception handler throws an NPE and so issue of bad header is not reported.
-* link:https://issues.apache.org/jira/browse/ISIS-1829[ISIS-1829] - AppManifestAbstract#withFixtureScripts no longer works.
-* link:https://issues.apache.org/jira/browse/ISIS-1825[ISIS-1825] - @CollectionLayout(hidden=STANDALONE_COLLECTION) results in scalar panels being hidden when in parented collection, (but the column is still there, ie blank).
-* link:https://issues.apache.org/jira/browse/ISIS-1822[ISIS-1822] - non-existent action in menubars.layout.xml causes an NPE
-* link:https://issues.apache.org/jira/browse/ISIS-1820[ISIS-1820] - New style BDD tests broken in 1.16.0
-* link:https://issues.apache.org/jira/browse/ISIS-1812[ISIS-1812] - NPE when attempt to render mixed-in property as a column.
-
-
-
-== Other
-
-=== Documentation
-
-* link:https://issues.apache.org/jira/browse/ISIS-1860[ISIS-1860] - CommandReification.DISABLED is broken / incorrectly documented.
-* link:https://issues.apache.org/jira/browse/ISIS-1859[ISIS-1859] - Use of "timestamp" in JDOQL queries.
-* link:https://issues.apache.org/jira/browse/ISIS-1849[ISIS-1849] - 1.16.0 - Broken Links according to W3C checker
-
-=== Task
-
-* link:https://issues.apache.org/jira/browse/ISIS-1813[ISIS-1813] - Release tasks for 1.16.1
-
-=== Duplicates / Won't Fix / Not Implemented
-
-* link:https://issues.apache.org/jira/browse/ISIS-1850[ISIS-1850] - [NOT IMPLEMENTED] Rename 'default' in JSON Response
-* link:https://issues.apache.org/jira/browse/ISIS-1500[ISIS-1500] - [DUPLICATE] ReplayService, to directly execute a previously persisted command
-* link:https://issues.apache.org/jira/browse/ISIS-1395[ISIS-1395] - [WON'T FIX] Bulk actions button is shown for a collection, even if not in table view (eg showing collection as a map)
-* link:https://issues.apache.org/jira/browse/ISIS-1200[ISIS-1200] - [DUPLICATE] Improve support for BDD tests, factoring out domain service to act as context.
-* link:https://issues.apache.org/jira/browse/ISIS-1035[ISIS-1035] - [DUPLICATE] Allow parented collections to have bulk actions associated with them...
-* link:https://issues.apache.org/jira/browse/ISIS-926[ISIS-926] - [WON'T FIX] Allow integration tests to run in parallel, each with a different user. Part of this to include a ProgrammableClockService as a replacement for ClockService, partiitioned by user (to allow concurrent integration tests to run etc).
-* link:https://issues.apache.org/jira/browse/ISIS-834[ISIS-834] - [WON'T FIX] Ensure that only a single implementation of a DomainService is registered.
-* link:https://issues.apache.org/jira/browse/ISIS-804[ISIS-804] - [INVALID] Make (entity) properties read-only by default.
-* link:https://issues.apache.org/jira/browse/ISIS-689[ISIS-689] - [WON'T FIX] Bulk action take arguments
-* link:https://issues.apache.org/jira/browse/ISIS-516[ISIS-516] - [DUPLICATE] Wicket: be able to invoke @Bulk on items within a parent collection (already supported for standalone collections)
-* link:https://issues.apache.org/jira/browse/ISIS-514[ISIS-514] - [WON'T FIX] [DUPLICATE] Feature: Allow @Bulk actions to accept parameters
-* link:https://issues.apache.org/jira/browse/ISIS-505[ISIS-505] - [INVALID] Wicket error handling returns only a 500 if encounter an unenhanced object
-
-
-=== Question
-
-* link:https://issues.apache.org/jira/browse/ISIS-1824[ISIS-1824] - menubars.layout.xml vs Wicket Viewer annotations
-
-
diff --git a/antora/components/relnotes/modules/ROOT/pages/2018/1.16.2/relnotes.adoc b/antora/components/relnotes/modules/ROOT/pages/2018/1.16.2/relnotes.adoc
deleted file mode 100644
index ce6e5b1..0000000
--- a/antora/components/relnotes/modules/ROOT/pages/2018/1.16.2/relnotes.adoc
+++ /dev/null
@@ -1,35 +0,0 @@
-= 1.16.2
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-
-This release is primarily a bug fix release fixing one severe error relating to parented checkboxes (link:https://issues.apache.org/jira/browse/ISIS-1874[ISIS-1874]).
-It does however introduce one new feature for the REST API (RO viewer) to support generic RO clients.
-There is also one notable performance improvement through the caching of ``JAXBContext``s.
-
-
-== New Feature
-
-* link:https://issues.apache.org/jira/browse/ISIS-1882[ISIS-1882] - Extend RO viewer to (optionally) automatically wrap action-results in a view model.
-
-
-== Improvement
-
-* link:https://issues.apache.org/jira/browse/ISIS-1884[ISIS-1884] - Restrict where choices and autoComplete are implicitly provided on parameters
-* link:https://issues.apache.org/jira/browse/ISIS-1879[ISIS-1879] - Date header returned by RO resuts should be the Clock time, not the system time.
-* link:https://issues.apache.org/jira/browse/ISIS-1877[ISIS-1877] - Enhance representation of action invocation
-* link:https://issues.apache.org/jira/browse/ISIS-1876[ISIS-1876] - Convert IsisApplibModule (and archetype app modules) to use ModuleAbstract
-* link:https://issues.apache.org/jira/browse/ISIS-1872[ISIS-1872] - Extend ModuleOrBuilderAbstract, with #withAdditionalDependencies(Module... modules)
-* link:https://issues.apache.org/jira/browse/ISIS-1867[ISIS-1867] - Avoid queuing/contention issues - cache JAXBContext in MemberExecutionDtoUtils.
-
-
-== Bug
-
-* link:https://issues.apache.org/jira/browse/ISIS-1874[ISIS-1874] - Parented checkboxes fails - NPEs and incorrect facets.
-
-
-== Task
-
-* link:https://issues.apache.org/jira/browse/ISIS-1875[ISIS-1875] - Release tasks for 1.16.2
diff --git a/antora/components/relnotes/modules/ROOT/pages/2019/1.17.0/mignotes.adoc b/antora/components/relnotes/modules/ROOT/pages/2019/1.17.0/mignotes.adoc
deleted file mode 100644
index c47e747..0000000
--- a/antora/components/relnotes/modules/ROOT/pages/2019/1.17.0/mignotes.adoc
+++ /dev/null
@@ -1,40 +0,0 @@
-= From v1.16.x to 1.17.0
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-
-== Sidebar Dialogs
-
-In this release sidebar dialogs vs modal dialogs is configured globally, and they are enabled by default.
-
-To revert to previous behaviour, set the configuration property:
-
-[source,ini]
-.isis.properties
-----
-isis.viewer.wicket.dialogMode=modal
-----
-
-
-== MetaModelService
-
-To export the metamodel as XML, use `MetaModelService6#exportMetaModel(Config)`.
-
-Why would you want to do this?
-The main reason is as a regression test when moving up to new versions of the framework; you can check that the metamodel built up by the next version is the same as the previous.
-
-
-== Introspection
-
-A number of new configuration properties are available to control how introspection (the building of the framework's internal metamodel) is performed:
-
-* parallelized introspection
-** specify `isis.reflector.introspector.parallelize`
-** is enabled by default
-
-* lazy introspection
-** specify `isis.reflector.introspector.mode`
-** is set to `lazy_unless_production` by default, can switch to `lazy` or `full`
-
diff --git a/antora/components/relnotes/modules/ROOT/pages/2019/1.17.0/relnotes.adoc b/antora/components/relnotes/modules/ROOT/pages/2019/1.17.0/relnotes.adoc
deleted file mode 100644
index 832cbb1..0000000
--- a/antora/components/relnotes/modules/ROOT/pages/2019/1.17.0/relnotes.adoc
+++ /dev/null
@@ -1,95 +0,0 @@
-= 1.17.0
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-
-This two main features in this release are the ability for dialog actions to be use a sidebar rather than a modal dialog (link:https://issues.apache.org/jira/browse/ISIS-1997[ISIS-1997]), and the ability to export the metamodel as XML (link:https://issues.apache.org/jira/browse/ISIS-2003[ISIS-2003]).
-
-With respect to general improvements, for the end-user they hopefully will notice that tabbing behaviour around the UI is much improved (link:https://issues.apache.org/jira/browse/ISIS-2053[ISIS-2053]), while internally the way in which the metamodel is built up has been revamped so that this is now done in parallel (link:https://issues.apache.org/jira/browse/ISIS-1974[ISIS-1974]).
-It's also possible to more fully customise the footer (link:https://issues.apache.org/jira/browse/ISIS-2009[ISIS-2009], link:https://issues.apache.org/jira/browse/ISIS-2022[ISIS-2022]), and new configuration properties mean that in many cases there should no longer be any need to subclass `IsisWicketApplication` (link:https://issues.apache.org/jira/browse/ISIS-2023[ISIS-2023]).
-
-In terms of notable bugs, there have been several fixes for the Restful Objects viewer (link:https://issues.apache.org/jira/browse/ISIS-2046[ISIS-2046], link:https://issues.apache.org/jira/browse/ISIS-2045[ISIS-2045]).
-
-
-== New Feature
-
-* link:https://issues.apache.org/jira/browse/ISIS-2043[ISIS-2043] - Allow domain events to be specified at @DomainObject, and make mixins aware of this.
-* link:https://issues.apache.org/jira/browse/ISIS-2027[ISIS-2027] - Provide a health endpoint (eg for Docker orchestrators to monitor).
-* link:https://issues.apache.org/jira/browse/ISIS-2003[ISIS-2003] - Serialize representation of metamodel to allow before/after checking
-* link:https://issues.apache.org/jira/browse/ISIS-1997[ISIS-1997] - For an alternative for non-obtrusive bulk entry of info, use a sidebar as action prompt (for top-level actions only).
-
-
-== Improvement
-
-* link:https://issues.apache.org/jira/browse/ISIS-2057[ISIS-2057] - JaxbServiceDefault should handle entity if isn't annotated with XmlJavaTypeAdapter
-* link:https://issues.apache.org/jira/browse/ISIS-2053[ISIS-2053] - Improve tabbing behaviour
-* link:https://issues.apache.org/jira/browse/ISIS-2050[ISIS-2050] - Install ObjectSpecIdFacet immediately on creation of ObjectSpecification so can be cached.
-* link:https://issues.apache.org/jira/browse/ISIS-2025[ISIS-2025] - Extend WrapperFactory with new execution mode to "try" to execute.
-* link:https://issues.apache.org/jira/browse/ISIS-2024[ISIS-2024] - Centre image or text on sign-in page.
-* link:https://issues.apache.org/jira/browse/ISIS-2023[ISIS-2023] - Add additional config properties so there is little need to subclass IsisWicketApplication
-* link:https://issues.apache.org/jira/browse/ISIS-2022[ISIS-2022] - Show application version in footer if available as config property.
-* link:https://issues.apache.org/jira/browse/ISIS-2021[ISIS-2021] - Allow initial bootswatch theme to be specified via configuration property
-* link:https://issues.apache.org/jira/browse/ISIS-2009[ISIS-2009] - Allow footer to be customised with multiple credits
-* link:https://issues.apache.org/jira/browse/ISIS-2008[ISIS-2008] - Add null guards in Blob and Clob, to detect errors in application code early
-* link:https://issues.apache.org/jira/browse/ISIS-1977[ISIS-1977] - Improve flattening for -Drevision=...
-* link:https://issues.apache.org/jira/browse/ISIS-1974[ISIS-1974] - Reduce time to bootstrap
-* link:https://issues.apache.org/jira/browse/ISIS-1966[ISIS-1966] - Introduce extension of HasTransactionId that includes sequence number
-* link:https://issues.apache.org/jira/browse/ISIS-1916[ISIS-1916] - enhance archetype so runs out-of-the-box in gitlab CI
-* link:https://issues.apache.org/jira/browse/ISIS-1913[ISIS-1913] - Extend REST API to return object icon
-* link:https://issues.apache.org/jira/browse/ISIS-1912[ISIS-1912] - simpleapp 1.16.2 archetype is missing webapp/resources/Dockerfile
-* link:https://issues.apache.org/jira/browse/ISIS-1888[ISIS-1888] - Tweak/add CSS class names to better support E2E tests (page object selectors)
-
-
-== Bug
-
-* link:https://issues.apache.org/jira/browse/ISIS-2061[ISIS-2061] - Fix rendering of date/time in sidebar dialog
-* link:https://issues.apache.org/jira/browse/ISIS-2046[ISIS-2046] - RO viewer should honour x-ro-validate-only
-* link:https://issues.apache.org/jira/browse/ISIS-2045[ISIS-2045] - RO viewer does not render body correctly when action validation fails.
-* link:https://issues.apache.org/jira/browse/ISIS-1985[ISIS-1985] - Incomplete Metamodel Validation
-* link:https://issues.apache.org/jira/browse/ISIS-1965[ISIS-1965] - Enable CI/CD for maint-1.16.3
-* link:https://issues.apache.org/jira/browse/ISIS-1964[ISIS-1964] - ConcurrentModificationException when stating application
-* link:https://issues.apache.org/jira/browse/ISIS-1925[ISIS-1925] - Invoking an action on an entity with contributed blobs (or clobs) returning null will result in an NPE.
-* link:https://issues.apache.org/jira/browse/ISIS-1902[ISIS-1902] - Datanucles: plugging in of Isis provided JDO value types is broken
-* link:https://issues.apache.org/jira/browse/ISIS-1485[ISIS-1485] - MessageService#informUser(...) doesn't seem to be raising an alert for an action returning a Blob
-
-
-== Documentation
-
-* link:https://issues.apache.org/jira/browse/ISIS-2051[ISIS-2051] - Amend ugrov
-
-
-== Task
-
-* link:https://issues.apache.org/jira/browse/ISIS-1899[ISIS-1899] - Release tasks for 1.17.0
-
-
-== Won't Fix / Not a Problem / Duplicates
-
-* link:https://issues.apache.org/jira/browse/ISIS-1996[ISIS-1996] - [DUPLICATE, WON'T FIX] For non-obtrusive bulk entry of info, use panel/fieldset as action prompt (for actions associated with panel).
-* link:https://issues.apache.org/jira/browse/ISIS-1992[ISIS-1992] - [WON'T FIX] Actions associated with the panel should optionally be rendered "in-place" (rather than modal).
-* link:https://issues.apache.org/jira/browse/ISIS-1986[ISIS-1986] - skinnywar support (backport from v2)
-* link:https://issues.apache.org/jira/browse/ISIS-1539[ISIS-1539] - [WON'T FIX] Incorporate isisaddons' command module as part of Isis core.
-* link:https://issues.apache.org/jira/browse/ISIS-1272[ISIS-1272] - [WON'T FIX[ Facet factory for actions called "changeXxx" or "maintainXxx" to be positioned to RIGHT, with dropdown.
-* link:https://issues.apache.org/jira/browse/ISIS-1248[ISIS-1248] - [WON'T FIX] Lombok plugin to automatically generate domain event classes.
-* link:https://issues.apache.org/jira/browse/ISIS-989[ISIS-989] - [WON'T FIX] Allow data being stored to be encrypted, leveraging Cumulus4J
-* link:https://issues.apache.org/jira/browse/ISIS-573[ISIS-573] - [WON'T FIX] To improve performance, set up caching of query results against any entities that are immutable (ie ref data, ie have ImmutableFacet on them).
-* link:https://issues.apache.org/jira/browse/ISIS-507[ISIS-507] - [WON'T FIX] UI: more specific icon for bookmarked repository actions
-* link:https://issues.apache.org/jira/browse/ISIS-741[ISIS-741] - [WON'T FIX] For GSOC, write an integration with Twilio or similar, for voice calls, SMS messaging, etc.
-* link:https://issues.apache.org/jira/browse/ISIS-1900[ISIS-1900] - [NOT A PROBLEM] Fix the release process to also generate .sha512 files
-* link:https://issues.apache.org/jira/browse/ISIS-1702[ISIS-1702] - [DUPLICATE] Infer @Programmatic on methods within @DomainService(natureOfService=DOMAIN)
-* link:https://issues.apache.org/jira/browse/ISIS-1671[ISIS-1671] - [DUPLICATE] Upgrade to Wicket 7.8.0
-* link:https://issues.apache.org/jira/browse/ISIS-1637[ISIS-1637] - [WON'T FIX] Non-JAXB view models do not support editable properties
-* link:https://issues.apache.org/jira/browse/ISIS-1629[ISIS-1629] - [WON'T FIX] Handle dynamic visibility of list of properties rendered
-* link:https://issues.apache.org/jira/browse/ISIS-1549[ISIS-1549] - [DUPLICATE] Speed up bootstrapping by doing classpath discovery in parallel.
-* link:https://issues.apache.org/jira/browse/ISIS-1440[ISIS-1440] - [DUPLICATE] Use Fork/Join framework to load specifications in parallel? (speed up bootstrap time on multi-core machines)
-* link:https://issues.apache.org/jira/browse/ISIS-1337[ISIS-1337] - [WON'T FIX] Facet factory to automatically create UI events based on JAXB @XmlRootElement.
-* link:https://issues.apache.org/jira/browse/ISIS-1209[ISIS-1209] - [WON'T FIX] Perform static analysis of all event subscribers so that we suppress the submission of events if we know that there are no subscribers in that type of event.
-* link:https://issues.apache.org/jira/browse/ISIS-974[ISIS-974] - [WON'T FIX] Provide the ability to associate font-awesome icons with properties
-* link:https://issues.apache.org/jira/browse/ISIS-893[ISIS-893] - [WON'T FIX] (Cosmetics): If attempt to invoke non-existent action, get nasty error message
-* link:https://issues.apache.org/jira/browse/ISIS-678[ISIS-678] - [WON'T FIX] When invoke action in Wicket viewer, prefer redirect-after-post to be to a deep link.
-* link:https://issues.apache.org/jira/browse/ISIS-582[ISIS-582] - [WON'T FIX] Abstract properties are not rendered in the UI (in tables)
-* link:https://issues.apache.org/jira/browse/ISIS-1643[ISIS-1643] - [DUPLICATE] NPE on SimpleApp about
-* link:https://issues.apache.org/jira/browse/ISIS-157[ISIS-157] - [WON'T FIX] parseTextEntry fix.
-* link:https://issues.apache.org/jira/browse/ISIS-991[ISIS-991] - [WON'T FIX] Enhance Wicket viewer so that non-disabled collections can be added to / removed from.
diff --git a/antora/components/relnotes/modules/ROOT/pages/2019/2.0.0-M2/relnotes.adoc b/antora/components/relnotes/modules/ROOT/pages/2019/2.0.0-M2/relnotes.adoc
index 82de2f4..6a032f5 100644
--- a/antora/components/relnotes/modules/ROOT/pages/2019/2.0.0-M2/relnotes.adoc
+++ b/antora/components/relnotes/modules/ROOT/pages/2019/2.0.0-M2/relnotes.adoc
@@ -10,7 +10,7 @@
This milestone introduces one new feature, namely support for a table tree view in the Wicket viewer.
It also includes all the features as of Apache Isis 1.17.0.
-The long-term goal (for v2.0.0) is to allow the framework to be run on top of either SpringBoot or JEE MicroProfile, with either of those lower-level frameworks taking responsibility for configuration and injection.
+The long-term goal (for v2.0.0) is to allow the framework to be run on top of either Spring Boot or JEE MicroProfile, with either of those lower-level frameworks taking responsibility for configuration and injection.
In this milestone, some significant initial work has been done in this area.
Notably, the IsisConfiguration is now immutable once instantiated, and its creating vis-a-vis the AppManifest has been figured out.
diff --git a/antora/components/relnotes/modules/ROOT/pages/2020/2.0.0-M3/migrating-to-2.0.0.adoc b/antora/components/relnotes/modules/ROOT/pages/2020/2.0.0-M3/migrating-to-2.0.0.adoc
index e28e9cf..7d6809a 100644
--- a/antora/components/relnotes/modules/ROOT/pages/2020/2.0.0-M3/migrating-to-2.0.0.adoc
+++ b/antora/components/relnotes/modules/ROOT/pages/2020/2.0.0-M3/migrating-to-2.0.0.adoc
@@ -1408,7 +1408,7 @@ isis.viewer.wicket.themes.provider=org.my.IsisWicketThemeSupport
=== Removed o.a.i.WebServer (ISIS-2067)
-might need to reinstate, or long-term will have SpringBoot etc do the bootstrapping.
+might need to reinstate, or long-term will have Spring Boot etc do the bootstrapping.
== 1.x to 2.0.0-M1
diff --git a/antora/components/relnotes/modules/ROOT/pages/2020/2.0.0-M3/relnotes.adoc b/antora/components/relnotes/modules/ROOT/pages/2020/2.0.0-M3/relnotes.adoc
new file mode 100644
index 0000000..fa1cc33
--- /dev/null
+++ b/antora/components/relnotes/modules/ROOT/pages/2020/2.0.0-M3/relnotes.adoc
@@ -0,0 +1,213 @@
+[[r2.0.0-M3]]
+= 2.0.0-M3
+
+:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
+:page-partial:
+
+This is a major milestone release that "re-platforms" Apache Isis so that it now runs on top of link:https://spring.io/projects/spring-boot[Spring Boot].
+
+* A new convenience xref:docs:parent-pom:about.adoc[parent pom] builds on top of Spring Boot's similar parent pom, to make it easy to develop new apps, along with simplified xref:docs:mavendeps:about.adoc["mavendeps"] pom's.
+* The Maven archetypes have been replaced with xref:docs:starters:about.adoc[Starter Apps] in github repos.
+* xref:refguide:config:about.adoc[Configuration properties] have been refactored, and can now be specified (with intellisense hints) using Spring's `application.properties` or `application.yml`
+
+The core framework has been trimmed down, with testing functionality (eg fixture scripts) moving to a new top level "testing" group.
+Other new groups have been introduced: "value-types", "subdomains", (bounded context) "mapping", "extensions", "incubator", "legacy".
+
+This milestone also introduces a number of new features:
+
+* new xref:refguide:applib-ant:Property.adoc#projecting[`@Property#projecting`] allows view model summaries to be returned as "projections" of underlying entities.
+* new xref:refguide:applib-methods:reserved.adoc#layout[`layout()`] method (or xref:refguide:applib-classes:events.adoc#ui-event-classes[UI event]) allows a domain object to specify which layout file should be used to render it.
+* no longer any need to specify xref:refguide:applib-ant:ParameterLayout.adoc#named[`@ParameterLayout#named()`]
+* security integration with xref:security:keycloak:about.adoc[Keycloak]
+
+* New value types:
+** text-based value type with simple xref:valuetypes:sse:about.adoc[SSE support]
+** xref:valuetypes:asciidoc:about.adoc[Asciidoc] value type
+** xref:valuetypes:markdown:about.adoc[Markdown] value type
+
+* New extensions:
+** xref:userguide:flyway:about.adoc[Flyway] (integrating with Spring Boot's support)
+** xref:vro:cors:[CORS] for the REST API (xref:vro:ROOT:about.adoc[Restful Objects viewer])
+** xref:vw:pdfjs:about.adoc[pdf.js] (for xref:vw:ROOT:about.adoc[Wicket viewer])
+** xref:vw:fullcalendar:about.adoc[fullcalendar] (for xref:vw:ROOT:about.adoc[Wicket viewer])
+** xref:vw:exceldownload:about.adoc[excel download] (for xref:vw:ROOT:about.adoc[Wicket viewer])
+
+Improvements:
+
+* xref:testing:integtestsupport:about.adoc[Integration test support], and xref:testing:specsupport:about.adoc[BDD (Cucumber) "spec" support] have been refactored to run on Spring Boot with Junit 5.
+* New xref:docs:demo:about.adoc[demo app] to demonstrate new features.
+* New smoketest app to catch regressions
+* The maven plugin has been retired, replaced by utility classes that can be used within integration tests.
+* There are no longer any split packages, and Maven groupId/artifactIds have been rationalized.
+
+
+The website has been updated to use https://antora.org[Antora].
+
+
+
+== New Feature
+
+* link:https://issues.apache.org/jira/browse/ISIS-2298[ISIS-2298] - Initial project structure for the Vaadin viewer
+* link:https://issues.apache.org/jira/browse/ISIS-2267[ISIS-2267] - Integrate Spring Boot flyway as an extension.
+* link:https://issues.apache.org/jira/browse/ISIS-2260[ISIS-2260] - Port pdfjs from incode platform as an extension
+* link:https://issues.apache.org/jira/browse/ISIS-2236[ISIS-2236] - Add WebModule to support CORS
+* link:https://issues.apache.org/jira/browse/ISIS-2181[ISIS-2181] - Rationalize pom hierarchy with respect to Spring Boot starter-parent.
+* link:https://issues.apache.org/jira/browse/ISIS-2180[ISIS-2180] - Resurrect mvn plugin functionality as integ test extensions.
+* link:https://issues.apache.org/jira/browse/ISIS-2174[ISIS-2174] - Resurrect Module with fixture support.
+* link:https://issues.apache.org/jira/browse/ISIS-2102[ISIS-2102] - Support for Server Sent Events (SSE)
+* link:https://issues.apache.org/jira/browse/ISIS-2095[ISIS-2095] - Allow event subscribers to change the returned value of an action in the EXECUTED phase.
+* link:https://issues.apache.org/jira/browse/ISIS-2084[ISIS-2084] - Allow upload of interim builds to repo.incode.work (also fixed in "v1 maintenance")
+* link:https://issues.apache.org/jira/browse/ISIS-2083[ISIS-2083] - Allow the dialogMode default for object actions vs service actions be specified separately.
+* link:https://issues.apache.org/jira/browse/ISIS-2081[ISIS-2081] - Provide "redirect even when same" control on action-by-action basis (also fixed in "v1 maintenance")
+* link:https://issues.apache.org/jira/browse/ISIS-2080[ISIS-2080] - Support multiple layouts for a domain object, switchable using layout() (similar to iconName() or cssClass()) (also fixed in "v1 maintenance")
+* link:https://issues.apache.org/jira/browse/ISIS-2079[ISIS-2079] - Improve rebuildMetaModel to return the target object rather than void (also fixed in "v1 maintenance")
+* link:https://issues.apache.org/jira/browse/ISIS-2078[ISIS-2078] - Allow sidebar vs modal to be specified on action-by-action basis using @ActionLayout or XML (also fixed in "v1 maintenance")
+* link:https://issues.apache.org/jira/browse/ISIS-2075[ISIS-2075] - Allow multiple layouts to be defined, and a helper method such as "layout()" that returns which to use, similar to iconName() and cssClass().
+* link:https://issues.apache.org/jira/browse/ISIS-2020[ISIS-2020] - Experimental Support for DataNucleus Federated Datastore
+* link:https://issues.apache.org/jira/browse/ISIS-2001[ISIS-2001] - Dynamically hide/disable/default action parameters (based on other parameter arguments) (also fixed in "v1 maintenance")
+* link:https://issues.apache.org/jira/browse/ISIS-1998[ISIS-1998] - Simplify syntax way for mixins, to better express intent using @Action, @Collection and @Property
+* link:https://issues.apache.org/jira/browse/ISIS-1634[ISIS-1634] - Move paraname8 into core.
+* link:https://issues.apache.org/jira/browse/ISIS-1297[ISIS-1297] - Integrate with Keycloak
+* link:https://issues.apache.org/jira/browse/ISIS-1280[ISIS-1280] - Property#projecting attribute: provide redirect hints so that when the user clicks on a rendered link, the viewer instead navigates to some other entity. (also fixed in "v1 maintenance")
+* link:https://issues.apache.org/jira/browse/ISIS-1263[ISIS-1263] - Support editing/preview using Asciidoctor (perhaps as an Isis addon)
+* link:https://issues.apache.org/jira/browse/ISIS-1176[ISIS-1176] - Provide the capability to push notification messages to end-users without refreshing (using web sockets or Atmosphere etc).
+
+
+== Improvement
+
+* link:https://issues.apache.org/jira/browse/ISIS-2307[ISIS-2307] - Vaadin Viewer: Isis Preset Debug Logging not honored
+* link:https://issues.apache.org/jira/browse/ISIS-2306[ISIS-2306] - Vaadin Viewer: Action calls need an IsisSession
+* link:https://issues.apache.org/jira/browse/ISIS-2305[ISIS-2305] - Demo App: add more scalar types not covered yet
+* link:https://issues.apache.org/jira/browse/ISIS-2303[ISIS-2303] - Vaadin Viewer: Login Page
+* link:https://issues.apache.org/jira/browse/ISIS-2302[ISIS-2302] - Rename WithTransactionScope interface to eg. TransactionScopeListener
+* link:https://issues.apache.org/jira/browse/ISIS-2299[ISIS-2299] - Convert BDD Cucumber to use JUnit5 test platform engine (rather than legacy JUnit4)
+* link:https://issues.apache.org/jira/browse/ISIS-2291[ISIS-2291] - SecMan: convert any actions in 'jdo' to mixins and move to 'model'
+* link:https://issues.apache.org/jira/browse/ISIS-2285[ISIS-2285] - Reinstate mechanism to run a specified fixture class on startup.
+* link:https://issues.apache.org/jira/browse/ISIS-2284[ISIS-2284] - RO viewer incorrectly throws 500 instead of 404 for ObjectNotFound.
+* link:https://issues.apache.org/jira/browse/ISIS-2274[ISIS-2274] - Properties should be disabled by default.
+* link:https://issues.apache.org/jira/browse/ISIS-2273[ISIS-2273] - Move most of core-unittestsupport into testing. Perhaps all of it.
+* link:https://issues.apache.org/jira/browse/ISIS-2272[ISIS-2272] - Simplify @HomePage support - just use as annotation on type, not for an action.
+* link:https://issues.apache.org/jira/browse/ISIS-2271[ISIS-2271] - Port fullcalendar over from incode-platform as an extension.
+* link:https://issues.apache.org/jira/browse/ISIS-2268[ISIS-2268] - Rename OrderPrecedence literals
+* link:https://issues.apache.org/jira/browse/ISIS-2264[ISIS-2264] - Rationalize configuration properties hierarchy, in line with groupId / artifactId
+* link:https://issues.apache.org/jira/browse/ISIS-2263[ISIS-2263] - Update RO spec in support of java.time
+* link:https://issues.apache.org/jira/browse/ISIS-2262[ISIS-2262] - Remove ExceptionRecognizer.recognize(Throwable) in favor of recognize2(Throwable)
+* link:https://issues.apache.org/jira/browse/ISIS-2261[ISIS-2261] - Allow the baseUri of the RO viewer to be overridden
+* link:https://issues.apache.org/jira/browse/ISIS-2259[ISIS-2259] - Reorganize extensions into several smaller groupings.
+* link:https://issues.apache.org/jira/browse/ISIS-2258[ISIS-2258] - Documentation Typos and AsciiDoc improvements
+* link:https://issues.apache.org/jira/browse/ISIS-2255[ISIS-2255] - In WrapperFactory, lookup mixin properties and collections (as well as actions).
+* link:https://issues.apache.org/jira/browse/ISIS-2250[ISIS-2250] - Optionally prevent new ObjectSpec's once metamodel fully created; and revalidate new ObjectSpec's otherwise.
+* link:https://issues.apache.org/jira/browse/ISIS-2249[ISIS-2249] - Deprecate Magnitude<T> and implementing Value Types
+* link:https://issues.apache.org/jira/browse/ISIS-2248[ISIS-2248] - Store the MetaModelContext in DN's NucleusContext
+* link:https://issues.apache.org/jira/browse/ISIS-2247[ISIS-2247] - provide an IsisPreset for specifying the log4j2-test.xml file when running integ tests.
+* link:https://issues.apache.org/jira/browse/ISIS-2244[ISIS-2244] - Remove IsisJaxrsServerPlugin
+* link:https://issues.apache.org/jira/browse/ISIS-2243[ISIS-2243] - Use resteasy-spring-boot-starter to configure jaxrs-resteasy
+* link:https://issues.apache.org/jira/browse/ISIS-2242[ISIS-2242] - Use IsisSystemEnvironment to store the context path, rather than _Resources static method.
+* link:https://issues.apache.org/jira/browse/ISIS-2241[ISIS-2241] - Remove _Resources_RestfulPath
+* link:https://issues.apache.org/jira/browse/ISIS-2240[ISIS-2240] - Use WebModule infra to inject into all servlets, filters etc.
+* link:https://issues.apache.org/jira/browse/ISIS-2239[ISIS-2239] - Use @Validated for base-path config properties
+* link:https://issues.apache.org/jira/browse/ISIS-2238[ISIS-2238] - Move WebModuleRestfulObjects into the resteasy plugin module.
+* link:https://issues.apache.org/jira/browse/ISIS-2237[ISIS-2237] - Sequence WebModules correctly.
+* link:https://issues.apache.org/jira/browse/ISIS-2229[ISIS-2229] - Let TitleService fallback to Enum.name() as the Title Provider
+* link:https://issues.apache.org/jira/browse/ISIS-2225[ISIS-2225] - Simplify config metadata for wicket footer credits.
+* link:https://issues.apache.org/jira/browse/ISIS-2224[ISIS-2224] - Integrate Smoketests with the CI Build
+* link:https://issues.apache.org/jira/browse/ISIS-2219[ISIS-2219] - Move LDAP Realm implementation into an extension.
+* link:https://issues.apache.org/jira/browse/ISIS-2218[ISIS-2218] - Remove AuthenticationManager interface, just use AuthenticationManagerStandard as default impl.
+* link:https://issues.apache.org/jira/browse/ISIS-2217[ISIS-2217] - Rename ext fixture's Module interface to ModuleWithFixtures
+* link:https://issues.apache.org/jira/browse/ISIS-2216[ISIS-2216] - Standardize service @Ordered, @Named, @Primary
+* link:https://issues.apache.org/jira/browse/ISIS-2215[ISIS-2215] - Remove usage of @ComponentScan, instead explicitly @Import all services etc.
+* link:https://issues.apache.org/jira/browse/ISIS-2214[ISIS-2214] - Introduce @Module as a meta-annotation for @ComponentScan and @Configuration.
+* link:https://issues.apache.org/jira/browse/ISIS-2213[ISIS-2213] - Avoid package splitting, in prep for possible JPMS support in future.
+* link:https://issues.apache.org/jira/browse/ISIS-2212[ISIS-2212] - Rename runtime-web to webapp, and tidy up
+* link:https://issues.apache.org/jira/browse/ISIS-2208[ISIS-2208] - Move h2console/h2managermenu and hsqldbmanager out into isis-extensions.
+* link:https://issues.apache.org/jira/browse/ISIS-2207[ISIS-2207] - Move schema.utils package in applib under o.a.i.applib package
+* link:https://issues.apache.org/jira/browse/ISIS-2206[ISIS-2206] - Create an incubator catalog and a legacy catalog, similar to extensions.
+* link:https://issues.apache.org/jira/browse/ISIS-2205[ISIS-2205] - Break runtime-extensions module into separate responsibilities
+* link:https://issues.apache.org/jira/browse/ISIS-2202[ISIS-2202] - Exclude org.springframework from the metamodel
+
+
+== Bug
+
+* link:https://issues.apache.org/jira/browse/ISIS-2310[ISIS-2310] - Values of @EmbeddedOnly type should not render logo or title if absent
+* link:https://issues.apache.org/jira/browse/ISIS-2308[ISIS-2308] - Regression: Markup rendering is broken
+* link:https://issues.apache.org/jira/browse/ISIS-2296[ISIS-2296] - @RequestScoped isn't honoured
+* link:https://issues.apache.org/jira/browse/ISIS-2295[ISIS-2295] - ChangedObjectsService doesn't reset enlisted pojos at end of xactn -> memory leak.
+* link:https://issues.apache.org/jira/browse/ISIS-2293[ISIS-2293] - Fix the ability to inject into Specifications
+* link:https://issues.apache.org/jira/browse/ISIS-2292[ISIS-2292] - HTTP 400 when rendering Object w/ ObjectId containing slashes
+* link:https://issues.apache.org/jira/browse/ISIS-2288[ISIS-2288] - (possible regression): if sidebar is activated, then cannot access menu items (z-order)
+* link:https://issues.apache.org/jira/browse/ISIS-2286[ISIS-2286] - SecMan listAll Classes: types of @DomainService(nature=NatureOfService.VIEW) are missing
+* link:https://issues.apache.org/jira/browse/ISIS-2283[ISIS-2283] - Demo/RO: restful/menuBars Contains Unexpected Element
+* link:https://issues.apache.org/jira/browse/ISIS-2282[ISIS-2282] - Demo: action 'runFixtureScript' either does not exist or is not visible
+* link:https://issues.apache.org/jira/browse/ISIS-2281[ISIS-2281] - objectSpec expected to have EncodableFacet
+* link:https://issues.apache.org/jira/browse/ISIS-2275[ISIS-2275] - Rest Response Doesn't Contain Number With "multiLine"
+* link:https://issues.apache.org/jira/browse/ISIS-2266[ISIS-2266] - Revert a little bit of the joda to j8 stuff.
+* link:https://issues.apache.org/jira/browse/ISIS-2265[ISIS-2265] - on-the-fly-introspection may occur even though MM was eagerly loaded
+* link:https://issues.apache.org/jira/browse/ISIS-2257[ISIS-2257] - Actions fail MM Validation when associated (Hotfix)
+* link:https://issues.apache.org/jira/browse/ISIS-2256[ISIS-2256] - ToggledMementosList can exceed Size of underlying Collection
+* link:https://issues.apache.org/jira/browse/ISIS-2254[ISIS-2254] - Ensure Command executor is set to USER when running integ tests.
+* link:https://issues.apache.org/jira/browse/ISIS-2246[ISIS-2246] - CSS fix for drop down panel (eg vertical '...' on metadata tab)
+* link:https://issues.apache.org/jira/browse/ISIS-2228[ISIS-2228] - autoComplete, default, choices don't get added to the MM
+* link:https://issues.apache.org/jira/browse/ISIS-2227[ISIS-2227] - Toggle View is hiding DOM elements which should be visible
+* link:https://issues.apache.org/jira/browse/ISIS-2226[ISIS-2226] - Dependend Args within Dialogs do not work for AutoComplet, Disable and Hide
+* link:https://issues.apache.org/jira/browse/ISIS-2221[ISIS-2221] - RestClient smoketest is broken
+* link:https://issues.apache.org/jira/browse/ISIS-2220[ISIS-2220] - Selecting request header options (profiles) in swagger-ui does not work.
+* link:https://issues.apache.org/jira/browse/ISIS-2210[ISIS-2210] - When web browser is narrow, sidebar always shown.
+* link:https://issues.apache.org/jira/browse/ISIS-2209[ISIS-2209] - Orphaned validation (when @Action is NOT mandatory) isn't working.
+* link:https://issues.apache.org/jira/browse/ISIS-2204[ISIS-2204] - Fixes algorithm for determining if a domain action is "public" visible (ie no entities)
+* link:https://issues.apache.org/jira/browse/ISIS-2203[ISIS-2203] - Fix NPE when rendering a domain object with null property in RO viewer.
+* link:https://issues.apache.org/jira/browse/ISIS-2193[ISIS-2193] - BookmarkService doesn't seem to lookup correctly
+* link:https://issues.apache.org/jira/browse/ISIS-2179[ISIS-2179] - Fallback to home page (in event of action returning null) throws an IllegalArg
+* link:https://issues.apache.org/jira/browse/ISIS-2170[ISIS-2170] - @PersistenceCapable(schema=...) is no longer being used to derive objectType
+* link:https://issues.apache.org/jira/browse/ISIS-2157[ISIS-2157] - Secman: Non-existing User gets created in DB even though not authenticated via LDAP
+* link:https://issues.apache.org/jira/browse/ISIS-2153[ISIS-2153] - Internal API: _Tasks with ThreadPoolSupport must not suppress nested Exceptions
+* link:https://issues.apache.org/jira/browse/ISIS-2144[ISIS-2144] - Persistable mixins not showing in the demo apps.
+* link:https://issues.apache.org/jira/browse/ISIS-2139[ISIS-2139] - WepApp's main() should just work out of the box
+* link:https://issues.apache.org/jira/browse/ISIS-2130[ISIS-2130] - Mixins are broken. Don't seem to be recognized, thus ignored.
+* link:https://issues.apache.org/jira/browse/ISIS-2129[ISIS-2129] - Blob/Clob-Panel's Download Button might reference invalid content.
+* link:https://issues.apache.org/jira/browse/ISIS-2128[ISIS-2128] - TimestampService is broken
+* link:https://issues.apache.org/jira/browse/ISIS-2124[ISIS-2124] - Common actions not shown, even when explicitly listed in layout.xml
+* link:https://issues.apache.org/jira/browse/ISIS-2123[ISIS-2123] - SimpleApp build/validate/test needs fixing for v2
+* link:https://issues.apache.org/jira/browse/ISIS-2119[ISIS-2119] - Increase timeout to avoid occasional exceptions when download Blobs (also fixed in "v1 maintenance")
+* link:https://issues.apache.org/jira/browse/ISIS-2118[ISIS-2118] - Don't redundantly add additional DisabledFacet when disabled at class-level (also fixed in "v1 maintenance")
+* link:https://issues.apache.org/jira/browse/ISIS-2116[ISIS-2116] - Avoid error in downloadMetaModelXml, CommandPersistence.NOT_PERSISTED facet not decoded correctly (also fixed in "v1 maintenance")
+* link:https://issues.apache.org/jira/browse/ISIS-2115[ISIS-2115] - Prevent ajax js error for inlinePromptLink on scalar panel (also fixed in "v1 maintenance")
+* link:https://issues.apache.org/jira/browse/ISIS-2107[ISIS-2107] - Allow enums to implement interfaces for choices (also fixed in "v1 maintenance")
+* link:https://issues.apache.org/jira/browse/ISIS-2104[ISIS-2104] - AuditerService not being called
+* link:https://issues.apache.org/jira/browse/ISIS-2089[ISIS-2089] - JDODataStoreException not handled properly by the framework
+
+
+== Dependency upgrade
+
+* link:https://issues.apache.org/jira/browse/ISIS-2300[ISIS-2300] - Some CVEs in dependencies are threatening your project!
+
+
+== Duplicate
+
+* link:https://issues.apache.org/jira/browse/ISIS-674[ISIS-674] - [DUPLICATE] Allow action parameters to be defaulted based on the (change of) value of other parameters.
+* link:https://issues.apache.org/jira/browse/ISIS-892[ISIS-892] - [DUPLICATE] Allow action parameters to be dynamically disabled or even hidden based on either object state or on the values for other objects.
+* link:https://issues.apache.org/jira/browse/ISIS-1294[ISIS-1294] - [WON'T FIX] Support Spring.Data like repositories with automatic implemenation of methods such as findByName or findByStartDateAndStatus
+* link:https://issues.apache.org/jira/browse/ISIS-1334[ISIS-1334] - [DUPLICATE] Create standalone JAR of an Isis app
+
+== Won't Fix
+
+* link:https://issues.apache.org/jira/browse/ISIS-1645[ISIS-1645] - [WON'T FIX] Integrate Kryo as an alternative technology for view models
+* link:https://issues.apache.org/jira/browse/ISIS-1568[ISIS-1568] - [WON'T FIX] Automated testing tool to act as a webcrawler, clicking on all links and assert that the page is rendered correctly.
+* link:https://issues.apache.org/jira/browse/ISIS-1487[ISIS-1487] - [WON'T FIX] Extend the framework's metamodel to be able to render List<Map<String,Object>>
+* link:https://issues.apache.org/jira/browse/ISIS-1267[ISIS-1267] - [WON'T FIX] Enhance isis-maven-plugin to generate UML class diagrams from metamodel
+* link:https://issues.apache.org/jira/browse/ISIS-992[ISIS-992] - [WON'T FIX] Extend Isis metamodel and Wicket viewer so that a "delete" action can be automatically provided for deleteable objects.
+* link:https://issues.apache.org/jira/browse/ISIS-958[ISIS-958] - [WON'T FIX] [DUPLICATE] Create a custom distribution of TomEE containing the Isis jars
+* link:https://issues.apache.org/jira/browse/ISIS-924[ISIS-924] - [WON'T FIX] Use @DomainService(repositoryFor=...) as the basis for an implementation of the PluralNameFacet
+* link:https://issues.apache.org/jira/browse/ISIS-923[ISIS-923] - [WON'T FIX] Use @DomainService(repositoryFor=...) as the basis for an implementation of the AutoCompleteFacet.
+* link:https://issues.apache.org/jira/browse/ISIS-857[ISIS-857] - [WON'T FIX] JDO/Wicket/RO: provide support for a number of built-in value types (eg BaseNumber, BaseString, BaseDate... to support Money, Reference, Note, Description); annotated with @Mask annotation
+* link:https://issues.apache.org/jira/browse/ISIS-572[ISIS-572] - [WON'T FIX] To improve performance, support the use of data pinned to caches for entities that are intended to be reference data. For these, infer the ImmutableFacet.
+* link:https://issues.apache.org/jira/browse/ISIS-563[ISIS-563] - [WON'T FIX] Implement generic Spec Transformers for BDD tests
+* link:https://issues.apache.org/jira/browse/ISIS-515[ISIS-515] - [WON'T FIX] Pinnable (and persistable) bookmarks
+* link:https://issues.apache.org/jira/browse/ISIS-2211[ISIS-2211] - [WON'T FIX] Factor out Swagger UI as a separate "viewer" module
+* link:https://issues.apache.org/jira/browse/ISIS-2114[ISIS-2114] - [WONT-FIX] Tables: Object Columns should be sortable by displayed Object Titles
+* link:https://issues.apache.org/jira/browse/ISIS-1971[ISIS-1971] - [WON'T FIX] JAXB view model: setting view's properties via PostConstruct method not honored
+
+
+== Not an Issue
+
+* link:https://issues.apache.org/jira/browse/ISIS-2280[ISIS-2280] - [NOT-AN-ISSUE] demoapp.dom.types.blob.BlobDemo: menuBars suggest GET, implementation requires POST?
+* link:https://issues.apache.org/jira/browse/ISIS-2113[ISIS-2113] - [NOT AN ISSUE] Blob/Clob Properties throw when Inline Editing (Ajax)
diff --git a/antora/components/relnotes/modules/ROOT/pages/about.adoc b/antora/components/relnotes/modules/ROOT/pages/about.adoc
index 5c276a5..47a4ed8 100644
--- a/antora/components/relnotes/modules/ROOT/pages/about.adoc
+++ b/antora/components/relnotes/modules/ROOT/pages/about.adoc
@@ -4,7 +4,7 @@
:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-This table summarises all releases of Apache Isis to date.
+This table summarises all releases of Apache Isis v2.0 to date.
[cols="2,2,4a,>1,>1,>1,3a"]
|===
@@ -17,6 +17,16 @@ This table summarises all releases of Apache Isis to date.
| Detail
+| 2.0.0-M3
+| 27-03-2020
+| Third milestone release for Apache Isis 2.0.0: now re-platformed on top of Spring Boot.
+| 24
+| 49
+| 46
+|
+* xref:relnotes:ROOT:2020/2.0.0-M3/relnotes.adoc[Release Notes]
+* https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311171&version=12344784[JIRA Rel Notes]
+
| 2.0.0-M2
| 22-01-2019
| Second milestone release for Apache Isis 2.0.0: tree support, initial work on simplifying bootstrapping and configuration, removing dependencies
@@ -27,17 +37,6 @@ This table summarises all releases of Apache Isis to date.
* xref:relnotes:ROOT:2019/2.0.0-M2/relnotes.adoc[Release Notes]
* https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311171&version=12342393[JIRA Rel Notes]
-|1.17.0
-| 06-01-2019
-| Sidebar dialogs, metamodel export
-| 4
-| 17
-| 9
-|
-* xref:relnotes:ROOT:2019/1.17.0/relnotes.adoc[Release Notes]
-* xref:relnotes:ROOT:2019/1.17.0/mignotes.adoc[Migration Notes]
-* https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311171&version=12342854[JIRA Rel Notes]
-
|2.0.0-M1
| 31-07-2018
| First milestone release for Apache Isis 2.0.0: Java 8 support, DataNucleus 5.1, Wicket 8, meta-annotations, breadcrumbs
@@ -51,369 +50,6 @@ This table summarises all releases of Apache Isis to date.
* xref:relnotes:ROOT:2018/2.0.0-M1/mignotes.adoc[Migration Notes]
* https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311171&version=12342392[JIRA Rel Notes]
-
-| 1.16.2
-| 05-03-2018
-| RO viewer support, performance improvement, fix of severe bug for parented checkboxes
-| 1
-| 6
-| 1
-|
-* xref:relnotes:ROOT:2018/1.16.2/relnotes.adoc[Release Notes]
-* https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311171&version=12342822[JIRA Rel Notes]
-
-| 1.16.1
-| 22-02-2018
-| Parented collections with checkboxes, replay module
-| 4
-| 10
-| 17
-|
-* xref:relnotes:ROOT:2018/1.16.1/relnotes.adoc[Release Notes]
-* https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311171&version=12342424[JIRA Rel Notes]
-
-| 1.16.0
-| 08-01-2018
-| Modules, simplified bootstrapping, menubars.layout.xml
-| 13
-| 16
-| 26
-|
-* xref:relnotes:ROOT:2018/1.16.0/relnotes.adoc[Release Notes]
-* xref:relnotes:ROOT:2018/1.16.0/mignotes.adoc[Migration Notes]
-* https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311171&version=12342073[JIRA Rel Notes]
-
-| 1.15.1
-| 25-09-2017
-| Bug fixes, Wicket 7.9.0, Markup valuetype
-| 5
-| 4
-| 9
-|
-* xref:relnotes:ROOT:2017/1.15.1/relnotes.adoc[Release Notes]
-* link:https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311171&version=12341577[JIRA Rel Notes]
-
-| 1.15.0
-| 14-08-2017
-| Inline prompts, Wicket 7.x
-| 7
-| 25
-| 34
-|
-* xref:relnotes:ROOT:2017/1.15.0/relnotes.adoc[Release Notes]
-* xref:relnotes:ROOT:2017/1.15.0/mignotes.adoc[Migration Notes]
-* link:https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311171&version=12338577[JIRA Rel Notes]
-
-| 1.14.0
-| 19-02-2017
-| Actions with collection parameters, metamodel validations.
-| 3
-| 11
-| 11
-|
-* xref:relnotes:ROOT:2017/1.14.0/relnotes.adoc[Release Notes]
-* xref:relnotes:ROOT:2017/1.14.0/mignotes.adoc[Migration Notes]
-* link:https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311171&version=12338898[JIRA Rel Notes]
-
-| 1.13.2.1
-| 03-jan-2017
-| Patch release for simpleapp archetype only (docker images, regular actions instead of mixins)
-| 0
-| 2
-| 0
-|
-* xref:relnotes:ROOT:2017/1.13.2.1/relnotes.adoc[Release Notes]
-* link:https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311171&version=12338937[JIRA Rel Notes]
-
-| 1.13.2
-| 14-dec-2016
-| Patch release, modular simpleapp archetype
-| 2
-| 9
-| 5
-|
-* xref:relnotes:ROOT:2016/1.13.2/relnotes.adoc[Release Notes]
-* link:https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311171&version=12338744[JIRA Rel Notes]
-
-| 1.13.1
-| 30-oct-2016
-| Patch release, better support for docker
-| 1
-| 13
-| 21
-|
-* xref:relnotes:ROOT:2016/1.13.1/relnotes.adoc[Release Notes]
-* link:https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311171&version=12337967[JIRA Rel Notes]
-
-| 1.13.0
-| 11-jul-2016
-| Commands, interactions and internal refactorings
-| 27
-| 50
-| 23
-|
-* xref:relnotes:ROOT:2016/1.13.0/relnotes.adoc[Release Notes]
-* xref:relnotes:ROOT:2016/1.13.0/mignotes.adoc[Migration Notes]
-* link:https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311171&version=12335362[JIRA Rel Notes]
-
-| 1.12.2
-| 06-jun-2016
-| Bug-fix release
-| 0
-| 0
-| 2
-|
-* xref:relnotes:ROOT:2016/1.12.2/relnotes.adoc[Release Notes]
-* link:https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311171&version=12335949[JIRA Rel Notes]
-
-| 1.12.1
-| 12-apr-2016
-| Bug-fix release
-| 0
-| 0
-| 4
-|
-* xref:relnotes:ROOT:2016/1.12.1/relnotes.adoc[Release Notes]
-* link:https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311171&version=12335484[JIRA Rel Notes]
-
-| 1.12.0
-| 29-mar-2016
-| Dynamic XML layouts
-| 7
-| 21
-| 21
-|
-* xref:relnotes:ROOT:2016/1.12.0/relnotes.adoc[Release Notes]
-* xref:relnotes:ROOT:2016/1.12.0/mignotes.adoc[Migration Notes]
-* link:https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311171&version=12327483[JIRA Rel Notes]
-
-| 1.11.1
-| 17-jan-2016
-| Re-release under Java 1.7 (using toolchains plugin).
-| 0
-| 0
-| 1
-|
-* xref:relnotes:ROOT:2016/1.11.1/relnotes.adoc[Release Notes]
-* link:https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311171&version=12334640[JIRA Rel Notes]
-
-| 1.11.0
-| 02-jan-2016
-| More flexible REST API, view models using JAXB.
-| 9
-| 19
-| 12
-|
-* xref:relnotes:ROOT:2016/1.11.0/relnotes.adoc[Release Notes]
-* xref:relnotes:ROOT:2016/1.11.0/mignotes.adoc[Migration Notes]
-* link:https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311171&version=12333974[JIRA Rel Notes]
-
-| 1.10.0
-| 10-nov-2015
-| New domain services, multi-tenancy support and mixins.
-| 7
-| 18
-| 12
-|
-* xref:relnotes:ROOT:2015/1.10.0/relnotes.adoc[Release Notes]
-* xref:relnotes:ROOT:2015/1.10.0/mignotes.adoc[Migration Notes]
-* link:https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311171&version=12333354[JIRA Rel Notes]
-
-| 1.9.0
-| 1-sep-2015
-| AppManifest, Restful Objects representations and other "under-the-cover" improvements.
-| 18
-| 50
-| 25
-|
-* xref:relnotes:ROOT:2015/1.9.0/relnotes.adoc[Release Notes]
-* xref:relnotes:ROOT:2015/1.9.0/mignotes.adoc[Migration Notes]
-* link:https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311171&version=12332806[JIRA Rel Notes]
-
-| 1.8.0
-| 24-feb-2015
-| Wicket viewer moved into core; todoapp archetype moved to link:http://www.isisaddons.org[Isis Addons] (non-ASF).
-| 27
-| 41
-| 20
-|
-* xref:relnotes:ROOT:2015/1.8.0/relnotes.adoc[Release Notes]
-* xref:relnotes:ROOT:2015/1.8.0/mignotes.adoc[Migration Notes]
-* link:https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311171&version=12328845[JIRA Rel Notes (core)]
-* link:https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311171&version=12328847[JIRA Rel Notes (archetype)]
-
-| 1.7.0
-| 18-oct-2014
-| Module functionality previously in 1.6.0 now retired; use link:http://www.isisaddons.org[Isis Addons] (non-ASF) instead.
-| 4
-| 9
-| 20
-|
-* xref:relnotes:ROOT:2014/1.7.0/relnotes.adoc[Release Notes]
-* xref:relnotes:ROOT:2014/1.7.0/mignotes.adoc[Migration Notes]
-* link:https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311171&version=12326453[JIRA Rel Notes (core)]
-* link:https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311171&version=12326460[JIRA Rel Notes (viewer-wicket)]
-* link:https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311171&version=12327441[JIRA Rel Notes (archetype-simpleapp)]
-* link:https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311171&version=12327440[JIRA Rel Notes (archetype-todoapp)]
-
-| 1.6.0
-| 28-jul-2014
-| Restful Objects viewer, JDO/Datanucleus Objectstore and Shiro Security all moved into core. Quickstart-wrj archetype renamed to todoapp; simple-wrj archetype renamed to simpleapp. Some functionality copied/refactored as link:http://www.isisaddons.org[Isis Addons] (non-ASF).
-| 6
-| 12
-| 15
-|
-* xref:relnotes:ROOT:2014/1.6.0/relnotes.adoc[Release Notes]
-* link:https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311171&version=12325314[JIRA Rel Notes (core)]
-* link:https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311171&version=12325318[JIRA Rel Notes (viewer-wicket)]
-* link:https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311171&version=12326462[JIRA Rel Notes (archetype-simpleapp)]
-* link:https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311171&version=12326461[JIRA Rel Notes (archetype-todoapp)]
-
-| 1.5.0
-| 08-jun-2014
-| No longer releasing security-file
-| 3
-| 19
-| 13
-|
-* xref:relnotes:ROOT:2014/1.5.0/relnotes.adoc[Release Notes]
-* link:https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311171&version=12326524[JIRA Rel Notes (core)]
-* link:https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311171&version=12326525[JIRA Rel Notes (objectstore-jdo)]
-* link:https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311171&version=12326529[JIRA Rel Notes (security-shiro)]
-* link:https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311171&version=12326947[JIRA Rel Notes (viewer-restfulobjects)]
-* link:https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311171&version=12326526[JIRA Rel Notes (viewer-wicket)]
-* link:https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311171&version=12326528[JIRA Rel Notes (archetype-simple-wrj)]
-* link:https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311171&version=12326527[JIRA Rel Notes (archetype-quickstart-wrj)]
-
-| 1.4.1
-| 14-mar-2014
-| Patch release
-| 0
-| 2
-| 2
-|
-* xref:relnotes:ROOT:2014/1.4.1/relnotes.adoc[Release Notes]
-* objectstore-jdo-1.4.1
-* viewer-wicket-1.4.1
-* archetype-simple-wrj-1.4.1
-* archetype-quickstart-wrj-1.4.1
-
-| 1.4.0
-| 11-mar-2014
-|
-| 56
-| 62
-| 26
-|
-* xref:relnotes:ROOT:2014/1.4.0/relnotes.adoc[Release Notes]
-* core-1.4.0
-* objectstore-jdo-1.4.0
-* security-file-1.4.0
-* security-shiro-1.4.0
-* viewer-restfulobjects-2.2.0
-* viewer-wicket-1.4.0
-* archetype-simple-wrj-1.4.0
-* archetype-quickstart-wrj-1.4.0
-
-| 1.3.1
-| 7-nov-2013
-| Patch release
-| 1
-| 0
-| 3
-|
-* xref:relnotes:ROOT:2013/1.3.1/relnotes.adoc[Release Notes]
-* viewer-wicket-1.3.1
-* archetype-simple-wrj-1.3.1
-* archetype-quickstart-wrj-1.3.1
-
-| 1.3.0
-| 25-oct-2013
-| WRJ archetype renamed to Quickstart WRJ. Simple WRJ archetype added.
-| 52
-| 61
-| 30
-|
-* xref:relnotes:ROOT:2013/1.3.0/relnotes.adoc[Release Notes]
-* core-1.3.0
-* objectstore-jdo-1.3.0
-* security-file-1.0.2
-* security-shiro-1.3.0
-* viewer-restfulobjects-2.1.0
-* viewer-wicket-1.3.0
-* archetype-simple-wrj-1.3.0
-* archetype-quickstart-wrj-1.3.0
-
-| 1.2.0
-| 30-may-2013
-|
-| 22
-| 41
-| 15
-|
-* xref:relnotes:ROOT:2013/1.2.0/relnotes.adoc[Release Notes]
-* core-1.2.0
-* objectstore-jdo-1.2.0
-* security-file-1.0.1
-* security-shiro-1.1.1
-* viewer-restfulobjects-2.0.0
-* viewer-wicket-1.2.0
-* archetype-wrj-1.0.3
-
-| 1.1.0
-| 31-jan-2013
-|
-| 9
-| 18
-| 8
-|
-* xref:relnotes:ROOT:2013/1.1.0/relnotes.adoc[Release Notes]
-* core-1.1.0
-* security-shiro-1.1.0
-* viewer-wicket-1.1.0
-* archetype-wrj-1.0.2
-
-| 1.0.1
-| 10-jan-2013
-| Combining RestfulObjects and Wicket viewers into a single webapp, along with Shiro security
-| 1
-|
-|
-|
-* xref:relnotes:ROOT:2013/1.0.1/relnotes.adoc[Release Notes]
-* security-shiro-1.0.0
-* archetype-wrj-1.0.1
-
-| 1.0.0
-| 24-dec-2012
-| First release having graduated
-| 8
-| 33
-| 6
-|
-* xref:relnotes:ROOT:2013/1.0.0/relnotes.adoc[Release Notes]
-* core-1.0.0
-* security-file-1.0.0
-* viewer-wicket-1.0.0
-* viewer-restfulobjects-1.0.0
-* archetype-wrj-1.0.0
-
-
-| 0.2.0-incubating
-| 20-feb-2012
-|
-|
-|
-|
-| * 0.2.0-incubating
-
-| 0.1.2-incubating
-| 13-jul-2011
-| First release in the ASF incubator
-|
-|
-|
-| * 0.1.2-incubating
|===
diff --git a/antora/components/setupguide/modules/intellij/partials/UNUSED/faster-turnaround-times.adoc b/antora/components/setupguide/modules/intellij/partials/UNUSED/faster-turnaround-times.adoc
index 19a5d81..756b21f 100644
--- a/antora/components/setupguide/modules/intellij/partials/UNUSED/faster-turnaround-times.adoc
+++ b/antora/components/setupguide/modules/intellij/partials/UNUSED/faster-turnaround-times.adoc
@@ -71,7 +71,7 @@ image::070-advanced/004-gradle-output.png[width="600px",link="{imagesdir}/070-ad
== Using Gradle for liveReload
Similarly, gradle can be run to reduce the turn-around time when tweaking the UI (defined by the
-xref:vw:ROOT:layout.adoc#file-based[`*.layout.xml`] file for each domain class), when the app is running.
+xref:userguide:fun:ui.adoc#object-layout[`*.layout.xml`] file for each domain class), when the app is running.
The framework will automatically notice any changes to `.layout.xml` files, but these are read from the classpath (the `target/classes` directory), not the source path.
With IntelliJ these can be copied over manually by invoking `Run > Reload Changed Classes`.
diff --git a/antora/playbooks/site.yml b/antora/playbooks/site.yml
index 0881844..362a130 100644
--- a/antora/playbooks/site.yml
+++ b/antora/playbooks/site.yml
@@ -304,8 +304,8 @@ content:
ui:
bundle:
-# url: ../isis-antora/build/ui-bundle.zip
- url: https://github.com/apache/isis-antora/blob/master/build/ui-bundle.zip?raw=true
+ url: ../isis-antora/build/ui-bundle.zip
+# url: https://github.com/apache/isis-antora/blob/master/build/ui-bundle.zip?raw=true
snapshot: true
supplemental_files: antora/supplemental-ui
diff --git a/antora/supplemental-ui/css/site-custom.css b/antora/supplemental-ui/css/site-custom.css
index 640de42..11b8a16 100644
--- a/antora/supplemental-ui/css/site-custom.css
+++ b/antora/supplemental-ui/css/site-custom.css
@@ -27,6 +27,7 @@ div.paragraph code {
color: darkmagenta;
}
+.doc p a code,
.doc div.ulist a code,
.doc div.paragraph a code {
color: cornflowerblue;
diff --git a/antora/supplemental-ui/doap_isis.rdf b/antora/supplemental-ui/doap_isis.rdf
index c3c672d..63f107b 100644
--- a/antora/supplemental-ui/doap_isis.rdf
+++ b/antora/supplemental-ui/doap_isis.rdf
@@ -36,6 +36,16 @@
<category rdf:resource="http://projects.apache.org/category/web-framework" />
+ <!-- 2020-03-27 releases -->
+ <release>
+ <Version>
+ <name>isis</name>
+ <created>2020-03-27</created>
+ <revision>2.0.0-M3</revision>
+ </Version>
+ </release>
+
+
<!-- 2019-01-22 releases -->
<release>
<Version>
diff --git a/api/adoc/refguide/modules/ROOT/pages/about.adoc b/api/adoc/refguide/modules/ROOT/pages/about.adoc
index 96c7448..9028728 100644
--- a/api/adoc/refguide/modules/ROOT/pages/about.adoc
+++ b/api/adoc/refguide/modules/ROOT/pages/about.adoc
@@ -7,8 +7,9 @@
The reference guides cover:
* xref:refguide:applib-ant:about.adoc[Annotations]
+* xref:refguide:applib-methods:about.adoc[Methods]
+* xref:refguide:applib-classes:about.adoc[Classes]
* xref:refguide:applib-svc:about.adoc[Domain Services]
-* xref:refguide:applib-cm:about.adoc[Classes & Methods]
* xref:refguide:config:about.adoc[Configuration]
* xref:refguide:schema:about.adoc[Schemas]
diff --git a/api/adoc/refguide/modules/ROOT/partials/component-nav.adoc b/api/adoc/refguide/modules/ROOT/partials/component-nav.adoc
index 07389e3..0285b49 100644
--- a/api/adoc/refguide/modules/ROOT/partials/component-nav.adoc
+++ b/api/adoc/refguide/modules/ROOT/partials/component-nav.adoc
@@ -1,6 +1,7 @@
include::refguide:ROOT:partial$module-nav.adoc[]
include::refguide:applib-ant:partial$module-nav.adoc[]
+include::refguide:applib-methods:partial$module-nav.adoc[]
+include::refguide:applib-classes:partial$module-nav.adoc[]
include::refguide:applib-svc:partial$module-nav.adoc[]
-include::refguide:applib-cm:partial$module-nav.adoc[]
include::refguide:config:partial$module-nav.adoc[]
include::refguide:schema:partial$module-nav.adoc[]
diff --git a/api/adoc/userguide/modules/ROOT/pages/about.adoc b/api/adoc/userguide/modules/ROOT/pages/about.adoc
index 4db27d7..8cdcc6f 100644
--- a/api/adoc/userguide/modules/ROOT/pages/about.adoc
+++ b/api/adoc/userguide/modules/ROOT/pages/about.adoc
@@ -3,12 +3,19 @@
:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-The user guide breaks into two main sections:
-* xref:userguide:fun:about.adoc[Fundamentals]
-* xref:userguide:btb:about.adoc[Beyond the Basics]
+This guide introduces the xref:userguide:fun:concepts-patterns.adoc[core concepts] and then an xref:userguide:fun:overview.adoc[overview] of the building blocks of Apache Isis applications.
-It also includes some extensions:
+It next describes the basics of the Apache Isis' programming model: xref:userguide:fun:domain-entities-and-services.adoc[domain entities and services], xref:userguide:fun:object-members.adoc[object members], xref:userguide:fun:ui.adoc[UI layout and hints], xref:userguide:fun:business-rules.adoc[business rules] and xref:userguide:fun:drop-downs-and-defaults.adoc[drop downs and defaults].
+
+It then moves on to discuss some slightly more advanced areas of the programming model: xref:userguide:fun:meta-annotations.adoc[meta-annotations], xref:userguide:fun:view-models.adoc[view models] and xref:userguide:fun:mixins.adoc[mixins].
+These all allow you to develop more sophisticated applications, while remaining maintainable and elegant.
+
+To finish up, there is a chapter on xref:userguide:fun:domain-entities-and-services.adoc#object-management-crud[CRUD] which runs through these basic operations, and a chapter explaining how to structure your application using xref:userguide:fun:modules.adoc[modules].
+
+There is one further chapter, xref:userguide:btb:about.adoc[Beyond the Basics], which tackles more advanced topics.
+
+As an appendix, the guide also references some of the extensions that you are likely to use often and routinely:
* xref:userguide:flyway:about.adoc[Flyway]
diff --git a/api/adoc/userguide/modules/btb/pages/about.adoc b/api/adoc/userguide/modules/btb/pages/about.adoc
index 6bc6d8a..651c83c 100644
--- a/api/adoc/userguide/modules/btb/pages/about.adoc
+++ b/api/adoc/userguide/modules/btb/pages/about.adoc
@@ -3,9 +3,8 @@
:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-This guide covers some of the more advanced topics when developing more substantial applications.
+This chapter covers a miscellany of more advanced topics that may be of help when developing your Apache Isis applications.
-Later chapters discuss how to xref:userguide:btb:deployment.adoc[deploy] your app, and discuss other ways in which you can xref:userguide:btb:programming-model.adoc[extend] or adapt the framework itself to your particular needs.
diff --git a/api/adoc/userguide/modules/btb/pages/deployment.adoc b/api/adoc/userguide/modules/btb/pages/deployment.adoc
deleted file mode 100644
index bed28d5..0000000
--- a/api/adoc/userguide/modules/btb/pages/deployment.adoc
+++ /dev/null
@@ -1,20 +0,0 @@
-[[deployment]]
-= Deployment
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-This chapter provides guidance on some common deployment scenarios.
-
-
-
-
-
-
-include::deployment/cmd-line.adoc[leveloffset=+1]
-include::deployment/externalized-configuration.adoc[leveloffset=+1]
-include::deployment/tomcat.adoc[leveloffset=+1]
-include::deployment/docker.adoc[leveloffset=+1]
-include::deployment/gae.adoc[leveloffset=+1]
-include::deployment/neo4j.adoc[leveloffset=+1]
-include::deployment/jvm-flags.adoc[leveloffset=+1]
diff --git a/api/adoc/userguide/modules/btb/pages/deployment/cmd-line.adoc b/api/adoc/userguide/modules/btb/pages/deployment/cmd-line.adoc
deleted file mode 100644
index a7c7812..0000000
--- a/api/adoc/userguide/modules/btb/pages/deployment/cmd-line.adoc
+++ /dev/null
@@ -1,117 +0,0 @@
-[[cmd-line]]
-= Command Line (`WebServer`)
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-
-TODO: this is out-of-date, can instead use Spring container.
-
-As well as deploying an Apache Isis application into a servlet container, it is also possible to invoke from the command line using the `org.apache.isis.WebServer` utility class.
-This is especially useful while developing and testing, but may also suit some deployment scenarios (eg running as a standalone EXE within a Docker container, for example).
-Internally the `WebServer` spins up a Jetty servlet container.
-
-The class also supports a number of command line arguments:
-
-.Command line args for `org.apache.isis.Webserver`
-[cols="1a,2a,2a,4a", options="header"]
-|===
-| Flag
-| Long format
-| Values +
-(default)
-| Description
-
-|`-t`
-|`--type`
-|`server_prototype`, `server` +
-(`server`)
-|Deployment type
-
-
-|`-m`
-|`--manifest`
-|FQCN
-|Fully qualified class name of the xref:refguide:applib-cm:classes/super.adoc#AppManifest[`AppManifest`] to use to bootstrap the system. +
-
-This flag sets/overrides the `isis.appManifest` configuration property to the specified class name.
-
-
-|`-f`
-|`--fixture`
-|FQCN
-|Fully qualified class name of the fixture (extending xref:refguide:applib-cm:classes/super.adoc#FixtureScript[`FixtureScript`]) to be run to setup data. +
-
-This flag sets/overrides the `isis.fixtures` configuration property to the specified class name, and also sets the `isis.persistor.datanucleus.install-fixtures` configuration property to `true` to instruct the JDO/DataNucleus objectstore to actually load in the fixtures. +
-
-It is also possible to specify the fixture class name using either the `$IsisFixture` or `$IsisFixtures` environment variable (case insensitive).
-
-|`-p`
-|`--port`
-|(8080)
-|The port number to listen on. +
-
-This flag sets/overrides the `isis.embedded-web-server.port` configuration property.
-
-
-
-|`-c`
-|`--config`
-|filename
-|configuration file containing additional configuration properties
-
-
-
-|`-D`
-|
-|xxx=yyy
-|Specify additional arbitrary configuration properties. This can be specified multiple times. +
-
-Further discussion below.
-
-|`-v`
-|`--version`
-|
-|Prints the version, then quits
-
-
-
-|`-h`
-|`--help`
-|
-|Prints a usage message, then quits
-
-
-|===
-
-
-Note that the `-D` argument is *not* a system property, it is parsed by `WebServer` itself. That said, it is _also_ possible to specify system properties, and these will also be processed in the exact same way. +
-
-Said another way, properties can be specified either as application arguments:
-
-[source,ini]
-----
-java org.apache.isis.WebServer -Dxxx=yyy -Daaa=bbb
-----
-
-or as system properties:
-
-[source,ini]
-----
-java -Dxxx=yyy -Daaa=bbb org.apache.isis.WebServer
-----
-
-
-
-
-
-
-[TIP]
-.The `Dummy` class
-====
-The framework also provides the `org.apache.isis.Dummy` class, which consists of a single empty `main(String[])` method. It was introduced as a convenience for developers using Eclipse in combination with the DataNucleus plugin; if used as a launch target then it allow the entities to be enhanced withouth the running an app.
-====
-
-
-
diff --git a/api/adoc/userguide/modules/btb/pages/deployment/docker.adoc b/api/adoc/userguide/modules/btb/pages/deployment/docker.adoc
deleted file mode 100644
index da49915..0000000
--- a/api/adoc/userguide/modules/btb/pages/deployment/docker.adoc
+++ /dev/null
@@ -1,91 +0,0 @@
-[[docker]]
-= Docker
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-When running the application within a Docker container, the problem that must be solved is to override the
-configuration properties baked into the war file, eg to point to the app to a different JDBC URL.
-
-There are several options.
-
-[WARNING]
-====
-All the options here rely on starting the Docker container with a set of arguments, some of which would very likely
-be passwords for database connections etc. As such these techniques are only suitable where the security of the
-Docker host can be assured.
-====
-
-
-== Using an `overrides.properties`
-
-WARNING: TODO: v2: this is out of date; instead just cross-reference Spring docs on how to do this.
-
-In addition to loading the regular configuration properties from `WEB-INF` directory (described
-xref:refguide:config:configuration-files.adoc[here]), Apache Isis will also load the `overrides.properties` file.
-
-This file is treated slightly differently than the other configuration files; it is loaded last, and any configuration
-properties defined in it will _override_ any configuration properties already read from other files (this includes
-any properties specified via the command line).
-
-While the regular configuration files are "baked into" the application WAR file, the `overrides.properties` file is
-created dynamically as part of the Docker `ENTRYPOINT` script, eg as documented in the
-link:https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/[Dockerfile best practices].
-
-Thus, Docker can be supported as follows:
-
-* use `mvn` (as currently) to create a WAR file; set up with the `pom.xml` with the JDBC drivers of all DB servers that
- you might want to connect to (hsqldb, sql server, postgresql etc)
-
-* in the `Dockerfile`, specify a base image containing Tomcat 8 + Java 8 (say)
-
-* also in the `Dockerfile`, arrange it such that the WAR file is "exploded" (there is no need to copy over the WAR file itself)
-
-* write a script that:
-** explodes the WAR file, copying it into the Tomcat's `webapp` directory. There is no need to copy
-over the WAR file itself.
-** creates the `overrides.properties` file from any input arguments, placing it into the `WEB-INF` directory
-** sets all files to read-only
-
-* use `ENTRYPOINT` (and probably also `CMD`) to invoke above script.
-
-
-
-== Using system properties
-
-The servlet context initializer will search for any system properties called `isis.xxx`
- and if present will use them as overrides.
-
-Thus, an alternative option for a Docker image is to bootstrap the servlet container (Tomcat, Jetty) with appropriate
-system properties set up. For example, with Tomcat this can be done by writing into the `conf/catalina.properties` file
-(see for example link:http://stackoverflow.com/a/16566920[this stackoverflow] post).
-
-The Docker's `ENTRYPOINT` therefore just needs to parse the Docker container's own command line arguments and use to
-create this file.
-
-
-== Using `$ISIS_OPTS`
-
-The servlet context initializer will search for an environment variable called `$ISIS_OPTS`
- and if present will parse the content as a set of key/value pairs. Each key/value pair is separated by "||".
-
-For example:
-
-[source,bash]
-----
-export ISIS_OPTS="isis.appManifest=domainapp.app.DomainAppAppManifestWithFixtures||isis.objects.editing=false"
-----
-
-can be used to run with a different app manifest, and also to disable editing of properties.
-
-To use a different separator, set the (optional) `$ISIS_OPTS_SEPARATOR` variable.
-
-[source,bash]
-----
-export ISIS_OPTS_SEPARATOR=";"
-export ISIS_OPTS="isis.appManifest=domainapp.app.DomainAppAppManifestWithFixtures;isis.objects.editing=false"
-----
-
-The Docker's `ENTRYPOINT` therefore just needs to parse the Docker container's own command line arguments and use to
-set this environment variable.
diff --git a/api/adoc/userguide/modules/btb/pages/deployment/externalized-configuration.adoc b/api/adoc/userguide/modules/btb/pages/deployment/externalized-configuration.adoc
deleted file mode 100644
index d0abfd2..0000000
--- a/api/adoc/userguide/modules/btb/pages/deployment/externalized-configuration.adoc
+++ /dev/null
@@ -1,259 +0,0 @@
-[[externalized-configuration]]
-= Externalized Configuration
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-
-As described xref:refguide:config:configuration-files.adoc[here], by default Apache Isis itself bootstraps from the
-`isis.properties` configuration file.
-It will also read configuration from the (optional) component/implementation-specific configuration files (such as `persistor_datanucleus.properties` or `viewer_wicket.properties`), and also (optional) component-specific configuration files (such as `persistor.properties` or `viewer.properties`).
-
-It's generally not good practice to have the same configuration property in more than one file, but if that does occur, then the subsequent configuration property will be ignored.
-
-[TIP]
-====
-In addition the framework will also load the `overrides.properties` file.
-This is intended to support deployment through Docker, as discussed xref:userguide:btb:about.adoc#docker[next].
-====
-
-All of these files are read from the `WEB-INF` directory.
-Having this configuration "baked into" the application is okay in a development environment, but when the app needs to be deployed to a test or production environment, this configuration should be read from an external location.
-
-There are in fact several frameworks involved here, all of which need to be pointed to this external location:
-
-* Apache Isis itself, which (as already discussed) reads `isis.properties` and optional component-specific config files.
-
-* link:http://shiro.apache.org[Apache Shiro], which reads the `shiro.ini` file (and may read other files referenced from that file)
-
-* http://logging.apache.org/log4j/1.2[Apache log4j 1.2], for logging, which reads `logging.properties` file
-
-* although not used by Apache Isis, there's a good chance you may be using the Spring framework (eg if using http://activemq.apache.org[Apache Active MQ] or http://camel.apache.org[Apache Camel].
-
-Each of these frameworks has its own way of externalizing its configuration.
-
-
-[TIP]
-====
-Subsequent sections explain how to externalize configuration for xref:userguide:btb:about.adoc#docker[Docker].
-====
-
-
-
-== Apache Isis' Config
-
-To tell Apache Isis to load configuration from an external directory, specify the `isis.config.dir` context parameter.
-
-
-If the external configuration directory is fixed for all environments (systest, UAT, prod etc), then you can specify within the `web.xml` itself:
-
-WARNING: TODO: v2: this has almost certainly changed, because the configuration is picked up earlier; this probably no longer works.
-
-[source,xml]
-----
-<context-param>
- <param-name>isis.config.dir</param-name>
- <param-value>location of external config directory</param-value>
-</context-param>
-----
-
-If however the configuration directory varies by environment, then the context parameter will be specified to each installation of your servlet container.
-Most (if not all) servlet containers will provide a means to define context parameters through proprietary config files.
-
-
-
-[NOTE]
-====
-Note that running the app using Apache Isis' `org.apache.isis.WebServer` bootstrapper does not use externalized Apache Isis configuration.
-====
-
-
-
-
-
-
-== Shiro Config
-
-If using Apache Isis' xref:security:shiro:configuring-isis-to-use-shiro.adoc[Shiro integration] for authentication and/or authorization, note that it reads from the `shiro.ini` configuration file.
-By default this also resides in `WEB-INF`.
-
-Similar to Apache Isis, Shiro lets this configuration directory be altered, by specifying the `shiroConfigLocations` context parameter.
-
-You can therefore override the default location using the same technique as described above for Apache Isis' `isis.config.dir` context parameter.
-For example:
-
-[source,xml]
-----
-<Parameter name="shiroConfigLocations"
- value="file:/usr/local/myapp/conf/shiro.ini"
- override="false" />
-----
-
-[TIP]
-====
-Note that Shiro is more flexible than Apache Isis; it will read its configuration from any URL, not just a directory on the local filesystem.
-====
-
-
-
-
-== Log4j Config
-
-By default Apache Isis configures log4j to read the `logging.properties` file in the `WEB-INF` directory.
-This can be overridden by setting the `log4j.properties` system property to the URL of the log4j properties file.
-
-[[log4j-config-tomcat]]
-=== Tomcat
-
-For example, if deploying to Tomcat7 or Tomcat8, this amounts to adding the following to the `CATALINA_OPTS` flags:
-
-[source,bash]
-----
-export CATALINA_OPTS="-Dlog4j.configuration=/usr/local/tomcat/myapp/conf/logging.properties"
-----
-
-[TIP]
-====
-`CATALINA_OPTS` was called `TOMCAT_OPTS` in earlier versions of Tomcat.
-====
-
-Further details an be found in the link:https://logging.apache.org/log4j/1.2/manual.html#Example_Configurations[log4j documentation].
-
-
-
-
-== Spring Config
-
-Although Apache Isis does not use Spring, it's possible that your app may use other components that do use Spring.
-For example, the (non-ASF) link:https://platform.incode.org[Incode Platform^]'s publishmq module uses ActiveMQ and Camel to support publishing; both of these leverage Spring.
-
-There are several ways to externalized Spring config, but the mechanism described here is similar in nature to those that we use for externalizing Apache Isis' and Shiro's configuration.
-In your `web.xml`, you will probably load the Spring application context using code such as:
-
-[source,xml]
-----
-<listener>
- <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
-</listener>
-<context-param>
- <param-name>contextConfigLocation</param-name>
- <param-value>
- classpath:my-application-context-config.xml
- </param-value>
-</context-param>
-----
-
-Add a new application context `propertyPlaceholderConfigurer-config.xml` defining a `PropertyPlaceholderConfigurer` bean.
-
-[source,xml]
-----
-<beans
- xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
- http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd">
- <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
- <property name="locations">
- <list>
- <value>${spring.config.file}</value>
- </list>
- </property>
- </bean>
-</beans>
-----
-
-This reads the properties from a `spring.config.file`, defined as a context-param in the `web.xml`:
-
-[source,xml]
-----
-<context-param>
- <param-name>spring.config.file</param-name>
- <param-value>classpath:spring.properties</param-value>
-</context-param>
-
-----
-
-Then update the bootstrapping in `web.xml` to use this new application context, eg:
-
-[source,xml]
-----
-<context-param>
- <param-name>contextConfigLocation</param-name>
- <param-value>
- classpath:my-application-context-config.xml,
- classpath:propertyPlaceholderConfigurer-config.xml
- </param-value>
-</context-param>
-----
-
-To use some other externalized configuration, override the `spring.config.file` property, eg using Tomcat's config file:
-
-[source,xml]
-----
-<Parameter name="spring.config.dir"
- value="file:/usr/local/myapp/conf/spring.properties"
- override="false" />
-----
-
-
-
-=== An alternative approach
-
-As mentioned, there are several other ways to externalize Spring's config; one approach is to use Spring's profile support.
-
-For example, in the application context you could have:
-
-[source,xml]
-----
-<beans profile="default">
- <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
- <property name="locations">
- <list>
- <value>classpath:dev.properties</value>
- </list>
- </property>
- </bean>
-</beans>
-<beans profile="externalized">
- <bean id="propertyPlaceHolder" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
- <property name="locations">
- <list>
- <value>classpath:prod.properties</value>
- </list>
- </property>
- </bean>
-</beans>
-----
-
-The idea being that specifying the "prod" profile rather than the "default" profile would cause a different set of configuration properties to be read.
-
-The active profile can be overridden with a system property, eg:
-
-[source,bash]
-----
--Dspring.profiles.active=prod
-----
-
-
-take a look at link:http://stackoverflow.com/a/10041835/56880[this SO answer] on using Spring profiles.
-
-
-
-
-
-== JVM Args
-
-The xref:refguide:applib-svc:WrapperFactory.adoc[`WrapperFactory`] uses link:http://www.javassist.org[Javassist] to create on-the-fly classes acting as a proxy.
-The cost of these proxies can be mitigated using:
-
-[source,ini]
-----
--XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC
-----
-
-
-
-== Using a JNDI Datasource
-
-See the guidance in the xref:pjdo:ROOT:configuring.adoc#using-jndi-data-source[configuring datanucleus] section.
diff --git a/api/adoc/userguide/modules/btb/pages/deployment/gae.adoc b/api/adoc/userguide/modules/btb/pages/deployment/gae.adoc
deleted file mode 100644
index 63ad20a..0000000
--- a/api/adoc/userguide/modules/btb/pages/deployment/gae.adoc
+++ /dev/null
@@ -1,50 +0,0 @@
-[[gae]]
-= Deploying to Google App Engine
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-The link:https://cloud.google.com/appengine/docs[Google App Engine] (GAE) provides a JDO API, meaning that you can deploy Apache Isis onto GAE using JDO/DataNucleus.
-
-However, GAE is not an RDBMS, and so there are some limitations that it imposes. This page gathers together various hints, tips and workarounds.
-
-
-
-
-== Primary Keys and Owned/Unowned Relationships
-
-All entities must have a `@PrimaryKey`. Within GAE, the type of this key matters.
-
-For an entity to be an aggregate root, (ie a root of an GAE entity group), its key must be a `Long`, eg:
-
-Any collection that holds this entity type (eg `ToDoItem#dependencies` holding a collection of ``ToDoItem``s) should then be annotated with `@Unowned` (a GAE annotation).
-
-If on the other hand you want the object to be owned (through a 1:m relationship somewhere) by some other root, then use a String:
-
-Note: if you store a relationship with a String key it means that the parent object _owns_ the child, any attempt to change the relationship raise and exception.
-
-
-
-
-
-== Custom Types
-
-Currently Apache Isis' `Blob` and `Clob` types and the JODA types (`LocalDate` et al) are _not_ supported in GAE.
-
-Instead, GAE defines a link:https://cloud.google.com/appengine/docs/java/datastore/entities#Properties_and_Value_Types[fixed set of value types], including `BlobKey`. Members of the Apache Isis community have this working, though I haven't seen the code.
-
-The above notwithstanding, Andy Jefferson at DataNucleus tells us:
-
-pass:[<div class="extended-quote-first"><p>]GAE JDO/JPA does support _some_ type conversion, because looking at http://code.google.com/p/datanucleus-appengine/source/browse/trunk/src/com/google/appengine/datanucleus/StoreFieldManager.java#349[StoreFieldManager.java] for any field that is Object-based and not a relation nor Serialized it will call http://code.google.com/p/datanucleus-appengine/source/browse/trunk/src/com/google/appengine/datanucleus/TypeConversionUtils.java#736[TypeConver [...]
-pass:[</p></div>]
-
-On further investigation, it seems that the GAE implementation performs a type check on a `SUPPORTED_TYPES` Java set, in `com.google.appengine.api.datastore.DataTypeUtils`:
-
-[source,java]
-----
-if (!supportedTypes.contains(value.getClass())) {
- throw new IllegalArgumentException(prefix + value.getClass().getName() + " is not a supported property type.");
-}
-----
-
-We still need to try out Andy's recipe, above.
diff --git a/api/adoc/userguide/modules/btb/pages/deployment/jvm-flags.adoc b/api/adoc/userguide/modules/btb/pages/deployment/jvm-flags.adoc
deleted file mode 100644
index d05db5f..0000000
--- a/api/adoc/userguide/modules/btb/pages/deployment/jvm-flags.adoc
+++ /dev/null
@@ -1,52 +0,0 @@
-[[jvm-flags]]
-= JVM Flags
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-NOTE: FIXME
-
-
-The default JVM configuration will most likely not be appropriate for running Isis as a webapp. The table below suggests some JVM args that you will probably want to modify:
-
-.JVM args
-[cols="1,1", options="header"]
-|===
-
-|Flag
-|Description
-
-|-server
-|Run the JVM in server mode, meaning that the JVM should spend more time on the optimization of the fragments of codes that are most often used (hotspots). This leads to better performance at the price of a higher overhead at startup.
-
-|-Xms128m
-Minimum heap size
-
-
-|-Xmx768m
-|Maximum heap size
-
-
-|-XX:PermSize=64m
-|Minimum perm size (for class definitions)
-
-
-|-XX:MaxPermSize=256m
-|Maximum perm size (for class definitions)
-
-
-|-XX:+DisableExplicitGC
-|Causes any explicit calls to <tt>System.gc()</tt> to be ignored. +
-+
-See link:http://stackoverflow.com/questions/12847151/setting-xxdisableexplicitgc-in-production-what-could-go-wrong[this stackoverflow] question.
-
-|===
-
-There are also a whole bunch of GC-related flags, that you might want to explore; see this detailed link:http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html[Hotspot JVM] documentation and also this link:http://blog.ragozin.info/2011/09/hotspot-jvm-garbage-collection-options.html[blog post].
-
-
-
-## Configuring in Tomcat
-
-If using Tomcat, update the `CATALINA_OPTS` variable. (This variable is also updated if xref:userguide:btb:deployment/externalized-configuration.adoc#log4j[configuring logging to run externally]).
-
diff --git a/api/adoc/userguide/modules/btb/pages/deployment/neo4j.adoc b/api/adoc/userguide/modules/btb/pages/deployment/neo4j.adoc
deleted file mode 100644
index 26acabc..0000000
--- a/api/adoc/userguide/modules/btb/pages/deployment/neo4j.adoc
+++ /dev/null
@@ -1,50 +0,0 @@
-[[neo4j]]
-= Neo4J
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-Apache Isis has experimental support for Neo4J, courtesy of DataNucleus' http://www.datanucleus.org/products/datanucleus/datastores/neo4j.html[Neo4J Datastore] implementation.
-
-//TODO: v2: need to port this over from http://github.com/isisaddons/isis-app-neoapp
-
-[TIP]
-====
-The http://github.com/apache/isis-app-neoapp[neoapp] is configured to run with an embedded Neo4J server running alongside the Apache Isis webapp.
-====
-
-The steps below describe the configuration steps required to update an existing app.
-
-== ConnectionURL
-
-In `persistor.properties`, update the JDO `ConnectionURL` property, eg:
-
-[source,ini]
-----
-isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=neo4j:neo4j_DB
-----
-
-The other connection properties (`ConnectionDriverName`, `ConnectionUserName` and `ConnectionPassword`) should be commented out.
-
-== Update pom.xml
-
-Add the following dependency to the `webapp` project's `pom.xml`:
-
-[source,xml]
-----
-<dependencies>
- ...
- <dependency>
- <groupId>org.datanucleus</groupId>
- <artifactId>datanucleus-neo4j</artifactId>
- <version>4.0.5</version> <!--1-->
- </dependency>
- ...
-</dependencies>
-----
-<1> for Isis v1.9.0, use the value shown.
-For Isis v1.8.0, use 3.2.3.
-
-
-
diff --git a/api/adoc/userguide/modules/btb/pages/deployment/tomcat.adoc b/api/adoc/userguide/modules/btb/pages/deployment/tomcat.adoc
deleted file mode 100644
index 91a5e5a..0000000
--- a/api/adoc/userguide/modules/btb/pages/deployment/tomcat.adoc
+++ /dev/null
@@ -1,61 +0,0 @@
-[[tomcat]]
-= Deploying to Tomcat
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-Some pointers on how to xref:userguide:btb:about.adoc#externalized-configuration[externalize configuration] when deploying to Tomcat.
-Other servlet containers have similar mechanisms.
-
-
-== Tomcat 8.0
-
-If deploying Tomcat 8.0, create a file called `$TOMCAT_HOME/conf/Catalina/localhost/todoapp.xml`, where `todoapp.xml` corresponds to the name of the webapp being deployed, eg `todoapp.war`.
-
-The contents of this file would be something like:
-
-[source,xml]
-----
-<?xml version="1.0" encoding="UTF-8"?>
-<Context>
-
- <WatchedResource>WEB-INF/web.xml</WatchedResource>
- <Manager pathname="" />
-
- <Parameter name="shiroConfigLocations"
- value="file:/var/todoapp/dev/shiro.ini"
- override="false" />
-
- <Parameter name="isis.config.dir"
- value="/var/todoapp/dev/"
- override="false" />
-
- <Parameter name="spring.config.file"
- value="file:/var/todoapp/dev/spring.properties"
- override="false" />
-
- <Parameter name="wicket.configuration"
- value="development"
- override="false" />
-
-</Context>
-----
-
-[IMPORTANT]
-====
-Note that the `override` key should be set to "false", not "true".
-It indicates whether the application's own `web.xml` can override the setting.
-In most cases, you probably want to disallow that.
-====
-
-Thus, when `todoapp.war` is deployed to `$CATALINA_HOME/webapp`, then this configuration will be used.
-
-For more detail, see the Tomcat 8.0 documentation on link:http://tomcat.apache.org/tomcat-8.0-doc/config/context.html#Defining_a_context[defining a context] and on link:http://tomcat.apache.org/tomcat-8.0-doc/config/context.html#Context_Parameters[context parameters].
-
-== Tomcat 7.0
-
-If using Tomcat 7.0, the process is similar to that of Tomcat 8.0, however the override file resides in `$TOMCAT_HOME/conf`, rather than `$TOMCAT_HOME/conf/Catalina/localhost`.
-
-For more detail, see the Tomcat 7.0 documentation on link:http://tomcat.apache.org/tomcat-7.0-doc/config/context.html#Defining_a_context[defining a context] and on link:http://tomcat.apache.org/tomcat-7.0-doc/config/context.html#Context_Parameters[context parameters].
-
diff --git a/api/adoc/userguide/modules/btb/pages/headless-access/AbstractIsisSessionTemplate.adoc b/api/adoc/userguide/modules/btb/pages/headless-access/AbstractIsisSessionTemplate.adoc
index e2bc769..57d443b 100644
--- a/api/adoc/userguide/modules/btb/pages/headless-access/AbstractIsisSessionTemplate.adoc
+++ b/api/adoc/userguide/modules/btb/pages/headless-access/AbstractIsisSessionTemplate.adoc
@@ -10,31 +10,46 @@ The `AbstractIsisSessionTemplate` class (whose name is inspired by the Spring fr
The class itself is intended to be subclassed:
[source,java]
+.AbstractIsisSessionTemplate.java
----
public abstract class AbstractIsisSessionTemplate {
- public void execute(final AuthenticationSession authSession, final Object context) { /* ... */ } //<1>
- protected abstract void doExecute(Object context); // <2>
+ public void execute( // <.>
+ final AuthenticationSession authSession,
+ final Object context) {
+ // ...
+ }
- protected ObjectAdapter adapterFor(final Object targetObject) { /* ... */ }
- protected ObjectAdapter adapterFor(final RootOid rootOid) { /* ... */ }
+ protected void doExecute(final Object context) { // <.>
+ transactionService.executeWithinTransaction(()->{
+ doExecuteWithTransaction(context);
+ });
+ }
- protected PersistenceSession getPersistenceSession() { /* ... */ }
- protected IsisTransactionManager getTransactionManager() { /* ... */ }
- protected AdapterManager getAdapterManager() { /* ... */ }
+ protected void doExecuteWithTransaction(final Object context) {} // <.>
}
----
-<1> `execute(...)` sets up the `IsisSession` and delegates to ...
-<2> `doExecute(...)`, the mandatory hook method for subclasses to implement.
+<.> `execute(...)` sets up the `IsisSession` and delegates to ...
+<.> `doExecute(...)`, a hook method for subclasses to implement.
The passed object represents passes a context from the caller (eg the scheduler, cron job, JMS etc) that instantiated and executed the class.
+<.> Alternatively, override the `doExecuteWithTransaction()`.
-The `protected` methods expose key internal APIs within Apache Isis, for the subclass to use as necessary.
+In fact, the initial `execute(...)` method implementation is simply:
+[source,java]
+----
+public void execute(final AuthenticationSession authSession, final Object context) {
+ isisSessionFactory.runAuthenticated(authSession, ()->{
+ serviceInjector.injectServicesInto(this);
+ doExecute(context);
+ });
+}
+----
+
+So, as an alternative to using `AbstractIsisSessionTemplate`, you could instead just use `IsisSessionFactory`.
-[TIP]
-====
-One notable feature of `AbstractIsisSessionTemplate` is that it will automatically inject any domain services into itself. Thus, it is relatively easy for the subclass to "reach into" the domain, through injected repository services.
-====
+If you _do_ use `AbstractIsisSessionTemplate`, note that it automatically inject any domain services into itself.
+Thus, it is relatively easy for the subclass to "reach into" the domain, through injected services.
diff --git a/api/adoc/userguide/modules/btb/pages/headless-access/BackgroundCommandExecution.adoc b/api/adoc/userguide/modules/btb/pages/headless-access/BackgroundCommandExecution.adoc
index f32849f..d683232 100644
--- a/api/adoc/userguide/modules/btb/pages/headless-access/BackgroundCommandExecution.adoc
+++ b/api/adoc/userguide/modules/btb/pages/headless-access/BackgroundCommandExecution.adoc
@@ -37,7 +37,9 @@ image::headless-access/BackgroundCommandExecution.png[width="400px",link="{image
The `BackgroundCommandExecutionFromBackgroundCommandServiceJdo` is a concrete subclass of `BackgroundCommandExecution` (see the xref:refguide:applib-svc:BackgroundService.adoc[`BackgroundCommandService`]), the intended use being for the class to be instantiated regularly (eg every 10 seconds) by a scheduler such as http://quartz-scheduler.org[Quartz]) to poll for ``Command``s to be executed, and then execute them.
-This implementation queries for ``Command``s persisted by the (non-ASF) link:https://platform.incode.org[Incode Platform^]'s command module's implementations of xref:refguide:applib-svc:CommandService.adoc[`CommandService`] and xref:refguide:applib-svc:BackgroundCommandService.adoc[`BackgroundCommandService`] using the `BackgroundCommandServiceJdoRepository`.
+This implementation queries for ``Command``s persisted by thexref:extensions:command-log:about.adoc[Command Log] extension's implementations of xref:refguide:applib-svc:CommandService.adoc[`CommandService`].
+
+//and xref:refguide:applib-svc:BackgroundCommandService.adoc[`BackgroundCommandService`] using the `BackgroundCommandServiceJdoRepository`.
The diagram below (link:http://yuml.me/edit/25343da1[yuml.me/25343da1]) shows the inheritance hierarchy for this class:
diff --git a/api/adoc/userguide/modules/btb/pages/hints-and-tips.adoc b/api/adoc/userguide/modules/btb/pages/hints-and-tips.adoc
index 85787f0..f96ab45 100644
--- a/api/adoc/userguide/modules/btb/pages/hints-and-tips.adoc
+++ b/api/adoc/userguide/modules/btb/pages/hints-and-tips.adoc
@@ -11,14 +11,21 @@ This chapter provides some solutions for problems we've encountered ourselves or
include::hints-and-tips/are-you-sure.adoc[leveloffset=+1]
+include::hints-and-tips/custom-css.adoc[leveloffset=+1]
include::hints-and-tips/replacing-default-service-implementations.adoc[leveloffset=+1]
-include::hints-and-tips/vetoing-visibility.adoc[leveloffset=+1]
+
+// incomplete, placeholder
+//include::hints-and-tips/vetoing-visibility.adoc[leveloffset=+1]
+
include::hints-and-tips/transactions-and-errors.adoc[leveloffset=+1]
include::hints-and-tips/persisted-title.adoc[leveloffset=+1]
-include::hints-and-tips/view-model-instantiation.adoc[leveloffset=+1]
-include::hints-and-tips/simulating-collections-of-values.adoc[leveloffset=+1]
+
+// not sure if the advice in here is true or not?
+//include::hints-and-tips/view-model-instantiation.adoc[leveloffset=+1]
+
+// incomplete, placeholder
+//include::hints-and-tips/simulating-collections-of-values.adoc[leveloffset=+1]
+
include::hints-and-tips/how-to-handle-void-and-null-results.adoc[leveloffset=+1]
-include::hints-and-tips/multi-tenancy.adoc[leveloffset=+1]
include::hints-and-tips/subclass-properties-in-tables.adoc[leveloffset=+1]
-include::hints-and-tips/pushing-changes.adoc[leveloffset=+1]
include::hints-and-tips/how-to-implement-a-spellchecker.adoc[leveloffset=+1]
diff --git a/api/adoc/userguide/modules/btb/pages/hints-and-tips/are-you-sure.adoc b/api/adoc/userguide/modules/btb/pages/hints-and-tips/are-you-sure.adoc
index 89a13e4..0096315 100644
--- a/api/adoc/userguide/modules/btb/pages/hints-and-tips/are-you-sure.adoc
+++ b/api/adoc/userguide/modules/btb/pages/hints-and-tips/are-you-sure.adoc
@@ -8,7 +8,6 @@
Sometimes an action might perform irreversible changes.
In such a case it's probably a good idea for the UI to require that the end-user explicitly confirms that they intended to invoke the action.
-== Using action semantics
One way to meet this requirement is using the framework's built-in xref:refguide:applib-ant:Action.adoc#semantics[`@Action#semantics`] attribute:
@@ -32,44 +31,3 @@ This will render as:
image::hints-and-tips/action-semantics-are-you-sure.png[link="{imagesdir}/hints-and-tips/action-semantics-are-you-sure.png"]
-== Using a checkbox
-
-An alternative approach (for all versions of the framework) is to require the end-user to check a dummy checkbox parameter (and prevent the action from being invoked if the user hasn't checked that parameter).
-
-For example:
-
-image::hints-and-tips/are-you-sure.png[link="{imagesdir}/hints-and-tips/are-you-sure.png"]
-
-[NOTE]
-====
-Note that these screenshots shows an earlier version of the xref:vw:ROOT:about.adoc[Wicket viewer] UI (specifically, pre 1.8.0).
-====
-
-If the user checks the box:
-
-image::hints-and-tips/are-you-sure-happy-case.png[link="{imagesdir}/hints-and-tips/are-you-sure-happy-case.png"]
-
-then the action will complete.
-
-However, if the user fails to check the box, then a validation message is shown:
-
-image::hints-and-tips/are-you-sure-sad-case.png[link="{imagesdir}/hints-and-tips/are-you-sure-sad-case.png"]
-
-
-
-The code for this is pretty simple:
-
-[source,java]
-----
-public List<ToDoItem> delete(@ParameterLayout(named="Are you sure?") boolean areYouSure) {
- repositoryService.remove(this);
- messageService.informUser("Deleted " + titleService.titleOf(this));
- return toDoItems.notYetComplete(); // <1>
-}
-public String validateDelete(boolean areYouSure) {
- return areYouSure? null: "Please confirm you are sure";
-}
-----
-<1> invalid to return `this` (cannot render a deleted object)
-
-Note that the action itself does not use the boolean parameter, it is only used by the supporting xref:refguide:applib-cm:methods.adoc#validate[`validate...()`] method.
diff --git a/api/adoc/userguide/modules/btb/pages/hints-and-tips/custom-css.adoc b/api/adoc/userguide/modules/btb/pages/hints-and-tips/custom-css.adoc
new file mode 100644
index 0000000..03c14b2
--- /dev/null
+++ b/api/adoc/userguide/modules/btb/pages/hints-and-tips/custom-css.adoc
@@ -0,0 +1,58 @@
+= Custom CSS
+
+:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
+:page-partial:
+
+
+Custom CSS styles can be associated with specific regions of the layout:
+
+[source,xml]
+----
+<grid ...>
+ <row>
+ <col span="2" unreferencedActions="true">
+ <ns2:domainObject/>
+ <row>
+ <col span="12"
+ cssClass="custom-width-100"> <!--.-->
+ <ns2:action id="exportToWordDoc"/>
+ </col>
+ </row>
+ ...
+ </col>
+ <col span="5" unreferencedCollections="true"
+ cssClass="custom-padding-top-20"> <!--.-->
+ ...
+ </col>
+ <col span="5"
+ cssClass="custom-padding-top-20"> <!--.-->
+ ...
+ </col>
+ </row>
+</grid>
+----
+<1> Render the column with the `custom-width-100` CSS class.
+<2> Render the column with the `custom-padding-top-20` CSS class.
+<3> Ditto
+
+For example the `custom-width-100` style is used to "stretch" the button for the `exportToWordDoc` action in the left-most column.
+For the xref:vw:ROOT:about.adoc[Wicket Viewer] this is accomplished with xref:refguide:config:application-specific/application-css.adoc[custom CSS], usually CSS in the `static/css/application.css` file:
+
+[source,css]
+----
+.custom-width-100 ul,
+.custom-width-100 ul li,
+.custom-width-100 ul li a.btn {
+ width: 100%;
+}
+----
+
+Similarly, the middle and right columns are rendered using the `custom-padding-top-20` CSS class.
+This shifts them down from the top of the page slightly, using the following CSS:
+
+[source,css]
+----
+.custom-padding-top-20 {
+ padding-top: 20px;
+}
+----
diff --git a/api/adoc/userguide/modules/btb/pages/hints-and-tips/how-to-handle-void-and-null-results.adoc b/api/adoc/userguide/modules/btb/pages/hints-and-tips/how-to-handle-void-and-null-results.adoc
index b822230..ed727cf 100644
--- a/api/adoc/userguide/modules/btb/pages/hints-and-tips/how-to-handle-void-and-null-results.adoc
+++ b/api/adoc/userguide/modules/btb/pages/hints-and-tips/how-to-handle-void-and-null-results.adoc
@@ -29,42 +29,43 @@ The following custom implementation refines this to use the breadcrumbs (availab
[source,java]
----
import org.springframework.stereotype.Service;
+import lombok.val;
@Service
-@DomainServiceLayout(menuOrder = "1") // <.>
-public class RoutingServiceUsingBreadcrumbs extends RoutingServiceDefault {
+@Order(OrderPrecedence.HIGH) // <.>
+public class RoutingServiceUsingBreadcrumbs
+ extends RoutingServiceDefault {
@Override
public Object route(final Object original) {
- if(original != null) { // <.>
+ if(original != null) { // <.>
return original;
}
- repositoryService.flush(); // <.>
+ repositoryService.flush(); // <.>
- final BreadcrumbModelProvider wicketSession = // <.>
+ val breadcrumbModelProvider = // <.>
(BreadcrumbModelProvider) AuthenticatedWebSession.get();
- final BreadcrumbModel breadcrumbModel =
- wicketSession.getBreadcrumbModel();
+ val breadcrumbModel = breadcrumbModelProvider.getBreadcrumbModel();
final List<EntityModel> breadcrumbs = breadcrumbModel.getList();
- final Optional<Object> firstViewModelOrNonDeletedPojoIfAny =
- breadcrumbs.stream() // <.>
+ val firstViewModelOrNonDeletedPojoIfAny =
+ breadcrumbs.stream() // <.>
.filter(entityModel -> entityModel != null)
- .map(EntityModel::getObject) // <.>
- .filter(objectAdapter -> objectAdapter != null)
- .map(ObjectAdapter::getObject) // <.>
- .filter(pojo -> !(pojo instanceof Persistable) ||
- !((Persistable)pojo).dnIsDeleted()) // <.>
+ .map(EntityModel::getObject) // <.>
+ .filter(Objects::nonNull)
+ .map(ManagedObject::getObject) // <.>
+ .filter(pojo ->
+ metamodelService.sortOf(pojo, RELAXED) == VIEW_MODEL) // <.>
.findFirst();
- return firstViewModelOrNonDeletedPojoIfAny.orElse(homePage()); // <.>
+ return firstViewModelOrNonDeletedPojoIfAny.orElse(homePage()); // <.>
}
private Object homePage() {
return homePageResolverService.homePage();
}
- @Inject
- HomePageResolverService homePageResolverService;
- @Inject
- RepositoryService repositoryService;
+
+ @Inject HomePageResolverService homePageResolverService;
+ @Inject MetaModelService metaModelService;
+ @Inject RepositoryService repositoryService;
}
----
<.> override the default imlpementation
@@ -72,9 +73,8 @@ public class RoutingServiceUsingBreadcrumbs extends RoutingServiceDefault {
<.> ensure that any persisted objects have been deleted.
<.> reach inside the Wicket viewer's internals to obtain the list of breadcrumbs.
<.> loop over all breadcrumbs
-<.> unwrap the Wicket viewer's serializable representation of each domain object (`EntityModel`) to the Isis runtime's representation (`ObjectAdapter`)
-<.> unwrap the Isis runtime's representation of each domain object (`ObjectAdapter`) to the domain object pojo itself
+<.> unwrap the Wicket viewer's serializable representation of each domain object (`EntityModel`) to the Isis runtime's representation (`ManagedObject`)
+<.> unwrap the Isis runtime's representation of each domain object (`ManagedObject`) to the domain object pojo itself
<.> if object is persistable (not a view model) then make sure it is not deleted
<.> return the first object if any, otherwise the home page object (if any).
-Note that the above implementation uses Java 8, so if you are using Java 7 then you'll need to backport accordingly.
diff --git a/api/adoc/userguide/modules/btb/pages/hints-and-tips/persisted-title.adoc b/api/adoc/userguide/modules/btb/pages/hints-and-tips/persisted-title.adoc
index 91b803a..033a793 100644
--- a/api/adoc/userguide/modules/btb/pages/hints-and-tips/persisted-title.adoc
+++ b/api/adoc/userguide/modules/btb/pages/hints-and-tips/persisted-title.adoc
@@ -6,19 +6,22 @@
-Normally the title of an object is not persisted to the database, rather it is recomputed automatically from underlying properties. On occasion though you might want the title to also be persisted; either to make things easier for the DBA, or for an integration scenario, or some other purpose.
+Normally the title of an object is not persisted to the database, rather it is recomputed automatically from underlying properties.
+On occasion though you might want the title to also be persisted; either to make things easier for the DBA, or for an integration scenario, or to support full-text search.
-We can implement this feature by leveraging the xref:refguide:applib-cm:methods.adoc#jdo-api[JDO lifecycle]. In the design we discuss here we make it a responsibility of the entities to persist the title as a property, by implementing a `ObjectWithPersistedTitle` interface:
+We can implement this feature by either overriding the xref:refguide:applib-cm:methods/lifecycle.adoc[lifecycle methods] or (probably better) subscribing to the xref:refguide:applib-cm:classes/lifecycleevent.adoc[lifecycle events].
+
+In the design we discuss here we make it a responsibility of the entities to persist the title as a property, by implementing a `ObjectWithPersistedTitle` interface:
[source,java]
----
public interface ObjectWithPersistedTitle {
- @PropertyLayout(hidden = Where.EVERYWHERE) // <1>
- String getTitle();
- void setTitle(final String title);
+ @Programmatic // <.>
+ String getPersistedTitle();
+ void setPersistedTitle(final String title);
}
----
-<1> we don't want to expose this in the UI because the title is already prominently displayed.
+<.> we don't want to expose this in the UI.
We can then define a subscribing domain service that leverage this.
@@ -26,6 +29,9 @@ We can then define a subscribing domain service that leverage this.
----
import org.springframework.context.event.EventListener;
import org.springframework.stereotype.Service;
+import org.apache.isis.applib.events.lifecycle.ObjectPersistingEvent;
+import org.apache.isis.applib.events.lifecycle.ObjectUpdatingEvent;
+import lombok.val;
@Service
public class TitlingService {
@@ -42,9 +48,9 @@ public class TitlingService {
private void handle(final Object persistentInstance) {
if(persistentInstance instanceof ObjectWithPersistedTitle) {
- final ObjectWithPersistedTitle objectWithPersistedTitle =
+ val objectWithPersistedTitle =
(ObjectWithPersistedTitle) persistentInstance;
- objectWithPersistedTitle.setTitle(titleService.titleOf(objectWithPersistedTitle));
+ objectWithPersistedTitle.setPersistedTitle(titleService.titleOf(objectWithPersistedTitle));
}
}
@@ -53,39 +59,7 @@ public class TitlingService {
}
----
-It is also possible to accomplish this by accessing the JDO API directly:
-
-[source,java]
-----
-import org.springframework.stereotype.Service;
-
-@IsisSessionScope
-@Service
-public class TitlingService {
- @PostConstruct
- public void init() {
- isisJdoSupport.getJdoPersistenceManager().addInstanceLifecycleListener(
- new StoreLifecycleListener() {
- @Override
- public void preStore(final InstanceLifecycleEvent event) {
- final Object persistentInstance = event.getPersistentInstance();
- if(persistentInstance instanceof ObjectWithPersistedTitle) {
- final ObjectWithPersistedTitle objectWithPersistedTitle =
- (ObjectWithPersistedTitle) persistentInstance;
- objectWithPersistedTitle.setTitle(titleService.titleOf(objectWithPersistedTitle));
- }
- }
- @Override
- public void postStore(final InstanceLifecycleEvent event) {
- }
- }, null);
- }
- @Inject
- IsisJdoSupport isisJdoSupport;
- @Inject
- TitleService titleService;
-}
-----
-The above is probably the easiest and most straightforward design. One could imagine other designs where the persisted title is stored elsewhere. It could even be stored off into an link:http://lucene.apache.org/[Apache Lucene] (or similar) database to allow for free-text searches.
+The above is probably the easiest and most straightforward design.
+One could imagine other designs where the persisted title is stored elsewhere, such as a link:http://lucene.apache.org/[Apache Lucene] (or similar) database to allow for full-text searches.
diff --git a/api/adoc/userguide/modules/btb/pages/hints-and-tips/pushing-changes.adoc b/api/adoc/userguide/modules/btb/pages/hints-and-tips/pushing-changes.adoc
deleted file mode 100644
index bebd239..0000000
--- a/api/adoc/userguide/modules/btb/pages/hints-and-tips/pushing-changes.adoc
+++ /dev/null
@@ -1,140 +0,0 @@
-[[pushing-changes]]
-= Pushing Changes (deprecated)
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-[NOTE]
-====
-This technique is much less powerful than using xref:userguide:fun/building-blocks.adoc#domain-events[the event bus] or an SPI service.
-We present it mostly for completeness.
-====
-
-
-
-
-== When a property is changed
-
-If you want to invoke functionality whenever a property is changed by the user, then you can create a supporting `modifyXxx()` method and include the functionality within that. The syntax is:
-
-[source,java]
---
-public void modifyPropertyName(PropertyType param) { /* ... */ }
---
-
-Why not just put this functionality in the setter? Well, the setter is used by the object store to recreate the state of an already persisted object. Putting additional behaviour in the setter would cause it to be triggered incorrectly.
-
-For example:
-
-[source,java]
---
-public class Order() {
- public Integer getAmount() { /* ... */ }
- public void setAmount(Integer amount) { /* ... */ }
- public void modifyAmount(Integer amount) { // <1>
- setAmount(amount); // <3>
- addToTotal(amount); // <2>
- }
- ...
-}
---
-<1> The `modifyAmount()` method calls ...
-<2> ... the `addToTotal()` (not shown) to maintain some running total.
-
-We don't want this `addToCall()` method to be called when pulling the object back from the object store, so we put it into the modify, not the setter.
-
-You may optionally also specify a `clearXxx()` which works the same way as modify `modify Xxx()` but is called when the property is cleared by the user (i.e. the current value replaced by nothing). The syntax is:
-
-[source,java]
---
-public void clearPropertyName() { /* ... */ }
---
-
-To extend the above example:
-
-[source,java]
---
-public class Order() {
- public Integer getAmount() { /* ... */ }
- public void setAmount(Integer amount) { /* ... */ }
- public void modifyAmount(Integer amount) { /* ... */ }
- public void clearAmount() {
- removeFromTotal(this.amount);
- setAmount(null);
- }
- ...
-}
---
-
-
-
-== When a collection is modified
-
-A collection may have a corresponding `addToXxx()` and/or
-`removeFromXxx()` method. If present, and direct manipulation of the
-contents of the connection has not been disabled (see ?), then they will
-be called (instead of adding/removing an object directly to the
-collection returned by the accessor).
-
-The reason for this behaviour is to allow other behaviour to be
-triggered when the contents of the collection is altered. That is, it is
-directly equivalent to the supporting `modifyXxx()` and `clearXxx()`
-methods for properties (see ?).
-
-The syntax is:
-
-[source,java]
---
-public void addTo<CollectionName>(EntityType param) { /* ... */ }
---
-
-and
-
-[source,java]
---
-public void removeFromCollectionName(EntityType param) { /* ... */ }
---
-
-where `EntityType` is the same type as the generic collection type.
-
-For example:
-
-[source,java]
---
-public class Employee { /* ... */ }
-
-public class Department {
-
- private int numMaleEmployees; // <1>
- private int numFemaleEmployees; // <2>
-
- private Set<Employee> employees = new TreeSet<Employee>();
- public Set<Employee> getEmployees() {
- return employees;
- }
- private void setEmployees(Set<Employee> employees) {
- this.employees = employees;
- }
- public void addToEmployees(Employee employee) { // <3>
- numMaleEmployees += countOneMale(employee);
- numFemaleEmployees += countOneFemale(employee);
- employees.add(employee);
- }
- public void removeFromEmployees(Employee employee) { // <4>
- numMaleEmployees -= countOneMale(employee);
- numFemaleEmployees -= countOneFemale(employee);
- employees.remove(employee);
- }
- private int countOneMale(Employee employee) { return employee.isMale()?1:0; }
- private int countOneFemale(Employee employee) { return employee.isFemale()?1:0; }
-
- ...
-}
---
-<1> maintain a count of the number of male ...
-<2> ... and female employees (getters and setters omitted)
-<3> the xref:refguide:applib-cm:methods.adoc#addTo[`addTo...()`] method increments the derived properties
-<4> the xref:refguide:applib-cm:methods.adoc#removeFrom[`removeFrom...()`] method similarly decrements the derived properties
-
-
diff --git a/api/adoc/userguide/modules/btb/pages/hints-and-tips/replacing-default-service-implementations.adoc b/api/adoc/userguide/modules/btb/pages/hints-and-tips/replacing-default-service-implementations.adoc
index fa89cbb..1ac4f2b 100644
--- a/api/adoc/userguide/modules/btb/pages/hints-and-tips/replacing-default-service-implementations.adoc
+++ b/api/adoc/userguide/modules/btb/pages/hints-and-tips/replacing-default-service-implementations.adoc
@@ -16,63 +16,55 @@ Here's how:
[source,java]
----
+import org.springframework.stereotype.Service;
+import org.springframework.core.Ordered;
+
@Service
-@Order(OrderPrecedence.HIGH) // <1>
+@Order(OrderPrecedence.HIGH) // <.>
public class MyLocaleProvider implements LocaleProvider {
@Override
- public Locale getLocale() { /* ... */ }
+ public Locale getLocale() {
+ // ...
+ }
}
----
-<1> `OrderPrecedence` (in the Apache Isis applib) provides some standard values.
-
-If multiple instances are injected, eg:
-
-[source,java]
-----
-@javax.inject.Inject
-private List<LocalProvider> localeProviders;
-----
-
-then all implementations will be present in the list, ordered by priority.
-
-
-
-
-
-
+<.> `OrderPrecedence` (in the Apache Isis applib) provides some standard values.
== Decorating existing implementations
-It's also quite common to want to decorate the existing implementation (ie have your own implementation delegate to the default); this is also possible and quite easy:
+It's sometimes useful to decorate the existing implementation (ie have your own implementation delegate to the default); this is quite easy to imlpement:
[source,java]
----
-@DomainService(
- nature = NatureOfService.DOMAIN
-)
-@DomainServiceLayout(
- menuOrder = "1" // <1>
-)
+import org.springframework.stereotype.Service;
+import org.springframework.core.Ordered;
+
+@Service
+@Order(OrderPrecedence.HIGHEST) // <.>
public class MyLocaleProvider implements LocaleProvider {
+
+ @Inject List<LocaleProvider> localeProviders; // <.>
+
@Override
public Locale getLocale() {
- return getDelegateLocaleProvider().getLocale(); // <2>
+ return localeProviders.stream() // <.>
+ .filter(x -> x != this) // <.>
+ .findFirst() // <.>
+ .map(LocaleProvider::getLocale) // <.>
+ .orElseThrow(RuntimeException::new); // <.>
}
- Optional<LocaleProvider> delegateLocaleProvider; // <3>
- private LocaleProvider getDelegateLocaleProvider() {
- if(delegateLocaleProvider == null) {
- delegateLocaleProvider = Iterables.tryFind(localeProviders, input -> input != this); // <4>
- }
- return delegateLocaleProvider.orNull();
- }
- @Inject
- List<LocaleProvider> localeProviders; // <5>
}
----
-<1> takes precedence over the default implementation when injected elsewhere.
-<2> this implementation merely delegates to the default implementation
-<3> lazily populated
-<4> delegate to the first implementation that isn't _this_ implementation (else infinite loop!)
-<5> Injects all implementations, including this implemenation
-
+<.> takes precedence over the default implementation when injected elsewhere.
+<.> injects all implementations, including this implementation
+<.> streams over all implementations...
+<.> \...ignoring this one...
+<.> \...uses the next one...
+<.> \...and delegate to it.
+<.> Fails fast if no other implementations available (should not happen if framework provides a default implementation).
+
+[TIP]
+====
+None of the default implementations provided by the framework use `Ordered(OrderPrecedence.HIGHEST)`, so all can be overridden if required.
+====
diff --git a/api/adoc/userguide/modules/btb/pages/hints-and-tips/subclass-properties-in-tables.adoc b/api/adoc/userguide/modules/btb/pages/hints-and-tips/subclass-properties-in-tables.adoc
index ffffef2..1eca644 100644
--- a/api/adoc/userguide/modules/btb/pages/hints-and-tips/subclass-properties-in-tables.adoc
+++ b/api/adoc/userguide/modules/btb/pages/hints-and-tips/subclass-properties-in-tables.adoc
@@ -6,7 +6,8 @@
-Suppose you have a hierarchy of classes where a property is derived and abstract in the superclass, concrete implementations in the subclasses. For example:
+Suppose you have a hierarchy of classes where a property is derived and abstract in the superclass, concrete implementations in the subclasses.
+For example:
[source,java]
----
@@ -16,34 +17,23 @@ public abstract class LeaseTerm {
}
public class LeaseTermForIndexableTerm extends LeaseTerm {
- public BigDecimal getEffectveValue() { /* ... */ }
+ public BigDecimal getEffectiveValue() { /* ... */ }
...
}
----
Currently the Wicket viewer will not render the property in tables (though the property is correctly rendered in views).
-[NOTE]
-====
-For more background on this workaround, see https://issues.apache.org/jira/browse/ISIS-582[ISIS-582].
-====
-
The work-around is simple enough; make the method concrete in the superclass and return a dummy implementation, eg:
[source,java]
----
public abstract class LeaseTerm {
public BigDecimal getEffectiveValue() {
- return null; // workaround for ISIS-582
+ return null;
}
...
}
----
-
-Alternatively the implementation could throw a `RuntimeException`, eg
-
-[source,java]
-----
-throw new RuntimeException("never called; workaround for ISIS-582");
-----
+Alternatively the implementation could throw a `RuntimeException` (since the method is not intended to be called).
diff --git a/api/adoc/userguide/modules/btb/pages/hints-and-tips/transactions-and-errors.adoc b/api/adoc/userguide/modules/btb/pages/hints-and-tips/transactions-and-errors.adoc
index d0dd399..7e718ed 100644
--- a/api/adoc/userguide/modules/btb/pages/hints-and-tips/transactions-and-errors.adoc
+++ b/api/adoc/userguide/modules/btb/pages/hints-and-tips/transactions-and-errors.adoc
@@ -10,7 +10,7 @@ What that means is that there's no need to explicitly start or commit transactio
Indeed, if you do try to manage transactions (eg by reaching into the JDO `PersistenceManager` exposed by the xref:pjdo:ROOT:services/IsisJdoSupport.adoc[IsisJdoSupport] domain service, then you are likely to confuse the framework and get a stack trace for your trouble.
However, you can complete a given transaction and start a new one.
-This is sometimes useful if writing a fixture script which is going to perform some sort of bulk migration of data from an old system.
+This is sometimes useful if writing a xref:testing:fixtures:about.adoc#fixture-scripts[fixture script] which is going to perform some sort of bulk migration of data from an old system.
For this use case, use the xref:refguide:applib-svc:TransactionService.adoc[`TransactionService`].
For example:
@@ -32,7 +32,6 @@ public class SomeLongRunningFixtureScript extends FixtureScript
}
----
-You get the idea.
== Raise message in the UI
diff --git a/api/adoc/userguide/modules/btb/pages/hints-and-tips/view-model-instantiation.adoc b/api/adoc/userguide/modules/btb/pages/hints-and-tips/view-model-instantiation.adoc
index 2e2195a..6df8b33 100644
--- a/api/adoc/userguide/modules/btb/pages/hints-and-tips/view-model-instantiation.adoc
+++ b/api/adoc/userguide/modules/btb/pages/hints-and-tips/view-model-instantiation.adoc
@@ -5,7 +5,10 @@
:page-partial:
-Vith view models, some care must be taken in how they are instantiated.
+WARNING: TODO - v2 - don't know if this is still valid or not.
+If it is, then we should probably remove FactoryService#create(...) for view models completely.
+
+With view models, some care must be taken in how they are instantiated.
Specifically, it's important that the framework doesn't "know" about the view model until its state is "sufficiently" populated to distinguish from other view models.
In practical terms, this means that view models should be instantiated using a constructor, and then injecting services (if required) using the xref:refguide:applib-svc:ServiceRegistry.adoc[`ServiceRegistry`] service:
@@ -155,5 +158,5 @@ public class YearSummary {
----
<1> "amountsPerOffice" is part of the state of the parent view model
-In this case the `amountsPerOffice` collection is part of the state of the parent view model and so in this particular case everything works with either `FactoryService#instantiate` or using `ServiceRegistry`.
+In this case the `amountsPerOffice` collection is part of the state of the parent view model and so in this particular case everything works with either `FactoryService#create(...)` or using `ServiceRegistry`.
diff --git a/api/adoc/userguide/modules/btb/pages/i18n.adoc b/api/adoc/userguide/modules/btb/pages/i18n.adoc
index 4a73b0e..649307b 100644
--- a/api/adoc/userguide/modules/btb/pages/i18n.adoc
+++ b/api/adoc/userguide/modules/btb/pages/i18n.adoc
@@ -58,26 +58,20 @@ The cornerstone of Apache Isis' support for i18n is the `TranslationService` ser
This is defined in the applib with the following API:
[source,java]
+.TranslationService.java
----
-public interface TranslationService {
- public String translate( // <1>
- final String context,
- final String text);
- public String translate( // <2>
- final String context,
- final String singularText,
- final String pluralText,
- final int num);
- public enum Mode {
- READ,
- WRITE;
- }
- Mode getMode(); // <3>
-}
+include::refguide:applib-svc:example$services/i18n/TranslationService.java[tags="refguide"]
+----
+<.> is to translate the singular form of the text
+<.> is to translate the plural form of the text
+<.> indicates whether the translation service is in read or write mode.
+
+where `Mode` is:
+
+[source,java]
+----
+include::refguide:applib-svc:example$services/i18n/TranslationService.java[tags="refguide-1",indent=0]
----
-<1> is to translate the singular form of the text
-<2> is to translate the plural form of the text
-<3> indicates whether the translation service is in read or write mode.
The `translate(...)` methods are closely modelled on GNU's gettext API.
The first version is used when no translation is required, the second is when both a singular and plural form will be required, with the `num` parameter being used to select which is returned.
@@ -99,14 +93,15 @@ All requested translations are written into the `.pot` file.
To make the service as convenient as possible to use, the service configures itself as follows:
-* if running in prototype mode xref:refguide:config:deployment-types.adoc[deployment type] or during integration tests, then the service runs in *write* mode, in which case it records all translations into the `.pot` file.
+* if running in prototype mode xref:refguide:config:about.adoc#deployment-types[deployment type] or during integration tests, then the service runs in *write* mode, in which case it records all translations into the `.pot` file.
The `.pot` file is written out when the system is shutdown.
-* if running in server (production) mode xref:refguide:config:deployment-types.adoc[deployment type], then the service runs in *read* mode.
-It is also possible to set a configuration setting in `isis.properties` to force read mode even if running in prototype mode (useful to manually test/demo the translations).
+* if running in server (production) mode axref:refguide:config:about.adoc#deployment-types[deployment type], then the service runs in *read* mode.
+It is also possible to set a configuration setting in `application.properties` to force read mode even if running in prototype mode (useful to manually test/demo the translations).
When running in write mode the original text is returned to the caller untranslated.
If in read mode, then the translated `.po` files are read and translations provided as required.
+[#imperative-messages]
== Imperative messages
The `TranslationService` is used internally by Apache Isis when building up the metamodel; the name and description of every class, property, collection, action and action parameter is automatically translated.
@@ -120,12 +115,14 @@ Moreover, these messages must be captured in the `.pot` file such that they can
The first part of the puzzle is tackled by an extension to Apache Isis' programming model.
Whereas previously the `disableXxx()` / `validateXxx()` / `title()` methods could only return a `java.lang.String`, they may now optionally return a `TranslatableString` (defined in Isis applib) instead.
-Here's a (silly) example from the xref:docs:starters:simpleapp.adoc[SimpleApp] starter app:
+For example (based on similar code in the xref:docs:starters:simpleapp.adoc[SimpleApp] starter app):
[source,java]
----
public TranslatableString validateUpdateName(final String name) {
- return name.contains("!")? TranslatableString.tr("Exclamation mark is not allowed"): null;
+ return name.contains("!")
+ ? TranslatableString.tr("Exclamation mark is not allowed")
+ : null;
}
----
@@ -143,22 +140,28 @@ The full API of `TranslatableString` is modelled on the design of GNU gettext (i
[source,java]
----
public final class TranslatableString {
- public static TranslatableString tr( // <1>
+ public static TranslatableString tr( // <.>
final String pattern,
- final Object... paramArgs) { /* ... */ }
- public static TranslatableString trn( // <2>
+ final Object... paramArgs) {
+ // ...
+ }
+ public static TranslatableString trn( // <.>
final String singularPattern,
final String pluralPattern,
final int number,
- final Object... paramArgs) { /* ... */ }
- public String translate( // <3>
+ final Object... paramArgs) {
+ // ...
+ }
+ public String translate( // <.>
final TranslationService translationService,
- final String context) { /* ... */ }
+ final String context) {
+ // ...
+ }
}
----
-<1> returns a translatable string with a single pattern for both singular and plural forms.
-<2> returns a translatable string with different patterns for singular and plural forms; the one to use is determined by the 'number' argument
-<3> translates the string using the provided `TranslationService`, using the appropriate singular/regular or plural form, and interpolating any arguments.
+<.> returns a translatable string with a single pattern for both singular and plural forms.
+<.> returns a translatable string with different patterns for singular and plural forms; the one to use is determined by the 'number' argument
+<.> translates the string using the provided `TranslationService`, using the appropriate singular/regular or plural form, and interpolating any arguments.
The interpolation uses the format `\{xxx}`, where the placeholder can occur multiple times.
@@ -194,11 +197,11 @@ public interface MessageService {
void informUser(String message);
void informUser(
TranslatableMessage message,
- final Class<?> contextClass, final String contextMethod); // <1>
+ final Class<?> contextClass, final String contextMethod); // <.>
...
}
----
-<1> are concatenated together to form the context for the `.pot` file.
+<.> concatenated together to form the context for the `.pot` file.
=== `TranslatableException`
@@ -210,14 +213,14 @@ The `TranslatableException` itself takes the form:
[source,java]
----
public interface TranslatableException {
- TranslatableString getTranslatableMessage(); // <1>
- String getTranslationContext(); // <2>
+ TranslatableString getTranslatableMessage(); // <.>
+ String getTranslationContext(); // <.>
}
----
-<1> the message to translate.
+<.> the message to translate. +
If returns `null`, then the `Exception#getMessage()` is used as a fallback
-<2> the context to use when translating the message
+<.> the context to use when translating the message
== Wicket Viewer
@@ -475,25 +478,24 @@ For example, here's the corresponding integration test for the "Exclamation mark
[source,java]
----
-@Rule
-public ExpectedException expectedException = ExpectedException.none();
-
-@Inject
-FixtureScripts fixtureScripts;
+@BeforeEach
+public void setUp() {
+ // given
+ simpleObject = fixtureScripts.runPersona(SimpleObject_persona.FOO);
+}
@Test
-public void failsValidation() throws Exception {
- // given
- RecreateSimpleObjects fs = new RecreateSimpleObjects().setNumber(1);
- fixtureScripts.runFixtureScript(fs, null);
- SimpleObject simpleObjectWrapped = wrap(fs.getSimpleObjects().get(0));
+public void fails_validation() {
// expect
- expectedExceptions.expect(InvalidException.class);
- expectedExceptions.expectMessage("Exclamation mark is not allowed");
+ InvalidException cause = assertThrows(InvalidException.class, ()->{
- // when
- simpleObjectWrapped.updateName("new name!");
+ // when
+ wrap(simpleObject).updateName("new name!");
+ });
+
+ // then
+ assertThat(cause.getMessage(), containsString("Character '!' is not allowed"));
}
----
@@ -526,19 +528,23 @@ msgid "<i>Quantity</i>"
msgstr "<i>Quantité</i>"
----
-For this to work, the `namedEscaped` attribute must be specified using either the xref:vw:ROOT:layout.adoc#file-based[layout file], or using an annotation such as xref:refguide:applib-ant:PropertyLayout.adoc[`@PropertyLayout`] or xref:refguide:applib-ant:ParameterLayout.adoc[`@ParameterLayout`].
+For this to work, the `namedEscaped` attribute must be specified using either the xref:userguide:fun:ui.adoc#object-layout[layout file], or using an annotation such as xref:refguide:applib-ant:PropertyLayout.adoc[`@PropertyLayout`] or xref:refguide:applib-ant:ParameterLayout.adoc[`@ParameterLayout`].
For example:
[source,java]
----
-@ParameterLayout(
- named="<i>Quantity</i>", // <1>
+import lombok.Getter;
+import lombok.Setter;
+
+@PropertyLayout(
+ named="<i>Quantity</i>", // <.>
namedEscaped=false
)
-public Integer getQuantity() { /* ... */ }
+@Getter @Setter
+private Integer quantity;
----
-<1> required (even though it won't be used when a translation is read; otherwise the escaped flag is ignored)
+<.> required (even though it won't be used when a translation is read; otherwise the escaped flag is ignored)
== Configuration
@@ -546,24 +552,40 @@ There are several different aspects of the translation service that can be confi
=== Logging
-To configure the `TranslationServicePo` to write to out the `translations.pot` file, add the following to the _integtests_ `logging.properties` file:
+To configure the `TranslationServicePo` to write to out the `translations.pot` file, add the following to the _integtests_ `log4j-test.xml` file:
-[source,ini]
+[source,xml]
----
-log4j.appender.translations-po=org.apache.log4j.FileAppender
-log4j.appender.translations-po.File=./translations.pot
-log4j.appender.translations-po.Append=false
-log4j.appender.translations-po.layout=org.apache.log4j.PatternLayout
-log4j.appender.translations-po.layout.ConversionPattern=%m%n
-
-log4j.logger.org.apache.isis.core.runtime.services.i18n.po.PoWriter=INFO,translations-po
-log4j.additivity.org.apache.isis.core.runtime.services.i18n.po.PotWriter=false
+<?xml version="1.0" encoding="UTF-8"?>
+<Configuration status="WARN">
+ <!-- ... -->
+ <Appenders>
+ <Console name="Console" target="SYSTEM_OUT" follow="true">
+ <PatternLayout pattern="${sys:CONSOLE_LOG_PATTERN}" />
+ </Console>
+ <File name="TranslationsPoFile" fileName="translations.po"
+ append="false" immediateFlush="true">
+ <PatternLayout>
+ <Pattern>%m%n</Pattern>
+ </PatternLayout>
+ </File>
+ </Appenders>
+ <Loggers>
+ <!-- ... -->
+ <logger
+ name="org.apache.isis.core.runtimeservices.i18n.po.PoWriter"
+ level="info">
+ <AppenderRef ref="TranslationsPoFile"/>
+ </logger>
+ </Loggers>
+</Configuration>
----
-Just to repeat, this is _not_ the `WEB-INF/logging.properties` file, it should instead be added to the `integtests/logging.properties` file.
=== Location of the `.po` files
+WARNING: TODO - v2 - need to verify this.
+
The default location of the translated `.po` files is in the `WEB-INF` directory.
These are named and searched for similarly to regular Java resource bundles.
@@ -588,39 +610,27 @@ The basename for translation files is always `translations`; this cannot be alte
=== Externalized translation files
-Normally Apache Isis configuration files are read from the `WEB-INF` file.
-However, Apache Isis can be configured to read config files from an xref:userguide:btb:about.adoc#externalized-configuration[external directory]; this is also supported for translations.
-
-Thus, if in `web.xml` the external configuration directory has been set:
+WARNING: TODO - v2 - need to figure out how to configure Spring Boot so that these resources can be read from an external location.
-WARNING: TODO: v2: this almost certainly no longer works, because we now set up configuration very early on.
-
-[source,xml]
-----
-<context-param>
- <param-name>isis.config.dir</param-name>
- <param-value>location of external config directory</param-value>
-</context-param>
-----
-
-Then this directory will be used as the base for searching for translations (rather than the default 'WEB-INF/' directory).
=== Force read mode, or disable
As noted above, if running in prototype mode then `TranslationServicePo` will be in write mode, if in production mode then will be in read mode.
-To force read mode (ie use translations) even if in prototype mode, add the following configuration property to `isis.properties`:
+To force read mode (ie use translations) even if in prototype mode, add the xref:refguide:config:sections/isis.core.runtime-services.adoc#isis.core.runtime-services.translation.po.mode[`isis.core.runtime-services.translation.po.mode`] configuration property:
[source,ini]
+.application.properties
----
-isis.services.translation.po.mode=read
+isis.core.runtime-services.translation.po.mode=read
----
-It's also possible to disable the service completely (using values 'disable' or 'disabled').
+It's also possible to disable the service completely.
This can sometimes be useful in integration tests.
[source,ini]
+.application.properties
----
-isis.services.translation.po.mode=disable
+isis.core.runtime-services.translation.po.mode=disabled
----
== Supporting services
@@ -629,14 +639,13 @@ The `TranslationServicePo` has a number of supporting/related services.
=== `LocaleProvider`
-The `LocaleProvider` API is used by the `TranslationServicePo` implementation to obtain the locale of the "current user".
+The xref:refguide:applib-svc:LocaleProvider.adoc[`LocaleProvider`] API is used by the `TranslationServicePo` implementation to obtain the locale of the "current user".
-A default implementation is provided by the Wicket viewer.
+An implementation is provided by the Wicket viewer.
-[NOTE]
+[CAUTION]
====
-Note that this default implementation does not support requests made through the Restful Objects viewer (there is no Wicket 'application' object available); the upshot is that requests through Restful Objects are never translated.
-Registering a different implementation of `LocaleProvider` that taps into appropriate REST (RestEasy?) APIs would be the way to address this.
+There is no equivalent implementation of `LocaleProvider` for Restful Objects viewer; requests through Restful Objects are not translated.
====
=== `TranslationsResolver`
diff --git a/api/adoc/userguide/modules/btb/pages/programming-model/custom-validator.adoc b/api/adoc/userguide/modules/btb/pages/programming-model/custom-validator.adoc
index 58b5916..96e76cd 100644
--- a/api/adoc/userguide/modules/btb/pages/programming-model/custom-validator.adoc
+++ b/api/adoc/userguide/modules/btb/pages/programming-model/custom-validator.adoc
@@ -6,20 +6,11 @@
Apache Isis' programming model includes a validator component that detects and prevents (by failing fast) a number of situations where the domain model is logically inconsistent.
-For example, the validator will detect any orphaned supporting methods (eg `hideXxx()`) if the corresponding property or action has been renamed or deleted but the supporting method was not also updated. Another example is that a class cannot have a title specified both using `title()` method and also using `@Title` annotation.
+For example, the validator will detect any orphaned supporting methods (eg `hideXxx()`) if the corresponding property or action has been renamed or deleted but the supporting method was not also updated.
+Another example is that a class cannot have a title specified both using `title()` method and also using `@Title` annotation.
-[NOTE]
-====
-The support for xref:refguide:applib-ant:about.adoc#deprecated[disallowing deprecated annotations] is also implemented using the metamodel validator.
-====
-
-You can also impose your own application-specific rules by installing your own metamodel validator. To give just one example, you could impose naming standards such as ensuring that a domain-specific abbreviation such as "ISBN" is always consistently capitalized wherever it appears in a class member.
-
-// FIXME: currently removed in v2, may reinstate
-//[TIP]
-//====
-//Isis' xref:refguide:mvn:about.adoc[Maven plugin] will also validate the domain object model during build time.
-//====
+You can also impose your own application-specific rules by installing your own metamodel validator.
+To give just one example, you could impose naming standards such as ensuring that a domain-specific abbreviation such as "ISBN" is always consistently capitalized wherever it appears in a class member.
== API and Implementation
@@ -30,49 +21,60 @@ There are several ways to go about implementing a validator.
Any custom validator must implement Apache Isis' internal `MetaModelValidator` interface, so the simplest option is just to implement `MetaModelValidator` directly:
-
[source,java]
----
-public interface MetaModelValidator
- implements SpecificationLoaderSpiAware { // <1>
- public void validate(
- ValidationFailures validationFailures); // <2>
-}
-----
-<1> the `SpecificationLoader` is the internal API providing access to the Apache Isis metamodel.
-<2> add any metamodel violations to the `ValidationFailures` parameter (the link:http://c2.com/cgi/wiki?CollectingParameter[collecting parameter] pattern)
+package org.apache.isis.core.metamodel.specloader.validator;
+public interface MetaModelValidator {
-=== `Visitor`
+ default void onFailure(
+ @NonNull FacetHolder facetHolder, // <.>
+ @NonNull Identifier deficiencyOrigin, // <.>
+ @NonNull String deficiencyMessageFormat,
+ Object ...args) {
-More often than not, you'll want to visit every element in the metamodel, and so for this you can instead subclass from `MetaModelValidatorVisiting.Visitor`:
+ val deficiencyMessage =
+ String.format(deficiencyMessageFormat, args);
-[source,java]
-----
-public final class MetaModelValidatorVisiting ... {
- public static interface Visitor {
- public boolean visit( // <1>
- ObjectSpecification objectSpec, // <2>
- ValidationFailures validationFailures); // <3>
+ DeficiencyFacet.appendTo( // <.>
+ facetHolder, deficiencyOrigin, deficiencyMessage);
}
- ...
}
----
-<1> return `true` continue visiting specs.
-<2> `ObjectSpecification` is the internal API representing a class
-<3> add any metamodel violations to the `ValidationFailures` parameter
+<.> represents an element of the metamodel, either an `ObjectSpecification` (domain class or mixin), or an `ObjectMember` (property, collection or action), or an `ObjectActionParameter`.
+<.> identifier of the element
+<.> appends the message into the `DeficiencyFacet` associated with the element.
+
+If the `onFailure` is called, then a message explaining the deficiency is stored.
+The framework also provides a `MetaModelValidatorAbstract` that implements this interface.
+However, it is the responsibility of the validator itself to figure out how to iterate over the entire model.
-You can then create your custom validator by subclassing `MetaModelValidatorComposite` and adding the visiting validator:
+Since this is a common use case, the framework provides a more convenient and fine-grained "Visitor" API, discussed next.
+
+=== `Visitor`
+
+More often than not, you'll want to visit every element in the metamodel, and so for this you can instead subclass from `MetaModelValidatorVisiting.Visitor`:
[source,java]
----
-public class MyMetaModelValidator extends MetaModelValidatorComposite {
- public MyMetaModelValidator() {
- add(new MetaModelValidatorVisiting(new MyVisitor()));
+package org.apache.isis.core.metamodel.specloader.validator;
+
+public final class MetaModelValidatorVisiting
+ extends MetaModelValidatorAbstract {
+
+ public interface Visitor {
+ public boolean visit( // <.>
+ ObjectSpecification objectSpec, // <.>
+ ValidationFailures validationFailures); // <.>
}
+
+ // ...
}
----
+<.> return `true` continue visiting specs.
+<.> `ObjectSpecification` is the internal API representing a class
+<.> add any metamodel violations to the `ValidationFailures` parameter
If you have more than one rule then each can live in its own visitor.
@@ -82,27 +84,45 @@ As a slight refinement, you can also subclass from `MetaModelValidatorVisiting.S
[source,java]
----
-public final class MetaModelValidatorVisiting ... {
- public static interface SummarizingVisitor extends Visitor {
+package org.apache.isis.core.metamodel.specloader.validator;
+
+public final class MetaModelValidatorVisiting
+ extends MetaModelValidatorAbstract {
+
+ public interface SummarizingVisitor extends Visitor {
public void summarize(ValidationFailures validationFailures);
}
- ...
+
+ // ...
}
----
-A `SummarizingVisitor` will be called once after every element in the metamodel has been visited. This is great for performing checks on the metamodel as a whole. For example, Apache Isis uses this to check that there is at least one `@Persistable` domain entity defined.
-
-
-
+A `SummarizingVisitor` will be called once after every element in the metamodel has been visited.
+This is great for performing checks on the metamodel as a whole.
== Configuration
-Once you have implemented your validator, you must register it with the framework by defining the appropriate configuration property:
+Once you have implemented your validator, you must register it with the framework.
+This is most easily done by implementing service that implements `MetaModelRefiner` service.
-[source,ini]
+For example, some folk advocate that pattern names such as "Repository" or "Factory" should not appear in class names because they are not part of the xref:userguide:fun:concepts-patterns.adoc#ubiquitous-language[ubiquitous language].
+Such a rule could be verified using this implementation:
+
+[source,java]
----
-isis.reflector.validator=com.mycompany.myapp.MyMetaModelValidator
+@Service
+public static class NoRepositorySuffixRefiner implements MetaModelRefiner {
+ @Override
+ public void refineProgrammingModel(ProgrammingModel programmingModel) {
+ programmingModel.addValidator(new MetaModelValidatorVisiting.Visitor() {
+ @Override
+ public boolean visit(ObjectSpecification objectSpec, MetaModelValidator validator) {
+ if(objectSpec.getSingularName().endsWith("Repository")) {
+ validator.onFailure(objectSpec, objectSpec.getIdentifier(), "Domain services may not have the suffix 'Repository'");
+ }
+ return true;
+ }
+ });
+ }
+}
----
-
-
-
diff --git a/api/adoc/userguide/modules/btb/pages/programming-model/finetuning.adoc b/api/adoc/userguide/modules/btb/pages/programming-model/finetuning.adoc
index 424ee16..dc40738 100644
--- a/api/adoc/userguide/modules/btb/pages/programming-model/finetuning.adoc
+++ b/api/adoc/userguide/modules/btb/pages/programming-model/finetuning.adoc
@@ -4,37 +4,39 @@
:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
:page-partial:
+WARNING: TODO - v2 - not yet reviewed/updated.
The core metamodel defines APIs and implementations for building the Apache Isis metamodel: a description of the set of entities, domain services and values that make up the domain model.
-
The description of each domain class consists of a number of elements:
https://github.com/apache/isis/blob/master/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ObjectSpecification.java[ObjectSpecification]::
Analogous to `java.lang.Class`; holds information about the class itself and holds collections of each of the three types of class' members (below);
https://github.com/apache/isis/blob/master/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/OneToOneAssociation.java[OneToOneAssociation]::
-Represents a class member that is a single-valued property of the class. The property's type is either a reference to another entity, or is a value type.
+Represents a class member that is a single-valued property of the class.
+The property's type is either a reference to another entity, or is a value type.
https://github.com/apache/isis/blob/master/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/OneToManyAssociation.java[OneToManyAssociation]::
-Represents a class member that is a collection of references to other entities. Note that Apache Isis does not currently support collections of values.
+Represents a class member that is a collection of references to other entities.
+Note that Apache Isis does not currently support collections of values.
https://github.com/apache/isis/blob/master/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectAction.java[ObjectAction]::
-Represents a class member that is an operation that can be performed on the action. Returns either a single value, a collection of entities, or is `void`.
-
+Represents a class member that is an operation that can be performed on the action.
+Returns either a single value, a collection of entities, or is `void`.
-The metamodel is built up through the https://github.com/apache/isis/blob/master/core/metamodel/src/main/java/org/apache/isis/core/metamodel/progmodel/ProgrammingModel.java[ProgrammingModel], which defines an API for registering a set of https://github.com/apache/isis/blob/master/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/FacetFactory.java[FacetFactory]s. Two special `FacetFactory` implementations - https://github.com/apache/isis/blob/master/core/metamodel/src/ma [...]
+The metamodel is built up through the https://github.com/apache/isis/blob/master/core/metamodel/src/main/java/org/apache/isis/core/metamodel/progmodel/ProgrammingModel.java[ProgrammingModel], which defines an API for registering a set of https://github.com/apache/isis/blob/master/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/FacetFactory.java[FacetFactory]s.
+Two special `FacetFactory` implementations - https://github.com/apache/isis/blob/master/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/accessor/PropertyAccessorFacetViaAccessorFactory.java[PropertyAccessorFacetFactory] and https://github.com/apache/isis/blob/master/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/accessor/CollectionAccessorFacetViaAccessorFactory.java[CollectionAccessorFacetFactory] - are used to identify the c [...]
Pretty much all the other ``FacetFactory``s are responsible for installing https://github.com/apache/isis/blob/master/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facetapi/Facet.java[Facet]s onto the metamodel elements.
-There are many many such ``Facet``s, and are used to do such things get values from properties or collections, modify properties or collections, invoke action, hide or disable class members, provide UI hints for class members, and so on. In short, the ``FacetFactory``s registered defines the Apache Isis programming conventions.
-
-
+There are many many such ``Facet``s, and are used to do such things get values from properties or collections, modify properties or collections, invoke action, hide or disable class members, provide UI hints for class members, and so on.
+In short, the ``FacetFactory``s registered defines the Apache Isis programming conventions.
== Modifying the Prog. Model
The default implementation of `ProgrammingModel` is https://github.com/apache/isis/blob/master/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/ProgrammingModelFacetsJava5.java[ProgrammingModelFacetsJava5], which registers a large number of ``FacetFactory``s.
-By editing `isis.properties` you can modify the programming conventions either by (a) using the default programming model, but tweaking it to include new `FacetFactory`s or exclude existing, or (b) by specifying a completely different programming model implementation.
+By editing `application.properties` you can modify the programming conventions either by (a) using the default programming model, but tweaking it to include new `FacetFactory`s or exclude existing, or (b) by specifying a completely different programming model implementation.
Let's see how this is done.
@@ -43,6 +45,9 @@ Let's see how this is done.
Suppose that you wanted to completely remove support for some existing facet, eg to support the "persisting()" and "persisted()" callback methods.
This would be done using:
+xref:refguide:config:sections/isis.core.meta-model.introspector.adoc#
+
+
[source,ini]
----
isis.reflector.facets.exclude=\
diff --git a/api/adoc/userguide/modules/btb/pages/web-xml.adoc b/api/adoc/userguide/modules/btb/pages/web-xml.adoc
deleted file mode 100644
index 8e9d7f0..0000000
--- a/api/adoc/userguide/modules/btb/pages/web-xml.adoc
+++ /dev/null
@@ -1,521 +0,0 @@
-[[web-xml]]
-= `web.xml`
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-WARNING: TODO: v2: a lot of this has changed, because we now use `WebModule_Xxx` instead of `web.xml`, ie set this stuff up programmatically.
-
-
-Apache Isis provides two different viewers, the xref:vw:ROOT:about.adoc[Wicket viewer] and the xref:vro:ROOT:about.adoc[RestfulObjects viewer].
-You can deploy both of these concurrently, or deploy just the Wicket viewer, or deploy just the Restful Objects viewer.
-The configuration in `web.xml` varies accordingly, both in terms of the servlet context listeners, filters and servlets.
-
-If you are using Apache Isis' integration with Apache Shiro (for security) then this also needs configuring in `web.xml`.
-See the xref:security:shiro:configuring-isis-to-use-shiro.adoc[security guide] for full details on this topic.
-
-The servlets and filters are mapped to three main pipelines:
-
-* `/wicket` - the Wicket viewer UI
-* `/restful` - the Restful Objects resources (REST API)
-* other paths, also static resources (such as `.png`, `.css`)
-
-With the following key:
-
-image::runtime/web-xml/key.png[width="800px",link="{imagesdir}/runtime/web-xml/key.png"]
-
-the diagram below shows the components to be configured if deploying both the Wicket viewer and Restful Objects viewer:
-
-image::runtime/web-xml/wicket-and-ro.png[width="800px",link="{imagesdir}/runtime/web-xml/wicket-and-ro.png"]
-
-Here the Wicket viewer is responsible for the main bootstrapping of Apache Isis itself, in other words the shared (global) metadata; this is done by the `IsisWicketApplication` class (extending the `WicketApplication` Wicket API).
-This class is also responsible for Apache Isis' own session and transaction management.
-
-The Restful Objects viewer - being a JAX-RS application implemented using the RestEasy framework - requires the `RestEasyBootstrapper` servlet context listener.
-It is this context listener that also sets up the `RestfulObjectsApplication`, which is then delegated to by the RestEasy `HttpServletDispatcher`.
-This pipeline uses the `IsisSessionFilter` and `IsisTransactionFilterForRestfulObjects` to perform the session and transaction management before it hits the RestEasy servlet.
-
-If only the Wicket viewer is deployed, then the diagram is more or less the same: the RestEasy servlet, context listener and supporting filters are simply removed:
-
-image::runtime/web-xml/wicket-only.png[width="800px",link="{imagesdir}/runtime/web-xml/wicket-only.png"]
-
-Finally, if only the Restful Objects viewer is deployed, then things change a little more subtly. Here, the Wicket filter is no longer needed.
-In its place, though the `IsisWebAppBootstrapper` context listener is required: this is responsible for seting up the shared (global) metadata.
-
-image::runtime/web-xml/ro-only.png[width="800px",link="{imagesdir}/runtime/web-xml/ro-only.png"]
-
-The following sections detail these various listeners, filters and servlets in more detail.
-
-
-
-== Servlet Context Listeners
-
-Servlet context listeners are used to perform initialization on application startup.
-Both Shiro (if configured as the security mechanism) and RestEasy (for the Restful Objects viewer) require their own context listener.
-In addition, if the Wicket viewer is _not_ being used, then additional Apache Isis-specific listener is required for bootstrapping of the Apache Isis framework itself.
-
-
-=== `EnvironmentLoaderListener` (Shiro)
-
-Bootstrap listener to startup and shutdown the web application's Shiro `WebEnvironment` at startup and shutdown respectively.
-
-Its definition is:
-
-[source,xml]
-----
-<listener>
- <listener-class>org.apache.shiro.web.env.EnvironmentLoaderListener</listener-class>
-</listener>
-----
-
-
-
-=== `IsisWebAppBootstrapper`
-
-The `IsisWebAppBootstrapper` servlet context listener bootstraps the shared (global) metadata for the Apache Isis framework.
-This listener is not required (indeed must not be configured) if the Wicket viewer is in use.
-
-Its definition is:
-
-[source,xml]
-----
-<listener>
- <listener-class>org.apache.isis.core.webapp.IsisWebAppBootstrapper</listener-class>
-</listener>
-----
-
-Its context parameters are:
-
-[source,xml]
-----
-<context-param>
- <param-name>deploymentType</param-name>
- <param-value>SERVER_PROTOTYPE</param-value>
-</context-param>
-<context-param>
- <param-name>isis.viewers</param-name>
- <param-value>restfulobjects</param-value>
-</context-param>
-----
-
-
-=== `ResteasyBootstrap` (RestEasy)
-
-The `ResteasyBootstrap` servlet context listener initializes the RestEasy runtime, specifying that classes (namely, those specified in Isis' `RestfulObjectsApplication`) to be exposed as REST resources.
-It is required if the Restful Objects viewer is to be deployed.
-
-Its definition is:
-
-[source,xml]
-----
-<listener>
- <listener-class>org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap</listener-class>
-</listener>
-----
-
-There are two relevant context parameters:
-
-[source,xml]
-----
-<context-param>
- <param-name>javax.ws.rs.Application</param-name> <!--1-->
- <param-value>org.apache.isis.viewer.restfulobjects.server.RestfulObjectsApplication</param-value>
-</context-param>
-<context-param>
- <param-name>resteasy.servlet.mapping.prefix</param-name>
- <param-value>/restful/</param-value> <!--2-->
-</context-param>
-----
-<1> used by RestEasy to determine the JAX-RS resources and other related configuration
-<2> should correspond to the filter mapping of the `HttpServletDispatcher` servlet
-
-
-
-== Servlets
-
-Servlets process HTTP requests and return corresponding responses.
-
-
-=== `HttpServletDispatcher` (RestEasy)
-
-This servlet is provided by the RestEasy framework, and does the dispatching to the resources defined by Apache Isis' `RestfulObjectsApplication` (see above).
-
-Its definition is:
-
-[source,xml]
-----
-<servlet>
- <servlet-name>RestfulObjectsRestEasyDispatcher</servlet-name>
- <servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class>
-</servlet>
-----
-
-Its mapping is:
-
-[source,xml]
-----
-<servlet-mapping>
- <servlet-name>RestfulObjectsRestEasyDispatcher</servlet-name>
- <url-pattern>/restful/*</url-pattern>
-</servlet-mapping>
-----
-
-
-=== `ResourceServlet`
-
-The `ResourceServlet` loads and services static content either from the filesystem or from the classpath, each with an appropriate mime type.
-
-Static content here means request paths ending in `.js`, `.css`, `.html`, `.png`, `.jpg`, `.jpeg` and `gif`.
-
-
-Its definition is:
-
-[source,xml]
-----
-<servlet>
- <servlet-name>Resource</servlet-name>
- <servlet-class>org.apache.isis.core.webapp.content.ResourceServlet</servlet-class>
-</servlet>
-----
-
-Its mapping is:
-
-[source,xml]
-----
-<servlet-mapping>
- <servlet-name>Resource</servlet-name>
- <url-pattern>*.css</url-pattern>
-</servlet-mapping>
-<servlet-mapping>
- <servlet-name>Resource</servlet-name>
- <url-pattern>*.png</url-pattern>
-</servlet-mapping>
-<servlet-mapping>
- <servlet-name>Resource</servlet-name>
- <url-pattern>*.jpg</url-pattern>
-</servlet-mapping>
-<servlet-mapping>
- <servlet-name>Resource</servlet-name>
- <url-pattern>*.jpeg</url-pattern>
-</servlet-mapping>
-<servlet-mapping>
- <servlet-name>Resource</servlet-name>
- <url-pattern>*.gif</url-pattern>
-</servlet-mapping>
-<servlet-mapping>
- <servlet-name>Resource</servlet-name>
- <url-pattern>*.svg</url-pattern>
-</servlet-mapping>
-<servlet-mapping>
- <servlet-name>Resource</servlet-name>
- <url-pattern>*.js</url-pattern>
-</servlet-mapping>
-<servlet-mapping>
- <servlet-name>Resource</servlet-name>
- <url-pattern>*.html</url-pattern>
-</servlet-mapping>
-<servlet-mapping>
- <servlet-name>Resource</servlet-name>
- <url-pattern>*.swf</url-pattern>
-</servlet-mapping>
-----
-
-
-
-
-== Filters
-
-The order in which filters appear in `web.xml` matters: first to last they define a pipeline.
-This is shown in the above diagrams, and the subsections also list the in the same order that they should appear in your `web.xml`.
-
-
-=== `ShiroFilter` (Shiro)
-
-Shiro filter that sets up a Shiro security manager for the request, obtained from the Shiro `WebEnvironment` set up by the Shiro `EnvironmentLoaderListener` (discussed above).
-
-Its definition is:
-
-[source,xml]
-----
-<filter>
- <filter-name>ShiroFilter</filter-name>
- <filter-class>org.apache.shiro.web.servlet.ShiroFilter</filter-class>
-</filter>
-----
-
-Its mapping is:
-
-[source,xml]
-----
-<filter-mapping>
- <filter-name>ShiroFilter</filter-name>
- <url-pattern>/*</url-pattern>
-</filter-mapping>
-----
-
-
-=== `IsisLogOnExceptionFilter`
-
-The `IsisLogOnExceptionFilter` filter simply logs the URL of any request that causes an exception to be thrown, then re-propagates the exception.
-The use case is simply to ensure that all exceptions are logged (against the `IsisLogOnExceptionFilter` slf4j appender).
-
-Its definition is:
-
-[source,xml]
-----
-<filter>
- <filter-name>IsisLogOnExceptionFilter</filter-name>
- <filter-class>org.apache.isis.core.webapp.diagnostics.IsisLogOnExceptionFilter</filter-class>
-</filter>
-----
-
-
-Its mapping is:
-
-[source,xml]
-----
-<filter-mapping>
- <filter-name>IsisLogOnExceptionFilter</filter-name>
- <url-pattern>/wicket/*</url-pattern>
-</filter-mapping>
-<filter-mapping>
- <filter-name>IsisLogOnExceptionFilter</filter-name>
- <url-pattern>/restful/*</url-pattern>
-</filter-mapping>
-----
-
-
-
-=== `ResourceCachingFilter`
-
-The `ResourceCachingFilter` adds HTTP cache headers to specified resources, based on their pattern.
-
-Its definition is:
-
-[source,xml]
-----
-<filter>
- <filter-name>ResourceCachingFilter</filter-name>
- <filter-class>org.apache.isis.core.webapp.content.ResourceCachingFilter</filter-class>
- <init-param>
- <param-name>CacheTime</param-name> <!--1-->
- <param-value>86400</param-value>
- </init-param>
-</filter>
-----
-<1> cache time, in seconds
-
-Its mapping is:
-
-[source,xml]
-----
-<filter-mapping>
- <filter-name>ResourceCachingFilter</filter-name>
- <url-pattern>*.css</url-pattern>
-</filter-mapping>
-<filter-mapping>
- <filter-name>ResourceCachingFilter</filter-name>
- <url-pattern>*.png</url-pattern>
-</filter-mapping>
-<filter-mapping>
- <filter-name>ResourceCachingFilter</filter-name>
- <url-pattern>*.jpg</url-pattern>
-</filter-mapping>
-<filter-mapping>
- <filter-name>ResourceCachingFilter</filter-name>
- <url-pattern>*.jpeg</url-pattern>
-</filter-mapping>
-<filter-mapping>
- <filter-name>ResourceCachingFilter</filter-name>
- <url-pattern>*.gif</url-pattern>
-</filter-mapping>
-<filter-mapping>
- <filter-name>ResourceCachingFilter</filter-name>
- <url-pattern>*.svg</url-pattern>
-</filter-mapping>
-<filter-mapping>
- <filter-name>ResourceCachingFilter</filter-name>
- <url-pattern>*.html</url-pattern>
-</filter-mapping>
-<filter-mapping>
- <filter-name>ResourceCachingFilter</filter-name>
- <url-pattern>*.js</url-pattern>
-</filter-mapping>
-<filter-mapping>
- <filter-name>ResourceCachingFilter</filter-name>
- <url-pattern>*.swf</url-pattern>
-</filter-mapping>
-----
-
-
-=== `WicketFilter`
-
-The `WicketFilter` is responsible for initiating the handling of Wicket requests.
-
-Its definition is:
-
-[source,xml]
-----
-<filter>
- <filter-name>WicketFilter</filter-name>
- <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class>
- <init-param>
- <param-name>applicationClassName</param-name>
- <param-value>org.apache.isis.viewer.wicket.viewer.IsisWicketApplication</param-value>
- </init-param>
-</filter>
-----
-
-This is generally boilerplate.
-It is possible to specify a subclass of `IsisWicketApplication` (and in earlier versions of the framework this was generally required), but there now exist sufficient configuration properties that subclassing is generally not required.
-
-Its mapping is:
-
-[source,xml]
-----
-<filter-mapping>
- <filter-name>WicketFilter</filter-name>
- <url-pattern>/wicket/*</url-pattern>
-</filter-mapping>
-----
-
-This filter reads one context parameter:
-[source,xml]
-----
-<context-param>
- <param-name>configuration</param-name>
- <param-value>deployment</param-value> <!--1-->
-</context-param>
-----
-<1> alternatively set to "development"; see xref:refguide:config:deployment-types.adoc[deployment types] for further discussion.
-
-
-=== `IsisSessionFilter`
-
-The `IsisSessionFilter` is responsible for the (persistence) session management; in effect a wrapper around DataNucleus' `PersistenceManager` object.
-It is only required for the Restful Objects viewer.
-
-[source,xml]
-----
-<filter>
- <filter-name>IsisSessionFilterForRestfulObjects</filter-name>
- <filter-class>org.apache.isis.core.webapp.IsisSessionFilter</filter-class>
- <init-param>
- <param-name>authenticationSessionStrategy</param-name> <!--1-->
- <param-value>
- org.apache.isis.viewer.restfulobjects.server.authentication.AuthenticationSessionStrategyBasicAuth
- </param-value>
- </init-param>
- <init-param>
- <param-name>whenNoSession</param-name> <!--2-->
- <param-value>basicAuthChallenge</param-value>
- </init-param>
- <init-param>
- <param-name>passThru</param-name> <!--3-->
- <param-value>/restful/swagger,/restful/health</param-value>
- </init-param>
- <!--
- <init-param>
- <param-name>restricted</param-name> <!--4-->
- <param-value>...</param-value>
- </init-param>
- <init-param>
- <param-name>redirectToOnException</param-name> <!--5-->
- <param-value>...</param-value>
- </init-param>
- -->
-</filter>
-----
-<1> pluggable strategy for determining what the authentication session (credentials) are of the request
-<2> what the servlet should do if no existing session was found.
-Usual values are either `unauthorized`, `basicAuthChallenge` or `auto`.
-Discussed in more detail below.
-<3> specify which URIs to ignore and simply pass through.
-Originally introduced to allow the `SwaggerSpec` resource (which does not require a session) to be invoked.
-<4> A comma separated list of paths that are allowed through even if not authenticated.
-The servlets mapped to these paths are expected to be able to deal with there being no session.
-Typically they will be logon pages, or for health checks (as per xref:refguide:applib-svc:HealthCheckService.adoc[`HealthCheckService`] SPI.
-See below for further details.
-<5> where to redirect to if an exception occurs.
-
-
-The `whenNoSession` parameter determines what the behaviour should be if no existing session can be found.
-There are a number of predetermined values available:
-
-* `unauthorized` will generates a 401 response
-* `basicAuthChallenge` will also generate a 401 response, and also issues a Basic Auth challenge using `WWW-Authenticate` response header
-* `auto` combines the `unauthorized` and `basicAuthChallenge` strategies: it will generate a 401 response, but only issues a Basic Auth challenge if it detects that the request originates from a web browser (ie that the HTTP `Accept` header is set to `text/html`).
-This means that custom Javascript apps can perform their authentication correctly, while the REST API can still be explored using the web browser (relying upon the web browser's in-built support for HTTP Basic Auth).
-* `continue`, in which case the request is allowed to continue but the destination expected to know that there will be no open session
-* `restricted`, which allows access to a restricted list of URLs, otherwise will redirect to the first of that list of URLs
-
-If accessing the REST API through a web browser, then normally `basicAuthChallenge` is appropriate; the browser will automatically display a simple prompt.
-If accessing the REST API through a custom Javascript app, then `unauthorized` is usually the one to use.
-
-This filter should be mapped to the `servlet-name` for the RestEasy `HttpServletDispatcher`; for example:
-
-[source,xml]
-----
-<filter-mapping>
- <filter-name>IsisSessionFilterForRestfulObjects</filter-name>
- <servlet-name>RestfulObjectsRestEasyDispatcher</servlet-name>
-</filter-mapping>
-----
-
-
-
-
-=== `IsisTransactionFilterForRestfulObjects`
-
-The `IsisTransactionFilterForRestfulObjects` filter simply ensures that a transaction is in progress for all calls routed to the xref:vro:ROOT:about.adoc[RestfulObjects viewer].
-
-Its definition is:
-
-[source,xml]
-----
-<filter>
- <filter-name>IsisTransactionFilterForRestfulObjects</filter-name>
- <filter-class>org.apache.isis.viewer.restfulobjects.server.webapp.IsisTransactionFilterForRestfulObjects</filter-class>
-</filter>
-----
-
-This filter should be mapped to the `servlet-name` for the RestEasy `HttpServletDispatcher`; for example:
-
-[source,xml]
-----
-<filter-mapping>
- <filter-name>IsisTransactionFilterForRestfulObjects</filter-name>
- <servlet-name>RestfulObjectsRestEasyDispatcher</servlet-name>
-</filter-mapping>
-----
-
-
-
-== Configuration Files
-
-However Apache Isis is bootstrapped (using the `IsisWicketApplication` or using `IsisWebAppBootstrapper`), it will read a number of configuration files, such as `isis.properties`.
-
-By default these are read from `WEB-INF` directory.
-This can be overridden using the `isis.config.dir` context parameter:
-
-[source,xml]
-----
-<context-param>
- <param-name>isis.config.dir</param-name>
- <param-value>location of your config directory if fixed</param-value>
-</context-param>
-----
-
-Another context parameter, `isis.viewres` specifies which additional configuration files to search for (over and above the default ones of `isis.properties` et al):
-
-[source,xml]
-----
-<context-param>
- <param-name>isis.viewers</param-name>
- <param-value>wicket,restfulobjects</param-value>
-</context-param>
-----
-
-For example, this will cause `viewer_wicket.properties` and `viewer_restfulobjects.properties` to also be loaded.
-
diff --git a/api/adoc/userguide/modules/btb/partials/module-nav.adoc b/api/adoc/userguide/modules/btb/partials/module-nav.adoc
index 136b983..510a19b 100644
--- a/api/adoc/userguide/modules/btb/partials/module-nav.adoc
+++ b/api/adoc/userguide/modules/btb/partials/module-nav.adoc
@@ -7,5 +7,3 @@
** xref:userguide:btb:headless-access.adoc[Headless Access]
** xref:userguide:btb:hints-and-tips.adoc[Hints-n-Tips]
** xref:userguide:btb:programming-model.adoc[Programming Model]
-** xref:userguide:btb:deployment.adoc[Deployment]
-** xref:userguide:btb:web-xml.adoc[web.xml]
diff --git a/viewers/wicket/adoc/modules/ROOT/images/application-menu/dividers.png b/api/adoc/userguide/modules/fun/images/application-menu/dividers.png
similarity index 100%
rename from viewers/wicket/adoc/modules/ROOT/images/application-menu/dividers.png
rename to api/adoc/userguide/modules/fun/images/application-menu/dividers.png
diff --git a/viewers/wicket/adoc/modules/ROOT/images/application-menu/layout-menus.pdn b/api/adoc/userguide/modules/fun/images/application-menu/layout-menus.pdn
similarity index 100%
rename from viewers/wicket/adoc/modules/ROOT/images/application-menu/layout-menus.pdn
rename to api/adoc/userguide/modules/fun/images/application-menu/layout-menus.pdn
diff --git a/viewers/wicket/adoc/modules/ROOT/images/application-menu/layout-menus.png b/api/adoc/userguide/modules/fun/images/application-menu/layout-menus.png
similarity index 100%
rename from viewers/wicket/adoc/modules/ROOT/images/application-menu/layout-menus.png
rename to api/adoc/userguide/modules/fun/images/application-menu/layout-menus.png
diff --git a/api/adoc/userguide/modules/fun/images/application-menu/tertiary.png b/api/adoc/userguide/modules/fun/images/application-menu/tertiary.png
new file mode 100644
index 0000000..059992d
Binary files /dev/null and b/api/adoc/userguide/modules/fun/images/application-menu/tertiary.png differ
diff --git a/viewers/wicket/adoc/modules/ROOT/images/layout-dynamic-xml/ToDoAppDashboard.png b/api/adoc/userguide/modules/fun/images/layout-dynamic-xml/ToDoAppDashboard.png
similarity index 100%
rename from viewers/wicket/adoc/modules/ROOT/images/layout-dynamic-xml/ToDoAppDashboard.png
rename to api/adoc/userguide/modules/fun/images/layout-dynamic-xml/ToDoAppDashboard.png
diff --git a/viewers/wicket/adoc/modules/ROOT/images/layout-dynamic-xml/ToDoItem.png b/api/adoc/userguide/modules/fun/images/layout-dynamic-xml/ToDoItem.png
similarity index 100%
rename from viewers/wicket/adoc/modules/ROOT/images/layout-dynamic-xml/ToDoItem.png
rename to api/adoc/userguide/modules/fun/images/layout-dynamic-xml/ToDoItem.png
diff --git a/viewers/wicket/adoc/modules/ROOT/images/layouts/customer-order.png b/api/adoc/userguide/modules/fun/images/layouts/customer-order.png
similarity index 100%
rename from viewers/wicket/adoc/modules/ROOT/images/layouts/customer-order.png
rename to api/adoc/userguide/modules/fun/images/layouts/customer-order.png
diff --git a/viewers/wicket/adoc/modules/ROOT/images/layouts/estatio-Invoice.png b/api/adoc/userguide/modules/fun/images/layouts/estatio-Invoice.png
similarity index 100%
rename from viewers/wicket/adoc/modules/ROOT/images/layouts/estatio-Invoice.png
rename to api/adoc/userguide/modules/fun/images/layouts/estatio-Invoice.png
diff --git a/viewers/wicket/adoc/modules/ROOT/images/layouts/estatio-Lease.png b/api/adoc/userguide/modules/fun/images/layouts/estatio-Lease.png
similarity index 100%
rename from viewers/wicket/adoc/modules/ROOT/images/layouts/estatio-Lease.png
rename to api/adoc/userguide/modules/fun/images/layouts/estatio-Lease.png
diff --git a/viewers/wicket/adoc/modules/ROOT/images/layouts/estatio-LeaseItem.png b/api/adoc/userguide/modules/fun/images/layouts/estatio-LeaseItem.png
similarity index 100%
rename from viewers/wicket/adoc/modules/ROOT/images/layouts/estatio-LeaseItem.png
rename to api/adoc/userguide/modules/fun/images/layouts/estatio-LeaseItem.png
diff --git a/viewers/wicket/adoc/modules/ROOT/images/layouts/todoapp-ToDoItem.png b/api/adoc/userguide/modules/fun/images/layouts/todoapp-ToDoItem.png
similarity index 100%
rename from viewers/wicket/adoc/modules/ROOT/images/layouts/todoapp-ToDoItem.png
rename to api/adoc/userguide/modules/fun/images/layouts/todoapp-ToDoItem.png
diff --git a/viewers/wicket/adoc/modules/ROOT/images/menubars/010-download.png b/api/adoc/userguide/modules/fun/images/menubars/010-download.png
similarity index 100%
rename from viewers/wicket/adoc/modules/ROOT/images/menubars/010-download.png
rename to api/adoc/userguide/modules/fun/images/menubars/010-download.png
diff --git a/viewers/wicket/adoc/modules/ROOT/images/menubars/020-download.png b/api/adoc/userguide/modules/fun/images/menubars/020-download.png
similarity index 100%
rename from viewers/wicket/adoc/modules/ROOT/images/menubars/020-download.png
rename to api/adoc/userguide/modules/fun/images/menubars/020-download.png
diff --git a/api/adoc/userguide/modules/fun/images/programming-model/todoapp-Dashboard.png b/api/adoc/userguide/modules/fun/images/ui/todoapp-Dashboard.png
similarity index 100%
rename from api/adoc/userguide/modules/fun/images/programming-model/todoapp-Dashboard.png
rename to api/adoc/userguide/modules/fun/images/ui/todoapp-Dashboard.png
diff --git a/api/adoc/userguide/modules/fun/pages/about.adoc b/api/adoc/userguide/modules/fun/pages/about.adoc
index e1d5414..01be009 100644
--- a/api/adoc/userguide/modules/fun/pages/about.adoc
+++ b/api/adoc/userguide/modules/fun/pages/about.adoc
@@ -2,12 +2,6 @@
:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-This guide introduces the xref:userguide:fun:core-concepts.adoc[core concepts] and the building blocks of Apache Isis applications, and describes the conventions of Apache Isis' xref:userguide:fun:programming-model.adoc[programming model].
-
-It goes on to explain the ideas of providing xref:userguide:fun:ui-hints.adoc[UI hints] such as titles and icons (though note that this is covered in more detail in the xref:vw:ROOT:layout.adoc[layout] chapter of the xref:vw:ROOT:about.adoc[Wicket Viewer] guide).
-
-There is also a chapter on xref:userguide:fun:crud.adoc[CRUD] operations, and a more interesting chapter on implementing xref:userguide:fun:business-rules.adoc[business rules].
-It finishes with a short chapter on implementing xref:userguide:fun:drop-downs-and-defaults.adoc[drop downs and defaults], important for actions that involve the interaction between several objects (in other words, most of them).
diff --git a/api/adoc/userguide/modules/fun/pages/available-domain-services/framework-provided.adoc b/api/adoc/userguide/modules/fun/pages/available-domain-services/framework-provided.adoc
deleted file mode 100644
index 0a5a42a..0000000
--- a/api/adoc/userguide/modules/fun/pages/available-domain-services/framework-provided.adoc
+++ /dev/null
@@ -1,104 +0,0 @@
-[[framework-provided]]
-= Framework-provided Services
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-WARNING: TODO: v2: remove this page, instead just xref:refguide:applib-svc:about.adoc[ref guide domain services].
-
-Most framework domain services are API: they exist to provide support functionality to the application's domain objects and services.
-In this case an implementation of the service will be available, either in Apache Isis core or as an extension.
-
-Some framework domain services are SPI: they exist primarily so that the application can influence the framework's behaviour.
-In these cases there is (usually) no default implementation; it is up to the application to provide an implementation.
-
-General purpose:
-
-* xref:refguide:applib-svc:ClockService.adoc[`ClockService`]
-* xref:refguide:applib-svc:ConfigurationViewService.adoc[`ConfigurationViewService`]
-* xref:refguide:applib-svc:RepositoryService.adoc[`RepositoryService`]
-* xref:refguide:applib-svc:ServiceRegistry.adoc[`ServiceRegistry`]
-* xref:refguide:applib-svc:UserService.adoc[`UserService`]
-* xref:refguide:applib-svc:WrapperFactory.adoc[`WrapperFactory`]
-* xref:refguide:applib-svc:EventBusService.adoc[`EventBusService`]
-* xref:refguide:applib-svc:EmailService.adoc[`EmailService`]
-
-Commands/Interactions/Background/Auditing/Publishing/Profiling:
-
-* xref:refguide:applib-svc:CommandContext.adoc[`CommandContext`] (SPI)
-* xref:refguide:applib-svc:CommandService.adoc[`CommandService`] (SPI)
-* xref:refguide:applib-svc:InteractionContext.adoc[`InteractionContext`] (SPI)
-* xref:refguide:applib-svc:AuditerService.adoc[`AuditerService`] (SPI)
-//* xref:refguide:applib-svc:BackgroundService.adoc[`BackgroundService`]
-* xref:refguide:applib-svc:BackgroundCommandService.adoc[`BackgroundCommandService`] (SPI)
-* xref:refguide:applib-svc:PublisherService.adoc[`PublisherService`] (SPI)
-* xref:refguide:applib-svc:MetricsService.adoc[`MetricsService`]
-
-
-Information Sharing:
-
-* xref:refguide:applib-svc:Scratchpad.adoc[`Scratchpad`]
-* xref:refguide:applib-svc:QueryResultsCache.adoc[`QueryResultsCache`]
-
-UserManagement:
-
-* xref:refguide:applib-svc:UserProfileService.adoc[`UserProfileService`] (SPI)
-* xref:refguide:applib-svc:UserRegistrationService.adoc[`UserRegistrationService`] (SPI)
-* xref:refguide:applib-svc:EmailNotificationService.adoc[`EmailNotificationService`] (SPI)
-
-Bookmarks and Mementos:
-
-* xref:refguide:applib-svc:BookmarkService.adoc[`BookmarkService`]
-* xref:refguide:applib-svc:DeepLinkService.adoc[`DeepLinkService`]
-* xref:refguide:applib-svc:JaxbService.adoc[`JaxbService`]
-* xref:refguide:applib-svc:XmlSnapshotService.adoc[`XmlSnapshotService`]
-
-Layout and UI Management:
-
-* xref:refguide:applib-svc:GridLoaderService.adoc[`GridLoaderService`] (SPI)
-* xref:refguide:applib-svc:GridService.adoc[`GridService`] (SPI)
-* xref:refguide:applib-svc:GridSystemService.adoc[`GridSystemService`] (SPI)
-* xref:refguide:applib-svc:HomePageResolverService.adoc[`HomePageResolverService`]
-* xref:refguide:applib-svc:HintStore.adoc[`HintStore`] (SPI)
-* xref:refguide:applib-svc:LayoutService.adoc[`LayoutService`]
-* xref:refguide:applib-svc:RoutingService.adoc[`RoutingService`] (SPI)
-* xref:refguide:applib-svc:TitleService.adoc[`TitleService`]
-* xref:refguide:applib-svc:UrlEncodingService.adoc[`UrlEncodingService`] (SPI)
-
-REST Support:
-
-* xref:refguide:applib-svc:AcceptHeaderService.adoc[`AcceptHeaderService`]
-* xref:refguide:applib-svc:SwaggerService.adoc[`SwaggerService`]
-* xref:refguide:applib-svc:ContentMappingService.adoc[`ContentMappingService`] (SPI)
-
-Metamodel:
-
-* xref:refguide:applib-svc:ApplicationFeatureRepository.adoc[`ApplicationFeatureRepository`]
-* xref:refguide:applib-svc:MetamodelService.adoc[`MetamodelService`]
-
-Error handling:
-
-* xref:refguide:applib-svc:ErrorReportingService.adoc[`ErrorReportingService`]
-* xref:refguide:applib-svc:ExceptionRecognizerService.adoc[`ExceptionRecognizerService`]
-* xref:refguide:applib-svc:MessageService.adoc[`MessageService`]
-
-i18n:
-
-* xref:refguide:applib-svc:LocaleProvider.adoc[`LocaleProvider`] (SPI)
-* xref:refguide:applib-svc:TranslationService.adoc[`TranslationService`] (SPI)
-* xref:refguide:applib-svc:TranslationsResolver.adoc[`TranslationsResolver`] (SPI)
-
-Other API:
-
-* xref:refguide:applib-svc:SudoService.adoc[`SudoService`]
-* xref:refguide:applib-svc:TransactionService.adoc[`TransactionService`]
-
-
-Extensions:
-
-* xref:testing:fixtures:services/FixtureScripts.adoc[`FixtureScripts`]
-* xref:testing:fixtures:services/FixtureScriptsSpecificationProvider.adoc[`FixtureScriptsSpecificationProvider`] (SPI)
-
-A full list of services can be found in the xref:refguide:applib-svc:about.adoc[Domain Services] reference guide.
-
diff --git a/api/adoc/userguide/modules/fun/pages/available-domain-services/incode-platform.adoc b/api/adoc/userguide/modules/fun/pages/available-domain-services/incode-platform.adoc
deleted file mode 100644
index fdb9fcc..0000000
--- a/api/adoc/userguide/modules/fun/pages/available-domain-services/incode-platform.adoc
+++ /dev/null
@@ -1,28 +0,0 @@
-= Incode Platform
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-
-The (non-ASF) link:https://platform.incode.org[Incode Platform^] provides a number of reusable modules for Apache Isis, focusing either on specific technologies, technical cross-cutting concerns, or providing business logic for generic subdomains.
-Some of these modules implement SPIs defined by the framework.
-
-
-The modules themselves fall into a number of broader groups:
-
-* technical libraries, such as excel, word and freemarker
-
-* SPI implementations, such as security, commands, auditing and publishing
-
-* framework extensions, such as flyway, quartz and feature toggles
-
-* wicket components, such as maps, calendars and PDF viewer
-
-Each module can be used independently or combined, and the Incode Platform also provides a quickstart application to get you started quickly.
-
-
-[WARNING]
-====
-Note that the Incode Platform, although maintained by Apache Isis committers, are not part of the ASF.
-====
-
diff --git a/api/adoc/userguide/modules/fun/pages/business-rules.adoc b/api/adoc/userguide/modules/fun/pages/business-rules.adoc
index 49340f4..7957e76 100644
--- a/api/adoc/userguide/modules/fun/pages/business-rules.adoc
+++ b/api/adoc/userguide/modules/fun/pages/business-rules.adoc
@@ -4,26 +4,27 @@
:page-partial:
-As explained xref:building-blocks.adoc#business-rules[earlier], when a domain object is rendered in the UI or the end-user interacts with the domain object through the UI, the framework applies a series of precondition business rules to each object member.
-These can be summarised as "see it, use it, do it".
+As explained xref:overview.adoc#business-rules[in the overview], when a domain object is rendered in the UI or the end-user interacts with the domain object through the UI, the framework applies a series of precondition business rules to each object member.
+These can be summarised as *"see it, use it, do it"*.
.See it, use it, do it
****
* is the object member visible?
-* if the object member is visible, is the object member enabled?
+* if so, is the object member enabled?
-* for enabled object members, if the user then interacts with that member, are the supplied values valid (can the user "do it").
+* if so, are the supplied values valid? (can the user "do" it)?
****
The framework provides a multitude of ways to implement these business rules.
-One decoupled approach is using xref:userguide:fun:building-blocks.adoc#domain-events[domain events]; the checks above correspond to the phases of the domain event.
-A simpler approach is to just implement the business rules imperatively in the domain object, or in a mixin for the object.
+
+The simplest mechanism is to just implement the business rules imperatively in the domain object, or in a xref:mixins.adoc[mixin] for the object.
+
+A more sophisticated approach, useful for decoupling functionality, is using xref:userguide:fun:overview.adoc#domain-events[domain events].
+The domain event is emitted multiple times, for the various types of precondition checks (and if not vetoed, they are also emitted on the execution of the action itself).
include::business-rules/visibility.adoc[leveloffset=+1]
include::business-rules/usability.adoc[leveloffset=+1]
include::business-rules/validity.adoc[leveloffset=+1]
-include::business-rules/actions.adoc[leveloffset=+1]
-include::business-rules/side-effects.adoc[leveloffset=+1]
diff --git a/api/adoc/userguide/modules/fun/pages/business-rules/actions.adoc b/api/adoc/userguide/modules/fun/pages/business-rules/actions.adoc
deleted file mode 100644
index 1adcd61..0000000
--- a/api/adoc/userguide/modules/fun/pages/business-rules/actions.adoc
+++ /dev/null
@@ -1,14 +0,0 @@
-= Actions
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-partial:
-
-The business rules described above (xref:business-rules.adoc#visibility[visibility], xref:business-rules.adoc#usability[usability], xref:business-rules.adoc#validity[validity]) are business rules that enforce preconditions
-
-The actual business logic is implemented in the form of actions: methods that are invokable by the user to allow them to accomplish some sort of goal.
-Rather than have the end-user have to edit individual properties of numerous objects, an action can encode these rules and allow only safe transformations of the application from one consistent state to the next.
-
-Examples could be: "place order", "award compensation", "approve an invoice", "check installation" and so on.
... 28760 lines suppressed ...