How to build the XMLBeans Website
Assumption: you are an XMLBeans committer and you want to update the XMLBeans website.
(First Time) Install Forrest. XMLBeans uses Forrest to generate its Apache website. you will need to have Forrest installed on your machine. The process for doing this is well described in the beginning of Using Forrest document on the Forrest website. It involves downloading and building Forrest but it goes pretty smoothly.
(First Time) Checkout the Website source. The website source is in <code>org.apache.cvs</code> in the xml-xmlbeans module under the <code>website/src</code> directory.
Make your changes to the website source. Under the <code>website</code> directory you will see a <code>src/documentation/content</code> directory. Raw html can be put in this directory. The Forrest xml the drives the site generation is in the subdirectory <code>xdocs</code>. In this directory you will see <code>index.xml</code> which drives the XMLBeans homepage as well as <code>site.xml</code> which lays out the website and <code>tabs.xml</code> which lays out the tab structure. You will also see subdirectories for each of the tabs that shows up on the XMLBeans home page.
Generate the website. After making your changes you can generate the website by issuing the <code>forrest</code> from the <code>website</code> directory. It will create a <code>build</code> sub directory. You can view the website by navigating to <code>build/site/index.html</code>.
(First Time) Checkout the <code>xml-site</code> directory The xml.apache.org website has a corresponding directory for every subproject in the <code>cvs.apache.org</code> (same as xml-xmlbeans) called <code>xml-site</code>. The directory you want is <code>targets/xmlbeans</code>.
Modify <code>xml-site/targets/xmlbeans</code> directory with you changes. This will involve doing copying over the files from the Forrest generated build directory out of <code>xml-xmlbeans/website/build/site</code> into <code>xml-site/targets/xmlbeans</code>. You then need to <code>cvs add<code> and <code>cvs commit</code> to bring the cvs repository up to date. Note: you may need to request commit access to the xml-site module.
Force an update to the site or wait. After the previous steps that website will be updated within 6 hours. If you want to force an immediate update Berin Lautenbach has a script to do this. See his message http://nagoya.apache.org/eyebrowse/ReadMsg?listName=xmlbeans-dev@xml.apache.org&msgNo=250 about this.
Note it is possible to directly update the xml.apache.org site as well (not recommended). To do this:
login via ssh. I did this with the command: <code>ssh -l daveremy www.apache.org</code>
<code>cd</code> to the <code>www/apache.org</code> directory (I had to do <code>../../..</code> to get to root)
<code>umask 0002</code> (sets the next files that are created to read write for group)
<code>cvs -z3 -d :pserver:anoncvs@cvs.apache.org:/home/cvspublic co -d xmlbeans xml-site/targets/xmlbeans</code> (checks out the xmlbeans directory without creating the module and higher level directory hierarchy).