Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

As bookkeeper is a subproject of zookeeper, we use Apache Bookkeeper uses the Apache cms CMS system also used by zookeeper to generate our website and documentation.

To get CMS and the zookeeper bookkeeper source, run the following:

Code Block

$ svn co https://svn.apache.org/repos/asf/zookeeperbookkeeper/site/trunk zookeeperbookkeeper-site
$ svn co https://svn.apache.org/repos/infra/websites/cms cms

Generate the documentation with:

Code Block

$ cms/build/build_site.pl --source-base zookeeperbookkeeper-site/ --target-base output

There are three locations for bookkeeper documentation within the zookeeper-site tree.

...

You can view the generates site by running the python SimpleHTTPServer and navigating to http://localhost:8000/.

Code Block
/tmp/output$ python -m SimpleHTTPServer
Serving HTTP on 0.0.0.0 port 8000 ...
...
...

Making modifications

Modifications to the site doesn't require a JIRA, though modifications to the source tree (i.e. docs/trunk) doesif it is a large modification you should create one. When you make a modification to the bookkeeper site and submit it through subversion, they will not be automatically built. First you need trigger a build. To do this, commit a change to https://svn.apache.org/repos/asf/zookeeper/site/trunk/build_triggerImage Removed. This triggers a svn trigger which triggers the cms system.

The cms system will put the modifications in staging; http://zookeeperbookkeeper.staging.apache.orgImage Removed.See http://www.apache.org/dev/cms.htmlImage Removed for details on how .

You'll need the CMS bookmarklet to publish the staged site. See the CMS documentation for details.

Generating documentation for release

When making a release, you need to generate the version's documentation and then copy it into zookeeperbookkeeper-site/content/bookkeeper/docs. To do this:

  1. Check out the git release tag for the release.

    Code Block
    bookkeeper$ git checkout release-4.3.0
  2. Copy the documentation directory

    from the release tag

    to

    zookeeper

    bookkeeper-site/content/

    bookkeeper/

    docs.

    Code Block
    $bookkeeper$ cp -r bookkeeper-svn/tags/release-4.1.0/doc/ zookkeeperdoc/ ../bookkeeper-site/content/bookkeeper/docs/r4.13.0

    Add to subversion.

  3. Generate the javadoc for the release

    . In bookkeeper-svn/tags/release-4.1.0/ run mvn javadoc:aggregate. This will create bookkeeper-svn/tags/release-4.1.0/

    and copy it to the site.

    Code Block
    bookkeeper$ mvn javadoc:aggregate
    ...
    ...
    bookkeeper$ cp -r target/site/apidocs
    . Copy this to zookeeper
     ../bookkeeper-site/content
    /bookkeeper
    /docs/r4.
    1
    3.0
    and add it
  4. Add the new release docs directory to subversion.
  5. Modify zookeeperbookkeeper-site/content/bookkeeper/docs/r4.13.0/index.textile to point to the javadoc and release notes. See zookeeperbookkeeper-site/content/bookkeeper/docs/r4.0.0/index.textile for an example of how to do this.
  6. Modify bookkeeper-site/templates/skeleton.html and and a link for the release documentation.

    Code Block
    languagediff
                 <li class="dropdown">
                   <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Documentation<span class="caret"></span></a>
                   <ul class="dropdown-menu" role="menu">
                     <li><a href="/docs/trunk">Trunk</a></li>
    +                <li><a href="/docs/r4.3.0">Release 4.3.0</a></li>
                     <li><a href="/docs/r4.2.3">Release 4.2.3</a></li>
  7. Add the release to zookeeperbookkeeper-site/content/bookkeeper/releases.textile.
  8. Go through the staging/publish sequence from above. Obviously the version numbers will change to for each release.