This document contains information for an outdated version and may not be maintained any more. If some of your projects still use this version, consider upgrading as soon as possible.


This section provides an overview on how things fit together, the "conceptual glue" between APIs and features. It is where most documentation should live, and is the natural "second step" after finishing the tutorials.

  • Access Control and Page Security: Restricting access and setting up permissions on your website
  • Command line Usage: Calling controllers via the command line interface using sake
  • Configuring your website: How to configure the _config.php file
  • Controller: The intermediate layer between your templates and the data model
  • Data Types: Types that properties on DataObject can have (e.g. Text or Date)
  • Datamodel: How we use an "Object-relational model" to expose database information in a useful way
  • Debugging: Tracking down errors via logs, URL parameters and profiling
  • Directory Structure: What are core files, where do modules and my own project files go?
  • Emails: Configuring and sending emails
  • Environment management: Sharing configuration details (e.g. database login, passwords) with multiple websites via a _ss_environment.php file
  • Error Handling: Error messages and filesystem logs
  • Extending the CMS: Introduction to changing the default CMS editor
  • Files and Images: File and Image management in the database and how to manipulate images
  • Form Validation: Built-in validation on form fields, and how to extend it
  • Forms: Create your own form, add fields and create your own form template using the existing Form class
  • Internationalization (i18n): Displaying templates and PHP code in different languages using i18n
  • Javascript: Best practices for developing with JavaScript in SilverStripe
  • Module Development: Creating a module (also known as "extension" or "plugin") to contain reusable functionality
  • Modules: Introduction, how to download and install a module (e.g. with blog or forum functionality)
  • Page Types: What is a "page type" and how do you create one?
  • Search: Searching for properties in the database as well as other documents
  • Security: How to develop secure SilverStripe applications with good code examples
  • Templates: SilverStripe template syntax: Variables, loops, includes and much more
  • Testing: Functional and Unit Testing with PHPUnit and SilverStripe's testing framework
  • Developing Themes: Package templates, images and CSS to a reusable theme
  • Translation: Creating content in multiple languages
  • Widgets: Small feature blocks which can be placed on a page by the CMS editor, also outlines how to create and add widgets


If you have a topic you would like covered in these section please ask for it on our [Bug Tracker]

Was this article helpful?