You are viewing a plain text version of this content. The canonical link for it is here.
Posted to svn@forrest.apache.org by br...@apache.org on 2004/06/25 04:14:19 UTC

svn commit: rev 22093 - in forrest/trunk/src: documentation/content/xdocs documentation/content/xdocs/docs forrestbot/webapp

Author: brondsem
Date: Thu Jun 24 19:14:18 2004
New Revision: 22093

Added:
   forrest/trunk/src/documentation/content/xdocs/docs/forrestbot-web-interface.xml
Removed:
   forrest/trunk/src/forrestbot/webapp/README.txt
Modified:
   forrest/trunk/src/documentation/content/xdocs/site.xml
Log:
forrestbot web interface documentation

Added: forrest/trunk/src/documentation/content/xdocs/docs/forrestbot-web-interface.xml
==============================================================================
--- (empty file)
+++ forrest/trunk/src/documentation/content/xdocs/docs/forrestbot-web-interface.xml	Thu Jun 24 19:14:18 2004
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.2//EN"
+"document-v12.dtd">
+<document>
+  <header>
+    <title>Forrestbot Web Interface</title>
+  </header>
+
+  <body>
+    <p>This webapp implements a website staging application for sites built
+    with Apache Forrest. The webapp hosts HTML for a number of managed
+    websites. The user can regenerate these sites at will. Once the user is
+    satisfied with the site, they may 'deploy' the site, making it live.</p>
+
+    <p>The forrestbot web interface requires a servlet container such as <link
+    href="http://jakarta.apache.org/tomcat/">Apache Tomcat</link>.</p>
+
+    <section>
+      <title>Build</title>
+
+      <p>To build the webapp from source, you need <link
+      href="http://maven.apache.org/">Apache Maven</link> installed. From a
+      command prompt, go to the <code>forrest/src/forrestbot/webapp</code>
+      directory and execute "<code>maven war</code>".</p>
+    </section>
+
+    <section>
+      <title>Installation</title>
+
+      <note>Most of this configuration is related to the <link
+      href="http://www.opensymphony.com/osuser/">OpenSymphony OSUser</link>
+      authentication layer.</note>
+
+      <ol>
+        <li>Extract the war to a temporary directory</li>
+
+        <li>Modify welcome.local.html</li>
+
+        <li>Modify osuser.xml if you want to use an authenticator other than
+        XML files</li>
+
+        <li>Modify projects.xml, groups.xml, and users.xml according to your
+        needs</li>
+
+        <li>Modify settings.properties according to the server's specific
+        setup</li>
+
+        <li>Repackage the war file</li>
+
+        <li>Deploy the war file in Tomcat or some other servlet container</li>
+      </ol>
+    </section>
+
+    <section>
+      <title>TODO Wishlist</title>
+
+      <ul>
+        <li>seperate authorization of 'build' and 'deploy'</li>
+
+        <li>log everything, not just the build</li>
+
+        <li>view old log files</li>
+
+        <li>ability to reload all config files on the fly</li>
+
+        <li>put date at top of viewlog_body page</li>
+      </ul>
+    </section>
+
+    <section>
+      <title>FAQ</title>
+
+      <section>
+        <title>The build and/or deploy commands don't seem to work</title>
+
+        <p>Currently forrestbot only logs the forrest part of it's execution,
+        not the whole thing. And the web interface starts a forrestbot process
+        and doesn't watch it's progress directly. So look at the debugging
+        output for the command executed and the working directory used. Log
+        into the server using the login of the Tomcat server and cd to the
+        working directory and then execute the command. This will fairly
+        accurately simulate what the web interface does.</p>
+
+        <p>Also, set debug-exec=true in settings.properties and make sure
+        log4j.properties logs DEBUG. This will log all the thread output.</p>
+      </section>
+
+      <section>
+        <title>Can I do anything with this besides just running the
+        forrestbot?</title>
+
+        <p>Sure. Create a wrapper script and specify it as forrest-exec in
+        settings.properties. Here's an example:</p>
+
+        <source>#!/bin/bash
+
+# remove env values set from container 
+PATH=/usr/bin
+CLASSPATH=
+# get env vars
+. /home/user/.profile
+
+# group writable for easier sharing of files with others who run forrestbot
+umask g+w
+
+# you can preprocess something
+xmlfile=$2
+if [ "${xmlfile##*.}" = "xml" ]                # everything after last .
+then
+    target=$3
+    if [ "$target" != "deploy" ]                # don't run preprocess task on a deploy
+    then
+        projectTarget=${xmlfile%.*}               # everything before last .
+        # do something special for $projectTarget here
+    fi
+else
+        echo "Syntax: forrest_wrapper.sh -f myapp.xml [build|deploy|...]"
+        exit
+fi
+
+# run forrest(bot) with all the parameters
+forrest $*
+
+# you can postprocess something here</source>
+      </section>
+    </section>
+  </body>
+</document>
\ No newline at end of file

Modified: forrest/trunk/src/documentation/content/xdocs/site.xml
==============================================================================
--- forrest/trunk/src/documentation/content/xdocs/site.xml	(original)
+++ forrest/trunk/src/documentation/content/xdocs/site.xml	Thu Jun 24 19:14:18 2004
@@ -73,6 +73,7 @@
   <subprojects label="SubProjects"  href="docs/" tab="docs">
     <forrestbar label="ForrestBar" href="forrestbar.html"/>
     <forrestbot label="Forrestbot" href="forrestbot.html"/>
+    <forrestbot-web-interface label="Forrestbot Webapp" href="forrestbot-web-interface.html"/>
   </subprojects>
     
   <samples label="References" href="docs/" tab="docs">