| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" |
| "http://forrest.apache.org/dtd/document-v20.dtd"> |
| <document> |
| <header> |
| <title>How to Publish Forrest Documentation</title> |
| <abstract> |
| This documents the steps to update the Forrest Website. |
| </abstract> |
| </header> |
| <body> |
| <section id="About"> |
| <title>Introduction</title> |
| <p> |
| All documentation about Apache Forrest is managed as a Forrest-built |
| project located in the site-author directory of forrest/trunk SVN. The |
| Apache Forrest website is updated by generating static pages from the |
| site-author-project and committing them to the forrest/site SVN, which |
| is then 'svn checkout' on the forrest.apache.org webserver to create the |
| website. |
| </p> |
| <p> |
| See other notes for the Documentation Coordination |
| <a href="site:tasks">tasks</a>. |
| </p> |
| </section> |
| <section id="forrestbot-local"> |
| <title>Updating the site with a local forrestbot</title> |
| <p> |
| Generating and publishing the main docs is very easy using a local |
| forrestbot: |
| </p> |
| <source>cd site-author |
| forrest -f publish.xml build |
| forrest -f publish.xml deploy</source> |
| <p> |
| Note: if your system username is not the same as your "svn username" |
| then provide a "deploy.svn.settings" file as explained at |
| <code>$FORREST_HOME/etc/publishing_our_site.txt</code> |
| </p> |
| <p> |
| This builds the documentation locally then deploys it by committing it |
| to the |
| <a href="http://svn.apache.org/repos/asf/forrest/site">forrest/site |
| SVN</a>. |
| The svnpubsub system automatically kicks in to do the final publish step. |
| </p> |
| <p> |
| See more detailed <a href="site:forrestbot-svn">explanation</a> of this |
| procedure. |
| </p> |
| <p> |
| Publishing documentation for a particular plugin is done by: |
| </p> |
| <source>cd plugins/myPluginName |
| $FORREST_HOME/tools/ant/bin/ant deploy-docs</source> |
| <p> |
| See further information in the |
| <a href="site:buildPlugin">buildPlugin</a> doc. |
| </p> |
| <p> |
| See some general notes about managing |
| <a href="http://www.apache.org/dev/project-site.html">project |
| websites</a>. |
| </p> |
| </section> |
| <fixme author="open"> |
| This is work in progress. |
| </fixme> |
| <section id="OrgDoc"> |
| <title>Other docs</title> |
| <p> |
| There have been a few explantions of our docs processing on the |
| forrest-dev mail list. Need to glean the info from them. Here is the |
| content of some: |
| </p> |
| <source> |
| <![CDATA[ |
| To publish from trunk/site-author/ |
| |
| # Make changes to sources, and then test, then commit. |
| |
| # Please, please, ensure valid xml docs. Errors will be |
| # reported during the 'build' phase if you don't. |
| # Also it prevents other people from working with the docs, |
| # which goes against the collaborative development process. |
| |
| # You can do 'forrest validate-xdocs" beforehand or use |
| # a validating editor (link: catalog.html) or for a single doc use |
| # xmllint (link: catalog.html) from the command-line, e.g. |
| # xmllint --noout --valid --catalogs faq.xml |
| |
| # Use the forrestbot to build and then deploy to svn.apache.org ... |
| |
| cd site-author |
| forrest -f publish.xml build |
| # ... verify files in build/forrest-docs |
| forrest -f publish.xml deploy -Ddeploy.svn.commit-message="my commit message" |
| |
| Now the files are in SVN at forrest/site |
| Periodically the real website files are updated from there. |
| You do not have to do anything else. |
| |
| ---------------------- |
| Note: The first time that you deploy, it will need to do |
| a long svn checkout first. |
| ]]> |
| </source> |
| <p> |
| Some more notes that need to be integrated above ... |
| </p> |
| <p> |
| Note that forrestbot does not remove docs from the forrest/site SVN |
| (FOR-392). So need to manually delete: |
| '<code>svn delete https://svn.apache.org/repos/asf/forrest/site/.../oldDoc</code>' |
| and then remove it from the forrestbot work directories: 'cd |
| $FORREST_HOME/site-author; rm build/forrest-docs/oldDoc; rm |
| work/svn-deploy/forrest-docs/oldDoc'. |
| </p> |
| <p> |
| The generated docs are in build/forrest-docs which is the name given to |
| it in the forrestbot descriptor (site-author/publish.xml). Here is a |
| trick for reviewing changes that forrestbot is ready to deploy ... |
| </p> |
| <source> |
| forrest -f publish.xml build |
| svn update work/svn-deploy/forrest-docs |
| diff -rq work/svn-deploy/forrest-docs build/forrest-docs | grep -v "\.svn" | grep differ</source> |
| <p> |
| If you change something that affects all pages (e.g. layout changes; navigation |
| menu additions or MOTD changes that affect old "versioned docs") |
| then see the note in conf/cli.xconf about temporarily not excluding |
| old "docs_*" patterns. |
| </p> |
| <p> |
| If there have been changes to tools/forrestbar then need to follow the |
| instructions there to build it. Then copy its build/forrestbar.xpi to |
| site-author/content/xdocs/tools/forrestbar.xpi and commit that. Then run |
| forrestbot to build and deploy the site, or alternatively for a quick |
| fix, just commit it to forest/site/tools (which is what forrestbot would do). |
| </p> |
| </section> |
| </body> |
| </document> |