Infrastructure

The openlayers.org website is hosted on  OSGeo infrastructure. The Apache config for the OpenLayers website is location on openlayers.org in /etc/apache2/sites-available/openlayers. This config describes a few virtual hosts:

  • m.openlayers.org - redirects to listing of mobile examples (http://openlayers.org/dev/examples/?q=mobile)
  • docs.openlayers.org (root /osgeo/openlayers/sites/docs.openlayers.org) - sphinx docs
  • dev.openlayers.org (root /osgeo/openlayers/sites/dev.openlayers.org) - hosted releases, old sandboxes, nightly build
  • openlayers.org (root /osgeo/openlayers/sites/openlayers.org) - main website

Updating the Website & Examples

Periodically, the  update_dev_dir.sh script is run to update the working copy of the  website source, to update the hosted examples with the latest from the trunk, parse metadata from the examples, build an example index, and build a single-file OpenLayers.js.

The frequency of this process is determined by a cron job on the openlayers.org machine. To get details on this job, run the following:

sudo crontab -u openlayers -l

If there are conflicts in the update for some reason, this job may fail. If you clean things up in the target directory or otherwise need to manually run this job, do so as the openlayers user:

sudo -u openlayers /osgeo/openlayers/repos/openlayers/tools/update_dev_dir.sh

Modifying the Website

You can check out the  website sources from the repository, make local modifications, and see what those changes are going to look like on the live site before committing them. To do this, you'll need to modify your Apache config to process the SSI directives in the website markup. In addition, it is convenient to proxy the requests to /api/OpenLayers.js. Below is a sample config section that handles requests to  http://ol-localhost/. For this Apache config to work the following Apache modules should installed and enabled: proxy, proxy_html, and include (e.g. sudo a2enmod include proxy proxy_html).

<VirtualHost *:80>

    DocumentRoot /Users/tschaub/projects/openlayers/website
    ServerName ol-localhost

    <Directory /Users/tschaub/projects/openlayers/website>
        Options Indexes MultiViews Includes
        AllowOverride None
        Order allow,deny
        Allow from all
        AddType text/html .shtml
        AddOutputFilter INCLUDES .shtml
        DirectoryIndex index.shtml
    </Directory>

    ProxyRequests Off
    ProxyPreserveHost Off

    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>

    ProxyPass /api http://openlayers.org/api
    ProxyPassReverse /api http://openlayers.org/api

</VirtualHost>

This assumes you have the website checked out (in some place like /Users/tschaub/projects/openlayers/website) and that you add an ol-localhost entry to your hosts file. Here's an example line from an /etc/hosts file:

127.0.0.1   ol-localhost

With this configuration, you should be able to see what the website will look like by loading  http://ol-localhost/.

Sandbox Access

Anyone who has OpenLayers Sandbox access (which should include all trunk committers) can add someone to have OpenLayers sandbox commit access by visiting:

 https://www.osgeo.org/cgi-bin/auth/ldap_group.py?group=openlayers_sandbox

and typing a name in the bottom of the page.

For OpenLayers trunk, the same prinicple applies:

 https://www.osgeo.org/cgi-bin/auth/ldap_group.py?group=openlayers

These updates should take place immediately.