With the TLP change, it seems like a really good time to revisit
this.. I'm a little confused over where things are?  I gather from the
thread that Forrest essentially has problems with multiple source
roots.. has the following (somewhat naive) approach been debated?:

Keep the core site content (home page, nav links to version-specific
content, infrastructure info, mailing lists, etc) as raw HTML checked
into svn as a peer of trunk (e.g. "beehive/core-site".

Continue to use Forrest to build/maintain version-specific content.  A
Forrest site would potentially exist for every branch, including
trunk.  We'd manually edit content in the core site to specify links
to whatever version-specific sites we want to be serve out.

Note this says nothing about how the live site is updated, just how
the source content is version control managed.  I like the idea of
having a copy of the "built" version-specific content checked into
each branch (ie, "beehive/trunk/docs/publish"), and then having the
live server keep a checked out copy of each branch's docs (as well as
the core site).

On 7/21/05, Eddie O'Neil <[EMAIL PROTECTED]> wrote:
> All--
> 
>    Given that we're en route to leaving incubation and doing a Beehive
> 1.0 release, the need to maintain multiple concurrent versions of
> documentation is growing.
> 
>    I'm starting to refactor the trunk/docs/ directory to split the docs
> into two parts:
> 
>    - site docs (committers, mailing lists, release links, etc)
>    - release docs (v1m1, v1, etc)
> 
> Should have the first part of this done today by turning:
> 
>    trunk/docs/forrest/src/documentation/content/xdocs/
> 
> into a directory structured as:
> 
>    trunk/docs/forrest/src/documentation/content/xdocs/
>                                                   index.xml
>                                                   site.xml
>                                                   tabs.xml
>                                                   downloads.xml
>                                                   ...and so on...
>                                                   release/
>                                                        pageflow/
>                                                        controls/
>                                                        system-controls/
>                                                        wsm/
>                                                        index.xml
> 
> where release/ contains the docs for a given Beehive source line in SVN.
> 
>    This is necessary work but isn't sufficient to break the release and
> site docs apart, so we should continue the discussion below if anyone
> has additional input.  The next step would be to move the site
> documentation (index.xml, site.xml, downloads.xml, mailinglists.xml,
> etc) into a site/ directory that is peer to trunk/ for easier versioning
> / updating.
> 
>    Just wanted to let everyone know the work is starting.
> 
>    :)
> 
> Eddie
> 
> 
> 
> 
> Eddie ONeil wrote:
> >   This fork of this discussion is meant to address the issues and
> > requirements around maintaining multiple versions of the Beehive
> > documentation on the website at once.  Today, there isn't an easy way
> > to do this.
> >
> >   The general proposal is at the bottom of this thread which includes
> > Steve's responses.
> >
> > Eddie
> >
> >
> >
> >
> >>>>>More concerns about (2):
> >>>>>------------------------
> >>>>>
> >>>>>Just to make sure I understand proposal (2), let me restate it:
> >>>>>
> >>>>>  We should make a distinction between the release-dependent and 
> >>>>> release-independent docs.
> >>>>>  Release-dependent docs include the majority of topics like the user 
> >>>>> guides, tutorials, etc.
> >>>>>  Release-independent docs include the more static parts of the site, 
> >>>>> like the download page,
> >>>>>  mailing-list page, etc.
> >>>>>  The release-independent docs should be moved up a level to 
> >>>>> beehive/site, where Forrest will
> >>>>>  treat them like a relatively static site template.
> >>>>>
> >>>>>That's my restatement of proposal (2).  If I've misunderstood it, stop 
> >>>>>now, and set me straight.
> >>>>>
> >>>>>If I have restated (2) correctly, I don't think that Forrest can handle 
> >>>>>it.  Even if we can find a way for Forrest to handle and build against 
> >>>>>XML pages in two disparate directories, there are still other problems.
> >>>>>
> >>>>>
> >>>>>
> >>>>
> >>>>Hm.  Guess the question I'd ask here is this -- why is this a problem
> >>>>for Forrest?  We need to move the doc infrastructure to a place where
> >>>>this is possible (note, these are hypothetical release numbers):
> >>>>
> >>>>beehive/
> >>>> branches/
> >>>>   v1/
> >>>>     v1.0/
> >>>>     v1.1/
> >>>>     v1.2/
> >>>>
> >>>>which will result in a website that looks like:
> >>>>
> >>>> beehive/
> >>>>   <core-site>
> >>>>   releases/
> >>>>     v1.0/
> >>>>     v1.1/
> >>>>     v1.2/
> >>>>   nightly/
> >>>>
> >>>>where the v1.0, v1.1, v1.2 docs are generated from the branches/
> >>>>directory and nightly/ comes from trunk/.  Currently, we don't seem to
> >>>>have a clean way to do this because the entire site is re-generated
> >>>
> >>>>from the current release.  So, things like the downloads, mailinglist,
> >>>
> >>>>and other version agnostic content comes from the site generated by
> >>>>the most recent release.  If a committer wants to add a "news" bullet,
> >>>>post v1/m1, they've got to re-generate the site from the branch.
> >>>>
> >>>>Seems that it'd be easier to make a change to the Forrest XML file,
> >>>>rebuild the version-agnostic content and update a single file...
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>>It is just difficult, in principle, to make a division between 
> >>>>>non-versioned parts of a doc set and versioned parts.  For example, take 
> >>>>>the download page.  If we make it a non-versioned part of the doc set, 
> >>>>>really a common, templated element to any doc set, then, how do we 
> >>>>>handle regeneration of an older version of the doc?  Suppose we need to 
> >>>>>regenerate version 1: Do we included the download page, with its 
> >>>>>reference/link to version 2?
> >>>>>
> >>>>>
> >>>>
> >>>>To me the download page isn't something that needs to branch with the
> >>>>source tree -- it would already be versioned in SVN and if we needed
> >>>>an older version of the doc, we'd just sync back to an older SVN
> >>>>version fo the file.
> >>>>
> >>>>Is there any way to assemble documentation generated by multiple
> >>>>Forrest runs?  Seems that if we're ever to support multiple versions
> >>>>of the documentation that we'll need to be able to do this.  If it's
> >>>>possible, we can just go low-tech and checkin the version-agnostic
> >>>>parts of the site and generate the doc for each release and copy it as
> >>>>we do today.
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>>All that said, I don't really have any brilliant ideas right now to deal 
> >>>>>with the pain that is coming our way as the versions of the docs start 
> >>>>>to proliferate.
> >>>>>
> >>>>>Maybe we need a script on the live site server that can run the doc 
> >>>>>targets and post the results?  That way you won't need to run processes 
> >>>>>on two different machines.
> >>>>>
> >>>>>-steveh.
> >>>>>
> >>>>>
> >>>>>-----Original Message-----
> >>>>>From: Eddie ONeil [mailto:[EMAIL PROTECTED]
> >>>>>Sent: Wednesday, June 08, 2005 2:22 PM
> >>>>>To: Beehive Developers
> >>>>>Subject: Re: updating the beehive web site -- a two pronged approach
> >>>>>
> >>>>>
> >>>>>Steve--
> >>>>>
> >>>>> Comments in line.
> >>>>>
> >>>>>Eddie
> >>>>>
> >>>>>On 6/8/05, Steve Hanson <[EMAIL PROTECTED]> wrote:
> >>>>>
> >>>>>
> >>>>>
> >>>>>>Hi all:
> >>>>>>
> >>>>>>Concerns and questions concerning (1):
> >>>>>>
> >>>>>>A system very similar to proposal (1) was in place for the v1-alpha 
> >>>>>>release.
> >>>>>>One complaint about it at the time was that Javadoc-generated HTML 
> >>>>>>pages were being checked in to SVN.  I am not sure how the current 
> >>>>>>proposal (1) avoids this drawback.
> >>>>>>
> >>>>>>
> >>>>>
> >>>>>You're correct -- the Javadoc is checked into SVN, but it's done so in
> >>>>>a location like:
> >>>>>
> >>>>> beehive/
> >>>>>   site/
> >>>>>     publish/
> >>>>>       ...
> >>>>>
> >>>>>which keeps it entirely out of the beehive/trunk directory.  As I
> >>>>>recall, keeping the Javadoc in trunk/ was the issue as we were always
> >>>>>sync-ing updates.
> >>>>>
> >>>>>The difference here is that it's up at the beehive/site/... level
> >>>>>which devs don't usually need to sync.
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>>One question: Are we going to be checking in different doc sets for 
> >>>>>>each released version of Beehive, so that the tree would look 
> >>>>>>(something) like?:
> >>>>>>
> >>>>>>beehive
> >>>>>> site
> >>>>>>   archives
> >>>>>>     v1
> >>>>>>     v2
> >>>>>>   current
> >>>>>>     v3
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>
> >>>>>In the long run, yes.  This would make it *significantly* easier to
> >>>>>keep the alpha, beta, m1, etc docs on the site and allow them to be
> >>>>>updateable independently.
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>>Concerns about (2):
> >>>>>>
> >>>>>>This proposal sounds like it would break Forrest.  Forrest is looking 
> >>>>>>for one directory that contains the XML source files: I doubt it can 
> >>>>>>handle a disparate set of directories.  Runnng Forrest mulitple times 
> >>>>>>and slapping the genered HTML together afterwards won't work either, 
> >>>>>>because Forrest needs to do link checking and build a single TOC.
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>
> >>>>>Actually, I don't think it breaks Forrest if to generate the entire
> >>>>>doc-kit, Forrest runs multiple times.  For example, to update the
> >>>>>documentation for a nightly, we'd do something like this:
> >>>>>
> >>>>>- build a nightly distribution from trunk/
> >>>>>- copy the documentation from trunk/build/dist/... up to
> >>>>>site/publish/docs/nightly/...
> >>>>>- svn commit the site/publish/docs/nightly directory
> >>>>>- svn checkout on the live-site to refresh the web site
> >>>>>
> >>>>>Make sense?  If I'm nuts, let me know.  Just trying to lower the bar
> >>>>>for updating the site and for allowing us to keep multiple copies of
> >>>>>the doc on the site at once.
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>>Craig R. McClanahan: I know that you have talked about these very 
> >>>>>>issues in Struts...do you have any insights here?
> >>>>>>
> >>>>>>-steve h.
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>-----Original Message-----
> >>>>>>From: Eddie ONeil [mailto:[EMAIL PROTECTED]
> >>>>>>Sent: Tuesday, June 07, 2005 8:05 PM
> >>>>>>To: Beehive Developers
> >>>>>>Subject: updating the beehive web site -- a two pronged approach
> >>>>>>
> >>>>>>
> >>>>>>All--
> >>>>>>
> >>>>>> After having worked on the Beehive website some in the last couple
> >>>>>>of days, I've got a couple of suggestions for how we can make this
> >>>>>>process significantly easier.  The approach has two parts...  The
> >>>>>>first is the most (immediately) important.
> >>>>>>
> >>>>>>1) check the generated website into beehive/site in a read-only part
> >>>>>>of SVN.  This would allow committers to generate the website, check it
> >>>>>>into SVN, and then check it out on the server.  This process avoids
> >>>>>>the generation and "scp" of a .zip file to the server and then the
> >>>>>>"ssh" to crack the .zip file.  To update the site, just run "svn
> >>>>>>update" on the live site.  This also makes it easier to roll back
> >>>>>>after a failed change.
> >>>>>>
> >>>>>>2) the next step would be to decouple the release-independent content
> >>>>>>of the site from the release-dependent documentation.  This would move
> >>>>>>things like the links to the mailinglists, downloads page, news page,
> >>>>>>etc out of trunk/ and up a level so that it's versioned independently
> >>>>>>of the versions of Beehive.  This is checked into something like:
> >>>>>>
> >>>>>>beehive/
> >>>>>> site/
> >>>>>>   author/ -- location for the content in the tree
> >>>>>>   publish/ -- location of the generated site
> >>>>>>
> >>>>>>Then, the release documentation can be generated, copied up to
> >>>>>>publish/, checked into the tree, and "svn update"ed on the live site.
> >>>>>>
> >>>>>>Step (1) is something we can do now and would make updating the site
> >>>>>>quite easy.  Step (2) is something we can do longer term but would
> >>>>>>decouple the release documentation from the more static website.
> >>>>>>
> >>>>>> Thoughts?
> >>>>>>
> >>>>>>Eddie
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>
> >>>>
> >>>>
> >>>
> >
> 
>

Reply via email to