Skip to Content.
Sympa Menu

notify-dpml - svn commit: r1716 - in development/main/central/site/src/docs/products/transit/SNAPSHOT: setup/unix setup/windows technical/cache technical/hosts technical/launcher technical/monitors technical/protocol technical/repository

notify-dpml AT lists.ibiblio.org

Subject: DPML Notify

List archive

Chronological Thread  
  • From: mcconnell AT netcompartner.com
  • To: notify-dpml AT lists.ibiblio.org
  • Subject: svn commit: r1716 - in development/main/central/site/src/docs/products/transit/SNAPSHOT: setup/unix setup/windows technical/cache technical/hosts technical/launcher technical/monitors technical/protocol technical/repository
  • Date: Thu, 03 Feb 2005 19:29:34 +0100

Author: mcconnell
Date: Thu Feb 3 19:29:34 2005
New Revision: 1716

Added:

development/main/central/site/src/docs/products/transit/SNAPSHOT/setup/unix/index.xml

development/main/central/site/src/docs/products/transit/SNAPSHOT/setup/unix/navigation.xml

development/main/central/site/src/docs/products/transit/SNAPSHOT/setup/windows/environment.xml

development/main/central/site/src/docs/products/transit/SNAPSHOT/setup/windows/home.xml

development/main/central/site/src/docs/products/transit/SNAPSHOT/setup/windows/index.xml

development/main/central/site/src/docs/products/transit/SNAPSHOT/setup/windows/navigation.xml

development/main/central/site/src/docs/products/transit/SNAPSHOT/setup/windows/system.xml

development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/cache/index.xml

development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/cache/navigation.xml

development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/cache/properties.xml

development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/hosts/authorative.xml

development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/hosts/classic.xml

development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/hosts/hosts.xml

development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/hosts/index.xml

development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/hosts/navigation.xml

development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/hosts/properties.xml

development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/launcher/cli.xml

development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/launcher/deployment.xml

development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/launcher/index.xml

development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/launcher/navigation.xml

development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/launcher/properties.xml

development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/monitors/index.xml

development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/monitors/navigation.xml

development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/protocol/index.xml

development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/protocol/navigation.xml

development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/repository/chain.xml

development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/repository/class.xml

development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/repository/descriptor.xml

development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/repository/index.xml

development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/repository/instantiation.xml

development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/repository/navigation.xml
Log:


Added:
development/main/central/site/src/docs/products/transit/SNAPSHOT/setup/unix/index.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/SNAPSHOT/setup/unix/index.xml
Thu Feb 3 19:29:34 2005
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<document>
+ <properties>
+ <author email="mcconnell AT dpml.net">Stephen McConnell</author>
+ <title>DPML Transit</title>
+ </properties>
+
+ <body>
+ <section name="DPML Setup">
+
+ <subsection name="Single-user Unix/Linux setup">
+ <p>
+ If you are installing on a single user system, we recommend the
following
+ installation. We assume that the binary
+ Transit distribution has been downloaded to the $HOME directory.
+ </p>
+ <source>
+mkdir $HOME/.dpml
+cd /$HOME/.dpml
+tar xvfz $HOME/dpml-transit-nnnn.tar.gz
+chown -R $USER .
+ </source>
+ <p>
+ And enter the following into your own login script, e.g.
$HOME/.bashrc.
+ $HOME/.bash_profile (system dependent).
+ </p>
+ <source>
+DPML_HOME=$HOME/.dpml
+export DPML_HOME
+PATH=$PATH:$DPML_HOME/bin
+export PATH
+ </source>
+ </subsection>
+
+ <subsection name="Multi-user Unix/Linux setup">
+ <p>
+ If you are installing on a multi-user system it is important that
the
+ permissions are properly set up. We recommend that the following
+ commands are executed as root. We assume that the binary Transit
+ distribution has been downloaded to the /root directory, and that
the
+ system has a group named "users" which all users belong to.
+ </p>
+ <source>
+mkdir /usr/share/dpml
+cd /usr/share/dpml
+tar xvfz /root/dpml-transit-nnnn.tar.gz
+chown -R root.users cache
+chmod -R g+w cache
+cd cache
+umask 0002
+ </source>
+ <p>
+ And the following setup to be entered into the shared user login
script,
+ e.g. /etc/profile (system dependent).
+ </p>
+ <source>
+DPML_HOME=/var/dpml
+export DPML_HOME
+PATH=$PATH:$DPML_HOME/bin
+export PATH
+ </source>
+ <p>
+ If you want to further strengthen the security, you should probably
+ not use a shared DPML_HOME at all, and just instruct each user to
+ go for a single user installation. Alternatively, can edit the
+ <code>$DPML_HOME/transit/authority/cache.properties</code> file to
+ the following.
+ </p>
+ <source>
+# The location of the cache system
+dpml.transit.cache.location=${user.home}/.dpml/cache
+
+# The class that implements the cache handler
+dpml.transit.cache.class=net.dpml.transit.artifact.FileCacheHandler
+ </source>
+ <p>
+ which will ensure that each user has its own set of cached artifact
+ and that the shared instance is write-protected.
+ </p>
+ </subsection>
+
+ </section>
+ </body>
+</document>
+

Added:
development/main/central/site/src/docs/products/transit/SNAPSHOT/setup/unix/navigation.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/SNAPSHOT/setup/unix/navigation.xml
Thu Feb 3 19:29:34 2005
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ Copyright 2004 Stephen McConnell
+
+ Licensed 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.dpml.net/central/about/legal/
+
+ 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.
+-->
+
+<project>
+
+ <title>DPML Guide</title>
+
+ <body>
+
+ <menu>
+ </menu>
+
+ </body>
+
+</project>

Added:
development/main/central/site/src/docs/products/transit/SNAPSHOT/setup/windows/environment.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/SNAPSHOT/setup/windows/environment.xml
Thu Feb 3 19:29:34 2005
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<document>
+ <properties>
+ <author email="mcconnell AT dpml.net">Stephen McConnell</author>
+ <title>DPML Transit</title>
+ </properties>
+
+ <body>
+ <section name="DPML Setup">
+
+ <subsection name="Environment Variable">
+
+ <p>
+ From the environment panel select 'New' under the system properties
+ group to open up a dialog box for the creation of the
+ <a href="home.html">DPML_HOME</a> environment variable.
+
+ </p>
+
+ <img src="/images/setup/environment.png"/>
+
+ </subsection>
+
+ </section>
+ </body>
+</document>
+

