Author: danhaywood
Date: Wed Nov 19 09:39:08 2014
New Revision: 1640512
URL: http://svn.apache.org/r1640512
Log:
ututorial
Modified:
isis/site/trunk/content/components/objectstores/jdo/services/auditing-service-jdo.md
isis/site/trunk/content/components/objectstores/jdo/services/background-command-service-jdo.md
isis/site/trunk/content/components/objectstores/jdo/services/command-service-jdo.md
isis/site/trunk/content/components/objectstores/jdo/services/publishing-service-jdo.md
isis/site/trunk/content/intro/tutorials/apacheconeu-2014.md
isis/site/trunk/content/reference/services/ClockService.md
isis/site/trunk/content/reference/services/auditing-service.md
isis/site/trunk/content/reference/services/bulk-interaction.md
isis/site/trunk/content/reference/services/event-bus-service.md
isis/site/trunk/content/reference/services/query-results-cache.md
isis/site/trunk/content/reference/services/scratchpad.md
Modified:
isis/site/trunk/content/components/objectstores/jdo/services/auditing-service-jdo.md
URL:
http://svn.apache.org/viewvc/isis/site/trunk/content/components/objectstores/jdo/services/auditing-service-jdo.md?rev=1640512&r1=1640511&r2=1640512&view=diff
==============================================================================
---
isis/site/trunk/content/components/objectstores/jdo/services/auditing-service-jdo.md
(original)
+++
isis/site/trunk/content/components/objectstores/jdo/services/auditing-service-jdo.md
Wed Nov 19 09:39:08 2014
@@ -1,19 +1,3 @@
Title: Auditing Service using JDO
-{note
-In 1.6.0 this implementation was released as
*org.apache.isis.core:isis-module-audit-jdo:1.6.0* and was also released as an
[Isis addon](http://github.com/isisaddons/isis-module-audit) module. **In
1.7.0+ only the [Isis addon](http://github.com/isisaddons/isis-module-audit)
implementation is released.**
-}
-
-The JDO objectstore provides a simple implementation of the applib
[AuditingService](../../../../reference/services/auditing-service.html) that
simply persists the event data into a `AuditEntryJdo` entity. This is mapped
to an `IsisAuditEntry` table.
-
-> Rather than using an `AuditingService`, you may prefer to use the
[Publishing Service](../../../../reference/services/publishing-service.html),
since it is considerably more flexible. A JDO
[implementation](./publishing-service-jdo.html) is available.
-
-### Register the Service
-
-Register like any other service in `isis.properties`:
-
- isis.services=...,\
-
org.apache.isis.objectstore.jdo.applib.service.audit.AuditingServiceJdo,\
- ...
-
-Assuming that you've also configured Isis to use the JDO objectstore, you
should be good to go...
+For 1.7.0+, see the [Isis
addon](http://github.com/isisaddons/isis-module-audit) module.
Modified:
isis/site/trunk/content/components/objectstores/jdo/services/background-command-service-jdo.md
URL:
http://svn.apache.org/viewvc/isis/site/trunk/content/components/objectstores/jdo/services/background-command-service-jdo.md?rev=1640512&r1=1640511&r2=1640512&view=diff
==============================================================================
---
isis/site/trunk/content/components/objectstores/jdo/services/background-command-service-jdo.md
(original)
+++
isis/site/trunk/content/components/objectstores/jdo/services/background-command-service-jdo.md
Wed Nov 19 09:39:08 2014
@@ -1,38 +1,4 @@
Title: BackgroundCommandServiceJdo
-{note
-In 1.6.0 this implementation was released as part of
*org.apache.isis.core:isis-module-command-jdo:1.6.0* and was also released as
an [Isis addon](http://github.com/isisaddons/isis-module-command) module. **In
1.7.0+ only the [Isis addon](http://github.com/isisaddons/isis-module-command)
implementation is released.**
-}
+For 1.7.0+, please see the [Isis
addon](http://github.com/isisaddons/isis-module-command) module.
-The JDO objectstore provides an implementation of the applib
[BackgroundCommandService](../../../../reference/services/background-service.html)
that persists the command data into a `CommandJdo` entity. This is mapped to
an `IsisCommand` table.
-
-There are two further services that can be used:
-
-* the `BackgroundCommandServiceJdoRepository` service provides a set of
finders to query `Command`s.
-* the `BackgroundCommandServiceJdoContributions` service defines a number of
contributed collections into the user interface for any persisted `Command`s.
These have the effect of showing the child background `Command`s for a parent
`Command` (usually foreground).
-
-### Executing the `Command`s
-
-The `BackgroundCommandServiceJdo` only persists the `Command`s to a database
table, it doesn't actually execute those commands. For this, you can use
[BackgroundCommandExecutionFromBackgroundCommandServiceJdo](../non-ui/background-command-execution-jdo.html)
class, a subclass implementation of
[BackgroundCommandExecution](../../../../reference/non-ui/background-command-execution.html).
The intention is that this class is instantiated regularly (eg every 10
seconds) by a scheduler such as [Quartz](http://quartz.org)) to poll for
`Command`s to be executed, and then execute them. As you might imagine, to
find new `Ccommand`s it uses the `BackgroundCommandServiceJdoRepository`.
-
-An example of how to configure the Quartz scheduler can be found on the page
that describes the applib
[BackgroundService](../../../../reference/services/background-service.html).
-
-### Related services
-
-This service is intended to be deployed in conjunction with the [JDO
implementation](./command-service-jdo.html) of the applib
[CommandService](../../../../reference/services/command-context.html), which
provides the ability to persist "foreground" `Command`s also as `CommandJdo`s
(and to the same `IsisCommand` table.
-
-*Note* the `BackgroundCommandServiceJdoRepository` queries for any `Command`s
that needs to be executed (has not yet started). Typically these will be those
created explicitly through the `BackgroundService` API. However, `Command`s to
be executed in the background can also be created implicitly through the
`@Command(executeIn=BACKGROUND)` annotation, whereby the `CommandContext`
service delegates to the configured `CommandService` to persist the `Command`.
For these to be picked up, the `CommandService` in use should be the JDO
implementation.
-
-Put another way: just make sure you use the JDO implementations of
`CommandService` and `BackgroundCommandService` together.
-
-### Register the Service(s)
-
-Register like any other service in `isis.properties`:
-
- isis.services=...,\
-
org.apache.isis.objectstore.jdo.applib.service.background.BackgroundCommandServiceJdo,\
-
org.apache.isis.objectstore.jdo.applib.service.background.BackgroundCommandServiceJdoRepository,\
-
org.apache.isis.objectstore.jdo.applib.service.background.BackgroundCommandServiceJdoContributions,\
- ...
-
-
\ No newline at end of file
Modified:
isis/site/trunk/content/components/objectstores/jdo/services/command-service-jdo.md
URL:
http://svn.apache.org/viewvc/isis/site/trunk/content/components/objectstores/jdo/services/command-service-jdo.md?rev=1640512&r1=1640511&r2=1640512&view=diff
==============================================================================
---
isis/site/trunk/content/components/objectstores/jdo/services/command-service-jdo.md
(original)
+++
isis/site/trunk/content/components/objectstores/jdo/services/command-service-jdo.md
Wed Nov 19 09:39:08 2014
@@ -1,40 +1,4 @@
Title: CommandServiceJdo
-{note
-In 1.6.0 this implementation was released as
*org.apache.isis.core:isis-module-command-jdo:1.6.0* and was also released as
an [Isis addon](http://github.com/isisaddons/isis-module-command) module. **In
1.7.0+ only the [Isis addon](http://github.com/isisaddons/isis-module-command)
implementation is released.**
-}
+For 1.7.0+, please see the [Isis
addon](http://github.com/isisaddons/isis-module-command) module.
-The JDO objectstore provides an implementation of the applib
[CommandService](../../../../reference/services/command-context.html) that
persists the command data into a `CommandJdo` entity. This is mapped to an
`IsisCommand` table.
-
-This supports a number of use cases:
-
-* by making action interactions persistent as `Command`s, it enables profiling
of actions (eg identify slow actions, or simply to identify the most commonly
used transactions)
-* it allows foreground `Command`s to be associated with any background child
`Command`s created through the applib
[BackgroundService](../../../../reference/services/background-service.html).
-- if [auditing](../../../../reference/services/auditing-service.html) is
configured (for example, the [JDO
implementation](./auditing-service-jdo.html)), they provide better audit
information as the `Command` (the 'cause' of an action) can be correlated to
the audit records (the "effect" of the action) through the unique
`transactionId` GUID
-- if [publishing](../../../../reference/services/publishing-service.html) is
configured (for example the [JDO
implementation](./publishing-service-jdo.html)), they provide better
traceability as the `Command` is also correlated with any published events,
again through the unique `transactionId` GUID
-
-
-There are a further repository that can also be used:
-
-* the `CommandServiceJdoRepository` service provides a set of finders to query
`Command`s.
-
-Note that this service does *not* provide any infrastructure for executing
background `Command`s (actions annotated with
`@Command(executeIn=BACKGROUND)`). To execute these, configure the [JDO
implementation](./background-command-service-jdo.html) of the applib
[BackgroundCommandService](../../../../reference/services/background-service.html).
-
-
-### Related services
-
-This service is intended to be deployed in conjunction with the [JDO
implementation](./background-command-service-jdo.html) of the applib
[BackgroundCommandService](../../../../reference/services/background-service.html),
which provides the ability to persist "foreground" `Command`s also as
`CommandJdo`s (and to the same `IsisCommand` table.
-
-### Register the Service(s)
-
-Register like any other service in `isis.properties`:
-
- isis.services=...,\
-
org.apache.isis.objectstore.jdo.applib.service.command.CommandServiceJdo,\
-
org.apache.isis.objectstore.jdo.applib.service.command.CommandServiceJdoRepository,\
- ...
-
-Assuming that you've also configured Isis to use the JDO objectstore, you
should be good to go...
-
-
-
\ No newline at end of file
Modified:
isis/site/trunk/content/components/objectstores/jdo/services/publishing-service-jdo.md
URL:
http://svn.apache.org/viewvc/isis/site/trunk/content/components/objectstores/jdo/services/publishing-service-jdo.md?rev=1640512&r1=1640511&r2=1640512&view=diff
==============================================================================
---
isis/site/trunk/content/components/objectstores/jdo/services/publishing-service-jdo.md
(original)
+++
isis/site/trunk/content/components/objectstores/jdo/services/publishing-service-jdo.md
Wed Nov 19 09:39:08 2014
@@ -1,37 +1,3 @@
Title: Publishing Service using JDO
-{note
-In 1.6.0 this implementation was released as part of
*org.apache.isis.core:isis-module-publishing-jdo:1.6.0* and was also released
as an [Isis addon](http://github.com/isisaddons/isis-module-publishing) module.
**In 1.7.0+ only the [Isis
addon](http://github.com/isisaddons/isis-module-publishing) implementation is
released.**
-}
-
-The JDO objectstore provides a simple implementation of the applib
[PublishingService](../../../../reference/services/publishing-service.html)
that simply persists the event data into a `PublishedEvent` entity.
-
-Along with the event data, the `PublishedEvent` also includes a status
property with two values: `QUEUED` and `PROCESSED`. The service also acts as a
repository to search for all unprocessed events.
-
-The intention is for an event service bus (eg [Apache
ServiceMix](http://servicemix.apache.org)) to poll for unprocessed events,
either directly to the database, or using the Restful Objects API. Once
processed, then the status can be updated.
-
-Although a polling architecture introduces some overhead, it avoids the
complexity of XA/JTA transactions which would otherwise be needed to ensure
that events are only published atomically with committed changes to the
database.
-
-## Configuration (v1.5.0 onwards)
-
-The `PublishedEvent` entity can either persist the serialized form of the
event as a zipped byte array or as a CLOB. Which is used is determined by a
configuration setting (typically stored in `persistor_datanucleus.properties`,
but `isis.properties` can also be used):
-
- # whether to persist the event data as a "clob" or as a "zipped" byte[]
- isis.persistor.datanucleus.PublishingService.serializedForm=clob
-
-If not specified, then "zipped" is the default.
-
-## Register the Service
-
-Register like any other service in `isis.properties`:
-
- isis.services=...,\
-
org.apache.isis.objectstore.jdo.applib.service.publish.PublishingServiceJdo,\
- ...
-
-Assuming that you've also configured Isis to use the JDO objectstore, you
should be good to go...
-
-
-## Related projects
-
-Dan Haywood's
[camel-isis-pubsubjdo](https://github.com/danhaywood/camel-isis-pubsubjdo)
project up on github shows how to poll and process the persisted
`PublishedEvent` table using [Apache Camel](http://camel.apache.org).
+For 1.7.0+, please see the [Isis
addon](http://github.com/isisaddons/isis-module-command) module.
Modified: isis/site/trunk/content/intro/tutorials/apacheconeu-2014.md
URL:
http://svn.apache.org/viewvc/isis/site/trunk/content/intro/tutorials/apacheconeu-2014.md?rev=1640512&r1=1640511&r2=1640512&view=diff
==============================================================================
--- isis/site/trunk/content/intro/tutorials/apacheconeu-2014.md (original)
+++ isis/site/trunk/content/intro/tutorials/apacheconeu-2014.md Wed Nov 19
09:39:08 2014
@@ -465,19 +465,21 @@ Under the covers Isis uses the [Guava ev
By default the events generated are `ActionInteractionEvent.Default` (for
actions) and `PropertyInteractionEvent.Default` (for properties). Subclasses
of these can be specified using the
[@ActionInteraction](http://isis.apache.org/reference/recognized-annotations/ActionInteraction.html)
or
[@PropertyInteraction](http://isis.apache.org/reference/recognized-annotations/PropertyInteraction.html).
+Using the guidance in [these
docs](http://isis.apache.org/reference/services/event-bus-service.html):
-Using the guidance in [these docs]():
+* write a domain service subscriber to subscribe to events
+* use the domain service to perform log events
+* use the domain service to veto actions (hide/disable or validate)
-* write a domain service subscriber to
-TODO
+* Bulk actions
+Bulk actions are actions that can be invoked on a collection of actions, that
is on collections returned by invoking an action. Actions are specified as
being bulk actions using the
[@Bulk](http://isis.apache.org/reference/recognized-annotations/Bulk.html)
annotation. Note that currently (1.8.0-SNAPSHOT) only no-arg actions can be
specified as bulk actions.
+* Write a no-arg action for your domain entity
+* Inject the
[Bulk.InteractionContext](http://isis.apache.org/reference/services/bulk-interaction.html)
service and use this to
-* Bulk actions
-
-TODO
## Performance tuning
@@ -552,6 +554,11 @@ TODO
TODO
+
+## Exception Recognizers
+
+
+
## Configuring to use an external database
TODO
Modified: isis/site/trunk/content/reference/services/ClockService.md
URL:
http://svn.apache.org/viewvc/isis/site/trunk/content/reference/services/ClockService.md?rev=1640512&r1=1640511&r2=1640512&view=diff
==============================================================================
--- isis/site/trunk/content/reference/services/ClockService.md (original)
+++ isis/site/trunk/content/reference/services/ClockService.md Wed Nov 19
09:39:08 2014
@@ -27,11 +27,7 @@ The time provided by this default implem
## Registering the Service
-Register like any other service in `isis.properties`:
-
- isis.services=...,\
- org.apache.isis.applib.services.clock.ClockService,\
- ...
+The `ClockService` class is automatically registered (it is annotated with
`@DomainService`) so no further configuration is required.
## Alternative Implementations
@@ -52,5 +48,11 @@ Setting up a different implementation th
}
}
-You can then register this service - instead of the default `ClockService` -
in the usual way within `isis.properties`
+You can then register this service in the usual way within `isis.properties`:
+
+ isis.services=...,\
+ com.mycompany.myapp.NntpClockService,\
+ ...
+Because this is a subclass of `ClockService` it will be used instead of the
default implementation.
+
\ No newline at end of file
Modified: isis/site/trunk/content/reference/services/auditing-service.md
URL:
http://svn.apache.org/viewvc/isis/site/trunk/content/reference/services/auditing-service.md?rev=1640512&r1=1640511&r2=1640512&view=diff
==============================================================================
--- isis/site/trunk/content/reference/services/auditing-service.md (original)
+++ isis/site/trunk/content/reference/services/auditing-service.md Wed Nov 19
09:39:08 2014
@@ -36,11 +36,10 @@ The API for the service is:
## Implementations
-A simple implementation of the service that writes to stderr, is available,
useful for debugging:
+For 1.7.0+, please see the [Isis addon
audit](http://github.com/isisaddons/isis-module-audit) module.
-* `org.apache.isis.applib.services.audit.AuditingService3$Stderr`
+If you just want to debug (writing to stderr), you can instead configure
`org.apache.isis.applib.services.audit.AuditingService3$Stderr`
-An alternative implementation, that persists audit records to a database, is
the [JDO Publishing
Service](../../components/objectstores/jdo/services/publishing-service-jdo.html).
This implementation is only supported when the the [JDO
objectstore](../../components/objectstores/jdo/about.html) is configured.
## Usage
@@ -73,11 +72,7 @@ If the key is not present in `isis.prope
## Register the Service
-Register like any other service in `isis.properties`. For example, if using
the [JDO auditing
implementation](../../components/objectstores/jdo/services/auditing-service-jdo.html)
then it would be:
-
- isis.services=...,\
-
org.apache.isis.objectstore.jdo.applib.service.audit.AuditingServiceJdo,\
- ...
+See the [Isis addon audit](http://github.com/isisaddons/isis-module-audit)
module for details.
### Related Services
Modified: isis/site/trunk/content/reference/services/bulk-interaction.md
URL:
http://svn.apache.org/viewvc/isis/site/trunk/content/reference/services/bulk-interaction.md?rev=1640512&r1=1640511&r2=1640512&view=diff
==============================================================================
--- isis/site/trunk/content/reference/services/bulk-interaction.md (original)
+++ isis/site/trunk/content/reference/services/bulk-interaction.md Wed Nov 19
09:39:08 2014
@@ -56,12 +56,7 @@ the [quickstart app](../../intro/getting
### Registering the Service
-The `Bulk.InteractionContext` is a concrete class, so can be registered
directly
-as a service in `isis.properties`:
-
- isis.services=...,\
- org.apache.isis.applib.annotation.Bulk.InteractionContext,\
- ...
+The `Bulk.InteractionContext` class is automatically registered (it is
annotated with `@DomainService`) so no further configuration is required.
### Unit testing support
Modified: isis/site/trunk/content/reference/services/event-bus-service.md
URL:
http://svn.apache.org/viewvc/isis/site/trunk/content/reference/services/event-bus-service.md?rev=1640512&r1=1640511&r2=1640512&view=diff
==============================================================================
--- isis/site/trunk/content/reference/services/event-bus-service.md (original)
+++ isis/site/trunk/content/reference/services/event-bus-service.md Wed Nov 19
09:39:08 2014
@@ -104,7 +104,7 @@ Register for events when the `EventBusSe
-### `@PostsPropertyChangedEvent`
+### `@PostsPropertyChangedEvent` (deprecated)
Isis will also automatically publish (post) an
`org.apache.isis.applib.services.eventbus.PropertyChangedEvent` event object on
any property that is annotated with
[`@PostsPropertyChangedEvent](../recognized-annotations/PostsPropertyChangedEvent.html).
This can remove some boilerplate.
@@ -115,32 +115,17 @@ Isis will also automatically publish (po
<li>This is work-in-progress. In the future other interactions (such as
action invocations, or collection add to/remove) may also be raised
automatically.</li>
</ul>
</blockquote>
+
## Implementation
-Isis provides two implementations. The default implementation (provided by
core runtime) is:
-
- org.apache.isis.core.runtime.services.eventbus.EventBusServiceDefault
-
-However, if the JDO objectstore is in use, then its implementation *must* be
used instead:
+Isis provides the
`org.apache.isis.objectstore.jdo.datanucleus.service.eventbus.EventBusServiceJdo`
as a default implementation of the `EventBusService` API.
-
org.apache.isis.objectstore.jdo.datanucleus.service.eventbus.EventBusServiceJdo
## Register the Service
-Register this service like any other service, in `isis.properties`
-
-If the JDO Objectstore is *not* in use, use:
-
- isis.services=...,\
-
org.apache.isis.core.runtime.services.eventbus.EventBusServiceDefault,\
- ...
-
-If the JDO ObjectStore *is* in use, use:
+The `EventBusServiceJdo` class is automatically registered (it is annotated
with `@DomainService`) so no further configuration is required.
- isis.services=...,\
-
org.apache.isis.objectstore.jdo.datanucleus.service.eventbus.EventBusServiceJdo,\
- ...
## Related Services
Modified: isis/site/trunk/content/reference/services/query-results-cache.md
URL:
http://svn.apache.org/viewvc/isis/site/trunk/content/reference/services/query-results-cache.md?rev=1640512&r1=1640511&r2=1640512&view=diff
==============================================================================
--- isis/site/trunk/content/reference/services/query-results-cache.md (original)
+++ isis/site/trunk/content/reference/services/query-results-cache.md Wed Nov
19 09:39:08 2014
@@ -93,11 +93,8 @@ This refactoring will be worthwhile prov
### Register the Service
-Register this service like any other service, in `isis.properties`, eg:
+The `QueryResultsCache` class is automatically registered (it is annotated
with `@DomainService`) so no further configuration is required.
- isis.services=...,\
-
org.apache.isis.applib.services.queryresultscache.QueryResultsCache,\
- ...
### Related Services
Modified: isis/site/trunk/content/reference/services/scratchpad.md
URL:
http://svn.apache.org/viewvc/isis/site/trunk/content/reference/services/scratchpad.md?rev=1640512&r1=1640511&r2=1640512&view=diff
==============================================================================
--- isis/site/trunk/content/reference/services/scratchpad.md (original)
+++ isis/site/trunk/content/reference/services/scratchpad.md Wed Nov 19
09:39:08 2014
@@ -80,11 +80,8 @@ If using the Wicket viewer, the `ToDoIte
### Registering the Service
-Register the concrete implementation (from isis-core) in `isis.properties`:
+The `Scratchpad` class is automatically registered (it is annotated with
`@DomainService`) so no further configuration is required.
- isis.services=...,\
- org.apache.isis.applib.services.scratchpad.Scratchpad,\
- ...
### Related Services