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 2014/02/12 00:31:08 UTC
[11/51] [partial] ISIS-694: mothballing the docbkx folders.
http://git-wip-us.apache.org/repos/asf/isis/blob/7a7836e3/mothballed/docbkx/core/src/docbkx/guide/DRAFT/isis-core.POSSIBLY-TO-INCLUDE.xml
----------------------------------------------------------------------
diff --git a/mothballed/docbkx/core/src/docbkx/guide/DRAFT/isis-core.POSSIBLY-TO-INCLUDE.xml b/mothballed/docbkx/core/src/docbkx/guide/DRAFT/isis-core.POSSIBLY-TO-INCLUDE.xml
new file mode 100644
index 0000000..1e7b48f
--- /dev/null
+++ b/mothballed/docbkx/core/src/docbkx/guide/DRAFT/isis-core.POSSIBLY-TO-INCLUDE.xml
@@ -0,0 +1,530 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+"file:./src/docbkx/dtd-4.5/docbookx.dtd">
+<!--
+ 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.
+-->
+<book>
+ <bookinfo>
+ <title><?eval ${docbkxGuideTitle}?></title>
+
+ <subtitle><?eval ${docbkxGuideSubTitle}?></subtitle>
+
+ <releaseinfo><?eval ${project.version}?></releaseinfo>
+
+ <authorgroup>
+ <author>
+ <firstname>Dan</firstname>
+
+ <surname>Haywood</surname>
+ </author>
+
+ <author>
+ <firstname>Robert</firstname>
+
+ <surname>Matthews</surname>
+ </author>
+ </authorgroup>
+
+ <legalnotice>
+ <para>Permission is granted to make and distribute verbatim copies of
+ this manual provided that the copyright notice and this permission
+ notice are preserved on all copies.</para>
+ </legalnotice>
+ </bookinfo>
+
+ <toc></toc>
+
+ <chapter>
+ <title>Conventions</title>
+
+ <para>*** change into an appendix?</para>
+
+ <para></para>
+
+ <para></para>
+
+ <para>The <emphasis>Isis</emphasis> framework provides a number of tools
+ to help resolve problems and debug the system. These are mainly applicable
+ to issues within system code, but some of them can be useful when
+ developing applications. The framework provides the following:-</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Extensive use of logging through the <ulink
+ url="http://logging.apache.org/log4j/docs/">Log4j</ulink> framework,
+ an open source logging framework made available as part of the Apache
+ Jakarta project ;</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>In addition, the DnD viewer provides debug views that display
+ details of components and anything else that implements the
+ <classname>DebugInfo</classname> interface. There is further coverage of
+ this last feature in the DnD viewer's documentation.</para>
+
+ <para></para>
+
+ <sect1>
+ <title>"XxxAware" convention for components</title>
+
+ <para></para>
+
+ <para></para>
+ </sect1>
+
+ <sect1>
+ <title>Logging</title>
+
+ <para>Logging using Log4j is used throughout the framework and the
+ components the Isis development team have created, and it is recommended
+ that you use it too. Logging allows you to look what the framework and
+ components have been when you investigate a problem and help to identify
+ what parts of the system where doing what before an problem arose. Often
+ logging alone is enough to pin point a problem, but if not it help you
+ target what to investigate.</para>
+
+ <para>Log4j allows you to log log debug messages, information about the
+ system's state, warnings and errors. These events can be displayed on
+ the console, written to files, or sent out over the network for remote
+ logging. These are output in a user defined format and also can be
+ filtered (so only events from certain components are seen). All this is
+ configured through a set of properties passed to Log4J.</para>
+
+ <sect2>
+ <title>Configuring Logging</title>
+
+ <para>The complete options for outputting and formatting can be found
+ in the relavent Log4J documentation (including the API). However, it
+ crucial to smooth development of an NOF system that will cover some of
+ it here. The NOF configures Log4j using properties files and will
+ generally load <filename class="directory"
+ moreinfo="none">log4j.properties</filename> or retrieve the properties
+ from the that were loaded from <filename class="directory"
+ moreinfo="none">isis.properties</filename> after that is loaded for
+ framework configuration (these files need to be located in the working
+ directory). If you are not using classes within the NOF to start the
+ framework then how these properties are loaded could vary. The
+ downside of putting the logging properities in the framework
+ properties files is that there is no logging until it has been loaded.
+ If this is necessary then it is better to use the separate properties
+ file.</para>
+
+ <para>The following file, or portion of a file, is a basic
+ configuration for logging. It consists of two appenders and a basic
+ logging configuration.</para>
+
+ <programlisting format="linespecific">log4j.rootLogger=INFO, Console, File
+
+# The console appender
+log4j.appender.Console=org.apache.log4j.ConsoleAppender
+log4j.appender.Console.Target=System.out
+log4j.appender.Console.layout=org.apache.log4j.PatternLayout
+log4j.appender.Console.layout.ConversionPattern=%-5r [%-20c{1} %-10t %-5p] \t\t%m%n
+
+# The exploration.log file appender
+log4j.appender.File=org.apache.log4j.FileAppender
+log4j.appender.File.File=exploration.log
+log4j.appender.File.layout=org.apache.log4j.PatternLayout
+log4j.appender.File.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%n
+log4j.appender.File.Append=false</programlisting>
+
+ <para>The first line sets up logging to show events of level
+ <emphasis>INFO</emphasis> and above through the
+ <emphasis>Console</emphasis> and <emphasis>File</emphasis> appenders,
+ which writes those events to the console and the file <filename
+ class="directory" moreinfo="none">exploration.log</filename>
+ respectively. The two blocks sepcifiy how to write to the console and
+ the file. Other appenders can be used to change where the logs are
+ written to. The number of appenders specified is unlimited, although
+ there should be at least one. The console below (from Eclipse) shows
+ the log. The file will contain the same thing although the formatting
+ will be slightly different as the conversion pattern for the two
+ appenders is different.</para>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/console-log.png" />
+ </imageobject>
+ </mediaobject>
+
+ <sect3>
+ <title>Logging levels</title>
+
+ <para>The types of events that are logged can be changed. This
+ determines how large the files become or how much traffic is put
+ over the network, and is reflected in the amount of processing that
+ needs to be done to process the events into messages that can be
+ written out. Levels in order of increasing verbosity and log size,
+ and is decreasing order of severity are:-</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>OFF - no logging</para>
+ </listitem>
+
+ <listitem>
+ <para>FATAL - something very serious has happened that requires
+ the system to be shut down.</para>
+ </listitem>
+
+ <listitem>
+ <para>ERROR - something serious has happened that might affect
+ any subsequent actions.</para>
+ </listitem>
+
+ <listitem>
+ <para>WARN - something has not been set up properly, or needs
+ attention. Although subsequent action might function correctly,
+ they might not function as expected.</para>
+ </listitem>
+
+ <listitem>
+ <para>INFO - information to the developer about something that
+ has taken place.</para>
+ </listitem>
+
+ <listitem>
+ <para>DEBUG - detailed information for the developer.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>So in the above example to increase the logging level to debug
+ change the first part of the property to <emphasis>DEBUG</emphasis>
+ from <emphasis>INFO</emphasis> as below:</para>
+
+ <programlisting format="linespecific">log4j.rootLogger=DEBUG, Console, File</programlisting>
+
+ <para>Logging should almost never be set to off, but should at least
+ be set to log the errors (unsing level ERROR). Whilst developing we
+ recommend that you set your basic level to INFO and switch to DEBUG
+ if you need to investigate something.</para>
+
+ <para>Setting the logging level via the properties file applies that
+ level at startup and cannot be changed using the properties, ie,
+ that level will be used to filter all logged event while the system
+ is running. If you are using the Skylark viewer, however, you can
+ use the debug options to change the logging level on the client at
+ any time. By using Ctrl-Shift-right-click on the desktop you will be
+ shown the debug menu and see the following options:-</para>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata align="left" fileref="images/logging-debug.png"
+ format="PNG" />
+ </imageobject>
+ </mediaobject>
+
+ <para>The greyed-out option indicates the current level. Selectiing
+ one of the other levels will change the logging to that
+ level.</para>
+ </sect3>
+
+ <sect3>
+ <title>Limiting logging by class</title>
+
+ <para>As well as limiting the level of events that are logged, we
+ can also specify which classes we are interested in capturing log
+ events for. In Log4j events are organised by loggers, which are set
+ up programmatically, but as we create a logger for each class we
+ talk about classes.</para>
+
+ <para>To change the levels of events captured according to the class
+ where the log event was created we can class based requirements
+ after the root logger is specified. To set a logging level for a
+ class add a property in the form</para>
+
+ <programlisting format="linespecific">log4j.logger.<package to log>=<level for package>
+log4j.logger.<class to log>=<level for class></programlisting>
+
+ <para>Events for the specified packages or class will be logged at
+ the specified level, overriding the root level set up first. So for
+ example the following configuration:</para>
+
+ <programlisting format="linespecific">log4j.rootLogger=WARN, Console
+
+log4j.logger.org.apache.isis.object=INFO
+log4j.logger.org.apache.isis.object.reflect=DEBUG
+log4j.logger.org.apache.isis.object.persistence=DEBUG
+
+log4j.logger.org.apache.isis.object.loader.ObjectLoaderImpl=OFF</programlisting>
+
+ <para>will capture warning and errors for all classes (as defined by
+ the root logger), and information messages for those classes whose
+ package begins with <classname>org.apache.isis.object</classname>.
+ In addition those classes beginning with
+ <classname>org.apache.isis.object.reflect </classname>or
+ <classname>org.apache.isis.object.persistence</classname> will have
+ their debug events captured as well. Finally, the class
+ <classname>ObjectLoader</classname> will have all of its events
+ ignored.</para>
+
+ <para>It is important to make use of this feature when using the
+ Skylark viewer as it logs events about it rendering. In Java
+ rendering the screen (via the
+ <methodname>paint(Graphics)</methodname> method) happens very often
+ and can cause the logs to be swamped with superflous events. The
+ logger for these events are prepended with the text 'ui.' so we can
+ disable all of these events across all the viewing classes by adding
+ the following to the properties:</para>
+
+ <programlisting format="linespecific">log4j.logger.ui=OFF</programlisting>
+ </sect3>
+
+ <sect3>
+ <title>Writing XML log files</title>
+
+ <para>By writing out the logs to a file in XML rather than as text
+ allows you to look at the log using Chainsaw, a Log4j viewer. This
+ tool allows you to quickly look at events in specific classes and
+ hide events that are of no interest by setting up simple
+ conditions.</para>
+
+ <para>To write out an XML file the same appender as before is used,
+ but the layout is changed. The following configuration logs all
+ events (DEBUG and greater) to a file with an XML layout.</para>
+
+ <programlisting format="linespecific">log4j.rootLogger=DEBUG, XmlFile
+
+log4j.appender.XmlFile=org.apache.log4j.FileAppender
+log4j.appender.XmlFile.file=isis.log.xml
+log4j.appender.XmlFile.layout=org.apache.log4j.xml.XMLLayout
+log4j.appender.XmlFile.append=false</programlisting>
+ </sect3>
+
+ <sect3>
+ <title>Writing HTML log files</title>
+
+ <para>HTML files can be viewed in a web browser and will display
+ nicely in most email clients. Change the appender to use the
+ <classname>HTMLLayout</classname> class.</para>
+
+ <programlisting format="linespecific">log4j.appender.Snapshot.layout=org.apache.log4j.HTMLLayout</programlisting>
+ </sect3>
+ </sect2>
+
+ <sect2>
+ <title>Using logging to get help</title>
+
+ <para>When you are working with someone else it is often useful to
+ send details of what is happening including screenshots, code, and
+ logs. To make the other person's life easier provide as much
+ information as possible:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Detail the version of the framework and the platform (Java
+ or .Net) you are using</para>
+ </listitem>
+
+ <listitem>
+ <para>Describe the problem in detail</para>
+ </listitem>
+
+ <listitem>
+ <para>Provide screenshots (as a <filename class="directory"
+ moreinfo="none">.gif</filename> or <filename class="directory"
+ moreinfo="none">.png</filename>, avoid jpegs and Word documents)
+ that shows the problem</para>
+ </listitem>
+
+ <listitem>
+ <para>Provide log files from both the client and the server in an
+ XML format so they can be viewed using Chainsaw</para>
+ </listitem>
+
+ <listitem>
+ <para>Include your contact details, preferrably you email
+ address</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Collate all this information ensuring each file is clearly
+ named. Then zip up (or tar) the whole set (as the logs, in particular,
+ can be huge) and email the compressed file.</para>
+ </sect2>
+
+ <sect2>
+ <title>Adding logging to your code</title>
+
+ <para>It is recommended that you also add logging to your code,
+ particularly if you are developing a component or extending the
+ framework in some way. This way you will be able to see the
+ interaction of your classes with those of the NOF. The following lays
+ out how the framework uses Log4j, and hence how you should use it to
+ be consistent.</para>
+
+ <para>Simple ensure that any class that does any logging makes a
+ <classname>Logger</classname> available. By convention the name is
+ always <varname>LOG</varname>. The name of the logger should be the
+ name of the class in its fully qualified form. To make this easy use
+ the constructor that takes a <classname>Class</classname> object and
+ pass in your class using as shown here. Don't forget to add an import
+ to <classname>org.apache.log4j.Logger</classname>, not the class of
+ the same name in the NOF or in Java itself.</para>
+
+ <programlisting format="linespecific">private final static Logger LOG = Logger.getLogger(IsisClass.class);</programlisting>
+
+ <para>Where you wish to add log message add a statement like the
+ following, deciding first what level the event should be classified as
+ (see above); the available methods are <methodname>debug</methodname>,
+ <methodname>info</methodname>, <methodname>warn</methodname>,
+ <methodname>error</methodname> and
+ <methodname>fatal</methodname>.</para>
+
+ <programlisting format="linespecific">LOG.debug("mark as dirty " + object);
+
+LOG.error("failed to create instance of " + this, e);</programlisting>
+
+ <para>The first statement in this example contains just a message,
+ while the second version logs a message and, separately, the complete
+ stack trace.</para>
+
+ <sect3>
+ <title>Making you classes useful in logs</title>
+
+ <para>To make the most of logging, even if you don't log anything in
+ you code, make sure that you declare a
+ <methodname>toString</methodname> method in each of you classes.
+ This way when a log message is created that references your object
+ the message will show your object in detail rather than like
+ this:</para>
+
+ <screen format="linespecific">MyObject@33D4</screen>
+
+ <para>A suitable toString can cause it to be rendered more usefully
+ such as:</para>
+
+ <screen format="linespecific">MyObject [name=windows,size=34x20]</screen>
+
+ <para></para>
+
+ <para></para>
+
+ <para></para>
+
+ <para></para>
+ </sect3>
+ </sect2>
+ </sect1>
+
+ <sect1>
+ <title>Property naming conventions</title>
+
+ <para>Properties used within the framework start with 'isis', which is
+ available from the <literal moreinfo="none">Configuration.ROOT</literal>
+ constant. Next is the category and optionally a component. Finally is
+ the property name (which can be as many levels as needed) for the
+ component. Examples are:</para>
+
+ <programlisting format="linespecific">isis.viewer.cli.log
+isis.services.prefix
+isis.viewer.dnd.specification.view
+isis.exploration.users
+isis.viewer.html.header</programlisting>
+ </sect1>
+ </chapter>
+
+ <chapter id="chp.DeployingIsisApplications">
+ <title>Deployment Principles</title>
+
+ <abstract>
+ <para>*** The principles for deploying an <emphasis>Isis</emphasis>
+ application.</para>
+ </abstract>
+
+ <para>Assuming that you have developed your domain model and tested it as
+ a standalone prototype, this part of the guide describes the basic
+ deployment options.</para>
+
+ <para>Alternative implementations (most notably, remoting for
+ client/server) that allow for different deployments have their own
+ guidance on deployment. The same is also true for viewers that allow for
+ different deployments (eg a viewer that supports a mobile phone or Eclipse
+ OSGi would likely have its own packaging requirements).</para>
+
+ <para></para>
+
+ <para></para>
+
+ <para></para>
+
+ <note>
+ <para>TODO: tidy up the following paras, were just copied/pasted in from
+ APT</para>
+ </note>
+
+ <para></para>
+
+ <para>All the following describe setting up the default security
+ implementations. *** Mention that there are other implementations</para>
+
+ <para></para>
+
+ <para></para>
+
+ <para>For desktop-based viewers the framework provides a
+ <classname>ViewerInstaller</classname> <acronym>API</acronym>, defined in
+ the <filename>core/runtime</filename> module. This approach is used by the
+ <acronym>DnD</acronym> viewer and the <acronym>HTML</acronym> viewer, for
+ example.</para>
+
+ <para>Alternatively the viewer can use its own mechanism to get started
+ (eg as a webapp) and then simply bootstrap the Isis runtime with a couple
+ of lines of code. This is the technique used by the Scimpi webapp viewer,
+ by the Wicket viewer and by the Restful viewer.</para>
+
+ <para></para>
+
+ <para>*** x-ref remoting docs as a way of deploying in client/server
+ mode.</para>
+
+ <para></para>
+
+ <para></para>
+
+ <sect1>
+ <title>Adding Security (Authentication and Authorization)</title>
+
+ <para></para>
+
+ <para>x-ref alternatives/security/file</para>
+
+ <para></para>
+ </sect1>
+
+ <sect1>
+ <title>Adding support for internationalisation</title>
+
+ <para>All the text that appears to the user comes from the domain object
+ model. Any literal text used within the code may be externalised, and
+ localised using the standard Java mechanism of resource bundles. However
+ as all field and menu names are derived from the method names the
+ framework provides a mechanism to adapt these names using resource
+ bundles as well.</para>
+
+ <para></para>
+
+ <para>*** FacetDecorator</para>
+
+ <para></para>
+
+ <para></para>
+ </sect1>
+ </chapter>
+</book>
http://git-wip-us.apache.org/repos/asf/isis/blob/7a7836e3/mothballed/docbkx/core/src/docbkx/guide/images/HexagonalArchitectureOverview.png
----------------------------------------------------------------------
diff --git a/mothballed/docbkx/core/src/docbkx/guide/images/HexagonalArchitectureOverview.png b/mothballed/docbkx/core/src/docbkx/guide/images/HexagonalArchitectureOverview.png
new file mode 100755
index 0000000..eb55b0a
Binary files /dev/null and b/mothballed/docbkx/core/src/docbkx/guide/images/HexagonalArchitectureOverview.png differ
http://git-wip-us.apache.org/repos/asf/isis/blob/7a7836e3/mothballed/docbkx/core/src/docbkx/guide/images/PersistenceSession.png
----------------------------------------------------------------------
diff --git a/mothballed/docbkx/core/src/docbkx/guide/images/PersistenceSession.png b/mothballed/docbkx/core/src/docbkx/guide/images/PersistenceSession.png
new file mode 100644
index 0000000..b600fcb
Binary files /dev/null and b/mothballed/docbkx/core/src/docbkx/guide/images/PersistenceSession.png differ
http://git-wip-us.apache.org/repos/asf/isis/blob/7a7836e3/mothballed/docbkx/core/src/docbkx/guide/images/PersistenceSession.pptx
----------------------------------------------------------------------
diff --git a/mothballed/docbkx/core/src/docbkx/guide/images/PersistenceSession.pptx b/mothballed/docbkx/core/src/docbkx/guide/images/PersistenceSession.pptx
new file mode 100644
index 0000000..ce55308
Binary files /dev/null and b/mothballed/docbkx/core/src/docbkx/guide/images/PersistenceSession.pptx differ
http://git-wip-us.apache.org/repos/asf/isis/blob/7a7836e3/mothballed/docbkx/core/src/docbkx/guide/images/claim-contributed-actions.png
----------------------------------------------------------------------
diff --git a/mothballed/docbkx/core/src/docbkx/guide/images/claim-contributed-actions.png b/mothballed/docbkx/core/src/docbkx/guide/images/claim-contributed-actions.png
new file mode 100644
index 0000000..e9a8b73
Binary files /dev/null and b/mothballed/docbkx/core/src/docbkx/guide/images/claim-contributed-actions.png differ
http://git-wip-us.apache.org/repos/asf/isis/blob/7a7836e3/mothballed/docbkx/core/src/docbkx/guide/images/common/architecture-perspective.png
----------------------------------------------------------------------
diff --git a/mothballed/docbkx/core/src/docbkx/guide/images/common/architecture-perspective.png b/mothballed/docbkx/core/src/docbkx/guide/images/common/architecture-perspective.png
new file mode 100644
index 0000000..980eb87
Binary files /dev/null and b/mothballed/docbkx/core/src/docbkx/guide/images/common/architecture-perspective.png differ
http://git-wip-us.apache.org/repos/asf/isis/blob/7a7836e3/mothballed/docbkx/core/src/docbkx/guide/images/common/composition-perspective.png
----------------------------------------------------------------------
diff --git a/mothballed/docbkx/core/src/docbkx/guide/images/common/composition-perspective.png b/mothballed/docbkx/core/src/docbkx/guide/images/common/composition-perspective.png
new file mode 100644
index 0000000..dfc0cda
Binary files /dev/null and b/mothballed/docbkx/core/src/docbkx/guide/images/common/composition-perspective.png differ
http://git-wip-us.apache.org/repos/asf/isis/blob/7a7836e3/mothballed/docbkx/core/src/docbkx/guide/images/common/encoding-classdiagram.png
----------------------------------------------------------------------
diff --git a/mothballed/docbkx/core/src/docbkx/guide/images/common/encoding-classdiagram.png b/mothballed/docbkx/core/src/docbkx/guide/images/common/encoding-classdiagram.png
new file mode 100644
index 0000000..ec21872
Binary files /dev/null and b/mothballed/docbkx/core/src/docbkx/guide/images/common/encoding-classdiagram.png differ
http://git-wip-us.apache.org/repos/asf/isis/blob/7a7836e3/mothballed/docbkx/core/src/docbkx/guide/images/employee-approver-views.png
----------------------------------------------------------------------
diff --git a/mothballed/docbkx/core/src/docbkx/guide/images/employee-approver-views.png b/mothballed/docbkx/core/src/docbkx/guide/images/employee-approver-views.png
new file mode 100644
index 0000000..23f251f
Binary files /dev/null and b/mothballed/docbkx/core/src/docbkx/guide/images/employee-approver-views.png differ
http://git-wip-us.apache.org/repos/asf/isis/blob/7a7836e3/mothballed/docbkx/core/src/docbkx/guide/images/employee-code.png
----------------------------------------------------------------------
diff --git a/mothballed/docbkx/core/src/docbkx/guide/images/employee-code.png b/mothballed/docbkx/core/src/docbkx/guide/images/employee-code.png
new file mode 100644
index 0000000..380e185
Binary files /dev/null and b/mothballed/docbkx/core/src/docbkx/guide/images/employee-code.png differ
http://git-wip-us.apache.org/repos/asf/isis/blob/7a7836e3/mothballed/docbkx/core/src/docbkx/guide/images/employee-email-invalid.png
----------------------------------------------------------------------
diff --git a/mothballed/docbkx/core/src/docbkx/guide/images/employee-email-invalid.png b/mothballed/docbkx/core/src/docbkx/guide/images/employee-email-invalid.png
new file mode 100644
index 0000000..94f762c
Binary files /dev/null and b/mothballed/docbkx/core/src/docbkx/guide/images/employee-email-invalid.png differ
http://git-wip-us.apache.org/repos/asf/isis/blob/7a7836e3/mothballed/docbkx/core/src/docbkx/guide/images/employee-views.png
----------------------------------------------------------------------
diff --git a/mothballed/docbkx/core/src/docbkx/guide/images/employee-views.png b/mothballed/docbkx/core/src/docbkx/guide/images/employee-views.png
new file mode 100644
index 0000000..98b776a
Binary files /dev/null and b/mothballed/docbkx/core/src/docbkx/guide/images/employee-views.png differ
http://git-wip-us.apache.org/repos/asf/isis/blob/7a7836e3/mothballed/docbkx/core/src/docbkx/guide/images/metamodel/ResolveState-stateChart.odp
----------------------------------------------------------------------
diff --git a/mothballed/docbkx/core/src/docbkx/guide/images/metamodel/ResolveState-stateChart.odp b/mothballed/docbkx/core/src/docbkx/guide/images/metamodel/ResolveState-stateChart.odp
new file mode 100644
index 0000000..412e33f
Binary files /dev/null and b/mothballed/docbkx/core/src/docbkx/guide/images/metamodel/ResolveState-stateChart.odp differ
http://git-wip-us.apache.org/repos/asf/isis/blob/7a7836e3/mothballed/docbkx/core/src/docbkx/guide/images/metamodel/ResolveState-stateChart.png
----------------------------------------------------------------------
diff --git a/mothballed/docbkx/core/src/docbkx/guide/images/metamodel/ResolveState-stateChart.png b/mothballed/docbkx/core/src/docbkx/guide/images/metamodel/ResolveState-stateChart.png
new file mode 100644
index 0000000..eab5176
Binary files /dev/null and b/mothballed/docbkx/core/src/docbkx/guide/images/metamodel/ResolveState-stateChart.png differ
http://git-wip-us.apache.org/repos/asf/isis/blob/7a7836e3/mothballed/docbkx/core/src/docbkx/guide/images/metamodel/ResolveState-stateChart.pptx
----------------------------------------------------------------------
diff --git a/mothballed/docbkx/core/src/docbkx/guide/images/metamodel/ResolveState-stateChart.pptx b/mothballed/docbkx/core/src/docbkx/guide/images/metamodel/ResolveState-stateChart.pptx
new file mode 100644
index 0000000..cec8e74
Binary files /dev/null and b/mothballed/docbkx/core/src/docbkx/guide/images/metamodel/ResolveState-stateChart.pptx differ
http://git-wip-us.apache.org/repos/asf/isis/blob/7a7836e3/mothballed/docbkx/core/src/docbkx/guide/images/metamodel/architecture-diagram-top-level-with-specloader-expanded.png
----------------------------------------------------------------------
diff --git a/mothballed/docbkx/core/src/docbkx/guide/images/metamodel/architecture-diagram-top-level-with-specloader-expanded.png b/mothballed/docbkx/core/src/docbkx/guide/images/metamodel/architecture-diagram-top-level-with-specloader-expanded.png
new file mode 100644
index 0000000..17f4ca7
Binary files /dev/null and b/mothballed/docbkx/core/src/docbkx/guide/images/metamodel/architecture-diagram-top-level-with-specloader-expanded.png differ
http://git-wip-us.apache.org/repos/asf/isis/blob/7a7836e3/mothballed/docbkx/core/src/docbkx/guide/images/metamodel/composition-diagram-top-level.png
----------------------------------------------------------------------
diff --git a/mothballed/docbkx/core/src/docbkx/guide/images/metamodel/composition-diagram-top-level.png b/mothballed/docbkx/core/src/docbkx/guide/images/metamodel/composition-diagram-top-level.png
new file mode 100644
index 0000000..7ba9717
Binary files /dev/null and b/mothballed/docbkx/core/src/docbkx/guide/images/metamodel/composition-diagram-top-level.png differ
http://git-wip-us.apache.org/repos/asf/isis/blob/7a7836e3/mothballed/docbkx/core/src/docbkx/guide/images/progmodel/architecture-diagram.png
----------------------------------------------------------------------
diff --git a/mothballed/docbkx/core/src/docbkx/guide/images/progmodel/architecture-diagram.png b/mothballed/docbkx/core/src/docbkx/guide/images/progmodel/architecture-diagram.png
new file mode 100644
index 0000000..02e772d
Binary files /dev/null and b/mothballed/docbkx/core/src/docbkx/guide/images/progmodel/architecture-diagram.png differ
http://git-wip-us.apache.org/repos/asf/isis/blob/7a7836e3/mothballed/docbkx/core/src/docbkx/guide/images/progmodel/composition-diagram-facets-package.png
----------------------------------------------------------------------
diff --git a/mothballed/docbkx/core/src/docbkx/guide/images/progmodel/composition-diagram-facets-package.png b/mothballed/docbkx/core/src/docbkx/guide/images/progmodel/composition-diagram-facets-package.png
new file mode 100644
index 0000000..7db55c1
Binary files /dev/null and b/mothballed/docbkx/core/src/docbkx/guide/images/progmodel/composition-diagram-facets-package.png differ
http://git-wip-us.apache.org/repos/asf/isis/blob/7a7836e3/mothballed/docbkx/core/src/docbkx/guide/images/runtime/architecture-diagram.png
----------------------------------------------------------------------
diff --git a/mothballed/docbkx/core/src/docbkx/guide/images/runtime/architecture-diagram.png b/mothballed/docbkx/core/src/docbkx/guide/images/runtime/architecture-diagram.png
new file mode 100644
index 0000000..ffc224b
Binary files /dev/null and b/mothballed/docbkx/core/src/docbkx/guide/images/runtime/architecture-diagram.png differ
http://git-wip-us.apache.org/repos/asf/isis/blob/7a7836e3/mothballed/docbkx/core/src/docbkx/guide/images/taxi-copy-dialog.png
----------------------------------------------------------------------
diff --git a/mothballed/docbkx/core/src/docbkx/guide/images/taxi-copy-dialog.png b/mothballed/docbkx/core/src/docbkx/guide/images/taxi-copy-dialog.png
new file mode 100644
index 0000000..c00576c
Binary files /dev/null and b/mothballed/docbkx/core/src/docbkx/guide/images/taxi-copy-dialog.png differ
http://git-wip-us.apache.org/repos/asf/isis/blob/7a7836e3/mothballed/docbkx/core/src/docbkx/guide/images/taxi-menu.png
----------------------------------------------------------------------
diff --git a/mothballed/docbkx/core/src/docbkx/guide/images/taxi-menu.png b/mothballed/docbkx/core/src/docbkx/guide/images/taxi-menu.png
new file mode 100644
index 0000000..41adfb5
Binary files /dev/null and b/mothballed/docbkx/core/src/docbkx/guide/images/taxi-menu.png differ
http://git-wip-us.apache.org/repos/asf/isis/blob/7a7836e3/mothballed/docbkx/core/src/docbkx/guide/images/webapp/architecture-diagram.png
----------------------------------------------------------------------
diff --git a/mothballed/docbkx/core/src/docbkx/guide/images/webapp/architecture-diagram.png b/mothballed/docbkx/core/src/docbkx/guide/images/webapp/architecture-diagram.png
new file mode 100644
index 0000000..19b6e22
Binary files /dev/null and b/mothballed/docbkx/core/src/docbkx/guide/images/webapp/architecture-diagram.png differ