Added:
development/main/central/site/src/docs/products/transit/SNAPSHOT/setup/windows/home.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/SNAPSHOT/setup/windows/home.xml
Thu Feb 3 19:29:34 2005
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<document>
+ <properties>
+ <author email="mcconnell AT dpml.net">Stephen McConnell</author>
+ <title>DPML Transit</title>
+ </properties>
+
+ <body>
+ <section name="DPML Setup">
+
+ <subsection name="Create DPML_HOME">
+
+ <p>
+ Create a new environment variabled named <code>DPML_HOME</code> that
+ declares the location of the root DPML system directory.
+ </p>
+
+ <img src="/images/setup/env.png"/>
+
+ </subsection>
+
+ <subsection name="Updating you PATH">
+
+ <p>
+ Edit the PATH environment variable to include the
<code>%DPML_HOME%\bin</code> path
+ value. Make sure you separate the value from other entries with the
';' character.
+ </p>
+
+ <img src="/images/setup/path.png"/>
+ </subsection>
+
+
+ </section>
+ </body>
+</document>
+

Added:
development/main/central/site/src/docs/products/transit/SNAPSHOT/setup/windows/index.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/SNAPSHOT/setup/windows/index.xml
Thu Feb 3 19:29:34 2005
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<document>
+ <properties>
+ <author email="mcconnell AT dpml.net">Stephen McConnell</author>
+ <title>DPML Transit</title>
+ </properties>
+
+ <body>
+ <section name="DPML Setup">
+
+ <subsection name="Configuring MyComputer">
+
+ <p>
+ Under Windows select Properties for 'My Computer' to display
+ the <a href="system.html">system properties</a> panel.
+ </p>
+
+ <img src="/images/setup/mycomputer.png"/>
+
+ </subsection>
+
+ </section>
+ </body>
+</document>
+

Added:
development/main/central/site/src/docs/products/transit/SNAPSHOT/setup/windows/navigation.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/SNAPSHOT/setup/windows/navigation.xml
Thu Feb 3 19:29:34 2005
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ Copyright 2004 Stephen McConnell
+
+ Licensed 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.dpml.net/central/about/legal/
+
+ 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.
+-->
+
+<project>
+
+ <title>DPML Guide</title>
+
+ <body>
+
+ <menu>
+ <item name="System Settings" href="system.html"/>
+ <item name="Environment" href="environment.html"/>
+ <item name="DPML_HOME and PATH" href="home.html"/>
+ </menu>
+
+ </body>
+
+</project>

Added:
development/main/central/site/src/docs/products/transit/SNAPSHOT/setup/windows/system.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/SNAPSHOT/setup/windows/system.xml
Thu Feb 3 19:29:34 2005
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<document>
+ <properties>
+ <author email="mcconnell AT dpml.net">Stephen McConnell</author>
+ <title>DPML Transit</title>
+ </properties>
+
+ <body>
+ <section name="DPML Setup">
+
+ <subsection name="System Setup">
+
+ <p>
+ Select the 'Advanced Tab' and click on the <a
href="environment.html">
+ Environment Variables</a> button.
+ </p>
+
+ <img src="/images/setup/system.png"/>
+
+ </subsection>
+
+ </section>
+ </body>
+</document>
+

Added:
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/cache/index.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/cache/index.xml
Thu Feb 3 19:29:34 2005
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<document>
+ <properties>
+ <author email="mcconnell AT dpml.net">Stephen McConnell</author>
+ <contributor email="dleangen AT dpml.net">David Leangen</contributor>
+ <title>DPML Transit</title>
+ </properties>
+
+ <body>
+ <section name="Cache Management">
+
+ <p>
+ Resource are retrieved from one or more
+ <a href="../hosts/index.html">host</a> repositories
+ and maintained under a local cache. The default location of
+ the cache is <code>${dpml.home}/cache</code> where the value of
+ <code>${dpml.home}</code> is either declared explicity via
+ the <code>DPML_HOME</code> environment variable or the
+ fallback default location <code>${user.home}/.dpml</code>.
+ </p>
+
+ <p>
+ Please see the <a href="/guide/setup/dpml.html">environment
+ setup guide</a> for additional information concerning the
+ declaration of the DPML_HOME and PATH environment variables.
+ The <a href="properties.html">cache properties</a>
+ page provides additional information concerning cache location
+ management and mechanism supporting cache controller customization.
+ </p>
+
+ </section>
+ </body>
+</document>

Added:
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/cache/navigation.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/cache/navigation.xml
Thu Feb 3 19:29:34 2005
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2004 Stephen McConnell
+ Copyright 2004 Niclas Hedhman
+
+ Licensed 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.dpml.net/central/about/legal/
+
+ 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.
+-->
+
+<project>
+
+ <title>Transit</title>
+
+ <body>
+
+ <menu>
+ <item name="Cache Properties" href="properties.html"/>
+ </menu>
+
+ </body>
+
+</project>

Added:
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/cache/properties.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/cache/properties.xml
Thu Feb 3 19:29:34 2005
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ Copyright 2004 Niclas Hedhman
+ Copyright 2005 David Leangen
+
+ Licensed 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.dpml.net/central/about/legal/
+
+ 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.
+-->
+
+<document>
+ <properties>
+ <author email="niclas AT hedhman.org">Niclas Hedhman</author>
+ <author email="david.leangen AT konova.com">David Leangen</author>
+ <title>DPML Transit</title>
+ </properties>
+
+ <body>
+ <section name="Cache Properties">
+ <p>
+ The transit system stores the downloaded resources
+ on your local file system. The cache provides DPML-enabled
+ applications with quickly retrieval of required resources.
+ </p>
+
+ <p>
+ When requested by your application, a cache manager will first
+ check the local cache for the required resource.
+ If the resource is not available in the local cache, the cache
manager
+ will then query each remote repository defined under the
+ <a href="../hosts/index.html">host configuration</a> until the
+ resource is resolved.
+ </p>
+
+ <p>
+ Requests to remote repositories are conducted sequentially in order
of
+ priority, with the highest priority value queried first.
+ </p>
+
+ <subsection name="Properties" >
+ <table>
+ <tr>
+ <th>Property</th>
+ <th>Default Value</th>
+ <th>Description</th>
+ </tr>
+ <tr>
+ <td>dpml.transit.cache.location</td>
+ <td><code>${dpml.home}/cache</code></td>
+ <td>The location of the cache system.</td>
+ </tr>
+ <tr>
+ <td>dpml.transit.cache.class</td>
+ <td>
+ <code>net.dpml.transit.artifact.FileCacheHandler</code>
+ </td>
+ <td>
+ The fully qualified class name of the class that implements the
+ <a
href="@TRANSIT-DOCS-PATH@/net/dpml/transit/artifact/CacheHandler.html">
+ CacheHandler</a> interface.
+ </td>
+ </tr>
+ </table>
+ </subsection>
+ </section>
+ </body>
+</document>
+
+
+

