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 Apache OpenOffice project maintains two websites:
The following instructions are obsolete! Both websites have been migrated away from the deprecated Apache CMS!
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.
We use Apache Subversion for version control. You can browse the project repository or browse the user portal repository source files directly in your web browser.
You can make changes to either site using svn (subversion). This typically involves doing an svn checkout, making changes to files and --
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.
Patches can be submitted as attachments to e-mail to the Apache OpenOffice developer list.
Changes committed with SVN commit your changes to the "staging area". These changes will need to be published to become active on the "production" site.
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.
Additional details on the above methods can be found on How to edit the Apache OpenOffice website.
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 your changes on the production site. Only Apache "committers" can actually publish sites.
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.
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.
site and the migrating openoffice.org website.
mkdir aoo-web
cd aoo-web
svn co https://svn.apache.org/repos/asf/openoffice/site/trunk site
svn co https://svn.apache.org/repos/asf/openoffice/ooo-site/trunk ooo-site
svn co https://svn.apache.org/repos/infra/websites/cms/ 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:
https://www.apache.org/dev/cms.html for more information on the
ASF CMS directory structure.
Adapted from the Apache CMS Reference
The easiest way to install the dependencies is to use Python setuptools.
python --version
sudo easy_install Pygments
sudo easy_install ElementTree
sudo easy_install Markdown
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.
The site/templates
and ooo-site/templates
directories contain the html skeletons used during the site build.
skeleton.html
- our current html page template.sidenav.mdtext
- markdown of the side navigation panel.html_page.html
- wrapping for html pages.single_narrative.html
- extends skeleton.html.You may see other template files here as well that are used by Django during the site construction.
The site/lib
and ooo-site/lib
directories contain two perl modules that determine how content files are processed during the site build.
path.pm
- maps file patterns like .mdtext
into the view building routines. We can expand to cover other patterns.view.pm
- a set of python subroutines for converting content into web pages.You can find the CMS build tools in the cms
directory.
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.
Using your favorite editors edit the site content, templates, and lib scripts.
Start the Python Markdown daemon.
export MARKDOWN_SOCKET=`pwd`/markdown.socket PYTHONPATH=`pwd`
python cms/build/markdownd.py
Using the directory names from Download sections above --
cms/build/build_site.pl --source-base site --target-base www
cms/build/build_site.pl --source-base ooo-site --target-base www
This will generate the web content for the project site, "site", or the openoffice site, "ooo-site" to directory "www".
On my Mac:
sudo scp -rp www/content /Library/WebServer/Documents/.
The site is then available with http://localhost/openofficeorg/ or http://localhost/
Do the appropriate combination of svn status, svn add, and svn commits. Commits will cause staging rebuilds. See How to Edit the Apache OpenOffice Website
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.
Use SVN to submit svn "diffs".
For further information see the Apache Source Code Repository page.