You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2015/06/29 08:19:58 UTC
[6/8] isis git commit: ISIS-1133: converting "Isis" to "Apache Isis"
in the docs.
http://git-wip-us.apache.org/repos/asf/isis/blob/fe19dc4b/adocs/documentation/src/main/asciidoc/guides/_rg_services-spi_manpage-UserRegistrationService.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_rg_services-spi_manpage-UserRegistrationService.adoc b/adocs/documentation/src/main/asciidoc/guides/_rg_services-spi_manpage-UserRegistrationService.adoc
index 83aa0ff..3cb9cec 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_rg_services-spi_manpage-UserRegistrationService.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_rg_services-spi_manpage-UserRegistrationService.adoc
@@ -47,7 +47,7 @@ public interface UserRegistrationService {
== Implementation
-The core Isis framework itself defines only an API; there is no default implementation. Rather, the implementation will depend on the security mechanism being used.
+The core Apache Isis framework itself defines only an API; there is no default implementation. Rather, the implementation will depend on the security mechanism being used.
That said, if you have configured your app to use the http://github.com/isisaddons/isis-module-security[Isis addons security module], then note that the security module does provide an abstract implementation (`SecurityModuleAppUserRegistrationServiceAbstract`) of the `UserRegistrationService`. You will need to extend that service and provide implementation for the two abstract methods: `getInitialRole()` and `getAdditionalInitialRoles()`.
@@ -72,7 +72,7 @@ then (if using the (non-ASF) http://github.com/isisaddons/isis-module-security[I
== Related Services
-The most common use case is to allow users to sign-up through Isis' Wicket viewer. Because the process requires email to be sent, the following services must be configured:
+The most common use case is to allow users to sign-up through Apache Isis' Wicket viewer. Because the process requires email to be sent, the following services must be configured:
* xref:rg.adoc#_rg_services-api_manpage-EmailService[`EmailService`]
* xref:rg.adoc#_rg_services-spi_manpage-EmailNotificationService[`EmailNotificationService`]
http://git-wip-us.apache.org/repos/asf/isis/blob/fe19dc4b/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_add-ons.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_add-ons.adoc b/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_add-ons.adoc
index 83777e3..0af3b56 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_add-ons.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_add-ons.adoc
@@ -9,7 +9,7 @@ The link:http://www.isisaddons.org[Isis Addons] website provides a number of reu
[WARNING]
====
-Note that Isis addons, while maintained by Isis committers, are not part of the ASF.
+Note that Isis addons, while maintained by Apache Isis committers, are not part of the ASF.
====
@@ -18,7 +18,7 @@ The modules themselves fall into four broad groups:
* modules that provide an implementations of API defined by Apache Isis +
+
-where 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. 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
* modules that provide standalone domain services with their own API and implementation +
+
http://git-wip-us.apache.org/repos/asf/isis/blob/fe19dc4b/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_building-blocks.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_building-blocks.adoc b/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_building-blocks.adoc
index 3df6732..0860267 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_building-blocks.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_building-blocks.adoc
@@ -47,7 +47,7 @@ NOTE: TODO
Domain services consist of a set of logically grouped actions, and as such follow the same conventions as for entities. However, a service cannot have (persisted) properties, nor can it have (persisted) collections.
-Domain services are instantiated once and once only by the framework, and are used to centralize any domain logic that does not logically belong in a domain entity or value. Isis will automatically inject services into every domain entity that requests them, and into each other.
+Domain services are instantiated once and once only by the framework, and are used to centralize any domain logic that does not logically belong in a domain entity or value. Apache Isis will automatically inject services into every domain entity that requests them, and into each other.
For convenience you can inherit from AbstractService or one of its subclasses, but this is not mandatory.
http://git-wip-us.apache.org/repos/asf/isis/blob/fe19dc4b/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_other-deployment-options.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_other-deployment-options.adoc b/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_other-deployment-options.adoc
index 2b671b5..85cbe0b 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_other-deployment-options.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_other-deployment-options.adoc
@@ -8,27 +8,27 @@
Apache Isis is a mature platform suitable for production deployment, with its "sweet spot" being line-of-business enterprise applications. So if you're looking to develop that sort of application, we certainly hope you'll seriously evaluate it.
-But there are other ways that you can make Isis work for you; in this chapter we explore a few of them.
+But there are other ways that you can make Apache Isis work for you; in this chapter we explore a few of them.
== Deploy to production
-Let's start though with the default use case for Isis: building line-of-business enterprise applications, on top of its Wicket viewer.
+Let's start though with the default use case for Apache Isis: building line-of-business enterprise applications, on top of its Wicket viewer.
Apache Wicket, and therefore Apache Isis in this configuration, is a stateful architecture. As a platform it is certainly capable of supporting user bases of several thousand (with perhaps one or two hundred concurrent); however it isn't an architecture that you should try to scale up to tens of thousands of concurrent users.
The UI UI generated by the Wicket viewer is well suited to many line-of-business apps, but it's also worth knowing that (with a little knowledge of the Wicket APIs) it relatively straightforward to extend. As described in xref:ug.adoc#_ug_core-concepts_add-ons[Isis addons] chapter, the viewer already has integrations with https://github.com/isisaddons/isis-wicket-gmap3[google maps], https://github.com/isisaddons/isis-wicket-fullcalendar2[a full calendar] and an https://github.com/isisaddons/isis-wicket-excel[export to Excel] component. We are also aware of integrations with SVG images (for floor maps of shopping center) and of custom widgets displaying a catalogue (text and images) of medical diseases.
-Deploying on Isis means that the framework also manages object persistence. For many line-of-business applications this will mean using a relational database. It is also possible (courtesy of its integratinon with link:http://www.datanucleus.org[DataNucleus]) to deploy an Isis app to a NoSQL store such as Neo4J or MongoDB; and it is also possible to deploy to cloud platforms such as link:https://cloud.google.com/appengine/docs[Google App Engine (GAE)].
+Deploying on Apache Isis means that the framework also manages object persistence. For many line-of-business applications this will mean using a relational database. It is also possible (courtesy of its integratinon with link:http://www.datanucleus.org[DataNucleus]) to deploy an Isis app to a NoSQL store such as Neo4J or MongoDB; and it is also possible to deploy to cloud platforms such as link:https://cloud.google.com/appengine/docs[Google App Engine (GAE)].
== Use for prototyping
-Even if you don't intend to deploy your application on top of Isis, there can be a lot of value in using Isis for prototyping. Because all you need do to get an app running is write domain objects, you can very quickly explore a domain object model and validate ideas with a domain expert.
+Even if you don't intend to deploy your application on top of Apache Isis, there can be a lot of value in using Apache Isis for prototyping. Because all you need do to get an app running is write domain objects, you can very quickly explore a domain object model and validate ideas with a domain expert.
-By focusing just on the domain, you'll also find that you start to develop a ubiquitous language - a set of terms and concepts that the entire teamEnum (business and technologists alike) have a shared understanding.
+By focusing just on the domain, you'll also find that you start to develop a ubiquitous language - a set of terms and concepts that the entire team (business and technologists alike) have a shared understanding.
Once you've sketched out your domain model, you can then "start-over" using your preferred platform.
@@ -38,10 +38,10 @@ Once you've sketched out your domain model, you can then "start-over" using your
== Deploy on your own platform
-The programming model defined by Isis deliberately minimizes the dependencies on the rest of the framework. In fact, the only hard dependency that the domain model classes have on Isis is through the `org.apache.isis.applib` classes, mostly to pick up annotations such as `@Disabled`.
-So, if you have used Isis for prototyping (discussed above), then note that it's quite feasible to take your domain model a the basis of your actual development effort; Isis' annotations and programming conventions will help ensure that any subtle semantics you might have captured in your prototyping are not lost.
+The programming model defined by Apache Isis deliberately minimizes the dependencies on the rest of the framework. In fact, the only hard dependency that the domain model classes have on Apache Isis is through the `org.apache.isis.applib` classes, mostly to pick up annotations such as `@Disabled`.
+So, if you have used Apache Isis for prototyping (discussed above), then note that it's quite feasible to take your domain model a the basis of your actual development effort; Apache Isis' annotations and programming conventions will help ensure that any subtle semantics you might have captured in your prototyping are not lost.
-If you go this route, your deployment platform will of course need to provide similar capabilities to Isis. In particular, you'll need to figure out a way to inject domain services into domain entities (eg using a JPA listener), and you'll also need to reimplement any domain services you have used that Isis provides "out-of-the-box" (eg xref:rg.adoc#_rg_services-api_manpage-QueryResultsCache[`QueryResultsCache`] domain service).
+If you go this route, your deployment platform will of course need to provide similar capabilities to Apache Isis. In particular, you'll need to figure out a way to inject domain services into domain entities (eg using a JPA listener), and you'll also need to reimplement any domain services you have used that Apache Isis provides "out-of-the-box" (eg xref:rg.adoc#_rg_services-api_manpage-QueryResultsCache[`QueryResultsCache`] domain service).
@@ -51,7 +51,7 @@ If you go this route, your deployment platform will of course need to provide si
REST (Representation State Transfer) is an architectural style for building highly scalable distributed systems, using the same principles as the World Wide Web. Many commercial web APIs (twitter, facebook, Amazon) are implemented as either pure REST APIs or some approximation therein.
-The http://restfulobjects.org[Restful Objects specification] defines a means by a domain object model can be exposed as RESTful resources using JSON representations over HTTP. Isis' <<_restfulobjects_viewer, Restful Objects viewer] is an implementation of that spec, making any Isis domain object automatically available via REST.
+The http://restfulobjects.org[Restful Objects specification] defines a means by a domain object model can be exposed as RESTful resources using JSON representations over HTTP. Apache Isis' xref:ug.adoc#_ug_restfulobjects-viewer[RestfulObjects viewer] is an implementation of that spec, making any Apache Isis domain object automatically available via REST.
There are a number of use cases for deploying Isis as a REST API, including:
@@ -74,8 +74,8 @@ As for the auto-generated webapps, the framework manages object persistence. It
== Implement your own viewer
-Isis' architecture was always designed to support multiple viewers; and indeed Isis out-of-the-box supports two: the Wicket viewer, and the Restful Objects viewer (or three, if one includes the Wrapper Factory).
+Isis' architecture was always designed to support multiple viewers; and indeed Apache Isis out-of-the-box supports two: the Wicket viewer, and the Restful Objects viewer (or three, if one includes the Wrapper Factory).
-While we mustn't understate the effort involved here, it is feasible to implement your own viewers too. Indeed, one of Isis' committers does indeed have a (closed source) viewer, based on http://www.wavemaker.com/[Wavemaker].
+While we mustn't understate the effort involved here, it is feasible to implement your own viewers too. Indeed, one of Apache Isis' committers does indeed have a (closed source) viewer, based on http://www.wavemaker.com/[Wavemaker].
http://git-wip-us.apache.org/repos/asf/isis/blob/fe19dc4b/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_philosophy_aop.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_philosophy_aop.adoc b/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_philosophy_aop.adoc
index 7e3b0a2..ceb26f5 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_philosophy_aop.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_philosophy_aop.adoc
@@ -5,7 +5,7 @@
:_imagesdir: images/
-Although not a book about object modelling, Evans' "Domain Driven Design" does use object orientation as its primary modelling tool; and many tend to think of xref:ug.adoc#_ug_core-concepts_philosophy_domain-driven-design,DDD>> as an updated treatise on good object modelling[in the same vein as Rebecca Wirf Brock's link:http://en.wikipedia.org/wiki/Responsibility-driven_design[Responsibility Driven Design], say. Meanwhile the <<_naked_objects_pattern, naked objects pattern] very much comes from an OO background (it even has 'object' in its name); and Richard Pawson 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; and many tend to think of xref:ug.adoc#_ug_core-concepts_philosophy_domain-driven-design,DDD>> as an updated treatise on good object modelling[in the same vein as Rebecca Wirf Brock's link:http://en.wikipedia.org/wiki/Responsibility-driven_design[Responsibility Driven Design], say. Meanwhile the xref:ug.adoc#_ug_core-concepts_philosophy_naked-objects-pattern[naked objects pattern] very much comes from an OO background (it even has 'object' in its name); and Richard Pawson 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.
@@ -19,7 +19,7 @@ This idea sounds rather abstract, but what it really amounts to is the idea of i
Another aspect (ahem!) of aspect-oriented programming has found its way into other programming languages, that of a mix-in or trait. In languages such as Scala these mix-ins are specified statically as part of the inheritance hierarchy, whereas with AOP the binding of a trait to some other class/type is done without the class "knowing" that additional behaviour is being mixed-in to it.
-== Realization within Isis
+== Realization within Apache Isis
What has all this to do with Apache Isis, then?
@@ -31,6 +31,6 @@ Another example of interceptors are the http://github.com/isisaddons/isis-module
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 xref:ug.adoc#_ug_more-advanced_decoupling[Decoupling]. But fundamentally its relying on this AOP concept of interceptors.
-Finally, Isis also a feature that is akin to AOP mix-ins. A "contributed action" is one that is implemented on a domain service but that appears to be a behaviour of rendered domain object. In other words, we can dissociate behaviour from data. That's not always the right thing to do of course. In Richard Pawson's description of the xref:ug.adoc#_ug_core-concepts_philosophy_naked-objects-pattern[naked objects pattern] he talks about "behaviourally rich" objects, in other words where the business functionality encapsulated the data. But on the other hand sometimes the behaviour and data structures change at different rates. The link:http://en.wikipedia.org/wiki/Single_responsibility_principle[single responsibility principle] says we should only lump code together that changes at the same rate. Isis' support for contributions (not only contributed actions, but also contributed properties and contributed collections) enables this. And again, to loop back to the topic of this s
ection, it's an AOP concept that being implemented by the framework.
+Finally, Isis also a feature that is akin to AOP mix-ins. A "contributed action" is one that is implemented on a domain service but that appears to be a behaviour of rendered domain object. In other words, we can dissociate behaviour from data. That's not always the right thing to do of course. In Richard Pawson's description of the xref:ug.adoc#_ug_core-concepts_philosophy_naked-objects-pattern[naked objects pattern] he talks about "behaviourally rich" objects, in other words where the business functionality encapsulated the data. But on the other hand sometimes the behaviour and data structures change at different rates. The link:http://en.wikipedia.org/wiki/Single_responsibility_principle[single responsibility principle] says we should only lump code together that changes at the same rate. Apache Isis' support for contributions (not only contributed actions, but also contributed properties and contributed collections) enables this. And again, to loop back to the topic of
this section, it's an AOP concept that being implemented by the framework.
-The nice thing about aspect orientation is that for the most part you can ignore these cross-cutting concerns and - at least initially at least - just focus on implementing your domain object. Later when your app starts to grow and you start to break it out into smaller modules, you can leverage Isis' AOP support for mixins (xref:ug.adoc#_ug_more-advanced_decoupling_contributions[contributions]) and interceptors (the xref:ug.adoc#_ug_more-advanced_decoupling_event-bus[event bus]) to ensure that your codebase remains maintainable.
\ No newline at end of file
+The nice thing about aspect orientation is that for the most part you can ignore these cross-cutting concerns and - at least initially at least - just focus on implementing your domain object. Later when your app starts to grow and you start to break it out into smaller modules, you can leverage Apache Isis' AOP support for mixins (xref:ug.adoc#_ug_more-advanced_decoupling_contributions[contributions]) and interceptors (the xref:ug.adoc#_ug_more-advanced_decoupling_event-bus[event bus]) to ensure that your codebase remains maintainable.
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/isis/blob/fe19dc4b/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_philosophy_hexagonal-architecture.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_philosophy_hexagonal-architecture.adoc b/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_philosophy_hexagonal-architecture.adoc
index 7e33166..a6e0f45 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_philosophy_hexagonal-architecture.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_philosophy_hexagonal-architecture.adoc
@@ -22,7 +22,7 @@ What Cockburn is emphasizing is that there's usually more than one way *into* an
Associated with each port can be an *_adapter_* (in fact, Cockburn's alternative name for this architecture is *_ports and adapters_*). An adapter is a device (piece of software) that talks in the protocol (or _API_) of the port. Each port could have several adapters.
-Apache Isis maps very nicely onto the *hexagonal architecture*. Isis' viewers act as user-side adapters and use the Isis metamodel API as a port into the domain objects. For the data side, we are mostly concerned with persisting domain objects to some sort of object store. Here Apache Isis delegates most of the heavy lifting to ORM implementing the JDO API. Most of the time this will be DataNucleus configured to persist to an RDBMS, but DataNucleus can also support other object stores, for example Neo4J. Alternatively Isis can be configured to persist using some other JDO implementation, for example Google App Engine.
+Apache Isis maps very nicely onto the *hexagonal architecture*. Apache Isis' viewers act as user-side adapters and use the Apache Isis metamodel API as a port into the domain objects. For the data side, we are mostly concerned with persisting domain objects to some sort of object store. Here Apache Isis delegates most of the heavy lifting to ORM implementing the JDO API. Most of the time this will be DataNucleus configured to persist to an RDBMS, but DataNucleus can also support other object stores, for example Neo4J. Alternatively Apache Isis can be configured to persist using some other JDO implementation, for example Google App Engine.
http://git-wip-us.apache.org/repos/asf/isis/blob/fe19dc4b/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_philosophy_how-eases-ddd.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_philosophy_how-eases-ddd.adoc b/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_philosophy_how-eases-ddd.adoc
index 95637bd..96d2991 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_philosophy_how-eases-ddd.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_philosophy_how-eases-ddd.adoc
@@ -21,7 +21,7 @@ pass:[</p></div>]
The word to pick up on here is *conscious*. It takes a conscious effort by the entire team to develop the ubiquitous language. Everyone in the team must challenge the use of new or unfamiliar terms, must clarify concepts when used in a new context, and in general must be on the lookout for sloppy thinking. This takes willingness on the part of all involved, not to mention some practice.
-With Apache Isis, though, the ubiquitous language evolves with scarcely any effort at all. For the business experts, the Isis viewers show the domain concepts they identify and the relationships between those concepts in a straightforward fashion. Meanwhile, the developers can devote themselves to encoding those domain concepts directly as domain classes. There's no technology to get distracted by; there is literally nothing else for the developers to work on.
+With Apache Isis, though, the ubiquitous language evolves with scarcely any effort at all. For the business experts, the Apache Isis viewers show the domain concepts they identify and the relationships between those concepts in a straightforward fashion. Meanwhile, the developers can devote themselves to encoding those domain concepts directly as domain classes. There's no technology to get distracted by; there is literally nothing else for the developers to work on.
== DDD must be grounded
@@ -57,7 +57,7 @@ The second issue is more subtle. It takes real skill to ensure the correct separ
Because of Apache Isis' generic __OOUI__s, there's no need to write the other layers of the architecture. Of course, this reduces the development cost. But more than that, there will be no leakage of concerns outside the domain model. All the validation logic *must* be in the domain model because there is nowhere else to put it.
-Moreover, although Apache Isis does provide a complete runtime framework, there is no direct coupling of your domain model to the framework. That means it is very possible to take your domain model prototyped in Naked Objects and then deploy it on some other _J(2)EE_ architecture, with a custom _UI_ if you want. Isis guarantees that your domain model is complete.
+Moreover, although Apache Isis does provide a complete runtime framework, there is no direct coupling of your domain model to the framework. That means it is very possible to take your domain model prototyped in Naked Objects and then deploy it on some other _J(2)EE_ architecture, with a custom _UI_ if you want. Apache Isis guarantees that your domain model is complete.
http://git-wip-us.apache.org/repos/asf/isis/blob/fe19dc4b/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_philosophy_naked-objects-pattern.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_philosophy_naked-objects-pattern.adoc b/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_philosophy_naked-objects-pattern.adoc
index e870754..ba56bdd 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_philosophy_naked-objects-pattern.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_philosophy_naked-objects-pattern.adoc
@@ -24,7 +24,7 @@ pass:[</p></div>]
pass:[<div class="extended-quote-attribution"><p>]-- Richard Pawson
pass:[</p></div>]
-You can learn much more about the pattern in the book, link:http://www.amazon.com/exec/obidos/ISBN=0470844205/[Naked Objects], also freely available to link:http://www.nakedobjects.org/book/[read online]. Richard co-wrote the book with one of Isis' committers, Robert Matthews, who was in turn the author of the Naked Objects Framework for Java (the original codebase of of Apache Isis).
+You can learn much more about the pattern in the book, link:http://www.amazon.com/exec/obidos/ISBN=0470844205/[Naked Objects], also freely available to link:http://www.nakedobjects.org/book/[read online]. Richard co-wrote the book with one of Apache Isis' committers, Robert Matthews, who was in turn the author of the Naked Objects Framework for Java (the original codebase of of Apache Isis).
You might also want to read Richard's link:resources/core-concepts/Pawson-Naked-Objects-thesis.pdf[PhD on the subject].
http://git-wip-us.apache.org/repos/asf/isis/blob/fe19dc4b/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_principles_apache-isis-vs_metawidget.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_principles_apache-isis-vs_metawidget.adoc b/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_principles_apache-isis-vs_metawidget.adoc
index 30adc9f..39a9692 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_principles_apache-isis-vs_metawidget.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_principles_apache-isis-vs_metawidget.adoc
@@ -11,6 +11,6 @@ However, there is a difference in philosophy in that MW is not a full-stack fram
In contrast, Apache Isis is full-stack and does generate a complete UI; we then allow you to customize or extend this UI (as per the various link:http://www.isisaddons.org[Isis Addons] (non-ASF), and we also provide a full REST API through the xref:ug.adoc#_ug_restfulobjects-viewer[Restful Objects viewer]
-Also, it's worth noting that MetaWidget does have an elegant pipeline architecture, with APIs to allow even its metamodel to be replaced. It would be feasible and probably quite straightforward to use Isis' own metamodel as an implementation of the MetaWidget API. This would allow MetaWidget to be able to render an Isis domain application.
+Also, it's worth noting that MetaWidget does have an elegant pipeline architecture, with APIs to allow even its metamodel to be replaced. It would be feasible and probably quite straightforward to use Apache Isis' own metamodel as an implementation of the MetaWidget API. This would allow MetaWidget to be able to render an Apache Isis domain application.
http://git-wip-us.apache.org/repos/asf/isis/blob/fe19dc4b/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_principles_apache-isis-vs_mvc-server-side-frameworks.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_principles_apache-isis-vs_mvc-server-side-frameworks.adoc b/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_principles_apache-isis-vs_mvc-server-side-frameworks.adoc
index a873888..e76a2be 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_principles_apache-isis-vs_mvc-server-side-frameworks.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_principles_apache-isis-vs_mvc-server-side-frameworks.adoc
@@ -10,10 +10,10 @@ Some of most commonly used frameworks today are link:http://www.spring.io/[Sprin
These frameworks all use the classic *model-view-controller* ( _MVC_) pattern for web applications, with scaffolding, code-generation, and/or metaprogramming tools for the controllers and views, as well as convention over configuration to define how these components interact. The views provided out of the box by these frameworks tend to be simple _CRUD_-style interfaces. More sophisticated behavior is accomplished by customizing the generated controllers.
-The most obvious difference when developing an Apache Isis application is its deliberate lack of an explicit controller layer; non- _CRUD_ behavior is automatically made available in its generic object-oriented _UI_s. More sophisticated UIs can be built either by xref:ug.adoc#_ug_extending_wicket-viewer[extending Isis' Wicket viewer] or by writing a bespoke UI leveraging the REST (hypermedia) API automatically exposed by xref:ug.adoc#_ug_restfulobjects-viewer[Isis' Restful Objects viewer]. Other frameworks can also be used to implement REST APIs, of course, but generally they require a significant amount of development to get anywhere near the level of sophistication provided automatically by Isis' REST API.
+The most obvious difference when developing an Apache Isis application is its deliberate lack of an explicit controller layer; non- _CRUD_ behavior is automatically made available in its generic object-oriented _UI_s. More sophisticated UIs can be built either by xref:ug.adoc#_ug_extending_wicket-viewer[extending Apache Isis' Wicket viewer] or by writing a bespoke UI leveraging the REST (hypermedia) API automatically exposed by xref:ug.adoc#_ug_restfulobjects-viewer[Isis' Restful Objects viewer]. Other frameworks can also be used to implement REST APIs, of course, but generally they require a significant amount of development to get anywhere near the level of sophistication provided automatically by Apache Isis' REST API.
-Although these frameworks all provide their own ecosystems of extensions, Isis' equivalent link:http://www.isisaddons.org[Isis Addons] (non-ASF) tend to work at a higher-level of abstraction. For example, each of these frameworks will integrate with various security mechanism, but the http://github.com/isisaddons/isis-module-security[Isis addons' security module] provides a full subdomain of users, roles, features and permissions that can be plugged into any Isis application. Similarly, the http://github.com/isisaddons/isis-module-command[Isis addons' command] and http://github.com/isisaddons/isis-module-audit[Isis addons' audit] modules in combination provide a support for auditing and traceability that can also be used for out of the box profiling. Again, these addons can be plugged into any Isis app.
+Although these frameworks all provide their own ecosystems of extensions, Apache Isis' equivalent link:http://www.isisaddons.org[Isis Addons] (non-ASF) tend to work at a higher-level of abstraction. For example, each of these frameworks will integrate with various security mechanism, but the http://github.com/isisaddons/isis-module-security[Isis addons' security module] provides a full subdomain of users, roles, features and permissions that can be plugged into any Isis application. Similarly, the http://github.com/isisaddons/isis-module-command[Isis addons' command] and http://github.com/isisaddons/isis-module-audit[Isis addons' audit] modules in combination provide a support for auditing and traceability that can also be used for out of the box profiling. Again, these addons can be plugged into any Isis app.
-In terms of testing support, each of these other frameworks provide mechanisms to allow the webapp to be tested from within a JUnit test harness. Isis' support is similar. Where Isis differs though is that it enables end-to-end testing without the need for slow and fragile Selenium tests. Instead, Isis provides a "xref:ug.adoc#_ug_testing_integ-test-support_wrapper-factory[WrapperFactory]" domain service that allows the generic UI provided to in essence be simulated. On a more pragmatic level, the http://github.com/isisaddons/isis-module-fakedata[Isis addons' fakedata] module does "what it says on the tin", allowing both unit- and integration-tests to focus on the salient data and fake out the rest.
+In terms of testing support, each of these other frameworks provide mechanisms to allow the webapp to be tested from within a JUnit test harness. Apache Isis' support is similar. Where Apache Isis differs though is that it enables end-to-end testing without the need for slow and fragile Selenium tests. Instead, Apache Isis provides a "xref:ug.adoc#_ug_testing_integ-test-support_wrapper-factory[WrapperFactory]" domain service that allows the generic UI provided to in essence be simulated. On a more pragmatic level, the http://github.com/isisaddons/isis-module-fakedata[Isis addons' fakedata] module does "what it says on the tin", allowing both unit- and integration-tests to focus on the salient data and fake out the rest.
http://git-wip-us.apache.org/repos/asf/isis/blob/fe19dc4b/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_principles_isis-itself.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_principles_isis-itself.adoc b/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_principles_isis-itself.adoc
index 1c6fcf4..e577de5 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_principles_isis-itself.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_ug_core-concepts_principles_isis-itself.adoc
@@ -1,5 +1,5 @@
[[_ug_core-concepts_principles_isis-itself]]
-= Isis itself
+= Apache Isis itself
: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/
@@ -19,7 +19,7 @@ NOTE: TODO
add-ons
-* Isis is at heart a metamodel with runtime, and coordinates interations using an AOP set of principles
+* Apache Isis is at heart a metamodel with runtime, and coordinates interations using an AOP set of principles
* Apache Isis vs Isis Addons
* Apache Isis vs Shiro vs DataNucleus
@@ -36,7 +36,7 @@ add-ons
We're working hard to remove duplication, reuse existing open source/JEE, and simplify.
-The areas of Isis we consider mature are those that have been developed in support of real-world applications implemented by the committers. Foremost among these is Estatio.
+The areas of Apache Isis we consider mature are those that have been developed in support of real-world applications implemented by the committers. Foremost among these is Estatio.
Focus on enterprise / line-of-business applications, for use by internal staff.
http://git-wip-us.apache.org/repos/asf/isis/blob/fe19dc4b/adocs/documentation/src/main/asciidoc/guides/_ug_deployment_externalized-configuration.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_ug_deployment_externalized-configuration.adoc b/adocs/documentation/src/main/asciidoc/guides/_ug_deployment_externalized-configuration.adoc
index 8594795..9fb2231 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_ug_deployment_externalized-configuration.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_ug_deployment_externalized-configuration.adoc
@@ -6,7 +6,7 @@
-As described xref:_ug_runtime_configuration-files[here], by default Apache Isis itself bootstraps from the `isis.properties` configuration file. It will also read configuration from the (optional) component/implementation-specific configuration files (such as
+As described xref:ug.adoc#_ug_runtime_configuration-files[here], by default Apache Isis itself bootstraps from the `isis.properties` configuration file. It will also read configuration from the (optional) component/implementation-specific configuration files (such as
`persistor_datanucleus.properties` or `viewer_wicket.properties`), and also (optional) component-specific configuration
files (such as `persistor.properties` or `viewer.properties`).
@@ -78,7 +78,7 @@ Note that running the app using Apache Isis' `org.apache.isis.WebServer` bootstr
[[_ug_deployment_externalized-configuration_Shiro]]
== Shiro Config
-If using Apache Isis' xref:_ug_security_configuring-isis-to-use-shiro[Shiro integration] for authentication and/or authorization, note that it reads from the `shiro.ini` configuration file. By default this also resides in `WEB-INF`.
+If using Apache Isis' xref:ug.adoc#_ug_security_configuring-isis-to-use-shiro[Shiro integration] for authentication and/or authorization, note that it reads from the `shiro.ini` configuration file. By default this also resides in `WEB-INF`.
Similar to Apache Isis, Shiro lets this configuration directory be altered, by specifying the `shiroConfigLocations` context parameter.
http://git-wip-us.apache.org/repos/asf/isis/blob/fe19dc4b/adocs/documentation/src/main/asciidoc/guides/_ug_deployment_gae.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_ug_deployment_gae.adoc b/adocs/documentation/src/main/asciidoc/guides/_ug_deployment_gae.adoc
index a208414..7067e59 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_ug_deployment_gae.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_ug_deployment_gae.adoc
@@ -4,7 +4,7 @@
:_basedir: ../
:_imagesdir: images/
-The link:https://cloud.google.com/appengine/docs[Google App Engine] (GAE) provides a JDO API, meaning that you can deploy Isis onto GAE using the JDO objectstore.
+The link:https://cloud.google.com/appengine/docs[Google App Engine] (GAE) provides a JDO API, meaning that you can deploy Apache Isis onto GAE using the JDO objectstore.
However, GAE is not an RDBMS, and so there are some limitations that it imposes. This page gathers together various hints, tips and workarounds.
@@ -29,9 +29,9 @@ Note: if you store a relationship with a String key it means that the parent obj
== Custom Types
-Currently Isis' `Blob` and `Clob` types and the JODA types (`LocalDate` et al) are _not_ supported in GAE.
+Currently Apache Isis' `Blob` and `Clob` types and the JODA types (`LocalDate` et al) are _not_ supported in GAE.
-Instead, GAE defines a link:https://cloud.google.com/appengine/docs/java/datastore/entities#Properties_and_Value_Types[fixed set of value types], including `BlobKey`. Members of the Isis community have this working, though I haven't seen the code.
+Instead, GAE defines a link:https://cloud.google.com/appengine/docs/java/datastore/entities#Properties_and_Value_Types[fixed set of value types], including `BlobKey`. Members of the Apache Isis community have this working, though I haven't seen the code.
The above notwithstanding, Andy Jefferson at DataNucleus tells us:
http://git-wip-us.apache.org/repos/asf/isis/blob/fe19dc4b/adocs/documentation/src/main/asciidoc/guides/_ug_deployment_jvm-flags.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_ug_deployment_jvm-flags.adoc b/adocs/documentation/src/main/asciidoc/guides/_ug_deployment_jvm-flags.adoc
index 75683cb..9fbf2f8 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_ug_deployment_jvm-flags.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_ug_deployment_jvm-flags.adoc
@@ -48,5 +48,5 @@ There are also a whole bunch of GC-related flags, that you might want to explore
## Configuring in Tomcat
-If using Tomcat, update the `CATALINA_OPTS` variable. (This variable is also updated if xref:_ug_deployment_externalized-configuration_Log4j[configuring logging to run externally]).
+If using Tomcat, update the `CATALINA_OPTS` variable. (This variable is also updated if xref:ug.adoc#_ug_deployment_externalized-configuration_Log4j[configuring logging to run externally]).
http://git-wip-us.apache.org/repos/asf/isis/blob/fe19dc4b/adocs/documentation/src/main/asciidoc/guides/_ug_deployment_neo4j.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_ug_deployment_neo4j.adoc b/adocs/documentation/src/main/asciidoc/guides/_ug_deployment_neo4j.adoc
index ea0b7b1..75496b8 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_ug_deployment_neo4j.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_ug_deployment_neo4j.adoc
@@ -10,7 +10,7 @@ The xref:ug.adoc#_ug_getting-started_simpleapp-archetype[SimpleApp archetype] ha
[TIP]
====
-In addition, the http://github.com/isisaddons/isis-app-neoapp[Isis addons' neoapp] (non-ASF) is configured to run with an embedded Neo4J server running alongside the Isis webapp.
+In addition, the http://github.com/isisaddons/isis-app-neoapp[Isis addons' neoapp] (non-ASF) is configured to run with an embedded Neo4J server running alongside the Apache Isis webapp.
====
The steps below describe the configuration steps required to update an existing app.
http://git-wip-us.apache.org/repos/asf/isis/blob/fe19dc4b/adocs/documentation/src/main/asciidoc/guides/_ug_extending_programming-model_custom-validator.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_ug_extending_programming-model_custom-validator.adoc b/adocs/documentation/src/main/asciidoc/guides/_ug_extending_programming-model_custom-validator.adoc
index ac1d4cd..e364969 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_ug_extending_programming-model_custom-validator.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_ug_extending_programming-model_custom-validator.adoc
@@ -27,7 +27,7 @@ There are several ways to go about implementing a validator.
=== `MetaModelValidator`
-Any custom validator must implement Isis' internal `MetaModelValidator` interface, so the simplest option is just to implement `MetaModelValidator` directly:
+Any custom validator must implement Apache Isis' internal `MetaModelValidator` interface, so the simplest option is just to implement `MetaModelValidator` directly:
[source,java]
@@ -38,7 +38,7 @@ public interface MetaModelValidator
ValidationFailures validationFailures); // <2>
}
----
-<1> the `SpecificationLoader` is the internal API providing access to the Isis metamodel.
+<1> the `SpecificationLoader` is the internal API providing access to the Apache Isis metamodel.
<2> add any metamodel violations to the `ValidationFailures` parameter (the link:http://c2.com/cgi/wiki?CollectingParameter[collecting parameter] pattern)
@@ -89,7 +89,7 @@ public final class MetaModelValidatorVisiting ... {
}
----
-A `SummarizingVisitor` will be called once after every element in the metamodel has been visited. This is great for performing checks on the metamodel as a whole. For example, Isis uses this to check that there is at least one `@Persistable` domain entity defined.
+A `SummarizingVisitor` will be called once after every element in the metamodel has been visited. This is great for performing checks on the metamodel as a whole. For example, Apache Isis uses this to check that there is at least one `@Persistable` domain entity defined.
http://git-wip-us.apache.org/repos/asf/isis/blob/fe19dc4b/adocs/documentation/src/main/asciidoc/guides/_ug_extending_programming-model_finetuning.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_ug_extending_programming-model_finetuning.adoc b/adocs/documentation/src/main/asciidoc/guides/_ug_extending_programming-model_finetuning.adoc
index bc90189..9476624 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_ug_extending_programming-model_finetuning.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_ug_extending_programming-model_finetuning.adoc
@@ -5,7 +5,7 @@
:_imagesdir: images/
-The core metamodel defines APIs and implementations for building the Isis metamodel: a description of the set of entities, domain services and values that make up the domain model.
+The core metamodel defines APIs and implementations for building the Apache Isis metamodel: a description of the set of entities, domain services and values that make up the domain model.
The description of each domain class consists of a number of elements:
@@ -17,7 +17,7 @@ https://github.com/apache/isis/blob/master/core/metamodel/src/main/java/org/apac
Represents a class member that is a single-valued property of the class. The property's type is either a reference to another entity, or is a value type.
https://github.com/apache/isis/blob/master/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/OneToManyAssociation.java[OneToManyAssociation]::
-Represents a class member that is a collection of references to other entities. Note that Isis does not currently support collections of values.
+Represents a class member that is a collection of references to other entities. Note that Apache Isis does not currently support collections of values.
https://github.com/apache/isis/blob/master/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectAction.java[ObjectAction]::
Represents a class member that is an operation that can be performed on the action. Returns either a single value, a collection of entities, or is `void`.
@@ -26,7 +26,7 @@ Represents a class member that is an operation that can be performed on the acti
The metamodel is built up through the https://github.com/apache/isis/blob/master/core/metamodel/src/main/java/org/apache/isis/core/metamodel/progmodel/ProgrammingModel.java[ProgrammingModel], which defines an API for registering a set of https://github.com/apache/isis/blob/master/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/FacetFactory.java[FacetFactory]s. Two special `FacetFactory` implementations - https://github.com/apache/isis/blob/master/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/accessor/PropertyAccessorFacetViaAccessorFactory.java[PropertyAccessorFacetFactory] and https://github.com/apache/isis/blob/master/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/accessor/CollectionAccessorFacetViaAccessorFactory.java[CollectionAccessorFacetFactory] - are used to identify the class members.
Pretty much all the other ``FacetFactory``s are responsible for installing https://github.com/apache/isis/blob/master/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facetapi/Facet.java[Facet]s onto the metamodel elements.
-There are many many such ``Facet``s, and are used to do such things get values from properties or collections, modify properties or collections, invoke action, hide or disable class members, provide UI hints for class members, and so on. In short, the ``FacetFactory``s registered defines the Isis programming conventions.
+There are many many such ``Facet``s, and are used to do such things get values from properties or collections, modify properties or collections, invoke action, hide or disable class members, provide UI hints for class members, and so on. In short, the ``FacetFactory``s registered defines the Apache Isis programming conventions.
@@ -70,7 +70,7 @@ If you want to make many changes to the programming model, then (rather than inc
One option is to subclass from `ProgammingModelFacetsJava5`; in your subclass you could remove any ``FacetFactory``s that you wanted to exclude, as well as registering your own implementations.
-To tell Isis to use your new programming model, use:
+To tell Apache Isis to use your new programming model, use:
[source,ini]
----
http://git-wip-us.apache.org/repos/asf/isis/blob/fe19dc4b/adocs/documentation/src/main/asciidoc/guides/_ug_extending_programming-model_layout-metadata-reader.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_ug_extending_programming-model_layout-metadata-reader.adoc b/adocs/documentation/src/main/asciidoc/guides/_ug_extending_programming-model_layout-metadata-reader.adoc
index dba6c6d..26f908e 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_ug_extending_programming-model_layout-metadata-reader.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_ug_extending_programming-model_layout-metadata-reader.adoc
@@ -9,13 +9,13 @@ The metadata for domain objects is obtained both xref:rg.adoc#_rg_object-layout_
The default implementation for reading dynamic layout metadata is `org.apache.isis.core.metamodel.layoutmetadata.json.LayoutMetadataReaderFromJson`, which is responsible for reading from the `Xxx.layout.json` files on the classpath (for each domain entity `Xxx`).
-You can also implement your own metadata readers and plug them into Isis. These could read from a different file format, or they could, even, read data dynamically from a URL or database. (Indeed, one could imagine an implementation whereby users could share layouts, all stored in some central repository).
+You can also implement your own metadata readers and plug them into Apache Isis. These could read from a different file format, or they could, even, read data dynamically from a URL or database. (Indeed, one could imagine an implementation whereby users could share layouts, all stored in some central repository).
== API and Implementation
-Any reader must implement Isis' internal `LayoutMetadataReader` interface:
+Any reader must implement Apache Isis' internal `LayoutMetadataReader` interface:
[source,java]
----
@@ -40,5 +40,5 @@ isis.reflector.layoutMetadataReaders=\
com.mycompany.myapp.MyMetaModelValidator,\
org.apache.isis.core.metamodel.layoutmetadata.json.LayoutMetadataReaderFromJson # <1>
----
-<1> the property replaces any existing metadata readers; if you want to preserve the ability to read from `Xxx.layout.json` then also register Isis' built-in implementation.
+<1> the property replaces any existing metadata readers; if you want to preserve the ability to read from `Xxx.layout.json` then also register Apache Isis' built-in implementation.
http://git-wip-us.apache.org/repos/asf/isis/blob/fe19dc4b/adocs/documentation/src/main/asciidoc/guides/_ug_extending_restfulobjects-viewer.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_ug_extending_restfulobjects-viewer.adoc b/adocs/documentation/src/main/asciidoc/guides/_ug_extending_restfulobjects-viewer.adoc
index d9a841e..37735e7 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_ug_extending_restfulobjects-viewer.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_ug_extending_restfulobjects-viewer.adoc
@@ -9,7 +9,7 @@ The xref:ug.adoc#_ug_restfulobjects-viewer[RestfulObjects viewer] implements the
Sometimes though you may want to extend or change the representations generated. This might be because you want to write a RESTful client that uses a particular library (say a Javascript library or web components) that can only handle representations in a certain form.
-Or, you might want to have Isis generate representations according to some other "standard", of which there are many (see note).
+Or, you might want to have Apache Isis generate representations according to some other "standard", of which there are many (see note).
[NOTE]
====
@@ -19,7 +19,7 @@ A good discussion about the relative merits of several of these different hyperm
====
-Whatever your reasons, Isis provides several mechanisms by which you can change the generated representation. This section lists these, from the simplest (most limited) to the most flexible (more work).
+Whatever your reasons, Apache Isis provides several mechanisms by which you can change the generated representation. This section lists these, from the simplest (most limited) to the most flexible (more work).
* Configuration Properties +
+
http://git-wip-us.apache.org/repos/asf/isis/blob/fe19dc4b/adocs/documentation/src/main/asciidoc/guides/_ug_extending_wicket-viewer.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_ug_extending_wicket-viewer.adoc b/adocs/documentation/src/main/asciidoc/guides/_ug_extending_wicket-viewer.adoc
index 0dda79e..3c6f7c7 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_ug_extending_wicket-viewer.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_ug_extending_wicket-viewer.adoc
@@ -13,7 +13,7 @@ The Wicket viewer allows you to customize the GUI in several (progressively more
* by xref:ug.adoc#_ug_extending_wicket-viewer_replacing-page-elements[replacing elements of the page] using the `ComponentFactory` interface
* by implementing xref:ug.adoc#_ug_extending_wicket-viewer_custom-pages[replacement page implementations] for the standard page types
-The first two of these options are discussed in the <<Wicket Viewer>> chapter. This chapter describes the remaining "heavier-weight/more powerful" options.
+The first two of these options are discussed in the xref:ug.adoc#_ug_wicket-viewer[Wicket viewer] chapter. This chapter describes the remaining "heavier-weight/more powerful" options.
include::_ug_extending_wicket-viewer_custom-bootstrap-theme.adoc[leveloffset=+1]
http://git-wip-us.apache.org/repos/asf/isis/blob/fe19dc4b/adocs/documentation/src/main/asciidoc/guides/_ug_extending_wicket-viewer_custom-bootstrap-theme.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_ug_extending_wicket-viewer_custom-bootstrap-theme.adoc b/adocs/documentation/src/main/asciidoc/guides/_ug_extending_wicket-viewer_custom-bootstrap-theme.adoc
index 937138c..6dea562 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_ug_extending_wicket-viewer_custom-bootstrap-theme.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_ug_extending_wicket-viewer_custom-bootstrap-theme.adoc
@@ -6,7 +6,7 @@
-The Isis Wicket viewer uses http://getbootstrap.com/[Bootstrap] styles and components (courtesy of the https://github.com/l0rdn1kk0n/wicket-bootstrap[Wicket Bootstrap] integration).
+The Apache Isis Wicket viewer uses http://getbootstrap.com/[Bootstrap] styles and components (courtesy of the https://github.com/l0rdn1kk0n/wicket-bootstrap[Wicket Bootstrap] integration).
By default the viewer uses the default bootstrap theme. It is possible to configure the Wicket viewer to allow the user to xref:ug.adoc#_ug_wicket-viewer_configuration-properties_showing-theme-chooser[select other themes] provided by http://bootswatch.com[bootswatch.com], and if required one of these can be xref:ug.adoc#_ug_wicket-viewer_customisation_default-theme[set as the default].
http://git-wip-us.apache.org/repos/asf/isis/blob/fe19dc4b/adocs/documentation/src/main/asciidoc/guides/_ug_extending_wicket-viewer_custom-pages.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_ug_extending_wicket-viewer_custom-pages.adoc b/adocs/documentation/src/main/asciidoc/guides/_ug_extending_wicket-viewer_custom-pages.adoc
index 40ba002..8131e3b 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_ug_extending_wicket-viewer_custom-pages.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_ug_extending_wicket-viewer_custom-pages.adoc
@@ -52,7 +52,7 @@ Isis defines eight page types (see the `org.apache.isis.viewer.wicket.model.mode
|===
-The `PageClassList` interface declares which class (subclass of `org.apache.wicket.Page` is used to render for each of these types. For example, Isis' `WicketSignInPage` renders the signin page.
+The `PageClassList` interface declares which class (subclass of `org.apache.wicket.Page` is used to render for each of these types. For example, Apache Isis' `WicketSignInPage` renders the signin page.
To specify a different page class, create a custom subclass of `PageClassList`:
@@ -67,7 +67,7 @@ public class MyPageClassList extends PageClassListDefault {
----
-You then need to register your custom `PageClassList`. This is done by adjusting the Guice bindings (part of Isis' bootstrapping) in your custom subclass of `IsisWicketApplication`:
+You then need to register your custom `PageClassList`. This is done by adjusting the Guice bindings (part of Apache Isis' bootstrapping) in your custom subclass of `IsisWicketApplication`:
[source,java]
----
http://git-wip-us.apache.org/repos/asf/isis/blob/fe19dc4b/adocs/documentation/src/main/asciidoc/guides/_ug_extending_wicket-viewer_isis-addons-extensions.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_ug_extending_wicket-viewer_isis-addons-extensions.adoc b/adocs/documentation/src/main/asciidoc/guides/_ug_extending_wicket-viewer_isis-addons-extensions.adoc
index 379d1be..6732dcd 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_ug_extending_wicket-viewer_isis-addons-extensions.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_ug_extending_wicket-viewer_isis-addons-extensions.adoc
@@ -10,7 +10,7 @@ NOTE: TODO
[WARNING]
====
-Note that Isis addons, while maintained by Isis committers, are not part of the ASF.
+Note that Isis addons, while maintained by Apache Isis committers, are not part of the ASF.
====
http://git-wip-us.apache.org/repos/asf/isis/blob/fe19dc4b/adocs/documentation/src/main/asciidoc/guides/_ug_extending_wicket-viewer_replacing-page-elements.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_ug_extending_wicket-viewer_replacing-page-elements.adoc b/adocs/documentation/src/main/asciidoc/guides/_ug_extending_wicket-viewer_replacing-page-elements.adoc
index 80f410f..49d865e 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_ug_extending_wicket-viewer_replacing-page-elements.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_ug_extending_wicket-viewer_replacing-page-elements.adoc
@@ -8,14 +8,14 @@
Replacing elements of the page is the most powerful general-purpose way to customize the look-n-feel of the viewer. Examples at the (non-ASF) http://www.isisaddons.org[Isis Add-ons] include the http://github.com/isisaddons/isis-wicket-gmap3[gmap3] extension, the http://github.com/isisaddons/isis-wicket-fullcalendar2[calendar] extension, the http://github.com/isisaddons/isis-wicket-excel[excel download] and the http://github.com/isisaddons/isis-wicket-wickedcharts[wickedcharts] charting integration.
-The pages generated by Isis' Wicket viewer are built up of numerous elements, from fine-grained widgets for property/parameter fields, to much larger components that take responsibility for rendering an entire entity entity, or a collection of entities. Under the covers these are all implementations of the the Apache Wicket `Component` API. The larger components delegate to the smaller, of course.
+The pages generated by Apache Isis' Wicket viewer are built up of numerous elements, from fine-grained widgets for property/parameter fields, to much larger components that take responsibility for rendering an entire entity entity, or a collection of entities. Under the covers these are all implementations of the the Apache Wicket `Component` API. The larger components delegate to the smaller, of course.
== How the viewer selects components
-Components are created using Isis' `ComponentFactory` interface, which are registered in turn through the `ComponentFactoryRegistrar` interface. Every component is categorizes by type (the `ComponentType` enum), and Isis uses this to determine which `ComponentFactory` to use. For example, the `ComponentType.BOOKMARKED_PAGES` is used to locate the `ComponentFactory` that will build the bookmarked pages panel.
+Components are created using Apache Isis' `ComponentFactory` interface, which are registered in turn through the `ComponentFactoryRegistrar` interface. Every component is categorizes by type (the `ComponentType` enum), and Apache Isis uses this to determine which `ComponentFactory` to use. For example, the `ComponentType.BOOKMARKED_PAGES` is used to locate the `ComponentFactory` that will build the bookmarked pages panel.
Each factory is also handed a model (an implementation of `org.apache.wicket.IModel`) appropriate to its `ComponentType`; this holds the data to be rendered. For example, `ComponentType.BOOKMARKED_PAGES` is given a `BookmarkedPagesModel`, while `ComponentType.SCALAR_NAME_AND_VALUE` factories are provided a model of type of type `ScalarModel` .
@@ -27,7 +27,7 @@ There will typically be only one `ComponentFactory` capable of rendering a parti
[NOTE]
====
-There is one refinement to the above algorithm where multiple component factories might be used to render an object; this is discussed in <<Additional Views of Collections>>, below.
+There is one refinement to the above algorithm where multiple component factories might be used to render an object; this is discussed in xref:ug.adoc#_ug_extending_wicket-viewer_replacing-page-elements_collections[Additional Views of Collections], below.
====
@@ -36,7 +36,7 @@ There is one refinement to the above algorithm where multiple component factorie
== How to replace a component
-This design (the http://en.wikipedia.org/wiki/Chain-of-responsibility_pattern[chain of responsibility] design pattern) makes it quite straightforward to change the rendering of any element of the page. For example, you might switch out Isis' sliding bookmark panel and replace it with one that presents the bookmarks in some different fashion.
+This design (the http://en.wikipedia.org/wiki/Chain-of-responsibility_pattern[chain of responsibility] design pattern) makes it quite straightforward to change the rendering of any element of the page. For example, you might switch out Apache Isis' sliding bookmark panel and replace it with one that presents the bookmarks in some different fashion.
First, you need to write a `ComponentFactory` and corresponding `Component`. The recommended approach is to start with the source of the `Component` you want to switch out. For example:
@@ -118,12 +118,12 @@ public class MyAppApplication extends IsisWicketApplication {
-
+[[_ug_extending_wicket-viewer_replacing-page-elements_collections]]
== Additional Views of Collections
-As explained above, in most cases Isis' Wicket viewer will search for the first `ComponentFactory` that can render an element, and use it. In the case of (either standalone or parented) collections, though, Isis will show all available views.
+As explained above, in most cases Apache Isis' Wicket viewer will search for the first `ComponentFactory` that can render an element, and use it. In the case of (either standalone or parented) collections, though, Apache Isis will show all available views.
-For example, out-of-the-box Isis provides a table view, a summary view (totals/sums/averages of any data), and a collapsed view (for `@Render(LAZILY)` collections). These are selected by clicking on the toolbar by each collection.
+For example, out-of-the-box Apache Isis provides a table view, a summary view (totals/sums/averages of any data), and a collapsed view (for `@Render(LAZILY)` collections). These are selected by clicking on the toolbar by each collection.
Additional views though could render the objects in the collection as a variety of ways. Indeed, some third-party implementations already exist:
@@ -132,7 +132,7 @@ Additional views though could render the objects in the collection as a variety
* https://github.com/isisaddons/isis-wicket-wickedcharts[wicked charts integration] (barchart of any data)
* https://github.com/isisaddons/isis-wicket-fullcalendar2[full calendar integration] (render any objects with date properties on a calendar)
-Registering these custom views is just a matter of adding the appropriate Maven module to the classpath. Isis uses the JDK `ServiceLoader` API to automatically discover and register the `ComponentFactory` of each such component.
+Registering these custom views is just a matter of adding the appropriate Maven module to the classpath. Apache Isis uses the JDK `ServiceLoader` API to automatically discover and register the `ComponentFactory` of each such component.
If you want to write your own alternative component and auto-register, then include a file `META-INF/services/org.apache.isis.viewer.wicket.ui.ComponentFactory` whose contents is the fully-qualified class name of the custom `ComponentFactory` that you have written.
@@ -145,7 +145,7 @@ Wicket itself has lots of components available at its http://wicketstuff.org[wic
== Custom object view (eg dashboard)
-One further use case in particular is worth highlighting; the rendering of an entire entity. Normally entities this is done using `EntityCombinedPanelFactory`, this being the first `ComponentFactory` for the `ComponentType.ENTITY` that is registered in Isis default `ComponentFactoryRegistrarDefault`.
+One further use case in particular is worth highlighting; the rendering of an entire entity. Normally entities this is done using `EntityCombinedPanelFactory`, this being the first `ComponentFactory` for the `ComponentType.ENTITY` that is registered in Apache Isis default `ComponentFactoryRegistrarDefault`.
You could, though, register your own `ComponentFactory` for entities that is targeted at a particular class of entity - some sort of object representing a dashboard, for example. It can use the `EntityModel` provided to it to determine the class of the entity, checking if it is of the appropriate type. Your custom factory should also be registered before the `EntityCombinedPanelFactory` so that it is checked prior to the default `EntityCombinedPanelFactory`:
http://git-wip-us.apache.org/repos/asf/isis/blob/fe19dc4b/adocs/documentation/src/main/asciidoc/guides/_ug_getting-started.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_ug_getting-started.adoc b/adocs/documentation/src/main/asciidoc/guides/_ug_getting-started.adoc
index ae1b334..997b451 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_ug_getting-started.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_ug_getting-started.adoc
@@ -9,11 +9,11 @@
To get you up and running quickly, Apache Isis provides a xref:ug.adoc#_ug_getting-started_simpleapp-archetype[SimpleApp archetype] to setup a simple application as the basis of your own apps. This is deliberately very minimal so that you won't have to spend lots of time removing generated artifacts. On the other hand, it does set up a standard multi-module maven structure with unit- and integration tests pre-configured, as well as a webapp module so that you can easily run your app. We strongly recommend that you preserve this structure as you develop your own Isis application.
-In this chapter we also discuss the xref:ug.adoc#_ug_getting-started_datanucleus-enhancer[DataNucleus enhancer]. link:http://www.datanucleus.org/[DataNucleus] is the reference implementation of the JDO (Java data objects) spec, and Isis integrates with DataNucleus as its persistence layer. The enhancer performs post-processing on the bytecode of your persistent domain entities, such that they can be persisted by Isis' JDO/DataNucleus objectstore.
+In this chapter we also discuss the xref:ug.adoc#_ug_getting-started_datanucleus-enhancer[DataNucleus enhancer]. link:http://www.datanucleus.org/[DataNucleus] is the reference implementation of the JDO (Java data objects) spec, and Apache Isis integrates with DataNucleus as its persistence layer. The enhancer performs post-processing on the bytecode of your persistent domain entities, such that they can be persisted by Apache Isis' JDO/DataNucleus objectstore.
[NOTE]
====
-The xref:ug.adoc#_ug_getting-started_simpleapp-archetype[SimpleApp archetype] automatically configures the enhancer, so there's little you need to do at this stage. Even so we feel it's a good idea to be aware of this critical part of Isis runtime; if the enhancer does not run, then you'll find the app fails to start with (what will seem like) quite an obscure exception message.
+The xref:ug.adoc#_ug_getting-started_simpleapp-archetype[SimpleApp archetype] automatically configures the enhancer, so there's little you need to do at this stage. Even so we feel it's a good idea to be aware of this critical part of Apache Isis runtime; if the enhancer does not run, then you'll find the app fails to start with (what will seem like) quite an obscure exception message.
====
@@ -26,7 +26,7 @@ Apache Isis is a Java based framework, so in terms of prerequisites, you'll need
* Java 7 or 8 JDK
* link:http://maven.apache.org[Apache Maven] 3.0.5 or later
-You'll probably also want to use an IDE; the Isis committers use either IntelliJ or Eclipse; in the xref:ug.adoc#_ug_appendices[appendices] we have detailed setup instructions for using these two IDEs. If you're a NetBeans user you should have no problems as it too has strong support for Maven.
+You'll probably also want to use an IDE; the Apache Isis committers use either IntelliJ or Eclipse; in the xref:ug.adoc#_ug_appendices[appendices] we have detailed setup instructions for using these two IDEs. If you're a NetBeans user you should have no problems as it too has strong support for Maven.
When building and running within an IDE, you'll also need to configure the Datanucleus enhancer. This is implemented as a Maven plugin, so in the case of IntelliJ, it's easy enough to run the enhancer as required. It should be just as straightforward for NetBeans too.
http://git-wip-us.apache.org/repos/asf/isis/blob/fe19dc4b/adocs/documentation/src/main/asciidoc/guides/_ug_getting-started_datanucleus-enhancer.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_ug_getting-started_datanucleus-enhancer.adoc b/adocs/documentation/src/main/asciidoc/guides/_ug_getting-started_datanucleus-enhancer.adoc
index 54184a0..6586a98 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_ug_getting-started_datanucleus-enhancer.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_ug_getting-started_datanucleus-enhancer.adoc
@@ -6,7 +6,7 @@
-link:http://www.datanucleus.org/[DataNucleus] is the reference implementation of the JDO (Java data objects) spec, and Isis integrates with DataNucleus as its persistence layer. Datanucleus is a very powerful library, allowing domain entities to be mapped not only to relational database tables, but also to NoSQL stores such as link:http://neo4j.com/[Neo4J], link:http://www.mongodb.org/[MongoDB] and link:http://cassandra.apache.org/[Apache Cassandra].
+link:http://www.datanucleus.org/[DataNucleus] is the reference implementation of the JDO (Java data objects) spec, and Apache Isis integrates with DataNucleus as its persistence layer. Datanucleus is a very powerful library, allowing domain entities to be mapped not only to relational database tables, but also to NoSQL stores such as link:http://neo4j.com/[Neo4J], link:http://www.mongodb.org/[MongoDB] and link:http://cassandra.apache.org/[Apache Cassandra].
With such power comes a little bit of complexity to the development environment: all domain entities must be enhanced through the DataNucleus enhancer.
http://git-wip-us.apache.org/repos/asf/isis/blob/fe19dc4b/adocs/documentation/src/main/asciidoc/guides/_ug_getting-started_simpleapp-archetype.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_ug_getting-started_simpleapp-archetype.adoc b/adocs/documentation/src/main/asciidoc/guides/_ug_getting-started_simpleapp-archetype.adoc
index 95ebb1b..ebd9c01 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_ug_getting-started_simpleapp-archetype.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_ug_getting-started_simpleapp-archetype.adoc
@@ -7,7 +7,7 @@
The quickest way to get started with Apache Isis is to run the simple archetype. This will generate a very simple one-class domain model, called `SimpleObject`, with a single property `name`.
-There is also a corresponding `SimpleObjectRepository` domain service. From this you can easily rename these initial classes, and extend to build up your own Isis domain application.
+There is also a corresponding `SimpleObjectRepository` domain service. From this you can easily rename these initial classes, and extend to build up your own Apache Isis domain application.
@@ -38,7 +38,7 @@ where:
The archetype generation process will then run; it only takes a few seconds.
-We also maintain the archetype for the most current `-SNAPSHOT`; an app generated with this archetype will contain the latest features of Isis, but the usual caveats apply: some features still in development may be unstable.
+We also maintain the archetype for the most current `-SNAPSHOT`; an app generated with this archetype will contain the latest features of Apache Isis, but the usual caveats apply: some features still in development may be unstable.
The process is almost identical to that for stable releases, however the `archetype:generate` goal is called with slightly different arguments:
@@ -63,7 +63,7 @@ where as before:
but also:
-- `archetypeVersion` is the SNAPSHOT version of Isis.
+- `archetypeVersion` is the SNAPSHOT version of Apache Isis.
- `archetypeRepository` specifies the location of our snapshot repo (hosted on link:http://www.cloudbees.com[CloudBees]), and
The archetype generation process will then run; it only takes a few seconds.
@@ -278,7 +278,7 @@ To log in, use `sven/pass`.
Once you are familiar with the generated app, you'll want to start modifying it. There is plenty of guidance on this site; check out the 'programming model how-tos' section on the main [documentation](../../documentation.html) page first).
-If you use Eclipse or IntelliJ IDEA, do also install the [Eclipse templates](../resources/editor-templates.html); these will help you follow the Isis naming conventions.
+If you use Eclipse or IntelliJ IDEA, do also install the [Eclipse templates](../resources/editor-templates.html); these will help you follow the Apache Isis naming conventions.
@@ -286,7 +286,7 @@ If you use Eclipse or IntelliJ IDEA, do also install the [Eclipse templates](../
== App Structure
-As noted above, the generated app is a very simple application consisting of a single domain object that can be easily renamed and extended. The intention is not to showcase all of Isis' capabilities; rather it is to allow you to very easily modify the generated application (eg rename `SimpleObject` to `Customer`) without having to waste time deleting lots of generated code.
+As noted above, the generated app is a very simple application consisting of a single domain object that can be easily renamed and extended. The intention is not to showcase all of Apache Isis' capabilities; rather it is to allow you to very easily modify the generated application (eg rename `SimpleObject` to `Customer`) without having to waste time deleting lots of generated code.
<table class="table table-striped table-bordered table-condensed">
<tr><th>Module</th><th>Description</th></tr>
http://git-wip-us.apache.org/repos/asf/isis/blob/fe19dc4b/adocs/documentation/src/main/asciidoc/guides/_ug_headless-access.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_ug_headless-access.adoc b/adocs/documentation/src/main/asciidoc/guides/_ug_headless-access.adoc
index 7a6bb7b..113c3f1 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_ug_headless-access.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_ug_headless-access.adoc
@@ -10,13 +10,13 @@ There are several main use-cases:
* enabling background execution, eg of a thread managed by Quartz scheduler and running within the webapp
-* integration from other systems, eg for a subscriber on a pub/sub mechanism such as Camel, pushing changes through an Isis domain model.
+* integration from other systems, eg for a subscriber on a pub/sub mechanism such as Camel, pushing changes through an Apache Isis domain model.
* leveraging an Isis application within a batch process
-Note that the calling thread runs in the same process space as the Isis domain object model (must be physically linked to the JAR files containing the domain classes). For use cases where the calling thread runs in some other process space (eg migrating data from a legacy system), then the xref:ug.adoc#_ug_restfulobjects-viewer[Restful Objects viewer] is usually the way to go.
+Note that the calling thread runs in the same process space as the Apache Isis domain object model (must be physically linked to the JAR files containing the domain classes). For use cases where the calling thread runs in some other process space (eg migrating data from a legacy system), then the xref:ug.adoc#_ug_restfulobjects-viewer[Restful Objects viewer] is usually the way to go.
-The API described in this chapter is reasonably low-level, allowing code to interact very directly with the Isis metamodel and runtime. Such callers should be considered trusted: they do not (by default) honour any business rules eg implicit in the Isis annotations or hide/disable/validate methods. However the <<WrapperFactory>> service could be used to enforce such business rules if required.
+The API described in this chapter is reasonably low-level, allowing code to interact very directly with the Apache Isis metamodel and runtime. Such callers should be considered trusted: they do not (by default) honour any business rules eg implicit in the Isis annotations or hide/disable/validate methods. However the xref:rg.adoc#_rg_services-api_manpage-WrapperFactory[`WrapperFactory`] service could be used to enforce such business rules if required.
http://git-wip-us.apache.org/repos/asf/isis/blob/fe19dc4b/adocs/documentation/src/main/asciidoc/guides/_ug_headless-access_AbstractIsisSessionTemplate.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_ug_headless-access_AbstractIsisSessionTemplate.adoc b/adocs/documentation/src/main/asciidoc/guides/_ug_headless-access_AbstractIsisSessionTemplate.adoc
index 7402a2e..9d896fc 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_ug_headless-access_AbstractIsisSessionTemplate.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_ug_headless-access_AbstractIsisSessionTemplate.adoc
@@ -5,7 +5,7 @@
:_imagesdir: images/
-The `AbstractIsisSessionTemplate` class (whose name is inspired by the Spring framework's naming convention for similar classes that query http://docs.spring.io/spring/docs/2.5.x/reference/jdbc.html#jdbc-JdbcTemplate[JDBC], http://docs.spring.io/spring/docs/2.5.x/reference/jms.html#jms-jmstemplate[JMS], http://docs.spring.io/spring/docs/2.5.x/reference/orm.html#orm-jpa-template[JPA] etc.) provides the mechanism to open up a 'session' within the Isis framework, in order to resolve and interact with entities.
+The `AbstractIsisSessionTemplate` class (whose name is inspired by the Spring framework's naming convention for similar classes that query http://docs.spring.io/spring/docs/2.5.x/reference/jdbc.html#jdbc-JdbcTemplate[JDBC], http://docs.spring.io/spring/docs/2.5.x/reference/jms.html#jms-jmstemplate[JMS], http://docs.spring.io/spring/docs/2.5.x/reference/orm.html#orm-jpa-template[JPA] etc.) provides the mechanism to open up a 'session' within the Apache Isis framework, in order to resolve and interact with entities.
The class itself is intended to be subclassed:
@@ -28,7 +28,7 @@ public abstract class AbstractIsisSessionTemplate {
<2> `doExecute(...)`, the mandatory hook method for subclasses to implement.
The passed object represents passes a context from the caller (eg the scheduler, cron job, JMS etc) that instantiated and executed the class.
-The `protected` methods expose key internal APIs within Isis, for the subclass to use as necessary.
+The `protected` methods expose key internal APIs within Apache Isis, for the subclass to use as necessary.
[TIP]
http://git-wip-us.apache.org/repos/asf/isis/blob/fe19dc4b/adocs/documentation/src/main/asciidoc/guides/_ug_headless-access_BackgroundCommandExecution.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_ug_headless-access_BackgroundCommandExecution.adoc b/adocs/documentation/src/main/asciidoc/guides/_ug_headless-access_BackgroundCommandExecution.adoc
index 1c82eff..e001dae 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_ug_headless-access_BackgroundCommandExecution.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_ug_headless-access_BackgroundCommandExecution.adoc
@@ -6,7 +6,7 @@
-The `BackgroundCommandExecution` class (a subclass of <<AbstractIsisSessionTemplate>>) is intended to simplify the execution of background ``Command``s persisted by way of the <<CommandService>> and the <<BackgroundCommandService>>.
+The `BackgroundCommandExecution` class (a subclass of xref:ug.adoc#_ug_headless-access_AbstractIsisSessionTemplate[AbstractIsisSessionTemplate]) is intended to simplify the execution of background ``Command``s persisted by way of the xref:rg.adoc#_rg_services-spi_manpage-CommandService[`CommandService`] and the xref:rg.adoc#_rg_services-spi_manpage-BackgroundCommandService[`BackgroundCommandService`].
Its signature is:
http://git-wip-us.apache.org/repos/asf/isis/blob/fe19dc4b/adocs/documentation/src/main/asciidoc/guides/_ug_how-tos.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_ug_how-tos.adoc b/adocs/documentation/src/main/asciidoc/guides/_ug_how-tos.adoc
index d03210e..d9bacbe 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_ug_how-tos.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_ug_how-tos.adoc
@@ -5,7 +5,7 @@
:_imagesdir: images/
-This chapter provides instructions on how to go about actually developing Isis domain applications.
+This chapter provides instructions on how to go about actually developing Apache Isis domain applications.
include::_ug_how-tos_class-structure.adoc[leveloffset=+1]