Source Code Repository

 

 

CollectionSpace's source code is managed via the open source Git version control system, in publicly-accessible repositories on the cloud-based GitHub application.

Prior to version 2.1, CollectionSpace's source code was managed via the Subversion (SVN) version control system, on a former, project-maintained SVN repository at source.collectionspace.org. Currently, the project's current code is maintained in GitHub, as noted above.

CollectionSpace Repositories

CollectionSpace's source code repositories are accessible via:

https://github.com/collectionspace/

There are repositories for all three layers of the CollectionSpace system:

There are also repositories for:

  • Tools: auxiliary tools and scripts.
  • Webapps: Django-based framework for developing web-based applications that connect to CollectionSpace systems.
  • Puppet: Puppet modules for installing and configuring CollectionSpace systems.
  • Docker: Experiments (so far) with using Docker containers to provide the components of CollectionSpace systems.

Access to the Repositories

Consistent with the public status of work on the CollectionSpace project, all of the repositories are open for read-only, anonymous access.

Commits (writes) to the repositories require following a /wiki/spaces/collectionspace/pages/666275713. When committing source code, please note the project's conventions for tagging commit comments with JIRA issue numbers.

Browsing Source Code Online

There are at least two web-based interfaces available for viewing CollectionSpace's source code online:

GitHub

GitHub's website offers an extensive set of tools for browsing source code, exploring and tracking changes, and more.

To get started, simply visit any of the project's repository pages linked above and start navigating through the source code directories. (To find a file by matching any part of its name, try the GitHub File Finder.)

FishEye Instance

The CollectionSpace project also provides an instance of Atlassian FishEye, a web-based interface for exploring and tracking changes within the project's source code repositories, at:

http://fisheye.collectionspace.org

As noted by Jesse Martinez:

Fisheye [is ...] a tool for viewing committed code, keeping track of code changes, viewing code diffs, creating custom RSS feeds from committed code, viewing charts of repository activity, searching, and browsing all within a tidy web interface. Additionally, it integrates nicely within JIRA [...] when tacking on JIRA issue numbers to commit comments.

JIRA Integration

There is a degree of integration between the project's source code repository and its /wiki/spaces/collectionspace/pages/666274563 system. For instance, any commits made to a repository whose comments begin with JIRA issue numbers will automatically be posted to the relevant JIRA issue(s). Examples:

To post details of a repository commit to JIRA Issue CSPACE-15:

CSPACE-15: Commit comment goes here ...

To post details of a repository commit to two JIRA issues, Issue CSPACE-15 and Issue CSPACE-21:

CSPACE-15,CSPACE-21: Commit comment goes here ...

To post details of a repository commit that doesn't involve a JIRA issue:

NOJIRA: Commit comment goes here ...

Licensing

CollectionSpace is licensed under the Educational Community License (ECL), Version 2.0, an open source license. For details, see /wiki/spaces/collectionspace/pages/666275129.

Javadoc Documentation for the Source Code

Javadoc documentation is currently available for the Services Layer source code at http://nightly.collectionspace.org/apidocs/services

See Also

How to check out CollectionSpace's source code