Guide to Silverstripe CMS: Beginning Project structure

The word “project” is used to refer to the overall site (what is referred to when running composer create-project, and is also used to refer to the back-end/code side of the Project (the project-directory). I’ll use the capitalized version of “Project” to refer to the former, and lower-case version “project” to refer to the later. There are two general parts to a Project. The theme and the project. The theme is everything that is involved with rendering the UI of the site, while the project is the code and configuration that supports the site - it does the back-end work.

Guide to Silverstripe CMS: Introduction

When setting up a personal art / photographic website (, I searched and tried out a huge number of web tools and CMS platforms. In the end I decided to work with Silverstripe CMS. For me it had a good balance between having the features and third-party support I wanted, without having so much hidden away and so much complexity that I couldn’t see how anything worked. Items that were important for me

Guide to Silverstripe CMS: Reference to key files within Silverstripe CMS

see: /home/ken/Documents/silverstripe_vendor_folders.ods Path Description app/ app/_config app/_config/assets.yml app/_config/theme.yml app/_config/mimevalidator.yml app/_config/mysite.yml app/_config/email.yml app/_config.php app/src app/src/Page.php app/src/PageController.php app/templates app/templates/Layout app/templates/Includes app/.htaccess public/ web-root public/index.

Guide to Silverstripe CMS: Reference to vendor folders with notes on those that contain modules

note: use $ grip to live preview .md in a browser tab. see: /home/ken/Documents/silverstripe_vendor_folders.ods Modules in Silverstripe are considered folders that contain either a _config.php file or a _config folder, along with a composer.json file. The composer.json file normally contains a Type property, shown below in the tables. Libraries Path (all that contain composer.json) Type (* indicates assumed) Description (taken from composer.json) IsModule Notes /vendor/doctrine/instantiator library A small, lightweight utility to instantiate objects in PHP without invoking their constructors /vendor/doctrine/lexer library PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.

Guide to Silverstripe CMS: Setting up a local server and installing Silverstripe CMS

The server Setting up a local server that matches as closely as possible the hosting server can help reduce the amount of deployment issues that have to be solved. In my case my host uses Ubuntu, MySQL, Apache2, and PHP, along with the mpm-itk module for apache2 (see and notes below). In addition, PHP modules are requirements of SilverStripe. So starting with a fresh Ubuntu (because that is what my web-host runs) installation: