CollectionSpace manages its source code with the open-source Subversion (SVN) version control system.
Subversion Repository
The CollectionSpace Subversion repository is accessible via any Subversion client at the following URLs:
https://source.collectionspace.org/collection-space/
or
svn+ssh://source.collectionspace.org/collection-space/
The source.collectionspace.org hostname alias will always point to whatever the current location of the repository may be. It can be used in build scripts, configuration files, and other places where a repository address may be hard-coded, as it will not "break" if the IP address/hostname of the repository might change in the future.
Please note that you will need to accept a self-signed server certificate to access the repository via either of the methods listed above.
The repository manages source code for all three layers of the CollectionSpace system: Services, Application and User Interface.
Javadocs for the Source Code
Javadoc documentation is currently available for the Services Layer source code at https://source.collectionspace.org/apidocs/.
Access to the Repository
Consistent with the public status of work on the CollectionSpace project, the entire repository is open for read-only, anonymous access. Any changes to that status will be posted here.
Commits (writes) to the repository require a user name and password. User accounts can be requested by writing to the Service Team Mailing List.
Instructions (for the Project Team) on adding user accounts for committers can be found in Adding Subversion User Accounts for Committers, below.
JIRA Integration
There is a degree of integration between the project's source code repository and its issue tracking system. For instance, any comments made to the Subversion 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:
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 repository, 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.
Adding Subversion User Accounts for Committers
If you're authorized to add a "committer" to the project, then follow these instructions:
You'll first need to login, via 'ssh', to the source.collectionspace.org server and have 'sudo' privileges. Next, run the following command to create a new username and password for the new "committer":
Two settings relevant to the project Subversion repository:
Repository Location
/var/svn/repos
DAV Settings
/etc/httpd/conf.d
AuthUserFile "/var/svn/repos/svn-auth-file"
Licensing
ECL 2.0
CollectionSpace is licensed under the ECL 2.0.
License Text for Inclusion in CollectionSpace Source Code Files
The text below is a template to be customized to designate the year and copyright owner and to be included at the beginning of each source code file. There is also a LICENSE file in the directory tree. The copyright notice embedded in the file itself can be different than the copyright notice in the LICENSE file, in which case the copyright notice in the LICENSE file applies to the "collective work" and the embedded copyright notice applies to the contents of the file itself.
.... start of license text to be embedded in a source code file ....
Copyright YYYY COPYRIGHT OWNER
Licensed under the Educational Community License (ECL), Version 2.0. You may not use this file except in compliance with this License.
You may obtain a copy of the ECL 2.0 License at https://source.collectionspace.org/collection-space/LICENSE.txt
.... end of license text ....
There is a template for a comment block, referencing this license text, that you can include in your source code files.
Contributor Agreements
In order to legally publish source code in the CollectionSpace repository, the Museum of the Moving Image needs permission from the creators of the code and from the organizations for which they work. The following agreements are provided for this purpose:
- The Individual Contributor License Agreement (CLA) - to be signed by each code creator
- The Corporate Contributor License Agreement (CCLA) - to be signed by an appropriate person in the organization
Signed agreements should be mailed or faxed to the Museum.