CollectionSpace's source code is managed via the open source Git version control system, in publicly-accessible repositories on the cloud-based GitHub application.
CollectionSpace's source code repositories are accessible via:
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 process for gaining commit access. 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'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.)
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:
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.
There is a degree of integration between the project's source code repository and its issue tracking 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:
To post details of a repository commit to two JIRA issues, Issue CSPACE-15 and Issue CSPACE-21:
To post details of a repository commit that doesn't involve a JIRA issue:
CollectionSpace is licensed under the Educational Community License (ECL), Version 2.0, an open source license. For details, see Licensing.
Javadoc Documentation for the Source Code
Javadoc documentation is currently available for the Services Layer source code at http://nightly.collectionspace.org/apidocs/services