isis git commit: shortens some headings for ugsec.adoc
Repository: isis Updated Branches: refs/heads/wip bbf2414ab -> 2fd075bff shortens some headings for ugsec.adoc Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/2fd075bf Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/2fd075bf Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/2fd075bf Branch: refs/heads/wip Commit: 2fd075bff1fd60112ff90fd60ac13b52351e2780 Parents: bbf2414 Author: Dan Haywood Authored: Thu Apr 20 09:03:42 2017 +0100 Committer: Dan Haywood Committed: Thu Apr 20 09:03:42 2017 +0100 -- .../guides/ugsec/_ugsec_configuring-isis-to-use-shiro.adoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/isis/blob/2fd075bf/adocs/documentation/src/main/asciidoc/guides/ugsec/_ugsec_configuring-isis-to-use-shiro.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugsec/_ugsec_configuring-isis-to-use-shiro.adoc b/adocs/documentation/src/main/asciidoc/guides/ugsec/_ugsec_configuring-isis-to-use-shiro.adoc index f1aa95d..ebaae1d 100644 --- a/adocs/documentation/src/main/asciidoc/guides/ugsec/_ugsec_configuring-isis-to-use-shiro.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/ugsec/_ugsec_configuring-isis-to-use-shiro.adoc @@ -1,5 +1,5 @@ [[_ugsec_configuring-isis-to-use-shiro]] -= Configuring Apache Isis to use Shiro += Configuring to use Shiro :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 agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. :_basedir: ../../ :_imagesdir: images/ @@ -28,7 +28,7 @@ image::{_imagesdir}security/security-apis-impl/configure-isis-to-use-shiro.png[w The figure above doesn't tell the whole story; we haven't yet seen how Shiro itself is configured to use realms. The `ShiroAuthenticatorOrAuthorizor` is in essence the glue between the Apache Isis runtime and Shiro. -== Configuring Isis' Shiro Authenticator +== Configuring Shiro Authenticator The `ShiroAuthenticatorOrAuthorizor` class itself supports a single optional property. This can be configured in `authentication_shiro.properties` file:
[isis] Git Push Summary
Repository: isis Updated Branches: refs/heads/wip [deleted] 2fd075bff
[52/58] [abbrv] isis git commit: ugfun.adoc - eagerly rendered
ugfun.adoc - eagerly rendered Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/c247c225 Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/c247c225 Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/c247c225 Branch: refs/heads/wip Commit: c247c225403e8fc2d8f2083bb4c38ec0654100fd Parents: 4a5e96c Author: Dan Haywood Authored: Mon Apr 17 18:45:56 2017 +0100 Committer: Dan Haywood Committed: Thu Apr 20 09:09:31 2017 +0100 -- .../ugfun/_ugfun_ui-hints_eager-rendering.adoc | 34 +-- .../programming-model/todoapp-Dashboard.png | Bin 0 -> 97504 bytes 2 files changed, 17 insertions(+), 17 deletions(-) -- http://git-wip-us.apache.org/repos/asf/isis/blob/c247c225/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_ui-hints_eager-rendering.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_ui-hints_eager-rendering.adoc b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_ui-hints_eager-rendering.adoc index 212736a..5686774 100644 --- a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_ui-hints_eager-rendering.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_ui-hints_eager-rendering.adoc @@ -5,15 +5,13 @@ :_imagesdir: images/ -By default, collections all rendered lazily, in other words in a "collapsed" table view: - -NOTE: FIXME - screenshot here +By default, parented collections all rendered lazily, in other words in a "collapsed" table view. For the more commonly used collections we want to show the table expanded: -NOTE: FIXME - screenshot here +image::{_imagesdir}programming-model/todoapp-Dashboard.png[width="px",link="{_imagesdir}programming-model/todoapp-Dashboard.png"] -For this we annotate the collection using the `@CollectionLayout(render=RenderType.EAGERLY`; for example +For this we annotate the collection using xref:../rgant/rgant.adoc#_rgant_CollectionLayout_defaultView[`@CollectionLayout#defaultView()`]; for example [source,java] @@ -21,26 +19,29 @@ For this we annotate the collection using the `@CollectionLayout(render=RenderTy private Set dependencies = new TreeSet<>(); @Collection @CollectionLayout( -render = RenderType.EAGERLY +defaultView = "table" ) public Set getDependencies() { return dependencies; } -Alternatively, it can be specified the `Xxx.layout.json` file: +[NOTE] + +The `defaultView()` attribute replaces the deprecated approach of using xref:../rgant/rgant.adoc#_rgant_CollectionLayout_render[`@CollectionLayout#render()`] eagerly. + + +Alternatively, it can be specified the `Xxx.layout.xml` file: [source,javascript] -"dependencies": { -"collectionLayout": { -"render": "EAGERLY" -}, -} + + + + -[WARNING] - + It might be thought that collections that are eagerly rendered should also be eagerly loaded from the database by enabling the `defaultFetchGroup` attribute: [source,java] @@ -50,9 +51,8 @@ private Set dependencies = new TreeSet<>(); ... -While this can be done, it's likely to be a bad idea, because doing so will cause DataNucleus to query for more data than required even if the object is being rendered within some referencing object's table. +While this can be done, it's likely to be a bad idea, because doing so will cause DataNucleus to query for more data irrespective of how the object is used/rendered. -Of course, your mileage may vary, so don't think you can't experiment. - +Of course, your mileage may vary, so do experiment. http://git-wip-us.apache.org/repos/asf/isis/blob/c247c225/adocs/documentation/src/main/asciidoc/guides/ugfun/images/programming-model/todoapp-Dashboard.png -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugfun/images/programming-model/todoapp-Dashboard.png b/adocs/documentation/src/main/asciidoc/guides/ugfun/images/programming-model/todoapp-Dashboard.png new file mode 100644 index 000..fe06075 Binary files /dev/null and b/adocs/documentation/src/main/asciidoc/guides/ugfun/images/programming-model/todoapp-Dashboard.png differ
[55/58] [abbrv] isis git commit: ugfun.adoc - crud
ugfun.adoc - crud Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/2693c5ce Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/2693c5ce Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/2693c5ce Branch: refs/heads/wip Commit: 2693c5ced0ec3c4afcaa38c23906c74ba78dd1a9 Parents: c247c22 Author: Dan Haywood Authored: Mon Apr 17 20:46:00 2017 +0200 Committer: Dan Haywood Committed: Thu Apr 20 09:09:31 2017 +0100 -- ...building-blocks_events_lifecycle-events.adoc | 10 ++- .../main/asciidoc/guides/ugfun/_ugfun_crud.adoc | 24 .../guides/ugfun/_ugfun_crud_deleting.adoc | 13 .../guides/ugfun/_ugfun_crud_finding.adoc | 60 ++ .../guides/ugfun/_ugfun_crud_instantiating.adoc | 52 .../guides/ugfun/_ugfun_crud_persisting.adoc| 51 +++ .../asciidoc/guides/ugfun/_ugfun_ui-hints.adoc | 5 +- .../_ugfun_ui-hints_action-icons-and-css.adoc | 65 ..._ugfun_ui-hints_object-titles-and-icons.adoc | 13 9 files changed, 252 insertions(+), 41 deletions(-) -- http://git-wip-us.apache.org/repos/asf/isis/blob/2693c5ce/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_building-blocks_events_lifecycle-events.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_building-blocks_events_lifecycle-events.adoc b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_building-blocks_events_lifecycle-events.adoc index 5e9d666..13239ea 100644 --- a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_building-blocks_events_lifecycle-events.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_building-blocks_events_lifecycle-events.adoc @@ -15,12 +15,20 @@ Lifecycle events are _not_ fired for view models. The lifecycle events supported are: -* object created - just instantiated +* object created - just instantiated. + ++ +Note that this requires that the object is instantiated using the framework, see xref:../ugfun/ugfun.adoc#_ugfun_crud_instantiating[here] for further discussion + * updated loaded - just retrieved from the database + * object persisting - object about to be inserted into the database + * object persisted - object just inserted into the database + * object updating - object about to be updated + * object updated - object just updated + * object removing - object about to be deleted from the database There is no lifecycle event for object creating because the framework doesn't know about newly created objects until they have been created; and there is no lifecycle event for obejcts removed because it is not valid to "touch" a domain entity once deleted. http://git-wip-us.apache.org/repos/asf/isis/blob/2693c5ce/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_crud.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_crud.adoc b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_crud.adoc index 247deaf..add909f 100644 --- a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_crud.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_crud.adoc @@ -4,26 +4,24 @@ :_basedir: ../../ :_imagesdir: images/ -NOTE: FIXME +This chapter shows the idioms for creating, reading, updating and deleting xref:../ugfun/ugfun.adoc#_ugfun_building-blocks_types-of-domain-objects_domain-entities[domain entities]. -## Instantiating and Persisting +It also shows how to instantiate xref:../ugfun/ugfun.adoc#_ugfun_building-blocks_types-of-domain-objects_view-models[view models] and how to programmatically instantiate xref:../ugfun/ugfun.adoc#_ugfun_building-blocks_types-of-domain-objects_mixins[mixins] (useful primarily for xref:../ugtst/ugtst.adoc#_ugtst_integ-test-support[integration testing]). -NOTE: FIXME - using ``DomainObjectContainer``'s support for xref:../rgsvc/rgsvc.adoc#_rgsvc_api_DomainObjectContainer_object-creation-api[creation] and xref:../rgsvc/rgsvc.adoc#_rgsvc_api_DomainObjectContainer_object-persistence-api[persistence] +[NOTE] + +The main domain services used are xref:../rgsvc/rgsvc.adoc#_rgsvc_api_RepositoryService[`RepositoryService`] and xref:../rgsvc/rgsvc.adoc#_rgsvc_api_FactoryService[`FactoryService`]. +These (and some other services) replace the now deprecated xref:../rgsvc/rgsvc.adoc#_rgsvc_api_DomainObjectContainer[`DomainObjectContainer`]. + -## Finding Objects -NOTE: FIXME - using xref:../rgsvc/rgsvc.adoc#_rgsvc_api_DomainObjectContainer_generic-repository-api[`DomainObjectContainer`] +include::_ugfun_crud_instantiating.adoc[leveloffset=+1] -### Using DataNucleus type-safe queries +include:
[18/58] [abbrv] isis git commit: ISIS-1521: more reorganizing of images and also resources for dg.adoc
http://git-wip-us.apache.org/repos/asf/isis/blob/add8cef9/adocs/documentation/src/main/asciidoc/guides/dg/images/appendices/dev-env/intellij-idea/200-project-sdk/040-set-project-level.png -- diff --git a/adocs/documentation/src/main/asciidoc/guides/dg/images/appendices/dev-env/intellij-idea/200-project-sdk/040-set-project-level.png b/adocs/documentation/src/main/asciidoc/guides/dg/images/appendices/dev-env/intellij-idea/200-project-sdk/040-set-project-level.png deleted file mode 100644 index 026a821..000 Binary files a/adocs/documentation/src/main/asciidoc/guides/dg/images/appendices/dev-env/intellij-idea/200-project-sdk/040-set-project-level.png and /dev/null differ http://git-wip-us.apache.org/repos/asf/isis/blob/add8cef9/adocs/documentation/src/main/asciidoc/guides/dg/images/appendices/dev-env/intellij-idea/200-project-sdk/050-isis-language-level-7.png -- diff --git a/adocs/documentation/src/main/asciidoc/guides/dg/images/appendices/dev-env/intellij-idea/200-project-sdk/050-isis-language-level-7.png b/adocs/documentation/src/main/asciidoc/guides/dg/images/appendices/dev-env/intellij-idea/200-project-sdk/050-isis-language-level-7.png deleted file mode 100644 index 62e220b..000 Binary files a/adocs/documentation/src/main/asciidoc/guides/dg/images/appendices/dev-env/intellij-idea/200-project-sdk/050-isis-language-level-7.png and /dev/null differ http://git-wip-us.apache.org/repos/asf/isis/blob/add8cef9/adocs/documentation/src/main/asciidoc/guides/dg/images/appendices/dev-env/intellij-idea/200-project-sdk/060-app-language-level-8.png -- diff --git a/adocs/documentation/src/main/asciidoc/guides/dg/images/appendices/dev-env/intellij-idea/200-project-sdk/060-app-language-level-8.png b/adocs/documentation/src/main/asciidoc/guides/dg/images/appendices/dev-env/intellij-idea/200-project-sdk/060-app-language-level-8.png deleted file mode 100644 index 5723524..000 Binary files a/adocs/documentation/src/main/asciidoc/guides/dg/images/appendices/dev-env/intellij-idea/200-project-sdk/060-app-language-level-8.png and /dev/null differ http://git-wip-us.apache.org/repos/asf/isis/blob/add8cef9/adocs/documentation/src/main/asciidoc/guides/dg/images/appendices/dev-env/intellij-idea/250-new-project/010-new-project.png -- diff --git a/adocs/documentation/src/main/asciidoc/guides/dg/images/appendices/dev-env/intellij-idea/250-new-project/010-new-project.png b/adocs/documentation/src/main/asciidoc/guides/dg/images/appendices/dev-env/intellij-idea/250-new-project/010-new-project.png deleted file mode 100644 index edc97cf..000 Binary files a/adocs/documentation/src/main/asciidoc/guides/dg/images/appendices/dev-env/intellij-idea/250-new-project/010-new-project.png and /dev/null differ http://git-wip-us.apache.org/repos/asf/isis/blob/add8cef9/adocs/documentation/src/main/asciidoc/guides/dg/images/appendices/dev-env/intellij-idea/250-new-project/020-new-project-name.png -- diff --git a/adocs/documentation/src/main/asciidoc/guides/dg/images/appendices/dev-env/intellij-idea/250-new-project/020-new-project-name.png b/adocs/documentation/src/main/asciidoc/guides/dg/images/appendices/dev-env/intellij-idea/250-new-project/020-new-project-name.png deleted file mode 100644 index 15b78a7..000 Binary files a/adocs/documentation/src/main/asciidoc/guides/dg/images/appendices/dev-env/intellij-idea/250-new-project/020-new-project-name.png and /dev/null differ http://git-wip-us.apache.org/repos/asf/isis/blob/add8cef9/adocs/documentation/src/main/asciidoc/guides/dg/images/appendices/dev-env/intellij-idea/250-new-project/030-new-project-new-window.png -- diff --git a/adocs/documentation/src/main/asciidoc/guides/dg/images/appendices/dev-env/intellij-idea/250-new-project/030-new-project-new-window.png b/adocs/documentation/src/main/asciidoc/guides/dg/images/appendices/dev-env/intellij-idea/250-new-project/030-new-project-new-window.png deleted file mode 100644 index b8d8e61..000 Binary files a/adocs/documentation/src/main/asciidoc/guides/dg/images/appendices/dev-env/intellij-idea/250-new-project/030-new-project-new-window.png and /dev/null differ http://git-wip-us.apache.org/repos/asf/isis/blob/add8cef9/adocs/documentation/src/main/asciidoc/guides/dg/images/appendices/dev-env/intellij-idea/250-new-project/040-new-module-from-existing-sources.png -- diff --git a/adocs/documentation/src/main/asciidoc/guides/dg/images/appendices/dev-env/intellij-idea/250-new-project/040-new-module-from-existing-sources.png b/adocs/documentatio
[22/58] [abbrv] isis git commit: ISIS-1521: working on ugfun.adoc
http://git-wip-us.apache.org/repos/asf/isis/blob/2f2714cc/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_domain-class-ontology_domain-services.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_domain-class-ontology_domain-services.adoc b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_domain-class-ontology_domain-services.adoc deleted file mode 100644 index 25b27db..000 --- a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_domain-class-ontology_domain-services.adoc +++ /dev/null @@ -1,229 +0,0 @@ -[[_ugfun_domain-class-ontology_domain-services]] -= Domain 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 agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -:_basedir: ../../ -:_imagesdir: images/ - - -In Apache Isis domain services have several responsibilities: - -- to expose actions to be rendered in the menu -- to provide actions that are rendered as contributed actions/properties/collections on the contributee domain object -- they act as subscribers to the event bus -- they act as repositories (find existing objects) or as factories (create new objects) -- they provide other services (eg performing calculations, attach a barcode, send an email etc). -- to implement an SPI of the framework, most notably cross-cutting concerns such as security, command profiling, auditing and publishing. - -It's worth extending the xref:../ugfun/ugfun.adoc#_ugfun_core-concepts_philosophy_hexagonal-architecture[Hexagonal Architecture] to show where domain services fit in: - -.The hexagonal architecture with Isis addons -image::{_imagesdir}core-concepts/philosophy/hexagonal-architecture-addons.png[width="700px"] - -The (non-ASF) link:http://isisaddons.org[Isis Addons] provide SPI implementations of the common cross-cutting concerns. -They also provide a number of APIs for domain objects to invoke (not shown in the diagram). -You can also write your own domain services as well, for example to interface with some external CMS system, say. - - - -[[__ugfun_domain-class-ontology_domain-services_organizing-services]] -== Organizing Services - -In larger applications we have found it worthwhile to ensure that our domain services only act aligned with these responsibilities, employing a naming convention so that it is clear what the responsibilities of each domain service is. - -The application provides the `@DomainService(nature=...)` annotation that helps distinguish some of these responsibilities: - -- `VIEW` indicates that the actions should appear both on the menu and also be used as contributions -- `VIEW_MENU_ONLY` indicates that the actions should appear on the menu -- `VIEW_CONTRIBUTIONS_ONLY` indicates that the actions should not appear on the menu -- `DOMAIN` indicates that the actions are for other domain objects to invoke (either directly or indirectly through the event bus), but in any case should not be rendered at all in the UI - -Pulling all the above together, here are our suggestions as to how you should organize your domain services. - - -[[__ugfun_domain-class-ontology_domain-services_factory-and-repository]] -== Factory and Repository - -The factory/repository uses an injected xref:../rgsvc/rgsvc.adoc#_rgsvc_api_RepositoryService[`RepositoryService`] to both instantiate new objects and to query the database for existing objects of a given entity type. It is not visible in UI, rather other services delegate to it. - -We suggest naming such classes `XxxRepository`, eg: - - -[source,java] - -@DomainService( -nature=NatureOfService.DOMAIN // <1> -) -public CustomerRepository { -public List findCustomerBy...(...) { -return repositoyService.allMatches(...); -} -public Customer newCustomer(...) { -Customer Customer = container.newTransientInstance(Customer.class); -... -persistIfNotAlready(Customer); -return Customer; -} -public List allCustomers() { -return repositoryService.allInstances(Customer.class); -} -@Inject -RepositoryService repositoryService; -} - -<1> interacted with only programmatically by other objects in the domain layer. - -There is no need to annotate the a
[36/58] [abbrv] isis git commit: object titles and icons; fixing links
object titles and icons; fixing links Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/85b1e70b Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/85b1e70b Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/85b1e70b Branch: refs/heads/wip Commit: 85b1e70b20db42fb7e576d38d5df995eb1279eab Parents: 2ca2ea1 Author: Dan Haywood Authored: Mon Apr 17 17:44:16 2017 +0100 Committer: Dan Haywood Committed: Thu Apr 20 09:09:30 2017 +0100 -- .../guides/cgcom/_cgcom-applying-patches.adoc | 90 --- .../guides/cgcom/_cgcom_applying-patches.adoc | 90 +++ .../cgcom/_cgcom_release-process-prereqs.adoc | 2 +- .../src/main/asciidoc/guides/cgcom/cgcom.adoc | 4 +- .../asciidoc/guides/dg/_dg_asciidoc-syntax.adoc | 4 +- .../asciidoc/guides/dg/_dg_building-isis.adoc | 2 +- .../asciidoc/guides/dg/_dg_ide_intellij.adoc| 4 +- .../asciidoc/guides/dg/_dg_project-lombok.adoc | 2 +- .../asciidoc/guides/rgcms/_rgcms_classes.adoc | 2 +- .../guides/rgcms/_rgcms_classes_layout.adoc | 2 +- .../rgcms/_rgcms_classes_mixins_Object.adoc | 2 +- ..._rgfis_spi_MessageBrokerServiceInternal.adoc | 2 +- ...s_spi_PersistenceSessionServiceInternal.adoc | 2 +- ...is_spi_TransactionStateProviderInternal.adoc | 2 +- .../guides/rgsvc/_rgsvc_api_LayoutService.adoc | 2 +- .../guides/rgsvc/_rgsvc_api_SwaggerService.adoc | 2 +- .../guides/rgsvc/_rgsvc_metadata-api.adoc | 2 +- .../rgsvc/_rgsvc_spi_ContentMappingService.adoc | 2 +- .../rgsvc/_rgsvc_spi_GridSystemService.adoc | 4 +- .../guides/rgsvc/_rgsvc_spi_HintStore.adoc | 2 +- ...placing-default-service-implementations.adoc | 2 +- ...gbtb_programming-model_custom-validator.adoc | 2 +- ...cks_types-of-domain-objects_view-models.adoc | 24 +- .../guides/ugfun/_ugfun_programming-model.adoc | 8 +- .../_ugfun_programming-model_collections.adoc | 2 +- ...ugfun_programming-model_domain-services.adoc | 359 +-- ...ing-model_domain-services_contributions.adoc | 48 ++ ...model_domain-services_event-subscribers.adoc | 46 ++ ...ng-model_domain-services_initialization.adoc | 19 + ..._programming-model_domain-services_menu.adoc | 91 +++ ...del_domain-services_organizing-services.adoc | 33 + ...mming-model_domain-services_registering.adoc | 56 ++ ..._domain-services_repository-and-factory.adoc | 46 ++ ...g-model_domain-services_scoped-services.adoc | 23 + .../ugfun/_ugfun_programming-model_mixins.adoc | 305 + ...ramming-model_mixins_contributed-action.adoc | 29 + ...ing-model_mixins_contributed-collection.adoc | 38 ++ ...mming-model_mixins_contributed-property.adoc | 35 ++ ...mming-model_mixins_contributed-services.adoc | 46 ++ ..._programming-model_mixins_inferred-name.adoc | 45 ++ ...ming-model_mixins_nested-static-classes.adoc | 78 +++ ...ramming-model_mixins_programmatic-usage.adoc | 26 + .../_ugfun_programming-model_properties.adoc| 2 +- .../_ugfun_programming-model_view-models.adoc | 629 +-- ...ugfun_programming-model_view-models_dto.adoc | 69 ++ ...ing-model_view-models_dto_dto-consumers.adoc | 32 + ...g-model_view-models_dto_generating-xsds.adoc | 176 ++ ...amming-model_view-models_dto_versioning.adoc | 106 ...gfun_programming-model_view-models_jaxb.adoc | 62 +- ...models_jaxb_referencing-domain-entities.adoc | 65 ++ ..._programming-model_view-models_non-jaxb.adoc | 69 +- ..._ugfun_ui-hints_object-titles-and-icons.adoc | 252 +++- ...nts-and-tips_overriding-jdo-annotations.adoc | 2 +- .../ugsec/_ugsec_usage-by-isis-viewers.adoc | 4 +- ...n-properties_suppressing-password-reset.adoc | 2 +- ...guration-properties_suppressing-sign-up.adoc | 2 +- .../guides/ugvw/_ugvw_layout_file-based.adoc| 2 +- .../_migration-notes_1.11.0-to-1.12.0.adoc | 2 +- .../_migration-notes_1.12.0-to-1.13.0.adoc | 2 +- .../_migration-notes_1.9.0-to-1.10.0.adoc | 3 +- .../asciidoc/pages/screencasts/screencasts.adoc | 12 +- 61 files changed, 1646 insertions(+), 1432 deletions(-) -- http://git-wip-us.apache.org/repos/asf/isis/blob/85b1e70b/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom-applying-patches.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom-applying-patches.adoc b/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom-applying-patches.adoc deleted file mode 100644 index a605202..000 --- a/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom-applying-patches.adoc +++ /dev/null @@ -1,90 +0,0 @@ -[[_cgcom_applying-patches]] -= Applying Patches -:notice: licensed to the apache software foundation (asf) under one or more contributor license agre
[50/58] [abbrv] isis git commit: fixes FIXMEs in ugodn, rearranging some content
fixes FIXMEs in ugodn, rearranging some content Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/cf86b157 Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/cf86b157 Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/cf86b157 Branch: refs/heads/wip Commit: cf86b157d0e37ee669234da53f0f2354e8591a11 Parents: d9de887 Author: Dan Haywood Authored: Thu Apr 20 07:46:30 2017 +0100 Committer: Dan Haywood Committed: Thu Apr 20 09:09:31 2017 +0100 -- .../src/main/asciidoc/guides/dg/_dg_ide.adoc| 3 +- .../asciidoc/guides/dg/_dg_ide_eclipse.adoc | 2 +- .../_rgfis_spi_ContentNegotiationService.adoc | 2 +- .../guides/ugodn/_ugodn_configuring.adoc| 3 +- .../_ugodn_configuring_persistence-xml.adoc | 28 - .../guides/ugodn/_ugodn_hints-and-tips.adoc | 2 - ...ndling-mandatory-properties-in-subtypes.adoc | 44 ..._ugodn_hints-and-tips_mapping-to-a-view.adoc | 9 .../guides/ugodn/_ugodn_jdo-mappings.adoc | 2 + ...ppings_mandatory-properties-in-subtypes.adoc | 44 .../_ugodn_jdo-mappings_mapping-to-a-view.adoc | 18 11 files changed, 97 insertions(+), 60 deletions(-) -- http://git-wip-us.apache.org/repos/asf/isis/blob/cf86b157/adocs/documentation/src/main/asciidoc/guides/dg/_dg_ide.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/dg/_dg_ide.adoc b/adocs/documentation/src/main/asciidoc/guides/dg/_dg_ide.adoc index db76f89..ca81d39 100644 --- a/adocs/documentation/src/main/asciidoc/guides/dg/_dg_ide.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/dg/_dg_ide.adoc @@ -7,7 +7,8 @@ -The vast majority of Java developers use an IDE to assist with developing their code, and we highly recommend that you do like wise as you develop your Apache Isis applications using an IDE. Apache Isis is built with Maven, and all modern IDEs can import Maven projects. +The vast majority of Java developers use an IDE to assist with developing their code, and we highly recommend that you do likewise as you develop your Apache Isis applications using an IDE. +Apache Isis is built with Maven, and all modern IDEs can import Maven projects. This chapter shows how to setup and use two of the most popular IDEs, IntelliJ IDEA and Eclipse. http://git-wip-us.apache.org/repos/asf/isis/blob/cf86b157/adocs/documentation/src/main/asciidoc/guides/dg/_dg_ide_eclipse.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/dg/_dg_ide_eclipse.adoc b/adocs/documentation/src/main/asciidoc/guides/dg/_dg_ide_eclipse.adoc index a3f0dab..43ff34f 100644 --- a/adocs/documentation/src/main/asciidoc/guides/dg/_dg_ide_eclipse.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/dg/_dg_ide_eclipse.adoc @@ -90,7 +90,7 @@ When the enhancer runs, it will print out to the console: image::{_imagesdir}eclipse/eclipse-120-console.png[width="500px",link="{_imagesdir}/appendices/dev-env/eclipse/eclipse-120-console.png"] - +[[__dg_ide_eclipse_workaround-for-path-limits]] === Workaround for path limits (the DN plugin to use the persistence.xml) If running on Windows then the DataNucleus plugin is very likely to hit the Windows path limit. http://git-wip-us.apache.org/repos/asf/isis/blob/cf86b157/adocs/documentation/src/main/asciidoc/guides/rgfis/_rgfis_spi_ContentNegotiationService.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/rgfis/_rgfis_spi_ContentNegotiationService.adoc b/adocs/documentation/src/main/asciidoc/guides/rgfis/_rgfis_spi_ContentNegotiationService.adoc index 0342d47..b4d62d7 100644 --- a/adocs/documentation/src/main/asciidoc/guides/rgfis/_rgfis_spi_ContentNegotiationService.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/rgfis/_rgfis_spi_ContentNegotiationService.adoc @@ -18,7 +18,7 @@ Instead you need to create some sort of stable facade over your domain entities, + If the underlying entities change, then care must be taken to ensure that structure of the view model nevertheless is unchanged. -* a second option is to solve the problem at the persistence layer, but defining a (SQL) view in the database and then xref:../ugodn/ugodn.adoc#_ugodn_hints-and-tips_mapping-to-a-view[mapping this] to a (read-only) entity. Again this is surfaced by the RO viewer. + +* a second option is to solve the problem at the persistence layer, but defining a (SQL) view in the database and then xref:../ugodn/ugodn.adoc#_ugodn_jdo-mappings_mapping-to-a-view[mapping this] to a (read-only) entity. Again this is surfaced by the RO viewer. + + If the underly
[16/58] [abbrv] isis git commit: ISIS-1521: moves faq from ugfun to dg.adoc, renames to 'hints-n-tips'
ISIS-1521: moves faq from ugfun to dg.adoc, renames to 'hints-n-tips' Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/0c22c0a3 Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/0c22c0a3 Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/0c22c0a3 Branch: refs/heads/wip Commit: 0c22c0a392cce587e6448d438154d8c5063051c7 Parents: add8cef Author: Dan Haywood Authored: Fri Apr 14 15:12:14 2017 +0100 Committer: Dan Haywood Committed: Thu Apr 20 09:09:29 2017 +0100 -- .../asciidoc/guides/dg/_dg_hints-and-tips.adoc | 23 + .../dg/_dg_hints-and-tips_enabling-logging.adoc | 41 + .../dg/_dg_hints-and-tips_enhance-only.adoc | 25 ++ ...nd-tips_how-run-fixtures-on-app-startup.adoc | 24 ++ ...ips_how-to-handle-void-and-null-results.adoc | 79 + ...nd-tips_how-to-implement-a-spellchecker.adoc | 29 +++ ...ts-and-tips_i18n-label-in-wicket-viewer.adoc | 26 ++ .../dg/_dg_hints-and-tips_per-user-themes.adoc | 91 ...g_hints-and-tips_restful-image-property.adoc | 25 ++ ...tips_subtype-entity-not-fully-populated.adoc | 60 + .../src/main/asciidoc/guides/dg/dg.adoc | 3 +- .../main/asciidoc/guides/ugfun/_ugfun_faqs.adoc | 21 - .../ugfun/_ugfun_faqs_enabling-logging.adoc | 41 - .../guides/ugfun/_ugfun_faqs_enhance-only.adoc | 25 -- ...un_faqs_how-run-fixtures-on-app-startup.adoc | 24 -- ...aqs_how-to-handle-void-and-null-results.adoc | 79 - ...un_faqs_how-to-implement-a-spellchecker.adoc | 29 --- ..._ugfun_faqs_i18n-label-in-wicket-viewer.adoc | 26 -- .../ugfun/_ugfun_faqs_per-user-themes.adoc | 91 .../_ugfun_faqs_restful-image-property.adoc | 25 -- ...faqs_subtype-entity-not-fully-populated.adoc | 60 - .../src/main/asciidoc/guides/ugfun/ugfun.adoc | 2 +- 22 files changed, 426 insertions(+), 423 deletions(-) -- http://git-wip-us.apache.org/repos/asf/isis/blob/0c22c0a3/adocs/documentation/src/main/asciidoc/guides/dg/_dg_hints-and-tips.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/dg/_dg_hints-and-tips.adoc b/adocs/documentation/src/main/asciidoc/guides/dg/_dg_hints-and-tips.adoc new file mode 100644 index 000..67d89bd --- /dev/null +++ b/adocs/documentation/src/main/asciidoc/guides/dg/_dg_hints-and-tips.adoc @@ -0,0 +1,23 @@ +[[_dg_hints-and-tips]] += Hints and Tips +: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 agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. +:_basedir: ../../../ +:_imagesdir: images/ +:toc: right + + + +This chapter has FAQs (with solutions) for problems we've encountered ourselves or have been raised on the +Apache Isis mailing lists. + +See also xref:ugvro.adoc#_ugvro_hints-and-tips[Restful Objects hints-n-tips]. + +include::_dg_hints-and-tips_enabling-logging.adoc[leveloffset=+1] +include::_dg_hints-and-tips_subtype-entity-not-fully-populated.adoc[leveloffset=+1] +include::_dg_hints-and-tips_restful-image-property.adoc[leveloffset=+1] +include::_dg_hints-and-tips_enhance-only.adoc[leveloffset=+1] +include::_dg_hints-and-tips_per-user-themes.adoc[leveloffset=+1] +include::_dg_hints-and-tips_i18n-label-in-wicket-viewer.adoc[leveloffset=+1] +include::_dg_hints-and-tips_how-to-handle-void-and-null-results.adoc[leveloffset=+1] +include::_dg_hints-and-tips_how-to-implement-a-spellchecker.adoc[leveloffset=+1] +include::_dg_hints-and-tips_how-run-fixtures-on-app-startup.adoc[leveloffset=+1] http://git-wip-us.apache.org/repos/asf/isis/blob/0c22c0a3/adocs/documentation/src/main/asciidoc/guides/dg/_dg_hints-and-tips_enabling-logging.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/dg/_dg_hints-and-tips_enabling-logging.adoc b/adocs/documentation/src/main/asciidoc/guides/dg/_dg_hints-and-tips_enabling-logging.adoc new file mode 100644 index 000..af3ecc3 --- /dev/null +++ b/adocs/documentation/src/main/asciidoc/guides/dg/_dg_hints-and-tips_enabling-log
[45/58] [abbrv] isis git commit: ISIS-1521: further minor updates to ugfun.adoc
http://git-wip-us.apache.org/repos/asf/isis/blob/480d6ff2/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_class-structure_class-definition.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_class-structure_class-definition.adoc b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_class-structure_class-definition.adoc deleted file mode 100644 index 70b3659..000 --- a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_class-structure_class-definition.adoc +++ /dev/null @@ -1,201 +0,0 @@ -[[_ugfun_how-tos_class-structure_class-definition]] -= Class Definition -: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 agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -:_basedir: ../../ -:_imagesdir: images/ - - - -Apache Isis supports recognises three main types of domain classes: - -* domain entities - domain objects persisted to the database using JDO/DataNucleus; for example `Customer` - -* domain services - generally singletons, automatically injected, and providing various functionality; for example `CustomerRepository` - -* view models - domain objects that are a projection of some state held by the database, in support a particular use case; for example `CustomerDashboard` (to pull together commonly accessed information about a customer). - -Domain classes are generally recognized using annotations. -Apache Isis defines its own set of annotations, while entities are annotated using JDO/DataNucleus (though XML can also be used if required). -JAXB can also be used for view models. -Apache Isis recognizes some of the JDO and JAXB annotations and infers domain semantics from these annotations. - -You can generally recognize an Apache Isis domain class because it will be probably be annotated using `@DomainObject` and `@DomainService`. -The framework also defines supplementary annotations, `@DomainObjectLayout` and `@DomainServiceLayout`. -These provide hints relating to the layout of the domain object in the user interface. -(Alternatively, these UI hints can be defined in a supplementary xref:../ugvw/ugvw.adoc#_ugvw_layout[`.layout.xml`] file. - -We use Maven modules as a way to group related domain objects together; we can then reason about all the classes in that module as a single unit. -By convention there will be a single top-level package corresponding to the module. - -For example, the (non-ASF) link:https://github.com/incodehq/incode-module-document[Document module] (part of the link:http://catalog.incode.org[Incode Catalog]) has a top-level package of `org.incode.module.document`. -Within the module there may be various subpackages, but its the module defines the namespace. - -In the same way that the Java module act as a namespace for domain objects, it's good practice to map domain entities to their own (database) schemas. - - -[[__ugfun_how-tos_class-structure_class-definition_entities]] -== Entities - -Entities are persistent domain objects. -Their persistence is handled by JDO/DataNucleus, which means that it will generally be decorated with both DataNucleus and Apache Isis annotations. -The following is typical: - -[source,java] - -@javax.jdo.annotations.PersistenceCapable( // <1> -identityType=IdentityType.DATASTORE, // <2> -schema = "simple", // <3> -table = "SimpleObject" -) -@javax.jdo.annotations.DatastoreIdentity( // <4> -strategy=javax.jdo.annotations.IdGeneratorStrategy.IDENTITY, -column="id" -) -@javax.jdo.annotations.Version( // <5> -strategy= VersionStrategy.DATE_TIME, -column="version" -) -@javax.jdo.annotations.Queries({ -@javax.jdo.annotations.Query( // <6> -name = "findByName", -value = "SELECT " -+ "FROM domainapp.modules.simple.dom.impl.SimpleObject " -+ "WHERE name.indexOf(:name) >= 0 ") -}) -@javax.jdo.annotations.Unique(name="SimpleObject_name_UNQ",
[40/58] [abbrv] isis git commit: ISIS-1521: fixes xref links between pages and guides
ISIS-1521: fixes xref links between pages and guides Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/4807f4c2 Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/4807f4c2 Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/4807f4c2 Branch: refs/heads/wip Commit: 4807f4c2ee537a039308bcc09611a7a8983a0ae6 Parents: b2b87ca Author: Dan Haywood Authored: Fri Apr 14 15:37:29 2017 +0100 Committer: Dan Haywood Committed: Thu Apr 20 09:09:30 2017 +0100 -- .../_migration-notes_1.13.0-to-1.14.0.adoc | 2 +- .../_migration-notes_1.14.0-to-1.15.0.adoc | 2 +- .../pages/how-isis-works/how-isis-works.adoc| 2 +- .../_powered-by_gesconsultor-grc.adoc | 6 +- .../main/asciidoc/pages/tg/_tg_pet-clinic.adoc | 4 +- .../tg/_tg_stop-scaffolding-start-coding.adoc | 136 +-- .../release-notes/_release-notes_1.9.0.adoc | 2 +- 7 files changed, 77 insertions(+), 77 deletions(-) -- http://git-wip-us.apache.org/repos/asf/isis/blob/4807f4c2/adocs/documentation/src/main/asciidoc/migration-notes/_migration-notes_1.13.0-to-1.14.0.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/migration-notes/_migration-notes_1.13.0-to-1.14.0.adoc b/adocs/documentation/src/main/asciidoc/migration-notes/_migration-notes_1.13.0-to-1.14.0.adoc index f36cfcf..6f3b756 100644 --- a/adocs/documentation/src/main/asciidoc/migration-notes/_migration-notes_1.13.0-to-1.14.0.adoc +++ b/adocs/documentation/src/main/asciidoc/migration-notes/_migration-notes_1.13.0-to-1.14.0.adoc @@ -32,7 +32,7 @@ This is disabled by default; if enabled, this configuration property will treat * `isis.reflector.validator.noParamsOnly` + + -When searching for xref:rgcms.adoc#_rgcms_methods_prefixes_disable[`disableXxx()`] or xref:rgcms.adoc#_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). + +When searching for xref:../guides/rgcms/rgcms.adoc#_rgcms_methods_prefixes_disable[`disableXxx()`] or xref:../guides/rgcms/rgcms.adoc#_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. http://git-wip-us.apache.org/repos/asf/isis/blob/4807f4c2/adocs/documentation/src/main/asciidoc/migration-notes/_migration-notes_1.14.0-to-1.15.0.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/migration-notes/_migration-notes_1.14.0-to-1.15.0.adoc b/adocs/documentation/src/main/asciidoc/migration-notes/_migration-notes_1.14.0-to-1.15.0.adoc index 5a151f2..703d61f 100644 --- a/adocs/documentation/src/main/asciidoc/migration-notes/_migration-notes_1.14.0-to-1.15.0.adoc +++ b/adocs/documentation/src/main/asciidoc/migration-notes/_migration-notes_1.14.0-to-1.15.0.adoc @@ -8,7 +8,7 @@ == Rename of isis-viewer-wicket artifacts -The `` and `` of the xref:ugvw.adoc#[Wicket viewer] have been made consistent with other artifacts: +The `` and `` of the xref:../guides/ugvw/ugvw.adoc#[Wicket viewer] have been made consistent with other artifacts: * the `` has been changed from `org.apache.isis.viewer` to `org.apache.isis.core` * the `` has been changed from `isis-viewer-wicket-???` to `isis-core-viewer-wicket-???` http://git-wip-us.apache.org/repos/asf/isis/blob/4807f4c2/adocs/documentation/src/main/asciidoc/pages/how-isis-works/how-isis-works.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/pages/how-isis-works/how-isis-works.adoc b/adocs/documentation/src/main/asciidoc/pages/how-isis-works/how-isis-works.adoc index 53061d1..5684361 100644 --- a/adocs/documentation/src/main/asciidoc/pages/how-isis-works/how-isis-works.adoc +++ b/adocs/documentation/src/main/asciidoc/pages/how-isis-works/how-isis-works.adoc @@ -13,6 +13,6 @@ video::ludOLyi6VyY[youtube,width="840px",height="630px"] [NOTE] -Note that this screencast shows an earlier version of the xref:ugvw.adoc#[Wicket viewer] UI (specifically, pre 1.8.0). +Note that this screencast shows an earlier version of the xref:../../guides/ugvw/ugvw.adoc#[Wicket viewer] UI (specifically, pre 1.8.0). http://git-wip-us.apache.org/repos/asf/isis/blob/4807f4c2/adocs/documentation/src/main/asciidoc/pages/powered-by/_powered-by_gesconsultor-grc.adoc -- diff --git a/adocs/documentation/src/m
[58/58] [abbrv] isis git commit: wip - ugfun.adoc ... business rules
wip - ugfun.adoc ... business rules Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/acf946c0 Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/acf946c0 Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/acf946c0 Branch: refs/heads/wip Commit: acf946c0b36514886e27617d9b930a71a01516d8 Parents: 842c5b4 Author: Dan Haywood Authored: Tue Apr 18 00:21:46 2017 +0200 Committer: Dan Haywood Committed: Thu Apr 20 09:09:31 2017 +0100 -- .../rgcms/_rgcms_methods_prefixes_addTo.adoc| 2 +- .../rgcms/_rgcms_methods_prefixes_clear.adoc| 9 +- .../rgcms/_rgcms_methods_prefixes_modify.adoc | 10 +- .../_rgcms_methods_prefixes_removeFrom.adoc | 2 +- .../_rgcms_methods_prefixes_validateAddTo.adoc | 5 +- ...cms_methods_prefixes_validateRemoveFrom.adoc | 5 +- .../guides/ugfun/_ugfun_business-rules.adoc | 180 +++ .../guides/ugfun/_ugfun_crud_finding.adoc | 2 +- .../guides/ugfun/_ugfun_crud_instantiating.adoc | 16 ++ .../ugfun/_ugfun_drop-downs-and-defaults.adoc | 4 +- 10 files changed, 191 insertions(+), 44 deletions(-) -- http://git-wip-us.apache.org/repos/asf/isis/blob/acf946c0/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_methods_prefixes_addTo.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_methods_prefixes_addTo.adoc b/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_methods_prefixes_addTo.adoc index ba67ff6..e44255e 100644 --- a/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_methods_prefixes_addTo.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_methods_prefixes_addTo.adoc @@ -1,5 +1,5 @@ [[_rgcms_methods_prefixes_addTo]] -= `addTo...()` += `addTo...()` (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 agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. :_basedir: ../../ :_imagesdir: images/ http://git-wip-us.apache.org/repos/asf/isis/blob/acf946c0/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_methods_prefixes_clear.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_methods_prefixes_clear.adoc b/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_methods_prefixes_clear.adoc index a70856e..1fe3809 100644 --- a/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_methods_prefixes_clear.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_methods_prefixes_clear.adoc @@ -1,13 +1,18 @@ [[_rgcms_methods_prefixes_clear]] -= `clear...()` += `clear...()` (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 agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. :_basedir: ../../ :_imagesdir: images/ -The `clear...()` supporting method is called -- instead of the setter -- whenever an (optional) property is to be set to `null`. Its purpose is to allow additional business logic to be performed. +The `clear...()` supporting method is called -- instead of the setter -- whenever an (optional) property is to be set to `null`. +Its purpose is to allow additional business logic to be performed. +[NOTE] + +DataNucleus' smart handling of setters means that this supporting methods are in essence redundant, and so should be considered deprecated. + For example: http://git-wip-us.apache.org/repos/asf/isis/bl
[27/58] [abbrv] isis git commit: more on ugfun.adoc - identifiers, programming model for services etc
more on ugfun.adoc - identifiers, programming model for services etc Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/2ca2ea18 Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/2ca2ea18 Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/2ca2ea18 Branch: refs/heads/wip Commit: 2ca2ea184da8d9ef1a65e22139d0a2030290a2c2 Parents: 2f2714c Author: Dan Haywood Authored: Mon Apr 17 14:51:19 2017 +0100 Committer: Dan Haywood Committed: Thu Apr 20 09:09:30 2017 +0100 -- .../guides/ugfun/_ugfun_building-blocks.adoc| 4 +- .../ugfun/_ugfun_building-blocks_events.adoc| 61 +- ...un_building-blocks_events_domain-events.adoc | 40 ...building-blocks_events_lifecycle-events.adoc | 32 +++ ..._ugfun_building-blocks_events_ui-events.adoc | 28 +++ .../_ugfun_building-blocks_identifiers.adoc | 4 +- ...lding-blocks_identifiers_title-and-icon.adoc | 24 ++- .../ugfun/_ugfun_building-blocks_modules.adoc | 9 + ...ugfun_programming-model_domain-entities.adoc | 129 ...ugfun_programming-model_domain-services.adoc | 209 +-- ...gfun_programming-model_view-models_jaxb.adoc | 10 + ..._programming-model_view-models_non-jaxb.adoc | 12 ++ ..._ugfun_ui-hints_object-titles-and-icons.adoc | 12 +- 13 files changed, 350 insertions(+), 224 deletions(-) -- http://git-wip-us.apache.org/repos/asf/isis/blob/2ca2ea18/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_building-blocks.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_building-blocks.adoc b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_building-blocks.adoc index 8c61796..fe81aa7 100644 --- a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_building-blocks.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_building-blocks.adoc @@ -16,8 +16,6 @@ include::_ugfun_building-blocks_object-members.adoc[leveloffset=+1] include::_ugfun_building-blocks_events.adoc[leveloffset=+1] -include::_ugfun_building-blocks_identifiers.adoc[leveloffset=+1] - -nclude::_ugfun_building-blocks_modules.adoc[leveloffset=+1] +include::_ugfun_building-blocks_modules.adoc[leveloffset=+1] http://git-wip-us.apache.org/repos/asf/isis/blob/2ca2ea18/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_building-blocks_events.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_building-blocks_events.adoc b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_building-blocks_events.adoc index ded8c28..1746b40 100644 --- a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_building-blocks_events.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_building-blocks_events.adoc @@ -11,7 +11,7 @@ These events enable other domain services (possibly in other modules) to influen [TIP] It is also possible to simulate the rendering of a domain object by way of the xref:../rgsvc/rgsvc.adoc#_rgsvc_api_WrapperFactory[`WrapperFactory`]. -This +This allows business rules to be enforced for programmatic interactions between objects. To receive the events, the domain service should subscribe to the xref:../rgsvc/rgsvc.adoc#_rgsvc_api_EventBusService[`EventBusService`], and implement an appropriately annotated method to receive the events. @@ -20,60 +20,7 @@ The framework has several categories of events: domain events, UI events and lif These are explored in the sections below. - -== Domain Events -Domain events are fired for each object member (property, collection or action). - -By default, rendering a property causes a `PropertyDomainEvent` to be fired, though the xref:../rgant/rgant.adoc#_rgant_Property_domainEvent[`@Property#domainEvent()`] attribute allows a custom subclass to be specified if necessary. -Similarly, rendering a collection causes a `CollectionDomainEvent` to be fired, and rendering an action causes an `ActionDomainEvent` to be fired. - -In fact, each event can be fired up to five times, with the event's `getEventPhase()` method indicating to the subscriber the phase: - -* *hide* phase allows the subscriber to hide the member - -* *disable* phase allows the subscriber to disable the member. + - -For a property this makes it read-only; for an action this makes it "greyed out". -(Collections are implicitly read-only). - -* *validate* phase allows the subscriber to validate the proposed change. - -For a property this means validating the proposed new value of the property; for an action this means validating the action parameter arguments. -For example, a referential integrity restrict could be implemented here. -
[53/58] [abbrv] isis git commit: cleans up ugbtb a little
cleans up ugbtb a little Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/d9de8873 Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/d9de8873 Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/d9de8873 Branch: refs/heads/wip Commit: d9de8873c12db316deb17ec5c1e967dba4c94fd2 Parents: 29d19ff Author: Dan Haywood Authored: Thu Apr 20 06:07:08 2017 +0100 Committer: Dan Haywood Committed: Thu Apr 20 09:09:31 2017 +0100 -- .../_rgfis_spi_ContentNegotiationService.adoc | 2 +- .../guides/ugbtb/_ugbtb_deployment_docker.adoc | 4 +- .../guides/ugbtb/_ugbtb_hints-and-tips.adoc | 10 ++- .../_ugbtb_hints-and-tips_multi-tenancy.adoc| 13 .../_ugbtb_hints-and-tips_persisted-title.adoc | 82 ...placing-default-service-implementations.adoc | 64 +++ ..._hints-and-tips_transactions-and-errors.adoc | 78 +++ .../guides/ugbtb/_ugbtb_other-techniques.adoc | 5 -- ...tb_other-techniques_mapping-rdbms-views.adoc | 9 --- .../_ugbtb_other-techniques_multi-tenancy.adoc | 13 ..._ugbtb_other-techniques_persisted-title.adoc | 82 ...placing-default-service-implementations.adoc | 64 --- ...ther-techniques_transactions-and-errors.adoc | 78 --- .../_ugbtb_programming-model_finetuning.adoc| 2 +- .../src/main/asciidoc/guides/ugbtb/ugbtb.adoc | 1 - 15 files changed, 250 insertions(+), 257 deletions(-) -- http://git-wip-us.apache.org/repos/asf/isis/blob/d9de8873/adocs/documentation/src/main/asciidoc/guides/rgfis/_rgfis_spi_ContentNegotiationService.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/rgfis/_rgfis_spi_ContentNegotiationService.adoc b/adocs/documentation/src/main/asciidoc/guides/rgfis/_rgfis_spi_ContentNegotiationService.adoc index 05c486e..0342d47 100644 --- a/adocs/documentation/src/main/asciidoc/guides/rgfis/_rgfis_spi_ContentNegotiationService.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/rgfis/_rgfis_spi_ContentNegotiationService.adoc @@ -18,7 +18,7 @@ Instead you need to create some sort of stable facade over your domain entities, + If the underlying entities change, then care must be taken to ensure that structure of the view model nevertheless is unchanged. -* a second option is to solve the problem at the persistence layer, but defining a (SQL) view in the database and then xref:../ugbtb/ugbtb.adoc#_ugbtb_other-techniques_mapping-rdbms-views[mapping this] to a (read-only) entity. Again this is surfaced by the RO viewer. + +* a second option is to solve the problem at the persistence layer, but defining a (SQL) view in the database and then xref:../ugodn/ugodn.adoc#_ugodn_hints-and-tips_mapping-to-a-view[mapping this] to a (read-only) entity. Again this is surfaced by the RO viewer. + + If the underlying tables change (as the result of a change in their corresponding domain entities) then once more the view must be refactored so that it still presents the same structure. http://git-wip-us.apache.org/repos/asf/isis/blob/d9de8873/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_deployment_docker.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_deployment_docker.adoc b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_deployment_docker.adoc index dc84356..ea3b08e 100644 --- a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_deployment_docker.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_deployment_docker.adoc @@ -18,7 +18,7 @@ Docker host can be assured. -== Using an `overrides.properties` file +== Using an `overrides.properties` In addition to loading the regular configuration properties from `WEB-INF` directory (described xref:../rgcfg/rgcfg.adoc#_rgcfg_configuration-files[here]), Apache Isis will also load the `overrides.properties` file. @@ -63,7 +63,7 @@ The Docker's `ENTRYPOINT` therefore just needs to parse the Docker container's o create this file. -== Using the `ISIS_OPTS` environment variable +== 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 "||". http://git-wip-us.apache.org/repos/asf/isis/blob/d9de8873/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_hints-and-tips.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_hints-and-tips.adoc b/adocs/documentation/src/main/asciidoc/guides/ugbtb/
[37/58] [abbrv] isis git commit: ISIS-1521: reorganizes security chapters/sections
ISIS-1521: reorganizes security chapters/sections Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/45db638e Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/45db638e Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/45db638e Branch: refs/heads/wip Commit: 45db638ed1073af73ee49082a5c268d3f058b86f Parents: bef8814 Author: Dan Haywood Authored: Fri Apr 14 16:31:59 2017 +0100 Committer: Dan Haywood Committed: Thu Apr 20 09:09:30 2017 +0100 -- .../guides/dg/_dg_asciidoc-templates.adoc | 4 +- .../asciidoc/guides/dg/_dg_hints-and-tips.adoc | 2 +- .../guides/ugbtb/_ugbtb_hints-and-tips.adoc | 2 +- .../guides/ugodn/_ugodn_hints-and-tips.adoc | 2 +- .../guides/ugsec/_ugsec_hints-and-tips.adoc | 3 +- .../_ugsec_hints-and-tips_shiro-caching.adoc| 41 ++ .../guides/ugsec/_ugsec_shiro-caching.adoc | 41 -- .../guides/ugsec/_ugsec_shiro-ini-realm.adoc| 133 - ...shiro-isis-enhanced-wildcard-permission.adoc | 2 +- .../ugsec/_ugsec_shiro-isis-ldap-realm.adoc | 146 --- ..._shiro-isisaddons-security-module-realm.adoc | 36 - .../guides/ugsec/_ugsec_shiro-jdbc-realm.adoc | 113 -- .../_ugsec_shiro-realm-implementations.adoc | 15 ++ ...c_shiro-realm-implementations_ini-realm.adoc | 133 + ...o-realm-implementations_isis-ldap-realm.adoc | 146 +++ ...ations_isisaddons-security-module-realm.adoc | 36 + ..._shiro-realm-implementations_jdbc-realm.adoc | 113 ++ .../src/main/asciidoc/guides/ugsec/ugsec.adoc | 6 +- .../guides/ugvro/_ugvro_hints-and-tips.adoc | 2 +- .../guides/ugvw/_ugvw_hints-and-tips.adoc | 2 +- 20 files changed, 495 insertions(+), 483 deletions(-) -- http://git-wip-us.apache.org/repos/asf/isis/blob/45db638e/adocs/documentation/src/main/asciidoc/guides/dg/_dg_asciidoc-templates.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/dg/_dg_asciidoc-templates.adoc b/adocs/documentation/src/main/asciidoc/guides/dg/_dg_asciidoc-templates.adoc index 8ccd418..44b6549 100644 --- a/adocs/documentation/src/main/asciidoc/guides/dg/_dg_asciidoc-templates.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/dg/_dg_asciidoc-templates.adoc @@ -349,9 +349,9 @@ A hyperlink to a bookmark within the Secrurity guide, where: for example: -`\xref:../ugsec/ugsec.adoc#_ugsec_shiro-caching[Caching and other Shiro Features]` +`\xref:../ugsec/ugsec.adoc#_ugsec_hints-and-tips_shiro-caching[Caching and other Shiro Features]` -|xref:../ugsec/ugsec.adoc#_ugsec_shiro-caching[Caching and other Shiro Features] +|xref:../ugsec/ugsec.adoc#_ugsec_hints-and-tips_shiro-caching[Caching and other Shiro Features] |`adugtst` http://git-wip-us.apache.org/repos/asf/isis/blob/45db638e/adocs/documentation/src/main/asciidoc/guides/dg/_dg_hints-and-tips.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/dg/_dg_hints-and-tips.adoc b/adocs/documentation/src/main/asciidoc/guides/dg/_dg_hints-and-tips.adoc index 094550e..f0ed4c6 100644 --- a/adocs/documentation/src/main/asciidoc/guides/dg/_dg_hints-and-tips.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/dg/_dg_hints-and-tips.adoc @@ -10,7 +10,7 @@ This chapter provides some solutions for problems we've encountered ourselves or See also hints-n-tips chapters in the: -* the xref:../dg/dg.adoc#_ugvw_hints-and-tips[Developers'] guide (this chapter) +* the xref:../dg/dg.adoc#_dg_hints-and-tips[Developers'] guide (this chapter) * the xref:../ugvw/ugvw.adoc#_ugvw_hints-and-tips[Wicket viewer] guide http://git-wip-us.apache.org/repos/asf/isis/blob/45db638e/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_hints-and-tips.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_hints-and-tips.adoc b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_hints-and-tips.adoc index 2c78959..51c76f0 100644 --- a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_hints-and-tips.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_hints-and-tips.adoc @@ -10,7 +10,7 @@ This chapter provides some solutions for problems we've encountered ourselves or See also hints-n-tips chapters in the: -* the xref:../dg/dg.adoc#_ugvw_hints-and-tips[Developers'] guide +* the xref:../dg/dg.adoc#_dg_hints-and-tips[Developers'] guide * the xref:../ugvw/ugvw.adoc#_ugvw_hints-and-tips[Wicket viewer] guide http://git-wip-us.apache.org/repos/asf/isis/blob/45db638e/adocs/documentation/src/main/asciidoc/gui
[42/58] [abbrv] isis git commit: ISIS-1521: adds hints-n-tips sections for most of the user guides, and distributes out tips from dg.adoc as appropriate
ISIS-1521: adds hints-n-tips sections for most of the user guides, and distributes out tips from dg.adoc as appropriate Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/fcf368f0 Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/fcf368f0 Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/fcf368f0 Branch: refs/heads/wip Commit: fcf368f0c94cb56f3783d5033477b5f9742379bb Parents: 4807f4c Author: Dan Haywood Authored: Fri Apr 14 16:13:05 2017 +0100 Committer: Dan Haywood Committed: Thu Apr 20 09:09:30 2017 +0100 -- .../asciidoc/guides/dg/_dg_hints-and-tips.adoc | 24 -- ...ips_how-to-handle-void-and-null-results.adoc | 79 - ...nd-tips_how-to-implement-a-spellchecker.adoc | 29 --- ...ts-and-tips_i18n-label-in-wicket-viewer.adoc | 26 -- .../dg/_dg_hints-and-tips_per-user-themes.adoc | 91 ...g_hints-and-tips_restful-image-property.adoc | 25 -- ...tips_subtype-entity-not-fully-populated.adoc | 60 - .../rgsvc/_rgsvc_api_RepositoryService.adoc | 2 +- .../guides/ugbtb/_ugbtb_hints-and-tips.adoc | 27 ++ ...ips_how-to-handle-void-and-null-results.adoc | 79 + ...nd-tips_how-to-implement-a-spellchecker.adoc | 29 +++ .../src/main/asciidoc/guides/ugbtb/ugbtb.adoc | 1 + .../guides/ugodn/_ugodn_hints-and-tips.adoc | 27 ++ .../ugodn/_ugodn_hints-and-tips_java8.adoc | 29 +++ ...nts-and-tips_overriding-jdo-annotations.adoc | 64 ++ ...tips_subtype-entity-not-fully-populated.adoc | 60 + .../asciidoc/guides/ugodn/_ugodn_java8.adoc | 29 --- .../_ugodn_overriding-jdo-annotations.adoc | 64 -- .../src/main/asciidoc/guides/ugodn/ugodn.adoc | 3 +- .../_ugsec_configuring-isis-to-use-bypass.adoc | 23 - .../guides/ugsec/_ugsec_hints-and-tips.adoc | 28 ++ ...and-tips_configuring-isis-to-use-bypass.adoc | 23 + .../src/main/asciidoc/guides/ugsec/ugsec.adoc | 3 +- .../guides/ugvro/_ugvro_hints-and-tips.adoc | 87 +++ .../_ugvro_hints-and-tips_angular-tips.adoc | 69 +++ .../_ugvro_hints-and-tips_pretty-printing.adoc | 13 +++ ...o_hints-and-tips_restful-image-property.adoc | 25 ++ ...ro_hints-and-tips_using-chrome-devtools.adoc | 9 ++ .../_ugvw_extending_custom-bootstrap-theme.adoc | 2 +- .../guides/ugvw/_ugvw_hints-and-tips.adoc | 31 +++ ...ts-and-tips_i18n-label-in-wicket-viewer.adoc | 26 ++ .../_ugvw_hints-and-tips_per-user-themes.adoc | 91 .../src/main/asciidoc/guides/ugvw/ugvw.adoc | 2 +- 33 files changed, 666 insertions(+), 514 deletions(-) -- http://git-wip-us.apache.org/repos/asf/isis/blob/fcf368f0/adocs/documentation/src/main/asciidoc/guides/dg/_dg_hints-and-tips.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/dg/_dg_hints-and-tips.adoc b/adocs/documentation/src/main/asciidoc/guides/dg/_dg_hints-and-tips.adoc index 78cfee4..26253ea 100644 --- a/adocs/documentation/src/main/asciidoc/guides/dg/_dg_hints-and-tips.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/dg/_dg_hints-and-tips.adoc @@ -6,18 +6,24 @@ :toc: right +This chapter provides some solutions for problems we've encountered ourselves or have been raised on the Apache Isis mailing lists. -This chapter has FAQs (with solutions) for problems we've encountered ourselves or have been raised on the -Apache Isis mailing lists. +See also hints-n-tips chapters in the: + +* the xref:../dg/dg.adoc#_ugvw_hints-and-tips[Developers'] guide (this chapter) + +* the xref:../ugvw/ugvw.adoc#_ugvw_hints-and-tips[Wicket viewer] guide + +* the xref:../ugvro/ugvro.adoc#_ugvro_hints-and-tips[Restful Objects viewer] guide + +* the xref:../ugvro/ugodn.adoc#_ugodn_hints-and-tips[Datanucleus ObjectStore] guide + +* the xref:../ugsec/ugsec.adoc#_ugsec_hints-and-tips[Security] guide + +* the xref:../ugbtb/ugbtb.adoc#_ugbtb_hints-and-tips[Beyond the Basics] guide. -See also xref:../ugvro/ugvro.adoc#_ugvro_hints-and-tips[Restful Objects hints-n-tips]. include::_dg_hints-and-tips_enabling-logging.adoc[leveloffset=+1] -include::_dg_hints-and-tips_subtype-entity-not-fully-populated.adoc[leveloffset=+1] -include::_dg_hints-and-tips_restful-image-property.adoc[leveloffset=+1] include::_dg_hints-and-tips_enhance-only.adoc[leveloffset=+1] -include::_dg_hints-and-tips_per-user-themes.adoc[leveloffset=+1] -include::_dg_hints-and-tips_i18n-label-in-wicket-viewer.adoc[leveloffset=+1] -include::_dg_hints-and-tips_how-to-handle-void-and-null-results.adoc[leveloffset=+1] -include::_dg_hints-and-tips_how-to-implement-a-spellchecker.adoc[leveloffset=+1] include::_dg_hints-and-tips_how-run-fixtu
[12/58] [abbrv] isis git commit: ISIS-1521: fixes xref links between guides
http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ParameterLayout.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ParameterLayout.adoc b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ParameterLayout.adoc index 838d598..6761765 100644 --- a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ParameterLayout.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ParameterLayout.adoc @@ -19,32 +19,32 @@ The table below summarizes the annotation's attributes. | Description -|xref:rgant.adoc#_rgant-ParameterLayout_cssClass[`cssClass()`] +|xref:../rgant/rgant.adoc#_rgant-ParameterLayout_cssClass[`cssClass()`] |Any string valid as a CSS class -|the css class that a parameter should have, to allow more targetted styling in xref:rgcfg.adoc#_rgcfg_application-specific_application-css[`application.css`] +|the css class that a parameter should have, to allow more targetted styling in xref:../rgcfg/rgcfg.adoc#_rgcfg_application-specific_application-css[`application.css`] -|xref:rgant.adoc#_rgant-ParameterLayout_describedAs[`describedAs()`] +|xref:../rgant/rgant.adoc#_rgant-ParameterLayout_describedAs[`describedAs()`] |String |description of this parameter, eg to be rendered in a tooltip. -|xref:rgant.adoc#_rgant-ParameterLayout_labelPosition[`labelPosition()`] +|xref:../rgant/rgant.adoc#_rgant-ParameterLayout_labelPosition[`labelPosition()`] |`LEFT`, `TOP`, `RIGHT`, `NONE` + (`LEFT`) |in forms, the positioning of the label relative to the property value. + -Default is `LEFT`, unless xref:rgant.adoc#_rgant-ParameterLayout_multiLine[`multiLine`] in which case `TOP`. The value `RIGHT` is only supported for boolean parameters. +Default is `LEFT`, unless xref:../rgant/rgant.adoc#_rgant-ParameterLayout_multiLine[`multiLine`] in which case `TOP`. The value `RIGHT` is only supported for boolean parameters. -|xref:rgant.adoc#_rgant-ParameterLayout_multiLine[`multiLine()`] +|xref:../rgant/rgant.adoc#_rgant-ParameterLayout_multiLine[`multiLine()`] |Positive integer |for string parameters, render as a text area over multiple lines. + -If set > 1, then then xref:rgant.adoc#_rgant-ParameterLayout_labelPosition[`labelPosition`] defaults to `TOP`. +If set > 1, then then xref:../rgant/rgant.adoc#_rgant-ParameterLayout_labelPosition[`labelPosition`] defaults to `TOP`. -|xref:rgant.adoc#_rgant-ParameterLayout_named[`named()`] +|xref:../rgant/rgant.adoc#_rgant-ParameterLayout_named[`named()`] |String |the name of this parameter. + @@ -56,12 +56,12 @@ For Java 7 this is generally required. For Java 8, the name can often be inferre |whether to HTML escape the name of this parameter. -|xref:rgant.adoc#_rgant-ParameterLayout_renderedAsDayBefore[`renderedAsDayBefore()`] +|xref:../rgant/rgant.adoc#_rgant-ParameterLayout_renderedAsDayBefore[`renderedAsDayBefore()`] | |for date parameters only, render the date as one day prior to the actually stored date (eg the end date of an open interval into a closed interval) -|xref:rgant.adoc#_rgant-ParameterLayout_typicalLength[`typicalLength()`] +|xref:../rgant/rgant.adoc#_rgant-ParameterLayout_typicalLength[`typicalLength()`] | |the typical entry length of a field, use to determine the optimum width for display http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ParameterLayout_cssClass.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ParameterLayout_cssClass.adoc b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ParameterLayout_cssClass.adoc index 277b586..5ba4b7e 100644 --- a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ParameterLayout_cssClass.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ParameterLayout_cssClass.adoc @@ -7,9 +7,9 @@ -The `cssClass()` attribute can be used to render additional CSS classes in the HTML (a wrapping ``) that represents the action parameter. xref:rgcfg.adoc#_rgcfg_application-specific_application-css[Application-specific CSS] can then be used to target and adjust the UI representation of that particular element. +The `cssClass()` attribute can be used to render additional CSS classes in the HTML (a wrapping ``) that represents the action parameter. xref:../rgcfg/rgcfg.adoc#_rgcfg_application-specific_application-css[Application-specific CSS] can then be used to target and adjust the UI representation of that particular element. -This attribute can also be applied to xref:rgant.adoc#_rgant-DomainObjectLayout_cssClass[domain objects], xref:rgant.adoc#_rgant-ViewModelLayout_cssClass[view models], xref:rgant.adoc#_rgant-ActionLayout_cssClass[actions] xref:rgant.adoc#_rgant-Prop
[24/58] [abbrv] isis git commit: ISIS-1521: working on ugfun.adoc
http://git-wip-us.apache.org/repos/asf/isis/blob/2f2714cc/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_building-blocks_object-members.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_building-blocks_object-members.adoc b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_building-blocks_object-members.adoc new file mode 100644 index 000..38a18c7 --- /dev/null +++ b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_building-blocks_object-members.adoc @@ -0,0 +1,87 @@ +[[_ugfun_building-blocks_objects-members]] += Object Members +: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 agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. +:_basedir: ../../ +:_imagesdir: images/ + + +Every domain object in Apache Isis consists of (at most) three types of members: + +* properties, such as a ``Customer``'s `firstName` + +* collections, such as a ``Customer``'s `orders` collection of ``Order``s + +* actions, such as a ``Customer'``s `placeOrder(...)` method. + +Some domain objects -- specifically domain services and mixins -- only have actions. +In the case of contributing services and mixins these actions can (depending upon their semantics and signatures) be represented as derived properties or collections on the entity/view model to which they contribute/mix-in. + + +== Properties + +Properties follow the standard getter/setter pattern, with the return type being a scalar (a value object or another entity or view model). + +For example, with: + +[source,java] + +public class Customer +private String firstName; +public String getFirstName() { return firstName; } +public void setFirstName(String firstName) { this.firstName = firstName; } +... +} + + +the framework infers the `Customer` domain entity, which in turn has a `firstName` string _property_. + + +== Collections + +Collections are also represented by a getter and setter, however the return type is a `Collection` or subtype. + +For example, with: + +[source,java] + +public class Customer +private SortedSet orders = new TreeSet(); +public SortedSet getOrders() { return orders; } +public void setOrders(SortedSet orders) { this.orders = orders; } +... +} + + +the framework infers the `orders` _collection_. + +[TIP] + +The most commonly used collection type is `java.util.SortedSet`; entities are most commonly mapped to a relational database (ie a datastore with set semantics) and we recommend that all entities define a natural ordering so that when rendered in the UI they will be ordered "meaningfully" to the end-user. + + + +== Actions + +The third type of object member is actions. +(To a first approximation), actions are all public methods that do not represent properties or collections. + +For example: + +[source,java] + +public class Customer +public Customer placeOrder(Product p, int quantity) { ... } +... +} + + +corresponds to the `placeOrder` _action_. + +[NOTE] + +The above _is_ a simplification; the Apache Isis programming model also recognizes a number of other supporting methods each of which has its own prefix such as `hide`, `disable` or `validate`. +These can be considered as "reserved words" in Apache Isis, and do _not_ correspond to actions even though they have public visibility. + + + + http://git-wip-us.apache.org/repos/asf/isis/blob/2f2714cc/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_building-blocks_types-of-domain-objects.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_building-blocks_types-of-domain-objects.adoc b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_building-blocks_types-of-domain-objects.adoc new file mode 100644 index 000..87f28b8 --- /dev/null +++ b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_building-blocks_types-of-domain-objects.adoc @@ -0,0 +1,35 @@ +[[_ugfun_building-blocks_types-of-domain-objects]] += Type of Domain Objects +: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 informa
[15/58] [abbrv] isis git commit: ISIS-1521: fixes xref links between guides
ISIS-1521: fixes xref links between guides Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/252c2f8e Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/252c2f8e Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/252c2f8e Branch: refs/heads/wip Commit: 252c2f8eaf89038b604120018df7faa1fa8e7559 Parents: 0c22c0a Author: Dan Haywood Authored: Fri Apr 14 15:27:41 2017 +0100 Committer: Dan Haywood Committed: Thu Apr 20 09:09:29 2017 +0100 -- .../_cgcom_asciidoc-publish-procedure.adoc | 4 +- .../guides/cgcom/_cgcom_cutting-a-release.adoc | 18 +-- .../cgcom/_cgcom_policies_git-policy.adoc | 2 +- .../cgcom/_cgcom_post-release-successful.adoc | 12 +- .../cgcom/_cgcom_post-release-unsuccessful.adoc | 6 +- ...om_release-process-for-interim-releases.adoc | 2 +- .../cgcom/_cgcom_release-process-prereqs.adoc | 4 +- .../guides/cgcom/_cgcom_verifying-releases.adoc | 14 +-- .../guides/dg/_dg_asciidoc-templates.adoc | 72 +-- .../main/asciidoc/guides/dg/_dg_asciidoc.adoc | 4 +- .../dg/_dg_asciidoc_publish-procedure.adoc | 2 +- .../dg/_dg_asciidoc_writing-the-docs.adoc | 4 +- .../asciidoc/guides/dg/_dg_building-isis.adoc | 2 +- .../asciidoc/guides/dg/_dg_contributing.adoc| 4 +- .../asciidoc/guides/dg/_dg_git-cookbook.adoc| 8 +- .../dg/_dg_hints-and-tips_enabling-logging.adoc | 2 +- ...ips_how-to-handle-void-and-null-results.adoc | 4 +- ...nd-tips_how-to-implement-a-spellchecker.adoc | 6 +- ...ts-and-tips_i18n-label-in-wicket-viewer.adoc | 2 +- ...g_hints-and-tips_restful-image-property.adoc | 2 +- .../asciidoc/guides/dg/_dg_ide_eclipse.adoc | 6 +- .../asciidoc/guides/dg/_dg_ide_intellij.adoc| 6 +- .../asciidoc/guides/dg/_dg_project-lombok.adoc | 4 +- .../src/main/asciidoc/guides/dg/dg.adoc | 12 +- .../asciidoc/guides/rgant/_rgant-Action.adoc| 26 ++-- .../guides/rgant/_rgant-ActionLayout.adoc | 24 ++-- .../rgant/_rgant-ActionLayout_bookmarking.adoc | 4 +- .../_rgant-ActionLayout_contributedAs.adoc | 4 +- .../rgant/_rgant-ActionLayout_cssClass.adoc | 6 +- .../rgant/_rgant-ActionLayout_cssClassFa.adoc | 4 +- .../rgant/_rgant-ActionLayout_describedAs.adoc | 2 +- .../rgant/_rgant-ActionLayout_hidden.adoc | 6 +- .../guides/rgant/_rgant-ActionLayout_named.adoc | 2 +- .../rgant/_rgant-ActionLayout_position.adoc | 2 +- .../guides/rgant/_rgant-Action_command.adoc | 20 ++-- .../guides/rgant/_rgant-Action_domainEvent.adoc | 12 +- .../guides/rgant/_rgant-Action_hidden.adoc | 6 +- .../guides/rgant/_rgant-Action_publishing.adoc | 14 +-- .../guides/rgant/_rgant-Action_restrictTo.adoc | 2 +- .../guides/rgant/_rgant-Action_semantics.adoc | 2 +- .../guides/rgant/_rgant-Action_typeOf.adoc | 2 +- .../guides/rgant/_rgant-Collection.adoc | 14 +-- .../guides/rgant/_rgant-CollectionLayout.adoc | 20 ++-- .../rgant/_rgant-CollectionLayout_cssClass.adoc | 4 +- .../_rgant-CollectionLayout_defaultView.adoc| 2 +- .../_rgant-CollectionLayout_describedAs.adoc| 2 +- .../rgant/_rgant-CollectionLayout_hidden.adoc | 4 +- .../rgant/_rgant-CollectionLayout_named.adoc| 2 +- .../rgant/_rgant-CollectionLayout_paged.adoc| 4 +- .../rgant/_rgant-CollectionLayout_render.adoc | 4 +- .../rgant/_rgant-Collection_domainEvent.adoc| 14 +-- .../guides/rgant/_rgant-Collection_editing.adoc | 10 +- .../guides/rgant/_rgant-Collection_hidden.adoc | 4 +- .../rgant/_rgant-Collection_notPersisted.adoc | 2 +- .../guides/rgant/_rgant-Collection_typeOf.adoc | 2 +- .../asciidoc/guides/rgant/_rgant-Column.adoc| 10 +- .../asciidoc/guides/rgant/_rgant-Digits.adoc| 2 +- .../guides/rgant/_rgant-Discriminator.adoc | 10 +- .../guides/rgant/_rgant-DomainObject.adoc | 46 +++ .../guides/rgant/_rgant-DomainObjectLayout.adoc | 30 ++--- .../_rgant-DomainObjectLayout_bookmarking.adoc | 2 +- .../_rgant-DomainObjectLayout_cssClass.adoc | 6 +- .../_rgant-DomainObjectLayout_cssClassFa.adoc | 6 +- ...gant-DomainObjectLayout_cssClassUiEvent.adoc | 12 +- .../_rgant-DomainObjectLayout_describedAs.adoc | 2 +- .../_rgant-DomainObjectLayout_iconUiEvent.adoc | 12 +- .../rgant/_rgant-DomainObjectLayout_named.adoc | 4 +- .../rgant/_rgant-DomainObjectLayout_paged.adoc | 4 +- .../rgant/_rgant-DomainObjectLayout_plural.adoc | 2 +- .../_rgant-DomainObjectLayout_titleUiEvent.adoc | 14 +-- .../rgant/_rgant-DomainObject_auditing.adoc | 4 +- ...ant-DomainObject_autoCompleteRepository.adoc | 6 +- .../rgant/_rgant-DomainObject_bounded.adoc | 2 +- ...gant-DomainObject_createdLifecycleEvent.adoc | 8 +- .../rgant/_rgant-DomainObject_editing.adoc | 2 +- ...rgant-DomainObject_loaded
[31/58] [abbrv] isis git commit: ISIS-1521: fixes further xref links between guides
http://git-wip-us.apache.org/repos/asf/isis/blob/b2b87ca4/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-Mixin.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-Mixin.adoc b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-Mixin.adoc index 92b1acf..03abb65 100644 --- a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-Mixin.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-Mixin.adoc @@ -11,7 +11,7 @@ The `@Mixin` annotation indicates that the class acts as a mixin, contributing b Mixins were originally introduced as a means of allowing contributions from one module to the types of another module; in such cases the mixin type is often an interface type (eg `DocumentHolder`) that might be implemented by numerous different concrete types. However, mixins are also a convenient mechanism for grouping functionality even for a concrete type. -For further discussion on using mixins, see xref:ugbtb.adoc#_ugbtb_decoupling_mixins[mixins] in the user guide. +For further discussion on using mixins, see xref:../ugbtb/ugbtb.adoc#_ugbtb_decoupling_mixins[mixins] in the user guide. The table below summarizes the annotation's attributes. http://git-wip-us.apache.org/repos/asf/isis/blob/b2b87ca4/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ParameterLayout.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ParameterLayout.adoc b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ParameterLayout.adoc index 6761765..bba6565 100644 --- a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ParameterLayout.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ParameterLayout.adoc @@ -96,7 +96,7 @@ public class ToDoItem { [NOTE] -Note that there is (currently) no support for specifying UI hints for domain services through the dynamic xref:ugvw.adoc#_ugvw_layout_file-based[`.layout.json`] file (only for properties, collections and actions are supported). +Note that there is (currently) no support for specifying UI hints for domain services through the dynamic xref:../ugvw/ugvw.adoc#_ugvw_layout_file-based[`.layout.json`] file (only for properties, collections and actions are supported). http://git-wip-us.apache.org/repos/asf/isis/blob/b2b87ca4/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ParameterLayout_describedAs.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ParameterLayout_describedAs.adoc b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ParameterLayout_describedAs.adoc index b4ab0da..a25df4a 100644 --- a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ParameterLayout_describedAs.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ParameterLayout_describedAs.adoc @@ -5,7 +5,7 @@ :_imagesdir: images/ -The `describedAs()` attribute is used to provide a short description of the action parameter to the user. In the xref:ugvw.adoc#[Wicket viewer] it is displayed as a 'tool tip'. The `describedAs()` attribute can also be specified for xref:../rgant/rgant.adoc#_rgant-CollectionLayout_describedAs[collections], xref:../rgant/rgant.adoc#_rgant-PropertyLayout_describedAs[properties], xref:../rgant/rgant.adoc#_rgant-ActionLayout_describedAs[actions], xref:../rgant/rgant.adoc#_rgant-DomainObjectLayout_describedAs[domain objects] and xref:../rgant/rgant.adoc#_rgant-ViewModelLayout_describedAs[view models]. +The `describedAs()` attribute is used to provide a short description of the action parameter to the user. In the xref:../ugvw/ugvw.adoc#[Wicket viewer] it is displayed as a 'tool tip'. The `describedAs()` attribute can also be specified for xref:../rgant/rgant.adoc#_rgant-CollectionLayout_describedAs[collections], xref:../rgant/rgant.adoc#_rgant-PropertyLayout_describedAs[properties], xref:../rgant/rgant.adoc#_rgant-ActionLayout_describedAs[actions], xref:../rgant/rgant.adoc#_rgant-DomainObjectLayout_describedAs[domain objects] and xref:../rgant/rgant.adoc#_rgant-ViewModelLayout_describedAs[view models]. Descriptions may be provided for objects, members (properties, collections and actions), and for individual parameters within an action http://git-wip-us.apache.org/repos/asf/isis/blob/b2b87ca4/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ParameterLayout_labelPosition.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ParameterLayout_labelPosition.adoc b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ParameterLayout_labelPosition.adoc index 0242245..610b0ed 100644 --- a/adocs/documentation/src/main/asciidoc/g
[34/58] [abbrv] isis git commit: object titles and icons; fixing links
http://git-wip-us.apache.org/repos/asf/isis/blob/85b1e70b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_programming-model_view-models_jaxb.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_programming-model_view-models_jaxb.adoc b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_programming-model_view-models_jaxb.adoc index 8eadadb..ce821b8 100644 --- a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_programming-model_view-models_jaxb.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_programming-model_view-models_jaxb.adoc @@ -1,10 +1,68 @@ [[_ugfun_programming-model_view-models_jaxb]] = JAXB View Models - :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 agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. :_basedir: ../../ :_imagesdir: images/ +Here's a typical example of a JAXB view model, to allow (certain properties of) two ``Customer``s to be compared: + +[source,java] + +@XmlRootElement(name = "compareCustomers") // <1> +@XmlType( +propOrder = { // <2> +"customer1", +"customer2" +} +) +@XmlAccessorType(XmlAccessType.FIELD) // <3> +public class CompareCustomers { + +@XmlElement(required = true)// <4> +@Getter @Setter +Customer customer1; + +@XmlElement(required = true)// <4> +@Getter @Setter +Customer customer2; + +@XmlTransient // <5> +public String getCustomer1Name() { +return getCustomer1().getName(); +} + +@XmlTransient // <5> +public String getCustomer1Address() { +return getCustomer1().getAddress(); +} + +... +} + +<1> The JAXB `@XmlRootElement` annotation indicates this is a view model to Apache Isis, which then uses JAXB to serialize the state of the view model between interactions +<2> All properties of the view model must be listed using the `XmlType#propOrder` attribute. +<3> Specifying field accessor type allows the Lombok `@Getter` and `@Setter` annotations to be used. +<4> The `XmlElement` indicates the property is part of the view model's state. +For collections, the `@XmlElementWrapper` would also typically be used. +<5> The `@XmlTransient` indicates that the property is derived and should be ignored by JAXB. + +Use JAXB elements such as `@XmlElement` for properties and the combination of `@XmlElementWrapper` and `@XmlElement` for collections. +Properties can be ignored (for serialization) using `@XmlTransient`. + +The derived properties could also have been implemented using xref:../ugfun/ugfun.adoc#_ugfun_building-blocks_types-of-domain-objects_mixins[mixins]. + + +[IMPORTANT] + +Be aware that all the state will become the DTO's memento, ultimately converted into a URL-safe form, by way of the xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_UrlEncodingService[`UrlEncodingService`]. + +There are limits to the lengths of URLs, however. +If the URL does exceed limits or contains invalid characters, then provide a custom implementation of xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_UrlEncodingService[`UrlEncodingService`] to handle the memento string in some other fashion (eg substituting it with a GUID, with the memento cached somehow on the server). +a URL. + + + +include::_ugfun_programming-model_view-models_jaxb_referencing-domain-entities.adoc[leveloffset=+1] + -NOTE: FIXME http://git-wip-us.apache.org/repos/asf/isis/blob/85b1e70b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_programming-model_view-models_jaxb_referencing-domain-entities.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_programming-model_view-models_jaxb_referencing-domain-entities.adoc b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_programming-model_view-models_jaxb_referencing-domain-entities.adoc new file mode 100644 index 000..1808921 --- /dev/null +++ b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_programming-model_view-models_jaxb_referencing-domain-entities.adoc @@ -0,0 +1,65 @@ +
[09/58] [abbrv] isis git commit: ISIS-1521: fixes xref links between guides
http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_methods_lifecycle.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_methods_lifecycle.adoc b/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_methods_lifecycle.adoc index 309c136..87c1ecc 100644 --- a/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_methods_lifecycle.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_methods_lifecycle.adoc @@ -14,9 +14,9 @@ The lifecycle callback methods notify a domain entity about its interaction with Note that these callbacks are fired by Apache Isis rather than JDO. In the future we may deprecate them because there are better mechanisms available using listeners/subscribers: * in Isis 1.9.0 and earlier, you may therefore want to consider using the JDO API directly to set up a lifecycle -listener; see xref:rgcms.adoc#_rgcms_methods_lifecycle_jdo-api[here] for further discussion. +listener; see xref:../rgcms/rgcms.adoc#_rgcms_methods_lifecycle_jdo-api[here] for further discussion. -* alternatively, you can use a subscriber for the xref:rgcms.adoc#_rgcms_classes_lifecycleevent[lifecycle event]s fired in Isis. +* alternatively, you can use a subscriber for the xref:../rgcms/rgcms.adoc#_rgcms_classes_lifecycleevent[lifecycle event]s fired in Isis. The lifecycle callback methods supported by Isis are: @@ -28,28 +28,28 @@ The lifecycle callback methods supported by Isis are: |Method |Description -|xref:rgcms.adoc#_rgcms_methods_lifecycle_created[`created()`] -|called when an object has just been created using xref:rgsvc.adoc#_rgsvc_api_DomainObjectContainer[`newTransientInstance()`] +|xref:../rgcms/rgcms.adoc#_rgcms_methods_lifecycle_created[`created()`] +|called when an object has just been created using xref:../rgsvc/rgsvc.adoc#_rgsvc_api_DomainObjectContainer[`newTransientInstance()`] -|xref:rgcms.adoc#_rgcms_methods_lifecycle_loaded[`loaded()`] +|xref:../rgcms/rgcms.adoc#_rgcms_methods_lifecycle_loaded[`loaded()`] |called when a (persistent) object has just been loaded from the object store. -|xref:rgcms.adoc#_rgcms_methods_lifecycle_persisted[`persisted()`] +|xref:../rgcms/rgcms.adoc#_rgcms_methods_lifecycle_persisted[`persisted()`] |called when object has just been persisted from the object store. -|xref:rgcms.adoc#_rgcms_methods_lifecycle_persisting[`persisting()`] +|xref:../rgcms/rgcms.adoc#_rgcms_methods_lifecycle_persisting[`persisting()`] |called when a (not-yet-persistent) object is just about to be persisted from the object store -|xref:rgcms.adoc#_rgcms_methods_lifecycle_removed[`removed()`] +|xref:../rgcms/rgcms.adoc#_rgcms_methods_lifecycle_removed[`removed()`] |called when a (persistent) object has just been deleted from the object store -|xref:rgcms.adoc#_rgcms_methods_lifecycle_removing[`removing()`] +|xref:../rgcms/rgcms.adoc#_rgcms_methods_lifecycle_removing[`removing()`] |called when a (persistent) object is just about to be deleted from the object store -|xref:rgcms.adoc#_rgcms_methods_lifecycle_updated[`updated()`] +|xref:../rgcms/rgcms.adoc#_rgcms_methods_lifecycle_updated[`updated()`] |called when a (persistent) object has just been updated in the object store -|xref:rgcms.adoc#_rgcms_methods_lifecycle_updating[`updating()`] +|xref:../rgcms/rgcms.adoc#_rgcms_methods_lifecycle_updating[`updating()`] |called when a (persistent) object is just about to be updated in the object store |=== @@ -66,10 +66,10 @@ Some lifecycle methods have been deprecated: |Notes |`deleted()` -|Replaced by xref:rgcms.adoc#_rgcms_methods_lifecycle_removed[`removed()`] +|Replaced by xref:../rgcms/rgcms.adoc#_rgcms_methods_lifecycle_removed[`removed()`] |`deleting()` -|Replaced by xref:rgcms.adoc#_rgcms_methods_lifecycle_removing[`removing()`] +|Replaced by xref:../rgcms/rgcms.adoc#_rgcms_methods_lifecycle_removing[`removing()`] |`loading()` |callback for when the (persistent) object is just about to be loaded from the object store. + @@ -80,10 +80,10 @@ This method is never called. |`saved()` -|Replaced by xref:rgcms.adoc#_rgcms_methods_lifecycle_persisted[`persisted()`] +|Replaced by xref:../rgcms/rgcms.adoc#_rgcms_methods_lifecycle_persisted[`persisted()`] |`saving()` -|Replaced by xref:rgcms.adoc#_rgcms_methods_lifecycle_persisting[`persisting()`] +|Replaced by xref:../rgcms/rgcms.adoc#_rgcms_methods_lifecycle_persisting[`persisting()`] |=== http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_methods_lifecycle_created.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_methods_lifecycle_created.adoc b/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_methods_lifecycl
[04/58] [abbrv] isis git commit: ISIS-1521: fixes xref links between guides
http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_spi_PublisherService.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_spi_PublisherService.adoc b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_spi_PublisherService.adoc index 4e4a511..fa65e0e 100644 --- a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_spi_PublisherService.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_spi_PublisherService.adoc @@ -12,14 +12,14 @@ link:http://activemq.apache.org/[ActiveMQ] with link:http://camel.apache.org[Cam An alternative use is for profiling: for each execution (action invocation/property edit) the framework captures metrics of the number of objects loaded or dirtied as the result of that execution. If the -xref:rgsvc.adoc#_rgsvc_api_WrapperFactory[`WrapperFactory`] is used to call other objects then the metrics are captured +xref:../rgsvc/rgsvc.adoc#_rgsvc_api_WrapperFactory[`WrapperFactory`] is used to call other objects then the metrics are captured for each sub-execution. The framework provides a default implementation, `PublisherServiceLogging`, that will log -these execution graphs (in XML form, per the xref:rgcms.adoc#_rgcms_schema-ixn["ixn" schema]) to an SLF4J logger. +these execution graphs (in XML form, per the xref:../rgcms/rgcms.adoc#_rgcms_schema-ixn["ixn" schema]) to an SLF4J logger. Only actions/properties/domain objects annotated for publishing (using -xref:rgant.adoc#_rgant-Action_publishing[`@Action#publishing()`], -xref:rgant.adoc#_rgant-Property_publishing[`@Property#publishing()`] or -xref:rgant.adoc#_rgant-DomainObject_publishing[`@DomainObject#publishing()`]) are published. +xref:../rgant/rgant.adoc#_rgant-Action_publishing[`@Action#publishing()`], +xref:../rgant/rgant.adoc#_rgant-Property_publishing[`@Property#publishing()`] or +xref:../rgant/rgant.adoc#_rgant-DomainObject_publishing[`@DomainObject#publishing()`]) are published. == SPI @@ -37,9 +37,9 @@ public interface PublisherService { <2> to publish a set of changed objects. Each `Interaction.Execution` has an owning `Interaction`; this is the same object obtainable from -xref:rgsvc.adoc#_rgsvc_spi_InteractionContext[`InteractionContext`]. Implementations that publish member executions +xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_InteractionContext[`InteractionContext`]. Implementations that publish member executions can use `Interaction.Execution#getDto()` method to return a DTO (as per the -xref:rgcms.adoc#_rgcms_schema-ixn["ixn" schema]) which can be converted into a serializable XML representation using +xref:../rgcms/rgcms.adoc#_rgcms_schema-ixn["ixn" schema]) which can be converted into a serializable XML representation using the `InteractionDtoUtils` utility class. The XML can either serialize a single execution, or can be a "deep" serialization of an execution and all sub-executions. @@ -64,7 +64,7 @@ public interface PublishedObjects extends HasTransactionId, HasUsername { objects were changed. <2> inherited from `HasUsername`, is the user that initiated the transaction causing these objects to change <3> the time that this set of objects was collated (just before the completion of the transaction completes).. -<4> returns a DTO (as per the xref:rgcms.adoc#_rgcms_schema-chg["chg" schema]) which can be converted into a +<4> returns a DTO (as per the xref:../rgcms/rgcms.adoc#_rgcms_schema-chg["chg" schema]) which can be converted into a serializable XML representation can be obtained using the `ChangesDtoUtils` utility class. <5> metrics as to the number of objects loaded, created, updated or deleted and the number of object properties modified (in other words the "size" or "weight" of the transaction). @@ -101,13 +101,13 @@ and monitoring the activity of subscribers of said message queues. == Usage To indicate that an action invocation should be published, annotate it with the -xref:rgant.adoc#_rgant-Action_publishing[`@Action#publishing()`] annotation. +xref:../rgant/rgant.adoc#_rgant-Action_publishing[`@Action#publishing()`] annotation. To indicate that an property edit should be published, annotate it with the -xref:rgant.adoc#_rgant-Property_publishing[`@Property#publishing()`] annotation. +xref:../rgant/rgant.adoc#_rgant-Property_publishing[`@Property#publishing()`] annotation. To indicate that a changed object should be published is to annotate it with the -xref:rgant.adoc#_rgant-DomainObject_publishing[`@DomainObject#publishing()`] annotation. +xref:../rgant/rgant.adoc#_rgant-DomainObject_publishing[`@DomainObject#publishing()`] annotation. @@ -115,7 +115,7 @@ xref:rgant.adoc#_rgant-DomainObject_publishing[`@DomainObject#publishing()`] ann The (non-ASF) Isis addons' http://github.com/isisaddons/isis-module-publishmq[publishmq] module prov
[29/58] [abbrv] isis git commit: ISIS-1521: fixes further xref links between guides
http://git-wip-us.apache.org/repos/asf/isis/blob/b2b87ca4/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_spi_UserRegistrationService.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_spi_UserRegistrationService.adoc b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_spi_UserRegistrationService.adoc index 0c7fbe1..c8dcc61 100644 --- a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_spi_UserRegistrationService.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_spi_UserRegistrationService.adoc @@ -7,7 +7,7 @@ The `UserRegistrationService` provides the ability for users to sign-up to access an application by providing a valid email address, and also provides the capability for users to reset their password if forgotten. -For user sign-up, the xref:ugvw.adoc#[Wicket viewer] will check whether an implementation of this service (and also the xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_EmailNotificationService[`EmailNotificationService`]) is available, and if so will render a sign-up page where the user enters their email address. A verification email is sent (using the aforementioned `EmailNotificationService`) which includes a link back to the running application; this allows the user then to complete their registration process (choose user name, password and so on). When the user has provided the additional details, the Wicket viewer calls _this_ service in order to create an account for them, and then logs the user on. +For user sign-up, the xref:../ugvw/ugvw.adoc#[Wicket viewer] will check whether an implementation of this service (and also the xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_EmailNotificationService[`EmailNotificationService`]) is available, and if so will render a sign-up page where the user enters their email address. A verification email is sent (using the aforementioned `EmailNotificationService`) which includes a link back to the running application; this allows the user then to complete their registration process (choose user name, password and so on). When the user has provided the additional details, the Wicket viewer calls _this_ service in order to create an account for them, and then logs the user on. For the password reset feature, the Wicket viewer will render a password reset page, and use the `EmailNotificationService` to send a "password forgotten" email. This service provides the ability to reset a password based on the user's email address. @@ -15,7 +15,7 @@ It is of course possible for domain objects to use this service; it will be inje [NOTE] -For further details on the user registration feature (as supported by the Wicket viewer), see xref:ugvw.adoc#_ugvw_features_user-registration[here]. +For further details on the user registration feature (as supported by the Wicket viewer), see xref:../ugvw/ugvw.adoc#_ugvw_features_user-registration[here]. http://git-wip-us.apache.org/repos/asf/isis/blob/b2b87ca4/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_decoupling_contributions.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_decoupling_contributions.adoc b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_decoupling_contributions.adoc index 0adf9f3..6e93ac7 100644 --- a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_decoupling_contributions.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_decoupling_contributions.adoc @@ -5,7 +5,7 @@ :_imagesdir: images/ -Contributed services provide many of the same benefits as xref:ugbtb.adoc#_ugbtb_decoupling_mixins[mixins]; +Contributed services provide many of the same benefits as xref:../ugbtb/ugbtb.adoc#_ugbtb_decoupling_mixins[mixins]; indeed mixins are an evolution and refinement of the contributions concept. [WARNING] http://git-wip-us.apache.org/repos/asf/isis/blob/b2b87ca4/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_decoupling_db-schemas.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_decoupling_db-schemas.adoc b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_decoupling_db-schemas.adoc index 4e7866b..389185c 100644 --- a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_decoupling_db-schemas.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_decoupling_db-schemas.adoc @@ -49,7 +49,7 @@ CREATE TABLE isisaudit."AuditEntry" ( [TIP] -If for some reason you don't want to use schemas (though we strongly recommend that you do), then note that you can override the `@PersistenceCapable` annotation by providing XML metadata (the `mappings.jdo` file); see the section on xref:ugodn.adoc#_ugodn_configuring[configuring DataNucleus Overr
[06/58] [abbrv] isis git commit: ISIS-1521: fixes xref links between guides
http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_LayoutService.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_LayoutService.adoc b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_LayoutService.adoc index c164e0a..785354c 100644 --- a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_LayoutService.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_LayoutService.adoc @@ -48,9 +48,9 @@ XML, and how much (if any) will be obtained elsewhere, typically from annotation |=== | Style -|xref:rgant.adoc#_rgant-MemberGroupLayout[`@MemberGroupLayout`] -| xref:rgant.adoc#_rgant-MemberOrder[`@MemberOrder`] -| xref:rgant.adoc#_rgant-ActionLayout[`@ActionLayout`], xref:rgant.adoc#_rgant-PropertyLayout[`@PropertyLayout`], xref:rgant.adoc#_rgant-CollectionLayout[`@CollectionLayout`] +|xref:../rgant/rgant.adoc#_rgant-MemberGroupLayout[`@MemberGroupLayout`] +| xref:../rgant/rgant.adoc#_rgant-MemberOrder[`@MemberOrder`] +| xref:../rgant/rgant.adoc#_rgant-ActionLayout[`@ActionLayout`], xref:../rgant/rgant.adoc#_rgant-PropertyLayout[`@PropertyLayout`], xref:../rgant/rgant.adoc#_rgant-CollectionLayout[`@CollectionLayout`] |`COMPLETE` @@ -88,7 +88,7 @@ As a developer, you therefore have a choice as to how you provide the metadata r The service's functionality is exposed in the UI through a mixin (per object) and a menu action (for all objects): -* the xref:rgant.adoc#_rgcms_classes_mixins_Object[`Object` mixin] provides the ability to download the XML layout for +* the xref:../rgant/rgant.adoc#_rgcms_classes_mixins_Object[`Object` mixin] provides the ability to download the XML layout for any domain object (entity or view model). * the `LayoutServiceMenu` provides the ability to download all XML layouts as a single ZIP file (in any of the @@ -102,6 +102,6 @@ desired. [[__rgsvc_api_LayoutService_related-domain-services]] == Related Domain Services -The xref:rgsvc.adoc#_rgsvc_spi_GridService[`GridService`] is responsible for loading and normalizing layout XML for -a domain class. It in turn uses the xref:rgsvc.adoc#_rgsvc_spi_GridLoaderService[`GridLoaderService`] and xref:rgsvc.adoc#_rgsvc_spi_GridSystemService[`GridSystemService`] +The xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_GridService[`GridService`] is responsible for loading and normalizing layout XML for +a domain class. It in turn uses the xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_GridLoaderService[`GridLoaderService`] and xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_GridSystemService[`GridSystemService`] services. \ No newline at end of file http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_MementoService.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_MementoService.adoc b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_MementoService.adoc index 0facf78..15f5f60 100644 --- a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_MementoService.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_MementoService.adoc @@ -12,9 +12,9 @@ all of their backing state, moreover which is safe for use within a URL. This u The service can also be used to create a memento of arbitrary objects, however this usage is also deprecated. (Prior to `1.13.0` it was used internally by the core implementation of -xref:rgsvc.adoc#_rgsvc_api_BackgroundService[`BackgroundService`] to capture the state of action invocations so that +xref:../rgsvc/rgsvc.adoc#_rgsvc_api_BackgroundService[`BackgroundService`] to capture the state of action invocations so that they can be executed by a background process; this is now done using -xref:rgfis.adoc#_rgfis_spi_CommandDtoServiceInternal[`CommandDtoServiceInternal`]). +xref:../rgfis/rgfis.adoc#_rgfis_spi_CommandDtoServiceInternal[`CommandDtoServiceInternal`]). [NOTE] @@ -82,11 +82,11 @@ If using another implementation, the `canSet(...)` method can be used to check i == Usage -As noted in the introduction, a common use case for this service is in the implementation of the xref:rgcms.adoc#_rgcms_classes_super_AbstractViewModel[`ViewModel`] interface. +As noted in the introduction, a common use case for this service is in the implementation of the xref:../rgcms/rgcms.adoc#_rgcms_classes_super_AbstractViewModel[`ViewModel`] interface. [TIP] -Rather than implementing `ViewModel`, it's usually easier to annotate your view models with xref:rgant.adoc#_rgant-ViewModel[`@ViewModel`] (or equivalently xref:rgant.adoc#_rgant-DomainObject_nature[`@DomainObject#nature=EXTERNAL_ENTITY`] or xref:rgant.adoc#_rgant-DomainObject_nature[`@DomainObject#nature=INMEMORY_ENTITY`]. +
[10/58] [abbrv] isis git commit: ISIS-1521: fixes xref links between guides
http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/rgcfg/_rgcfg_specifying-components.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/rgcfg/_rgcfg_specifying-components.adoc b/adocs/documentation/src/main/asciidoc/guides/rgcfg/_rgcfg_specifying-components.adoc index 7bb3fe2..00af60a 100644 --- a/adocs/documentation/src/main/asciidoc/guides/rgcfg/_rgcfg_specifying-components.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/rgcfg/_rgcfg_specifying-components.adoc @@ -11,7 +11,7 @@ Bootstrapping an Apache Isis application involves identifying both: * the major components (authentication, persistence mechanisms, viewers) of Apache Isis, and also * specifying the domain services and persistent entities that make up the application itself. -As of 1.9.0 there are two different ways to perform this bootstrapping. The recommended (newer) approach is to use an xref:rgcms.adoc#_rgcms_classes_super_AppManifest[`AppManifest`], specified either programmatically or through the configuration properties. This allows the components, services and entities to be specified from a single class. The alternative (and older, pre 1.9.0) approach is to specify this information individually, through configuration properties. +As of 1.9.0 there are two different ways to perform this bootstrapping. The recommended (newer) approach is to use an xref:../rgcms/rgcms.adoc#_rgcms_classes_super_AppManifest[`AppManifest`], specified either programmatically or through the configuration properties. This allows the components, services and entities to be specified from a single class. The alternative (and older, pre 1.9.0) approach is to specify this information individually, through configuration properties. To specify the `AppManifest` as a configuration property, use: @@ -27,7 +27,7 @@ To specify the `AppManifest` as a configuration property, use: |`FQCN` |`o.a.i.applib.AppManifest` + -By convention this implementation resides in an `myapp-app` Maven module (as opposed to `myapp-dom` or `myapp-fixture`). See the xref:ugfun.adoc#_ugfun_getting-started_simpleapp-archetype[SimpleApp archetype] for details. +By convention this implementation resides in an `myapp-app` Maven module (as opposed to `myapp-dom` or `myapp-fixture`). See the xref:../ugfun/ugfun.adoc#_ugfun_getting-started_simpleapp-archetype[SimpleApp archetype] for details. |=== @@ -49,7 +49,7 @@ If the `AppManifest` approach is _not_ being used, then the following configurat (`_shiro_`) |`o.a.i.core.runtime.authentication.` `AuthenticationManagerInstaller` + -This property is IGNORED if the `isis.appManifest` configuration property is specified, or if an xref:rgcms.adoc#_rgcms_classes_super_AppManifest[`AppManifest`] is provided programmatically. +This property is IGNORED if the `isis.appManifest` configuration property is specified, or if an xref:../rgcms/rgcms.adoc#_rgcms_classes_super_AppManifest[`AppManifest`] is provided programmatically. |`isis.authorization` @@ -57,7 +57,7 @@ This property is IGNORED if the `isis.appManifest` configuration property is spe (`_shiro_`) |`o.a.i.core.runtime.authorization.` `AuthorizationManagerInstaller` + -This property is IGNORED if the `isis.appManifest` configuration property is specified, or if an xref:rgcms.adoc#_rgcms_classes_super_AppManifest[`AppManifest`] is provided programmatically. +This property is IGNORED if the `isis.appManifest` configuration property is specified, or if an xref:../rgcms/rgcms.adoc#_rgcms_classes_super_AppManifest[`AppManifest`] is provided programmatically. |`isis.persistor` |`datanucleus` @@ -80,7 +80,7 @@ The mechanism to discover and load domain services: * Otherwise an alternative implementation of the `o.a.i.core.runtime.services.ServicesInstaller` internal API can be provided. + -This property is IGNORED if the `isis.appManifest` configuration property is specified, or if an xref:rgcms.adoc#_rgcms_classes_super_AppManifest[`AppManifest`] is provided programmatically. +This property is IGNORED if the `isis.appManifest` configuration property is specified, or if an xref:../rgcms/rgcms.adoc#_rgcms_classes_super_AppManifest[`AppManifest`] is provided programmatically. This property is also IGNORED completely in 1.13.0+; the `configuration-and-annotation` implementation is always used. http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_classes.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_classes.adoc b/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_classes.adoc index 3cb8b4f..213d973 100644 --- a/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_classes.adoc +++ b/adocs/documentation/s
[08/58] [abbrv] isis git commit: ISIS-1521: fixes xref links between guides
http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/rgfis/_rgfis_application-layer.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/rgfis/_rgfis_application-layer.adoc b/adocs/documentation/src/main/asciidoc/guides/rgfis/_rgfis_application-layer.adoc index a8c4cb1..839a223 100644 --- a/adocs/documentation/src/main/asciidoc/guides/rgfis/_rgfis_application-layer.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/rgfis/_rgfis_application-layer.adoc @@ -27,7 +27,7 @@ Impl'n (g: a:) -|xref:rgfis.adoc#_rgfis_spi_AuthenticationSessionProvider[`o.a.i.core.commons.` + +|xref:../rgfis/rgfis.adoc#_rgfis_spi_AuthenticationSessionProvider[`o.a.i.core.commons.` + `authentication.` + `AuthenticationSessionProvider`] |Simply responsible for obtaining the current `AuthenticationSession` (the framework's internal representation of the currently logged-in user). @@ -37,30 +37,30 @@ Impl'n (g: a:) |Default implementation looks up from `IsisSessionFactory` singleton's thread-local -|xref:rgfis.adoc#_rgfis_spi_CommandDtoServiceInternal[`o.a.i.c.m.s.command` + +|xref:../rgfis/rgfis.adoc#_rgfis_spi_CommandDtoServiceInternal[`o.a.i.c.m.s.command` + `CommandDtoServiceInternal`] |Creates memento of current action invocation, for use as a serializable XML reified command. The most notable usage of this is to allow the execution of the `Command` to be deferred to run in the background (via -xref:rgant.adoc#_rgant-Action_command[`@Action#commandExecuteIn()`] or -xref:rgant.adoc#_rgant-Property_command[`@Property#commandExecuteIn()`]. +xref:../rgant/rgant.adoc#_rgant-Action_command[`@Action#commandExecuteIn()`] or +xref:../rgant/rgant.adoc#_rgant-Property_command[`@Property#commandExecuteIn()`]. |`CommandDtoService-` + `InternalServiceDefault` + ``isis-core-runtime`` | -|xref:rgfis.adoc#_rgfis_spi_MessageBrokerServiceInternal[`o.a.i.c.m.s.msgbroker` + +|xref:../rgfis/rgfis.adoc#_rgfis_spi_MessageBrokerServiceInternal[`o.a.i.c.m.s.msgbroker` + `MessageBrokerServiceInternal`] -|A wrapper around xref:rgsvc.adoc#_rgsvc_api_MessageService[`MessageService`]. +|A wrapper around xref:../rgsvc/rgsvc.adoc#_rgsvc_api_MessageService[`MessageService`]. |MessageBrokerService-` + `InternalDefault` + ``isis-core-runtime`` |This service does not provide any additional capabilities over `MessageService`, and will (most likely) be conflated with that service in the future. -|xref:rgfis.adoc#_rgfis_spi_InteractionDtoServiceInternal[`o.a.i.c.m.s.ixn` + +|xref:../rgfis/rgfis.adoc#_rgfis_spi_InteractionDtoServiceInternal[`o.a.i.c.m.s.ixn` + `InteractionDtoServiceInternal`] -|Creates DTO for the current execution of an action invocation or property edit, for use either as a reified command or for implementations of the xref:rgsvc.adoc#_rgsvc_spi_PublishingService[`PublishingService`]. +|Creates DTO for the current execution of an action invocation or property edit, for use either as a reified command or for implementations of the xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_PublishingService[`PublishingService`]. |`CommandDtoService-` + `InternalServiceDefault` + ``isis-core-metamodel`` http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/rgfis/_rgfis_persistence-layer.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/rgfis/_rgfis_persistence-layer.adoc b/adocs/documentation/src/main/asciidoc/guides/rgfis/_rgfis_persistence-layer.adoc index 7aa1be2..e5800b2 100644 --- a/adocs/documentation/src/main/asciidoc/guides/rgfis/_rgfis_persistence-layer.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/rgfis/_rgfis_persistence-layer.adoc @@ -27,23 +27,23 @@ Impl'n (g: a:) -|xref:rgfis.adoc#_rgfis_spi_AuditingServiceInternal[`o.a.i.c.r.s.auditing.` + +|xref:../rgfis/rgfis.adoc#_rgfis_spi_AuditingServiceInternal[`o.a.i.c.r.s.auditing.` + `AuditingServiceInternal`] |Co-ordinates between -xref:rgfis.adoc#_rgfis_spi_ChangedObjectsServiceInternal[`ChangedObjectsServiceInternal`] and -xref:rgfis.adoc#_rgfis_spi_AuditerService[`AuditerService`]. +xref:../rgfis/rgfis.adoc#_rgfis_spi_ChangedObjectsServiceInternal[`ChangedObjectsServiceInternal`] and +xref:../rgfis/rgfis.adoc#_rgfis_spi_AuditerService[`AuditerService`]. |concrete class. | -|xref:rgfis.adoc#_rgfis_spi_ChangedObjectsServiceInternal[`o.a.i.c.r.s.changes.` + +|xref:../rgfis/rgfis.adoc#_rgfis_spi_ChangedObjectsServiceInternal[`o.a.i.c.r.s.changes.` + `ChangedObjectsServiceInternal`] |Request-scoped service holding objects enlisted into current transaction. |concrete class. | -|xref:rgfis.adoc#_rgfis_spi_PersistenceSessionServiceInternal[`o.a.i.c.m.s.` + +|xref:../rgfis/rgfis.adoc#_rgfis_spi_PersistenceSessionServiceInternal[`o.a.i.c.m.s.` + `persistsession.
[23/58] [abbrv] isis git commit: ISIS-1521: working on ugfun.adoc
http://git-wip-us.apache.org/repos/asf/isis/blob/2f2714cc/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_class-structure_properties.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_class-structure_properties.adoc b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_class-structure_properties.adoc deleted file mode 100644 index ecff327..000 --- a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_class-structure_properties.adoc +++ /dev/null @@ -1,369 +0,0 @@ -[[_ugfun_class-structure_properties]] -= Property -: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 agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -:_basedir: ../../ -:_imagesdir: images/ - - -A property is an instance variable of a domain object, of a scalar type, that holds some state about either a xref:../ugfun/ugfun.adoc#__ugfun_class-structure_class-definition_entities[domain entity] or a xref:../ugfun/ugfun.adoc#__ugfun_class-structure_class-definition_view-models[view model]. - -For example, a ``Customer``'s `firstName` would be a property, as would their `accountCreationDate` that they created their account. -All properties have at least a "getter" method, and most properties have also a "setter" method (meaning that they are mutable). -Properties that do _not_ have a setter method are derived properties, and so are not persisted. - -Formally speaking, a property is simply a regular JavaBean getter, returning a scalar value recognized by the framework. -Most properties (those that are editable/modifiable) will also have a setter and (if persisted) a backing instance field. -And most properties will also have a number of annotations: - -* Apache Isis defines its own set own `@Property` annotation for capturing domain semantics. -It also provides a `@PropertyLayout` for UI hints (though the information in this annotation may instead be provided by a supplementary xref:../ugvw/ugvw.adoc#_ugvw_layout[`.layout.xml`] file - -* the properties of domain entities are often annotated with the JDO/DataNucleus `@javax.jdo.annotations.Column` annotation. -For property references, there may be other annotations to indicate whether the reference is bidirectional. -It's also possible (using annotations) to define a link table to hold foreign key columns. - -* for the properties of view models, then JAXB annotations such as `@javax.xml.bind.annotation.XmlElement` will be present - -Apache Isis recognises some of these annotations for JDO/DataNucleus and JAXB and infers some domain semantics from them (for example, the maximum allowable length of a string property). - -Since writing getter and setter methods adds quite a bit of boilerplate, it's common to use link:https://projectlombok.org/[Project Lombok] to code generate these methods at compile time (using Java's annotation processor) simply by adding the `@lombok.Getter` and `@lombok.Setter` annotations to the field. -The xref:guides/ugfun.adoc#_ugfun_getting-started_simpleapp-archetype[SimpleApp archetype] uses this approach. - - -[[__ugfun_class-structure_properties_value-vs-reference-types]] -== Value vs Reference Types - -Properties can be either a value type (strings, int, date and so on) or be a reference to another object (for example, an `Order` referencing the `Customer` that placed it). - -For example, to map a string value type: - -[source,java] - -@lombok.Getter @lombok.Setter // <1> -private String notes; - -<1> using link:https://projectlombok.org/[Project Lombok] annotations to reduce boilerplate - -You could also add the `@Property` annotation if you wished: - -[source,java] - -@Property -@lombok.Getter @lombok.Setter -private String notes; - - -Although in this case it is not required (none of its attributes have been set). - -Or to map a reference type: - -[source,java] - -@lombok.Getter @lombok.Setter -private Customer customer; - - -It's ok for a xref:../ugfun/ugfun.adoc#__ugfun_class-structure_class-definition_entities[domain entity] to reference another domain entity, and for a xref:../ugfun/ugfun.adoc#__ugfun_class-structure_class-definition_view-models[view model] to reference both view model and domain entities. -However, it isn't v
[01/58] [abbrv] isis git commit: ISIS-1521: fixes xref links between guides
Repository: isis Updated Branches: refs/heads/wip [created] e47aa0b0a http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/ugvw/_ugvw_layout_file-based.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugvw/_ugvw_layout_file-based.adoc b/adocs/documentation/src/main/asciidoc/guides/ugvw/_ugvw_layout_file-based.adoc index 6a2a0b4..513542a 100644 --- a/adocs/documentation/src/main/asciidoc/guides/ugvw/_ugvw_layout_file-based.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/ugvw/_ugvw_layout_file-based.adoc @@ -11,15 +11,15 @@ Metadata providing UI hints can be specified either xref:ugvw.adoc#_ugvw_layout_ Using a file-based layout has the huge benefit that the layout can be updated without requiring a recompile of the code and redeploy of the app. Many developers also find it easier to rationalize about layout when all the hints are collated together in a single place (rather than scattered across the class members as annotations). -Another benefit of file-based layout is that UI hints can be provided for xref:ugfun.adoc#_ugfun_how-tos_contributed-members[contributed associations and actions] that are synthesised at runtime. +Another benefit of file-based layout is that UI hints can be provided for xref:../ugfun/ugfun.adoc#_ugfun_how-tos_contributed-members[contributed associations and actions] that are synthesised at runtime. -It is also possible to download an initial `.layout.xml` - capturing any existing layout metadata - using the xref:rgsvc.adoc#_rgsvc_api_LayoutService[`LayoutService`] (exposed on the prototyping menu) or using a xref:rgcms.adoc#_rgcms_classes_mixins_Object[mixin action] contributed to every domain object. +It is also possible to download an initial `.layout.xml` - capturing any existing layout metadata - using the xref:../rgsvc/rgsvc.adoc#_rgsvc_api_LayoutService[`LayoutService`] (exposed on the prototyping menu) or using a xref:../rgcms/rgcms.adoc#_rgcms_classes_mixins_Object[mixin action] contributed to every domain object. The main downsides of using file-based layouts are a lack of typesafety (a typo will result in the metadata not being picked up for the element) and syntactic fragility (an invalid XML document will result in no metadata for the entire class). Also, file-based layouts have no notion of inheritance, whereas the dewey-decimal format `@MemberOrder` annotation allows the metadata of the subclass its superclasses to fit together relatively seamlessly. -The `Xxx.layout.xml` file is just the serialized form of a xref:rgcms.adoc#_rgcms_classes_layout[`Grid`] layout class defined within Apache Isis' applib. These are JAXB-annotated classes with corresponding XSD schemas; the upshot of that +The `Xxx.layout.xml` file is just the serialized form of a xref:../rgcms/rgcms.adoc#_rgcms_classes_layout[`Grid`] layout class defined within Apache Isis' applib. These are JAXB-annotated classes with corresponding XSD schemas; the upshot of that is that IDEs such as IntelliJ and Eclipse can provide "intellisense", making iteasy to author such layout files. @@ -28,7 +28,7 @@ is that IDEs such as IntelliJ and Eclipse can provide "intellisense", making ite It is also possible to describe layouts using a `.layout.json` file. However, `.layout.json` support is deprecated; the ``.layout.xml`` file also enables much more sophisticated layouts than those afforded by ``.layout.json``. -If you have an application with older `.layout.json` files, then it is possible to download initial `.layout.xml` files using the xref:rgsvc.adoc#_rgsvc_api_LayoutService[`LayoutService`] (exposed as an action on the prototyping menu). +If you have an application with older `.layout.json` files, then it is possible to download initial `.layout.xml` files using the xref:../rgsvc/rgsvc.adoc#_rgsvc_api_LayoutService[`LayoutService`] (exposed as an action on the prototyping menu). The `.layout.json` file will be ignored once a `.layout.xml` file is present. @@ -43,7 +43,7 @@ The rows and columns are closely modelled on link:getbootstrap.com[Bootstrap 3] * those that defines common components, of: fieldsets (previously called member groups or property groups), properties, collections, actions and also the title/icon of the domain object itself. -More information about these classes can be found in xref:rgcms.adoc#_rgcms_classes_layout[the reference guide]. More information on Bootstrap 3's grid system can be found link:http://getbootstrap.com/css/#grid[here]. +More information about these classes can be found in xref:../rgcms/rgcms.adoc#_rgcms_classes_layout[the reference guide]. More information on Bootstrap 3's grid system can be found link:http://getbootstrap.com/css/#grid[here]. == Screencast @@ -117,7 +117,7 @@ This corresponds to the following XML: -You will noti
[11/58] [abbrv] isis git commit: ISIS-1521: fixes xref links between guides
http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ViewModel.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ViewModel.adoc b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ViewModel.adoc index 000586c..65becc2 100644 --- a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ViewModel.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ViewModel.adoc @@ -33,9 +33,9 @@ Note that there is a `DomainObjectContainer#newViewModelInstance(.)`; this is fo -The view model's memento will be derived from the value of the view model object's properties. Any xref:rgant.adoc#_rgant-Property_notPersisted[`@Property#notPersisted()`] properties will be excluded from the memento, as will any xref:rgant.adoc#_rgant-Programmatic[`@Programmatic`] properties. Properties that are merely xref:rgant.adoc#_rgant-Property_hidden[hidden] _are_ included in the memento. +The view model's memento will be derived from the value of the view model object's properties. Any xref:../rgant/rgant.adoc#_rgant-Property_notPersisted[`@Property#notPersisted()`] properties will be excluded from the memento, as will any xref:../rgant/rgant.adoc#_rgant-Programmatic[`@Programmatic`] properties. Properties that are merely xref:../rgant/rgant.adoc#_rgant-Property_hidden[hidden] _are_ included in the memento. -Only properties supported by the configured xref:rgsvc.adoc#_rgsvc_api_MementoService[`MementoService`] can be used. The default implementation supports all the value types and persisted entities. +Only properties supported by the configured xref:../rgsvc/rgsvc.adoc#_rgsvc_api_MementoService[`MementoService`] can be used. The default implementation supports all the value types and persisted entities. (As of 1.8.0) there are some limitations: * view models cannot hold collections other view models (simple properties _are_ supported, though) @@ -44,7 +44,7 @@ Only properties supported by the configured xref:rgsvc.adoc#_rgsvc_api_MementoSe [WARNING] -The `@ViewModel` does not allow the objectType to be specified, meaning that it is incompatible with the metamodel validation check ennabled by the xref:rgcfg.adoc#__rgcfg_configuring-core_metamodel-validation[`explicitObjectType`] configuration property. +The `@ViewModel` does not allow the objectType to be specified, meaning that it is incompatible with the metamodel validation check ennabled by the xref:../rgcfg/rgcfg.adoc#__rgcfg_configuring-core_metamodel-validation[`explicitObjectType`] configuration property. -Instead, use xref:rgant.adoc#_rgant_DomainObject_nature[`@DomainObject#nature()`] with `Nature.VIEW_MODEL`, and specify xref:rgant.adoc#_rgant_DomainObject_objectType[`@DomainObject#objectType()`]. +Instead, use xref:../rgant/rgant.adoc#_rgant_DomainObject_nature[`@DomainObject#nature()`] with `Nature.VIEW_MODEL`, and specify xref:../rgant/rgant.adoc#_rgant_DomainObject_objectType[`@DomainObject#objectType()`]. http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ViewModelLayout.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ViewModelLayout.adoc b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ViewModelLayout.adoc index 8328c21..21f16ac 100644 --- a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ViewModelLayout.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ViewModelLayout.adoc @@ -5,8 +5,8 @@ :_imagesdir: images/ -The `@ViewModelLayout` annotation is identical to the xref:rgant.adoc#_rgant-DomainObjectLayout[`@DomainObjectLayout`], but is provided -for symmetry with domain objects that have been annotated using xref:rgant.adoc#_rgant-ViewModel[`@ViewModel`] (rather than xref:rgant.adoc#_rgant-DomainObject_nature[`@DomainObject(nature=VIEW_MODEL)`]). +The `@ViewModelLayout` annotation is identical to the xref:../rgant/rgant.adoc#_rgant-DomainObjectLayout[`@DomainObjectLayout`], but is provided +for symmetry with domain objects that have been annotated using xref:../rgant/rgant.adoc#_rgant-ViewModel[`@ViewModel`] (rather than xref:../rgant/rgant.adoc#_rgant-DomainObject_nature[`@DomainObject(nature=VIEW_MODEL)`]). The table below summarizes the annotation's attributes. @@ -20,12 +20,12 @@ The table below summarizes the annotation's attributes. | Description -|xref:rgant.adoc#_rgant-ViewModelLayout_cssclass[`cssClass()`] +|xref:../rgant/rgant.adoc#_rgant-ViewModelLayout_cssclass[`cssClass()`] |Any string valid as a CSS class -|the css class that a domain class (type) should have, to allow more targetted styling in xref:rgcfg.adoc#_rgcfg_application-specific_application-css[`application.css`] +|the cs
[43/58] [abbrv] isis git commit: ISIS-1521: reorganizes ugfun.adoc, to get rid of 'how-to' chaptergs
ISIS-1521: reorganizes ugfun.adoc, to get rid of 'how-to' chaptergs Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/9fbf3d54 Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/9fbf3d54 Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/9fbf3d54 Branch: refs/heads/wip Commit: 9fbf3d545ed95bcde8d9380cbcb472952c5990a2 Parents: 480d6ff Author: Dan Haywood Authored: Sat Apr 15 10:35:43 2017 +0100 Committer: Dan Haywood Committed: Thu Apr 20 09:09:30 2017 +0100 -- .../_ugfun_domain-class-ontology_mixins.adoc| 54 1 file changed, 54 insertions(+) -- http://git-wip-us.apache.org/repos/asf/isis/blob/9fbf3d54/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_domain-class-ontology_mixins.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_domain-class-ontology_mixins.adoc b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_domain-class-ontology_mixins.adoc new file mode 100644 index 000..abecbd5 --- /dev/null +++ b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_domain-class-ontology_mixins.adoc @@ -0,0 +1,54 @@ +[[_ugfun_domain-class-ontology_mixins]] += Mixins +: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 agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. +:_basedir: ../../ +:_imagesdir: images/ + + + +A mixin object allows one class to contribute behaviour - actions, (derived) properties and (derived) collections - to another domain object, either a domain entity or view model. + +Some programming languages use the term "trait" instead of mixin, and some languages (such as AspectJ) define their own syntax for defining such constructs. +In Apache Isis a mixin is very similar to a domain service, however it also defines a single 1-arg constructor that defines the type of the domain objects that it contributes to. + +Why do this? +Two reasons: + +* The main reason is to allow the app to be decoupled, so that it doesn't degrade into the proverbial link:http://www.laputan.org/mud/mud.html#BigBallOfMud["big ball of mud"]. +Mixins (and contributions) allow dependency to be inverted, so that the dependencies between modules can be kept acyclic and under control. + +* However, there is another reason: mixins are also a convenient mechanism for grouping functionality even for a concrete type, helping to rationalize about the dependency between the data and the behaviour. + +Both use cases are discussed below. + +Syntactically, a mixin is defined using either the xref:../rgant/rgant.adoc#_rgant_Mixin[`@Mixin`] annotation or using xref:../rgant/rgant.adoc#_rgant_DomainObject_nature[`@DomainObject#nature()`] attribute (specifying a nature of `Nature.MIXIN`). + + + +[source,java] + +@Mixin(method="coll") // <1> +public class Customer_orders { // <2> + +private final Customer customer; +public Customer_orders(final Customer customer) { // <3> +this.customer = customer; +} + +@Action(semantics=SemanticsOf.SAFE) // <4> +@ActionLayout(contributed=Contributed.AS_ASSOCIATION) // <4> +@CollectionLayout(render=RenderType.EAGERLY) +public List coll() { // <1> +return repositoryService.findOrdersFor(customer); +} + +@Inject +RepositoryService repositoryService; +} + +<1> indicates that this is a mixin, with "coll" as the name of the main method +<2> The contributed member is inferred from the name, after the "_"; in other words "orders" +<3> The mixee is `Customer`. +This could also be an interface. +<4> Indicates that the action should be interpreted as a collection. +This requires that the action has safe semantics, ie does not alter state/no side-effects.
[28/58] [abbrv] isis git commit: ISIS-1521: fixes further xref links between guides
http://git-wip-us.apache.org/repos/asf/isis/blob/b2b87ca4/adocs/documentation/src/main/asciidoc/guides/ugodn/_ugodn_configuring_eagerly-registering-entities.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugodn/_ugodn_configuring_eagerly-registering-entities.adoc b/adocs/documentation/src/main/asciidoc/guides/ugodn/_ugodn_configuring_eagerly-registering-entities.adoc index c947ae6..3865041 100644 --- a/adocs/documentation/src/main/asciidoc/guides/ugodn/_ugodn_configuring_eagerly-registering-entities.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/ugodn/_ugodn_configuring_eagerly-registering-entities.adoc @@ -18,6 +18,6 @@ The framework thus provide mechanisms to search for all `@PersistenceCapable` en * for earlier versions the `isis.persistor.datanucleus.RegisterEntities.packagePrefix` configuration property can be specified. To bootstrap as a webapp this is usually specified in `persistor_datanucleus.properties`. (This is also supported in 1.9.0 if no `AppManifest` is specified. For integration testing this can be specified programatically. -Further discussion on specifying the package(s) in integration testing (for either approach) can be found in the xref:ugtst.adoc#_ugtst_integ-test-support_bootstrapping[user guide]. +Further discussion on specifying the package(s) in integration testing (for either approach) can be found in the xref:../ugtst/ugtst.adoc#_ugtst_integ-test-support_bootstrapping[user guide]. http://git-wip-us.apache.org/repos/asf/isis/blob/b2b87ca4/adocs/documentation/src/main/asciidoc/guides/ugodn/_ugodn_configuring_properties.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugodn/_ugodn_configuring_properties.adoc b/adocs/documentation/src/main/asciidoc/guides/ugodn/_ugodn_configuring_properties.adoc index ff1be04..8e5c83e 100644 --- a/adocs/documentation/src/main/asciidoc/guides/ugodn/_ugodn_configuring_properties.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/ugodn/_ugodn_configuring_properties.adoc @@ -28,7 +28,7 @@ These configuration properties are typically stored in `WEB-INF/persistor_datanu |`isis.persistor.datanucleus.` + `RegisterEntities.packagePrefix` |fully qualified package names (CSV) -|that specifies the entities early rather than allow DataNucleus to find the entities lazily. Further xref:ugodn.adoc#_ugodn_configuring_eagerly-registering-entities[discussion below]. +|that specifies the entities early rather than allow DataNucleus to find the entities lazily. Further xref:../ugodn/ugodn.adoc#_ugodn_configuring_eagerly-registering-entities[discussion below]. This property is IGNORED if the xref:../rgcfg/rgcfg.adoc#_rgcfg_configuring-components[`isis.appManifest`] configuration property is specified, or if an xref:../rgcms/rgcms.adoc#_rgcms_classes_super_AppManifest[`AppManifest`] is provided programmatically. @@ -60,7 +60,7 @@ This property is IGNORED if the xref:../rgcfg/rgcfg.adoc#_rgcfg_configuring-comp `datanucleus.persistenceByReachabilityAtCommit` |`false` |We recommend this setting is disabled. + -Further xref:ugodn.adoc#_ugodn_configuring_disabling-persistence-by-reachability[discussion below]. +Further xref:../ugodn/ugodn.adoc#_ugodn_configuring_disabling-persistence-by-reachability[discussion below]. |=== http://git-wip-us.apache.org/repos/asf/isis/blob/b2b87ca4/adocs/documentation/src/main/asciidoc/guides/ugsec/_ugsec_configuring-isis-to-use-shiro.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugsec/_ugsec_configuring-isis-to-use-shiro.adoc b/adocs/documentation/src/main/asciidoc/guides/ugsec/_ugsec_configuring-isis-to-use-shiro.adoc index 62645cd..f1aa95d 100644 --- a/adocs/documentation/src/main/asciidoc/guides/ugsec/_ugsec_configuring-isis-to-use-shiro.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/ugsec/_ugsec_configuring-isis-to-use-shiro.adoc @@ -38,7 +38,7 @@ be configured in `authentication_shiro.properties` file: isis.authentication.shiro.autoLogoutIfAlreadyAuthenticated=false -This configuration property only comes into effect for the xref:ugvro.adoc#[Restful Objects viewer]; if set then +This configuration property only comes into effect for the xref:../ugvro/ugvro.adoc#[Restful Objects viewer]; if set then the Shiro subject - if found to be still authenticated - will be logged out anyway and then re-authenticated. [WARNING] http://git-wip-us.apache.org/repos/asf/isis/blob/b2b87ca4/adocs/documentation/src/main/asciidoc/guides/ugsec/_ugsec_shiro-ini-realm.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugsec/_ugsec_shiro-ini-realm.adoc b/adocs/documentation/src/main/asciidoc/guides/ugsec/_ugsec_
[38/58] [abbrv] isis git commit: ugfun.adoc - services and mixins
ugfun.adoc - services and mixins Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/9e1ea1b6 Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/9e1ea1b6 Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/9e1ea1b6 Branch: refs/heads/wip Commit: 9e1ea1b605d58db4524b6d35a0f8bd6f9b9672e5 Parents: 9fbf3d5 Author: Dan Haywood Authored: Sat Apr 15 11:04:39 2017 +0100 Committer: Dan Haywood Committed: Thu Apr 20 09:09:30 2017 +0100 -- .../ugfun/_ugfun_core-concepts_add-ons.adoc | 42 -- .../ugfun/_ugfun_domain-class-ontology.adoc | 14 +++--- ...n_domain-class-ontology_domain-services.adoc | 43 +-- .../_ugfun_domain-class-ontology_mixins.adoc| 2 + .../hexagonal-architecture-addons.png | Bin 0 -> 100666 bytes .../philosophy/hexagonal-architecture.png | Bin 85844 -> 75942 bytes .../philosophy/hexagonal-architecture.pptx | Bin 263812 -> 263049 bytes 7 files changed, 69 insertions(+), 32 deletions(-) -- http://git-wip-us.apache.org/repos/asf/isis/blob/9e1ea1b6/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_add-ons.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_add-ons.adoc b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_add-ons.adoc index cfae890..c13a4b2 100644 --- a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_add-ons.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_add-ons.adoc @@ -1,36 +1,54 @@ [[_ugfun_core-concepts_add-ons]] -= Isis Add-ons += Isis Add-ons & Incode Catalog :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 agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. :_basedir: ../../ :_imagesdir: images/ -The link:http://www.isisaddons.org[Isis Addons] website provides a number of reusable modules and other extensions for Apache Isis. -This chapter focuses just on the modules, all of which have a name of the form `isis-module-xxx`. +The link:http://www.isisaddons.org[Isis Addons] website provides a number of reusable modules for Apache Isis, focusing either on specific technologies or in technical cross-cutting concerns. +Some of these modules implement SPIs defined by the framework. + +The link:http://catalog.incode.org[Incode Catalog] website also provides a number of reusable modules, focusing on business logic for generic subdomains. + +This section surveys the functionality available. + [WARNING] -Note that Isis Addons, although maintained by Apache Isis committers, are not part of the ASF. +Note that Isis Addons and Incode Catalog, although maintained by Apache Isis committers, are not part of the ASF. -The modules themselves fall into four broad groups: +The modules themselves fall into a number of broader groups: -* modules that provide an implementations of API defined by Apache Isis + +* modules that provide an implementations of SPI defined by Apache Isis + + -where Apache Isis has hooks to use the service if defined by provides no implementations of its own. The http://github.com/isisaddons/isis-module-command[command], http://github.com/isisaddons/isis-module-audit[auditing], http://github.com/isisaddons/isis-module-publishing[publishing], http://github.com/isisaddons/isis-module-security[security] and http://github.com/isisaddons/isis-module-sessionlogger[sessionlogger] modules fall into this category. Typically the domain objects themselves wouldn't interact with these services +where Apache Isis has hooks to use the service if defined by provides no implementations of its own. + ++ +From the link:http://www.isisaddons.org[Isis Addons] website, the http://github.com/isisaddons/isis-module-command[command], http://github.com/isisaddons/isis-module-audit[auditer], http://github.com/isisaddons/isis-module-publishmq[publisher], http://github.com/isisaddons/isis-module-security[security] and http://github.com/isisaddons/isis-module-sessionlogger[sessionlogger] modules f
[26/58] [abbrv] isis git commit: ISIS-1521: moves subtype to ugodn
ISIS-1521: moves subtype to ugodn Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/31534e55 Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/31534e55 Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/31534e55 Branch: refs/heads/wip Commit: 31534e5505fcc55b71ee850d7d1664707258f228 Parents: 9e1ea1b Author: Dan Haywood Authored: Sat Apr 15 11:43:57 2017 +0100 Committer: Dan Haywood Committed: Thu Apr 20 09:09:30 2017 +0100 -- .../guides/ugfun/_ugfun_class-structure.adoc| 8 +++- .../_ugfun_class-structure_properties.adoc | 42 --- .../_ugfun_core-concepts_building-blocks.adoc | 6 +-- .../guides/ugodn/_ugodn_hints-and-tips.adoc | 3 ++ ...ndling-mandatory-properties-in-subtypes.adoc | 44 5 files changed, 56 insertions(+), 47 deletions(-) -- http://git-wip-us.apache.org/repos/asf/isis/blob/31534e55/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_class-structure.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_class-structure.adoc b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_class-structure.adoc index 4ea4350..bd6b28e 100644 --- a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_class-structure.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_class-structure.adoc @@ -5,8 +5,12 @@ :_imagesdir: images/ -Apache Isis works by building a metamodel of the domain objects: entities, xref:../ugbtb/ugbtb.adoc#_ugbtb_view-models[view model]s and services. -The class methods of both entities and view models represent both state -- (single-valued) properties and (multi-valued) collections -- and behaviour -- actions. The class members of domain services is simpler: just behaviour, ie actions. +Apache Isis works by building a metamodel of the domain objects: entities, domain services, view models and mixins. +Dependent on the sort of domain object, the class methods represent +both state -- (single-valued) properties and (multi-valued) collections -- and behaviour -- actions. + +More specifically, both entities and view models can have properties, collections and actions, while domain services have just actions. +Mixins also define only actions, though depending on their semantics they may be rendered as derived properties or collections on the domain object to which they contribute. In the automatically generated UI a property is rendered as a field. This can be either of a value type (a string, number, date, boolean etc) or can be a reference to another entity. http://git-wip-us.apache.org/repos/asf/isis/blob/31534e55/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_class-structure_properties.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_class-structure_properties.adoc b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_class-structure_properties.adoc index 540ada1..ecff327 100644 --- a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_class-structure_properties.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_class-structure_properties.adoc @@ -366,46 +366,4 @@ Support and maximum allowed length will vary by database vendor. -[[__ugfun_class-structure_properties_handling-mandatory-properties-in-subtypes]] -== Handling Mandatory Properties in Subtypes - - -NOTE: FIXME - move to ugodn.adoc#_ugodn_hints-and-tips - - -If you have a hierarchy of classes then you need to decide which inheritance strategy to use. - -* "table per hierarchy", or "rollup" (`InheritanceStrategy.SUPERCLASS_TABLE`) + -+ -whereby a single table corresponds to the superclass, and also holds the properties of the subtype (or subtypes) being rolled up - -* "table per class" (`InheritanceStrategy.NEW_TABLE`) + -+ -whereby there is a table for both superclass and subclass, in 1:1 correspondence - -* "rolldown" (`InheritanceStrategy.SUBCLASS_TABLE`) + -+ -whereby a single table holds the properties of the subtype, and also holds the properties of its supertype - -In the first "rollup" case, we can have a situation where - logically speaking - the property is mandatory in the subtype - but it must be mapped as nullable in the database because it is n/a for any other subtypes that are rolled up. - -In this situation we must tell JDO that the column is optional, but to Apache Isis we want to enforce it being mandatory. This can be done using the `@Property(optionality=Optionality.MANDATORY)` annotation. - -For example: - -[source,java] - -@javax.jdo.annotations.Inheritance(strategy = InheritanceStrategy.SUPER_TABLE) -public class SomeSubtype ext
[44/58] [abbrv] isis git commit: ISIS-1521: further minor updates to ugfun.adoc
http://git-wip-us.apache.org/repos/asf/isis/blob/480d6ff2/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_ui-hints_object-titles-and-icons.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_ui-hints_object-titles-and-icons.adoc b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_ui-hints_object-titles-and-icons.adoc deleted file mode 100644 index 3a5b643..000 --- a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_ui-hints_object-titles-and-icons.adoc +++ /dev/null @@ -1,97 +0,0 @@ -[[_ugfun_how-tos_ui-hints_object-titles-and-icons]] -= Object Titles and Icons -: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 agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -:_basedir: ../../ -:_imagesdir: images/ - - -In Apache Isis every object is identified to the user by a title (label) and an icon. This is shown in several places: as the main heading for an object; as a link text for an object referencing another object, and also in tables representing collections of objects. - -The icon is often the same for all instances of a particular class, but it's also possible for an individual instance to return a custom icon. This could represent the state of that object (eg a shipped order, say, or overdue library book). - -It is also possible for an object to provide a CSS class hint. In conjunction with xref:../ugvw/ugvw.adoc#_ugvw_customisation_tweaking-css-classes[customized CSS] this can be used to apply arbitrary styling; for example each object could be rendered in a page with a different background colour. - - -== Object Title - -The object title is a label to identify an object to the end-user. Generally the object title is a label to identify an object to the end-user. There is no requirement for it to be absolutely unique, but it should be "unique enough" to distinguish the object from other object's likely to be rendered on the same page. - -The title is always shown with an icon, so there is generally no need for the title to include information about the object's type. For example the title of a customer object shouldn't include the literal string "Customer"; it can just have the customer's name, reference or some other meaningful business identifier. - - -=== Declarative style - -The xref:../rgant/rgant.adoc#_rgant-Title[`@Title`] annotation can be used build up the title of an object from its constituent parts. - -For example: - -[source,java] - -public class Customer { -@Title(sequence="1", append=" ") -public String getFirstName() { ... } -@Title(sequence="2") -public Product getLastName() { ... } -... -} - - -might return "Arthur Clarke", while: - -[source,java] - -public class CustomerAlt { -@Title(sequence="2", prepend=", ") -public String getFirstName() { ... } - -@Title(sequence="1") -public Product getLastName() { ... } -... -} - - -could return "Clarke, Arthur". - -Note that the sequence is in Dewey Decimal Format. This allows a subclass to intersperse information within the title. For example (please forgive this horrible domain modelling (!)): - - -[source,java] - -public class Author extends Customer { -@Title(sequence="1.5", append=". ") -public String getMiddleInitial() { ... } -... -} - - -could return "Arthur C. Clarke". - - -[TIP] - -Titles can sometimes get be long and therefore rather cumbersome in "parented" tables. If `@Title` has been used then the Wicket viewer will automatically exclude portions of the title belonging to the owning object. - - - -=== Imperative style - -NOTE: FIXME - see xref:../rgcms/rgcms.adoc#_rgcms_methods_reserved_title[`title()`] - - - - -== Object Icon - -The icon is often the same for all instances of a particular class, but it's also possible for an individual instance to return a custom icon. This could represent the state of that object (eg a shipped order, say, or overdue library book). - -NOTE: FIXME - xref:../rgcms/rgcms.adoc#_rgcms_methods_reserved_iconName[`iconName()`], xref:../rgant/rgant.adoc#_rgant-DomainObjectLayout_cssClassFa[`@DomainObjectLayout#cssClassFa()`] - - - - -== Object CSS Styling - - -It is also po
[51/58] [abbrv] isis git commit: wip - ugfun.adoc , crud
wip - ugfun.adoc , crud Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/842c5b43 Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/842c5b43 Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/842c5b43 Branch: refs/heads/wip Commit: 842c5b43d700ef1fe9f0b55f8cab41fe25ca5c7a Parents: 2693c5c Author: Dan Haywood Authored: Mon Apr 17 21:01:45 2017 +0200 Committer: Dan Haywood Committed: Thu Apr 20 09:09:31 2017 +0100 -- .../main/asciidoc/guides/ugfun/_ugfun_crud.adoc | 2 ++ .../guides/ugfun/_ugfun_crud_deleting.adoc | 18 ++ .../guides/ugfun/_ugfun_crud_finding.adoc | 6 + .../guides/ugfun/_ugfun_crud_instantiating.adoc | 2 +- .../guides/ugfun/_ugfun_crud_persisting.adoc| 14 +++ .../guides/ugfun/_ugfun_crud_updating.adoc | 25 6 files changed, 66 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/isis/blob/842c5b43/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_crud.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_crud.adoc b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_crud.adoc index add909f..a34e7d3 100644 --- a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_crud.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_crud.adoc @@ -22,6 +22,8 @@ include::_ugfun_crud_persisting.adoc[leveloffset=+1] include::_ugfun_crud_finding.adoc[leveloffset=+1] +include::_ugfun_crud_updating.adoc[leveloffset=+1] + include::_ugfun_crud_deleting.adoc[leveloffset=+1] http://git-wip-us.apache.org/repos/asf/isis/blob/842c5b43/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_crud_deleting.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_crud_deleting.adoc b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_crud_deleting.adoc index edb0257..015edf4 100644 --- a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_crud_deleting.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_crud_deleting.adoc @@ -4,10 +4,28 @@ :_basedir: ../../ :_imagesdir: images/ +Domain entities can be deleted using xref:../rgsvc/rgsvc.adoc#_rgsvc_api_RepositoryService[`RepositoryService`]. +For example: +[source,java] + +Customer customer = ... +repositoryService.remove(customer); + +It's worth being aware that (as for persisting new entities) the framework does _not_ eagerly delete the object. +Rather, it queues up an internal command structure representing the object deletion request. +This is then executed either at the end of the transaction, or if a xref:../ugfun/ugfun.adoc#_ugfun_crud_finding[query is run], or if the internal queue is manually flushed using xref:../rgsvc/rgsvc.adoc#_rgsvc_api_TransactionService[`TransactionService`]'s `flush()` method. +Alternatively, you can use: +[source,java] + +repositoryService.removeAndFlush(customer); + +to eagerly perform the object deletion from the database. + +When an object is deleted the framework will emit `ObjectRemovingEvent` xref:../ugfun/ugfun.adoc#_ugfun_building-blocks_events_lifecycle-events[lifecycle event]. http://git-wip-us.apache.org/repos/asf/isis/blob/842c5b43/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_crud_finding.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_crud_finding.adoc b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_crud_finding.adoc index 9b542ae..971245b 100644 --- a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_crud_finding.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_crud_finding.adoc @@ -53,6 +53,12 @@ public class CustomerRepository { <3> Corresponds to the `@Query#name()` attribute <4> Corresponds to the `:name` parameter in the query JDOQL string +Whenever a query is submitted, the framework will automatically "flush" any pending changes. +This ensures that the database query runs against an up-to-date table so that all matching instances (with respect to the current transaction) are correctly retrieved. + + +When an object is loaded from the database the framework will emit `ObjectLoadedEvent` xref:../ugfun/ugfun.adoc#_ugfun_building-blocks_events_lifecycle-events[lifecycle event]. + == Using DataNucleus type-safe queries http://git-wip-us.apache.org/repos/asf/isis/blob/842c5b43/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_crud_instantiating.adoc -- diff --git a/ado
[30/58] [abbrv] isis git commit: ISIS-1521: fixes further xref links between guides
http://git-wip-us.apache.org/repos/asf/isis/blob/b2b87ca4/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_methods_reserved_cssClass.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_methods_reserved_cssClass.adoc b/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_methods_reserved_cssClass.adoc index 12ac2eb..0f578bc 100644 --- a/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_methods_reserved_cssClass.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_methods_reserved_cssClass.adoc @@ -8,7 +8,7 @@ The `cssClass()` returns a CSS class for a particular object instance. -The xref:ugvw.adoc#[Wicket viewer] wraps the object's representation in a containing `` with the class added. This is done both for rendering the object either in a table or when rendering the object on its own page. +The xref:../ugvw/ugvw.adoc#[Wicket viewer] wraps the object's representation in a containing `` with the class added. This is done both for rendering the object either in a table or when rendering the object on its own page. In conjunction with xref:../rgcfg/rgcfg.adoc#_rgcfg_application-specific_application-css[`application.css`], can therefore provide custom styling of an object instance wherever it is rendered. + http://git-wip-us.apache.org/repos/asf/isis/blob/b2b87ca4/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_methods_reserved_disable.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_methods_reserved_disable.adoc b/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_methods_reserved_disable.adoc index 765062b..46a0924 100644 --- a/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_methods_reserved_disable.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_methods_reserved_disable.adoc @@ -18,7 +18,7 @@ public String disable(Identifier.Type identifierType) { ... } where `Identifier.Type` is part of the Isis applib (nested static class of `o.a.i.applib.Identifier`) to distinguish between an interaction with an action, a property or an action. -Note that Apache Isis' xref:ugbtb.adoc#_ugbtb_i18n[i18n support] extends this so that the returned reason can also be internationalized. +Note that Apache Isis' xref:../ugbtb/ugbtb.adoc#_ugbtb_i18n[i18n support] extends this so that the returned reason can also be internationalized. For example: http://git-wip-us.apache.org/repos/asf/isis/blob/b2b87ca4/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_methods_reserved_getId.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_methods_reserved_getId.adoc b/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_methods_reserved_getId.adoc index 4d2d081..1d7ced9 100644 --- a/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_methods_reserved_getId.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_methods_reserved_getId.adoc @@ -13,8 +13,8 @@ This can appear in several contexts, including: * as the value of `Bookmark#getObjectType()` and in the `toString()` value of `Bookmark` (see xref:../rgsvc/rgsvc.adoc#_rgsvc_api_BookmarkService[`BookmarkService`]) * in the serialization of `OidDto` in the xref:../rgcms/rgcms.adoc#_rgcms_schema-cmd[command] and xref:../rgcms/rgcms.adoc#_rgcms_schema-ixn[interaction] schemas -* in the URLs of the xref:ugvro.adoc#[RestfulObjects viewer] -* in the URLs of the xref:ugvw.adoc#[Wicket viewer] (specifically, for bookmarked actions) +* in the URLs of the xref:../ugvro/ugvro.adoc#[RestfulObjects viewer] +* in the URLs of the xref:../ugvw/ugvw.adoc#[Wicket viewer] (specifically, for bookmarked actions) @@ -47,7 +47,7 @@ The rules of precedence are: This might be obvious, but to make explicit: we recommend that you always specify an object type for your domain services. Otherwise, if you refactor your code (change class name or move package), then any externally held references to the OID of the service will break. -At best this will require a data migration in the database; at worst it could cause external clients accessing data through the xref:ugvro.adoc#[Restful Objects] viewer to break. +At best this will require a data migration in the database; at worst it could cause external clients accessing data through the xref:../ugvro/ugvro.adoc#[Restful Objects] viewer to break. [NOTE] http://git-wip-us.apache.org/repos/asf/isis/blob/b2b87ca4/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_methods_reserved_iconName.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_methods_reserved_iconName.adoc b/adocs/documentatio
[41/58] [abbrv] isis git commit: ISIS-1521: adds hints-n-tips sections for most of the user guides, and distributes out tips from dg.adoc as appropriate
http://git-wip-us.apache.org/repos/asf/isis/blob/fcf368f0/adocs/documentation/src/main/asciidoc/guides/ugvw/_ugvw_hints-and-tips_i18n-label-in-wicket-viewer.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugvw/_ugvw_hints-and-tips_i18n-label-in-wicket-viewer.adoc b/adocs/documentation/src/main/asciidoc/guides/ugvw/_ugvw_hints-and-tips_i18n-label-in-wicket-viewer.adoc new file mode 100644 index 000..54b83d7 --- /dev/null +++ b/adocs/documentation/src/main/asciidoc/guides/ugvw/_ugvw_hints-and-tips_i18n-label-in-wicket-viewer.adoc @@ -0,0 +1,26 @@ +[[_ugvw_hints-and-tips_i18n-label-in-wicket-viewer]] += How i18n the Wicket viewer? +: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 agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. +:_basedir: ../../ +:_imagesdir: images/ + + + +From link:http://isis.markmail.org/thread/ctppmtcbsf4iskzi[this thread] on the Apache Isis users mailing list: + +* _I am trying to internationalize the label descriptions of form actions, eg those in `ActionParametersFormPanel`. +Referencing those via their message id inside a .po file didn't work either. +Can this be done?_ + + +The above FAQ was raised against `1.10.0`. As of `1.11.0` (due to link:https://issues.apache.org/jira/browse/ISIS-1093[ISIS-1093]) it _is_ now possible to internationalize both the Wicket viewer's labels as well as the regular translations of the domain object metadata using the `.po` translation files as supported by the xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_TranslationService[`TranslationService`]. + +Full details of the ``msgId``s that must be added to the `translations.po` file can be found in xref:guides/ugbtb.adoc#__ugbtb_i18n_wicket-viewer[i18n] section of the xref:../ugbtb/ugbtb.adoc#[beyond the basics] guide. + +In prior releases (`1.10.0` and earlier) it was necessary to use link:https://ci.apache.org/projects/wicket/guide/6.x/guide/i18n.html#i18n_3[Wicket's internationalization support], namely resource bundles. This is still supported (as a fallback): + +* create a directory structure inside the webapp resource folder following that pattern `org.apache.isis.viewer.wicket.ui.components.actions` + +* Inside there create an equivalent `ActionParametersFormPanel_xx_XX.properties` or `ActionParametersFormPanel_xx.properties` file for the various locales that you want to support (eg `ActionParametersFormPanel_en_UK.properties`, `ActionParametersFormPanel_en_US.properties`, `ActionParametersFormPanel_de.properties` and so on). + + http://git-wip-us.apache.org/repos/asf/isis/blob/fcf368f0/adocs/documentation/src/main/asciidoc/guides/ugvw/_ugvw_hints-and-tips_per-user-themes.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugvw/_ugvw_hints-and-tips_per-user-themes.adoc b/adocs/documentation/src/main/asciidoc/guides/ugvw/_ugvw_hints-and-tips_per-user-themes.adoc new file mode 100644 index 000..43c8835 --- /dev/null +++ b/adocs/documentation/src/main/asciidoc/guides/ugvw/_ugvw_hints-and-tips_per-user-themes.adoc @@ -0,0 +1,91 @@ +[[_ugvw_hints-and-tips_per-user-themes]] += Per-user Themes +: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 agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. +:_basedir: ../../ +:_imagesdir: images/ + + +From link:http://isis.markmail.org/thread/kb4442niwwbnghey[this thread] on the Apache Isis users mailing list: + +* _Is it possible to have each of our resellers (using our Isis application) use there own theme/branding with their own logo and colors? +Would this a
[32/58] [abbrv] isis git commit: ISIS-1521: fixes further xref links between guides
ISIS-1521: fixes further xref links between guides Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/b2b87ca4 Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/b2b87ca4 Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/b2b87ca4 Branch: refs/heads/wip Commit: b2b87ca4a0d8c5eb76347415bd26539ac8ccaaab Parents: 252c2f8 Author: Dan Haywood Authored: Fri Apr 14 15:30:05 2017 +0100 Committer: Dan Haywood Committed: Thu Apr 20 09:09:30 2017 +0100 -- .../guides/dg/_dg_asciidoc-templates.adoc | 30 ++-- .../asciidoc/guides/dg/_dg_hints-and-tips.adoc | 2 +- ...nd-tips_how-run-fixtures-on-app-startup.adoc | 2 +- ...ts-and-tips_i18n-label-in-wicket-viewer.adoc | 2 +- .../guides/dg/_dg_working-with-many-repos.adoc | 2 +- .../asciidoc/guides/rgant/_rgant-Action.adoc| 2 +- .../guides/rgant/_rgant-ActionLayout.adoc | 4 +-- .../rgant/_rgant-ActionLayout_bookmarking.adoc | 8 +++--- .../rgant/_rgant-ActionLayout_cssClass.adoc | 2 +- .../rgant/_rgant-ActionLayout_cssClassFa.adoc | 2 +- .../rgant/_rgant-ActionLayout_describedAs.adoc | 4 +-- .../rgant/_rgant-ActionLayout_hidden.adoc | 2 +- .../guides/rgant/_rgant-ActionLayout_named.adoc | 4 +-- .../rgant/_rgant-ActionLayout_position.adoc | 4 +-- .../guides/rgant/_rgant-Action_command.adoc | 4 +-- .../guides/rgant/_rgant-Action_semantics.adoc | 2 +- .../guides/rgant/_rgant-CollectionLayout.adoc | 2 +- .../rgant/_rgant-CollectionLayout_cssClass.adoc | 2 +- .../_rgant-CollectionLayout_defaultView.adoc| 4 +-- .../_rgant-CollectionLayout_describedAs.adoc| 4 +-- .../rgant/_rgant-CollectionLayout_hidden.adoc | 2 +- .../rgant/_rgant-CollectionLayout_named.adoc| 4 +-- .../rgant/_rgant-CollectionLayout_paged.adoc| 4 +-- .../rgant/_rgant-CollectionLayout_render.adoc | 2 +- .../rgant/_rgant-CollectionLayout_sortedBy.adoc | 4 +-- .../rgant/_rgant-Collection_domainEvent.adoc| 2 +- .../guides/rgant/_rgant-Collection_editing.adoc | 2 +- .../guides/rgant/_rgant-Collection_hidden.adoc | 6 ++-- .../guides/rgant/_rgant-Discriminator.adoc | 6 ++-- .../guides/rgant/_rgant-DomainObjectLayout.adoc | 2 +- .../_rgant-DomainObjectLayout_bookmarking.adoc | 4 +-- ...gant-DomainObjectLayout_cssClassUiEvent.adoc | 4 +-- .../_rgant-DomainObjectLayout_describedAs.adoc | 2 +- .../_rgant-DomainObjectLayout_iconUiEvent.adoc | 4 +-- .../rgant/_rgant-DomainObjectLayout_named.adoc | 2 +- .../rgant/_rgant-DomainObjectLayout_paged.adoc | 2 +- .../_rgant-DomainObjectLayout_titleUiEvent.adoc | 4 +-- .../rgant/_rgant-DomainObject_bounded.adoc | 2 +- .../rgant/_rgant-DomainObject_nature.adoc | 2 +- .../rgant/_rgant-DomainObject_objectType.adoc | 6 ++-- .../guides/rgant/_rgant-DomainService.adoc | 2 +- .../rgant/_rgant-DomainServiceLayout.adoc | 4 +-- .../_rgant-DomainServiceLayout_menuBar.adoc | 4 +-- .../_rgant-DomainServiceLayout_menuOrder.adoc | 2 +- .../rgant/_rgant-DomainService_nature.adoc | 2 +- .../rgant/_rgant-DomainService_objectType.adoc | 6 ++-- .../asciidoc/guides/rgant/_rgant-HomePage.adoc | 2 +- .../asciidoc/guides/rgant/_rgant-Inject.adoc| 2 +- .../guides/rgant/_rgant-MemberGroupLayout.adoc | 2 +- .../guides/rgant/_rgant-MemberOrder.adoc| 2 +- .../asciidoc/guides/rgant/_rgant-Mixin.adoc | 2 +- .../guides/rgant/_rgant-ParameterLayout.adoc| 2 +- .../_rgant-ParameterLayout_describedAs.adoc | 2 +- .../_rgant-ParameterLayout_labelPosition.adoc | 2 +- .../rgant/_rgant-ParameterLayout_named.adoc | 2 +- .../_rgant-ParameterLayout_typicalLength.adoc | 2 +- .../guides/rgant/_rgant-PersistenceCapable.adoc | 6 ++-- .../guides/rgant/_rgant-PostConstruct.adoc | 2 +- .../guides/rgant/_rgant-PropertyLayout.adoc | 2 +- .../rgant/_rgant-PropertyLayout_cssClass.adoc | 2 +- .../_rgant-PropertyLayout_describedAs.adoc | 4 +-- .../rgant/_rgant-PropertyLayout_hidden.adoc | 6 ++-- .../_rgant-PropertyLayout_labelPosition.adoc| 4 +-- .../rgant/_rgant-PropertyLayout_multiLine.adoc | 2 +- .../rgant/_rgant-PropertyLayout_named.adoc | 4 +-- ...gant-PropertyLayout_renderedAsDayBefore.adoc | 2 +- .../_rgant-PropertyLayout_typicalLength.adoc| 2 +- .../guides/rgant/_rgant-Property_hidden.adoc| 2 +- .../guides/rgant/_rgant-ViewModelLayout.adoc| 2 +- .../_rgant-ViewModelLayout_describedAs.adoc | 2 +- .../rgant/_rgant-ViewModelLayout_named.adoc | 2 +- .../rgant/_rgant-ViewModelLayout_paged.adoc | 2 +- .../rgant/_rgant-ViewModel_objectType.adoc | 6 ++-- .../guides/rgant/_rgant-XmlJavaTypeAdapter.adoc | 2 +- .../guides/rgant/_rgant-XmlRootElement.adoc | 8 +++--- .../guides/rgant/_rgant_aaa_deprecated.adoc | 10 +++ .../a
[02/58] [abbrv] isis git commit: ISIS-1521: fixes xref links between guides
http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_drop-downs-and-defaults.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_drop-downs-and-defaults.adoc b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_drop-downs-and-defaults.adoc index d23c350..9db7ccc 100644 --- a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_drop-downs-and-defaults.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_drop-downs-and-defaults.adoc @@ -13,15 +13,15 @@ NOTE: FIXME ### Choices for Property -NOTE: FIXME - xref:rgcms.adoc#_rgcms_methods_prefixes_choices[`choices...()`] +NOTE: FIXME - xref:../rgcms/rgcms.adoc#_rgcms_methods_prefixes_choices[`choices...()`] ### Auto-complete for property -NOTE: FIXME - xref:rgcms.adoc#_rgcms_methods_prefixes_autoComplete[`autoComplete...()`] +NOTE: FIXME - xref:../rgcms/rgcms.adoc#_rgcms_methods_prefixes_autoComplete[`autoComplete...()`] ### Default for property -NOTE: FIXME - xref:rgcms.adoc#_rgcms_methods_prefixes_default[`default...()`] +NOTE: FIXME - xref:../rgcms/rgcms.adoc#_rgcms_methods_prefixes_default[`default...()`] @@ -32,19 +32,19 @@ NOTE: FIXME ### Choices for action parameter -NOTE: FIXME - xref:rgcms.adoc#_rgcms_methods_prefixes_choices[`choices...()`] +NOTE: FIXME - xref:../rgcms/rgcms.adoc#_rgcms_methods_prefixes_choices[`choices...()`] ### Dependent choices for action params -NOTE: FIXME - xref:rgcms.adoc#_rgcms_methods_prefixes_choices[`choices...()`] +NOTE: FIXME - xref:../rgcms/rgcms.adoc#_rgcms_methods_prefixes_choices[`choices...()`] ### Auto-complete for action param -NOTE: FIXME - xref:rgcms.adoc#_rgcms_methods_prefixes_autoComplete[`autoComplete...()`] +NOTE: FIXME - xref:../rgcms/rgcms.adoc#_rgcms_methods_prefixes_autoComplete[`autoComplete...()`] ### Default for action param -NOTE: FIXME - xref:rgcms.adoc#_rgcms_methods_prefixes_default[`default...()`] +NOTE: FIXME - xref:../rgcms/rgcms.adoc#_rgcms_methods_prefixes_default[`default...()`] @@ -57,9 +57,9 @@ NOTE: FIXME ### Drop-down for limited number of instances -NOTE: FIXME - xref:rgant.adoc#_rgant-DomainObject_bounded[`@DomainObject#bounded()`] +NOTE: FIXME - xref:../rgant/rgant.adoc#_rgant-DomainObject_bounded[`@DomainObject#bounded()`] ### Auto-complete (repository-based) -xref:rgant.adoc#_rgant-DomainObject_autoCompleteRepository[`@DomainObject#autoCompleteRepository()`] +xref:../rgant/rgant.adoc#_rgant-DomainObject_autoCompleteRepository[`@DomainObject#autoCompleteRepository()`] http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_simulating-collections-of-values.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_simulating-collections-of-values.adoc b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_simulating-collections-of-values.adoc index 694baae..4402b7c 100644 --- a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_simulating-collections-of-values.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_simulating-collections-of-values.adoc @@ -19,5 +19,5 @@ NOTE: FIXME == Persistence Concerns -NOTE: FIXME - easiest to simply store using DataNucleus' support for collections, marked as xref:rgant.adoc#_rgant-Programmatic[`@Programmatic`] so that it is ignored by Apache Isis. Alternatively can store as json/xml in a varchar(4000) or clob and manually unpack. +NOTE: FIXME - easiest to simply store using DataNucleus' support for collections, marked as xref:../rgant/rgant.adoc#_rgant-Programmatic[`@Programmatic`] so that it is ignored by Apache Isis. Alternatively can store as json/xml in a varchar(4000) or clob and manually unpack. http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_ui-hints_action-icons-and-css.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_ui-hints_action-icons-and-css.adoc b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_ui-hints_action-icons-and-css.adoc index 36f6924..3a62241 100644 --- a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_ui-hints_action-icons-and-css.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_how-tos_ui-hints_action-icons-and-css.adoc @@ -11,7 +11,7 @@ These UI hint can be applied either to individual actions, or can be applied en- == Per action -NOTE: FIXME - xref:rgant.adoc#_rgant-ActionLayout_cssClass[`@ActionLayout#cssClass()`] and xref:rgant.adoc#_rgant
[03/58] [abbrv] isis git commit: ISIS-1521: fixes xref links between guides
http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_web-xml.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_web-xml.adoc b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_web-xml.adoc index b81637b..8f0 100644 --- a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_web-xml.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_web-xml.adoc @@ -378,7 +378,7 @@ This filter reads one context parameter: deployment -<1> alternatively set to "development"; see xref:rgcfg.adoc#_rgcfg_deployment-types[deployment types] for further discussion. +<1> alternatively set to "development"; see xref:../rgcfg/rgcfg.adoc#_rgcfg_deployment-types[deployment types] for further discussion. === `IsisSessionFilter` http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_apache-isis-vs_cqrs.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_apache-isis-vs_cqrs.adoc b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_apache-isis-vs_cqrs.adoc index ea526e0..37eb157 100644 --- a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_apache-isis-vs_cqrs.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_apache-isis-vs_cqrs.adoc @@ -31,10 +31,10 @@ There are other reasons though why a separate read model might make sense, such In these cases Apache Isis can often provide a reasonable alternative, namely to map domain entities against RDBMS views, either materialized views or dynamic. In such cases there is still only a single physical datastore, and so transactional integrity is retained. -Or, the CQRS architecture can be more fully implemented with Apache Isis by introducing a separate read model, synchronized using the xref:rgsvc.adoc#_rgsvc_api_PublishingService[`PublishingService`], or using xref:rgcms.adoc#_rgcms_classes_super_AbstractSubscriber[subscribers] on the xref:rgsvc.adoc#_rgsvc_api_EventBusService[`EventBusService`]. +Or, the CQRS architecture can be more fully implemented with Apache Isis by introducing a separate read model, synchronized using the xref:../rgsvc/rgsvc.adoc#_rgsvc_api_PublishingService[`PublishingService`], or using xref:../rgcms/rgcms.adoc#_rgcms_classes_super_AbstractSubscriber[subscribers] on the xref:../rgsvc/rgsvc.adoc#_rgsvc_api_EventBusService[`EventBusService`]. One can then use xref:ugbtb.adoc#_ugbtb_view-models[view models] to surface the data in the external read datastore. -With respect to commands, Apache Isis does of course support the xref:rgsvc.adoc#_rgsvc_spi_CommandService[`CommandService`] which allows each business action to be reified into a `Command`. +With respect to commands, Apache Isis does of course support the xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_CommandService[`CommandService`] which allows each business action to be reified into a `Command`. However, names are misleading here: Apache Isis' commands are relatively passive, merely recording the intent of the user to invoke some operation. In a CQRS architecture, though, commands take a more active role, locating and acting upon the domain objects. More significantly, in CQRS each command has its own class, such as `PlaceOrderCommand`, instantiated by the client and then executed. @@ -43,7 +43,7 @@ With Apache Isis, though, the end-user merely invokes the `placeOrder(...)` acti In CQRS the commands correspond to the business logic that mutates the system. Whether this logic is part of the command class (`PlaceOrderCommand`) or whether that command delegates to methods on the domain object is an implementation detail; but it certainly is common for the business logic to be wholly within the command object and for the domain object to be merely a data holder of the data within the command/write datastore. -In Apache Isis this same separation of business logic from the underlying data can be accomplished most straightforwardly using xref:ugbtb.adoc#_ugbtb_decoupling_mixins[mixins] or xref:ugfun.adoc#_ugfun_how-tos_contributed-members[contributions]. +In Apache Isis this same separation of business logic from the underlying data can be accomplished most straightforwardly using xref:ugbtb.adoc#_ugbtb_decoupling_mixins[mixins] or xref:../ugfun/ugfun.adoc#_ugfun_how-tos_contributed-members[contributions]. In the UI (surfaced by the xref:ugvw.adoc#[Wicket viewer]) or in the REST API (surfaced by the xref:ugvro.adoc#[RestfulObjects viewer]) the behaviour appears to reside on the domain object; however the behaviour actually resides on separate classes and is mixed in (like a trait) only at runtime. http:
[57/58] [abbrv] isis git commit: fixes up references to view models and mixins.
fixes up references to view models and mixins. Also moves remaining decoupling material from ugbtb elsewhere Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/29d19fff Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/29d19fff Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/29d19fff Branch: refs/heads/wip Commit: 29d19fff4f9f6f2c242f80d4a4733a766fa37134 Parents: 3ce607a Author: Dan Haywood Authored: Wed Apr 19 19:45:06 2017 +0100 Committer: Dan Haywood Committed: Thu Apr 20 09:09:31 2017 +0100 -- .../guides/dg/_dg_working-with-many-repos.adoc | 2 +- ...gant-DomainObjectLayout_cssClassUiEvent.adoc | 4 +- .../_rgant-DomainObjectLayout_iconUiEvent.adoc | 4 +- .../_rgant-DomainObjectLayout_titleUiEvent.adoc | 4 +- .../rgant/_rgant-DomainObject_nature.adoc | 2 +- .../asciidoc/guides/rgant/_rgant-Mixin.adoc | 2 +- .../guides/rgant/_rgant-PostConstruct.adoc | 2 +- .../guides/rgant/_rgant-XmlJavaTypeAdapter.adoc | 2 +- .../guides/rgant/_rgant-XmlRootElement.adoc | 6 +- .../guides/rgcfg/_rgcfg_configuring-core.adoc | 2 +- .../guides/rgcms/_rgcms_classes_mixins.adoc | 8 +- .../guides/rgcms/_rgcms_classes_mixins_Dto.adoc | 3 +- .../rgcms/_rgcms_methods_prefixes_disable.adoc | 2 +- .../rgcms/_rgcms_methods_prefixes_hide.adoc | 2 +- .../_rgfis_spi_ContentNegotiationService.adoc | 2 +- .../main/asciidoc/guides/rgmvn/_rgmvn_xsd.adoc | 4 +- .../guides/rgsvc/_rgsvc_api_JaxbService.adoc| 2 +- .../guides/rgsvc/_rgsvc_api_MementoService.adoc | 4 +- .../guides/rgsvc/_rgsvc_api_Scratchpad.adoc | 2 +- .../guides/rgsvc/_rgsvc_api_SwaggerService.adoc | 2 +- .../guides/rgsvc/_rgsvc_spi_AuditerService.adoc | 2 +- .../rgsvc/_rgsvc_spi_AuditingService.adoc | 2 +- .../_rgsvc_spi_BackgroundCommandService.adoc| 2 +- .../guides/rgsvc/_rgsvc_spi_CommandService.adoc | 2 +- .../rgsvc/_rgsvc_spi_PublisherService.adoc | 2 +- .../rgsvc/_rgsvc_spi_PublishingService.adoc | 2 +- .../rgsvc/_rgsvc_spi_TranslationService.adoc| 2 +- .../rgsvc/_rgsvc_spi_UrlEncodingService.adoc| 2 +- .../guides/ugbtb/_ugbtb_decoupling.adoc | 30 .../_ugbtb_decoupling_contributed-members.adoc | 9 -- .../ugbtb/_ugbtb_decoupling_contributions.adoc | 8 - .../ugbtb/_ugbtb_decoupling_db-schemas.adoc | 141 -- .../ugbtb/_ugbtb_decoupling_event-bus.adoc | 11 -- .../guides/ugbtb/_ugbtb_decoupling_mixins.adoc | 8 - .../_ugbtb_decoupling_pushing-changes.adoc | 140 -- .../_ugbtb_decoupling_vetoing-visibility.adoc | 15 -- .../guides/ugbtb/_ugbtb_hints-and-tips.adoc | 2 + .../_ugbtb_hints-and-tips_are-you-sure.adoc | 8 +- .../_ugbtb_hints-and-tips_pushing-changes.adoc | 140 ++ ...ugbtb_hints-and-tips_vetoing-visibility.adoc | 15 ++ .../action-semantics-are-you-sure.png | Bin 0 -> 11046 bytes .../hints-and-tips/are-you-sure-happy-case.png | Bin 0 -> 9993 bytes .../hints-and-tips/are-you-sure-sad-case.png| Bin 0 -> 10515 bytes .../images/hints-and-tips/are-you-sure.png | Bin 0 -> 9312 bytes .../src/main/asciidoc/guides/ugbtb/ugbtb.adoc | 1 - ...un_building-blocks_events_domain-events.adoc | 2 +- ...cks_types-of-domain-objects_view-models.adoc | 2 +- ...ugfun_core-concepts_apache-isis-vs_cqrs.adoc | 4 +- .../_ugfun_core-concepts_philosophy_aop.adoc| 2 +- ...ing-model_domain-services_contributions.adoc | 2 +- ...ugfun_programming-model_view-models_dto.adoc | 12 +- ...amming-model_view-models_dto_versioning.adoc | 2 +- .../guides/ugodn/_ugodn_db-schemas.adoc | 147 +++ ...nts-and-tips_overriding-jdo-annotations.adoc | 2 +- .../src/main/asciidoc/guides/ugodn/ugodn.adoc | 1 + .../ugvw/_ugvw_layout_application-menu.adoc | 2 +- .../powered-by/_powered-by_contactapp.adoc | 2 +- .../_powered-by_gesconsultor-grc.adoc | 2 +- .../asciidoc/pages/screencasts/screencasts.adoc | 16 +- 59 files changed, 374 insertions(+), 429 deletions(-) -- http://git-wip-us.apache.org/repos/asf/isis/blob/29d19fff/adocs/documentation/src/main/asciidoc/guides/dg/_dg_working-with-many-repos.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/dg/_dg_working-with-many-repos.adoc b/adocs/documentation/src/main/asciidoc/guides/dg/_dg_working-with-many-repos.adoc index 086f329..1e39537 100644 --- a/adocs/documentation/src/main/asciidoc/guides/dg/_dg_working-with-many-repos.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/dg/_dg_working-with-many-repos.adoc @@ -8,7 +8,7 @@ Applications built with Apache Isis often (should) consist of
[05/58] [abbrv] isis git commit: ISIS-1521: fixes xref links between guides
http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_metadata-api.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_metadata-api.adoc b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_metadata-api.adoc index aa2b014..3a3a52e 100644 --- a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_metadata-api.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_metadata-api.adoc @@ -20,7 +20,7 @@ The table below summarizes the metadata APIs defined by Apache Isis. It also li |Notes -|xref:rgsvc.adoc#_rgsvc_api_ApplicationFeatureRepository[`o.a.i.applib.` + +|xref:../rgsvc/rgsvc.adoc#_rgsvc_api_ApplicationFeatureRepository[`o.a.i.applib.` + `services.appfeat` + `ApplicationFeatureRepository`] |Provides access to string representations of the features (package, class, class members) of the domain classes @@ -32,7 +32,7 @@ within the metamodel. -|xref:rgsvc.adoc#_rgsvc_api_LayoutService[`o.a.i.applib.` + +|xref:../rgsvc/rgsvc.adoc#_rgsvc_api_LayoutService[`o.a.i.applib.` + `services.layout` + `LayoutService`] |Provides the ability to download `Xxx.layout.xml` files, in various styles. @@ -44,7 +44,7 @@ within the metamodel. -|xref:rgsvc.adoc#_rgsvc_api_MetaModelService[`o.a.i.applib.` + +|xref:../rgsvc/rgsvc.adoc#_rgsvc_api_MetaModelService[`o.a.i.applib.` + `services.metamodel` + `MetaModelService`] |Access to certain information from the Apache Isis metamodel. @@ -54,7 +54,7 @@ within the metamodel. |Functionality surfaced in the UI through related menu. -|xref:rgsvc.adoc#_rgsvc_api_ServiceRegistry[`o.a.i.applib.` + +|xref:../rgsvc/rgsvc.adoc#_rgsvc_api_ServiceRegistry[`o.a.i.applib.` + `services.registry` + `ServiceRegistry`] |Methods to access and use other domain services. @@ -62,19 +62,19 @@ within the metamodel. ``Default`` + ``o.a.i.core`` + ``isis-core-metamodel`` -|Supercedes methods in xref:rgsvc.adoc#_rgsvc_api_DomainObjectContainer[`DomainObjectContainer`]. +|Supercedes methods in xref:../rgsvc/rgsvc.adoc#_rgsvc_api_DomainObjectContainer[`DomainObjectContainer`]. -|xref:rgsvc.adoc#_rgsvc_api_SwaggerService[`o.a.i.applib.` + +|xref:../rgsvc/rgsvc.adoc#_rgsvc_api_SwaggerService[`o.a.i.applib.` + `services.swagger` + `SwaggerService`] |Generates link:http://swagger.io/[Swagger] spec files to describe the public and/or private RESTful APIs exposed by the xref:ugvro.adoc#[RestfulObjects viewer]. These can then be used with the link:http://swagger.io/swagger-ui/[Swagger UI] page to explore the REST API, or used to generate client-side stubs using the link:http://swagger.io/swagger-codegen/[Swagger codegen] tool, eg for use in a custom REST client app. |`SwaggerServiceDefault` + ``o.a.i.core`` + ``isis-core-metamodel`` -|A `SwaggerServiceMenu` domain service is also provided which enables the swagger spec to be downloaded. Apache Isis' xref:rgmvn.adoc[Maven plugin] also provides a xref:rgmvn.adoc#_rgmvn_swagger[swagger goal] which allows the spec file(s) to be generated at build time (eg so that client-side stubs can then be generated in turn). +|A `SwaggerServiceMenu` domain service is also provided which enables the swagger spec to be downloaded. Apache Isis' xref:../rgmvn/rgmvn.adoc[Maven plugin] also provides a xref:../rgmvn/rgmvn.adoc#_rgmvn_swagger[swagger goal] which allows the spec file(s) to be generated at build time (eg so that client-side stubs can then be generated in turn). http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_persistence-layer-api.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_persistence-layer-api.adoc b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_persistence-layer-api.adoc index cf2522f..7362ebe 100644 --- a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_persistence-layer-api.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_persistence-layer-api.adoc @@ -22,7 +22,7 @@ The table below summarizes the persistence layer APIs defined by Apache Isis. I |Notes -|xref:rgsvc.adoc#_rgsvc_api_IsisJdoSupport[`o.a.i.applib.` + +|xref:../rgsvc/rgsvc.adoc#_rgsvc_api_IsisJdoSupport[`o.a.i.applib.` + `services.jdosupport` + `IsisJdoSupport`] |Lower level access to the JDO Persistence API. @@ -32,7 +32,7 @@ The table below summarizes the persistence layer APIs defined by Apache Isis. I | -|xref:rgsvc.adoc#_rgsvc_api_MetricsService[`o.a.i.applib.` + +|xref:../rgsvc/rgsvc.adoc#_rgsvc_api_MetricsService[`o.a.i.applib.` + `services.metrics` + `MetricsService`] |Gathers and provides metrics on the numbers of objects used within a transaction. @@ -42,7 +42,7 @@ The table below summarizes the persisten
[20/58] [abbrv] isis git commit: ISIS-1521: working on ugfun.adoc
http://git-wip-us.apache.org/repos/asf/isis/blob/2f2714cc/adocs/documentation/src/main/asciidoc/guides/ugvro/_ugvro_simplified-representations_apache-isis-profile.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugvro/_ugvro_simplified-representations_apache-isis-profile.adoc b/adocs/documentation/src/main/asciidoc/guides/ugvro/_ugvro_simplified-representations_apache-isis-profile.adoc new file mode 100644 index 000..e8632c4 --- /dev/null +++ b/adocs/documentation/src/main/asciidoc/guides/ugvro/_ugvro_simplified-representations_apache-isis-profile.adoc @@ -0,0 +1,38 @@ +: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 agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. +:_basedir: ../../ +:_imagesdir: images/ + + + + +[[_ugvro_simplified-representations_apache-isis-profile]] += The Apache Isis "Profile" + +The RO spec uses the standard `Accept` header for content negotiation, and defines its own "profile" for the standard +representations; these take the form: + +[source] + +Accept: application/json;profile="urn:org.restfulobjects:repr-types/xxx" + + +where "xxx" varies by resource. The detail can be found in section 2.4.1 of the RO spec. + +The Apache Isis viewer also defines its own "Isis" profile which enables the client to request simplified +representations for the most frequently accessed resources. This is done by specifying an `Accept` header of: + +[source] + +Accept: application/json;profile="urn:org.apache.isis/v1" + + +Not every resource supports this header, but the most commonly accessed ones do. In each case the server will set the +`Content-Type` header so that the client knows how to process the representation. + +The link:https://www.youtube.com/watch?v=HMSqapQDY_4[screencast] demonstrates the feature. + + + +The sections below explain in a little more detail what is returned when this profile is activated. + + http://git-wip-us.apache.org/repos/asf/isis/blob/2f2714cc/adocs/documentation/src/main/asciidoc/guides/ugvro/_ugvro_simplified-representations_configuration-properties.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugvro/_ugvro_simplified-representations_configuration-properties.adoc b/adocs/documentation/src/main/asciidoc/guides/ugvro/_ugvro_simplified-representations_configuration-properties.adoc index 02862e7..4fa7155 100644 --- a/adocs/documentation/src/main/asciidoc/guides/ugvro/_ugvro_simplified-representations_configuration-properties.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/ugvro/_ugvro_simplified-representations_configuration-properties.adoc @@ -1,4 +1,4 @@ -[[__ugvro_simplified-representations_configuration-properties]] +[[_ugvro_simplified-representations_configuration-properties]] = Global Config Props (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 agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. :_basedir: ../../ http://git-wip-us.apache.org/repos/asf/isis/blob/2f2714cc/adocs/documentation/src/main/asciidoc/guides/ugvro/_ugvro_simplified-representations_domain-object.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugvro/_ugvro_simplified-representations_domain-object.adoc b/adocs/documentation/src/main/asciidoc/guides/ugvro/_ugvro_simplified-representations_domain-object.adoc new file mode 100644 index 000..7caf15a --- /dev/null +++ b/adocs/documentation/src/main/asciidoc/guides/ugvro/_ugvro_simplified-representations_dom
[48/58] [abbrv] isis git commit: wip - ugfun.adoc - fixing bad includes etc
wip - ugfun.adoc - fixing bad includes etc Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/c1f4647f Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/c1f4647f Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/c1f4647f Branch: refs/heads/wip Commit: c1f4647f446fd3258f09888a186414b010159546 Parents: acf946c Author: Dan Haywood Authored: Tue Apr 18 00:28:23 2017 +0200 Committer: Dan Haywood Committed: Thu Apr 20 09:09:31 2017 +0100 -- .../ugfun/_ugfun_programming-model_domain-services_menu.adoc | 4 ++-- .../asciidoc/guides/ugfun/_ugfun_programming-model_mixins.adoc | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/isis/blob/c1f4647f/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_programming-model_domain-services_menu.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_programming-model_domain-services_menu.adoc b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_programming-model_domain-services_menu.adoc index 64d3201..101a778 100644 --- a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_programming-model_domain-services_menu.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_programming-model_domain-services_menu.adoc @@ -1,4 +1,4 @@ -[[_ugfun_programming-model_domain-services_menu]] +[[_ugfun_programming-model_domain-services_menu]] = Menu :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 agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. :_basedir: ../../ @@ -62,7 +62,7 @@ public class CustomerMenu { <1> The (Apache Isis) xref:../rgant/rgant.adoc#_rgant_DomainService[`@DomainService`] annotation is used to identify the class as a domain service. Apache Isis scans the classpath looking for classes with this annotation, so there very little configuration other than to tell the framework which packages to scan underneath. The `VIEW_MENU_ONLY` nature indicates that this service's actions should be exposed as menu items. -<3> The xref:../rgant/rgant.adoc#_rgant_DomainServiceLayout[`@DomainServiceLayout`] annotation provides UI hints. +<2> The xref:../rgant/rgant.adoc#_rgant_DomainServiceLayout[`@DomainServiceLayout`] annotation provides UI hints. The menu is named "Customers" (otherwise it would have defaulted to "Customer Menu", based on the class name, while the xref:../rgant/rgant.adoc#_rgant_DomainServiceLayout_menuOrder[`menuOrder`] attribute determines the order of the menu with respect to other menu services. <3> The `findByName` method is annotated with various Apache Isis annotations (xref:../rgant/rgant.adoc#_rgant_Action[`@Action`], xref:../rgant/rgant.adoc#_rgant_ActionLayout[`@ActionLayout`] and xref:../rgant/rgant.adoc#_rgant_MemberOrder[`@MemberOrder`] and is itself rendered in the UI as a "Find By Name" menu item underneath the "Simple Objects" menu. <4> The xref:../rgant/rgant.adoc#_rgant_ParameterLayout[`@ParameterLayout`] provides metadata for the parameter itself, in this case its name. http://git-wip-us.apache.org/repos/asf/isis/blob/c1f4647f/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_programming-model_mixins.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_programming-model_mixins.adoc b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_programming-model_mixins.adoc index d6c3f45..e585f5c 100644 --- a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_programming-model_mixins.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_programming-model_mixins.adoc @@ -48,10 +48,10 @@ include::_ugfun_programming-model_mixins_contributed-action.adoc[leveloffset=+1] include::_ugfun_programming-model_mixins_inferred-name.adoc[leveloffset=+1] -include::_ugfun_programming-model_mixins_nested-static-classes .adoc[leveloffset=+1] +include::_ugfun_programming-model_mixins_nested-static-classes.adoc[leveloffset=+1] -include::_ugfun_programming-m
[46/58] [abbrv] isis git commit: ISIS-1521: further minor updates to ugfun.adoc
http://git-wip-us.apache.org/repos/asf/isis/blob/480d6ff2/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_class-structure_properties.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_class-structure_properties.adoc b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_class-structure_properties.adoc new file mode 100644 index 000..540ada1 --- /dev/null +++ b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_class-structure_properties.adoc @@ -0,0 +1,411 @@ +[[_ugfun_class-structure_properties]] += Property +: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 agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. +:_basedir: ../../ +:_imagesdir: images/ + + +A property is an instance variable of a domain object, of a scalar type, that holds some state about either a xref:../ugfun/ugfun.adoc#__ugfun_class-structure_class-definition_entities[domain entity] or a xref:../ugfun/ugfun.adoc#__ugfun_class-structure_class-definition_view-models[view model]. + +For example, a ``Customer``'s `firstName` would be a property, as would their `accountCreationDate` that they created their account. +All properties have at least a "getter" method, and most properties have also a "setter" method (meaning that they are mutable). +Properties that do _not_ have a setter method are derived properties, and so are not persisted. + +Formally speaking, a property is simply a regular JavaBean getter, returning a scalar value recognized by the framework. +Most properties (those that are editable/modifiable) will also have a setter and (if persisted) a backing instance field. +And most properties will also have a number of annotations: + +* Apache Isis defines its own set own `@Property` annotation for capturing domain semantics. +It also provides a `@PropertyLayout` for UI hints (though the information in this annotation may instead be provided by a supplementary xref:../ugvw/ugvw.adoc#_ugvw_layout[`.layout.xml`] file + +* the properties of domain entities are often annotated with the JDO/DataNucleus `@javax.jdo.annotations.Column` annotation. +For property references, there may be other annotations to indicate whether the reference is bidirectional. +It's also possible (using annotations) to define a link table to hold foreign key columns. + +* for the properties of view models, then JAXB annotations such as `@javax.xml.bind.annotation.XmlElement` will be present + +Apache Isis recognises some of these annotations for JDO/DataNucleus and JAXB and infers some domain semantics from them (for example, the maximum allowable length of a string property). + +Since writing getter and setter methods adds quite a bit of boilerplate, it's common to use link:https://projectlombok.org/[Project Lombok] to code generate these methods at compile time (using Java's annotation processor) simply by adding the `@lombok.Getter` and `@lombok.Setter` annotations to the field. +The xref:guides/ugfun.adoc#_ugfun_getting-started_simpleapp-archetype[SimpleApp archetype] uses this approach. + + +[[__ugfun_class-structure_properties_value-vs-reference-types]] +== Value vs Reference Types + +Properties can be either a value type (strings, int, date and so on) or be a reference to another object (for example, an `Order` referencing the `Customer` that placed it). + +For example, to map a string value type: + +[source,java] + +@lombok.Getter @lombok.Setter // <1> +private String notes; + +<1> using link:https://projectlombok.org/[Project Lombok] annotations to reduce boilerplate + +You could also add the `@Property` annotation if you wished: + +[source,java] + +@Property +@lombok.Getter @lombok.Setter +private String notes; + + +Although in this case it is not required (none of its attributes have been set). + +Or to map a reference type: + +[source,java] + +@lombok.Getter @lombok.Setter +private Customer customer; + + +It's ok for a xref:../ugfun/ugfun.adoc#__ugfun_class-structure_class-definition_entities[domain entity] to reference another domain entity, and for a xref:../ugfun/ugfun.adoc#__ugfun_class-structure_class-definition_view-models[view model] to reference both view model and domain entities. +However, it isn't valid
[56/58] [abbrv] isis git commit: fixes up references to view models and mixins.
http://git-wip-us.apache.org/repos/asf/isis/blob/29d19fff/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_programming-model_domain-services_contributions.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_programming-model_domain-services_contributions.adoc b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_programming-model_domain-services_contributions.adoc index 107a550..a3126d0 100644 --- a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_programming-model_domain-services_contributions.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_programming-model_domain-services_contributions.adoc @@ -42,7 +42,7 @@ public class OrderContributions { <3> Only actions with a single argument can be contributed as associations More information about contributions can be found xref:../ugfun/ugfun.adoc#_ugfun_how-tos_contributed-members[here]. More information -about using contributions and mixins to keep your domain application decoupled can be found xref:../ugbtb/ugbtb.adoc#_ugbtb_decoupling_contributions[here] and xref:../ugbtb/ugbtb.adoc#_ugbtb_decoupling_mixins[here]. +about using contributions and mixins to keep your domain application decoupled can be found xref:../ugfun/ugfun.adoc#_ugfun_building-blocks_types-of-domain-objects_mixins[here] and xref:../ugfun/ugfun.adoc#_ugfun_programming-model_domain-services_contributions[contributed services]). http://git-wip-us.apache.org/repos/asf/isis/blob/29d19fff/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_programming-model_view-models_dto.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_programming-model_view-models_dto.adoc b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_programming-model_view-models_dto.adoc index ad5b8fd..809402b 100644 --- a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_programming-model_view-models_dto.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_programming-model_view-models_dto.adoc @@ -47,16 +47,16 @@ public class ToDoItemV1_1 implements Dto { // <5> protected List similarItems = Lists.newArrayList(); } -<1> package name encodes major version; see discussion on xref:../ugbtb/ugbtb.adoc#__ugbtb_view-models_jaxb_versioning[versioning] +<1> package name encodes major version; see discussion on xref:../ugfun/ugfun.adoc#_ugfun_programming-model_view-models_dto_versioning[versioning] <2> identifies this class as a view model and defines the root element for JAXB serialization <3> all properties in the class must be listed; (they can be ignored using `@XmlTransient`) <4> demonstrating use of UI events for a subscriber to provide the DTO's title; see xref:../rgant/rgant.adoc#_rgant-DomainObjectLayout_titleUiEvent[`@DomainObjectLayout#titleUiEvent()`]. -<5> class name encodes (major and) minor version; see discussion on xref:../ugbtb/ugbtb.adoc#__ugbtb_view-models_jaxb_versioning[versioning] -<6> again, see discussion on xref:../ugbtb/ugbtb.adoc#__ugbtb_view-models_jaxb_versioning[versioning] -<7> again, see discussion on xref:../ugbtb/ugbtb.adoc#__ugbtb_view-models_jaxb_versioning[versioning] +<5> class name encodes (major and) minor version; see discussion on xref:../ugfun/ugfun.adoc#_ugfun_programming-model_view-models_dto_versioning[versioning] +<6> again, see discussion on xref:../ugfun/ugfun.adoc#_ugfun_programming-model_view-models_dto_versioning[versioning] +<7> again, see discussion on xref:../ugfun/ugfun.adoc#_ugfun_programming-model_view-models_dto_versioning[versioning] <8> simple scalar properties -<9> reference to a persistent entity; discussed xref:../ugbtb/ugbtb.adoc#__ugbtb_view-models_jaxb_referencing-domain-entities[below] -<10> reference to a collection of persistent entities; again discussed xref:../ugbtb/ugbtb.adoc#__ugbtb_view-models_jaxb_referencing-domain-entities[below] +<9> reference to a persistent entity; discussed xref:../ugfun/ugfun.adoc#_ugfun_programming-model_view-models_jaxb_referencing-domain-entities[here] +<10> reference to a collection of persistent entities; again discussed xref:../ugfun/ugfun.adoc#_ugfun_programming-model_view-models_jaxb_referencing-domain-entities[here] http://git-wip-us.apache.org/repos/asf/isis/blob/29d19fff/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_programming-model_view-models_dto_versioning.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_programming-model_view-models_dto_versioning.adoc b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_programming-model_view-models_dto_versioning.adoc index 2c61f4e..4d1f778 100644 --- a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugf
[19/58] [abbrv] isis git commit: ISIS-1521: more reorganizing of images and also resources for dg.adoc
ISIS-1521: more reorganizing of images and also resources for dg.adoc Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/add8cef9 Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/add8cef9 Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/add8cef9 Branch: refs/heads/wip Commit: add8cef9b2802d614724b8c379367664bbdf8fb6 Parents: 58298b2 Author: Dan Haywood Authored: Fri Apr 14 12:30:37 2017 +0100 Committer: Dan Haywood Committed: Thu Apr 20 09:09:29 2017 +0100 -- .../asciidoc/guides/dg/_dg_ide_eclipse.adoc | 22 +- .../asciidoc/guides/dg/_dg_ide_intellij.adoc| 98 ++-- .../eclipse/eclipse-010-windows-preferences.png | Bin 37417 -> 0 bytes .../eclipse/eclipse-025-project-properties.png | Bin 76584 -> 0 bytes .../eclipse/eclipse-100-project-support.png | Bin 54952 -> 0 bytes .../eclipse/eclipse-110-project-support.png | Bin 53218 -> 0 bytes .../dev-env/eclipse/eclipse-120-console.png | Bin 12887 -> 0 bytes .../eclipse-200-enhancer-fails-duplicates.png | Bin 47581 -> 0 bytes .../eclipse-210-enhancer-fails-duplicates.png | Bin 11776 -> 0 bytes .../eclipse-220-enhancer-fails-duplicates.png | Bin 54752 -> 0 bytes .../010-installing/010-welcome-page.png | Bin 29192 -> 0 bytes .../010-installing/020-choose-location.png | Bin 24433 -> 0 bytes .../010-installing/030-installation-options.png | Bin 18300 -> 0 bytes .../010-installing/040-start-menu-folder.png| Bin 26120 -> 0 bytes .../010-installing/050-completing.png | Bin 26499 -> 0 bytes .../060-import-settings-or-not.png | Bin 11691 -> 0 bytes .../010-installing/070-set-ui-theme.png | Bin 87739 -> 0 bytes .../010-new-project-create.png | Bin 14048 -> 0 bytes .../020-java-project-setup-jdk.png | Bin 29837 -> 0 bytes .../030-java-project-select-jdk.png | Bin 16597 -> 0 bytes .../020-create-new-project/040-sdk-selected.png | Bin 24884 -> 0 bytes .../050-name-and-location.png | Bin 11407 -> 0 bytes .../020-create-new-project/060-create-dir.png | Bin 8424 -> 0 bytes .../010-settings-import-jar.png | Bin 13712 -> 0 bytes .../030-import-settings/020-select-all.png | Bin 8863 -> 0 bytes .../030-import-settings/030-restart.png | Bin 8209 -> 0 bytes .../030-import-settings/040-file-templates.png | Bin 39841 -> 0 bytes .../030-import-settings/050-live-templates.png | Bin 38456 -> 0 bytes .../010-build-automatically.png | Bin 50767 -> 0 bytes .../020-annotation-processor.png| Bin 67560 -> 0 bytes .../010-maven-installation.png | Bin 43353 -> 0 bytes .../020-maven-configuration.png | Bin 53554 -> 0 bytes .../044-other-settings-misc/010-auto-import.png | Bin 31963 -> 0 bytes .../050-some-plugins/010-some-plugins.png | Bin 45812 -> 0 bytes .../020-some-plugins-confirmation.png | Bin 35687 -> 0 bytes .../maven-helper/010-dependency-tab.png | Bin 64588 -> 0 bytes .../maven-helper/020-dependency-as-tree.png | Bin 44040 -> 0 bytes .../maven-helper/030-maven-run-goal.png | Bin 91806 -> 0 bytes .../maven-helper/040-maven-quick-run.png| Bin 83850 -> 0 bytes .../010-duplicate-classes.png | Bin 115681 -> 0 bytes .../070-advanced/002-compiler-exclude.png | Bin 31775 -> 0 bytes .../070-advanced/004-gradle-output.png | Bin 23091 -> 0 bytes .../070-advanced/005-gradle-output.png | Bin 30890 -> 0 bytes .../070-advanced/006-livereload-js.png | Bin 80581 -> 0 bytes ...10-dcevm-list-of-found-jdk-installations.png | Bin 44267 -> 0 bytes .../070-advanced/020-dcevm-once-installed.png | Bin 44435 -> 0 bytes .../030-dcevm-intellij-project-structure.png| Bin 62740 -> 0 bytes .../040-dcevm-run-configuration.png | Bin 47864 -> 0 bytes .../010-maven-modules-view.png | Bin 103134 -> 0 bytes .../020-adding-another-module.png | Bin 23846 -> 0 bytes .../030-other-module-added.png | Bin 111516 -> 0 bytes .../040-ignoring-modules.png| Bin 120475 -> 0 bytes .../050-ignoring-modules-2.png | Bin 17050 -> 0 bytes .../060-ignored-modules.png | Bin 92428 -> 0 bytes .../010-run-configuration.png | Bin 34826 -> 0 bytes .../020-datanucleus-enhancer-goal.png | Bin 8491 -> 0 bytes .../030-running-unit-tests.png | Bin 29351 -> 0 bytes ...040-running-unit-tests-run-configuration.png | Bin 37582 -> 0 bytes ...ning-integration-tests-run-configuration.png | Bin 40655 -> 0 bytes .../010-file-project-structure.png | Bin 19261 -> 0 bytes .../200-project-sdk/020-select-jdk.png | Bin 43375 -> 0 bytes .../030-select-j
[47/58] [abbrv] isis git commit: ISIS-1521: further minor updates to ugfun.adoc
ISIS-1521: further minor updates to ugfun.adoc Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/480d6ff2 Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/480d6ff2 Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/480d6ff2 Branch: refs/heads/wip Commit: 480d6ff24c2a66fc5a31fcb629677016bde0737e Parents: 45db638 Author: Dan Haywood Authored: Fri Apr 14 17:59:07 2017 +0100 Committer: Dan Haywood Committed: Thu Apr 20 09:09:30 2017 +0100 -- .../guides/rgcfg/_rgcfg_configuring-core.adoc | 4 +- .../guides/ugbtb/_ugbtb_hints-and-tips.adoc | 3 + .../_ugbtb_hints-and-tips_are-you-sure.adoc | 76 ...d-tips_simulating-collections-of-values.adoc | 23 ++ ...-and-tips_subclass-properties-in-tables.adoc | 49 +++ .../guides/ugbtb/_ugbtb_view-models.adoc| 1 - .../guides/ugbtb/_ugbtb_view-models_jaxb.adoc | 6 +- .../_ugbtb_view-models_programming-model.adoc | 4 +- .../ugbtb/_ugbtb_view-models_use-cases.adoc | 160 .../guides/ugfun/_ugfun_business-rules.adoc | 89 .../guides/ugfun/_ugfun_class-structure.adoc| 42 ++ .../ugfun/_ugfun_class-structure_actions.adoc | 264 .../_ugfun_class-structure_collections.adoc | 121 ++ .../_ugfun_class-structure_domain-services.adoc | 155 +++ .../_ugfun_class-structure_inject-services.adoc | 103 + ...lass-structure_properties-vs-parameters.adoc | 38 ++ .../_ugfun_class-structure_properties.adoc | 411 +++ .../main/asciidoc/guides/ugfun/_ugfun_crud.adoc | 29 ++ .../ugfun/_ugfun_domain-class-ontology.adoc | 43 ++ ...n_domain-class-ontology_domain-entities.adoc | 86 ...n_domain-class-ontology_domain-services.adoc | 214 ++ ...ugfun_domain-class-ontology_view-models.adoc | 196 + .../ugfun/_ugfun_drop-downs-and-defaults.adoc | 65 +++ .../asciidoc/guides/ugfun/_ugfun_how-tos.adoc | 20 - .../ugfun/_ugfun_how-tos_bulk-actions.adoc | 8 - .../ugfun/_ugfun_how-tos_business-rules.adoc| 72 .../ugfun/_ugfun_how-tos_class-structure.adoc | 41 -- .../_ugfun_how-tos_class-structure_actions.adoc | 264 ...ow-tos_class-structure_class-definition.adoc | 201 - ...fun_how-tos_class-structure_collections.adoc | 99 - ...how-tos_class-structure_inject-services.adoc | 103 - ...lass-structure_properties-vs-parameters.adoc | 38 -- ...gfun_how-tos_class-structure_properties.adoc | 397 -- .../guides/ugfun/_ugfun_how-tos_crud.adoc | 29 -- .../ugfun/_ugfun_how-tos_derived-members.adoc | 48 --- .../ugfun/_ugfun_how-tos_domain-services.adoc | 312 -- .../_ugfun_how-tos_drop-downs-and-defaults.adoc | 65 --- ...how-tos_render-all-properties-in-tables.adoc | 49 --- ...ow-tos_simulating-collections-of-values.adoc | 23 -- .../guides/ugfun/_ugfun_how-tos_ui-hints.adoc | 15 - ...n_how-tos_ui-hints_action-icons-and-css.adoc | 58 --- ..._ugfun_how-tos_ui-hints_eager-rendering.adoc | 58 --- .../ugfun/_ugfun_how-tos_ui-hints_layout.adoc | 9 - ...how-tos_ui-hints_names-and-descriptions.adoc | 47 --- ...ow-tos_ui-hints_object-titles-and-icons.adoc | 97 - .../ugfun/_ugfun_how-tos_ui_are-you-sure.adoc | 76 .../asciidoc/guides/ugfun/_ugfun_ui-hints.adoc | 15 + .../_ugfun_ui-hints_action-icons-and-css.adoc | 58 +++ .../ugfun/_ugfun_ui-hints_eager-rendering.adoc | 58 +++ .../guides/ugfun/_ugfun_ui-hints_layout.adoc| 14 + .../_ugfun_ui-hints_names-and-descriptions.adoc | 47 +++ ..._ugfun_ui-hints_object-titles-and-icons.adoc | 97 + .../src/main/asciidoc/guides/ugfun/ugfun.adoc | 12 +- .../src/main/asciidoc/guides/ugvw/ugvw.adoc | 2 +- .../asciidoc/pages/screencasts/screencasts.adoc | 2 +- .../tg/_tg_stop-scaffolding-start-coding.adoc | 20 +- 56 files changed, 2325 insertions(+), 2311 deletions(-) -- http://git-wip-us.apache.org/repos/asf/isis/blob/480d6ff2/adocs/documentation/src/main/asciidoc/guides/rgcfg/_rgcfg_configuring-core.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/rgcfg/_rgcfg_configuring-core.adoc b/adocs/documentation/src/main/asciidoc/guides/rgcfg/_rgcfg_configuring-core.adoc index c4948a0..4535000 100644 --- a/adocs/documentation/src/main/asciidoc/guides/rgcfg/_rgcfg_configuring-core.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/rgcfg/_rgcfg_configuring-core.adoc @@ -597,14 +597,14 @@ Only intended for "emergency use" as a workaround while pending fix/patch to Apa |regex:css1, regex2:css2,... |Comma separated list of key:value pairs, where the key is a regex matching action names (eg `delete.*`) and the value is a link:http://getbootstrap.com/css/[Bootstrap] C
[21/58] [abbrv] isis git commit: ISIS-1521: working on ugfun.adoc
http://git-wip-us.apache.org/repos/asf/isis/blob/2f2714cc/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_programming-model_mixins.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_programming-model_mixins.adoc b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_programming-model_mixins.adoc new file mode 100644 index 000..1a0a9a3 --- /dev/null +++ b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_programming-model_mixins.adoc @@ -0,0 +1,346 @@ +[[_ugfun_programming-model_mixins]] += Mixins + +: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 agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. +:_basedir: ../../ +:_imagesdir: images/ + + + + +Syntactically, a mixin is defined using either the xref:../rgant/rgant.adoc#_rgant_Mixin[`@Mixin`] annotation or using xref:../rgant/rgant.adoc#_rgant_DomainObject_nature[`@DomainObject#nature()`] attribute (specifying a nature of `Nature.MIXIN`). + + + +[source,java] + +@Mixin(method="coll") // <1> +public class Customer_orders { // <2> + +private final Customer customer; +public Customer_orders(final Customer customer) { // <3> +this.customer = customer; +} + +@Action(semantics=SemanticsOf.SAFE) // <4> +@ActionLayout(contributed=Contributed.AS_ASSOCIATION) // <4> +@CollectionLayout(render=RenderType.EAGERLY) +public List coll() { // <1> +return repositoryService.findOrdersFor(customer); +} + +@Inject +RepositoryService repositoryService; +} + +<1> indicates that this is a mixin, with "coll" as the name of the main method +<2> The contributed member is inferred from the name, after the "_"; in other words "orders" +<3> The mixee is `Customer`. +This could also be an interface. +<4> Indicates that the action should be interpreted as a collection. +This requires that the action has safe semantics, ie does not alter state/no side-effects. + + + + + + + + + + +== Contributed services + +Contributed services provide many of the same benefits as xref:../ugbtb/ugbtb.adoc#_ugbtb_decoupling_mixins[mixins]; +indeed mixins are an evolution and refinement of the contributions concept. + +[WARNING] + +It's possible that contributions may be deprecated and eventually removed in a future version of the framework, to be replaced entirely by mixins. + + +The main difference between contributed services and mixins is that the actions of a contributed service will +contribute to _all_ the parameters of its actions, whereas a mixin only contributes to the type accepted in its +constructor. Also, contributed services are long-lived +singletons, whereas mixins are instantiated as required (by the framework) and then discarded almost immediately. + +[NOTE] + +There's further useful information on contributed services in the reference guide, discussing the xref:../rgant/rgant.adoc#_rgant-DomainService_nature[@DomainService#nature()] attribute, for the `NatureOfService.VIEW_CONTRIBUTIONS_ONLY` nature. + + + +=== Syntax + +Any n-parameter action provided by a service will automatically be contributed to the list of actions for each of its (entity) parameters. From the viewpoint of the entity the action is called a contributed action. + +For example, given a service: + +[source,java] + +public interface Library { +public Loan borrow(Loanable l, Borrower b); +} + + +and the entities: + +[source,java] + +public class Book implements Loanable { ... } + + +and + +[source,java] + +public class LibraryMember implements Borrower { ... } + + +then the `borrow(...)` action will be contributed to both `Book` and to `LibraryMember`. + +This is an important capability because it helps to decouple the concrete classes from the services. + +If necessary, though, this behaviour can be suppressed by annotating the service action with `@org.apache.isis.applib.annotations.NotContributed`. + +For example: + +[source,java] + +public interface Library { +@NotContributed +public Loan borrow(Loanable l, Borrower b); +} + + +If annotated at the interface level, th
[33/58] [abbrv] isis git commit: names and descriptions
names and descriptions Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/4a5e96c8 Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/4a5e96c8 Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/4a5e96c8 Branch: refs/heads/wip Commit: 4a5e96c8e794f8f570bb3c5a1cbd7a38cb711145 Parents: 85b1e70 Author: Dan Haywood Authored: Mon Apr 17 17:56:54 2017 +0100 Committer: Dan Haywood Committed: Thu Apr 20 09:09:30 2017 +0100 -- .../_ugfun_ui-hints_names-and-descriptions.adoc | 48 1 file changed, 30 insertions(+), 18 deletions(-) -- http://git-wip-us.apache.org/repos/asf/isis/blob/4a5e96c8/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_ui-hints_names-and-descriptions.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_ui-hints_names-and-descriptions.adoc b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_ui-hints_names-and-descriptions.adoc index 769ee79..dde8ed0 100644 --- a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_ui-hints_names-and-descriptions.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_ui-hints_names-and-descriptions.adoc @@ -4,37 +4,49 @@ :_basedir: ../../ :_imagesdir: images/ -NOTE: FIXME +The name of classes and class members are usually inferred from the Java source code directly. +For example, an action method called `placeOrder` will be rendered as "Place Order", and a collection called `orderItems` is rendered as "Order Items". +Occasionally though the desired name is not possible; either the name is a Java reserved word (eg "class"), or might require characters that are not valid, for example abbreviations. -NOTE: see also xref:../ugbtb/ugbtb.adoc#_ugbtb_i18n[Internationalization] +In such cases the name can be specified declaratively. -== Class (object) +It is also possible to specify a description declaratively; this is used as a tooltip in the UI. -NOTE: FIXME - xref:../rgant/rgant.adoc#_rgant-DomainObjectLayout_named[`@DomainObjectLayout#named()`], xref:../rgant/rgant.adoc#_rgant-DomainObjectLayout_describedAs[`@DomainObjectLayout#describedAs()`] +The table below summarizes the annotations available: +.Names and descriptions +[cols="1a,1a,1a", options="header"] +|=== -== Property +| Feature +| Named +| Description -NOTE: FIXME - xref:../rgant/rgant.adoc#_rgant-PropertyLayout_named[`@PropertyLayout#named()`], xref:../rgant/rgant.adoc#_rgant-PropertyLayout_describedAs[`@PropertyLayout#describedAs()`] +| Class +| xref:../rgant/rgant.adoc#_rgant-DomainObjectLayout_named[`@DomainObjectLayout#named()`] +| xref:../rgant/rgant.adoc#_rgant-DomainObjectLayout_describedAs[`@DomainObjectLayout#describedAs()`] -== Collections +| Property +| xref:../rgant/rgant.adoc#_rgant-PropertyLayout_named[`@PropertyLayout#named()`] +| xref:../rgant/rgant.adoc#_rgant-PropertyLayout_describedAs[`@PropertyLayout#describedAs()`] -NOTE: FIXME - xref:../rgant/rgant.adoc#_rgant-CollectionLayout_named[`@CollectionLayout#named()`], xref:../rgant/rgant.adoc#_rgant-CollectionLayout_describedAs[`@CollectionLayout#describedAs()`] +| Collection +| xref:../rgant/rgant.adoc#_rgant-CollectionLayout_named[`@CollectionLayout#named()`] +| xref:../rgant/rgant.adoc#_rgant-CollectionLayout_describedAs[`@CollectionLayout#describedAs()`] +| Action +| xref:../rgant/rgant.adoc#_rgant-ActionLayout_named[`@ActionLayout#named()`] +| xref:../rgant/rgant.adoc#_rgant-ActionLayout_describedAs[`@ActionLayout#describedAs()`] +| Action Parameters +| xref:../rgant/rgant.adoc#_rgant-ParameterLayout_named[`@ParameterLayout#named()`] +| xref:../rgant/rgant.adoc#_rgant-ParameterLayout_describedAs[`@ParameterLayout#describedAs()`] -== Actions - -NOTE: FIXME - xref:../rgant/rgant.adoc#_rgant-ActionLayout_named[`@ActionLayout#named()`], xref:../rgant/rgant.adoc#_rgant-ActionLayout_describedAs[`@ActionLayout#describedAs()`] - - -== Action Parameters - -NOTE: FIXME - xref:../rgant/rgant.adoc#_rgant-ParameterLayout_named[`@ParameterLayout#named()`], xref:../rgant/rgant.adoc#_rgant-ParameterLayout_describedAs[`@ParameterLayout#describedAs()`] +|=== [TIP] @@ -43,5 +55,5 @@ If you're running on Java 8, then note that it's possible to write Isis applicat - - +The framework also supports i18n: locale-specific names and descriptions. +for more information, see the xref:../ugbtb/ugbtb.adoc#_ugbtb_i18n[beyond-the-basics] guide.
[35/58] [abbrv] isis git commit: object titles and icons; fixing links
http://git-wip-us.apache.org/repos/asf/isis/blob/85b1e70b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_programming-model_domain-services_scoped-services.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_programming-model_domain-services_scoped-services.adoc b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_programming-model_domain-services_scoped-services.adoc new file mode 100644 index 000..61c48ff --- /dev/null +++ b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_programming-model_domain-services_scoped-services.adoc @@ -0,0 +1,23 @@ +[[_ugfun_programming-model_domain-services_scoped-services]] += Scoped 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 agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. +:_basedir: ../../ +:_imagesdir: images/ + + +By default all domain services are considered to be singletons, and thread-safe. + +Sometimes though a service's lifetime is applicable only to a single request; in other words it is request-scoped. + +The CDI annotation xref:../rgant/rgant.adoc#_rgant-RequestScoped[`@javax.enterprise.context.RequestScoped`] is used to indicate this fact: + +[source,java] + +@javax.enterprise.context.RequestScoped +public class MyService extends AbstractService { +... +} + + +The framework provides a number of request-scoped services, include a xref:../rgsvc/rgsvc.adoc#_rgsvc_api_Scratchpad[`Scratchpad`] service query results caching through the xref:../rgsvc/rgsvc.adoc#_rgsvc_api_QueryResultsCache[`QueryResultsCache`], and support for co-ordinating bulk actions through the xref:../rgsvc/rgsvc.adoc#_rgsvc_api_ActionInvocationContext[`ActionInvocationContext`] service. See the xref:../rgsvc/rgsvc.adoc#[domain services] reference guide for further details. + http://git-wip-us.apache.org/repos/asf/isis/blob/85b1e70b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_programming-model_mixins.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_programming-model_mixins.adoc b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_programming-model_mixins.adoc index 1a0a9a3..d6c3f45 100644 --- a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_programming-model_mixins.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_programming-model_mixins.adoc @@ -6,12 +6,11 @@ :_imagesdir: images/ - +A xref:../ugfun/ugfun.adoc#_ugfun_building-blocks_types-of-domain-objects_mixins[mixin] acts like a trait or extension method, allowing one module to contribute behaviour or derived state to another object. Syntactically, a mixin is defined using either the xref:../rgant/rgant.adoc#_rgant_Mixin[`@Mixin`] annotation or using xref:../rgant/rgant.adoc#_rgant_DomainObject_nature[`@DomainObject#nature()`] attribute (specifying a nature of `Nature.MIXIN`). - [source,java] @Mixin(method="coll") // <1> @@ -41,306 +40,18 @@ This could also be an interface. This requires that the action has safe semantics, ie does not alter state/no side-effects. +include::_ugfun_programming-model_mixins_contributed-collection.adoc[leveloffset=+1] +include::_ugfun_programming-model_mixins_contributed-property.adoc[leveloffset=+1] +include::_ugfun_programming-model_mixins_contributed-action.adoc[leveloffset=+1] +include::_ugfun_programming-model_mixins_inferred-name.adoc[leveloffset=+1] +include::_ugfun_programming-model_mixins_nested-static-classes .adoc[leveloffset=+1] - - - -== Contributed services - -Contributed services provide many of the same benefits as xref:../ugbtb/ugbtb.adoc#_ugbtb_decoupling_mixins[mixins]; -indeed mixins are an evolution and refinement of the contributions concept. - -[WARNING] - -It's possible that contributions may be deprecated and eventually removed in a future version of the framework, to be replaced entirely by mixins. - - -The main difference between contributed services and mixins is that the actions of a contributed service will -contribute to _all_ the parameters of its actions, whereas a mixin only contributes to the type acce
[07/58] [abbrv] isis git commit: ISIS-1521: fixes xref links between guides
http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_CommandContext.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_CommandContext.adoc b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_CommandContext.adoc index 7334b62..e48d0b0 100644 --- a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_CommandContext.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_CommandContext.adoc @@ -6,24 +6,24 @@ -The `CommandContext` service is a xref:rgant.adoc#_rgant-RequestScoped[request-scoped] service that reifies the invocation of an action on a domain object into an object itself. This reified information is encapsulated within the `Command` object. +The `CommandContext` service is a xref:../rgant/rgant.adoc#_rgant-RequestScoped[request-scoped] service that reifies the invocation of an action on a domain object into an object itself. This reified information is encapsulated within the `Command` object. By default, the `Command` is held in-memory only; once the action invocation has completed, the `Command` object is gone. The optional - supporting xref:rgsvc.adoc#_rgsvc_spi_CommandService[`CommandService`] enables the implementation of `Command` to be pluggable. With an appropriate implementation (eg as provided by the (non-ASF) http://github.com/isisaddons/isis-module-command[Isis addons' command] module's xref:rgsvc.adoc#_rgsvc_spi_CommandService[`CommandService`]) the `Command` may then be persisted. + supporting xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_CommandService[`CommandService`] enables the implementation of `Command` to be pluggable. With an appropriate implementation (eg as provided by the (non-ASF) http://github.com/isisaddons/isis-module-command[Isis addons' command] module's xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_CommandService[`CommandService`]) the `Command` may then be persisted. As of `1.13.0`, the primary use case for persistent ``Command``s is in support of background commands; they act as a parent to any background commands that can be persisted either explicitly using the -xref:rgsvc.adoc#_rgsvc_api_BackgroundService[`BackgroundService`], or implicitly by way of the -xref:rgant.adoc#_rgant-Action_command[`@Action#command()`] annotation. +xref:../rgsvc/rgsvc.adoc#_rgsvc_api_BackgroundService[`BackgroundService`], or implicitly by way of the +xref:../rgant/rgant.adoc#_rgant-Action_command[`@Action#command()`] annotation. In previous versions of the framework, persistent ``Command``s also supported a number of other use cases: * they enable profiling of the running application (which actions are invoked then most often, what is their response time) -* if a xref:rgsvc.adoc#_rgsvc_spi_PublisherService[`PublisherService`] or xref:rgsvc.adoc#_rgsvc_spi_PublishingService[`PublishingService`] (the latter now deprecated) is configured, they provide better traceability as the `Command` is also correlated with any published events, again through the unique `transactionId` GUID -* if a xref:rgsvc.adoc#_rgsvc_spi_AuderService[`AuditerService`] or xref:rgsvc.adoc#_rgsvc_spi_AuditService[`AuditingService`] (the latter now deprecated) is configured, they provide better audit information, since the `Command` (the 'cause' of an action) can be correlated to the audit records (the "effect" of the action) through the `transactionId` GUID +* if a xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_PublisherService[`PublisherService`] or xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_PublishingService[`PublishingService`] (the latter now deprecated) is configured, they provide better traceability as the `Command` is also correlated with any published events, again through the unique `transactionId` GUID +* if a xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_AuderService[`AuditerService`] or xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_AuditService[`AuditingService`] (the latter now deprecated) is configured, they provide better audit information, since the `Command` (the 'cause' of an action) can be correlated to the audit records (the "effect" of the action) through the `transactionId` GUID As of `1.13.0`, these other uses cases are now more fully supported through the -xref:rgsvc.adoc#_rgsvc_api_InteractionContext[`InteractionContext`] service and persistent implementations of the ``Interaction`` object, eg as provided by the (non-ASF) +xref:../rgsvc/rgsvc.adoc#_rgsvc_api_InteractionContext[`InteractionContext`] service and persistent implementations of the ``Interaction`` object, eg as provided by the (non-ASF) http://github.com/isisaddons/isis-module-publishmq[Isis addons' publishmq] module. @@ -109,13 +109,13 @@ public interface Command extends HasTransactionId { <16> `getResult()` - bookmark to object returned by action, if any <17> `getException()` - exception stack trace if
[25/58] [abbrv] isis git commit: ISIS-1521: working on ugfun.adoc
ISIS-1521: working on ugfun.adoc Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/2f2714cc Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/2f2714cc Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/2f2714cc Branch: refs/heads/wip Commit: 2f2714cc32230f4304256c07bdd48f99c8b63ab0 Parents: 31534e5 Author: Dan Haywood Authored: Mon Apr 17 11:31:17 2017 +0100 Committer: Dan Haywood Committed: Thu Apr 20 09:09:30 2017 +0100 -- .../src/main/asciidoc/downloads.adoc| 3 +- .../guides/rgcms/_rgcms_schema-common.adoc | 2 +- .../ugbtb/_ugbtb_decoupling_contributions.adoc | 81 +-- .../guides/ugbtb/_ugbtb_decoupling_mixins.adoc | 269 .../guides/ugbtb/_ugbtb_view-models.adoc| 18 - .../guides/ugbtb/_ugbtb_view-models_jaxb.adoc | 415 .../_ugbtb_view-models_programming-model.adoc | 89 --- .../src/main/asciidoc/guides/ugbtb/ugbtb.adoc | 1 - .../ugfun/_ugfun_available-domain-services.adoc | 18 + ...able-domain-services_framework-provided.adoc | 107 ...vailable-domain-services_incode-catalog.adoc | 31 + ...n_available-domain-services_isis-addons.adoc | 41 ++ .../guides/ugfun/_ugfun_building-blocks.adoc| 23 + .../ugfun/_ugfun_building-blocks_events.adoc| 79 +++ .../_ugfun_building-blocks_identifiers.adoc | 14 + .../_ugfun_building-blocks_identifiers_oid.adoc | 47 ++ ...lding-blocks_identifiers_title-and-icon.adoc | 27 + .../ugfun/_ugfun_building-blocks_metamodel.adoc | 32 + .../ugfun/_ugfun_building-blocks_modules.adoc | 15 + .../_ugfun_building-blocks_object-members.adoc | 87 +++ ...building-blocks_types-of-domain-objects.adoc | 35 + ...types-of-domain-objects_domain-entities.adoc | 37 ++ ...types-of-domain-objects_domain-services.adoc | 66 ++ ...g-blocks_types-of-domain-objects_mixins.adoc | 56 ++ ...cks_types-of-domain-objects_view-models.adoc | 162 + .../guides/ugfun/_ugfun_class-structure.adoc| 46 -- .../ugfun/_ugfun_class-structure_actions.adoc | 264 .../_ugfun_class-structure_collections.adoc | 121 .../_ugfun_class-structure_domain-services.adoc | 155 - .../_ugfun_class-structure_inject-services.adoc | 103 --- ...lass-structure_properties-vs-parameters.adoc | 38 -- .../_ugfun_class-structure_properties.adoc | 369 --- .../guides/ugfun/_ugfun_core-concepts.adoc | 6 +- .../ugfun/_ugfun_core-concepts_add-ons.adoc | 54 -- .../_ugfun_core-concepts_apache-isis-vs.adoc| 2 +- ...ache-isis-vs_mvc-server-side-frameworks.adoc | 29 - ...concepts_apache-isis-vs_mvc-server-side.adoc | 29 + .../_ugfun_core-concepts_building-blocks.adoc | 314 - ..._ugfun_core-concepts_deployment-options.adoc | 93 +++ ...re-concepts_framework-provided-services.adoc | 107 ..._core-concepts_other-deployment-options.adoc | 81 --- .../ugfun/_ugfun_domain-class-ontology.adoc | 45 -- ...n_domain-class-ontology_domain-entities.adoc | 86 --- ...n_domain-class-ontology_domain-services.adoc | 229 --- .../_ugfun_domain-class-ontology_mixins.adoc| 56 -- ...ugfun_domain-class-ontology_view-models.adoc | 196 -- .../guides/ugfun/_ugfun_programming-model.adoc | 91 +++ .../ugfun/_ugfun_programming-model_actions.adoc | 264 .../_ugfun_programming-model_collections.adoc | 121 ...ugfun_programming-model_domain-entities.adoc | 89 +++ ...ugfun_programming-model_domain-services.adoc | 383 +++ ...ugfun_programming-model_inject-services.adoc | 103 +++ .../ugfun/_ugfun_programming-model_mixins.adoc | 346 ++ ...gramming-model_properties-vs-parameters.adoc | 38 ++ .../_ugfun_programming-model_properties.adoc| 369 +++ .../_ugfun_programming-model_view-models.adoc | 631 +++ .../building-blocks/types-of-domain-object.png | Bin 30851 -> 0 bytes .../building-blocks/types-of-domain-object.pptx | Bin 64342 -> 0 bytes .../hexagonal-architecture-addons.png | Bin 128533 -> 0 bytes .../action-semantics-are-you-sure.png | Bin 11046 -> 0 bytes .../tips-n-tricks/are-you-sure-happy-case.png | Bin 9993 -> 0 bytes .../tips-n-tricks/are-you-sure-sad-case.png | Bin 10515 -> 0 bytes .../how-tos/tips-n-tricks/are-you-sure.png | Bin 9312 -> 0 bytes .../src/main/asciidoc/guides/ugfun/ugfun.adoc | 9 +- .../guides/ugodn/_ugodn_hints-and-tips.adoc | 1 + ..._ugodn_hints-and-tips_mapping-to-a-view.adoc | 9 + .../_ugvro_simplified-representations.adoc | 366 +-- ...ified-representations_action-invocation.adoc | 128 ...ied-representations_apache-isis-profile.adoc | 38 ++ ...epresentations_configuration-properties.adoc | 2 +- ...implified-representations_domain-object.adoc | 92 +++ ...ified-representations_object-collection.adoc | 82 +++ ...d-representations_other
[17/58] [abbrv] isis git commit: ISIS-1521: more reorganizing of images and also resources for dg.adoc
http://git-wip-us.apache.org/repos/asf/isis/blob/add8cef9/adocs/documentation/src/main/asciidoc/guides/dg/resources/appendices/dev-env/eclipse/isis-templates.xml -- diff --git a/adocs/documentation/src/main/asciidoc/guides/dg/resources/appendices/dev-env/eclipse/isis-templates.xml b/adocs/documentation/src/main/asciidoc/guides/dg/resources/appendices/dev-env/eclipse/isis-templates.xml deleted file mode 100644 index f8ea500..000 --- a/adocs/documentation/src/main/asciidoc/guides/dg/resources/appendices/dev-env/eclipse/isis-templates.xml +++ /dev/null @@ -1,465 +0,0 @@ - - -// {{ ${actionName} (action) -${:import(org.apache.isis.applib.annotation.MemberOrder)}@MemberOrder(sequence="1") -public ${ReturnType} ${actionName}(final ${ParameterType} ${parameterType}) { - return ${cursor}null; // TODO: business logic here -} -// }} - -${:import(java.util.Collections,java.util.List)}public List<${ParameterType}> choices${ParameterNumThenCapitalizedActionName}() { - return ${cursor}Collections.emptyList(); // TODO: return list of choices for argument N -}public ${ParameterType} default${ParameterNumThenCapitalizedActionName}() { - return ${cursor}null; // TODO: return default for argument N -}public String disable${ActionName}() { - return ${cursor}null; // TODO: return reason why action disabled, null if enabled -}public boolean hide${ActionName}() { - return ${cursor}false; // TODO: return true if action is hidden, false if visible -}public String validate${ActionName}(final ${ParameterType} ${parameterType}) { - return ${cursor}null; // TODO: return reason why action arguments are invalid, null if ok -}public void addTo${ChildCollectionName}(final ${ChildElementType} ${childElementName}) { - // check for no-op - if (${childElementName} == null || - get${ChildCollectionName}().contains(${childElementName})) { - return; - } - // dissociate arg from its current parent (if any). - ${childElementName}.clear${ParentPropertyNameInChild}(); - // associate arg - ${childElementName}.set${ParentPropertyNameInChild}(this); - get${ChildCollectionName}().add(${childElementName}); - // additional business logic - onAddTo${ChildCollectionName}(${childElementName}); -} -public void removeFrom${ChildCollectionName}(final ${ChildElementType} ${childElementName}) { - // check for no-op - if (${childElementName} == null || - !get${ChildCollectionName}().contains(${childElementName})) { - return; - } - // dissociate arg - ${childElementName}.set${ParentPropertyNameInChild}(null); - get${ChildCollectionName}().remove(${childElementName}); - // additional business logic - onRemoveFrom${ChildCollectionName}(${childElementName}); -}public void addTo${ParentCollectionName}(final ${ParentElementType} ${parentElementName}) { - // check for no-op - if (${parentElementName} == null || - get${ParentCollectionName}().contains(${parentElementName})) { - return; - } - // delegate to parent to add - ${parentElementName}.addTo${ChildCollectionNameInParent}(this); - // additional business logic - onAddTo${ParentCollectionName}(${parentElementName}); -} -public void removeFrom${ParentCollectionName}(final ${ParentElementType} ${parentElementName}) { - // check for no-op - if (${parentElementName} == null || - !get${ParentCollectionName}().contains(${parentElementName})) { - return; - } - // delegate to parent to remove - ${parentElementName}.removeFrom${ChildCollectionNameInParent}(this); - // additional business logic - onRemoveFrom${ParentCollectionName}(${parentElementName}); -}public void addTo${ChildCollectionName}(final ${ChildElementType} ${childElementName}) { - // check for no-op - if (${childElementName} == null || - get${ChildCollectionName}().contains(${childElementName})) { - return; - } - // dissociate arg from its current parent (if any). - ${childElementName}.removeFrom${ParentCollectionNameInChild}(this); - // associate arg - ${childElementName}.get${ParentCollectionNameInChild}().add(this); - get${ChildCollectionName}().add(${childElementName}); - // additional business logic - onAddTo${ChildCollectionName}(${childElementName}); -} -public void removeFrom${ChildCollectionName}(final ${ChildElementType} ${childElementName}) { - // check for no-op - if (${childElementName} == null || - !get${ChildCollectionName}().contains(${childElementName})) { - return; - } - // dissociate ar
[49/58] [abbrv] isis git commit: completes ugfun.adoc - drop downs chapter
completes ugfun.adoc - drop downs chapter Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/3ce607ac Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/3ce607ac Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/3ce607ac Branch: refs/heads/wip Commit: 3ce607acb48922313db91b5e6af42ea5d908db9d Parents: c1f4647 Author: Dan Haywood Authored: Wed Apr 19 15:49:59 2017 +0100 Committer: Dan Haywood Committed: Thu Apr 20 09:09:31 2017 +0100 -- .../ugfun/_ugfun_drop-downs-and-defaults.adoc | 192 --- 1 file changed, 167 insertions(+), 25 deletions(-) -- http://git-wip-us.apache.org/repos/asf/isis/blob/3ce607ac/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_drop-downs-and-defaults.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_drop-downs-and-defaults.adoc b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_drop-downs-and-defaults.adoc index 44bab58..6b2fef1 100644 --- a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_drop-downs-and-defaults.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_drop-downs-and-defaults.adoc @@ -4,62 +4,204 @@ :_basedir: ../../ :_imagesdir: images/ -NOTE: FIXME +Invoking an action whose parameters are primitives or values (int, date, string etc) is simple: the user can just type in or use a date picker. +Invoking an action with a parameter of reference type (such as `Customer` or `Order`) requires the viewer to provide some mechanism by which the end-user can select the relevant instance. +If the list of available options is fixed then the developer can provided a list a xref:../rgcms/rgcms.adoc#_rgcms_methods_prefixes_choices[`choices...()`] supporting method (for either and action parameter or when editing a property). +These are rendered in a drop-down. -== For Properties +If the list of available options is much larger, then the developer can use an xref:../rgcms/rgcms.adoc#_rgcms_methods_prefixes_autoComplete[`autoComplete...()`] supporting method. +The user user enters a few characters and this is used to search for matching reference(s), again rendered in a drop-down. -NOTE: FIXME +Similarly, when invoking an action, there may well be suitable defaults for the action arguments. +For example, if placing an `Order` then -- even if the `Product` argument might not have a sensible default -- the quantity argument could reasonably be defaulted to 1. +Or, the `Product` might indeed have a default, say the product previously placed by this user. +The developer indicates this using a xref:../rgcms/rgcms.adoc#_rgcms_methods_prefixes_default[`default...()`] supporting method. -### Choices for Property -NOTE: FIXME - xref:../rgcms/rgcms.adoc#_rgcms_methods_prefixes_choices[`choices...()`] +== Choices and Default -### Auto-complete for property +For example, _choices_ for a property are specified using: -NOTE: FIXME - xref:../rgcms/rgcms.adoc#_rgcms_methods_prefixes_autoComplete[`autoComplete...()`] +[source,java] + +@Getter @Setter +private String paymentMethod; -### Default for property +public List choicesPaymentMethod() { +return Arrays.asList("Visa", "Mastercard", "Amex"); +} + -NOTE: FIXME - xref:../rgcms/rgcms.adoc#_rgcms_methods_prefixes_default[`default...()`] +Note the "choices" prefix, while the suffix matches up with the getter. +Or, for an action the _choices_ and a suitable _default_ method would be: +[source,java] + +public Order changePaymentMethod( +@ParameterLayout(named="Payment Method") +String paymentMethod) { +setPaymentMethod(paymentMethod); +return this; +} +public List choices0ChangePaymentMethod() { +return Arrays.asList("Visa", "Mastercard", "Amex"); +} -== For Action Parameters +public String default0ChangePaymentMethod() { +return getPaymentMethod(); +} + -NOTE: FIXME +Note the "choices" and "default" prefix, the digit is the 0-based argument number, while the suffix matches up with the action's name. -### Choices for action parameter -NOTE: FIXME - xref:../rgcms/rgcms.adoc#_rgcms_methods_prefixes_choices[`choices...()`] +== AutoComplete -### Dependent choices for action params +The _autocomplete_ is similar to _choices_, but accepts a string parameter, to search for matching results. +A property for example might have: -NOTE: FIXME - xref:../rgcms/rgcms.adoc#_rgcms_methods_prefixes_choices[`choices...()`] +[source,java] + +@Getter @Setter +private Product product; -### Auto-complete for action param +public List autoCompleteProduct(@MinLength(2) String search) { +return productRepository.findByReferenceOrName(search); +} + -NOTE: FIXME -
[54/58] [abbrv] isis git commit: shortens some headings for ugsec.adoc
shortens some headings for ugsec.adoc Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/e47aa0b0 Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/e47aa0b0 Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/e47aa0b0 Branch: refs/heads/wip Commit: e47aa0b0a963028f139974341f2c299ae9c00ef5 Parents: cf86b15 Author: Dan Haywood Authored: Thu Apr 20 09:03:42 2017 +0100 Committer: Dan Haywood Committed: Thu Apr 20 09:09:31 2017 +0100 -- .../guides/ugsec/_ugsec_configuring-isis-to-use-shiro.adoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/isis/blob/e47aa0b0/adocs/documentation/src/main/asciidoc/guides/ugsec/_ugsec_configuring-isis-to-use-shiro.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugsec/_ugsec_configuring-isis-to-use-shiro.adoc b/adocs/documentation/src/main/asciidoc/guides/ugsec/_ugsec_configuring-isis-to-use-shiro.adoc index f1aa95d..ebaae1d 100644 --- a/adocs/documentation/src/main/asciidoc/guides/ugsec/_ugsec_configuring-isis-to-use-shiro.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/ugsec/_ugsec_configuring-isis-to-use-shiro.adoc @@ -1,5 +1,5 @@ [[_ugsec_configuring-isis-to-use-shiro]] -= Configuring Apache Isis to use Shiro += Configuring to use Shiro :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 agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. :_basedir: ../../ :_imagesdir: images/ @@ -28,7 +28,7 @@ image::{_imagesdir}security/security-apis-impl/configure-isis-to-use-shiro.png[w The figure above doesn't tell the whole story; we haven't yet seen how Shiro itself is configured to use realms. The `ShiroAuthenticatorOrAuthorizor` is in essence the glue between the Apache Isis runtime and Shiro. -== Configuring Isis' Shiro Authenticator +== Configuring Shiro Authenticator The `ShiroAuthenticatorOrAuthorizor` class itself supports a single optional property. This can be configured in `authentication_shiro.properties` file:
[13/58] [abbrv] isis git commit: ISIS-1521: fixes xref links between guides
http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObjectLayout.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObjectLayout.adoc b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObjectLayout.adoc index 2ce1cf5..df4b445 100644 --- a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObjectLayout.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObjectLayout.adoc @@ -11,7 +11,7 @@ The `@DomainObjectLayout` annotation applies to domain classes, collecting toget [NOTE] -For view models that have been annotated with `@ViewModel` the equivalent xref:rgant.adoc#_rgant-ViewModelLayout[`@ViewModelLayout`] can be used. +For view models that have been annotated with `@ViewModel` the equivalent xref:../rgant/rgant.adoc#_rgant-ViewModelLayout[`@ViewModelLayout`] can be used. @@ -26,18 +26,18 @@ The table below summarizes the annotation's attributes. | Description -|xref:rgant.adoc#_rgant-DomainObjectLayout_bookmarking[`bookmarking()`] +|xref:../rgant/rgant.adoc#_rgant-DomainObjectLayout_bookmarking[`bookmarking()`] |`AS_ROOT`, `AS_CHILD`, `NEVER` + (`NEVER`) |whether (and how) this domain object should be automatically bookmarked -|xref:rgant.adoc#_rgant-DomainObjectLayout_cssclass[`cssClass()`] +|xref:../rgant/rgant.adoc#_rgant-DomainObjectLayout_cssclass[`cssClass()`] |Any string valid as a CSS class -|the css class that a domain class (type) should have, to allow more targetted styling in xref:rgcfg.adoc#_rgcfg_application-specific_application-css[`application.css`] +|the css class that a domain class (type) should have, to allow more targetted styling in xref:../rgcfg/rgcfg.adoc#_rgcfg_application-specific_application-css[`application.css`] -|xref:rgant.adoc#_rgant-DomainObjectLayout_cssClassFa[`cssClassFa()`] +|xref:../rgant/rgant.adoc#_rgant-DomainObjectLayout_cssClassFa[`cssClassFa()`] |Any valid link:http://fortawesome.github.io/Font-Awesome/[Font awesome] icon name |specify a font awesome icon for the action's menu link or icon. + @@ -48,41 +48,41 @@ The table below summarizes the annotation's attributes. |Currently unused. -|xref:rgant.adoc#_rgant-DomainObjectLayout_cssClassUiEvent[`cssClassUiEvent()`] +|xref:../rgant/rgant.adoc#_rgant-DomainObjectLayout_cssClassUiEvent[`cssClassUiEvent()`] |subtype of `CssClassUiEvent` + (`CssClassUiEvent.Default`) -|the event type to be posted to the xref:rgsvc.adoc#_rgsvc_api_EventBusService[`EventBusService`] to obtain a CSS class for the domain object. +|the event type to be posted to the xref:../rgsvc/rgsvc.adoc#_rgsvc_api_EventBusService[`EventBusService`] to obtain a CSS class for the domain object. -|xref:rgant.adoc#_rgant-DomainObjectLayout_describedAs[`describedAs()`] +|xref:../rgant/rgant.adoc#_rgant-DomainObjectLayout_describedAs[`describedAs()`] |String. |description of this class, eg to be rendered in a tooltip. -|xref:rgant.adoc#_rgant-DomainObjectLayout_iconUiEvent[`iconUiEvent()`] +|xref:../rgant/rgant.adoc#_rgant-DomainObjectLayout_iconUiEvent[`iconUiEvent()`] |subtype of `IconUiEvent` + (`IconUiEvent.Default`) -|the event type to be posted to the xref:rgsvc.adoc#_rgsvc_api_EventBusService[`EventBusService`] to obtain the icon (name) for the domain object. +|the event type to be posted to the xref:../rgsvc/rgsvc.adoc#_rgsvc_api_EventBusService[`EventBusService`] to obtain the icon (name) for the domain object. -|xref:rgant.adoc#_rgant-DomainObjectLayout_named[`named()`] +|xref:../rgant/rgant.adoc#_rgant-DomainObjectLayout_named[`named()`] |String. |to override the name inferred from the action's name in code. + A typical use case is if the desired name is a reserved Java keyword, such as `default` or `package`. -|xref:rgant.adoc#_rgant-DomainObjectLayout_paged[`paged()`] +|xref:../rgant/rgant.adoc#_rgant-DomainObjectLayout_paged[`paged()`] |Positive integer |the page size for instances of this class when rendered within a table (as returned from an action invocation) -|xref:rgant.adoc#_rgant-DomainObjectLayout_plural[`plural()`] +|xref:../rgant/rgant.adoc#_rgant-DomainObjectLayout_plural[`plural()`] |String. |the plural name of the class -|xref:rgant.adoc#_rgant-DomainObjectLayout_titleUiEvent[`titleUiEvent()`] +|xref:../rgant/rgant.adoc#_rgant-DomainObjectLayout_titleUiEvent[`titleUiEvent()`] |subtype of `TitleUiEvent` + (`TitleUiEvent.Default`) -|the event type to be posted to the xref:rgsvc.adoc#_rgsvc_api_EventBusService[`EventBusService`] to obtain the title for the domain object. +|the event type to be posted to the xref:../rgsvc/rgsvc.adoc#_rgsvc_api_EventBusService[`EventBusService`] to obtain the title for the domain object. |=== http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src
[39/58] [abbrv] isis git commit: ISIS-1521: fixes some bad links between hints-n-tips
ISIS-1521: fixes some bad links between hints-n-tips Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/bef88147 Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/bef88147 Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/bef88147 Branch: refs/heads/wip Commit: bef88147b7200271776fa7cf2f646f04cf8af84a Parents: fcf368f Author: Dan Haywood Authored: Fri Apr 14 16:16:27 2017 +0100 Committer: Dan Haywood Committed: Thu Apr 20 09:09:30 2017 +0100 -- .../src/main/asciidoc/guides/dg/_dg_hints-and-tips.adoc | 2 +- .../src/main/asciidoc/guides/ugbtb/_ugbtb_hints-and-tips.adoc| 2 +- .../src/main/asciidoc/guides/ugodn/_ugodn_hints-and-tips.adoc| 2 +- .../src/main/asciidoc/guides/ugsec/_ugsec_hints-and-tips.adoc| 2 +- .../src/main/asciidoc/guides/ugvro/_ugvro_hints-and-tips.adoc| 2 +- .../src/main/asciidoc/guides/ugvw/_ugvw_hints-and-tips.adoc | 4 ++-- 6 files changed, 7 insertions(+), 7 deletions(-) -- http://git-wip-us.apache.org/repos/asf/isis/blob/bef88147/adocs/documentation/src/main/asciidoc/guides/dg/_dg_hints-and-tips.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/dg/_dg_hints-and-tips.adoc b/adocs/documentation/src/main/asciidoc/guides/dg/_dg_hints-and-tips.adoc index 26253ea..094550e 100644 --- a/adocs/documentation/src/main/asciidoc/guides/dg/_dg_hints-and-tips.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/dg/_dg_hints-and-tips.adoc @@ -16,7 +16,7 @@ See also hints-n-tips chapters in the: * the xref:../ugvro/ugvro.adoc#_ugvro_hints-and-tips[Restful Objects viewer] guide -* the xref:../ugvro/ugodn.adoc#_ugodn_hints-and-tips[Datanucleus ObjectStore] guide +* the xref:../ugodn/ugodn.adoc#_ugodn_hints-and-tips[Datanucleus ObjectStore] guide * the xref:../ugsec/ugsec.adoc#_ugsec_hints-and-tips[Security] guide http://git-wip-us.apache.org/repos/asf/isis/blob/bef88147/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_hints-and-tips.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_hints-and-tips.adoc b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_hints-and-tips.adoc index 589802f..2c78959 100644 --- a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_hints-and-tips.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_hints-and-tips.adoc @@ -16,7 +16,7 @@ See also hints-n-tips chapters in the: * the xref:../ugvro/ugvro.adoc#_ugvro_hints-and-tips[Restful Objects viewer] guide -* the xref:../ugvro/ugodn.adoc#_ugodn_hints-and-tips[Datanucleus ObjectStore] guide +* the xref:../ugodn/ugodn.adoc#_ugodn_hints-and-tips[Datanucleus ObjectStore] guide * the xref:../ugsec/ugsec.adoc#_ugsec_hints-and-tips[Security] guide http://git-wip-us.apache.org/repos/asf/isis/blob/bef88147/adocs/documentation/src/main/asciidoc/guides/ugodn/_ugodn_hints-and-tips.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugodn/_ugodn_hints-and-tips.adoc b/adocs/documentation/src/main/asciidoc/guides/ugodn/_ugodn_hints-and-tips.adoc index 7bb687d..39ca25c 100644 --- a/adocs/documentation/src/main/asciidoc/guides/ugodn/_ugodn_hints-and-tips.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/ugodn/_ugodn_hints-and-tips.adoc @@ -15,7 +15,7 @@ See also hints-n-tips chapters in the: * the xref:../ugvro/ugvro.adoc#_ugvro_hints-and-tips[Restful Objects viewer] guide -* the xref:../ugvro/ugodn.adoc#_ugodn_hints-and-tips[Datanucleus ObjectStore] guide (this chapter) +* the xref:../ugodn/ugodn.adoc#_ugodn_hints-and-tips[Datanucleus ObjectStore] guide (this chapter) * the xref:../ugsec/ugsec.adoc#_ugsec_hints-and-tips[Security] guide http://git-wip-us.apache.org/repos/asf/isis/blob/bef88147/adocs/documentation/src/main/asciidoc/guides/ugsec/_ugsec_hints-and-tips.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugsec/_ugsec_hints-and-tips.adoc b/adocs/documentation/src/main/asciidoc/guides/ugsec/_ugsec_hints-and-tips.adoc index 94eb956..97ccf36 100644 --- a/adocs/documentation/src/main/asciidoc/guides/ugsec/_ugsec_hints-and-tips.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/ugsec/_ugsec_hints-and-tips.adoc @@ -17,7 +17,7 @@ See also hints-n-tips chapters in the: * the xref:../ugvro/ugvro.adoc#_ugvro_hints-and-tips[Restful Objects viewer] guide -* the xref:../ugvro/ugodn.adoc#_ugodn_hints-and-tips[Datanucleus ObjectStore] guide +* the xref:../ugodn/ugodn.adoc#_ugodn_hints-and-tips[Datanucleus ObjectStore] guide * the xref:../ugsec
[14/58] [abbrv] isis git commit: ISIS-1521: fixes xref links between guides
http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ActionLayout.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ActionLayout.adoc b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ActionLayout.adoc index e8ed93a..ef22d3c 100644 --- a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ActionLayout.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ActionLayout.adoc @@ -18,28 +18,28 @@ The table below summarizes the annotation's attributes. | Description -|xref:rgant.adoc#_rgant-ActionLayout_bookmarking[`bookmarking()`] +|xref:../rgant/rgant.adoc#_rgant-ActionLayout_bookmarking[`bookmarking()`] |`AS_ROOT`, `NEVER` + (`NEVER`) -|indicates if an action (with safe xref:rgant.adoc#_rgant-Action_semantics[action semantics]) is automatically bookmarked. +|indicates if an action (with safe xref:../rgant/rgant.adoc#_rgant-Action_semantics[action semantics]) is automatically bookmarked. -|xref:rgant.adoc#_rgant-ActionLayout_contributedAs[`contributedAs()`] +|xref:../rgant/rgant.adoc#_rgant-ActionLayout_contributedAs[`contributedAs()`] |`AS_BOTH`, `AS_ACTION`, `AS_ASSOCIATION`, `AS_NEITHER` + (`AS_BOTH`) |for a domain service action that can be contributed, whether to contribute as an action or as an association (ie a property or collection). + -For a domain service action to be contributed, the domain services must have a xref:rgant.adoc#_rgant-DomainService_nature[nature] nature of either `VIEW` or `VIEW_CONTRIBUTIONS_ONLY`, and the action must have xref:rgant.adoc#_rgant-Action_semantics[safe action semantics], and takes a single argument, namely the contributee domain object. +For a domain service action to be contributed, the domain services must have a xref:../rgant/rgant.adoc#_rgant-DomainService_nature[nature] nature of either `VIEW` or `VIEW_CONTRIBUTIONS_ONLY`, and the action must have xref:../rgant/rgant.adoc#_rgant-Action_semantics[safe action semantics], and takes a single argument, namely the contributee domain object. -|xref:rgant.adoc#_rgant-ActionLayout_cssClass[`cssClass()`] +|xref:../rgant/rgant.adoc#_rgant-ActionLayout_cssClass[`cssClass()`] |Any string valid as a CSS class -|an additional CSS class around the HTML that represents for the action, to allow targetted styling in xref:rgcfg.adoc#_rgcfg_application-specific_application-css[`application.css`]. + +|an additional CSS class around the HTML that represents for the action, to allow targetted styling in xref:../rgcfg/rgcfg.adoc#_rgcfg_application-specific_application-css[`application.css`]. + Supported by the xref:ugvw.adoc#[Wicket viewer] but currently ignored by the xref:ugvro.adoc#[RestfulObjects viewer]. -|xref:rgant.adoc#_rgant-ActionLayout_cssClassFa[`cssClassFa()`] +|xref:../rgant/rgant.adoc#_rgant-ActionLayout_cssClassFa[`cssClassFa()`] |Any valid link:http://fortawesome.github.io/Font-Awesome/[Font awesome] icon name |specify a font awesome icon for the action's menu link or icon. + @@ -50,26 +50,26 @@ Supported by the xref:ugvw.adoc#[Wicket viewer] but currently ignored by the xre |Positioning of the icon on the button/menu item. -|xref:rgant.adoc#_rgant-ActionLayout_describedAs[`describedAs()`] +|xref:../rgant/rgant.adoc#_rgant-ActionLayout_describedAs[`describedAs()`] |String. |provides a short description of the action, eg for rendering as a 'tool tip'. -|xref:rgant.adoc#_rgant-ActionLayout_hidden[`hidden()`] +|xref:../rgant/rgant.adoc#_rgant-ActionLayout_hidden[`hidden()`] |`EVERYWHERE`, `NOWHERE` + (`NOWHERE`) |indicates where (in the UI) the action should be hidden from the user. -|xref:rgant.adoc#_rgant-ActionLayout_named[`named()`] +|xref:../rgant/rgant.adoc#_rgant-ActionLayout_named[`named()`] |String. |to override the name inferred from the action's name in code. + A typical use case is if the desired name is a reserved Java keyword, such as `default` or `package`. -|xref:rgant.adoc#_rgant-ActionLayout_position[`position()`] +|xref:../rgant/rgant.adoc#_rgant-ActionLayout_position[`position()`] |`BELOW`, `RIGHT`, `PANEL`, `PANEL_DROPDOWN` (`BELOW`) -|for actions associated (using xref:rgant.adoc#_rgant-MemberOrder[`@MemberOrder#named()`]) with properties, the positioning of the action's button with respect to the property +|for actions associated (using xref:../rgant/rgant.adoc#_rgant-MemberOrder[`@MemberOrder#named()`]) with properties, the positioning of the action's button with respect to the property |=== http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ActionLayout_bookmarking.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ActionLayout_bookmarking.adoc b/adocs/docu
[33/34] isis-site git commit: ISIS-1521: ugfun.adoc and FIXMEs
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/elasticlunr/index.json -- diff --git a/content/elasticlunr/index.json b/content/elasticlunr/index.json index 35e5c10..c25db06 100644 --- a/content/elasticlunr/index.json +++ b/content/elasticlunr/index.json @@ -1 +1 @@ -{"version":"0.9.5","fields":["title","body","description","url"],"ref":"id","documentStore":{"docs":{"2409349":{"title":"Action Parameters","url":"guides/ugfun/ugfun.html#_action_parameters","body":"Action Parameters ","description":"","id":2409349},"2646929":{"title":"Apache Isis vs â¦â","url":"guides/ugfun/ugfun.html#_ugfun_core-concepts_apache-isis-vs","body":"Apache Isis vs â¦â Many other frameworks promise rapid application development and provide automatically generated user interfaces, so how do they compare to Apache Isis? ","description":" Many other frameworks promise rapid application development and provide automatically generated user interfaces, so how do they compare to Apache Isis? ","id":2646929},"2909574":{"title":"created()","url":"guides/rgcms/rgcms.html#_rgcms_methods_reserved_created","body":"created() The created() lifecycle callback method is called when an object has just been created using newTransientInstance() ","description":" The created() lifec ycle callback method is called when an object has just been created using newTransientInstance() ","id":2909574},"3836440":{"title":"Running","url":"guides/dg/dg.html#__dg_ide_intellij_running","body":"Running Letâs see how to run both the app and the tests. ","description":" Letâs see how to run both the app and the tests. ","id":3836440},"11600575":{"title":"Using Contributions","url":"pages/tg/tg.html#_using_contributions","body":"Using Contributions One of Apache Isis' most powerful features is the ability for the UI to combine functionality from domain services into the representation of an entity. The effect is similar to traits or mix-ins in other languages, however the \"mixing in\" is done at runtime, within the Apache Isis metamodel. In Apache Isis' terminology, we say that the domain service action is contributed to the entity. Any action of a domain service that has a domain entity type as one of its parameter types will (by default) be contributed. If the service action takes more than one argument, or does not have safe semantics, then it will be contributed as an entity action. If the service action has precisely one parameter type (that of the entity) and has safe semantics then it will be contributed either as a collection or as a property (dependent on whether it returns a collection of a scalar). Why are contributions so useful? Because the service action will match not on the entity type, but also on any of the entityâs supertypes (all the way up to java.lang.Object). That means that you can apply the dependency inversion principle to ensure that the modules of your application have acyclic dependencies; but in the UI it can still appear as if there are bidirectional dependencies between those modules. The lack of bidirectional dependencies can help save your app degrading into a big ball of mud. Finally, note that the layout of contributed actions/collections/properties can be specified using the .layout.json file (and it is hig hly recommended that you do so). ","description":" One of Apache Isis' most powerful features is the ability for the UI to combine functionality from domain services into the representation of an entity. The effect is similar to traits or mix-ins in other languages, however the \"mixing in\" is done at runtime, within the Apache Isis metamodel","id":11600575},"12649581":{"title":"Mark the version as released","url":"guides/cgcom/cgcom.html#_mark_the_version_as_released","body":"Mark the version as released In JIRA, go to the administration section for the Apache Isis project and update the version as being released. In the Kanban view this will have the effect of marking all tickets as released (clearing the \"done\" column). ","description":" In JIRA, go to the administration section for the Apache Isis project and update the version as being released. ","id":12649581},"13573617":{"title":"hideâ¦â()","url":"guides/rgcms/rgcms.html#_rgcms_methods_prefixes_hide","body":"hideâ¦â () The hideâ¦â() supporting method is called for properties, collections and actions. It allows the property/collection to be completely hidden from view. Itâs comparatively rare for properties or collections to be imperatively hidden from view, but actions are sometimes hidden or shown visible (as opposed to being just disabled, ie greyed out). The signature of the supporting method is simply: Returning true will hide the property, collection or action, returning false leaves it visible. For example, to hide an action: Or, to hide a property: ","description":" The hi
[20/34] isis-site git commit: ISIS-1521: ugfun.adoc and FIXMEs
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/rgsvc/rgsvc.html -- diff --git a/content/guides/rgsvc/rgsvc.html b/content/guides/rgsvc/rgsvc.html index 5653e86..a59509d 100644 --- a/content/guides/rgsvc/rgsvc.html +++ b/content/guides/rgsvc/rgsvc.html @@ -439,7 +439,7 @@ - A small number of domain services can be considered both API and SPI; a good example is the EmailService that is of direct use for domain objects wishing to send out emails, but is also used by the framework to support the user registration functionality supported by the Wicket viewer. The same is true of the EventBusService; this can be used by domain objects to broadcast arbitrary events, but is also used by the framework to automatically emit events for @Action#domainEvent() etc. + A small number of domain services can be considered both API and SPI; a good example is the EmailService that is of direct use for domain objects wishing to send out emails, but is also used by the framework to support the user registration functionality supported by the Wicket viewer. The same is true of the EventBusService; this can be used by domain objects to broadcast arbitrary events, but is also used by the framework to automatically emit events for @Action#domainEvent() etc. For these hybrid services we have categorized the service as an "API" service. This chapter therefore contains only the strictly SPI services. @@ -454,7 +454,7 @@ The vast majority of Apache Isis' domain services are defined in Apache Isis' applib (o.a.i.core:isis-core-applib module) as stable, public classes. Importantly, this also minimizes the coupling between your code and Apache Isis, allowing you to easily mock out these services in your unit tests. - The framework also defines a number of "internal" services. These are not part of the frameworkâs formal API, in that they use classes that are outside of the applib. These internal framework services should be thought of as part of the internal design of the framework, and are liable to change from release to release. The internal framework services are documented in the Framework Internal Services guide. + The framework also defines a number of "internal" services. These are not part of the frameworkâs formal API, in that they use classes that are outside of the applib. These internal framework services should be thought of as part of the internal design of the framework, and are liable to change from release to release. The internal framework services are documented in the Framework Internal Services guide. @@ -497,10 +497,10 @@ For objects that are already persisted, the service is automatically injected just after the object is rehydrated by JDO/DataNucleus. - For transient objects (instantiated programmatically), the FactoryService's instantiate() method (or the deprecated DomainObjectContainer's newTransientInstance() method) will automatically inject the services. + For transient objects (instantiated programmatically), the FactoryService's instantiate() method (or the deprecated DomainObjectContainer's newTransientInstance() method) will automatically inject the services. - Alternatively the object can be instantiated simply using new, then services injected using ServiceRegistry's injectServicesInto(â¦â) method (or the deprecated DomainObjectContainer's injectServicesInto(â¦â) method). + Alternatively the object can be instantiated simply using new, then services injected using ServiceRegistry's injectServicesInto(â¦â) method (or the deprecated DomainObjectContainer's injectServicesInto(â¦â) method). @@ -509,7 +509,7 @@ The framework provides default implementations for many of the domain services. This is convenient, but sometimes you will want to replace the default implementation with your own service implementation. - The trick is to use the @DomainServiceLayout#menuOrder() attribute, specifying a low number (typically "1"). + The trick is to use the @DomainServiceLayout#menuOrder() attribute, specifying a low number (typically "1"). @@ -518,14 +518,14 @@ - For a small number of domain services, all implementations are used (following the chain-of-responsibility pattern), not just the first one. The services in question are: ContentMappingService, GridSystemService, and RoutingService. + For a small number of domain services, all implementations are used (following the chain-of-responsibility pattern), not
[10/34] isis-site git commit: ISIS-1521: ugfun.adoc and FIXMEs
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugsec/ugsec.html -- diff --git a/content/guides/ugsec/ugsec.html b/content/guides/ugsec/ugsec.html index 586504a..6ff1b70 100644 --- a/content/guides/ugsec/ugsec.html +++ b/content/guides/ugsec/ugsec.html @@ -439,7 +439,7 @@ Isis provides an API for both authentication and authorization, and provides an implementation that integrates with http://shiro.apache.org";>Apache Shiro. Shiro in turn uses the concept of a realm as a source for both authentication and optionally authorization. - Shiro ships with a simple text-based realmâââthe IniRealmâââwhich reads users (and password), user roles and role permissions from the WEB-INF/shiro.ini file. The SimpleApp archetype is configured to use this realm. + Shiro ships with a simple text-based realmâââthe IniRealmâââwhich reads users (and password), user roles and role permissions from the WEB-INF/shiro.ini file. The SimpleApp archetype is configured to use this realm. Shiro also ships with an implementation of an LDAP-based realm; LDAP is often used to manage user/passwords and corresponding user groups. Apache Isis in turn extends this with its IsisLdapRealm, which provides more flexibility for both group/role and role/permissions management. @@ -463,10 +463,10 @@ A further aspect of security is auditing: recording what data was modified by which user. - Apache Isis provides the InteractionContext can be used to track the actions being invoked, and the AuditerService captures what data was modified as a result (auditing). When Interactions are persisted (eg by way of (non-ASF) http://github.com/isisaddons/isis-module-publishmq";>Isis addons' publishmq module) this provides excellent traceability. The (non-ASF) http://github.com/isisaddons/isis-module-audit";>Isis addons' audit module provides an implementation of the AuditerService. + Apache Isis provides the InteractionContext can be used to track the actions being invoked, and the AuditerService captures what data was modified as a result (auditing). When Interactions are persisted (eg by way of (non-ASF) http://github.com/isisaddons/isis-module-publishmq";>Isis addons' publishmq module) this provides excellent traceability. The (non-ASF) http://github.com/isisaddons/isis-module-audit";>Isis addons' audit module provides an implementation of the AuditerService. - For earlier versions of the framework the CommandService can be used to capture actions, while the (deprecated) AuditingService used to capture data modified. + For earlier versions of the framework the CommandService can be used to capture actions, while the (deprecated) AuditingService used to capture data modified. @@ -476,7 +476,7 @@ - 2. Configuring Apache Isis to use Shiro + 2. Configuring to use Shiro https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugsec/_ugsec_configuring-isis-to-use-shiro.adoc""; style="float: right; font-size: small; padding: 6px; margin-top: -55px; "> Edit @@ -489,7 +489,7 @@ - The SimpleApp archetype is pre-configured to use Apache Shiro, so much of what follows is set up already. + The SimpleApp archetype is pre-configured to use Apache Shiro, so much of what follows is set up already. @@ -519,7 +519,7 @@ isis.authorization=shiro -2.2. Configuring Isis' Shiro Authenticator +2.2. Configuring Shiro Authenticator The ShiroAuthenticatorOrAuthorizor class itself supports a single optional property. This can be configured in authentication_shiro.properties file: @@ -529,7 +529,7 @@ isis.authorization=shiro - This configuration property only comes into effect for the Restful Objects viewer; if set then the Shiro subject - if found to be still authenticated - will be logged out anyway and then re-authenticated. + This configuration property only comes into effect for the Restful Objects viewer; if set then the Shiro subject - if found to be still authenticated - will be logged out anyway and then re-authenticated. @@ -597,81 +597,84 @@ isis.authorization=shiro - 3. Shiro Ini Realm - https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugsec/_ugsec_shiro-ini-realm.adoc""; style="float: right; font-size: small; padding: 6
[24/34] isis-site git commit: ISIS-1521: ugfun.adoc and FIXMEs
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/rgcms/rgcms.html -- diff --git a/content/guides/rgcms/rgcms.html b/content/guides/rgcms/rgcms.html index 302daca..a71a277 100644 --- a/content/guides/rgcms/rgcms.html +++ b/content/guides/rgcms/rgcms.html @@ -378,10 +378,10 @@ https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms.adoc""; style="float: right; font-size: small; padding: 6px; margin-top: -55px; "> Edit -This reference guide lists and describes various elements of the the Apache Isis Programming Model, specifically reserved and prefix methods (such as title() and validateâ¦â()) and various utility and supporting classes. +This reference guide lists and describes various elements of the the Apache Isis Programming Model, specifically reserved and prefix methods (such as title() and validateâ¦â()) and various utility and supporting classes. -It also describes the XSD schema defined by Apache Isis. One use case is for the JAXB serialization of view models. +It also describes the XSD schema defined by Apache Isis. One use case is for the JAXB serialization of view models. 1.1. Other Guides @@ -432,7 +432,7 @@ https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_methods.adoc""; style="float: right; font-size: small; padding: 6px; margin-top: -55px; "> Edit -The Apache Isis metamodel is built up from declaratively (ie, annotations) and imperatively, from "supporting" methods and other reserved methods. +The Apache Isis metamodel is built up from declaratively (ie, annotations) and imperatively, from "supporting" methods and other reserved methods. This chapter documents the supporting methods and the reserved methods. It also documents (separately) the reserved methods that act as callback hooks into the persistence lifecycle of domain entities. @@ -491,7 +491,7 @@ - addToâ¦â() + addToâ¦â() Y @@ -509,19 +509,19 @@ - Directly mutable collections are not currently supported by the Wicket viewer. + Directly mutable collections are not currently supported by the Wicket viewer. - See also removeFromâ¦â()` + See also removeFromâ¦â()` - autoCompleteâ¦â() + autoCompleteâ¦â() Y @@ -533,15 +533,15 @@ Return a list of matching elements for a property or an action parameter. - Alternatively, can specify for a class using @DomainObject #autoCompleteRepository + Alternatively, can specify for a class using @DomainObject #autoCompleteRepository - See also choicesâ¦â() + See also choicesâ¦â() - choicesâ¦â() + choicesâ¦â() Y @@ -553,12 +553,12 @@ Provide list of choices for a property or action parameter. - See also autoCompleteâ¦â(). + See also autoCompleteâ¦â(). - clearâ¦â() + clearâ¦â() Y @@ -573,12 +573,12 @@ Allows business logic to be placed apart from the setter. - See also modifyâ¦â() + See also modifyâ¦â() - defaultâ¦â() + defaultâ¦â() Y @@ -592,7 +592,7 @@ - disableâ¦â() + disableâ¦â() Y Y Y @@ -606,7 +606,7 @@ - getâ¦â() + getâ¦â() Y Y @@ -618,12 +618,12 @@ Access the value of a property or collection. - See also setâ¦â(). + See also setâ¦â(). - hideâ¦â() + hideâ¦â()
[21/34] isis-site git commit: ISIS-1521: ugfun.adoc and FIXMEs
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/rgfis/rgfis.pdf -- diff --git a/content/guides/rgfis/rgfis.pdf b/content/guides/rgfis/rgfis.pdf index f1e24f8..3e1c3dc 100644 --- a/content/guides/rgfis/rgfis.pdf +++ b/content/guides/rgfis/rgfis.pdf @@ -4,8 +4,8 @@ << /Title (Framework Internal Services) /Creator (Asciidoctor PDF 1.5.0.alpha.11, based on Prawn 1.3.0) /Producer (Asciidoctor PDF 1.5.0.alpha.11, based on Prawn 1.3.0) -/CreationDate (D:20170411195412+01'00') -/ModDate (D:20170411195412+01'00') +/CreationDate (D:20170420093230+01'00') +/ModDate (D:20170420093230+01'00') >> endobj 2 0 obj @@ -3286,7 +3286,10 @@ endobj endobj 41 0 obj << /Border [0 0 0] -/Dest (_rgfis_spi_ContentNegotiationService) +/A << /Type /Action +/S /URI +/URI (../rgfis/rgfis.pdf#_rgfis_spi_ContentNegotiationService) +>> /Subtype /Link /Rect [51.24 587.71301 108.990001 598.21301] /Type /Annot @@ -3294,7 +3297,10 @@ endobj endobj 42 0 obj << /Border [0 0 0] -/Dest (_rgfis_spi_ContentNegotiationService) +/A << /Type /Action +/S /URI +/URI (../rgfis/rgfis.pdf#_rgfis_spi_ContentNegotiationService) +>> /Subtype /Link /Rect [51.24 571.837 51.24 586.11701] /Type /Annot @@ -3302,7 +3308,10 @@ endobj endobj 43 0 obj << /Border [0 0 0] -/Dest (_rgfis_spi_ContentNegotiationService) +/A << /Type /Action +/S /URI +/URI (../rgfis/rgfis.pdf#_rgfis_spi_ContentNegotiationService) +>> /Subtype /Link /Rect [51.24 573.433 182.49 583.933] /Type /Annot @@ -3310,7 +3319,10 @@ endobj endobj 44 0 obj << /Border [0 0 0] -/Dest (_rgfis_spi_ContentNegotiationService) +/A << /Type /Action +/S /URI +/URI (../rgfis/rgfis.pdf#_rgfis_spi_ContentNegotiationService) +>> /Subtype /Link /Rect [51.24 557.557 51.24 571.837] /Type /Annot @@ -3318,7 +3330,10 @@ endobj endobj 45 0 obj << /Border [0 0 0] -/Dest (_rgfis_spi_ContentNegotiationService) +/A << /Type /Action +/S /URI +/URI (../rgfis/rgfis.pdf#_rgfis_spi_ContentNegotiationService) +>> /Subtype /Link /Rect [51.24 559.153 182.49 569.653] /Type /Annot @@ -3328,7 +3343,7 @@ endobj << /Border [0 0 0] /A << /Type /Action /S /URI -/URI (rgsvc.pdf#_rgsvc_spi_ContentMappingService) +/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_ContentMappingService) >> /Subtype /Link /Rect [200.88 559.153 311.13 569.653] @@ -3337,7 +3352,10 @@ endobj endobj 47 0 obj << /Border [0 0 0] -/Dest (_rgfis_spi_RepresentationService) +/A << /Type /Action +/S /URI +/URI (../rgfis/rgfis.pdf#_rgfis_spi_RepresentationService) +>> /Subtype /Link /Rect [51.24 487.258015 108.990001 497.758015] /Type /Annot @@ -3345,7 +3363,10 @@ endobj endobj 48 0 obj << /Border [0 0 0] -/Dest (_rgfis_spi_RepresentationService) +/A << /Type /Action +/S /URI +/URI (../rgfis/rgfis.pdf#_rgfis_spi_RepresentationService) +>> /Subtype /Link /Rect [51.24 471.38201 51.24 485.662015] /Type /Annot @@ -3353,7 +3374,10 @@ endobj endobj 49 0 obj << /Border [0 0 0] -/Dest (_rgfis_spi_RepresentationService) +/A << /Type /Action +/S /URI +/URI (../rgfis/rgfis.pdf#_rgfis_spi_RepresentationService) +>> /Subtype /Link /Rect [51.24 472.97801 145.74 483.47801] /Type /Annot @@ -3361,7 +3385,10 @@ endobj endobj 50 0 obj << /Border [0 0 0] -/Dest (_rgfis_spi_RepresentationService) +/A << /Type /Action +/S /URI +/URI (../rgfis/rgfis.pdf#_rgfis_spi_RepresentationService) +>> /Subtype /Link /Rect [51.24 457.10201 51.24 471.38201] /Type /Annot @@ -3369,7 +3396,10 @@ endobj endobj 51 0 obj << /Border [0 0 0] -/Dest (_rgfis_spi_RepresentationService) +/A << /Type /Action +/S /URI +/URI (../rgfis/rgfis.pdf#_rgfis_spi_RepresentationService) +>> /Subtype /Link /Rect [51.24 458.69801 161.49 469.19801] /Type /Annot @@ -3377,7 +3407,10 @@ endobj endobj 52 0 obj << /Border [0 0 0] -/Dest (_rgfis_spi_ContentNegotiationService) +/A << /Type /Action +/S /URI +/URI (../rgfis/rgfis.pdf#_rgfis_spi_ContentNegotiationService) +>> /Subtype /Link /Rect [200.88 444.41801 332.13 454.91801] /Type /Annot @@ -3390,7 +3423,7 @@ endobj << /Border [0 0 0] /A << /Type /Action /S /URI -/URI (ugvro.pdf) +/URI (../ugvro/ugvro.pdf) >> /Subtype /Link /Rect [354.40715384615385 194.230025 466.56392307692306 208.510025] @@ -4225,7 +4258,7 @@ endobj << /Border [0 0 0] /A << /Type /Action /S /URI -/URI (ugbtb.pdf#_ugbtb_view-models) +/URI (../ugfun/ugfun.pdf#_ugfun_building-blocks_types-of-domain-objects_view-models) >> /Subtype /Link /Rect [485.52697587316175 704.49 544.415 718.77001] @@ -4236,7 +4269,7 @@ endobj << /Border [0 0 0] /A << /Type /Action /S /URI -/URI (ugbtb.pdf#_ugbtb_other-techniques_mapping-rdbms-views) +/URI (../ugodn/ugodn.pdf#_ugodn_jdo-mappings_mapping-to-a-view) >> /Subtype /Link /Rect [160.876502 601.59001 226.491004 615.87002] @@
[19/34] isis-site git commit: ISIS-1521: ugfun.adoc and FIXMEs
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/rgsvc/rgsvc.pdf -- diff --git a/content/guides/rgsvc/rgsvc.pdf b/content/guides/rgsvc/rgsvc.pdf index fc31f0c..c92a1d5 100644 --- a/content/guides/rgsvc/rgsvc.pdf +++ b/content/guides/rgsvc/rgsvc.pdf @@ -4,8 +4,8 @@ << /Title (Domain Services) /Creator (Asciidoctor PDF 1.5.0.alpha.11, based on Prawn 1.3.0) /Producer (Asciidoctor PDF 1.5.0.alpha.11, based on Prawn 1.3.0) -/CreationDate (D:20170411195422+01'00') -/ModDate (D:20170411195422+01'00') +/CreationDate (D:20170420093241+01'00') +/ModDate (D:20170420093241+01'00') >> endobj 2 0 obj @@ -5529,7 +5529,10 @@ endobj endobj 44 0 obj << /Border [0 0 0] -/Dest (_rgsvc_api_EmailService) +/A << /Type /Action +/S /URI +/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_EmailService) +>> /Subtype /Link /Rect [48.24 254.10483720930245 111.240001 264.60483720930245] /Type /Annot @@ -5539,7 +5542,7 @@ endobj << /Border [0 0 0] /A << /Type /Action /S /URI -/URI (ugvw.pdf#_ugvw_features_user-registration) +/URI (../ugvw/ugvw.pdf#_ugvw_features_user-registration) >> /Subtype /Link /Rect [200.83223502604167 236.72883720930244 284.43641796875 251.00883720930244] @@ -5550,7 +5553,7 @@ endobj << /Border [0 0 0] /A << /Type /Action /S /URI -/URI (ugvw.pdf) +/URI (../ugvw/ugvw.pdf) >> /Subtype /Link /Rect [443.75915299479163 236.72883720930244 516.2858359375 251.00883720930244] @@ -5559,7 +5562,10 @@ endobj endobj 47 0 obj << /Border [0 0 0] -/Dest (_rgsvc_api_EventBusService) +/A << /Type /Action +/S /URI +/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_EventBusService) +>> /Subtype /Link /Rect [153.94630338541666 222.54483720930244 232.69630338541668 233.04483720930244] /Type /Annot @@ -5569,7 +5575,7 @@ endobj << /Border [0 0 0] /A << /Type /Action /S /URI -/URI (rgant.pdf#_rgant-Action_domainEvent) +/URI (../rgant/rgant.pdf#_rgant-Action_domainEvent) >> /Subtype /Link /Rect [436.789996 206.76483720930244 547.04 217.26483720930244] @@ -7529,7 +7535,7 @@ endobj << /Border [0 0 0] /A << /Type /Action /S /URI -/URI (rgfis.pdf) +/URI (../rgfis/rgfis.pdf) >> /Subtype /Link /Rect [48.24 617.33999 194.231794921875 631.62] @@ -7552,7 +7558,10 @@ endobj endobj 55 0 obj << /Border [0 0 0] -/Dest (_rgsvc_api_FactoryService) +/A << /Type /Action +/S /URI +/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_FactoryService) +>> /Subtype /Link /Rect [350.12866992187503 158.256009 423.62866992187503 168.756009] /Type /Annot @@ -7560,7 +7569,10 @@ endobj endobj 56 0 obj << /Border [0 0 0] -/Dest (_rgsvc_api_DomainObjectContainer) +/A << /Type /Action +/S /URI +/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_DomainObjectContainer) +>> /Subtype /Link /Rect [143.044875 142.476008 253.294875 152.976008] /Type /Annot @@ -7568,7 +7580,10 @@ endobj endobj 57 0 obj << /Border [0 0 0] -/Dest (_rgsvc_api_ServiceRegistry) +/A << /Type /Action +/S /URI +/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_ServiceRegistry) +>> /Subtype /Link /Rect [48.235 83.136008 126.99 93.636008] /Type /Annot @@ -7587,7 +7602,10 @@ endobj endobj 59 0 obj << /Border [0 0 0] -/Dest (_rgsvc_api_DomainObjectContainer) +/A << /Type /Action +/S /URI +/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_DomainObjectContainer) +>> /Subtype /Link /Rect [429.7445 83.136008 539.9945 93.636008] /Type /Annot @@ -8715,7 +8733,7 @@ endobj << /Border [0 0 0] /A << /Type /Action /S /URI -/URI (rgant.pdf#_rgant-DomainServiceLayout_menuOrder) +/URI (../rgant/rgant.pdf#_rgant-DomainServiceLayout_menuOrder) >> /Subtype /Link /Rect [182.4505909090909 697.83599 350.4505909090909 708.33599] @@ -8735,7 +8753,10 @@ endobj endobj 65 0 obj << /Border [0 0 0] -/Dest (_rgsvc_spi_ContentMappingService) +/A << /Type /Action +/S /URI +/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_ContentMappingService) +>> /Subtype /Link /Rect [194.035666 618.716 304.285666 629.216] /Type /Annot @@ -8743,7 +8764,10 @@ endobj endobj 66 0 obj << /Border [0 0 0] -/Dest (_rgsvc_spi_GridSystemService) +/A << /Type /Action +/S /URI +/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_GridSystemService) +>> /Subtype /Link /Rect [309.63017 618.716 398.880164 629.216] /Type /Annot @@ -8751,7 +8775,10 @@ endobj endobj 67 0 obj << /Border [0 0 0] -/Dest (_rgsvc_spi_RoutingService) +/A << /Type /Action +/S /URI +/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_RoutingService) +>> /Subtype /Link /Rect [426.05416 618.716 499.55416 629.216] /Type /Annot @@ -8759,7 +8786,10 @@ endobj endobj 68 0 obj << /Border [0 0 0] -/Dest (_rgsvc_api_LocaleProvider) +/A << /Type /Action +/S /URI +/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_LocaleProvider) +>> /Subtype /Link /Rect [431.76162920673073 586.93599 505.26162920673073 597.43599] /Type /Annot @@ -10547,7 +10577,10 @@ endobj endobj 73 0 obj << /B
[15/34] isis-site git commit: ISIS-1521: ugfun.adoc and FIXMEs
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugfun/images/core-concepts/philosophy/hexagonal-architecture-addons.png -- diff --git a/content/guides/ugfun/images/core-concepts/philosophy/hexagonal-architecture-addons.png b/content/guides/ugfun/images/core-concepts/philosophy/hexagonal-architecture-addons.png new file mode 100644 index 000..ff271e9 Binary files /dev/null and b/content/guides/ugfun/images/core-concepts/philosophy/hexagonal-architecture-addons.png differ http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugfun/images/programming-model/todoapp-Dashboard.png -- diff --git a/content/guides/ugfun/images/programming-model/todoapp-Dashboard.png b/content/guides/ugfun/images/programming-model/todoapp-Dashboard.png new file mode 100644 index 000..fe06075 Binary files /dev/null and b/content/guides/ugfun/images/programming-model/todoapp-Dashboard.png differ http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugfun/images/reference-layout/layout-4-0-8-0.html -- diff --git a/content/guides/ugfun/images/reference-layout/layout-4-0-8-0.html b/content/guides/ugfun/images/reference-layout/layout-4-0-8-0.html deleted file mode 100644 index 12056c8..000 --- a/content/guides/ugfun/images/reference-layout/layout-4-0-8-0.html +++ /dev/null @@ -1,198 +0,0 @@ - - - - - - -colspans={4,0,8,0} - - - - - - - - - - - - - - - -colspans={4,0,8,0} - - - -Buy bread - - -delete - - -clone - -describedAs.value="Create a new todo item from this one" - - - -recentChanges - - -recentChanges - - - - - - - - -General - -description - -typicalLength.value=50 - - - -category - -disabled.reason="Use action to update both category and subcategory" - - - -subcategory - -disabled.reason="Use action to update both category and subcategory" - - - -update - - -analyseCategory - - - - -ownedBy - - -done - - -done - -describedAs.value="Mark this todo item as having been completed" - - - -scheduleExplicitly - - -scheduleImplicitly - - -not done - - - - - -Priority - -relativePriority - - -previous - - -next - - - - -
[17/34] isis-site git commit: ISIS-1521: ugfun.adoc and FIXMEs
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugbtb/ugbtb.html -- diff --git a/content/guides/ugbtb/ugbtb.html b/content/guides/ugbtb/ugbtb.html index c05087d..ece396a 100644 --- a/content/guides/ugbtb/ugbtb.html +++ b/content/guides/ugbtb/ugbtb.html @@ -378,10 +378,10 @@ https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb.adoc""; style="float: right; font-size: small; padding: 6px; margin-top: -55px; "> Edit -This guide provides more advanced guidance on writing maintainable larger applications. +This guide provides more advanced guidance on writing maintainable larger applications. -Later chapters discuss how to deploy your app, and discuss other ways in which you can extend or adapt the framework itself to your particular needs. +Later chapters discuss how to deploy your app, and discuss other ways in which you can extend or adapt the framework itself to your particular needs. 1.1. Other Guides @@ -428,1714 +428,23 @@ - 2. View Models - https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_view-models.adoc""; style="float: right; font-size: small; padding: 6px; margin-top: -55px; "> Edit - - -View models are a type of domain object (with state, behaviour etc) but where the state is not persisted into the JDO/DataNucleus-managed database, but is instead converted to/from a string memento, and held by the calling client. This opens up a number of more advanced use cases. - - -In this topic weâll explore those use cases, and learn the programming model and conventions to use view models in your application. - - -2.1. Use Cases -https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_view-models_use-cases.adoc""; style="float: right; font-size: small; padding: 6px; margin-top: -55px; "> Edit - - When developing an Apache Isis application you will most likely start off with the persistent domain entities: Customer, Order, Product, and so on. For some applications this may well suffice. However, if the application needs to integrate with other systems, or if the application needs to support reasonably complex business processes, then you may need to look beyond just domain entities. This section explores these use cases. - - - 2.1.1. Externally-managed entities - - Sometimes the entities that make up your application are persisted not in the local JDO/DataNucleus database but reside in some other system, for example accessible only through a SOAP web service. Logically that data might still be considered a domain entity and we might want to associate behaviour with it, however it cannot be modelled as a domain entity if only because JDO/DataNucleus doesnât know about the entity nor how to retrieve or update it. - - - There are a couple of ways around this: we could either replicate the data somehow from the external system into the Isis-managed database (in which case it is once again just another domain entity), or we could set up a stub/proxy for the externally managed entity. This proxy would hold the reference to the externally-managed domain entity (eg an external id), as well as the "smarts" to know how to interact with that entity (by making SOAP web service calls etc). - - - The stub/proxy is a type of view model: a view - if you like - onto the domain entity managed by the external system. - - - - - - - - - DataNucleus does in fact define its own http://www.datanucleus.org/documentation/extensions/store_manager.html";>Store Manager extension point, so an alternative architecture would be to implement this interface such that DataNucleus could make the calls to the external system; these externally-persisted domain entities would therefore be modelled as regular @PersistenceCapable entities after all. For entities not persisted externally the implementation would delegate down to the default RDBMS-specific StoreManager provided by DataNucleus itself. - - - An implementation that supported only reading from an external entity ought to be comparatively straight-forward, but implementing one that also supported updating external entities would need to carefully consider error conditions if the external system is unavailable; distributed transactions are most likely difficult/impossible to implement (and not desirab
[27/34] isis-site git commit: ISIS-1521: ugfun.adoc and FIXMEs
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/rgant/rgant.html -- diff --git a/content/guides/rgant/rgant.html b/content/guides/rgant/rgant.html index c757d5e..44fca97 100644 --- a/content/guides/rgant/rgant.html +++ b/content/guides/rgant/rgant.html @@ -472,7 +472,7 @@ - Most UI semantics can also be specified using dynamic object layout. + Most UI semantics can also be specified using dynamic object layout. @@ -496,12 +496,12 @@ Annotation Purpose Layer - Dynamic layout? + File-based layout? - @Action + @Action @@ -512,7 +512,7 @@ - @ActionLayout + @ActionLayout @@ -523,7 +523,7 @@ Yes - @Collection + @Collection @@ -534,7 +534,7 @@ - @CollectionLayout + @CollectionLayout @@ -545,7 +545,7 @@ Yes - @DomainObject + @DomainObject @@ -556,7 +556,7 @@ - @DomainObjectLayout + @DomainObjectLayout @@ -567,7 +567,7 @@ Yes - @DomainService + @DomainService @@ -578,7 +578,7 @@ - @DomainServiceLayout + @DomainServiceLayout @@ -589,7 +589,7 @@ - @Parameter + @Parameter @@ -600,7 +600,7 @@ - @ParameterLayout + @ParameterLayout @@ -611,7 +611,7 @@ Yes - @Property + @Property @@ -622,7 +622,7 @@ - @PropertyLayout + @PropertyLayout @@ -633,7 +633,7 @@ Yes - @ViewModel + @ViewModel @@ -644,7 +644,7 @@ - @ViewModelLayout + @ViewModelLayout @@ -678,12 +678,12 @@ Annotation Purpose Layer - Dynamic layout? + File-based layout? - @Facets + @Facets @@ -694,7 +694,7 @@ - @HomePage + @HomePage @@ -705,7 +705,7 @@ - @MemberOrder + @MemberOrder @@ -716,7 +716,7 @@ Yes - @MinLength + @MinLength @@ -727,7 +727,7 @@ - @Programmatic + @Programmatic @@ -785,7 +785,7 @@ - @javax.jdo.annotations. Column + @javax.jdo.annotations. Column @@ -796,46 +796,46 @@ Property - @javax.jdo.annotations. Discriminator + @javax.jdo.annotations. Discriminator - Override for the object type, as used in `Bookmark`s, URLs for RestfulObjects viewer and elsewhere. + Override for the object type, as used in `Bookmark`s, URLs for RestfulObjects viewer and elsewhere. - Note that the discriminator overrides the object type that may otherwise be inferred from the @PersistenceCapable annotation. + Note that the discriminator overrides the object type that may otherwise be inferred from the @PersistenceCapable annotation. Domain / persistence Class - @java
[07/34] isis-site git commit: ISIS-1521: ugfun.adoc and FIXMEs
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvro/ugvro.html -- diff --git a/content/guides/ugvro/ugvro.html b/content/guides/ugvro/ugvro.html index 1416f49..f80c52c 100644 --- a/content/guides/ugvro/ugvro.html +++ b/content/guides/ugvro/ugvro.html @@ -627,7 +627,7 @@ - The server will use the ContentMappingService to attempt to transform the domain object into the requested x-ro-domain-type. The whole process is discussed in more detail in the architecture chapter. + The server will use the ContentMappingService to attempt to transform the domain object into the requested x-ro-domain-type. The whole process is discussed in more detail in the architecture chapter. @@ -636,14 +636,14 @@ The representations defined by the RO spec are very rich and enable complex client-side applications to be built. However, their sophistication can be an impediment to their use if one wishes to write a simple app using third-party components that expect to consume much simpler representations. Examples of such tools are http://angular-ui.github.io/bootstrap/";>Angular Bootstrap, http://vitalets.github.io/angular-xeditable/";>Angular XEditable, https://github.com/mgcrea/angular-strap";>Angular Strap. - This support is discussed further in the simplified representations chapter. + This support is discussed further in the simplified representations chapter. 2.4.2. Minimizing Round-trips (34.4) - The Restful Objects viewer supports the x-ro-follow-links query parameter in a way very similar to that suggested in the RO spec, the main point being to avoid the "N+1" problem of too many (slow) network calls. For example, using this feature one can load a grid of data in a single call. (That said, the simplified representations supported by Restful Objects viewer also support this use case, albeit in way that deviates from the RO spec). + The Restful Objects viewer supports the x-ro-follow-links query parameter in a way very similar to that suggested in the RO spec, the main point being to avoid the "N+1" problem of too many (slow) network calls. For example, using this feature one can load a grid of data in a single call. (That said, the simplified representations supported by Restful Objects viewer also support this use case, albeit in way that deviates from the RO spec). This https://www.youtube.com/watch?v=hSKnqqBQ7Zo";>screencast demonstrates the Restful Object viewerâs support for x-ro-follow-links parameter, using the (non-ASF) http://github.com/isisaddons/isis-app-kitchensink";>Isis addons' kitchensink app as the example, This app contains three entities, Grandparent, Parent and Child that define a hierarchy of 1:m relationships. @@ -705,7 +705,7 @@ https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugvro/_ugvro_architecture.adoc""; style="float: right; font-size: small; padding: 6px; margin-top: -55px; "> Edit -The RestfulObjects viewer implements the http://restfulobjects.org";>Restful Object spec, meaning that it defines a well-defined set of endpoint URLs as resources, and generates a well-defined set of (JSON) representations when these resources are accessed. +The RestfulObjects viewer implements the http://restfulobjects.org";>Restful Object spec, meaning that it defines a well-defined set of endpoint URLs as resources, and generates a well-defined set of (JSON) representations when these resources are accessed. By default, the Restful Objects viewer will automatically handle requests and return representations according to the RO spec. However, its internal architecture provides several hooks for content negotiation, thereby allowing the generated representation to be influenced using the standard HTTP Accept header. In response, the server uses the Content-Type header which the client can use to know how to process the returned representation. @@ -714,21 +714,21 @@ RepresentationService - The RepresentationService is an SPI domain service (plugin-point) that allows an arbitrary representation to be generated for any of the resources defined in the RO spec. + The RepresentationService is an SPI domain service (plugin-point) that allows an arbitrary representation to be generated for any of the resources defined in the RO spec. Normally this SPI service need not be replaced, because the default implementation (RepresentationServiceContentNegotiator) simply uses the HTTP Accept he
[22/34] isis-site git commit: ISIS-1521: ugfun.adoc and FIXMEs
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/rgfis/rgfis.html -- diff --git a/content/guides/rgfis/rgfis.html b/content/guides/rgfis/rgfis.html index 6d58ae9..309570d 100644 --- a/content/guides/rgfis/rgfis.html +++ b/content/guides/rgfis/rgfis.html @@ -467,15 +467,15 @@ - o.a.i.v.ro. rendering.service.conneg. ContentNegotiationService - Encodes the algorithm that delegates to any registered ContentMappingServices. + o.a.i.v.ro. rendering.service.conneg. ContentNegotiationService + Encodes the algorithm that delegates to any registered ContentMappingServices. ContentNegotiationService- XRoDomainType o.a.i.core isis-core-viewer-restfulobjects-rendering - o.a.i.v.ro. rendering.service. RepresentationService - Generates the representations, delegating to any registered ContentNegotiationServices. + o.a.i.v.ro. rendering.service. RepresentationService + Generates the representations, delegating to any registered ContentNegotiationServices. RepresentationService- ForRestfulObjects o.a.i.core isis-core-viewer-restfulobjects-rendering @@ -497,7 +497,7 @@ 2.1. ContentNegotiationService - The ContentNegotiationService is a plug-in point for the RestfulObjects viewer so that it can generate representations according to HTTP Accept header of the request. This idea is discussed in section 34.1 of the http://restfulobjects.org";>Restful Objects spec v1.0. + The ContentNegotiationService is a plug-in point for the RestfulObjects viewer so that it can generate representations according to HTTP Accept header of the request. This idea is discussed in section 34.1 of the http://restfulobjects.org";>Restful Objects spec v1.0. The principal motivation is to allow more flexible representations to be generated for REST clients that (perhaps through their use of a certain Javascript library, say) expect, or at least works best with, a certain style of representation. @@ -510,11 +510,11 @@ - first is to solve the problem at the domain layer by defining a regular Apache Isis view model. This is then surfaced over the RO viewer. + first is to solve the problem at the domain layer by defining a regular Apache Isis view model. This is then surfaced over the RO viewer. If the underlying entities change, then care must be taken to ensure that structure of the view model nevertheless is unchanged. - a second option is to solve the problem at the persistence layer, but defining a (SQL) view in the database and then mapping this to a (read-only) entity. Again this is surfaced by the RO viewer. + a second option is to solve the problem at the persistence layer, but defining a (SQL) view in the database and then mapping this to a (read-only) entity. Again this is surfaced by the RO viewer. If the underlying tables change (as the result of a change in their corresponding domain entities) then once more the view must be refactored so that it still presents the same structure. @@ -523,7 +523,7 @@ The ContentNegotiationService is responsible for inspecting the HTTP Accept header, and use this to select the correct representation to render. -The Apache Isis framework provides three implementations of ContentNegotiationService which inspects different elements of the HTTP Accept header. One of these implementations, ContentNegotiationServiceXRoDomainType will further delegate down to the companion ContentMappingService service (if configured/available), based on the value of the "x-ro-domain-type" parameter of the header. +The Apache Isis framework provides three implementations of ContentNegotiationService which inspects different elements of the HTTP Accept header. One of these implementations, ContentNegotiationServiceXRoDomainType will further delegate down to the companion ContentMappingService service (if configured/available), based on the value of the "x-ro-domain-type" parameter of the header. A typical implementation of ContentMappingService will convert the domain object into some sort of DTO (data transfer object) as specified by the "x-ro-domaintype". If this DTO is annotated with JAXB or Jackson mappings, then the RO viewer (courtesy of the underlying http://resteasy.jboss.org/";>RestEasy framework) can serialize these directly. @@ -651,7 +651,7 @@ - The value of the
[11/34] isis-site git commit: ISIS-1521: ugfun.adoc and FIXMEs
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugodn/ugodn.pdf -- diff --git a/content/guides/ugodn/ugodn.pdf b/content/guides/ugodn/ugodn.pdf index fca603b..447edac 100644 --- a/content/guides/ugodn/ugodn.pdf +++ b/content/guides/ugodn/ugodn.pdf @@ -4,16 +4,16 @@ << /Title (DataNucleus Object Store) /Creator (Asciidoctor PDF 1.5.0.alpha.11, based on Prawn 1.3.0) /Producer (Asciidoctor PDF 1.5.0.alpha.11, based on Prawn 1.3.0) -/CreationDate (D:20170411195546+01'00') -/ModDate (D:20170411195546+01'00') +/CreationDate (D:20170420093407+01'00') +/ModDate (D:20170420093407+01'00') >> endobj 2 0 obj << /Type /Catalog /Pages 3 0 R /Names 14 0 R -/Outlines 139 0 R -/PageLabels 154 0 R +/Outlines 189 0 R +/PageLabels 211 0 R /PageMode /UseOutlines /OpenAction [7 0 R /FitH 842.89] /ViewerPreferences << /DisplayDocTitle true @@ -22,8 +22,8 @@ endobj endobj 3 0 obj << /Type /Pages -/Count 19 -/Kids [7 0 R 10 0 R 12 0 R 36 0 R 49 0 R 59 0 R 67 0 R 71 0 R 75 0 R 77 0 R 84 0 R 86 0 R 89 0 R 91 0 R 97 0 R 99 0 R 101 0 R 107 0 R 110 0 R] +/Count 24 +/Kids [7 0 R 10 0 R 12 0 R 36 0 R 49 0 R 57 0 R 66 0 R 72 0 R 78 0 R 80 0 R 87 0 R 89 0 R 92 0 R 94 0 R 100 0 R 102 0 R 105 0 R 112 0 R 120 0 R 123 0 R 126 0 R 138 0 R 144 0 R 147 0 R] >> endobj 4 0 obj @@ -78,17 +78,17 @@ endobj endobj 8 0 obj << /Type /Font -/BaseFont /DA+NotoSerif +/BaseFont /CZ+NotoSerif /Subtype /TrueType -/FontDescriptor 156 0 R +/FontDescriptor 213 0 R /FirstChar 32 /LastChar 255 -/Widths 158 0 R -/ToUnicode 157 0 R +/Widths 215 0 R +/ToUnicode 214 0 R >> endobj 9 0 obj -<< /Length 10255 +<< /Length 16012 >> stream q @@ -391,7 +391,7 @@ ET BT 541.1705 640.97599 Td /F1.0 10.5 Tf -<33> Tj +<34> Tj ET 0.000 0.000 0.000 SCN @@ -431,7 +431,7 @@ ET BT 541.1705 622.49599 Td /F1.0 10.5 Tf -<35> Tj +<36> Tj ET 0.000 0.000 0.000 SCN @@ -520,9 +520,9 @@ ET 0.200 0.200 0.200 SCN BT -48.24 567.05598 Td +60.24 567.05598 Td /F1.0 10.5 Tf -<342e204f766572726964696e67204a444f20416e6e6f746174696f6e73> Tj +<332e322e204d616e6461746f72792050726f7065727469657320696e205375627479706573> Tj ET 0.000 0.000 0.000 SCN @@ -531,9 +531,9 @@ ET 0.200 0.200 0.200 SCN BT -202.582243 567.05598 Td +256.02724 567.05598 Td /F1.0 10.5 Tf -<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj +<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj ET 0.000 0.000 0.000 SCN @@ -551,7 +551,7 @@ ET BT 535.30099 567.05598 Td /F1.0 10.5 Tf -<3135> Tj +<3134> Tj ET 0.000 0.000 0.000 SCN @@ -560,9 +560,9 @@ ET 0.200 0.200 0.200 SCN BT -48.24 548.57598 Td +60.24 548.57598 Td /F1.0 10.5 Tf -<352e204a61766138> Tj +<332e332e204d617070696e6720746f20612056696577> Tj ET 0.000 0.000 0.000 SCN @@ -571,9 +571,9 @@ ET 0.200 0.200 0.200 SCN BT -90.347746 548.57598 Td +175.859746 548.57598 Td /F1.0 10.5 Tf -<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj +<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj ET 0.000 0.000 0.000 SCN @@ -591,11 +591,291 @@ ET BT 535.30099 548.57598 Td /F1.0 10.5 Tf +<3135> Tj +ET + +0.000 0.000 0.000 SCN +0.000 0.000 0.000 scn +0.200 0.200 0.200 scn +0.200 0.200 0.200 SCN + +BT +48.24 530.09598 Td +/F1.0 10.5 Tf +<342e20446174616261736520536368656d6173> Tj +ET + +0.000 0.000 0.000 SCN +0.000 0.000 0.000 scn +0.200 0.200 0.200 scn +0.200 0.200 0.200 SCN + +BT +154.481742 530.09598 Td +/F1.0 10.5 Tf +<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj +ET + +0.000 0.000 0.000 SCN +0.000 0.000 0.000 scn + +BT +533.94125 530.09598 Td +/F1.0 5.25 Tf + Tj +ET + +0.200 0.200 0.200 scn +0.200 0.200 0.200 SCN + +BT +535.30099
[23/34] isis-site git commit: ISIS-1521: ugfun.adoc and FIXMEs
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/rgcms/rgcms.pdf -- diff --git a/content/guides/rgcms/rgcms.pdf b/content/guides/rgcms/rgcms.pdf index 802e992..5859c38 100644 --- a/content/guides/rgcms/rgcms.pdf +++ b/content/guides/rgcms/rgcms.pdf @@ -4,16 +4,16 @@ << /Title (Classes, Methods and Schema) /Creator (Asciidoctor PDF 1.5.0.alpha.11, based on Prawn 1.3.0) /Producer (Asciidoctor PDF 1.5.0.alpha.11, based on Prawn 1.3.0) -/CreationDate (D:20170411195346+01'00') -/ModDate (D:20170411195346+01'00') +/CreationDate (D:20170420093205+01'00') +/ModDate (D:20170420093205+01'00') >> endobj 2 0 obj << /Type /Catalog /Pages 3 0 R /Names 14 0 R -/Outlines 1026 0 R -/PageLabels 1055 0 R +/Outlines 1027 0 R +/PageLabels 1056 0 R /PageMode /UseOutlines /OpenAction [7 0 R /FitH 842.89] /ViewerPreferences << /DisplayDocTitle true @@ -23,7 +23,7 @@ endobj 3 0 obj << /Type /Pages /Count 93 -/Kids [7 0 R 10 0 R 12 0 R 39 0 R 62 0 R 127 0 R 150 0 R 155 0 R 163 0 R 168 0 R 172 0 R 177 0 R 187 0 R 191 0 R 194 0 R 204 0 R 209 0 R 216 0 R 226 0 R 240 0 R 243 0 R 247 0 R 260 0 R 291 0 R 299 0 R 308 0 R 311 0 R 327 0 R 337 0 R 347 0 R 356 0 R 374 0 R 403 0 R 421 0 R 424 0 R 435 0 R 442 0 R 450 0 R 455 0 R 458 0 R 464 0 R 492 0 R 506 0 R 530 0 R 548 0 R 560 0 R 566 0 R 572 0 R 579 0 R 585 0 R 594 0 R 601 0 R 611 0 R 621 0 R 637 0 R 654 0 R 668 0 R 684 0 R 701 0 R 710 0 R 713 0 R 717 0 R 725 0 R 729 0 R 736 0 R 739 0 R 747 0 R 754 0 R 764 0 R 778 0 R 791 0 R 803 0 R 822 0 R 831 0 R 844 0 R 864 0 R 868 0 R 881 0 R 886 0 R 891 0 R 898 0 R 904 0 R 913 0 R 918 0 R 924 0 R 928 0 R 935 0 R 940 0 R 943 0 R 950 0 R 956 0 R 962 0 R 965 0 R] +/Kids [7 0 R 10 0 R 12 0 R 39 0 R 62 0 R 127 0 R 150 0 R 155 0 R 163 0 R 168 0 R 172 0 R 177 0 R 187 0 R 191 0 R 194 0 R 204 0 R 209 0 R 216 0 R 223 0 R 240 0 R 243 0 R 247 0 R 260 0 R 291 0 R 299 0 R 308 0 R 311 0 R 327 0 R 337 0 R 347 0 R 356 0 R 374 0 R 403 0 R 421 0 R 424 0 R 435 0 R 442 0 R 450 0 R 455 0 R 458 0 R 464 0 R 492 0 R 506 0 R 530 0 R 548 0 R 560 0 R 566 0 R 572 0 R 579 0 R 585 0 R 594 0 R 601 0 R 611 0 R 621 0 R 637 0 R 654 0 R 668 0 R 684 0 R 701 0 R 710 0 R 713 0 R 717 0 R 725 0 R 729 0 R 736 0 R 739 0 R 747 0 R 754 0 R 764 0 R 778 0 R 791 0 R 804 0 R 823 0 R 832 0 R 845 0 R 865 0 R 869 0 R 882 0 R 887 0 R 892 0 R 899 0 R 905 0 R 914 0 R 919 0 R 925 0 R 929 0 R 936 0 R 941 0 R 944 0 R 951 0 R 957 0 R 963 0 R 966 0 R] >> endobj 4 0 obj @@ -80,11 +80,11 @@ endobj << /Type /Font /BaseFont /BE+NotoSerif /Subtype /TrueType -/FontDescriptor 1057 0 R +/FontDescriptor 1058 0 R /FirstChar 32 /LastChar 255 -/Widths 1059 0 R -/ToUnicode 1058 0 R +/Widths 1060 0 R +/ToUnicode 1059 0 R >> endobj 9 0 obj @@ -1182,7 +1182,7 @@ endobj /F3.0 18 0 R >> >> -/Annots [971 0 R 972 0 R 973 0 R 974 0 R 975 0 R 976 0 R 977 0 R 978 0 R 979 0 R 980 0 R 981 0 R 982 0 R 983 0 R 984 0 R 985 0 R 986 0 R 987 0 R 988 0 R 989 0 R 990 0 R 991 0 R 992 0 R 993 0 R 994 0 R 995 0 R 996 0 R 997 0 R 998 0 R 999 0 R 1000 0 R 1001 0 R 1002 0 R 1003 0 R 1004 0 R 1005 0 R 1006 0 R 1007 0 R 1008 0 R 1009 0 R 1010 0 R 1011 0 R 1012 0 R 1013 0 R 1014 0 R 1015 0 R 1016 0 R 1017 0 R 1018 0 R 1019 0 R 1020 0 R 1021 0 R 1022 0 R 1023 0 R 1024 0 R] +/Annots [972 0 R 973 0 R 974 0 R 975 0 R 976 0 R 977 0 R 978 0 R 979 0 R 980 0 R 981 0 R 982 0 R 983 0 R 984 0 R 985 0 R 986 0 R 987 0 R 988 0 R 989 0 R 990 0 R 991 0 R 992 0 R 993 0 R 994 0 R 995 0 R 996 0 R 997 0 R 998 0 R 999 0 R 1000 0 R 1001 0 R 1002 0 R 1003 0 R 1004 0 R 1005 0 R 1006 0 R 1007 0 R 1008 0 R 1009 0 R 1010 0 R 1011 0 R 1012 0 R 1013 0 R 1014 0 R 1015 0 R 1016 0 R 1017 0 R 1018 0 R 1019 0 R 1020 0 R 1021 0 R 1022 0 R 1023 0 R 1024 0 R 1025 0 R] >> endobj 11 0 obj @@ -1989,7 +1989,7 @@ endobj /F3.0 18 0 R /F4.0 19 0 R >> -/XObject << /Stamp1 1025 0 R +/XObject << /Stamp1 1026 0 R >> >> /Annots [17 0 R 20 0 R 21 0 R 23 0 R 24 0 R 25 0 R 26 0 R 27 0 R 28 0 R 29 0 R 30 0 R 31 0 R 32 0 R 33 0 R 34 0 R 35 0 R 36 0 R 37 0 R] @@ -2004,23 +2004,26 @@ endobj >> endobj 15 0 obj -<< /Kids [220 0 R 860 0 R 694 0 R 786 0 R 525 0 R 720 0 R 221 0 R 395 0 R 287 0 R 807 0 R 448 0 R 815 0 R] +<< /Kids [220 0 R 861 0 R 694 0 R 786 0 R 525 0 R 720 0 R 221 0 R 395 0 R 287 0 R 808 0 R 448 0 R 816 0 R] >> endobj 16 0 obj << /Type /Font /BaseFont /BF+NotoSerif-Bold /Subtype /TrueType -/FontDescriptor 1061 0 R +/FontDescriptor 1062 0 R /FirstChar 32 /LastChar 255 -/Widths 1063 0 R -/ToUnicode 1062 0 R +/Widths 1064 0 R +/ToUnicode 1063 0 R >> endobj 17 0 obj << /Border [0 0 0] -/Dest (_rgcms_methods) +/A << /Type /Action +/S /URI +/URI (../rgcms/rgcms.pdf#_rgcms_methods) +>> /Subtype /Link /Rect [254.669834 734.36 297.78283 748.64001] /Type /Annot @@ -2030,27 +2033,30 @@ endobj << /Type /Font /BaseFont /BG+mplus1mn-regular /Subtype /TrueType -/FontDescriptor 1065 0 R +/F
[14/34] isis-site git commit: ISIS-1521: ugfun.adoc and FIXMEs
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugfun/ugfun.html -- diff --git a/content/guides/ugfun/ugfun.html b/content/guides/ugfun/ugfun.html index 761561d..988fc47 100644 --- a/content/guides/ugfun/ugfun.html +++ b/content/guides/ugfun/ugfun.html @@ -377,10 +377,10 @@ 1. Fundamentals -This guide introduces the core concepts and ideas behind Apache Isis, and tells you how to get started with a Maven archetype. +This guide introduces the core concepts and ideas behind Apache Isis, and tells you how to get started with a Maven archetype. -It also describes a number of how-tos, describes how to influence the UI layout of your domain objects (this is ultimately just a type of metadata), and it catalogues various FAQs. +It also describes a number of how-tos, describes how to influence the UI layout of your domain objects (this is ultimately just a type of metadata), and it catalogues various FAQs. 1.1. Other Guides @@ -610,7 +610,7 @@ Just as an ORM (such as http://datanucleus.org";>DataNucleus or http://hibernate.org";>Hibernate) maps domain entities to a database, you can think of the naked objects pattern as representing the concept of mapping domain objects to a user interface. - This is the way that the http://metawidget.org/";>MetaWidget team, in particular Richard Kennard, the primary contributor, likes to describe their tool. MetaWidget has a number of ideas in common with Apache Isis (we compare Apache Isis' with MetaWidget here), in particular the runtime generation of a UI for domain objects. You can hear more from Kennard and others on this http://devchat.tv/js-jabber/150-jsj-oims";>Javascript Jabber podcast. + This is the way that the http://metawidget.org/";>MetaWidget team, in particular Richard Kennard, the primary contributor, likes to describe their tool. MetaWidget has a number of ideas in common with Apache Isis (we compare Apache Isis' with MetaWidget here), in particular the runtime generation of a UI for domain objects. You can hear more from Kennard and others on this http://devchat.tv/js-jabber/150-jsj-oims";>Javascript Jabber podcast. @@ -680,7 +680,7 @@ 2.1.4. Aspect Oriented https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_philosophy_aop.adoc""; style="float: right; font-size: small; padding: 6px; margin-top: -55px; "> Edit - Although not a book about object modelling, Evans' "Domain Driven Design" does use object orientation as its primary modelling tool; while naked objects pattern very much comes from an OO background (it even has 'object' in its name). Richard Pawsonâââthe originator of Naked Objects patternâââlists Alan Kay as a key influence. + Although not a book about object modelling, Evans' "Domain Driven Design" does use object orientation as its primary modelling tool; while naked objects pattern very much comes from an OO background (it even has 'object' in its name). Richard Pawsonâââthe originator of Naked Objects patternâââlists Alan Kay as a key influence. Itâs certainly true that to develop an Apache Isis application you will need to have good object oriented modelling skills. But given that all the mainstream languages for developing business systems are object oriented (Java, C#, Ruby), thatâs not such a stretch. @@ -715,13 +715,13 @@ Another example of interceptors are the http://github.com/isisaddons/isis-module-command";>Isis addons' command and http://github.com/isisaddons/isis-module-audit";>Isis addons' audit modules. The command module captures every user interaction that modifies the state of the system (the "cause" of a change) while the audit module captures every change to every object (the "effect" of a change). Again, this is all transparent to the user. - Apache Isis also has an internal event bus (you can switch between an underlying implementation of Gauva or Axon). A domain event is fired whenever an object is interacted with, and this allows any subscribers to influence the operation (or even veto it). This is a key mechanism in ensuring that Isis applications are maintainable, and we discuss it in depth in the section on Decoupling. But fundamentally its relying on this AOP concept of interceptors. + Apache Isis also has an internal event bus (you can switch between an underlying implementation of Gauva or Axon). A domain event is fired whenever an object is interacted with, and this allows any subscribers to influence the operation (or even veto it).
[30/34] isis-site git commit: ISIS-1521: ugfun.adoc and FIXMEs
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/dg.html -- diff --git a/content/guides/dg/dg.html b/content/guides/dg/dg.html index 8eb783b..a07aaef 100644 --- a/content/guides/dg/dg.html +++ b/content/guides/dg/dg.html @@ -411,12 +411,12 @@ - Annotations - Domain Services - Configuration Properties - Classes, Methods and Schema - Apache Isis Maven plugin - Framework Internal Services + Annotations + Domain Services + Configuration Properties + Classes, Methods and Schema + Apache Isis Maven plugin + Framework Internal Services @@ -436,7 +436,7 @@ https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/dg/_dg_ide.adoc""; style="float: right; font-size: small; padding: 6px; margin-top: -55px; "> Edit -The vast majority of Java developers use an IDE to assist with developing their code, and we highly recommend that you do like wise as you develop your Apache Isis applications using an IDE. Apache Isis is built with Maven, and all modern IDEs can import Maven projects. +The vast majority of Java developers use an IDE to assist with developing their code, and we highly recommend that you do likewise as you develop your Apache Isis applications using an IDE. Apache Isis is built with Maven, and all modern IDEs can import Maven projects. This chapter shows how to setup and use two of the most popular IDEs, IntelliJ IDEA and Eclipse. @@ -475,7 +475,7 @@ - + Figure 1. IntelliJ Installation Wizard - Welcome page @@ -486,7 +486,7 @@ - + Figure 2. IntelliJ Installation Wizard - Choose Location @@ -497,7 +497,7 @@ - + Figure 3. IntelliJ Installation Wizard - Installation Options @@ -508,7 +508,7 @@ - + Figure 4. IntelliJ Installation Wizard - Start Menu Folder @@ -519,7 +519,7 @@ - + Figure 5. IntelliJ Installation Wizard - Completing the Wizard @@ -530,7 +530,7 @@ - + Figure 6. IntelliJ Installation Wizard - Import Settings @@ -541,7 +541,7 @@ - + Figure 7. IntelliJ Installation Wizard Set UI Theme @@ -558,7 +558,7 @@ - + Figure 8. IntelliJ Create New Project @@ -569,7 +569,7 @@ - + Figure 9. IntelliJ Create New Project - Create a Java project @@ -580,7 +580,7 @@ - + Figure 10. IntelliJ Create New Java Project - Select the JDK @@ -591,7 +591,7 @@ - + Figure 11. IntelliJ Create New Project - Select the JDK location @@ -602,7 +602,7 @@ - + Figure 12. IntelliJ Create New Project @@ -616,21 +616,21 @@ - + Figure 13. File templates - The file templates are provided as a settings JAR file, namely isis-settings-file-templates.jar. Download this file. + The file templates are provided as a settings JAR file, namely isis-settings-file-templates.jar. Download this file. Next, import using File > Import Settings, specifying the directory that you have downloaded the file to: - + Figure 14. IntelliJ Import Settings - Specify JAR file @@ -670,7 +670,7 @@ - + Figure 15. Live templates @@ -684,17 +684,17 @@ is : for Apache Isis d
[03/34] isis-site git commit: ISIS-1521: ugfun.adoc and FIXMEs
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/ugvw.pdf -- diff --git a/content/guides/ugvw/ugvw.pdf b/content/guides/ugvw/ugvw.pdf index 9b45cbc..950f0eb 100644 --- a/content/guides/ugvw/ugvw.pdf +++ b/content/guides/ugvw/ugvw.pdf @@ -4,16 +4,16 @@ << /Title (Wicket Viewer) /Creator (Asciidoctor PDF 1.5.0.alpha.11, based on Prawn 1.3.0) /Producer (Asciidoctor PDF 1.5.0.alpha.11, based on Prawn 1.3.0) -/CreationDate (D:20170411195612+01'00') -/ModDate (D:20170411195612+01'00') +/CreationDate (D:20170420093438+01'00') +/ModDate (D:20170420093438+01'00') >> endobj 2 0 obj << /Type /Catalog /Pages 3 0 R /Names 16 0 R -/Outlines 528 0 R -/PageLabels 573 0 R +/Outlines 690 0 R +/PageLabels 734 0 R /PageMode /UseOutlines /OpenAction [7 0 R /FitH 842.89] /ViewerPreferences << /DisplayDocTitle true @@ -22,8 +22,8 @@ endobj endobj 3 0 obj << /Type /Pages -/Count 59 -/Kids [7 0 R 10 0 R 12 0 R 14 0 R 38 0 R 50 0 R 63 0 R 71 0 R 79 0 R 88 0 R 94 0 R 100 0 R 110 0 R 112 0 R 127 0 R 134 0 R 142 0 R 149 0 R 152 0 R 163 0 R 169 0 R 175 0 R 185 0 R 195 0 R 204 0 R 212 0 R 219 0 R 225 0 R 233 0 R 243 0 R 249 0 R 260 0 R 265 0 R 269 0 R 277 0 R 281 0 R 296 0 R 299 0 R 308 0 R 312 0 R 320 0 R 328 0 R 335 0 R 337 0 R 344 0 R 348 0 R 354 0 R 357 0 R 361 0 R 365 0 R 372 0 R 375 0 R 392 0 R 405 0 R 408 0 R 416 0 R 424 0 R 427 0 R 433 0 R] +/Count 82 +/Kids [7 0 R 10 0 R 12 0 R 14 0 R 38 0 R 50 0 R 63 0 R 71 0 R 79 0 R 88 0 R 94 0 R 100 0 R 110 0 R 112 0 R 127 0 R 134 0 R 142 0 R 149 0 R 152 0 R 163 0 R 169 0 R 175 0 R 185 0 R 197 0 R 200 0 R 213 0 R 220 0 R 225 0 R 230 0 R 248 0 R 263 0 R 267 0 R 272 0 R 276 0 R 279 0 R 286 0 R 290 0 R 294 0 R 302 0 R 317 0 R 322 0 R 325 0 R 330 0 R 340 0 R 342 0 R 352 0 R 361 0 R 369 0 R 376 0 R 382 0 R 388 0 R 396 0 R 402 0 R 413 0 R 418 0 R 422 0 R 432 0 R 436 0 R 445 0 R 453 0 R 461 0 R 463 0 R 471 0 R 475 0 R 480 0 R 483 0 R 487 0 R 491 0 R 498 0 R 501 0 R 508 0 R 512 0 R 530 0 R 543 0 R 546 0 R 554 0 R 561 0 R 565 0 R 568 0 R 583 0 R 585 0 R 594 0 R] >> endobj 4 0 obj @@ -80,15 +80,15 @@ endobj << /Type /Font /BaseFont /EF+NotoSerif /Subtype /TrueType -/FontDescriptor 575 0 R +/FontDescriptor 736 0 R /FirstChar 32 /LastChar 255 -/Widths 577 0 R -/ToUnicode 576 0 R +/Widths 738 0 R +/ToUnicode 737 0 R >> endobj 9 0 obj -<< /Length 32052 +<< /Length 31952 >> stream q @@ -471,7 +471,7 @@ ET BT 48.24 585.53598 Td /F1.0 10.5 Tf -[<332e20436f6e6669677572> 20.01953125 <6174696f6e2050726f70657274696573>] TJ +[<332e204c61> 20.01953125 <796f7574>] TJ ET 0.000 0.000 0.000 SCN @@ -480,9 +480,9 @@ ET 0.200 0.200 0.200 SCN BT -186.548743 585.53598 Td +95.692244 585.53598 Td /F1.0 10.5 Tf -<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj +<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj ET 0.000 0.000 0.000 SCN @@ -511,7 +511,7 @@ ET BT 60.24 567.05598 Td /F1.0 10.5 Tf -<332e312e20416262726576696174696e672f7375707072657373696e67207469746c657320696e207461626c6573> Tj +[<332e312e20416e6e6f746174696f6e2d6261736564204c61> 20.01953125 <796f7574>] TJ ET 0.000 0.000 0.000 SCN @@ -520,9 +520,9 @@ ET 0.200 0.200 0.200 SCN BT -282.749745 567.05598 Td +207.926747 567.05598 Td /F1.0 10.5 Tf -<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj +<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj ET 0.000 0.000 0.000 SCN @@ -540,7 +540,7 @@ ET BT 535.30099 567.05598 Td /F1.0 10.5 Tf -<3233> Tj +<3230> Tj ET 0.000 0.000 0.000 SCN @@ -551,7 +551,7 @@ ET BT 60.24 548.57598 Td /F1.0 10.5 Tf -<332e322e205375707072657373696e67202772656d656d626572206d6527> Tj +[<332e322e2046696c652d6261736564204c61> 20.01953125 <796f757473>] TJ ET 0.000 0.000 0.000 SCN @@ -560,9 +560,9 @@ ET 0.200 0.200 0.200 SCN BT -223.960247 548.57598 Td +175.859746 548.57598 Td /F1.0 10.5 Tf -<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202
[29/34] isis-site git commit: ISIS-1521: ugfun.adoc and FIXMEs
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/dg.pdf -- diff --git a/content/guides/dg/dg.pdf b/content/guides/dg/dg.pdf index dfcdf06..d0bf103 100644 --- a/content/guides/dg/dg.pdf +++ b/content/guides/dg/dg.pdf @@ -4,16 +4,16 @@ << /Title (Developers' Guide) /Creator (Asciidoctor PDF 1.5.0.alpha.11, based on Prawn 1.3.0) /Producer (Asciidoctor PDF 1.5.0.alpha.11, based on Prawn 1.3.0) -/CreationDate (D:20170411195246+01'00') -/ModDate (D:20170411195246+01'00') +/CreationDate (D:20170420093102+01'00') +/ModDate (D:20170420093102+01'00') >> endobj 2 0 obj << /Type /Catalog /Pages 3 0 R /Names 16 0 R -/Outlines 779 0 R -/PageLabels 853 0 R +/Outlines 814 0 R +/PageLabels 892 0 R /PageMode /UseOutlines /OpenAction [7 0 R /FitH 842.89] /ViewerPreferences << /DisplayDocTitle true @@ -22,8 +22,8 @@ endobj endobj 3 0 obj << /Type /Pages -/Count 99 -/Kids [7 0 R 10 0 R 12 0 R 14 0 R 36 0 R 46 0 R 51 0 R 56 0 R 61 0 R 65 0 R 69 0 R 75 0 R 79 0 R 88 0 R 93 0 R 96 0 R 100 0 R 104 0 R 107 0 R 111 0 R 115 0 R 120 0 R 123 0 R 128 0 R 132 0 R 136 0 R 146 0 R 151 0 R 158 0 R 163 0 R 167 0 R 171 0 R 176 0 R 183 0 R 187 0 R 195 0 R 199 0 R 203 0 R 209 0 R 216 0 R 223 0 R 239 0 R 244 0 R 251 0 R 258 0 R 265 0 R 270 0 R 280 0 R 294 0 R 299 0 R 312 0 R 317 0 R 328 0 R 330 0 R 342 0 R 354 0 R 359 0 R 374 0 R 384 0 R 397 0 R 405 0 R 412 0 R 421 0 R 423 0 R 432 0 R 442 0 R 450 0 R 455 0 R 458 0 R 469 0 R 473 0 R 475 0 R 486 0 R 490 0 R 504 0 R 508 0 R 512 0 R 516 0 R 518 0 R 522 0 R 524 0 R 530 0 R 532 0 R 538 0 R 546 0 R 550 0 R 558 0 R 562 0 R 566 0 R 571 0 R 575 0 R 578 0 R 582 0 R 586 0 R 592 0 R 603 0 R 611 0 R 614 0 R 629 0 R] +/Count 102 +/Kids [7 0 R 10 0 R 12 0 R 14 0 R 36 0 R 46 0 R 51 0 R 56 0 R 61 0 R 65 0 R 69 0 R 75 0 R 79 0 R 88 0 R 93 0 R 96 0 R 100 0 R 104 0 R 107 0 R 111 0 R 115 0 R 120 0 R 123 0 R 128 0 R 132 0 R 136 0 R 146 0 R 151 0 R 158 0 R 163 0 R 167 0 R 171 0 R 176 0 R 183 0 R 187 0 R 195 0 R 199 0 R 203 0 R 209 0 R 216 0 R 223 0 R 239 0 R 244 0 R 251 0 R 258 0 R 265 0 R 270 0 R 280 0 R 293 0 R 305 0 R 319 0 R 324 0 R 337 0 R 342 0 R 353 0 R 355 0 R 367 0 R 379 0 R 385 0 R 400 0 R 410 0 R 423 0 R 431 0 R 438 0 R 447 0 R 449 0 R 458 0 R 468 0 R 476 0 R 481 0 R 484 0 R 495 0 R 499 0 R 501 0 R 511 0 R 515 0 R 529 0 R 533 0 R 537 0 R 541 0 R 543 0 R 547 0 R 549 0 R 556 0 R 558 0 R 563 0 R 571 0 R 575 0 R 583 0 R 587 0 R 591 0 R 596 0 R 599 0 R 602 0 R 605 0 R 609 0 R 613 0 R 617 0 R 629 0 R 637 0 R 641 0 R 656 0 R] >> endobj 4 0 obj @@ -80,15 +80,15 @@ endobj << /Type /Font /BaseFont /AH+NotoSerif /Subtype /TrueType -/FontDescriptor 855 0 R +/FontDescriptor 894 0 R /FirstChar 32 /LastChar 255 -/Widths 857 0 R -/ToUnicode 856 0 R +/Widths 896 0 R +/ToUnicode 895 0 R >> endobj 9 0 obj -<< /Length 31987 +<< /Length 31718 >> stream q @@ -311,7 +311,7 @@ ET BT 48.24 659.45599 Td /F1.0 10.5 Tf -<332e204275696c64696e67204170616368652049736973> Tj +<332e2048696e747320616e642054697073> Tj ET 0.000 0.000 0.000 SCN @@ -320,9 +320,9 @@ ET 0.200 0.200 0.200 SCN BT -165.170744 659.45599 Td +133.103743 659.45599 Td /F1.0 10.5 Tf -<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj +<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj ET 0.000 0.000 0.000 SCN @@ -351,7 +351,7 @@ ET BT 60.24 640.97599 Td /F1.0 10.5 Tf -<332e312e20476974> Tj +<332e312e20456e61626c696e67204c6f6767696e67> Tj ET 0.000 0.000 0.000 SCN @@ -360,9 +360,9 @@ ET 0.200 0.200 0.200 SCN BT -95.692244 640.97599 Td +170.515242 640.97599 Td /F1.0 10.5 Tf -<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj +<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj ET 0.000 0.000 0.000 SCN @@ -391,7 +391,7 @@ ET BT 60.24 622.49599 Td /F1.0 10.5 Tf -<332e322e20496e7374616c6c696e67204a617661> Tj +<332e322e20456e68616
[04/34] isis-site git commit: ISIS-1521: ugfun.adoc and FIXMEs
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/ugvw.html -- diff --git a/content/guides/ugvw/ugvw.html b/content/guides/ugvw/ugvw.html index 7d0da78..c31d0fa 100644 --- a/content/guides/ugvw/ugvw.html +++ b/content/guides/ugvw/ugvw.html @@ -374,8 +374,7 @@ https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugvw/ugvw.adoc""; style="float: right; font-size: small; padding: 6px; "> Edit - 1. Wicket Viewer - https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugvw/_ugvw.adoc""; style="float: right; font-size: small; padding: 6px; margin-top: -55px; "> Edit + 1. Wicket Viewer The Wicket Viewer automatically exposes an Apache Isis domain object model for use by end-users. The viewer is implemented using http://wicket.apache.org";>Apache Wicket. @@ -450,7 +449,7 @@ - + @@ -460,7 +459,7 @@ - Note that this screenshot show an earlier version of the Wicket viewer UI (specifically, pre 1.8.0). + Note that this screenshot show an earlier version of the Wicket viewer UI (specifically, pre 1.8.0). @@ -482,7 +481,7 @@ 2.1.4. Related functionality - The bookmarked pages (sliding panel) also provides links to recently visited objects, but only those explicitly marked as @DomainObject(bookmarking=â¦â). The bookmarks panel also nests related objects together hierarchically (the recent pages drop-down does not). + The bookmarked pages (sliding panel) also provides links to recently visited objects, but only those explicitly marked as @DomainObject(bookmarking=â¦â). The bookmarks panel also nests related objects together hierarchically (the recent pages drop-down does not). @@ -496,7 +495,7 @@ 2.2. Bookmarked pages https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugvw/_ugvw_features_bookmarked-pages.adoc""; style="float: right; font-size: small; padding: 6px; margin-top: -55px; "> Edit - The Wicket viewer supports the bookmarking of both domain objects and query-only (@Action(semantics=â¦â)) actions. + The Wicket viewer supports the bookmarking of both domain objects and query-only (@Action(semantics=â¦â)) actions. Domain objects, if bookmarkable, can be nested. @@ -511,7 +510,7 @@ - + @@ -521,7 +520,7 @@ - Note that these screenshots show an earlier version of the Wicket viewer UI (specifically, pre 1.8.0). + Note that these screenshots show an earlier version of the Wicket viewer UI (specifically, pre 1.8.0). @@ -535,7 +534,7 @@ - + @@ -545,7 +544,7 @@ 2.2.2. Domain Code - To indicate a class is bookmarkable, use the @DomainObjectLayout annotation: + To indicate a class is bookmarkable, use the @DomainObjectLayout annotation: @@ -567,7 +566,7 @@ - To indicate that a safe (query only) action is bookmarkable, use the @ActionLayout annotation: + To indicate that a safe (query only) action is bookmarkable, use the @ActionLayout annotation: @@ -608,7 +607,7 @@ Related functionality - The Recent Pages also lists recently visited pages, selected from a drop-down. + The Recent Pages also lists recently visited pages, selected from a drop-down. @@ -648,7 +647,7 @@ - + @@ -658,7 +657,7 @@ -Note that these screenshots show an earlier version of the Wicket viewer UI (specifically, pre 1.8.0). +Note that these screenshots show an earlier version of the Wicket viewer UI (specifically, pre 1.8.0). @@ -669,7 +668,7 @@ - + @@ -691,7 +690,7 @@ - +
[09/34] isis-site git commit: ISIS-1521: ugfun.adoc and FIXMEs
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugsec/ugsec.pdf -- diff --git a/content/guides/ugsec/ugsec.pdf b/content/guides/ugsec/ugsec.pdf index 65c584d..939b908 100644 --- a/content/guides/ugsec/ugsec.pdf +++ b/content/guides/ugsec/ugsec.pdf @@ -4,16 +4,16 @@ << /Title (Security) /Creator (Asciidoctor PDF 1.5.0.alpha.11, based on Prawn 1.3.0) /Producer (Asciidoctor PDF 1.5.0.alpha.11, based on Prawn 1.3.0) -/CreationDate (D:20170411195550+01'00') -/ModDate (D:20170411195550+01'00') +/CreationDate (D:20170420093413+01'00') +/ModDate (D:20170420093413+01'00') >> endobj 2 0 obj << /Type /Catalog /Pages 3 0 R /Names 14 0 R -/Outlines 247 0 R -/PageLabels 275 0 R +/Outlines 259 0 R +/PageLabels 285 0 R /PageMode /UseOutlines /OpenAction [7 0 R /FitH 842.89] /ViewerPreferences << /DisplayDocTitle true @@ -22,8 +22,8 @@ endobj endobj 3 0 obj << /Type /Pages -/Count 32 -/Kids [7 0 R 10 0 R 12 0 R 35 0 R 53 0 R 61 0 R 67 0 R 74 0 R 78 0 R 84 0 R 90 0 R 94 0 R 99 0 R 105 0 R 109 0 R 113 0 R 117 0 R 119 0 R 125 0 R 130 0 R 136 0 R 138 0 R 142 0 R 147 0 R 149 0 R 155 0 R 163 0 R 165 0 R 175 0 R 186 0 R 188 0 R 192 0 R] +/Count 33 +/Kids [7 0 R 10 0 R 12 0 R 35 0 R 53 0 R 61 0 R 67 0 R 75 0 R 79 0 R 88 0 R 91 0 R 95 0 R 100 0 R 106 0 R 110 0 R 114 0 R 118 0 R 123 0 R 127 0 R 135 0 R 137 0 R 139 0 R 143 0 R 150 0 R 152 0 R 165 0 R 173 0 R 181 0 R 183 0 R 193 0 R 202 0 R 204 0 R 208 0 R] >> endobj 4 0 obj @@ -80,15 +80,15 @@ endobj << /Type /Font /BaseFont /DH+NotoSerif /Subtype /TrueType -/FontDescriptor 277 0 R +/FontDescriptor 287 0 R /FirstChar 32 /LastChar 255 -/Widths 279 0 R -/ToUnicode 278 0 R +/Widths 289 0 R +/ToUnicode 288 0 R >> endobj 9 0 obj -<< /Length 21546 +<< /Length 19822 >> stream q @@ -231,7 +231,7 @@ ET BT 48.24 696.41599 Td /F1.0 10.5 Tf -<322e20436f6e6669677572696e6720417061636865204973697320746f2075736520536869726f> Tj +<322e20436f6e6669677572696e6720746f2075736520536869726f> Tj ET 0.000 0.000 0.000 SCN @@ -240,9 +240,9 @@ ET 0.200 0.200 0.200 SCN BT -245.863244 696.41599 Td +181.729242 696.41599 Td /F1.0 10.5 Tf -<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj +<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj ET 0.000 0.000 0.000 SCN @@ -311,7 +311,7 @@ ET BT 60.24 659.45599 Td /F1.0 10.5 Tf -[<322e322e20436f6e6669677572696e6720497369732720536869726f2041> 20.01953125 <757468656e74696361746f72>] TJ +[<322e322e20436f6e6669677572696e6720536869726f2041> 20.01953125 <757468656e74696361746f72>] TJ ET 0.000 0.000 0.000 SCN @@ -320,9 +320,9 @@ ET 0.200 0.200 0.200 SCN BT -267.24124 659.45599 Td +245.863244 659.45599 Td /F1.0 10.5 Tf -<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj +<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj ET 0.000 0.000 0.000 SCN @@ -442,7 +442,7 @@ ET BT 48.24 604.01598 Td /F1.0 10.5 Tf -<332e20536869726f20496e69205265616c6d> Tj +<332e20536869726f205265616c6d20496d706c656d656e746174696f6e73> Tj ET 0.000 0.000 0.000 SCN @@ -451,9 +451,9 @@ ET 0.200 0.200 0.200 SCN BT -138.97324 604.01598 Td +213.796243 604.01598 Td /F1.0 10.5 Tf -<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj +<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj ET 0.000 0.000 0.000 SCN @@ -482,7 +482,7 @@ ET BT 60.24 585.53598 Td /F1.0 10.5 Tf -[<332e312e20536869726f20436f6e6669677572> 20.01953125 <6174696f6e>] TJ +<332e312e20536869726f20496e69205265616c6d> Tj ET 0.000 0.000 0.000 SCN @@ -491,9 +491,9 @@ ET 0.200 0.200 0.200 SCN BT -181.729242 585.53598 Td +160.3512499988 585.5359
[05/34] isis-site git commit: ISIS-1521: ugfun.adoc and FIXMEs
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/application-menu/dividers.png -- diff --git a/content/guides/ugvw/images/application-menu/dividers.png b/content/guides/ugvw/images/application-menu/dividers.png new file mode 100644 index 000..dcb415d Binary files /dev/null and b/content/guides/ugvw/images/application-menu/dividers.png differ http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/application-menu/layout-menus.pdn -- diff --git a/content/guides/ugvw/images/application-menu/layout-menus.pdn b/content/guides/ugvw/images/application-menu/layout-menus.pdn new file mode 100644 index 000..01453f7 Binary files /dev/null and b/content/guides/ugvw/images/application-menu/layout-menus.pdn differ http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/application-menu/layout-menus.png -- diff --git a/content/guides/ugvw/images/application-menu/layout-menus.png b/content/guides/ugvw/images/application-menu/layout-menus.png new file mode 100644 index 000..0bc73d1 Binary files /dev/null and b/content/guides/ugvw/images/application-menu/layout-menus.png differ http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/application-menu/tertiary.png -- diff --git a/content/guides/ugvw/images/application-menu/tertiary.png b/content/guides/ugvw/images/application-menu/tertiary.png new file mode 100644 index 000..f2d2281 Binary files /dev/null and b/content/guides/ugvw/images/application-menu/tertiary.png differ http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/blob-attachments/010-attachment-field-940.png -- diff --git a/content/guides/ugvw/images/blob-attachments/010-attachment-field-940.png b/content/guides/ugvw/images/blob-attachments/010-attachment-field-940.png new file mode 100644 index 000..96cbb31 Binary files /dev/null and b/content/guides/ugvw/images/blob-attachments/010-attachment-field-940.png differ http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/blob-attachments/010-attachment-field.png -- diff --git a/content/guides/ugvw/images/blob-attachments/010-attachment-field.png b/content/guides/ugvw/images/blob-attachments/010-attachment-field.png new file mode 100644 index 000..013f6e2 Binary files /dev/null and b/content/guides/ugvw/images/blob-attachments/010-attachment-field.png differ http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/blob-attachments/020-edit-choose-file-940.png -- diff --git a/content/guides/ugvw/images/blob-attachments/020-edit-choose-file-940.png b/content/guides/ugvw/images/blob-attachments/020-edit-choose-file-940.png new file mode 100644 index 000..7f90bea Binary files /dev/null and b/content/guides/ugvw/images/blob-attachments/020-edit-choose-file-940.png differ http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/blob-attachments/020-edit-choose-file.png -- diff --git a/content/guides/ugvw/images/blob-attachments/020-edit-choose-file.png b/content/guides/ugvw/images/blob-attachments/020-edit-choose-file.png new file mode 100644 index 000..a7e3dc4 Binary files /dev/null and b/content/guides/ugvw/images/blob-attachments/020-edit-choose-file.png differ http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/blob-attachments/030-choose-file-using-browser-520.png -- diff --git a/content/guides/ugvw/images/blob-attachments/030-choose-file-using-browser-520.png b/content/guides/ugvw/images/blob-attachments/030-choose-file-using-browser-520.png new file mode 100644 index 000..6a32d1b Binary files /dev/null and b/content/guides/ugvw/images/blob-attachments/030-choose-file-using-browser-520.png differ http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/blob-attachments/030-choose-file-using-browser.png -- diff --git a/content/guides/ugvw/images/blob-attachments/030-choose-file-using-browser.png b/content/guides/ugvw/images/blob-attachments/030-choose-file-using-browser.png new file mode 100644 index 000..700c325 Binary files /dev/null and b/content/guides/ugvw/images/blob-att
[26/34] isis-site git commit: ISIS-1521: ugfun.adoc and FIXMEs
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/rgant/rgant.pdf -- diff --git a/content/guides/rgant/rgant.pdf b/content/guides/rgant/rgant.pdf index 3801455..c8573bf 100644 --- a/content/guides/rgant/rgant.pdf +++ b/content/guides/rgant/rgant.pdf @@ -4,16 +4,16 @@ << /Title (Annotations) /Creator (Asciidoctor PDF 1.5.0.alpha.11, based on Prawn 1.3.0) /Producer (Asciidoctor PDF 1.5.0.alpha.11, based on Prawn 1.3.0) -/CreationDate (D:20170411195301+01'00') -/ModDate (D:20170411195301+01'00') +/CreationDate (D:20170420093118+01'00') +/ModDate (D:20170420093118+01'00') >> endobj 2 0 obj << /Type /Catalog /Pages 3 0 R /Names 20 0 R -/Outlines 2145 0 R -/PageLabels 2303 0 R +/Outlines 2142 0 R +/PageLabels 2300 0 R /PageMode /UseOutlines /OpenAction [7 0 R /FitH 842.89] /ViewerPreferences << /DisplayDocTitle true @@ -22,8 +22,8 @@ endobj endobj 3 0 obj << /Type /Pages -/Count 178 -/Kids [7 0 R 10 0 R 12 0 R 14 0 R 16 0 R 18 0 R 42 0 R 45 0 R 66 0 R 81 0 R 105 0 R 146 0 R 170 0 R 205 0 R 228 0 R 249 0 R 273 0 R 289 0 R 292 0 R 294 0 R 308 0 R 316 0 R 329 0 R 335 0 R 344 0 R 350 0 R 353 0 R 366 0 R 375 0 R 384 0 R 388 0 R 392 0 R 396 0 R 417 0 R 425 0 R 432 0 R 439 0 R 456 0 R 467 0 R 475 0 R 492 0 R 500 0 R 506 0 R 515 0 R 530 0 R 536 0 R 539 0 R 555 0 R 562 0 R 569 0 R 573 0 R 586 0 R 601 0 R 612 0 R 628 0 R 639 0 R 650 0 R 657 0 R 663 0 R 665 0 R 673 0 R 678 0 R 687 0 R 689 0 R 694 0 R 709 0 R 713 0 R 731 0 R 755 0 R 764 0 R 767 0 R 780 0 R 793 0 R 798 0 R 802 0 R 808 0 R 812 0 R 815 0 R 821 0 R 825 0 R 832 0 R 843 0 R 847 0 R 863 0 R 872 0 R 884 0 R 888 0 R 898 0 R 903 0 R 909 0 R 912 0 R 932 0 R 938 0 R 945 0 R 962 0 R 972 0 R 978 0 R 994 0 R 1004 0 R 1018 0 R 1030 0 R 1042 0 R 1048 0 R 1054 0 R 1064 0 R 1069 0 R 1079 0 R 1086 0 R 1096 0 R 1102 0 R 1108 0 R 1119 0 R 1123 0 R 1132 0 R 1135 0 R 1141 0 R 1145 0 R 1157 0 R 1163 0 R 1166 0 R 1172 0 R 1182 0 R 1 190 0 R 1192 0 R 1201 0 R 1205 0 R 1211 0 R 1221 0 R 1229 0 R 1237 0 R 1241 0 R 1246 0 R 1248 0 R 1262 0 R 1275 0 R 1285 0 R 1299 0 R 1307 0 R 1312 0 R 1325 0 R 1331 0 R 1342 0 R 1346 0 R 1356 0 R 1363 0 R 1368 0 R 1386 0 R 1393 0 R 1405 0 R 1407 0 R 1412 0 R 1425 0 R 1432 0 R 1440 0 R 1445 0 R 1451 0 R 1458 0 R 1461 0 R 1464 0 R 1469 0 R 1484 0 R 1499 0 R 1513 0 R 1529 0 R 1535 0 R 1548 0 R 1557 0 R 1559 0 R 1565 0 R 1570 0 R 1572 0 R 1579 0 R 1596 0 R 1613 0 R 1632 0 R 1643 0 R 1648 0 R 1663 0 R] +/Count 177 +/Kids [7 0 R 10 0 R 12 0 R 14 0 R 16 0 R 18 0 R 42 0 R 45 0 R 66 0 R 81 0 R 105 0 R 146 0 R 170 0 R 205 0 R 228 0 R 249 0 R 273 0 R 289 0 R 292 0 R 294 0 R 308 0 R 316 0 R 329 0 R 335 0 R 344 0 R 350 0 R 353 0 R 366 0 R 375 0 R 384 0 R 388 0 R 392 0 R 396 0 R 417 0 R 425 0 R 432 0 R 439 0 R 455 0 R 466 0 R 474 0 R 491 0 R 499 0 R 505 0 R 514 0 R 529 0 R 535 0 R 538 0 R 554 0 R 561 0 R 568 0 R 572 0 R 585 0 R 601 0 R 620 0 R 627 0 R 639 0 R 650 0 R 656 0 R 662 0 R 670 0 R 675 0 R 684 0 R 686 0 R 691 0 R 706 0 R 710 0 R 728 0 R 752 0 R 761 0 R 764 0 R 777 0 R 790 0 R 795 0 R 799 0 R 805 0 R 809 0 R 812 0 R 818 0 R 822 0 R 829 0 R 840 0 R 844 0 R 860 0 R 869 0 R 881 0 R 885 0 R 895 0 R 900 0 R 906 0 R 909 0 R 929 0 R 935 0 R 942 0 R 959 0 R 969 0 R 975 0 R 991 0 R 1001 0 R 1015 0 R 1027 0 R 1039 0 R 1045 0 R 1051 0 R 1061 0 R 1066 0 R 1076 0 R 1083 0 R 1093 0 R 1099 0 R 1105 0 R 1116 0 R 1120 0 R 1129 0 R 1132 0 R 1138 0 R 1142 0 R 1154 0 R 1160 0 R 1163 0 R 1169 0 R 1179 0 R 1187 0 R 1189 0 R 1198 0 R 1202 0 R 1208 0 R 1218 0 R 1226 0 R 1234 0 R 1238 0 R 1243 0 R 1245 0 R 1259 0 R 1272 0 R 1282 0 R 1296 0 R 1304 0 R 1309 0 R 1322 0 R 1328 0 R 1339 0 R 1343 0 R 1353 0 R 1360 0 R 1365 0 R 1383 0 R 1390 0 R 1402 0 R 1404 0 R 1409 0 R 1422 0 R 1429 0 R 1437 0 R 1442 0 R 1448 0 R 1455 0 R 1458 0 R 1461 0 R 1466 0 R 1481 0 R 1497 0 R 1510 0 R 1526 0 R 1532 0 R 1547 0 R 1554 0 R 1556 0 R 1562 0 R 1567 0 R 1569 0 R 1576 0 R 1593 0 R 1610 0 R 1629 0 R 1640 0 R 1645 0 R 1660 0 R] >> endobj 4 0 obj @@ -80,11 +80,11 @@ endobj << /Type /Font /BaseFont /AP+NotoSerif /Subtype /TrueType -/FontDescriptor 2305 0 R +/FontDescriptor 2302 0 R /FirstChar 32 /LastChar 255 -/Widths 2307 0 R -/ToUnicode 2306 0 R +/Widths 2304 0 R +/ToUnicode 2303 0 R >> endobj 9 0 obj @@ -1917,7 +1917,7 @@ ET BT 535.30099 68.095966 Td /F1.0 10.5 Tf -<3439> Tj +<3438> Tj ET 0.000 0.000 0.000 SCN @@ -1937,7 +1937,7 @@ endobj /F3.0 40 0 R >> >> -/Annots [1669 0 R 1670 0 R 1671 0 R 1672 0 R 1673 0 R 1674 0 R 1675 0 R 1676 0 R 1677 0 R 1678 0 R 1679 0 R 1680 0 R 1681 0 R 1682 0 R 1683 0 R 1684 0 R 1685 0 R 1686 0 R 1687 0 R 1688 0 R 1689 0 R 1690 0 R 1691 0 R 1692 0 R 1693 0 R 1694 0 R 1695 0 R 1696 0 R 1697 0 R 1698 0 R 1699 0 R 1700 0 R 1701 0 R 1702 0 R 1703 0 R 1704 0 R 1705 0 R 1706 0 R 1707 0 R 1708 0 R 1709 0 R 1710 0 R 1711 0 R 1712 0 R 1713 0 R 1714 0 R 1715 0 R 1716 0 R 1717 0 R 1718 0 R 1719
[31/34] isis-site git commit: ISIS-1521: ugfun.adoc and FIXMEs
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/cgcom/cgcom.pdf -- diff --git a/content/guides/cgcom/cgcom.pdf b/content/guides/cgcom/cgcom.pdf index 6812f57..0ba09e9 100644 --- a/content/guides/cgcom/cgcom.pdf +++ b/content/guides/cgcom/cgcom.pdf @@ -4,16 +4,16 @@ << /Title (Committers' Guide) /Creator (Asciidoctor PDF 1.5.0.alpha.11, based on Prawn 1.3.0) /Producer (Asciidoctor PDF 1.5.0.alpha.11, based on Prawn 1.3.0) -/CreationDate (D:20170411195232+01'00') -/ModDate (D:20170411195232+01'00') +/CreationDate (D:20170420093046+01'00') +/ModDate (D:20170420093046+01'00') >> endobj 2 0 obj << /Type /Catalog /Pages 3 0 R /Names 16 0 R -/Outlines 620 0 R -/PageLabels 696 0 R +/Outlines 638 0 R +/PageLabels 717 0 R /PageMode /UseOutlines /OpenAction [7 0 R /FitH 842.89] /ViewerPreferences << /DisplayDocTitle true @@ -22,8 +22,8 @@ endobj endobj 3 0 obj << /Type /Pages -/Count 76 -/Kids [7 0 R 10 0 R 12 0 R 14 0 R 36 0 R 45 0 R 48 0 R 52 0 R 67 0 R 74 0 R 80 0 R 83 0 R 91 0 R 95 0 R 101 0 R 107 0 R 110 0 R 115 0 R 121 0 R 125 0 R 129 0 R 133 0 R 137 0 R 141 0 R 147 0 R 151 0 R 154 0 R 167 0 R 177 0 R 182 0 R 184 0 R 195 0 R 200 0 R 208 0 R 218 0 R 221 0 R 225 0 R 242 0 R 250 0 R 256 0 R 265 0 R 273 0 R 278 0 R 284 0 R 290 0 R 292 0 R 300 0 R 306 0 R 313 0 R 317 0 R 328 0 R 331 0 R 344 0 R 348 0 R 356 0 R 358 0 R 360 0 R 363 0 R 365 0 R 370 0 R 372 0 R 381 0 R 389 0 R 391 0 R 399 0 R 402 0 R 414 0 R 418 0 R 431 0 R 435 0 R 440 0 R 450 0 R 453 0 R 459 0 R 463 0 R 469 0 R] +/Count 78 +/Kids [7 0 R 10 0 R 12 0 R 14 0 R 36 0 R 45 0 R 50 0 R 58 0 R 61 0 R 65 0 R 80 0 R 86 0 R 92 0 R 97 0 R 105 0 R 109 0 R 113 0 R 119 0 R 122 0 R 128 0 R 134 0 R 138 0 R 142 0 R 146 0 R 150 0 R 154 0 R 160 0 R 164 0 R 167 0 R 179 0 R 189 0 R 194 0 R 196 0 R 207 0 R 212 0 R 220 0 R 230 0 R 233 0 R 237 0 R 254 0 R 262 0 R 268 0 R 277 0 R 286 0 R 291 0 R 297 0 R 302 0 R 304 0 R 312 0 R 317 0 R 325 0 R 329 0 R 341 0 R 344 0 R 357 0 R 361 0 R 369 0 R 371 0 R 373 0 R 376 0 R 378 0 R 382 0 R 384 0 R 393 0 R 400 0 R 402 0 R 411 0 R 414 0 R 426 0 R 430 0 R 442 0 R 446 0 R 451 0 R 462 0 R 465 0 R 471 0 R 475 0 R 481 0 R] >> endobj 4 0 obj @@ -80,15 +80,15 @@ endobj << /Type /Font /BaseFont /AA+NotoSerif /Subtype /TrueType -/FontDescriptor 698 0 R +/FontDescriptor 719 0 R /FirstChar 32 /LastChar 255 -/Widths 700 0 R -/ToUnicode 699 0 R +/Widths 721 0 R +/ToUnicode 720 0 R >> endobj 9 0 obj -<< /Length 32056 +<< /Length 32128 >> stream q @@ -191,7 +191,7 @@ ET BT 48.24 714.896 Td /F1.0 10.5 Tf -<322e204d657267696e6720612050756c6c2052657175657374> Tj +<322e204170706c79696e672050617463686573> Tj ET 0.000 0.000 0.000 SCN @@ -200,9 +200,9 @@ ET 0.200 0.200 0.200 SCN BT -176.3847499988 714.896 Td +149.662241 714.896 Td /F1.0 10.5 Tf -<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj +<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj ET 0.000 0.000 0.000 SCN @@ -231,7 +231,7 @@ ET BT 60.24 696.41599 Td /F1.0 10.5 Tf -<322e312e2050726f6365737320616e64205573616765> Tj +<322e312e2044692066696c6573> Tj ET 0.000 0.000 0.000 SCN @@ -240,9 +240,9 @@ ET 0.200 0.200 0.200 SCN BT -176.3847499988 696.41599 Td +122.9397499989 696.41599 Td /F1.0 10.5 Tf -<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj +<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj ET 0.000 0.000 0.000 SCN @@ -271,7 +271,7 @@ ET BT 60.24 677.93599 Td /F1.0 10.5 Tf -<322e322e2050726572657175697369746573> Tj +<322e322e2050617463682066696c6573> Tj ET 0.000 0.000 0.000 SCN @@ -280,9 +280,9 @@ ET 0.200 0.200 0.200 SCN BT -149.662241 677.93599 Td +133.62874 677.93599 Td /F1.0 10.5 Tf -<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20
[28/34] isis-site git commit: ISIS-1521: ugfun.adoc and FIXMEs
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/asciidoctor/graphviz-demo.png -- diff --git a/content/guides/dg/images/asciidoctor/graphviz-demo.png b/content/guides/dg/images/asciidoctor/graphviz-demo.png new file mode 100644 index 000..527839e Binary files /dev/null and b/content/guides/dg/images/asciidoctor/graphviz-demo.png differ http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/asciidoctor/plantuml-demo.png -- diff --git a/content/guides/dg/images/asciidoctor/plantuml-demo.png b/content/guides/dg/images/asciidoctor/plantuml-demo.png new file mode 100644 index 000..e10ce69 Binary files /dev/null and b/content/guides/dg/images/asciidoctor/plantuml-demo.png differ http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/eclipse/eclipse-010-windows-preferences.png -- diff --git a/content/guides/dg/images/eclipse/eclipse-010-windows-preferences.png b/content/guides/dg/images/eclipse/eclipse-010-windows-preferences.png new file mode 100644 index 000..149a23b Binary files /dev/null and b/content/guides/dg/images/eclipse/eclipse-010-windows-preferences.png differ http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/eclipse/eclipse-025-project-properties.png -- diff --git a/content/guides/dg/images/eclipse/eclipse-025-project-properties.png b/content/guides/dg/images/eclipse/eclipse-025-project-properties.png new file mode 100644 index 000..120856c Binary files /dev/null and b/content/guides/dg/images/eclipse/eclipse-025-project-properties.png differ http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/eclipse/eclipse-100-project-support.png -- diff --git a/content/guides/dg/images/eclipse/eclipse-100-project-support.png b/content/guides/dg/images/eclipse/eclipse-100-project-support.png new file mode 100644 index 000..7068fb4 Binary files /dev/null and b/content/guides/dg/images/eclipse/eclipse-100-project-support.png differ http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/eclipse/eclipse-110-project-support.png -- diff --git a/content/guides/dg/images/eclipse/eclipse-110-project-support.png b/content/guides/dg/images/eclipse/eclipse-110-project-support.png new file mode 100644 index 000..49d04a8 Binary files /dev/null and b/content/guides/dg/images/eclipse/eclipse-110-project-support.png differ http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/eclipse/eclipse-120-console.png -- diff --git a/content/guides/dg/images/eclipse/eclipse-120-console.png b/content/guides/dg/images/eclipse/eclipse-120-console.png new file mode 100644 index 000..1e77587 Binary files /dev/null and b/content/guides/dg/images/eclipse/eclipse-120-console.png differ http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/eclipse/eclipse-200-enhancer-fails-duplicates.png -- diff --git a/content/guides/dg/images/eclipse/eclipse-200-enhancer-fails-duplicates.png b/content/guides/dg/images/eclipse/eclipse-200-enhancer-fails-duplicates.png new file mode 100644 index 000..8d7e10a Binary files /dev/null and b/content/guides/dg/images/eclipse/eclipse-200-enhancer-fails-duplicates.png differ http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/eclipse/eclipse-210-enhancer-fails-duplicates.png -- diff --git a/content/guides/dg/images/eclipse/eclipse-210-enhancer-fails-duplicates.png b/content/guides/dg/images/eclipse/eclipse-210-enhancer-fails-duplicates.png new file mode 100644 index 000..5350251 Binary files /dev/null and b/content/guides/dg/images/eclipse/eclipse-210-enhancer-fails-duplicates.png differ http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/eclipse/eclipse-220-enhancer-fails-duplicates.png -- diff --git a/content/guides/dg/images/eclipse/eclipse-220-enhancer-fails-duplicates.png b/content/guides/dg/images/eclipse/eclipse-220-enhancer-fails-duplicates.png new file mode 100644 index 000..dbe247e Binary files /dev/null and b/content/guides/dg/images/eclipse/eclipse-220-enhancer-fails-duplicates.png differ http://git-wip-us.apache.org/repos/
[01/34] isis-site git commit: ISIS-1521: ugfun.adoc and FIXMEs
Repository: isis-site Updated Branches: refs/heads/asf-site 8af22d420 -> 6ad91949b http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/release-notes/release-notes.html -- diff --git a/content/release-notes/release-notes.html b/content/release-notes/release-notes.html index 298ecf0..0ccd077 100644 --- a/content/release-notes/release-notes.html +++ b/content/release-notes/release-notes.html @@ -1278,7 +1278,7 @@ https://issues.apache.org/jira/browse/ISIS-1421";>ISIS-1421 - Possible object deadlock when under load. 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 https://issues.apache.org/jira/browse/ISIS-1418";>ISIS-1418 - Support @Nullable for parameters and properties - https://issues.apache.org/jira/browse/ISIS-1413";>ISIS-1413 - Gradle script (and docs) in simpleapp archetype to auto-enhance and for dynamic layouts, also liveReload + 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 https://issues.apache.org/jira/browse/ISIS-1399";>ISIS-1399 - MetricsService to capture within InteractionContext, for profiling. https://issues.apache.org/jira/browse/ISIS-1390";>ISIS-1390 - Provide a default CommandService, to return CommandDefault. https://issues.apache.org/jira/browse/ISIS-1389";>ISIS-1389 - New InteractionContext service and Interaction to handle the execution of commands. @@ -1465,10 +1465,10 @@ 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 dynamic layouts functionality, others including new access into Apache Isis' metamodel. (Some of these new services were originally part of the (non-ASF) http://isisaddons.org";>Isis Addons). In addition, the DomainObjectContainer service has been deprecated, replaced by a number of fine-grained services (such as RepositoryService and MessageService). +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) http://isisaddons.org";>Isis Addons). In addition, the DomainObjectContainer service has been deprecated, replaced by a number of fine-grained services (such as RepositoryService and MessageService). -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 dynamic 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. +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 @@ -1479,7 +1479,7 @@ https://issues.apache.org/jira/browse/ISIS-1317";>ISIS-1317 - Allow single domain object class to be invalidated through a mixin. https://issues.apache.org/jira/browse/ISIS-1313";>ISIS-1313 - Enhancement to xsd goal of the isis-maven-plugin to ignore/include the Isis common schemas. https://issues.apache.org/jira/browse/ISIS-1292";>ISIS-1292 - Extend MetaModelService to surface packages, classes etc (as used by the security module). - https://issues.apache.org/jira/browse/ISIS-993";>ISIS-993 - Show different object members on multiple tabs (dynamic XML layouts) + https://issues.apache.org/jira/browse/ISIS-993";>ISIS-993 - Show different object members on multiple tabs (dynamic XML layouts) https://issues.apache.org/jira/browse/ISIS-784";>ISIS-784 - Change
[12/34] isis-site git commit: ISIS-1521: ugfun.adoc and FIXMEs
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugodn/ugodn.html -- diff --git a/content/guides/ugodn/ugodn.html b/content/guides/ugodn/ugodn.html index a2ab0a6..157a424 100644 --- a/content/guides/ugodn/ugodn.html +++ b/content/guides/ugodn/ugodn.html @@ -448,10 +448,10 @@ Apache Isis programmatically configures DataNucleus; any Apache Isis properties with the prefix isis.persistor.datanucleus.impl are passed through directly to the JDO/DataNucleus objectstore (with the prefix stripped off, of course). -DataNucleus will for itself also and read the META-INF/persistence.xml; at a minimum this defines the name of the "persistence unit". n theory it could also hold mappings, though in Apache Isis we tend to use annotations instead. +DataNucleus will for itself also and read the META-INF/persistence.xml; at a minimum this defines the name of the "persistence unit". In theory it could also hold mappings, though in Apache Isis we tend to use annotations instead. -Furthermore, DataNucleus will search for various other XML mapping files, eg mappings.jdo. A full list can be found http://www.datanucleus.org/products/datanucleus/jdo/metadata.html";>here. The metadata in these XML can be used to override the annotations of annotated entities; see Overriding JDO Annotatons for further discussion. +Furthermore, DataNucleus will search for various other XML mapping files, eg mappings.jdo. A full list can be found http://www.datanucleus.org/products/datanucleus/jdo/metadata.html";>here. The metadata in these XML can be used to override the annotations of annotated entities; see Overriding JDO Annotatons for further discussion. 2.1. Configuration Properties @@ -504,10 +504,10 @@ - that specifies the entities early rather than allow DataNucleus to find the entities lazily. Further discussion below. + that specifies the entities early rather than allow DataNucleus to find the entities lazily. Further discussion below. - This property is IGNORED if the isis.appManifest configuration property is specified, or if an AppManifest is provided programmatically. + This property is IGNORED if the isis.appManifest configuration property is specified, or if an AppManifest is provided programmatically. @@ -570,7 +570,7 @@ - We recommend this setting is disabled. Further discussion below. + We recommend this setting is disabled. Further discussion below. @@ -581,16 +581,43 @@ 2.2. persistence.xml https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugodn/_ugodn_configuring_persistence-xml.adoc""; style="float: right; font-size: small; padding: 6px; margin-top: -55px; "> Edit - + + DataNucleus will for itself also and read the META-INF/persistence.xml. In theory it can hold mappings and even connection strings. However, with Apache Isis we tend to use annotations instead and externalize connection strings. so its definition is extremely simply, specifying just the name of the "persistence unit". + + + Hereâs the one provided by the SimpleApp archetype: + + + + ++ + + + + + Normally all one needs to do is to change the persistence-unit name. + + - - TODO + + + + If you use Eclipse IDE on Windows then note the importance of the persistence.xml file to make DataNucleus enhancer work correctly. + + + See http://www.datanucleus.org/products/datanucleus/jdo/persistence.html#persistenceunit";>DataNucleus' documentation on persistence.xml to learn more. + 2.3. Eagerly Registering Entities @@ -609,12 +636,12 @@ - as of 1.9.0 the recommended (and simpler) approach is to specify an AppManifest, either as a isis.appManifest configurati+ +
[32/34] isis-site git commit: ISIS-1521: ugfun.adoc and FIXMEs
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/cgcom/cgcom.html -- diff --git a/content/guides/cgcom/cgcom.html b/content/guides/cgcom/cgcom.html index d089e18..cf7e282 100644 --- a/content/guides/cgcom/cgcom.html +++ b/content/guides/cgcom/cgcom.html @@ -427,7 +427,114 @@ - 2. Merging a Pull Request + 2. Applying Patches + https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_applying-patches.adoc""; style="float: right; font-size: small; padding: 6px; margin-top: -55px; "> Edit + + +If a patch is received on a JIRA ticket, then it should be reviewed and applied. The commands are slightly different for diff files vs patch files. + + +2.1. Diff files + + If a diff file has been provided, then it can easily be applied using eGitâs wizards (Eclipseâs Git integration)ââ¬Â¦ + + + + + + + FIXME - this stuff needs fleshing out â¦â + + + + + + +2.2. Patch files + + If a patch file has been provided, then it can be applied using command line tools. + + + 2.2.1. Inspect the patch + + First, take a look at what changes are in the patch. You can do this easily with git apply + + + + git apply --stat ISIS-xxx.patch + + + + Note that this command does not apply the patch, but only shows you the stats about what itâââ‰â¢ll do. After peeking into the patch file with your favorite editor, you can see what the actual changes are. + + + Next, youâre interested in how troublesome the patch is going to be. Git allows you to test the patch before you actually apply it. + + + + git apply --check ISIS-xxx.patch + + + + If you donât get any errors, the patch has no conflicts. Otherwise you may see what trouble youâââ‰â¢ll run into. + + + + 2.2.2. Apply a (clean) patch + + To apply a clean patch (adding the items and commit/signoff in a single step), use git am: + + + + git am --signoff < ISIS-xxx.patch + + + + This preserves the original authorâs commit message. + + + However, this can fail if the patch file does not contain the original committers email address. In this case you will need to abort the am session: + + + + git am abort + + + + and continue on by applying a non-clean patch, as described next. + + + + 2.2.3. Apply a (non-clean) patch + + If the patch does not apply cleanly, then the original authors commit message cannot be preserved. This sequence in this case is: + + + + git apply ISIS-xxx.patch + + + + Fix up any issues. The add and commit as usual + + + + git add . +git commit -am "" --signoff + + + + The --signoff simply adds a line to the commit message indicating you have signed off the commit. + + + Information adapted from https://ariejan.net/2009/10/26/how-to-create-and-apply-a-patch-with-git/";>this blog post and http://wiki.eclipse.org/Jetty/Contributor/Contributing_Patches";>this wiki page. + + + + + + + 3. Merging a Pull Request https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_merging-a-pull-request.adoc""; style="float: right; font-size: small; padding: 6px; margin-top: -55px; "> Edit @@ -437,7 +544,7 @@ The script will merge the fork into a temporary branch, and then run a build. Once you are happy, you can commit. -2.1. Process and Usage +3.1. Process and Usage The overall process is as follows: @@ -456,7 +563,7 @@ -2.2. Prerequisites +3.2. Prerequisites The script uses 'jq' to parse JSON. To install: @@ -482,7 +589,7 @@ -2.3. Syntax +3.3. Syntax The syntax is: @@ -516,7 +623,7 @@
[08/34] isis-site git commit: ISIS-1521: ugfun.adoc and FIXMEs
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugtst/ugtst.html -- diff --git a/content/guides/ugtst/ugtst.html b/content/guides/ugtst/ugtst.html index 03b6ccc..2a0c45a 100644 --- a/content/guides/ugtst/ugtst.html +++ b/content/guides/ugtst/ugtst.html @@ -498,7 +498,7 @@ For most other frameworks that would require having to test the application in a very heavy weight/fragile fashion using a tool such as http://docs.seleniumhq.org/";>Selenium, driving a web browser to navigate . In this regard though, Apache Isis has a significant trick up its sleeve. Because Apache Isis implements the naked objects pattern, it means that the UI is generated automatically from the UI. This therefore allows for other implementations of the UI. - The WrapperFactory domain service allows a test to wrap domain objects and thus to interact with said objects "as if" through the UI: + The WrapperFactory domain service allows a test to wrap domain objects and thus to interact with said objects "as if" through the UI: @@ -593,7 +593,7 @@ CustomerRepository customers; For integration tests though it can be difficult to keep the "given" short; there could be a lot of prerequisite data that needs to exist before you can actually exercise your system. Moreover, however we do set up that data, but we also want to do so in a way that is resilient to the system changing over time. - The solution that Apache Isis provides is a domain service called Fixture Scripts, that defines a pattern and supporting classes to help ensure that the "data setup" for your tests are reusable and maintainable over time. + The solution that Apache Isis provides is a domain service called Fixture Scripts, that defines a pattern and supporting classes to help ensure that the "data setup" for your tests are reusable and maintainable over time. @@ -689,7 +689,7 @@ CustomerRepository customers; first, Sets align more closely to the relational model than do Lists. A List must have an additional index to specify order. second, SortedSet is preferable to Set because then the order is well-defined and predictable (to an end user, to the programmer). - The ObjectContracts utility class substantially simplifies the task of implementing Comparable in your domain classes. + The ObjectContracts utility class substantially simplifies the task of implementing Comparable in your domain classes. third, if the relationship is bidirectional then JDO/Objectstore will automatically maintain the relationship. @@ -715,7 +715,7 @@ CustomerRepository customers; 3.1.2. Bidirectional - This contract test automatically checks that bidirectional 1:m or 1:1 associations are being maintained correctly (assuming that they follow the mutual registration pattern + This contract test automatically checks that bidirectional 1:m or 1:1 associations are being maintained correctly (assuming that they follow the mutual registration pattern @@ -724,7 +724,7 @@ CustomerRepository customers; - (If using the JDO objectstore, then) there is generally no need to programmatically maintain 1:m relationships (indeed it may introduce subtle errors). For more details, see here. Also check out the templates in the developers' guide (live templates for IntelliJ / editor templates for Eclipse) for further guidance. + (If using the JDO objectstore, then) there is generally no need to programmatically maintain 1:m relationships (indeed it may introduce subtle errors). For more details, see here. Also check out the templates in the developers' guide (live templates for IntelliJ / editor templates for Eclipse) for further guidance. @@ -1096,7 +1096,7 @@ CustomerRepository customers; 3.4. Maven Configuration https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugtst/_ugtst_unit-test-support_maven-configuration.adoc""; style="float: right; font-size: small; padding: 6px; margin-top: -55px; "> Edit - Apache Isis' unit test support is automatically configured if you use the SimpleApp archetype. To set it up manually, update the pom.xml of your domain object model module: + Apache Isis' unit test support is automatically configured if you use the SimpleApp archetype. To set it up manually, update the pom.xml of your domain object model module: @@ -1230,7 +1230,7 @@ Cust
[02/34] isis-site git commit: ISIS-1521: ugfun.adoc and FIXMEs
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/migration-notes/migration-notes.html -- diff --git a/content/migration-notes/migration-notes.html b/content/migration-notes/migration-notes.html index acbe37b..21ed853 100644 --- a/content/migration-notes/migration-notes.html +++ b/content/migration-notes/migration-notes.html @@ -409,7 +409,7 @@ isis.reflector.validator.noParamsOnly -When searching for disableXxx() or 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). +When searching for disableXxx() or 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. @@ -478,7 +478,7 @@ The new service also supports the notion of published property edits; the new @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 @Action#publishingPayloadFactory() nor the @DomainObject#publishingPayloadFactory() are supported by PublisherService; instead the consumers of the events are expected to callback for any additional information, eg using Resful Objects viewer. + Conversely, neither the @Action#publishingPayloadFactory() nor the @DomainObject#publishingPayloadFactory() are supported by PublisherService; instead the consumers of the events are expected to callback for any additional information, eg using Resful Objects viewer. @@ -666,10 +666,10 @@ Dynamic XML Layouts - The major new feature in 1.12.0 is dynamic XML layouts, providing much enhanced support for custom layouts. + The major new feature in 1.12.0 is 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 (@DomainObjectLayout, @PropertyLayout, @CollectionLayout, @ActionLayout, @MemberOrder and @MemberGroupLayout), and also from any Xxx.layout.json file that might already exist. There is therefore no requirement to move to the new more flexible XML-based layout. + The new Xxx.layout.xml file is optional; without it domain objects will continue to be rendered as before, using metadata from annotations (@DomainObjectLayout, @PropertyLayout, @CollectionLayout, @ActionLayout, @MemberOrder and @MemberGroupLayout), and also from any Xxx.layout.json file that might already exist. 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. @@ -698,7 +698,7 @@ 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 security, or alternatively you can write subscribers to veto the visibility of these members by subscribing to their respective domain events. + 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 security, or alternatively you can write subscribers to veto the visibility of these members by subscribing to their respective domain events. @@ -968,7 +968,7 @@ org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjec isis-maven-plugin - The way that the
[18/34] isis-site git commit: ISIS-1521: ugfun.adoc and FIXMEs
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugbtb/images/hints-and-tips/action-semantics-are-you-sure.png -- diff --git a/content/guides/ugbtb/images/hints-and-tips/action-semantics-are-you-sure.png b/content/guides/ugbtb/images/hints-and-tips/action-semantics-are-you-sure.png new file mode 100644 index 000..f0cf269 Binary files /dev/null and b/content/guides/ugbtb/images/hints-and-tips/action-semantics-are-you-sure.png differ http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugbtb/images/hints-and-tips/are-you-sure-happy-case.png -- diff --git a/content/guides/ugbtb/images/hints-and-tips/are-you-sure-happy-case.png b/content/guides/ugbtb/images/hints-and-tips/are-you-sure-happy-case.png new file mode 100644 index 000..1981c09 Binary files /dev/null and b/content/guides/ugbtb/images/hints-and-tips/are-you-sure-happy-case.png differ http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugbtb/images/hints-and-tips/are-you-sure-sad-case.png -- diff --git a/content/guides/ugbtb/images/hints-and-tips/are-you-sure-sad-case.png b/content/guides/ugbtb/images/hints-and-tips/are-you-sure-sad-case.png new file mode 100644 index 000..6182447 Binary files /dev/null and b/content/guides/ugbtb/images/hints-and-tips/are-you-sure-sad-case.png differ http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugbtb/images/hints-and-tips/are-you-sure.png -- diff --git a/content/guides/ugbtb/images/hints-and-tips/are-you-sure.png b/content/guides/ugbtb/images/hints-and-tips/are-you-sure.png new file mode 100644 index 000..e1a76fe Binary files /dev/null and b/content/guides/ugbtb/images/hints-and-tips/are-you-sure.png differ
[25/34] isis-site git commit: ISIS-1521: ugfun.adoc and FIXMEs
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/rgcfg/rgcfg.html -- diff --git a/content/guides/rgcfg/rgcfg.html b/content/guides/rgcfg/rgcfg.html index 93e4264..6fbd4c8 100644 --- a/content/guides/rgcfg/rgcfg.html +++ b/content/guides/rgcfg/rgcfg.html @@ -387,7 +387,7 @@ - This guide covers only the core configuration properties (relating to Apache Isis' metamodel and runtime management). Configuration properties for the viewers can be found in the Wicket Viewer guide and the RestfulObjects viewer guide. Likewise details of configuring security (Apache Shiro) can be found in the Security guide, and details for configuring the DataNucleus Object Store can be found in the DataNucleus guide. + This guide covers only the core configuration properties (relating to Apache Isis' metamodel and runtime management). Configuration properties for the viewers can be found in the Wicket Viewer guide and the RestfulObjects viewer guide. Likewise details of configuring security (Apache Shiro) can be found in the Security guide, and details for configuring the DataNucleus Object Store can be found in the DataNucleus guide. @@ -400,7 +400,7 @@ - By default the configuration values are part of the built WAR file. Details on how to override these configuration properties externally for different environments can be found in the Beyond the Basics guide, (deployment chapter). + By default the configuration values are part of the built WAR file. Details on how to override these configuration properties externally for different environments can be found in the Beyond the Basics guide, (deployment chapter). @@ -461,12 +461,12 @@ (For mostly historical reasons) development mode is actually called SERVER_PROTOTYPE, while production mode is called just SERVER. (There is also a deprecated mode called SERVER_EXPLORATION; for all intents and purposes this can considered as an alias of SERVER_PROTOTYPE). -When running in development/prototyping mode, certain capabilities are enabled; most notably any actions restricted to prototyping mode (using @Action#restrictTo()) will be available. +When running in development/prototyping mode, certain capabilities are enabled; most notably any actions restricted to prototyping mode (using @Action#restrictTo()) will be available. 2.1. Using the Wicket Viewer - Most of the youâre likely to run Apache Isis using the Wicket viewer. In this case Apache Isis' "deployment type" concept maps to Wicketâs "configuration" concept: + Most of the youâre likely to run Apache Isis using the Wicket viewer. In this case Apache Isis' "deployment type" concept maps to Wicketâs "configuration" concept: @@ -532,10 +532,10 @@ 2.2. Restful Objects viewer only - Most Apache Isis applications will consist of at least the Wicket viewer and optionally the RestfulObjects viewer. When both viewers are deployed in the same app, then the bootstrapping is performed by Wicket, and so the deployment type is configured as described in the previous section. + Most Apache Isis applications will consist of at least the Wicket viewer and optionally the RestfulObjects viewer. When both viewers are deployed in the same app, then the bootstrapping is performed by Wicket, and so the deployment type is configured as described in the previous section. - In some cases though you may be using Apache Isis to provide a REST API only, that is, you wonât have deployed the Wicket viewer. In these cases your app will be bootstrapped using Apache Isis' IsisWebAppBootstrapper. + In some cases though you may be using Apache Isis to provide a REST API only, that is, you wonât have deployed the Wicket viewer. In these cases your app will be bootstrapped using Apache Isis' IsisWebAppBootstrapper. In this case the deployment type is specified through an Apache Isis-specific context parameter, called isis.deploymentType: @@ -572,7 +572,7 @@ 2.3. Overriding the deployment type - If bootstrapping the application using Apache Isis' org.apache.isis.WebServer then it is possible to override the deployment type using the -t (or --type) flag. + If bootstrapping the application using Apache Isis' org.apache.isis.WebServer then it is possible to override the deployment type using the -t (or --type) flag. For example: @@ -586,7 +586,7 @@ where "â¦â"
[34/34] isis-site git commit: ISIS-1521: ugfun.adoc and FIXMEs
ISIS-1521: ugfun.adoc and FIXMEs Project: http://git-wip-us.apache.org/repos/asf/isis-site/repo Commit: http://git-wip-us.apache.org/repos/asf/isis-site/commit/6ad91949 Tree: http://git-wip-us.apache.org/repos/asf/isis-site/tree/6ad91949 Diff: http://git-wip-us.apache.org/repos/asf/isis-site/diff/6ad91949 Branch: refs/heads/asf-site Commit: 6ad91949b4b58efb37aed25937acf77dad354a19 Parents: 8af22d4 Author: Dan Haywood Authored: Thu Apr 20 09:35:38 2017 +0100 Committer: Dan Haywood Committed: Thu Apr 20 09:37:58 2017 +0100 -- content/elasticlunr/index.json | 2 +- content/guides/cgcom/cgcom.html |665 +- content/guides/cgcom/cgcom.pdf | 11036 +- content/guides/dg/dg.html |731 +- content/guides/dg/dg.pdf| 13634 +- .../guides/dg/images/asciidoctor/ditaa-demo.png |Bin 0 -> 5512 bytes .../dg/images/asciidoctor/graphviz-demo.png |Bin 0 -> 17255 bytes .../dg/images/asciidoctor/plantuml-demo.png |Bin 0 -> 6965 bytes .../eclipse/eclipse-010-windows-preferences.png |Bin 0 -> 37417 bytes .../eclipse/eclipse-025-project-properties.png |Bin 0 -> 76584 bytes .../eclipse/eclipse-100-project-support.png |Bin 0 -> 54952 bytes .../eclipse/eclipse-110-project-support.png |Bin 0 -> 53218 bytes .../dg/images/eclipse/eclipse-120-console.png |Bin 0 -> 12887 bytes .../eclipse-200-enhancer-fails-duplicates.png |Bin 0 -> 47581 bytes .../eclipse-210-enhancer-fails-duplicates.png |Bin 0 -> 11776 bytes .../eclipse-220-enhancer-fails-duplicates.png |Bin 0 -> 54752 bytes .../010-installing/010-welcome-page.png |Bin 0 -> 29192 bytes .../010-installing/020-choose-location.png |Bin 0 -> 24433 bytes .../010-installing/030-installation-options.png |Bin 0 -> 18300 bytes .../010-installing/040-start-menu-folder.png|Bin 0 -> 26120 bytes .../010-installing/050-completing.png |Bin 0 -> 26499 bytes .../060-import-settings-or-not.png |Bin 0 -> 11691 bytes .../010-installing/070-set-ui-theme.png |Bin 0 -> 87739 bytes .../010-new-project-create.png |Bin 0 -> 14048 bytes .../020-java-project-setup-jdk.png |Bin 0 -> 29837 bytes .../030-java-project-select-jdk.png |Bin 0 -> 16597 bytes .../020-create-new-project/040-sdk-selected.png |Bin 0 -> 24884 bytes .../050-name-and-location.png |Bin 0 -> 11407 bytes .../020-create-new-project/060-create-dir.png |Bin 0 -> 8424 bytes .../010-settings-import-jar.png |Bin 0 -> 13712 bytes .../030-import-settings/020-select-all.png |Bin 0 -> 8863 bytes .../030-import-settings/030-restart.png |Bin 0 -> 8209 bytes .../030-import-settings/040-file-templates.png |Bin 0 -> 39841 bytes .../030-import-settings/050-live-templates.png |Bin 0 -> 38456 bytes .../010-build-automatically.png |Bin 0 -> 50767 bytes .../020-annotation-processor.png|Bin 0 -> 67560 bytes .../010-maven-installation.png |Bin 0 -> 43353 bytes .../020-maven-configuration.png |Bin 0 -> 53554 bytes .../044-other-settings-misc/010-auto-import.png |Bin 0 -> 31963 bytes .../050-some-plugins/010-some-plugins.png |Bin 0 -> 45812 bytes .../020-some-plugins-confirmation.png |Bin 0 -> 35687 bytes .../maven-helper/010-dependency-tab.png |Bin 0 -> 64588 bytes .../maven-helper/020-dependency-as-tree.png |Bin 0 -> 44040 bytes .../maven-helper/030-maven-run-goal.png |Bin 0 -> 91806 bytes .../maven-helper/040-maven-quick-run.png|Bin 0 -> 83850 bytes .../010-duplicate-classes.png |Bin 0 -> 115681 bytes .../070-advanced/002-compiler-exclude.png |Bin 0 -> 31775 bytes .../070-advanced/004-gradle-output.png |Bin 0 -> 23091 bytes .../070-advanced/005-gradle-output.png |Bin 0 -> 30890 bytes .../070-advanced/006-livereload-js.png |Bin 0 -> 80581 bytes ...10-dcevm-list-of-found-jdk-installations.png |Bin 0 -> 44267 bytes .../070-advanced/020-dcevm-once-installed.png |Bin 0 -> 44435 bytes .../030-dcevm-intellij-project-structure.png|Bin 0 -> 62740 bytes .../040-dcevm-run-configuration.png |Bin 0 -> 47864 bytes .../010-maven-modules-view.png |Bin 0 -> 103134 bytes .../020-adding-another-module.png |Bin 0 -> 23846 bytes .../030-other-module-added.png |Bin 0 -> 111516 bytes .../040-ignoring-modules.png|Bin 0 -> 120475 bytes .../050-ignoring-modules-2.png |Bin 0 -> 17050 bytes .../060-ignored-modules.png
[16/34] isis-site git commit: ISIS-1521: ugfun.adoc and FIXMEs
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugbtb/ugbtb.pdf -- diff --git a/content/guides/ugbtb/ugbtb.pdf b/content/guides/ugbtb/ugbtb.pdf index 663c921..2882a1b 100644 --- a/content/guides/ugbtb/ugbtb.pdf +++ b/content/guides/ugbtb/ugbtb.pdf @@ -4,16 +4,16 @@ << /Title (Beyond the Basics) /Creator (Asciidoctor PDF 1.5.0.alpha.11, based on Prawn 1.3.0) /Producer (Asciidoctor PDF 1.5.0.alpha.11, based on Prawn 1.3.0) -/CreationDate (D:20170411195503+01'00') -/ModDate (D:20170411195503+01'00') +/CreationDate (D:20170420093323+01'00') +/ModDate (D:20170420093323+01'00') >> endobj 2 0 obj << /Type /Catalog /Pages 3 0 R /Names 16 0 R -/Outlines 657 0 R -/PageLabels 708 0 R +/Outlines 532 0 R +/PageLabels 578 0 R /PageMode /UseOutlines /OpenAction [7 0 R /FitH 842.89] /ViewerPreferences << /DisplayDocTitle true @@ -22,8 +22,8 @@ endobj endobj 3 0 obj << /Type /Pages -/Count 85 -/Kids [7 0 R 10 0 R 12 0 R 14 0 R 39 0 R 48 0 R 52 0 R 67 0 R 83 0 R 89 0 R 100 0 R 110 0 R 116 0 R 123 0 R 126 0 R 132 0 R 136 0 R 138 0 R 140 0 R 146 0 R 150 0 R 156 0 R 162 0 R 168 0 R 172 0 R 174 0 R 185 0 R 196 0 R 203 0 R 215 0 R 218 0 R 226 0 R 239 0 R 245 0 R 253 0 R 256 0 R 263 0 R 266 0 R 270 0 R 272 0 R 274 0 R 279 0 R 283 0 R 291 0 R 299 0 R 304 0 R 315 0 R 324 0 R 335 0 R 337 0 R 349 0 R 359 0 R 362 0 R 370 0 R 372 0 R 374 0 R 385 0 R 389 0 R 403 0 R 412 0 R 418 0 R 421 0 R 427 0 R 435 0 R 447 0 R 454 0 R 459 0 R 463 0 R 469 0 R 476 0 R 482 0 R 492 0 R 500 0 R 507 0 R 517 0 R 523 0 R 528 0 R 531 0 R 535 0 R 539 0 R 541 0 R 544 0 R 548 0 R 550 0 R 554 0 R] +/Count 68 +/Kids [7 0 R 10 0 R 12 0 R 14 0 R 39 0 R 56 0 R 63 0 R 71 0 R 74 0 R 81 0 R 84 0 R 88 0 R 90 0 R 92 0 R 97 0 R 101 0 R 109 0 R 118 0 R 122 0 R 133 0 R 142 0 R 153 0 R 155 0 R 168 0 R 174 0 R 180 0 R 186 0 R 190 0 R 199 0 R 208 0 R 210 0 R 217 0 R 225 0 R 227 0 R 234 0 R 238 0 R 241 0 R 256 0 R 258 0 R 270 0 R 274 0 R 288 0 R 298 0 R 302 0 R 305 0 R 311 0 R 319 0 R 331 0 R 338 0 R 343 0 R 346 0 R 352 0 R 359 0 R 365 0 R 375 0 R 384 0 R 391 0 R 401 0 R 407 0 R 412 0 R 415 0 R 419 0 R 423 0 R 425 0 R 429 0 R 433 0 R 435 0 R 439 0 R] >> endobj 4 0 obj @@ -80,15 +80,15 @@ endobj << /Type /Font /BaseFont /CI+NotoSerif /Subtype /TrueType -/FontDescriptor 710 0 R +/FontDescriptor 580 0 R /FirstChar 32 /LastChar 255 -/Widths 712 0 R -/ToUnicode 711 0 R +/Widths 582 0 R +/ToUnicode 581 0 R >> endobj 9 0 obj -<< /Length 32561 +<< /Length 32420 >> stream q @@ -191,7 +191,7 @@ ET BT 48.24 714.896 Td /F1.0 10.5 Tf -<322e2056696577204d6f64656c73> Tj +<322e206931386e> Tj ET 0.000 0.000 0.000 SCN @@ -200,9 +200,9 @@ ET 0.200 0.200 0.200 SCN BT -128.284243 714.896 Td +85.52824 714.896 Td /F1.0 10.5 Tf -<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj +<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj ET 0.000 0.000 0.000 SCN @@ -231,7 +231,7 @@ ET BT 60.24 696.41599 Td /F1.0 10.5 Tf -<322e312e20557365204361736573> Tj +<322e312e20496d706c656d656e746174696f6e20417070726f616368> Tj ET 0.000 0.000 0.000 SCN @@ -240,9 +240,9 @@ ET 0.200 0.200 0.200 SCN BT -133.62874 696.41599 Td +213.796243 696.41599 Td /F1.0 10.5 Tf -<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj +<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj ET 0.000 0.000 0.000 SCN @@ -271,7 +271,18 @@ ET BT 60.24 677.93599 Td /F1.0 10.5 Tf -[<322e322e2050726f6772> 20.01953125 <616d6d696e67204d6f64656c>] TJ +<322e322e20> Tj +ET + +0.000 0.000 0.000 SCN +0.000 0.000 0.000 scn +0.694 0.129 0.275 scn +0.694 0.129 0.275 SCN + +BT +79.9485 677.93599 Td +/F3.0 10.5 Tf +<5472616e736c6174696f6e53657276696365> Tj ET 0.000 0.000 0.000 SCN @@ -280,9 +291,9 @@ ET 0.200 0.200 0.200 SCN BT -187.07374 677.93599 Td +176.3847499988 677.93599 Td /F1.
[06/34] isis-site git commit: ISIS-1521: ugfun.adoc and FIXMEs
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvro/ugvro.pdf -- diff --git a/content/guides/ugvro/ugvro.pdf b/content/guides/ugvro/ugvro.pdf index e01cfc4..9f05ed1 100644 --- a/content/guides/ugvro/ugvro.pdf +++ b/content/guides/ugvro/ugvro.pdf @@ -4,16 +4,16 @@ << /Title (Restful Objects Viewer) /Creator (Asciidoctor PDF 1.5.0.alpha.11, based on Prawn 1.3.0) /Producer (Asciidoctor PDF 1.5.0.alpha.11, based on Prawn 1.3.0) -/CreationDate (D:20170411195608+01'00') -/ModDate (D:20170411195608+01'00') +/CreationDate (D:20170420093432+01'00') +/ModDate (D:20170420093432+01'00') >> endobj 2 0 obj << /Type /Catalog /Pages 3 0 R /Names 14 0 R -/Outlines 198 0 R -/PageLabels 222 0 R +/Outlines 215 0 R +/PageLabels 241 0 R /PageMode /UseOutlines /OpenAction [7 0 R /FitH 842.89] /ViewerPreferences << /DisplayDocTitle true @@ -22,8 +22,8 @@ endobj endobj 3 0 obj << /Type /Pages -/Count 22 -/Kids [7 0 R 10 0 R 12 0 R 35 0 R 43 0 R 48 0 R 64 0 R 69 0 R 79 0 R 81 0 R 91 0 R 94 0 R 97 0 R 101 0 R 103 0 R 112 0 R 117 0 R 128 0 R 136 0 R 141 0 R 143 0 R 150 0 R] +/Count 23 +/Kids [7 0 R 10 0 R 12 0 R 35 0 R 43 0 R 48 0 R 64 0 R 69 0 R 79 0 R 81 0 R 91 0 R 94 0 R 97 0 R 101 0 R 103 0 R 112 0 R 117 0 R 130 0 R 138 0 R 143 0 R 145 0 R 158 0 R 164 0 R] >> endobj 4 0 obj @@ -80,15 +80,15 @@ endobj << /Type /Font /BaseFont /DX+NotoSerif /Subtype /TrueType -/FontDescriptor 224 0 R +/FontDescriptor 243 0 R /FirstChar 32 /LastChar 255 -/Widths 226 0 R -/ToUnicode 225 0 R +/Widths 245 0 R +/ToUnicode 244 0 R >> endobj 9 0 obj -<< /Length 17703 +<< /Length 19348 >> stream q @@ -631,7 +631,7 @@ ET BT 60.24 511.61598 Td /F1.0 10.5 Tf -<342e352e20537570706f7274696e67206f7468657220526570726573656e746174696f6e73> Tj +<342e352e204f7468657220526570726573656e746174696f6e73> Tj ET 0.000 0.000 0.000 SCN @@ -640,9 +640,9 @@ ET 0.200 0.200 0.200 SCN BT -250.682744 511.61598 Td +197.237745 511.61598 Td /F1.0 10.5 Tf -<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj +<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj ET 0.000 0.000 0.000 SCN @@ -669,9 +669,9 @@ ET 0.200 0.200 0.200 SCN BT -48.24 493.13598 Td +60.24 493.13598 Td /F1.0 10.5 Tf -[<352e20436f6e6669677572> 20.01953125 <6174696f6e2050726f70657274696573>] TJ +<342e362e20476c6f62616c20436f6e6669672050726f707320284465707265636174656429> Tj ET 0.000 0.000 0.000 SCN @@ -680,9 +680,9 @@ ET 0.200 0.200 0.200 SCN BT -186.548743 493.13598 Td +250.682744 493.13598 Td /F1.0 10.5 Tf -<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj +<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj ET 0.000 0.000 0.000 SCN @@ -700,7 +700,7 @@ ET BT 535.30099 493.13598 Td /F1.0 10.5 Tf -<3136> Tj +<3135> Tj ET 0.000 0.000 0.000 SCN @@ -709,9 +709,9 @@ ET 0.200 0.200 0.200 SCN BT -60.24 474.65598 Td +48.24 474.65598 Td /F1.0 10.5 Tf -<352e312e205374616e64617264> Tj +[<352e20436f6e6669677572> 20.01953125 <6174696f6e2050726f70657274696573>] TJ ET 0.000 0.000 0.000 SCN @@ -720,9 +720,9 @@ ET 0.200 0.200 0.200 SCN BT -127.759245 474.65598 Td +186.548743 474.65598 Td /F1.0 10.5 Tf -<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj +<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj ET 0.000 0.000 0.000 SCN @@ -751,7 +751,7 @@ ET BT 60.24 456.175976 Td /F1.0 10.5 Tf -<352e322e2044657072656361746564> Tj +<352e312e205374616e64617264> Tj ET 0.000 0.000 0.000 SCN @@ -760,9 +760,9 @@ ET 0.200 0.200 0.200 SCN BT -138.448242 456.175976
[27/58] [abbrv] isis git commit: more on ugfun.adoc - identifiers, programming model for services etc
more on ugfun.adoc - identifiers, programming model for services etc Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/2ca2ea18 Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/2ca2ea18 Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/2ca2ea18 Branch: refs/heads/master Commit: 2ca2ea184da8d9ef1a65e22139d0a2030290a2c2 Parents: 2f2714c Author: Dan Haywood Authored: Mon Apr 17 14:51:19 2017 +0100 Committer: Dan Haywood Committed: Thu Apr 20 09:09:30 2017 +0100 -- .../guides/ugfun/_ugfun_building-blocks.adoc| 4 +- .../ugfun/_ugfun_building-blocks_events.adoc| 61 +- ...un_building-blocks_events_domain-events.adoc | 40 ...building-blocks_events_lifecycle-events.adoc | 32 +++ ..._ugfun_building-blocks_events_ui-events.adoc | 28 +++ .../_ugfun_building-blocks_identifiers.adoc | 4 +- ...lding-blocks_identifiers_title-and-icon.adoc | 24 ++- .../ugfun/_ugfun_building-blocks_modules.adoc | 9 + ...ugfun_programming-model_domain-entities.adoc | 129 ...ugfun_programming-model_domain-services.adoc | 209 +-- ...gfun_programming-model_view-models_jaxb.adoc | 10 + ..._programming-model_view-models_non-jaxb.adoc | 12 ++ ..._ugfun_ui-hints_object-titles-and-icons.adoc | 12 +- 13 files changed, 350 insertions(+), 224 deletions(-) -- http://git-wip-us.apache.org/repos/asf/isis/blob/2ca2ea18/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_building-blocks.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_building-blocks.adoc b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_building-blocks.adoc index 8c61796..fe81aa7 100644 --- a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_building-blocks.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_building-blocks.adoc @@ -16,8 +16,6 @@ include::_ugfun_building-blocks_object-members.adoc[leveloffset=+1] include::_ugfun_building-blocks_events.adoc[leveloffset=+1] -include::_ugfun_building-blocks_identifiers.adoc[leveloffset=+1] - -nclude::_ugfun_building-blocks_modules.adoc[leveloffset=+1] +include::_ugfun_building-blocks_modules.adoc[leveloffset=+1] http://git-wip-us.apache.org/repos/asf/isis/blob/2ca2ea18/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_building-blocks_events.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_building-blocks_events.adoc b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_building-blocks_events.adoc index ded8c28..1746b40 100644 --- a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_building-blocks_events.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_building-blocks_events.adoc @@ -11,7 +11,7 @@ These events enable other domain services (possibly in other modules) to influen [TIP] It is also possible to simulate the rendering of a domain object by way of the xref:../rgsvc/rgsvc.adoc#_rgsvc_api_WrapperFactory[`WrapperFactory`]. -This +This allows business rules to be enforced for programmatic interactions between objects. To receive the events, the domain service should subscribe to the xref:../rgsvc/rgsvc.adoc#_rgsvc_api_EventBusService[`EventBusService`], and implement an appropriately annotated method to receive the events. @@ -20,60 +20,7 @@ The framework has several categories of events: domain events, UI events and lif These are explored in the sections below. - -== Domain Events -Domain events are fired for each object member (property, collection or action). - -By default, rendering a property causes a `PropertyDomainEvent` to be fired, though the xref:../rgant/rgant.adoc#_rgant_Property_domainEvent[`@Property#domainEvent()`] attribute allows a custom subclass to be specified if necessary. -Similarly, rendering a collection causes a `CollectionDomainEvent` to be fired, and rendering an action causes an `ActionDomainEvent` to be fired. - -In fact, each event can be fired up to five times, with the event's `getEventPhase()` method indicating to the subscriber the phase: - -* *hide* phase allows the subscriber to hide the member - -* *disable* phase allows the subscriber to disable the member. + - -For a property this makes it read-only; for an action this makes it "greyed out". -(Collections are implicitly read-only). - -* *validate* phase allows the subscriber to validate the proposed change. - -For a property this means validating the proposed new value of the property; for an action this means validating the action parameter arguments. -For example, a referential integrity restrict could be implemented here.
[49/58] [abbrv] isis git commit: completes ugfun.adoc - drop downs chapter
completes ugfun.adoc - drop downs chapter Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/3ce607ac Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/3ce607ac Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/3ce607ac Branch: refs/heads/master Commit: 3ce607acb48922313db91b5e6af42ea5d908db9d Parents: c1f4647 Author: Dan Haywood Authored: Wed Apr 19 15:49:59 2017 +0100 Committer: Dan Haywood Committed: Thu Apr 20 09:09:31 2017 +0100 -- .../ugfun/_ugfun_drop-downs-and-defaults.adoc | 192 --- 1 file changed, 167 insertions(+), 25 deletions(-) -- http://git-wip-us.apache.org/repos/asf/isis/blob/3ce607ac/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_drop-downs-and-defaults.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_drop-downs-and-defaults.adoc b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_drop-downs-and-defaults.adoc index 44bab58..6b2fef1 100644 --- a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_drop-downs-and-defaults.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_drop-downs-and-defaults.adoc @@ -4,62 +4,204 @@ :_basedir: ../../ :_imagesdir: images/ -NOTE: FIXME +Invoking an action whose parameters are primitives or values (int, date, string etc) is simple: the user can just type in or use a date picker. +Invoking an action with a parameter of reference type (such as `Customer` or `Order`) requires the viewer to provide some mechanism by which the end-user can select the relevant instance. +If the list of available options is fixed then the developer can provided a list a xref:../rgcms/rgcms.adoc#_rgcms_methods_prefixes_choices[`choices...()`] supporting method (for either and action parameter or when editing a property). +These are rendered in a drop-down. -== For Properties +If the list of available options is much larger, then the developer can use an xref:../rgcms/rgcms.adoc#_rgcms_methods_prefixes_autoComplete[`autoComplete...()`] supporting method. +The user user enters a few characters and this is used to search for matching reference(s), again rendered in a drop-down. -NOTE: FIXME +Similarly, when invoking an action, there may well be suitable defaults for the action arguments. +For example, if placing an `Order` then -- even if the `Product` argument might not have a sensible default -- the quantity argument could reasonably be defaulted to 1. +Or, the `Product` might indeed have a default, say the product previously placed by this user. +The developer indicates this using a xref:../rgcms/rgcms.adoc#_rgcms_methods_prefixes_default[`default...()`] supporting method. -### Choices for Property -NOTE: FIXME - xref:../rgcms/rgcms.adoc#_rgcms_methods_prefixes_choices[`choices...()`] +== Choices and Default -### Auto-complete for property +For example, _choices_ for a property are specified using: -NOTE: FIXME - xref:../rgcms/rgcms.adoc#_rgcms_methods_prefixes_autoComplete[`autoComplete...()`] +[source,java] + +@Getter @Setter +private String paymentMethod; -### Default for property +public List choicesPaymentMethod() { +return Arrays.asList("Visa", "Mastercard", "Amex"); +} + -NOTE: FIXME - xref:../rgcms/rgcms.adoc#_rgcms_methods_prefixes_default[`default...()`] +Note the "choices" prefix, while the suffix matches up with the getter. +Or, for an action the _choices_ and a suitable _default_ method would be: +[source,java] + +public Order changePaymentMethod( +@ParameterLayout(named="Payment Method") +String paymentMethod) { +setPaymentMethod(paymentMethod); +return this; +} +public List choices0ChangePaymentMethod() { +return Arrays.asList("Visa", "Mastercard", "Amex"); +} -== For Action Parameters +public String default0ChangePaymentMethod() { +return getPaymentMethod(); +} + -NOTE: FIXME +Note the "choices" and "default" prefix, the digit is the 0-based argument number, while the suffix matches up with the action's name. -### Choices for action parameter -NOTE: FIXME - xref:../rgcms/rgcms.adoc#_rgcms_methods_prefixes_choices[`choices...()`] +== AutoComplete -### Dependent choices for action params +The _autocomplete_ is similar to _choices_, but accepts a string parameter, to search for matching results. +A property for example might have: -NOTE: FIXME - xref:../rgcms/rgcms.adoc#_rgcms_methods_prefixes_choices[`choices...()`] +[source,java] + +@Getter @Setter +private Product product; -### Auto-complete for action param +public List autoCompleteProduct(@MinLength(2) String search) { +return productRepository.findByReferenceOrName(search); +} + -NOTE: FIXM
[25/58] [abbrv] isis git commit: ISIS-1521: working on ugfun.adoc
ISIS-1521: working on ugfun.adoc Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/2f2714cc Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/2f2714cc Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/2f2714cc Branch: refs/heads/master Commit: 2f2714cc32230f4304256c07bdd48f99c8b63ab0 Parents: 31534e5 Author: Dan Haywood Authored: Mon Apr 17 11:31:17 2017 +0100 Committer: Dan Haywood Committed: Thu Apr 20 09:09:30 2017 +0100 -- .../src/main/asciidoc/downloads.adoc| 3 +- .../guides/rgcms/_rgcms_schema-common.adoc | 2 +- .../ugbtb/_ugbtb_decoupling_contributions.adoc | 81 +-- .../guides/ugbtb/_ugbtb_decoupling_mixins.adoc | 269 .../guides/ugbtb/_ugbtb_view-models.adoc| 18 - .../guides/ugbtb/_ugbtb_view-models_jaxb.adoc | 415 .../_ugbtb_view-models_programming-model.adoc | 89 --- .../src/main/asciidoc/guides/ugbtb/ugbtb.adoc | 1 - .../ugfun/_ugfun_available-domain-services.adoc | 18 + ...able-domain-services_framework-provided.adoc | 107 ...vailable-domain-services_incode-catalog.adoc | 31 + ...n_available-domain-services_isis-addons.adoc | 41 ++ .../guides/ugfun/_ugfun_building-blocks.adoc| 23 + .../ugfun/_ugfun_building-blocks_events.adoc| 79 +++ .../_ugfun_building-blocks_identifiers.adoc | 14 + .../_ugfun_building-blocks_identifiers_oid.adoc | 47 ++ ...lding-blocks_identifiers_title-and-icon.adoc | 27 + .../ugfun/_ugfun_building-blocks_metamodel.adoc | 32 + .../ugfun/_ugfun_building-blocks_modules.adoc | 15 + .../_ugfun_building-blocks_object-members.adoc | 87 +++ ...building-blocks_types-of-domain-objects.adoc | 35 + ...types-of-domain-objects_domain-entities.adoc | 37 ++ ...types-of-domain-objects_domain-services.adoc | 66 ++ ...g-blocks_types-of-domain-objects_mixins.adoc | 56 ++ ...cks_types-of-domain-objects_view-models.adoc | 162 + .../guides/ugfun/_ugfun_class-structure.adoc| 46 -- .../ugfun/_ugfun_class-structure_actions.adoc | 264 .../_ugfun_class-structure_collections.adoc | 121 .../_ugfun_class-structure_domain-services.adoc | 155 - .../_ugfun_class-structure_inject-services.adoc | 103 --- ...lass-structure_properties-vs-parameters.adoc | 38 -- .../_ugfun_class-structure_properties.adoc | 369 --- .../guides/ugfun/_ugfun_core-concepts.adoc | 6 +- .../ugfun/_ugfun_core-concepts_add-ons.adoc | 54 -- .../_ugfun_core-concepts_apache-isis-vs.adoc| 2 +- ...ache-isis-vs_mvc-server-side-frameworks.adoc | 29 - ...concepts_apache-isis-vs_mvc-server-side.adoc | 29 + .../_ugfun_core-concepts_building-blocks.adoc | 314 - ..._ugfun_core-concepts_deployment-options.adoc | 93 +++ ...re-concepts_framework-provided-services.adoc | 107 ..._core-concepts_other-deployment-options.adoc | 81 --- .../ugfun/_ugfun_domain-class-ontology.adoc | 45 -- ...n_domain-class-ontology_domain-entities.adoc | 86 --- ...n_domain-class-ontology_domain-services.adoc | 229 --- .../_ugfun_domain-class-ontology_mixins.adoc| 56 -- ...ugfun_domain-class-ontology_view-models.adoc | 196 -- .../guides/ugfun/_ugfun_programming-model.adoc | 91 +++ .../ugfun/_ugfun_programming-model_actions.adoc | 264 .../_ugfun_programming-model_collections.adoc | 121 ...ugfun_programming-model_domain-entities.adoc | 89 +++ ...ugfun_programming-model_domain-services.adoc | 383 +++ ...ugfun_programming-model_inject-services.adoc | 103 +++ .../ugfun/_ugfun_programming-model_mixins.adoc | 346 ++ ...gramming-model_properties-vs-parameters.adoc | 38 ++ .../_ugfun_programming-model_properties.adoc| 369 +++ .../_ugfun_programming-model_view-models.adoc | 631 +++ .../building-blocks/types-of-domain-object.png | Bin 30851 -> 0 bytes .../building-blocks/types-of-domain-object.pptx | Bin 64342 -> 0 bytes .../hexagonal-architecture-addons.png | Bin 128533 -> 0 bytes .../action-semantics-are-you-sure.png | Bin 11046 -> 0 bytes .../tips-n-tricks/are-you-sure-happy-case.png | Bin 9993 -> 0 bytes .../tips-n-tricks/are-you-sure-sad-case.png | Bin 10515 -> 0 bytes .../how-tos/tips-n-tricks/are-you-sure.png | Bin 9312 -> 0 bytes .../src/main/asciidoc/guides/ugfun/ugfun.adoc | 9 +- .../guides/ugodn/_ugodn_hints-and-tips.adoc | 1 + ..._ugodn_hints-and-tips_mapping-to-a-view.adoc | 9 + .../_ugvro_simplified-representations.adoc | 366 +-- ...ified-representations_action-invocation.adoc | 128 ...ied-representations_apache-isis-profile.adoc | 38 ++ ...epresentations_configuration-properties.adoc | 2 +- ...implified-representations_domain-object.adoc | 92 +++ ...ified-representations_object-collection.adoc | 82 +++ ...d-representations_ot
[37/58] [abbrv] isis git commit: ISIS-1521: reorganizes security chapters/sections
ISIS-1521: reorganizes security chapters/sections Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/45db638e Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/45db638e Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/45db638e Branch: refs/heads/master Commit: 45db638ed1073af73ee49082a5c268d3f058b86f Parents: bef8814 Author: Dan Haywood Authored: Fri Apr 14 16:31:59 2017 +0100 Committer: Dan Haywood Committed: Thu Apr 20 09:09:30 2017 +0100 -- .../guides/dg/_dg_asciidoc-templates.adoc | 4 +- .../asciidoc/guides/dg/_dg_hints-and-tips.adoc | 2 +- .../guides/ugbtb/_ugbtb_hints-and-tips.adoc | 2 +- .../guides/ugodn/_ugodn_hints-and-tips.adoc | 2 +- .../guides/ugsec/_ugsec_hints-and-tips.adoc | 3 +- .../_ugsec_hints-and-tips_shiro-caching.adoc| 41 ++ .../guides/ugsec/_ugsec_shiro-caching.adoc | 41 -- .../guides/ugsec/_ugsec_shiro-ini-realm.adoc| 133 - ...shiro-isis-enhanced-wildcard-permission.adoc | 2 +- .../ugsec/_ugsec_shiro-isis-ldap-realm.adoc | 146 --- ..._shiro-isisaddons-security-module-realm.adoc | 36 - .../guides/ugsec/_ugsec_shiro-jdbc-realm.adoc | 113 -- .../_ugsec_shiro-realm-implementations.adoc | 15 ++ ...c_shiro-realm-implementations_ini-realm.adoc | 133 + ...o-realm-implementations_isis-ldap-realm.adoc | 146 +++ ...ations_isisaddons-security-module-realm.adoc | 36 + ..._shiro-realm-implementations_jdbc-realm.adoc | 113 ++ .../src/main/asciidoc/guides/ugsec/ugsec.adoc | 6 +- .../guides/ugvro/_ugvro_hints-and-tips.adoc | 2 +- .../guides/ugvw/_ugvw_hints-and-tips.adoc | 2 +- 20 files changed, 495 insertions(+), 483 deletions(-) -- http://git-wip-us.apache.org/repos/asf/isis/blob/45db638e/adocs/documentation/src/main/asciidoc/guides/dg/_dg_asciidoc-templates.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/dg/_dg_asciidoc-templates.adoc b/adocs/documentation/src/main/asciidoc/guides/dg/_dg_asciidoc-templates.adoc index 8ccd418..44b6549 100644 --- a/adocs/documentation/src/main/asciidoc/guides/dg/_dg_asciidoc-templates.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/dg/_dg_asciidoc-templates.adoc @@ -349,9 +349,9 @@ A hyperlink to a bookmark within the Secrurity guide, where: for example: -`\xref:../ugsec/ugsec.adoc#_ugsec_shiro-caching[Caching and other Shiro Features]` +`\xref:../ugsec/ugsec.adoc#_ugsec_hints-and-tips_shiro-caching[Caching and other Shiro Features]` -|xref:../ugsec/ugsec.adoc#_ugsec_shiro-caching[Caching and other Shiro Features] +|xref:../ugsec/ugsec.adoc#_ugsec_hints-and-tips_shiro-caching[Caching and other Shiro Features] |`adugtst` http://git-wip-us.apache.org/repos/asf/isis/blob/45db638e/adocs/documentation/src/main/asciidoc/guides/dg/_dg_hints-and-tips.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/dg/_dg_hints-and-tips.adoc b/adocs/documentation/src/main/asciidoc/guides/dg/_dg_hints-and-tips.adoc index 094550e..f0ed4c6 100644 --- a/adocs/documentation/src/main/asciidoc/guides/dg/_dg_hints-and-tips.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/dg/_dg_hints-and-tips.adoc @@ -10,7 +10,7 @@ This chapter provides some solutions for problems we've encountered ourselves or See also hints-n-tips chapters in the: -* the xref:../dg/dg.adoc#_ugvw_hints-and-tips[Developers'] guide (this chapter) +* the xref:../dg/dg.adoc#_dg_hints-and-tips[Developers'] guide (this chapter) * the xref:../ugvw/ugvw.adoc#_ugvw_hints-and-tips[Wicket viewer] guide http://git-wip-us.apache.org/repos/asf/isis/blob/45db638e/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_hints-and-tips.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_hints-and-tips.adoc b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_hints-and-tips.adoc index 2c78959..51c76f0 100644 --- a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_hints-and-tips.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_hints-and-tips.adoc @@ -10,7 +10,7 @@ This chapter provides some solutions for problems we've encountered ourselves or See also hints-n-tips chapters in the: -* the xref:../dg/dg.adoc#_ugvw_hints-and-tips[Developers'] guide +* the xref:../dg/dg.adoc#_dg_hints-and-tips[Developers'] guide * the xref:../ugvw/ugvw.adoc#_ugvw_hints-and-tips[Wicket viewer] guide http://git-wip-us.apache.org/repos/asf/isis/blob/45db638e/adocs/documentation/src/main/asciidoc/
[09/58] [abbrv] isis git commit: ISIS-1521: fixes xref links between guides
http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_methods_lifecycle.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_methods_lifecycle.adoc b/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_methods_lifecycle.adoc index 309c136..87c1ecc 100644 --- a/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_methods_lifecycle.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_methods_lifecycle.adoc @@ -14,9 +14,9 @@ The lifecycle callback methods notify a domain entity about its interaction with Note that these callbacks are fired by Apache Isis rather than JDO. In the future we may deprecate them because there are better mechanisms available using listeners/subscribers: * in Isis 1.9.0 and earlier, you may therefore want to consider using the JDO API directly to set up a lifecycle -listener; see xref:rgcms.adoc#_rgcms_methods_lifecycle_jdo-api[here] for further discussion. +listener; see xref:../rgcms/rgcms.adoc#_rgcms_methods_lifecycle_jdo-api[here] for further discussion. -* alternatively, you can use a subscriber for the xref:rgcms.adoc#_rgcms_classes_lifecycleevent[lifecycle event]s fired in Isis. +* alternatively, you can use a subscriber for the xref:../rgcms/rgcms.adoc#_rgcms_classes_lifecycleevent[lifecycle event]s fired in Isis. The lifecycle callback methods supported by Isis are: @@ -28,28 +28,28 @@ The lifecycle callback methods supported by Isis are: |Method |Description -|xref:rgcms.adoc#_rgcms_methods_lifecycle_created[`created()`] -|called when an object has just been created using xref:rgsvc.adoc#_rgsvc_api_DomainObjectContainer[`newTransientInstance()`] +|xref:../rgcms/rgcms.adoc#_rgcms_methods_lifecycle_created[`created()`] +|called when an object has just been created using xref:../rgsvc/rgsvc.adoc#_rgsvc_api_DomainObjectContainer[`newTransientInstance()`] -|xref:rgcms.adoc#_rgcms_methods_lifecycle_loaded[`loaded()`] +|xref:../rgcms/rgcms.adoc#_rgcms_methods_lifecycle_loaded[`loaded()`] |called when a (persistent) object has just been loaded from the object store. -|xref:rgcms.adoc#_rgcms_methods_lifecycle_persisted[`persisted()`] +|xref:../rgcms/rgcms.adoc#_rgcms_methods_lifecycle_persisted[`persisted()`] |called when object has just been persisted from the object store. -|xref:rgcms.adoc#_rgcms_methods_lifecycle_persisting[`persisting()`] +|xref:../rgcms/rgcms.adoc#_rgcms_methods_lifecycle_persisting[`persisting()`] |called when a (not-yet-persistent) object is just about to be persisted from the object store -|xref:rgcms.adoc#_rgcms_methods_lifecycle_removed[`removed()`] +|xref:../rgcms/rgcms.adoc#_rgcms_methods_lifecycle_removed[`removed()`] |called when a (persistent) object has just been deleted from the object store -|xref:rgcms.adoc#_rgcms_methods_lifecycle_removing[`removing()`] +|xref:../rgcms/rgcms.adoc#_rgcms_methods_lifecycle_removing[`removing()`] |called when a (persistent) object is just about to be deleted from the object store -|xref:rgcms.adoc#_rgcms_methods_lifecycle_updated[`updated()`] +|xref:../rgcms/rgcms.adoc#_rgcms_methods_lifecycle_updated[`updated()`] |called when a (persistent) object has just been updated in the object store -|xref:rgcms.adoc#_rgcms_methods_lifecycle_updating[`updating()`] +|xref:../rgcms/rgcms.adoc#_rgcms_methods_lifecycle_updating[`updating()`] |called when a (persistent) object is just about to be updated in the object store |=== @@ -66,10 +66,10 @@ Some lifecycle methods have been deprecated: |Notes |`deleted()` -|Replaced by xref:rgcms.adoc#_rgcms_methods_lifecycle_removed[`removed()`] +|Replaced by xref:../rgcms/rgcms.adoc#_rgcms_methods_lifecycle_removed[`removed()`] |`deleting()` -|Replaced by xref:rgcms.adoc#_rgcms_methods_lifecycle_removing[`removing()`] +|Replaced by xref:../rgcms/rgcms.adoc#_rgcms_methods_lifecycle_removing[`removing()`] |`loading()` |callback for when the (persistent) object is just about to be loaded from the object store. + @@ -80,10 +80,10 @@ This method is never called. |`saved()` -|Replaced by xref:rgcms.adoc#_rgcms_methods_lifecycle_persisted[`persisted()`] +|Replaced by xref:../rgcms/rgcms.adoc#_rgcms_methods_lifecycle_persisted[`persisted()`] |`saving()` -|Replaced by xref:rgcms.adoc#_rgcms_methods_lifecycle_persisting[`persisting()`] +|Replaced by xref:../rgcms/rgcms.adoc#_rgcms_methods_lifecycle_persisting[`persisting()`] |=== http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_methods_lifecycle_created.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_methods_lifecycle_created.adoc b/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_methods_lifecycl
[42/58] [abbrv] isis git commit: ISIS-1521: adds hints-n-tips sections for most of the user guides, and distributes out tips from dg.adoc as appropriate
ISIS-1521: adds hints-n-tips sections for most of the user guides, and distributes out tips from dg.adoc as appropriate Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/fcf368f0 Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/fcf368f0 Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/fcf368f0 Branch: refs/heads/master Commit: fcf368f0c94cb56f3783d5033477b5f9742379bb Parents: 4807f4c Author: Dan Haywood Authored: Fri Apr 14 16:13:05 2017 +0100 Committer: Dan Haywood Committed: Thu Apr 20 09:09:30 2017 +0100 -- .../asciidoc/guides/dg/_dg_hints-and-tips.adoc | 24 -- ...ips_how-to-handle-void-and-null-results.adoc | 79 - ...nd-tips_how-to-implement-a-spellchecker.adoc | 29 --- ...ts-and-tips_i18n-label-in-wicket-viewer.adoc | 26 -- .../dg/_dg_hints-and-tips_per-user-themes.adoc | 91 ...g_hints-and-tips_restful-image-property.adoc | 25 -- ...tips_subtype-entity-not-fully-populated.adoc | 60 - .../rgsvc/_rgsvc_api_RepositoryService.adoc | 2 +- .../guides/ugbtb/_ugbtb_hints-and-tips.adoc | 27 ++ ...ips_how-to-handle-void-and-null-results.adoc | 79 + ...nd-tips_how-to-implement-a-spellchecker.adoc | 29 +++ .../src/main/asciidoc/guides/ugbtb/ugbtb.adoc | 1 + .../guides/ugodn/_ugodn_hints-and-tips.adoc | 27 ++ .../ugodn/_ugodn_hints-and-tips_java8.adoc | 29 +++ ...nts-and-tips_overriding-jdo-annotations.adoc | 64 ++ ...tips_subtype-entity-not-fully-populated.adoc | 60 + .../asciidoc/guides/ugodn/_ugodn_java8.adoc | 29 --- .../_ugodn_overriding-jdo-annotations.adoc | 64 -- .../src/main/asciidoc/guides/ugodn/ugodn.adoc | 3 +- .../_ugsec_configuring-isis-to-use-bypass.adoc | 23 - .../guides/ugsec/_ugsec_hints-and-tips.adoc | 28 ++ ...and-tips_configuring-isis-to-use-bypass.adoc | 23 + .../src/main/asciidoc/guides/ugsec/ugsec.adoc | 3 +- .../guides/ugvro/_ugvro_hints-and-tips.adoc | 87 +++ .../_ugvro_hints-and-tips_angular-tips.adoc | 69 +++ .../_ugvro_hints-and-tips_pretty-printing.adoc | 13 +++ ...o_hints-and-tips_restful-image-property.adoc | 25 ++ ...ro_hints-and-tips_using-chrome-devtools.adoc | 9 ++ .../_ugvw_extending_custom-bootstrap-theme.adoc | 2 +- .../guides/ugvw/_ugvw_hints-and-tips.adoc | 31 +++ ...ts-and-tips_i18n-label-in-wicket-viewer.adoc | 26 ++ .../_ugvw_hints-and-tips_per-user-themes.adoc | 91 .../src/main/asciidoc/guides/ugvw/ugvw.adoc | 2 +- 33 files changed, 666 insertions(+), 514 deletions(-) -- http://git-wip-us.apache.org/repos/asf/isis/blob/fcf368f0/adocs/documentation/src/main/asciidoc/guides/dg/_dg_hints-and-tips.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/dg/_dg_hints-and-tips.adoc b/adocs/documentation/src/main/asciidoc/guides/dg/_dg_hints-and-tips.adoc index 78cfee4..26253ea 100644 --- a/adocs/documentation/src/main/asciidoc/guides/dg/_dg_hints-and-tips.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/dg/_dg_hints-and-tips.adoc @@ -6,18 +6,24 @@ :toc: right +This chapter provides some solutions for problems we've encountered ourselves or have been raised on the Apache Isis mailing lists. -This chapter has FAQs (with solutions) for problems we've encountered ourselves or have been raised on the -Apache Isis mailing lists. +See also hints-n-tips chapters in the: + +* the xref:../dg/dg.adoc#_ugvw_hints-and-tips[Developers'] guide (this chapter) + +* the xref:../ugvw/ugvw.adoc#_ugvw_hints-and-tips[Wicket viewer] guide + +* the xref:../ugvro/ugvro.adoc#_ugvro_hints-and-tips[Restful Objects viewer] guide + +* the xref:../ugvro/ugodn.adoc#_ugodn_hints-and-tips[Datanucleus ObjectStore] guide + +* the xref:../ugsec/ugsec.adoc#_ugsec_hints-and-tips[Security] guide + +* the xref:../ugbtb/ugbtb.adoc#_ugbtb_hints-and-tips[Beyond the Basics] guide. -See also xref:../ugvro/ugvro.adoc#_ugvro_hints-and-tips[Restful Objects hints-n-tips]. include::_dg_hints-and-tips_enabling-logging.adoc[leveloffset=+1] -include::_dg_hints-and-tips_subtype-entity-not-fully-populated.adoc[leveloffset=+1] -include::_dg_hints-and-tips_restful-image-property.adoc[leveloffset=+1] include::_dg_hints-and-tips_enhance-only.adoc[leveloffset=+1] -include::_dg_hints-and-tips_per-user-themes.adoc[leveloffset=+1] -include::_dg_hints-and-tips_i18n-label-in-wicket-viewer.adoc[leveloffset=+1] -include::_dg_hints-and-tips_how-to-handle-void-and-null-results.adoc[leveloffset=+1] -include::_dg_hints-and-tips_how-to-implement-a-spellchecker.adoc[leveloffset=+1] include::_dg_hints-and-tips_how-run-fi
[06/58] [abbrv] isis git commit: ISIS-1521: fixes xref links between guides
http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_LayoutService.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_LayoutService.adoc b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_LayoutService.adoc index c164e0a..785354c 100644 --- a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_LayoutService.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_LayoutService.adoc @@ -48,9 +48,9 @@ XML, and how much (if any) will be obtained elsewhere, typically from annotation |=== | Style -|xref:rgant.adoc#_rgant-MemberGroupLayout[`@MemberGroupLayout`] -| xref:rgant.adoc#_rgant-MemberOrder[`@MemberOrder`] -| xref:rgant.adoc#_rgant-ActionLayout[`@ActionLayout`], xref:rgant.adoc#_rgant-PropertyLayout[`@PropertyLayout`], xref:rgant.adoc#_rgant-CollectionLayout[`@CollectionLayout`] +|xref:../rgant/rgant.adoc#_rgant-MemberGroupLayout[`@MemberGroupLayout`] +| xref:../rgant/rgant.adoc#_rgant-MemberOrder[`@MemberOrder`] +| xref:../rgant/rgant.adoc#_rgant-ActionLayout[`@ActionLayout`], xref:../rgant/rgant.adoc#_rgant-PropertyLayout[`@PropertyLayout`], xref:../rgant/rgant.adoc#_rgant-CollectionLayout[`@CollectionLayout`] |`COMPLETE` @@ -88,7 +88,7 @@ As a developer, you therefore have a choice as to how you provide the metadata r The service's functionality is exposed in the UI through a mixin (per object) and a menu action (for all objects): -* the xref:rgant.adoc#_rgcms_classes_mixins_Object[`Object` mixin] provides the ability to download the XML layout for +* the xref:../rgant/rgant.adoc#_rgcms_classes_mixins_Object[`Object` mixin] provides the ability to download the XML layout for any domain object (entity or view model). * the `LayoutServiceMenu` provides the ability to download all XML layouts as a single ZIP file (in any of the @@ -102,6 +102,6 @@ desired. [[__rgsvc_api_LayoutService_related-domain-services]] == Related Domain Services -The xref:rgsvc.adoc#_rgsvc_spi_GridService[`GridService`] is responsible for loading and normalizing layout XML for -a domain class. It in turn uses the xref:rgsvc.adoc#_rgsvc_spi_GridLoaderService[`GridLoaderService`] and xref:rgsvc.adoc#_rgsvc_spi_GridSystemService[`GridSystemService`] +The xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_GridService[`GridService`] is responsible for loading and normalizing layout XML for +a domain class. It in turn uses the xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_GridLoaderService[`GridLoaderService`] and xref:../rgsvc/rgsvc.adoc#_rgsvc_spi_GridSystemService[`GridSystemService`] services. \ No newline at end of file http://git-wip-us.apache.org/repos/asf/isis/blob/252c2f8e/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_MementoService.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_MementoService.adoc b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_MementoService.adoc index 0facf78..15f5f60 100644 --- a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_MementoService.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_api_MementoService.adoc @@ -12,9 +12,9 @@ all of their backing state, moreover which is safe for use within a URL. This u The service can also be used to create a memento of arbitrary objects, however this usage is also deprecated. (Prior to `1.13.0` it was used internally by the core implementation of -xref:rgsvc.adoc#_rgsvc_api_BackgroundService[`BackgroundService`] to capture the state of action invocations so that +xref:../rgsvc/rgsvc.adoc#_rgsvc_api_BackgroundService[`BackgroundService`] to capture the state of action invocations so that they can be executed by a background process; this is now done using -xref:rgfis.adoc#_rgfis_spi_CommandDtoServiceInternal[`CommandDtoServiceInternal`]). +xref:../rgfis/rgfis.adoc#_rgfis_spi_CommandDtoServiceInternal[`CommandDtoServiceInternal`]). [NOTE] @@ -82,11 +82,11 @@ If using another implementation, the `canSet(...)` method can be used to check i == Usage -As noted in the introduction, a common use case for this service is in the implementation of the xref:rgcms.adoc#_rgcms_classes_super_AbstractViewModel[`ViewModel`] interface. +As noted in the introduction, a common use case for this service is in the implementation of the xref:../rgcms/rgcms.adoc#_rgcms_classes_super_AbstractViewModel[`ViewModel`] interface. [TIP] -Rather than implementing `ViewModel`, it's usually easier to annotate your view models with xref:rgant.adoc#_rgant-ViewModel[`@ViewModel`] (or equivalently xref:rgant.adoc#_rgant-DomainObject_nature[`@DomainObject#nature=EXTERNAL_ENTITY`] or xref:rgant.adoc#_rgant-DomainObject_nature[`@DomainObject#nature=INMEMORY_ENTITY`]. +