forrest-svn mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject svn commit: r1097672 - in /forrest/trunk/whiteboard/forrest-osgi/docs/src/documentation/content/xdocs: different.xml index.xml launch.xml site.xml
Date Fri, 29 Apr 2011 03:04:32 GMT
Author: bdube
Date: Fri Apr 29 03:04:32 2011
New Revision: 1097672

Expand documentation


Modified: forrest/trunk/whiteboard/forrest-osgi/docs/src/documentation/content/xdocs/different.xml
--- forrest/trunk/whiteboard/forrest-osgi/docs/src/documentation/content/xdocs/different.xml
+++ 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&#153; implementation of the OSGi HTTP Service,
         which uses Jetty behind the scenes.
+      <p>
+        See the page on <a href="site:more/launch">launching</a> for more.
+      </p>
     <section id="plugins">
       <title>Plugins in forrest-osgi</title>

Modified: forrest/trunk/whiteboard/forrest-osgi/docs/src/documentation/content/xdocs/index.xml
--- 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>
         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&#153; sitemap is handled by OSGi

Added: forrest/trunk/whiteboard/forrest-osgi/docs/src/documentation/content/xdocs/launch.xml
--- forrest/trunk/whiteboard/forrest-osgi/docs/src/documentation/content/xdocs/launch.xml
+++ 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
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  See the License for the specific language governing permissions and
+  limitations under the License.
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "">
+  <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></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/</a>.
+        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></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>

Modified: forrest/trunk/whiteboard/forrest-osgi/docs/src/documentation/content/xdocs/site.xml
--- 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
     <different label="Differences" href="different.html" />
     <contribute label="Contribute" href="contribute.html" />
     <bundle label="Bundles" href="bundle.html" />
+    <launch label="Launching" href="launch.html" />
     <forrest href="">
       <linking href="docs/linking.html" />
+    <asfSvn href="">
+      <forrest href="viewvc/forrest/trunk/">
+        <customLauncher href="whiteboard/forrest-osgi/main/src/java/org/apache/forrest/"
+      </forrest>
+    </asfSvn>
     <bnd href="" />
+    <osgi href="">
+      <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>

View raw message