Making Changes
The OODT website is driven using the Jekyll blogging framework. You can find Jekyll installation instructions here.
To start the Jekyll hosted website checkout the OODT source code from https://git-wip-us
Info | ||
---|---|---|
| ||
Out of date as we use Apache CMS, kept for posterity. |
The Apache OODT website is populated onto minotaur.apache.org:/www/oodt.apache.org by an "svn checkout" from the Apache Subversion repository at https://svn.apache.org/repos/asf/oodt. To populate that directory, we feed our Maven artifacts and some static HTML documentation into some Python code. That code then generates files that can then be checked into https://svn.apache.org/repos/asf/oodt/site.
Pre-flight Check List
To do all this, you'll need:
- Python >=2.4, <3
- Maven >=2.2, <3
- Java >=1.5
- Subversion >=1.6
- Internet connection
- ~ 70MiB free disk space
Publish the Site
To publish the site, just follow these steps:
- Make a play area:
mkdir oodt-site
- Go there:
cd oodt-site
- Grab the buildout bootstrapper:
curl -LO 'http://downloads.buildout.org/2
/bootstrap.py'
- Check out the static HTML docs:
svn co
https://svn.apache.org/repos/asf/oodt/docs/site
static
- Make and commit any last-minute changes to the docs in
static
- Check out the OODT source code (replace
trunk
with a tag as appropriate):svn co
https://svn.apache.org/repos/asf/oodt/trunk
oodt
- Build the Maven site artifacts:
cd oodt; mvn site; cd ..
- NOTE if this part fails for you on any OODT dependencies, it's likely that you haven't installed all of them yet; so a pre-requisite to this step would be to run mvn install from the cd oodt; directory. - Check out the
oodtsite.publisher
:svn co
https://svn.apache.org/repos/asf/oodt/tools/oodtsite.publisher/trunk
oodtsite.publisher
- Check out the final destination of the site:
svn co
https://svn.apache.org/repos/asf/oodt/site
- Create
buildout.cfg
from the contents listed under "The Buildout Configuration" below. - Bootstrap the buildout:
python bootstrap.py
- Build it out:
bin/buildout
- Make sure the publisher works:
bin/test
- Publish:
bin/oodtsitepublish --base=
http://oodt.apache.org
--target=site static oodt
- Commit:
cd site; svn add *; svn ci
NOTE if there are still files in svn status after committing the site updates, e.g, if you run svn status and see
? /path/to/file
? /path/to/other/file
Then run this command to add them: for file in $( svn status | awk '{print $2}'); do svn add $file; done
Now you can tell someone with permissions on minotaur.apache.org to "svn checkout" or "svn update" in the /www/oodt.apache.org
from the repository https://svn.apache.org/repos/asf/oodt/site.
Snow Leopard Users
The Python 2.6 on Snow Leopard (Mac OS X 10.6.4) fails. Instead, build your own Python by svn-checking out http://svn.plone.org/svn/collective/buildout/python.
Post-Publication Steps
After the site is published, do the following:
- Add 2 jiggers gin to a metal cocktail shaker
- Add a dash of dry vermouth
- Add a bunch of ice chunks
- Fit a pint glass snugly into the metal shaker and shake until well chilled
- Remove pint glass and affix spring-loaded strainer
- Strain contents into a chilled cocktail glass
- Garnish with an olive or lemon peel for a martini, or use a pearl onion for a gibson
Repeat the above once (for elegance), twice (if lush), or until unconscious (if addicted---then seek help).
The Buildout Configuration
The following should go into the buildout.cfg
file in your play area:
...
borderStyle | dashed |
---|---|
title | buildout.cfg |
...
.git and then switch to the site-dev branch. This is the branch that contains all of the website source files and some configuration options that Jenkins understands. In this directory run:
jekyll serve
Assuming it starts correctly you can then find the OODT website hosted on http://localhost:4000 . Jekyll will rebuild the website for every change you make and stores them in the _site directory, ensure that directory isn't committed to the git repo as its a working directory.
Publishing the changes
To publish the changes first we need to build the website:
jekyll build
This will put the site into the _site directory. Then you need to move all the contents of the _site directory into the asf-site branch in the git repository. Currently its easiest just to copy the files elsewhere then checkout asf-site and move all the files back into the git working tree. Once this is done git add all, commit and push it back to the ASF git repository. After a few minutes the changes should then be reflected on http://oodt.apache.org