blob: 35f1d87480556f8556ccade03e0c6b5c49e82c38 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<document>
<properties>
<author email="akarasulu@apache.org">Alex Karasulu</author>
<title>Apache Directory Project: </title>
</properties>
<body>
<section name="Deploying Site and Subprojects">
<subsection name="Incubator Site">
<p>
The entire Apache Incubator site is kept within CVS. This includes
generated files. There has to be a good Apache Incubator resource
for this in existance that explains how it is all organized. Until
I figure that out just follow along.
</p>
<p>
Currently as a podling the Directory Project's resources are managed
under the Apache Incubator. The website is no exception. The
specific incubator module used is the <b>incubator-directory</b> CVS
module. I check it out like so:
</p>
<source>
cvs -d :ext:akarasulu@cvs.apache.org:/home/cvs co incubator-directory
</source>
<p>
This module contains a content directory: <b>www</b>. The final
content under <b>www</b> is served up by the Apache servers. The
module's <b>www</b> folder is checked out daily into the following
directory on minotaur.apache.org:
<b>/www/incubator.apache.org/directory</b>
</p>
<p>
So all we have to do is generate the site out of our subversion
working directory and copy the Maven generated content into the
<b>www</b> folder of the CVS working copy for the incubator-directory
CVS module. That's a mouth full.
</p>
<p>
Once the generated content is copied, the changes are committed. Then
deployers should ssh into minotaur and cd to the
<b>/www/incubator.apache.org/directory</b> to do an update like so:
</p>
<source>
cd /www/incubator.apache.org/directory
cvs update -d
</source>
<p>
Everyone within our team has access to this area. Anyone can deploy
the entire site or just a part of it this way. It's a pretty neat
setup and works well.
</p>
</subsection>
<subsection name="Building Top Level Project Site">
<p>
Keep in mind that the subprojects contain their own documentation.
They hook into the TLP Site. The sitedocs project manages the TLP
site shell. Any documentation that is not specific to a subproject
goes here.
</p>
<p>
Building the top level project site is really simple. You checkout
the sitedocs trunk form the subversion repository. Add, delete or
make changes to the xdocs that reside under the <b>xdocs</b> folder.
Once the changes are made run:
</p>
<source>
maven site
</source>
<p>
This will generate the TLP site right under <b>target/docs</b>.
This does not generate the subproject content. To do this you'll
have to build the subproject documentation by using the same command
on the respective subproject. If all subprojects are configured as
documented here in the subproject integration section above then the
subproject build should copy the generated subproject documents over
to the respective <b>target/docs/subprojects/[subproject]</b> output
folder of the sitedocs module.
</p>
<p>
If you're changes are to the TLP only without changes to the
subprojects then there is no need to build any subproject sites. If
you want to deploy one or more subproject site changes then go ahead
and build the subproject site for every subproject module. All the
results collect under the <b>sitedocs/target/docs</b> folder.
</p>
<p>
The contents of the <b>sitedocs/target/docs</b> folder is what is
copied over into the <b>incubator-directory/www</b> folder and
committed into CVS.
</p>
</subsection>
</section>
</body>
</document>