Website Development

Making updates to the Apache OpenOffice project's websites is simple. It's even easy
for non-committers (new contributors - like you) to create a patch to request that
pages are updated by the project community.

The project website, primarily for development and technical information (which you're viewing now).
All content for this website uses Markdown syntax (.mdtext files).

The user portal, www.openoffice.org, primarily for end user information and support.
Content for the user portal primarily uses html, but some content is in
Markdown syntax (.mdtext files).

Both of these sites use the Apache Content Management System (CMS) to manage editing, submitting changes, and updating the live websites.
In essence, regardless of how you make changes to either web area, the changes first go
the staging sites for these areas, respectively (below), and then are copied to the production websites.

You can make changes to either site using svn (subversion). This typically involves
doing an svn checkout, making changes to files and --

committing your changes
if you are an "Apache committer", or

submitting a "patch" (an svn "diff" file) if you are a contributor but not a "committer".

Consult your local svn implementation for how to do commits or create patches. (See also, the SVN Book ).

Patches, svn "diff" files can be submitted in a variety of ways:

File an issue using OpenOffice Bugzilla and select the "www"
category to file it. You should then use your saved patch as an attachment to the
issue. Please send a follow-up e-mail to dev and provide the
issue number so we can follow-up.

Quick editing of the site is available for committers and contributors using the Apache CMS
from your browser. If you are a committer and use the bookmarklet in your web browser, you should use
your Apache credentials to log in, make changes and submit them to staging.
If you are not a committer, you can still use the bookmarklet by signing in to the bookmarklet as anonymous.
See detailed how-to steps in the Apache CMS Reference for non-committers.

As previously noted, changes you make, either through an svn commit or using the CMS GUI tool,
are enacted on the staging sites. Once you review your changes on the staging site,
you can "publish" the site -- enacting our changes on the production site. Only Apache "committers" can actually publish sites.

You can use the CMS GUI tool to also commit, review, and publish your changes from the
staging site.

Or, you can use the "publish" link for a site from the CMS Web Site
after reviewing it in staging from a "commit" operations.

Or, you can use the command line, publish.pl "site-name". For our purposes,
"site-name" will either be "openofficeorg" or "ooo-site".

Generally speaking, unless you have established a full Complete Local Website Development environment as described in the next
section, you will likely be running publish.pl from your "people.apache.org" account.

If you are not a committer, you will need
to follow the procedures for "contributors" in the
Developer FAQ
for getting your changes published by a committer of the project, after you submit a patch.

Complete Local Website Development (for technical users and committers)¶

The following information provides instructions on doing website development for either of the OpenOffice websites
on your local computer. If you feel a need to change anything on the websites that effect site processing by the CMS -- e.g. the templates, processing for new file types not included in /lib/path.pm, additional Django template capabilities, etc. -- you will need to setup a local website development area for testing changes.

These instructions assume you have setup a webserver in your local environment. Details are
provided on setting up the resources needed to process "Markdown" on your local server
and how to publish to the production Apache OpenOffice sites from your local environment.

Setup - How to download the AOO project site repos and setup the Apache CMS.

You will have three sub-directories in your local website directory -- site, ooo-site, and cms.
The "cms" directory will contain scripts needed to build either of the websites using the ASF CMS in a local environment. This is
necessary to see how changes to templates or other ASF CMS internal files will affect the website. See:
http://www.apache.org/dev/cms.html for more information on the
ASF CMS directory structure.

The site/content/openofficeorg and ooo-site/content/ directories contain web content - markdown, html, javascript, css, images and other files. Files that do not fit recognized patterns from site/lib/path.pm or ooo-site/lib/path.pm are copied as is to the web site during the build.

cms/build/ - perl scripts for building the site and markdown extensions.

cms/conversion-utilities/ - scripts used by various projects for conversion including cwiki conversion.

cms/webgui/ - the webgui behind the bookmarklet.

These can be extended locally. Before any changes become part of our process they will need to be cleared with Apache Infrastructure. We'll need to submit patches. These should be additive or be bug fixes.

This area should be updated, via svn update, as changes do take place on these routines.

Please note that if you have removed any files or directories from your source tree then you must also remove
these from the staging build. The staging for the project site is
https://svn.apache.org/repos/infra/websites/staging/openofficeorg. Check the staging builf out,
svn remove and commit the same files and directories.

Apache and the Apache feather logos are trademarks of The Apache Software Foundation.
OpenOffice.org and the seagull logo are registered trademarks of The Apache Software Foundation.
Other names appearing on the site may be trademarks of their respective owners.