When adopting any new system, knowing who to copy and who to ask for tips and help makes all the difference. This page is dedicated to that.

Looking at the histories of the lib/ directories of these projects may reveal some useful pieces of code. If you find them, list them here or on the CMS wiki page. The ASF's viewvc installation can be used for that.

Foundation

This is the main site to study and mimic.

Projects

Please help update your project information. List developers if you don't mind being contacted with questions.

Others

Infra maintains a list of projects currently using the CMS. This page lags behinds that list as it's manually updated.

Maven

You can use a mix of cms and svnpubsub publication (Main Maven use it http://maven.apache.org Feel free to have a look at source https://svn.apache.org/repos/asf/maven/site/trunk/.

    - move standard Maven directory `src/site` to `content`, with corresponding m-site-p configuration
    - add `site.output` property, used as `reporting.outputDirectory` value
<project>
  <properties>
    <site.output>${project.build.directory}/site</site.output>
  </properties>

  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-site-plugin</artifactId>
          <configuration>
            <siteDirectory>${basedir}/content</siteDirectory>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>

  <reporting>
    <outputDirectory>${site.output}</outputDirectory>
  </reporting>
</project>

You can commit directly sub sites to your site svn path. For prevent cms to delete sub sites. You must add paths to not delete in a file located in content/resources/extpaths.txt sample Now you can use maven-scm-publish-plugin to publish sub sites Note: this maven plugin will take care of line ending and delete not anymore generated files by Maven

Ant

  • incubator
    • site: http://incubator.apache.org/
    • repo: http://svn.apache.org/repos/asf/incubator/public/trunk/
    • mods:
      • ensure site source and output directories are defined by properties in build.xml
      • test that changing the properties does not break the build, i.e. there are no other dependencies on the source/destination fields
      • fixed up add-on "Clutch" tool to use single definition of input/output folders
      • moved source directory site-author to content, with corresponding edits in build.xml and clutch.py
      • fix up references to site-author in site documentation (mostly complete)

Confluence

Not technically a CMS backed site- just makes use of a periodically run build script. See Dan Kulp's blog entry for supporting details.