Welcome to SilverStripe's Open Source Bug and Feature Tracker, Roadmap, and code browser

Viewing and adding SilverStripe bugs and feature requests ("tickets")

Documentation

You can find documentation covering installation of SilverStripe to use of the Sapphire framework here.

Downloading source code for open source modules

SilverStripe sites are created by combining the CMS, third-party javascript and Sapphire framework modules along with any other modules that your site might need. The open source modules are available on our Subversion (SVN) version control system.

Once you have installed the Subversion client, or an alternative Subversion client like TortoiseSVN or the Subclipse plugin for the Eclipse platform, you can check out these modules from our version control system.

Use:

svn ls http://svn.silverstripe.com/open/modules

to view the directories containing modules you can check out of the repository using the command line SVN client.

Use:

svn checkout http://svn.silverstripe.com/open/modules/<module name>/trunk <module name>

to check out the current development branch of the module, replacing <module name> as appropriate.

Submitting patches

If you have created a patch to fix a bug in one the modules - thank you so much! :D To submit the patch, register and attach the patch to the appropriate ticket. Please include in the comment the revision number that the patch is applicable for and a brief outline of what you fixed and how. Only use the provided link to submit patches, as it prefills information about owner and ticket-type:

Submit a patch (requires trac-account)

Ingo Schommer, one of our senior developers, is responsible for reviewing the patches and deciding if they will make it into core. If there are any problems he will assign the ticket back to you, so make sure you have an email address loaded into Trac so that it will notify you!

Seeing active (unmerged) patches

The Trac report Patches will let you see where all the patches are at.

Submission guidelines

  • Check your patches against a svn-checkout of the current trunk. Please not that the latest stable release will often not be sufficient! (of all modules)
  • If your patch is extensive, discuss it first on the [silverstripe forum (optimally before doing any serious coding)
  • Adhere to our coding conventions
  • It's better to submit multiple patches with separate bits of functionality than a big patch containing lots of changes
  • Submit your patch in diff -u or diff -c format
  • If your patch involves new files, create a compressed archive for them (including any required directory-structures)
  • Describe specifics on how to test the effects of the patch
  • Create patches relative to the working copy (sapphire/main.php instead of /Users/myuser/sapphire/main.php)
  • Your patch should include documentation changes. Check doc.silverstripe.com for any references to functionality deprecated or extended through your patch. Please don't alter the documentation before your patch is integrated.
  • Remember the shortcomings of svn diff: Please document moved files and created/deleted directories separately

How do i create a patch?

  • Through the svn diff-command on the command-line. More info in the svn redbook
    # in a working copy folder (e.g /myproject)
    svn diff sapphire/ > ~/patch.diff
    
  • Your code-editor might have a GUI for creating patches. (e.g. Subclipse provides "Team->Create Patch")