Added:
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/hosts/authorative.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/hosts/authorative.xml
Thu Feb 3 19:29:34 2005
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ Copyright 2004 Niclas Hedhman
+
+ Licensed 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.dpml.net/central/about/legal/
+
+ 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.
+-->
+
+<document>
+ <properties>
+ <author email="niclas AT hedhman.org">Niclas Hedhman</author>
+ <title>DPML Transit</title>
+ </properties>
+
+ <body>
+
+ <section name="Authorative Host">
+
+ <p>
+ The Transit system may be configured locally or remotely depending on
+ the value of the "dpml.transit.authority" property. The property
+ identifies a remote or local path to the authorative configuration
and
+ is held within a file of the same name.
+ </p>
+
+ <p>Search sequence:</p>
+
+ <ol>
+ <li><code>${java.ext.dirs}/dpml.transit.authority</code></li>
+ <li><code>${dpml.home}/transit/dpml.transit.authority</code></li>
+ </ol>
+
+ <p>
+ In the "dpml.transit.authority" file, a single property
+ "dpml.transit.authority" is resolved to a URL of the
+ Authorative Host. If no protocol is given, it is assumed to be a
+ directory in the local file system relative to
+ <i>${dpml.home}/transit</i>.
+ </p>
+
+ <p>Default contents of dpml.transit.authority file:</p>
+
+<source>
+dpml.transit.authority=authority/
+</source>
+
+ <p>The default value of the above is equivalent to:</p>
+
+<pre>
+ ${dpml.home}/transit/authority/
+</pre>
+ <subsection name="XML based configuration" >
+ <p>
+ The configuration of available hosts is contained in the file:
+ </p>
+<pre>
+ ${dpml.transit.authority}/hosts.xml
+</pre>
+ <p>
+ The format is found in the <a href="hosts.html" >Hosts
+ Configuration</a> document.
+ </p>
+ </subsection>
+ <subsection name="Properties based configuration" >
+ <p>
+ Transit will also look for property based host descriptors. If
the
+ value of ${dpml.transit.authority} is a file url host properties
+ files will be resolved relative to the following path:
+ </p>
+<pre>
+ ${dpml.transit.authority}/hosts/*.*
+</pre>
+ <p>
+ All files found in the hosts/ directory will be read one by one.
+ The priority property will determine in which order the hosts are
+ queried for artifacts.
+ </p>
+ <p>
+ If the location is a remote URL, it will read the file
+ "index.lst" at that location. "index.lst" must contain a line
+ separated list of files that can be read at the location,
containing
+ the resource host defintions.
+ </p>
+ </subsection>
+ </section>
+ </body>
+</document>
+
+
+

Added:
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/hosts/classic.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/hosts/classic.xml
Thu Feb 3 19:29:34 2005
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ Copyright 2004 Niclas Hedhman
+
+ Licensed 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.dpml.net/central/about/legal/
+
+ 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.
+-->
+
+<document>
+ <properties>
+ <author email="niclas AT hedhman.org">Niclas Hedhman</author>
+ <title>DPML Transit</title>
+ </properties>
+
+ <body>
+ <section name="Resource Host - Classic Layout">
+ <p>
+ The Classic resource host management model is based on the
+ conventions popularized by the Maven build system and subsequently
used
+ within the Apache Software Foundation as a format for repository
+ layout. The Classic layout can be viewed as a super-set of the
+ Maven model in that Transit implementation fully supports unlimited
+ group segmentation.
+ </p>
+ <subsection name="Resolution">
+ <p>
+ The official format for the artifact protocol is as follows;
+ </p>
+<source> artifact:[type]:[group]/[name]#version </source>
+ <p>
+ which for Classic resource hosts will be translated into;
+ </p>
+<source> [resource-host-base-url]/[group]/[type]s/[name]-[version].[type]
</source>
+ <p>
+ where,
+ </p>
+ <table>
+ <tr>
+ <td>type</td>
+ <td>
+ The type of the resource.
+ </td>
+ </tr>
+ <tr>
+ <td>group</td>
+ <td>
+ The group the resource belongs to. Slashes in the group are
+ allowed and denotes subgrouping.
+ </td>
+ </tr>
+ <tr>
+ <td>name</td>
+ <td>
+ The name of the resource.
+ </td>
+ </tr>
+ <tr>
+ <td>version</td>
+ <td>
+ The version of the resource. The version is an opaque string
+ in the current Classic resource host implementation, but may
+ evolve in the future, and known version formats should be used
+ for maximum future compatibility.
+ </td>
+ </tr>
+ </table>
+ <p>
+ with the exception that if the [version] is an empty string the
+ dash will not be part of the resolved URL.
+ </p>
+ <p>
+ Furthermore. for this resource host type there are currently some
+ semantic meaning built in to the Version, if it is "SNAPSHOT" (no
+ quotes), which we may remove in the near future.
+ </p>
+ </subsection>
+ </section>
+ </body>
+</document>

Added:
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/hosts/hosts.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/hosts/hosts.xml
Thu Feb 3 19:29:34 2005
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ Copyright 2004 Niclas Hedhman
+
+ Licensed 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.dpml.net/central/about/legal/
+
+ 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.
+-->
+
+<document>
+ <properties>
+ <author email="niclas AT hedhman.org">Niclas Hedhman</author>
+ <title>DPML Transit</title>
+ </properties>
+
+ <body>
+ <section name="Hosts Configuration">
+
+ <p>
+ A Resource Host is a place where Artifacts can be downloaded. Transit
+ is capable of handling many types of resource hosts. Conceptually,
you
+ only need to implement the
+ <code><a
href="@TRANSIT-DOCS-PATH@/net/dpml/transit/artifact/ResourceHost.html">
+ net.dpml.transit.artifact.ResourceHost</a></code> interface, and
+ specify the implementation class of the host handler.
+ </p>
+
+ <p>
+ Resource hosts may be declared via XML (default) or property files.
+ </p>
+
+ <subsection name="XML Specification">
+
+ <p>
+ The hosts configuation files when full expanded contains multiple
&lt;host&gt;
+ element entries. The following example shows a host element with
all
+ elements declared:
+ </p>
+
+<source><![CDATA[
+<hosts>
+
+ <host href="http://www.dpml.net"; enabled="true">
+ <priority>20</priority>
+ <policy>fast</policy>
+ <trusted>false</trusted>
+ <class>net.dpml.transit.artifact.ClassicResourceHost</class>
+ <index href="index.idx">
+ <credentials>
+ <username>fred</username>
+ <password>blogs</password>
+ </credentials>
+ <scheme>basic</scheme>
+ <prompt>repository</prompt>
+ </host>
+
+</hosts>
+]]></source>
+
+ <p>
+ The default host configuration file is shown below, and find the
+ description of the elements in the <strong>properties</strong>
section
+ below.
+ </p>
+
+<source><![CDATA[
+<hosts>
+
+ <host dir="local/SNAPSHOT">
+ <priority>10</priority>
+ <trusted>true</trusted>
+ </host>
+
+ <host href="http://repository.dpml.net/classic";>
+ <priority>20</priority>
+ </host>
+
+ <host href="http://www.ibiblio.org/maven";>
+ <priority>50</priority>
+ </host>
+
+ <host href="http://www.apache.org/dist/java-repository";>
+ <priority>70</priority>
+ </host>
+
+</hosts>]]></source>
+
+ </subsection>
+
+ </section>
+ </body>
+</document>
+
+
+

Added:
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/hosts/index.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/hosts/index.xml
Thu Feb 3 19:29:34 2005
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<document>
+ <properties>
+ <author email="mcconnell AT dpml.net">Stephen McConnell</author>
+ <contributor email="dleangen AT dpml.net">David Leangen</contributor>
+ <title>DPML Transit</title>
+ </properties>
+
+ <body>
+
+ <section name="Host Management">
+
+ <p>
+ Transit uses artifact uris to identify a resource. These identifiers
+ are in turn mapped internally to a repository url (i.e. mapping
+ identity to a location). Locations are defined relative to one or
+ more hosts.
+ </p>
+
+ <p>
+ Each Transit host declares a base url, an implementation strategy
+ (typically dealing with uri to url mapping), and policies concerning
+ the handling of timestamped resources.
+ The Transit <a href="hosts.html">hosts configuration</a>
+ enables the declaration of local file based repositories and remote
+ repositories accessible via http and https protocols. Host
+ configurations may also be declared using <a href="properties.html">
+ properties</a>. In both cases the source of the <a
href="authorative.html">
+ authorative configuration</a> may be managed locally or centralized
under
+ a remote location.
+ </p>
+
+ <p>
+ Example of artifact retrival and remote repositories are included in
+ the <a
href="/guide/transit/@TRANSIT-BUILD-ID@/resources/index.html">Transit
Guide</a>.
+ </p>
+
+ </section>
+
+ </body>
+</document>

Added:
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/hosts/navigation.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/hosts/navigation.xml
Thu Feb 3 19:29:34 2005
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2004 Stephen McConnell
+ Copyright 2004 Niclas Hedhman
+
+ Licensed 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.dpml.net/central/about/legal/
+
+ 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.
+-->
+
+<project>
+
+ <title>Transit</title>
+
+ <body>
+
+ <menu>
+ <item name="Authorative Host" href="authorative.html"/>
+ <item name="Host Configuration" href="hosts.html"/>
+ <item name="Host Properties" href="properties.html"/>
+ <item name="Classic Repository Layout" href="classic.html"/>
+ </menu>
+
+ </body>
+
+</project>

Added:
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/hosts/properties.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/hosts/properties.xml
Thu Feb 3 19:29:34 2005
@@ -0,0 +1,140 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ Copyright 2004 Niclas Hedhman
+
+ Licensed 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.dpml.net/central/about/legal/
+
+ 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.
+-->
+
+<document>
+ <properties>
+ <author email="niclas AT hedhman.org">Niclas Hedhman</author>
+ <title>DPML Transit</title>
+ </properties>
+
+ <body>
+ <section name="Host Properties">
+
+ <p>
+ If a host.xml file is not present, Transit will atempt to resolve
hosts using
+ a set of property based host descriptors. Property files describing
remote hosts
+ are based on the following property specification.
+ </p>
+
+ <table>
+ <tr>
+ <th>Property</th>
+ <th>Default Value</th>
+ <th>Description</th>
+ </tr>
+ <tr>
+ <td>dpml.transit.resourcehost.enabled</td>
+ <td>true</td>
+ <td>
+ If true, the remote host repository will be used. If false, it
+ will be skipped completely.
+ </td>
+ </tr>
+ <tr>
+ <td>dpml.transit.resourcehost.base</td>
+ <td></td>
+ <td>This defines the base URL of the remote host repository.</td>

+ </tr>
+ <tr>
+ <td>dpml.transit.resourcehost.class</td>
+ <td>(see description)</td>
+ <td>
+ Defines the class to use for the management of the remote host.
+ If undefined the value defaults to
<code>net.dpml.transit.artifact.ClassicResourceHost</code>.
+ </td>
+ </tr>
+ <tr>
+ <td>dpml.transit.resourcehost.knowngroups</td>
+ <td></td>
+ <td>
+ A URL pointing to a file containing a line-separated list of
+ groups that are known to be installed on the remote host
+ repository. (named &lt;index&gt; in the hosts.xml file.)
+ </td>
+ </tr>
+ <tr>
+ <td>dpml.transit.resourcehost.username</td>
+ <td></td>
+ <td>The username required for the remote host.</td>
+ </tr>
+ <tr>
+ <td>dpml.transit.resourcehost.password</td>
+ <td></td>
+ <td>The password for the user required to access the remote
host.</td>
+ </tr>
+ <tr>
+ <td>dpml.transit.resourcehost.scheme</td>
+ <td></td>
+ <td>The authentication scheme used for the connection.</td>
+ </tr>
+ <tr>
+ <td>dpml.transit.resourcehost.prompt</td>
+ <td></td>
+ <td>
+ The authentication <strong>prompt</strong> or
+ <strong>realm</strong> sent by the server.
+ </td>
+ </tr>
+ <tr>
+ <td>dpml.transit.resourcehost.policy</td>
+ <td>fast</td>
+ <td>
+ Download policy. "fast"=if the artifact exist in the cache, use
+ it.
+ </td>
+ </tr>
+ <tr>
+ <td>dpml.transit.resourcehost.priority</td>
+ <td>80</td>
+ <td>
+ The priority defines which host should take precedence over
+ another host for obtaining the artifact. A lower number indicates
+ a higher priority.
+ </td>
+ </tr>
+ <tr>
+ <td>dpml.transit.resourcehost.trusted</td>
+ <td>false</td>
+ <td>
+ If true Transit shall assume that the host connection is trusted.
+ When set to "true" in conjunction with an https:// conection,
the
+ certificate chain of the host will be accepted unconditionally.
+ </td>
+ </tr>
+ <!--
+ <tr>
+ <td>dpml.transit.resourcehost.upload</td>
+ <td>false</td>
+ <td>
+ Upload policy. If true, writing a versioned artifact to its
+ output stream will also initiate an attempt to upload that
+ artifact to the remote host. SCP will be used, and username and
+ password will be used from the above property settings.
+ </td>
+ <td>Not Implemented</td>
+ </tr>
+ -->
+ </table>
+
+ </section>
+ </body>
+</document>
+
+
+

Added:
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/launcher/cli.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/launcher/cli.xml
Thu Feb 3 19:29:34 2005
@@ -0,0 +1,142 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+ Copyright 2005 Stephen McConnell
+
+ Licensed 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.dpml.net/central/about/legal/
+
+ 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.
+-->
+
+<document>
+ <properties>
+ <author email="mcconnell AT dpml.net">Stephen McConnell</author>
+ <title>DPML Transit</title>
+ </properties>
+
+ <body>
+ <section name="Commandline Options">
+
+ <subsection name="Bootstrap CLI Options">
+
+ <p>
+ The <code>-Xbootstrap</code> cli option is recognized by the Transit
Main class
+ and is used to establish the application launcher plugin uri.
+ </p>
+
+ <table>
+ <tr>
+ <th width="100">Option</th>
+ <th>Argument Type</th>
+ <th>Description</th>
+ </tr>
+ <tr>
+ <td>-Xbootstrap</td>
+ <td>URI</td>
+ <td>
+ The uri of the application launcher to be used. This value is
normally
+ set by the transit commandline script. The value declared under
the script
+ is the artifact uri <code>"@TRANSIT-PLUGIN-URI@"</code>. The
loaded plugin is required
+ to handle the cli options described below.
+ </td>
+ </tr>
+ </table>
+
+ </subsection>
+
+ <subsection name="Standard CLI Options">
+
+ <p>
+ The transit application launcher evaluates the supplied commandline
arguments
+ and processes only those arguments applicable to itself. Remaining
arguments
+ are forwarded on to the application that is the target of a launch
request.
+ </p>
+
+ <p>
+ The standard CLI Options recognized by the launcher are listed in
the following table.
+ </p>
+ <table>
+ <tr>
+ <th>Option</th>
+ <th width="170">Argument Type</th>
+ <th>Description</th>
+ </tr>
+ <tr>
+ <td>-debug</td>
+ <td>none</td>
+ <td>
+ Enable stacktrace and debug message reporting.
+ </td>
+ </tr>
+ <tr>
+ <td>-lang</td>
+ <td>language code</td>
+ <td>A two-letter language code to provide hooks for I18N.</td>
+ </tr>
+ <!--
+ <tr>
+ <td>-get</td>
+ <td>none</td>
+ <td>
+ downloads the supplied artifacts into the local cache
+ </td>
+ </tr>
+ -->
+ <tr>
+ <td>-load</td>
+ <td>plugin uri</td>
+ <td>
+ Transit loads the (single) plugin from the supplied artifact
URI.
+ If the plugin is an instance of
<code>java.lang.Runnable</code>, it
+ will be started by the controller using the
<code>start()</code>
+ method. A shutdown hook is added to the newly loaded plugin
to
+ enable clean shutdown together with the transit instance.
+ <br/><br/>For example, Metro is started via:
+ <br/><code>transit -load @METRO-PLUGIN-URI@</code>
+ </td>
+ </tr>
+ </table>
+
+ </subsection>
+
+ <subsection name="-XOptions">
+
+ <p>Supplimentary CLI arguments that are processed by the launcher
include:</p>
+
+ <table>
+ <tr>
+ <th>Option</th>
+ <th>Description</th>
+ </tr>
+ <tr>
+ <td>-Xhelp</td>
+ <td>
+ Prints a help message on the available transit launcher plugin
CLI options
+ </td>
+ </tr>
+ <tr>
+ <td>-Xversion</td>
+ <td>
+ Prints version information of the transit launcher plugin
version
+ </td>
+ </tr>
+ </table>
+
+ </subsection>
+
+ </section>
+
+ </body>
+
+</document>
+

Added:
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/launcher/deployment.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/launcher/deployment.xml
Thu Feb 3 19:29:34 2005
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+ Copyright 2005 Stephen McConnell
+
+ Licensed 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.dpml.net/central/about/legal/
+
+ 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.
+-->
+
+<document>
+ <properties>
+ <author email="mcconnell AT dpml.net">Stephen McConnell</author>
+ <title>DPML Transit</title>
+ </properties>
+
+ <body>
+ <section name="Runtime Deployment Model">
+
+ <p>Using information derived from system properties and command line
options, the
+ Transit Application Launcher will build up a map containing keys
and options
+ to be supplied as an optional constructor argument.</p>
+
+ <p>Constructor argument values populated by the launcher and
supplied to
+ the transit repository plugin handler are detailed in the
following table.</p>
+
+ <table>
+ <tr>
+ <th>Argument</th>
+ <th>Description</th>
+ </tr>
+ <tr>
+ <td>Map</td>
+ <td>
+ Will be supplied with the Transit context map.
+ </td>
+ </tr>
+ <tr>
+ <td>String[]</td>
+ <td>
+ Will be supplied with the remaining command line arguments
following
+ removal of standard and -X cli options recognized by Transit.
+ </td>
+ </tr>
+ </table>
+
+ <p>Transit context map keys and values are detailed in the following
table.</p>
+
+ <table>
+ <tr>
+ <th>Key</th>
+ <th>Value</th>
+ </tr>
+ <tr>
+ <td>urn:transit.debug.policy</td>
+ <td>
+ A Boolean value declaring the debug policy.
+ </td>
+ </tr>
+ <tr>
+ <td>urn:transit.cli.args</td>
+ <td>
+ The non-processed cli arguments.
+ </td>
+ </tr>
+ </table>
+
+ </section>
+
+ </body>
+
+</document>
+

Added:
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/launcher/index.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/launcher/index.xml
Thu Feb 3 19:29:34 2005
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+ Copyright 2005 Stephen McConnell
+
+ Licensed 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.dpml.net/central/about/legal/
+
+ 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.
+-->
+
+<document>
+ <properties>
+ <author email="mcconnell AT dpml.net">Stephen McConnell</author>
+ <title>DPML Transit</title>
+ </properties>
+
+ <body>
+ <section name="Transit Application Launcher">
+
+ <subsection name="URI">
+ <source>@TRANSIT-PLUGIN-URI@</source>
+ </subsection>
+
+ <subsection name="Overview">
+ <p>
+ The application launcher is a plugin established by the Transit handler
+ that is responsible for the deployment of a single application plugin.
The
+ launcher is responsible for low-level debug tracing, assignment of a
+ shutdown hook, the instantiation and deployment of the target
+ application.
+ </p>
+
+ </subsection>
+
+ <subsection name="Example">
+
+ <p>
+ The transit application launcher may be initialized via a command line
+ script or through direct invocation with a java programe.
+ </p>
+ <p><i>CLI Usage example:</i></p>
+<code>$ transit [-load uri] [arg1 arg2 arg3 ...]</code>
+
+ </subsection>
+
+ </section>
+
+ </body>
+
+</document>
+

Added:
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/launcher/navigation.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/launcher/navigation.xml
Thu Feb 3 19:29:34 2005
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2004 Stephen McConnell
+ Copyright 2004 Niclas Hedhman
+
+ Licensed 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.dpml.net/central/about/legal/
+
+ 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.
+-->
+
+<project>
+
+ <title>Transit</title>
+
+ <body>
+
+ <menu>
+ <item name="Commandline Options" href="cli.html"/>
+ <item name="Deployment Model" href="deployment.html"/>
+ <item name="Properties" href="properties.html"/>
+ </menu>
+
+ </body>
+
+</project>

Added:
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/launcher/properties.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/launcher/properties.xml
Thu Feb 3 19:29:34 2005
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ Copyright 2004 Niclas Hedhman
+
+ Licensed 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.dpml.net/central/about/legal/
+
+ 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.
+-->
+
+<document>
+
+ <properties>
+ <author email="niclas AT hedhman.org">Niclas Hedhman</author>
+ <title>DPML Transit</title>
+ </properties>
+
+ <body>
+
+ <section name="Runtime Properties">
+
+ <p>
+ In addition to the classic protocol handling, Transit provides
support
+ for the deployment of a runtime application via the
+ <a href="@TRANSIT-DOCS-PATH@/net/dpml/transit/Main.html">
+ Transit Main</a> handler class. This class looks for the
+ "dpml.transit.bootstrap.uri" system property and value corresponding
to
+ a uri of a bootstrap plugin that handles the deployment of
application
+ plugins (the bootstrap uri may be overriden with the -Xbootstrap cli
+ argument in command-line scenarios).
+ </p>
+
+ <subsection name="Properties">
+ <table>
+ <tr>
+ <th>Property</th>
+ <th>Default Value</th>
+ <th>Description</th>
+ </tr>
+ <tr>
+ <td>dpml.transit.bootstrap.uri</td>
+ <td><a href="../launcher/index.html">plugin</a></td>
+ <td>URI of an application launcher plugin. The plugin handles
+ the loading and deployment of application plugins such as
+ the metro component managment platform cli handler and other
+ application handlers.</td>
+ </tr>
+ </table>
+ </subsection>
+
+ </section>
+
+ </body>
+
+</document>
+
+
+

Added:
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/monitors/index.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/monitors/index.xml
Thu Feb 3 19:29:34 2005
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<document>
+ <properties>
+ <author email="mcconnell AT dpml.net">Stephen McConnell</author>
+ <contributor email="dleangen AT dpml.net">David Leangen</contributor>
+ <title>DPML Transit</title>
+ </properties>
+
+ <body>
+ <section name="Event Monitoring">
+
+ <p>
+ Internal events within the Transit system are forwarded to a set of
+ event routers, each dealing with a particular Transit sub-system.
Routers
+ forward events to registered monitors.
+ </p>
+
+ <img src="/images/transit/monitors.png"/>
+
+
+ <subsection name="Router/Monitor Types">
+
+ <table>
+ <tr><th>Type</th><th>Description</th></tr>
+ <tr>
+ <td>
+ <a
href="@TRANSIT-DOCS-PATH@/net/dpml/transit/monitors/CacheMonitor.html">CacheMonitor</a></td>
+ <td>Handles events related to resource requests, modification of
the
+ local cache, and download failures.</td>
+ </tr>
+ <tr>
+ <td>
+ <a
href="@TRANSIT-DOCS-PATH@/net/dpml/transit/monitors/ConnectionMonitor.html">
+ConnectionMonitor</a></td>
+ <td>Handles events dealing with the openning and closing of
connections.</td>
+ </tr>
+ <tr>
+ <td>
+ <a
href="@TRANSIT-DOCS-PATH@/net/dpml/transit/monitors/NetworkMonitor.html">
+NetworkMonitor</a></td>
+ <td>Handles events dealing with network activitiy including
progressive
+ download activitiy and download completion.</td>
+ </tr>
+ <tr>
+ <td>
+ <a
href="@TRANSIT-DOCS-PATH@/net/dpml/transit/monitors/RepositoryMonitor.html">
+RepositoryMonitor</a></td>
+ <td>Handles events dealing with plugin requests, plugin class
establishment, constructor
+ discovery, plugin instantiation, classloader creation, and
plugin error reporting.</td>
+ </tr>
+ </table>
+ </subsection>
+
+ </section>
+ </body>
+</document>

Added:
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/monitors/navigation.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/monitors/navigation.xml
Thu Feb 3 19:29:34 2005
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2004 Stephen McConnell
+ Copyright 2004 Niclas Hedhman
+
+ Licensed 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.dpml.net/central/about/legal/
+
+ 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.
+-->
+
+<project>
+
+ <title>Transit</title>
+
+ <body>
+
+ <menu>
+ </menu>
+
+ </body>
+
+</project>

Added:
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/protocol/index.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/protocol/index.xml
Thu Feb 3 19:29:34 2005
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ Copyright 2004 Niclas Hedhman
+
+ Licensed 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.dpml.net/central/about/legal/
+
+ 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.
+-->
+
+<document>
+ <properties>
+ <author email="niclas AT hedhman.org">Niclas Hedhman</author>
+ <title>DPML Transit</title>
+ </properties>
+
+ <body>
+ <section name="Artifact Protocol">
+
+ <p>
+ The key to the repository comes through the artifact protocol. It
+ makes a separation of concern between the requested resource and the
+ location where such a resource can be found. The location is handled
+ by a the protocol handler, and is configured by the user. In reality,
+ once DPML Transit is in place, it is possible to request any type of
+ resource via the familiar java.net.URL() and many existing
+ applications can easily be made <strong>repository enabled</strong>
+ just by providing DPML Transit in the classpath and setting one or
+ two system properties.
+ </p>
+
+ <subsection name="Specification">
+ <p>
+ The official specification of the artifact protocol is as follows;
+ </p>
+<source> artifact:[type]:[group]/[name]#[version] </source>
+ </subsection>
+
+ <table>
+ <tr>
+ <td>
+ type
+ </td>
+ <td>
+ The type of the artifact. Typical example would be "jar", "png"
+ or "dtd".
+ </td>
+ </tr>
+ <tr>
+ <td>
+ group
+ </td>
+ <td>
+ The group to which the artifact belong, so that naming conflicts
+ can be avoided.
+ It is recommended that the group is multi-leveled and slash
+ separated, where the top level denotes the distinguishable name
of
+ the organization.
+ </td>
+ </tr>
+ <tr>
+ <td>
+ name
+ </td>
+ <td>
+ The name of the artifact.
+ </td>
+ </tr>
+ <tr>
+ <td>
+ version
+ </td>
+ <td>
+ The version is an opaque identifier without any built-in semantic
+ contract. That means that Transit places no meaning into the
+ version itself, and 1.1.0 and 1.1.1 does not hint that the latter
+ can be used if the former is not present.
+ </td>
+ </tr>
+ </table>
+ <subsection name="Using an artifact URL" >
+ <p>
+ Using artifact URLs are no different from any http or ftp URLs. You
+ create them by instantiating the <code>java.net.URL</code> class,
+ and setting the protocol to "artifact" (no quotes).
+ </p>
+ <p>
+ The following example artifact URI identifies a resource named
+ "dpml-http-server" associated with the "dpml/http" group, a
+ resource type called "block" and a version value of "1024".
+ </p>
+
+ <source>artifact:block:dpml/http/dpml-http-server#1024</source>
+
+ </subsection>
+
+ </section>
+ </body>
+</document>
+
+
+

Added:
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/protocol/navigation.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/protocol/navigation.xml
Thu Feb 3 19:29:34 2005
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2004 Stephen McConnell
+ Copyright 2004 Niclas Hedhman
+
+ Licensed 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.dpml.net/central/about/legal/
+
+ 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.
+-->
+
+<project>
+
+ <title>Transit</title>
+
+ <body>
+
+ <menu>
+ </menu>
+
+ </body>
+
+</project>

Added:
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/repository/chain.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/repository/chain.xml
Thu Feb 3 19:29:34 2005
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<document>
+ <properties>
+ <author email="mcconnell AT dpml.net">Stephen McConnell</author>
+ <title>DPML Transit</title>
+ </properties>
+
+ <body>
+ <section name="Classloader Chain Creation">
+
+ <p>
+ A classloader chain is a sequence of classloaders that are created
+ by Transit using a meta descriptor file. The descriptor contains
+ the declaration of api, spi and implementation classloader jar files.
+ Each set of jar file entries represent the content of the respective
+ classloader. Entries are declared in the form of an artifact uri.
+ The classloader chain parent is supplied as an argument to the
+ <a
href="@TRANSIT-DOCS-PATH@/net/dpml/transit/repository/Repository.html">
+ Repository</a> service interface and establishes the parent
+ classloader for the API classloader. The API classloader serves as
the
+ parent to the SPI classloader which in turn serves as the parent to
the IMPL
+ classloader.
+ </p>
+
+ <img src="/images/transit/@TRANSIT-BUILD-ID@/chain.png"/>
+
+ <p><i>Example classloader creation:</i></p>
+ <pre>
+Repository repository = new <a
href="@TRANSIT-DOCS-PATH@/net/dpml/transit/repository/StandardLoader.html">StandardLoader()</a>;
+ClassLoader parent = getClass().getClassLoader();
+URI uri = new URI( "@METRO-PLUGIN-URI@" );
+ClassLoader classloader = repository.getPluginClassLoader( parent, uri );
+....
+ </pre>
+
+ </section>
+
+ </body>
+
+</document>

Added:
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/repository/class.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/repository/class.xml
Thu Feb 3 19:29:34 2005
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<document>
+ <properties>
+ <author email="mcconnell AT dpml.net">Stephen McConnell</author>
+ <title>DPML Transit</title>
+ </properties>
+
+ <body>
+ <section name="Plugin Class Loading">
+
+ <p>
+ The loading of a plugin class is a convinience operation that
+ that takes the same arguments as the classloader
+ chain creation operation. Following establishment of the classloader
+ <a href="chain.html">chain</a> the implmentation classloader is used
+ to resolve the main class declared within the
+ <a
href="@TRANSIT-DOCS-PATH@/net/dpml/transit/repository/Plugin.html">Plugin</a>
descriptor.
+ </p>
+
+ <p><i>Example plugin class loading:</i></p>
+ <pre>
+Repository repository = new <a
href="@TRANSIT-DOCS-PATH@/net/dpml/transit/repository/StandardLoader.html">StandardLoader()</a>;
+ClassLoader parent = getClass().getClassLoader();
+URI uri = new URI( "@METRO-PLUGIN-URI@" );
+Class pluginClass = repository.getPluginClass( parent, uri );
+....
+ </pre>
+
+ </section>
+ </body>
+</document>

Added:
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/repository/descriptor.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/repository/descriptor.xml
Thu Feb 3 19:29:34 2005
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<document>
+ <properties>
+ <author email="mcconnell AT dpml.net">Stephen McConnell</author>
+ <title>DPML Transit</title>
+ </properties>
+
+ <body>
+ <section name="Plugin Descriptor Creation">
+
+ <p>
+ Some applications may require information about a plugin prior to
loading the plugin. The
+ <a
href="@TRANSIT-DOCS-PATH@/net/dpml/transit/repository/Plugin.html">Plugin</a>
+ class is an immutable datatype that serves this function. It
enables convinient access to
+ the api, spi and impl URI sets, and information related to the
declared main class or
+ resource and namespec declarations.
+ </p>
+
+ <p><i>Example plugin descriptor creation:</i></p>
+ <pre>
+Repository repository = new StandardLoader();
+URI uri = new URI( "@METRO-PLUGIN-URI@" );
+<a
href="@TRANSIT-DOCS-PATH@/net/dpml/transit/repository/Plugin.html">Plugin</a>
plugin = repository.getPluginDescriptor( uri );
+....
+ </pre>
+
+ </section>
+ </body>
+</document>

Added:
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/repository/index.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/repository/index.xml
Thu Feb 3 19:29:34 2005
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<document>
+ <properties>
+ <author email="mcconnell AT dpml.net">Stephen McConnell</author>
+ <title>DPML Transit</title>
+ </properties>
+
+ <body>
+ <section name="Repository Service">
+
+ <p>
+ The repository service provides support for the construction of
+ classloader <a href="descriptor.html">descriptors</a>, classloader
+ <a href="chain.html">chains</a>, plugin <a href="class.html">class
loading</a>,
+ and plugin <a href="instantiation.html">instantiation</a>.
+ </p>
+
+ </section>
+ </body>
+</document>

Added:
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/repository/instantiation.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/repository/instantiation.xml
Thu Feb 3 19:29:34 2005
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<document>
+ <properties>
+ <author email="mcconnell AT dpml.net">Stephen McConnell</author>
+ <title>DPML Transit</title>
+ </properties>
+
+ <body>
+ <section name="Plugin Instantiation">
+
+ <p>
+ The <a
href="@TRANSIT-DOCS-PATH@/net/dpml/transit/repository/Repository.html">
+ Repository</a> service provides a generic plugin instantiation
service. The service is typically
+ used by applications that know more about the type of plugins that
are loaded than Transit does.
+ As such, the plugin instantiation service should be viewed as a
convinience function.
+ </p>
+
+ <p>
+ The plugin instantiation function takes the usual parent classloader
and uri arguments and
+ adds an object array argument. The object array is an optional set
of arguments values that
+ will be used by the repository service when attempting to resolve
plugin constructor parameter
+ arguments.
+ </p>
+
+ <p><i>Example plugin instantiation:</i></p>
+ <pre>
+Repository repository = new <a
href="@TRANSIT-DOCS-PATH@/net/dpml/transit/repository/StandardLoader.html">StandardLoader()</a>;
+ClassLoader parent = getClass().getClassLoader();
+URI uri = new URI( "@METRO-PLUGIN-URI@" );
+String[] args = new String[]{ "-debug", "-audit" ); // simulate cli args
+Object[] params = new Object[]{ args };
+Object plugin = repository.getPlugin( parent, uri, params );
+....
+ </pre>
+
+ <subsection name="Constructor Selection and Instantiation">
+
+ <p>
+ The default implementation takes the fist public constructor
declared by the plugin.
+ For predictive behaviour it is recommended to use a single public
constructor as constructor
+ ordering is not assured by the JVM. The parameters declared by the
constructor will be
+ evaluated against the supplied object array values and if type
compatible, the supplied value
+ will be assigned as the parameter argument. If the constructor has
any unresolved parameters,
+ the implementation will attempt to fullfill these using repository
suppled values.
+ </p>
+
+ <p>
+ The following argument types will be supplied by the repository
implementation if the value
+ is declared as a constructor parameter and the parameter is
unresolved following assessment
+ of the supplied arguments.
+ </p>
+
+ <table>
+ <tr><th>Type</th><th>Description</th></tr>
+ <tr><td><a
href="@TRANSIT-DOCS-PATH@/net/dpml/transit/repository/Plugin.html">Plugin</a></td><td>The
plugin descriptor.</td></tr>
+ <tr><td>ClassLoader</td><td>The implementation
classloader.</td></tr>
+ <tr><td><a
href="@TRANSIT-DOCS-PATH@/net/dpml/transit/repository/Repository.html">Repository</a></td><td>The
repository used to establish the plugin.</td></tr>
+ <tr><td>[]</td><td>An array of any kind that is unresolved will
be assigned an empty array value.</td></tr>
+ </table>
+
+ <p>
+ On completion of construction parameter population and instance of
the class is creating
+ using the selected constructor. No lifecycle processing is applied
to the resulting instance.
+ </p>
+
+ </subsection>
+
+ </section>
+ </body>
+</document>

Added:
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/repository/navigation.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/repository/navigation.xml
Thu Feb 3 19:29:34 2005
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2004 Stephen McConnell
+ Copyright 2004 Niclas Hedhman
+
+ Licensed 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.dpml.net/central/about/legal/
+
+ 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.
+-->
+
+<project>
+
+ <title>Transit</title>
+
+ <body>
+
+ <menu>
+ <item name="ClassLoader Chains" href="chain.html"/>
+ <item name="Plugin Descriptors" href="descriptor.html"/>
+ <item name="Plugin Class Loading" href="class.html"/>
+ <item name="Plugin Instantiation" href="instantiation.html"/>
+ </menu>
+
+ </body>
+
+</project>



  • svn commit: r1716 - in development/main/central/site/src/docs/products/transit/SNAPSHOT: setup/unix setup/windows technical/cache technical/hosts technical/launcher technical/monitors technical/protocol technical/repository, mcconnell, 02/03/2005

Archive powered by MHonArc 2.6.24.

Top of Page