Author: bdube
Date: Fri Apr 29 03:04:32 2011
New Revision: 1097672
URL: http://svn.apache.org/viewvc?rev=1097672&view=rev
Log:
Expand documentation
Added:
forrest/trunk/whiteboard/forrest-osgi/docs/src/documentation/content/xdocs/launch.xml
Modified:
forrest/trunk/whiteboard/forrest-osgi/docs/src/documentation/content/xdocs/different.xml
forrest/trunk/whiteboard/forrest-osgi/docs/src/documentation/content/xdocs/index.xml
forrest/trunk/whiteboard/forrest-osgi/docs/src/documentation/content/xdocs/site.xml
Modified:
forrest/trunk/whiteboard/forrest-osgi/docs/src/documentation/content/xdocs/different.xml
URL:
http://svn.apache.org/viewvc/forrest/trunk/whiteboard/forrest-osgi/docs/src/documentation/content/xdocs/different.xml?rev=1097672&r1=1097671&r2=1097672&view=diff
==============================================================================
---
forrest/trunk/whiteboard/forrest-osgi/docs/src/documentation/content/xdocs/different.xml
(original)
+++
forrest/trunk/whiteboard/forrest-osgi/docs/src/documentation/content/xdocs/different.xml
Fri Apr 29 03:04:32 2011
@@ -38,7 +38,7 @@
href="site:more/bundle">plugin bundles</a> inherit from
<code>master.xml</code>. <code>$FORREST_HOME</code> should
point to the top of this whiteboard experiment,
- <code>.../whiteboard/forrest-osgi</code>. The default Ant
+ <code>/path/to/forrest/whiteboard/forrest-osgi</code>. The default Ant
target in <code>build.xml</code> will build the launcher as
well as all plugin bundles. The Ant script assumes you have
changed the environment variable <code>$FORREST_HOME</code> as
@@ -71,6 +71,9 @@
Apache Felix™ implementation of the OSGi HTTP Service,
which uses Jetty behind the scenes.
</p>
+ <p>
+ See the page on <a href="site:more/launch">launching</a> for more.
+ </p>
</section>
<section id="plugins">
<title>Plugins in forrest-osgi</title>
Modified:
forrest/trunk/whiteboard/forrest-osgi/docs/src/documentation/content/xdocs/index.xml
URL:
http://svn.apache.org/viewvc/forrest/trunk/whiteboard/forrest-osgi/docs/src/documentation/content/xdocs/index.xml?rev=1097672&r1=1097671&r2=1097672&view=diff
==============================================================================
---
forrest/trunk/whiteboard/forrest-osgi/docs/src/documentation/content/xdocs/index.xml
(original)
+++
forrest/trunk/whiteboard/forrest-osgi/docs/src/documentation/content/xdocs/index.xml
Fri Apr 29 03:04:32 2011
@@ -59,8 +59,8 @@
<title>What is the same?</title>
<p>
There is still the concept of core functionality supplemented
- with a set of plugins. The modularity provided, and enforced,
- by OSGi bundles has the characteristics necessary to form the
+ by a set of plugins. The modularity provided, and enforced, by
+ OSGi bundles has the characteristics necessary to form the
basis of a plugin architecture. The communication link
provided by the Apache Cocoon™ sitemap is handled by OSGi
services.
Added:
forrest/trunk/whiteboard/forrest-osgi/docs/src/documentation/content/xdocs/launch.xml
URL:
http://svn.apache.org/viewvc/forrest/trunk/whiteboard/forrest-osgi/docs/src/documentation/content/xdocs/launch.xml?rev=1097672&view=auto
==============================================================================
---
forrest/trunk/whiteboard/forrest-osgi/docs/src/documentation/content/xdocs/launch.xml
(added)
+++
forrest/trunk/whiteboard/forrest-osgi/docs/src/documentation/content/xdocs/launch.xml
Fri Apr 29 03:04:32 2011
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ 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.
+-->
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN"
"http://forrest.apache.org/dtd/document-v20.dtd">
+<document>
+ <header>
+ <title>Launching forrest-osgi</title>
+ </header>
+ <body>
+ <section id="overview">
+ <title>Overview</title>
+ <p>
+ Launching forrest-osgi is very similar to launching the
+ released version, except that static site generation is not
+ yet implemented. Because of the presence of bundle
+ <code>org.apache.forrest.servlet</code>, and the absence of
+ any static implementation, the default <code>site</code>
+ target actually launches dynamic mode, analogous to
+ <code>forrest run</code> in the released version.
+ </p>
+ <p>
+ Files involved: <code>forrest.build.xml</code>,
+ <code>bin/forrest</code>
+ </p>
+ </section>
+ <section id="launcher">
+ <title>Launcher</title>
+ <p>
+ There is a custom launcher started in <a
+
href="ext:asfSvn/forrest/customLauncher">main/src/java/org/apache/forrest/Forrest.java</a>.
Custom
+ launcher meaning a way to start an OSGi framework
+ instance. Once a framework implementation is found and
+ started, the launcher enumerates the contents of
+ <code>bundle</code> directory and installs all the bundles it
+ finds. It then starts all non-fragment bundles. Instead of
+ explicitly starting a fragment, which would throw an
+ exception, the fragment is bound to its host bundle by the
+ framework.
+ </p>
+ <p>
+ To accomplish the steps above, it is not necessary to have a
+ custom launcher. There are standard ways to launch the
+ framework which would result in the above. The idea behind a
+ custom launcher is to provide hooks into the launch
+ sequence. For example, the launcher can read
+ <code>forrest.properties</code> and load only the bundles
+ required by the calling project, rather than all bundles. The
+ launcher could also configure itself based on static or
+ dynamic mode.
+ </p>
+ </section>
+ <section id="running">
+ <title>After launch</title>
+ <p>
+ When the launcher is finished starting bundles, the OSGi
+ framework is in control. <code>BundleActivator</code> classes
+ are executed for bundles that declare one. These are generally
+ used to publish a service or bind to a published service. The
+ bundle <code>org.apache.forrest.log</code> discovers any
+ registered implementations of the service <a
+ href="site:osgi/javadoc/v42/LogService">LogService</a> and
+ adds a <a
+ href="site:osgi/javadoc/v42/LogListener">listener</a>
+ implementation to provide access to Log4j, by way of
+ SLF4J. The bundle <code>org.apache.forrest.servlet</code>
+ discovers <a
+ href="site:osgi/javadoc/v42/HttpService">HttpService</a> and
+ registers a servlet to enable dynamic mode operation.
+ </p>
+ <p>
+ Now, the framework and bundles continue to run without
+ intervention. It is possible to dynamically install, remove or
+ update bundles, all without restarting the framework. It is
+ also possible to run multiple versions of a bundle
+ simultaneously. This is the beauty of OSGi. The current
+ implementation of forrest-osgi <em>does not</em> check for
+ bundles installed, removed or changed on the fly, but the
+ infrastructure to handle it is already present in the
+ framework. It is just a matter of taking the time to implement
+ it.
+ </p>
+ </section>
+ </body>
+</document>
Modified:
forrest/trunk/whiteboard/forrest-osgi/docs/src/documentation/content/xdocs/site.xml
URL:
http://svn.apache.org/viewvc/forrest/trunk/whiteboard/forrest-osgi/docs/src/documentation/content/xdocs/site.xml?rev=1097672&r1=1097671&r2=1097672&view=diff
==============================================================================
---
forrest/trunk/whiteboard/forrest-osgi/docs/src/documentation/content/xdocs/site.xml
(original)
+++
forrest/trunk/whiteboard/forrest-osgi/docs/src/documentation/content/xdocs/site.xml
Fri Apr 29 03:04:32 2011
@@ -45,11 +45,28 @@ See http://forrest.apache.org/docs/linki
<different label="Differences" href="different.html" />
<contribute label="Contribute" href="contribute.html" />
<bundle label="Bundles" href="bundle.html" />
+ <launch label="Launching" href="launch.html" />
</more>
<external-refs>
<forrest href="http://forrest.apache.org/">
<linking href="docs/linking.html" />
</forrest>
+ <asfSvn href="http://svn.apache.org/">
+ <forrest href="viewvc/forrest/trunk/">
+ <customLauncher
href="whiteboard/forrest-osgi/main/src/java/org/apache/forrest/Forrest.java?view=markup"
/>
+ </forrest>
+ </asfSvn>
<bnd href="http://www.aqute.biz/Bnd/Bnd" />
+ <osgi href="http://www.osgi.org/">
+ <javadoc href="javadoc/">
+ <v41 href="r4v41/" />
+ <v42 href="r4v42/">
+ <HttpService href="org/osgi/service/http/HttpService.html" />
+ <LogListener href="org/osgi/service/log/LogListener.html" />
+ <LogService href="org/osgi/service/log/LogService.html" />
+ </v42>
+ <v43 href="r4v43/" />
+ </javadoc>
+ </osgi>
</external-refs>
</site>