Return-Path: Delivered-To: apmail-incubator-beehive-dev-archive@www.apache.org Received: (qmail 35185 invoked from network); 16 Aug 2005 12:31:46 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 16 Aug 2005 12:31:46 -0000 Received: (qmail 68494 invoked by uid 500); 16 Aug 2005 12:31:46 -0000 Delivered-To: apmail-incubator-beehive-dev-archive@incubator.apache.org Received: (qmail 68300 invoked by uid 500); 16 Aug 2005 12:31:45 -0000 Mailing-List: contact beehive-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Beehive Developers" Delivered-To: mailing list beehive-dev@incubator.apache.org Received: (qmail 68287 invoked by uid 99); 16 Aug 2005 12:31:45 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 16 Aug 2005 05:31:45 -0700 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests=RCVD_BY_IP,SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: domain of ekoneil@gmail.com designates 64.233.184.196 as permitted sender) Received: from [64.233.184.196] (HELO wproxy.gmail.com) (64.233.184.196) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 16 Aug 2005 05:32:04 -0700 Received: by wproxy.gmail.com with SMTP id i1so1461465wra for ; Tue, 16 Aug 2005 05:31:42 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=lKej+YBEVqGhN6TpyVEk9M9BxePbThr3fxOXa3HxBTj1r26JliU/H2KO4HpIShhymZaMz7gMxHa6XOewgP6DJVyOA7HXZ3CGlCoXOvSgB5gngLz/hjZQnXefEoRKI9RXHRma18dAV5DleSIXS2DI1rxswqwISGnG4rVimAAOFmQ= Received: by 10.54.8.51 with SMTP id 51mr4280115wrh; Tue, 16 Aug 2005 05:31:42 -0700 (PDT) Received: by 10.54.48.10 with HTTP; Tue, 16 Aug 2005 05:31:42 -0700 (PDT) Message-ID: Date: Tue, 16 Aug 2005 06:31:42 -0600 From: Eddie ONeil To: Beehive Developers Subject: Re: beehive documentation: maintaining docs from many releases -- was: Re: updating the beehive web site -- a two pronged approach In-Reply-To: Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline References: <4C2F1577F2EF2840A9AE9EC61860C88101DF2DEA@usseex01.amer.bea.com> <42AB6B2B.4080408@apache.org> <42DFE586.9040002@bea.com> X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Ken-- Actually, this is already done. :) Take a look at SVN checkins 227458, which broke the documentation into two separate documentation roots for the site/ and release/, and 230614, which checked a copy of the generated site into docs/forrest/www. The current website at beehive.apache.org is running checked out of docs/forrest/www, and the branches/v1/m1 line has been updated to produce a doc kit that matches this structure. There is a little quirky-ness with doing it this way, mostly related to having duplicated images and dealing with tab names. I think it's worth dealing with that for the time being as it's not easy to keep the release and website content looking similar unless Forrest is used to create them. Lots of projects at Apache are going this way -- checking the website in -- so I'd guess that at some point, they'll have to solve some of the quirks with having two Forrest content roots. =20 The file trunk/docs/how_to_contribute_docs.txt has more information about how this process works. Eddie On 8/16/05, Kenneth Tam wrote: > 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?: >=20 > 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". >=20 > 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. >=20 > 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). >=20 > On 7/21/05, Eddie O'Neil 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 versionin= g > > / 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 r= elease-independent docs. > > >>>>> Release-dependent docs include the majority of topics like the u= ser guides, tutorials, etc. > > >>>>> Release-independent docs include the more static parts of the si= te, like the download page, > > >>>>> mailing-list page, etc. > > >>>>> The release-independent docs should be moved up a level to beehi= ve/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 h= andle it. Even if we can find a way for Forrest to handle and build agains= t 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 probl= em > > >>>>for Forrest? We need to move the doc infrastructure to a place whe= re > > >>>>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/ > > >>>> > > >>>> 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, mailingli= st, > > >>> > > >>>>and other version agnostic content comes from the site generated by > > >>>>the most recent release. If a committer wants to add a "news" bull= et, > > >>>>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 d= ownload 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 regenerati= on 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 t= he > > >>>>source tree -- it would already be versioned in SVN and if we neede= d > > >>>>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 version= s > > >>>>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 t= o deal with the pain that is coming our way as the versions of the docs sta= rt to proliferate. > > >>>>> > > >>>>>Maybe we need a script on the live site server that can run the do= c targets and post the results? That way you won't need to run processes o= n two different machines. > > >>>>> > > >>>>>-steveh. > > >>>>> > > >>>>> > > >>>>>-----Original Message----- > > >>>>>From: Eddie ONeil [mailto:ekoneil@gmail.com] > > >>>>>Sent: Wednesday, June 08, 2005 2:22 PM > > >>>>>To: Beehive Developers > > >>>>>Subject: Re: updating the beehive web site -- a two pronged approa= ch > > >>>>> > > >>>>> > > >>>>>Steve-- > > >>>>> > > >>>>> Comments in line. > > >>>>> > > >>>>>Eddie > > >>>>> > > >>>>>On 6/8/05, Steve Hanson wrote: > > >>>>> > > >>>>> > > >>>>> > > >>>>>>Hi all: > > >>>>>> > > >>>>>>Concerns and questions concerning (1): > > >>>>>> > > >>>>>>A system very similar to proposal (1) was in place for the v1-alp= ha release. > > >>>>>>One complaint about it at the time was that Javadoc-generated HTM= L pages were being checked in to SVN. I am not sure how the current propos= al (1) avoids this drawback. > > >>>>>> > > >>>>>> > > >>>>> > > >>>>>You're correct -- the Javadoc is checked into SVN, but it's done s= o 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 alw= ays > > >>>>>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 f= or 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 t= o > > >>>>>keep the alpha, beta, m1, etc docs on the site and allow them to b= e > > >>>>>updateable independently. > > >>>>> > > >>>>> > > >>>>> > > >>>>> > > >>>>>>Concerns about (2): > > >>>>>> > > >>>>>>This proposal sounds like it would break Forrest. Forrest is loo= king for one directory that contains the XML source files: I doubt it can h= andle a disparate set of directories. Runnng Forrest mulitple times and sl= apping the genered HTML together afterwards won't work either, because Forr= est needs to do link checking and build a single TOC. > > >>>>>> > > >>>>>> > > >>>>>> > > >>>>> > > >>>>>Actually, I don't think it breaks Forrest if to generate the entir= e > > >>>>>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 b= ar > > >>>>>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:ekoneil@gmail.com] > > >>>>>>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 coup= le > > >>>>>>of days, I've got a couple of suggestions for how we can make thi= s > > >>>>>>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 p= art > > >>>>>>of SVN. This would allow committers to generate the website, che= ck it > > >>>>>>into SVN, and then check it out on the server. This process avoi= ds > > >>>>>>the generation and "scp" of a .zip file to the server and then th= e > > >>>>>>"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 con= tent > > >>>>>>of the site from the release-dependent documentation. This would= move > > >>>>>>things like the links to the mailinglists, downloads page, news p= age, > > >>>>>>etc out of trunk/ and up a level so that it's versioned independe= ntly > > >>>>>>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 s= ite. > > >>>>>> > > >>>>>>Step (1) is something we can do now and would make updating the s= ite > > >>>>>>quite easy. Step (2) is something we can do longer term but woul= d > > >>>>>>decouple the release documentation from the more static website. > > >>>>>> > > >>>>>> Thoughts? > > >>>>>> > > >>>>>>Eddie > > >>>>>> > > >>>>>> > > >>>>>> > > >>>> > > >>>> > > >>>> > > >>> > > > > > > > >