------------------------------------------------------------------------------------ NOTE A project has started in 2020 to migrate the website off the (now deprecated) Apache CMS. See "2020 conversion notes" further down in this file for more info ------------------------------------------------------------------------------------ How to maintain the www.apache.org website ------------------------------------------ Note that some external data is used in these pages, https://whimsy.apache.org/public/committee-info.json for example provides info about committee, Board members etc. Checking out the source: ------------------------ $ svn co http://svn.apache.org/repos/asf/infrastructure/site/trunk site Modifying the website: ---------------------- See the instructions at: http://www.apache.org/dev/infra-site.html To modify the website, all you need to do is edit the files in the content/ directory, commit your changes, and visit https://cms.apache.org/www/publish The format of the files is Markdown. Changing the look and feel of the entire website is easy. Just modify the templates in the templates/ directory. If you would like to add links to the left side navigation, simply edit the templates/blocks/projects.mdtext file. Place your images in the content/images directory. When the staging site at http://www.staging.apache.org/ has rendered your changes, check that the expected files have been updated. Once you are happy that the correct files have been changed, visit https://cms.apache.org/www/publish to make them live. The live site can then be updated as described in http://www.apache.org/dev/infra-site.html Note ---- The content/dist project sub-directories are maintained by individual PMCs, and are thus excluded from the infrastructure/site/trunk SVN tree. Questions: ---------- If you have any questions, please subscribe to the mailing list described in the STATUS document. FAQ --- See Also: http://www.apache.org/dev/cmsref.html The code that implements the CMS is at: https://svn.apache.org/repos/infra/websites/cms/ The staging buildbot logs are here: https://ci.apache.org/builders/www-site-staging The job is defined here: https://svn.apache.org/repos/infra/infrastructure/buildbot/aegis/buildmaster/master1/projects/infra.conf The entry uses the method cms_staging_build which is defined in https://svn.apache.org/repos/infra/infrastructure/buildbot/aegis/buildmaster/master1/projects/cms.conf The build command uses: perl /usr/local/cms/build/build_svn.pl --source-base=/home/cmsslave/slave15/www-site-staging/build/trunk --target-base=/usr/local/websites/www/trunk There is an hourly production buildbot that builds index.html and dev/index.html The hourly production buildbot logs are here: https://ci.apache.org/builders/www-site-production The job is defined here: https://svn.apache.org/repos/infra/infrastructure/buildbot/aegis/buildmaster/master1/projects/infra.conf The build command uses: perl /usr/local/cms/build/build_file.pl --source-base=/home/cmsslave/slave15/www-site-production/build/trunk --target-base=/usr/local/websites/production/www content/index.html content/dev/index.html ------------------------------------------------------------------------------------ 2020 conversion notes ------------------------------------------------------------------------------------ The site makes extensive use of several features of the CMS system: - generation of the various feeds on the main page: announce, planet, blog, conferences, twitter - dev/index has dynamic twitter, blog and JIRA feeds - dev/sitemap.html generation of the contents - foundation/index.html - generation of board and officer names - foundation/board/index.html - list of board member names - dev/machines.html - reads external data - licenses/exports/index.html - product classification matrix - travel/stories/* # Website support code In https://svn.apache.org/repos/asf/infrastructure/site/trunk/lib - path.pm: this shows which pages have special processing - view.pm: this includes some of the processing needed. Most of the work is done by the ASF::Value packages under https://svn.apache.org/repos/infra/websites/cms/build/lib # Whimsy Whimsy needs access to at least: - asf/infrastructure/site/trunk/content/foundation/records/minutes/ for publishing and analysing minutes. Needs commit access. - asf/infrastructure/site/trunk/content/foundation/board/calendar.mdtext as above; needs commit access - asf/infrastructure/site/trunk/content/foundation/members.txt for maintaining/listing members. Needs commit access.