# Awesome Silverstripe CMS

> Useful resources for Silverstripe Framework and CMS Silverstripe CMS is an open source PHP framework for building web applications. It is a rapid development MVC framework that serves as a classic fully fledged CMS or as a headless CMS, which can be queried either via GraphQL or a custom API. Following the “Active Record” design pattern, you can easily extend the built-in functionality with a project specific data model.

Contributions welcome, please send a pull request or open an issue to start a discussion.

Outdated items can be found in the archive.

## Contents

- Resources
  - Official Websites
  - Documentation & Tutorials
  - Blogs
  - Video Channels
  - Community
  - Conferences & Meetups
- Very Useful Modules
  - Module Listings
  - General Modules
  - I18N (Internationalisation)
  - Site Search
  - Development Helpers
  - Fancy Form Fields
- Tools
  - Management
  - IDE Plugins
  - Virtualisation

## Resources

### Official Websites

- www.silverstripe.org - Framework and CMS.
- www.silverstripe.com - Silverstripe Ltd., the company behind the CMS.
- www.s2-hub.com - S2Hub - European Silverstripe Association.

### Documentation & Tutorials

- API Docs - Autogenerated API documentation.
- Technical Documentation - For developers. Explains all core concepts.
- Using the CMS - Documentation for end users how to use the core features.
- Silverstripe Lessons - Learn how to build a Silverstripe site step by step with a real-world project.
- Font reference - Built in icon font for backend usage.
- TinyMCE Configuration Examples For SS3 - Configuration examples for the HTMLEditorField.

### Blogs

- Official Silverstripe Blog - News around Silverstripe CMS.
- SilverStrip.es - Useful findings of Silverstripe developers.

### Video Channels

- Official StripeCon YouTube Channel - Talks of various StripeCon conferences.
- Official Silverstripe Vimeo Channel - Various videos from meetups and conferences.

### Community

- Stack Overflow - Silverstripe related questions on Stack Overflow.
- Silverstripe User Slack - Community slack channel for instant help or hanging around with other developers.
  - Invitation to Silverstripe User Slack
- Forum - Official forum for asking questions or discussing.

### Conferences & Meetups

- European Silverstripe Conference - Every year in another country.
- Meetups - A list of Silverstripe related Meetups.

## Very Useful Modules

### Module Listings

- SSMods: Detailed Module Search - Alternative module search.
- Most Used Modules - Shows which modules are downloaded most.
- Silverstripe Recipes on Packagist - Preconfigured sets of modules for different kind of projects.

### General Modules

- Multiuser editing alert - Alerts users in the Silverstripe CMS when multiple people are editing the same page.

### I18N (Internationalisation)

- Fluent - Multi-language translate module for Silverstripe, without having to manage separate site trees.
- Autotranslate - Creates automatic translations of fields using Google Translate API.

### Site Search

- Silverstripe Searchable - Adds more complex site searching using the Silverstripe ORM. With dedicated templates for search results across multiple search objects.
- Searchable DataObjects - Fast and simple MySQL based search. Useful for single language sites.
- Fulltext Search - Full fledged search interface for Solr4 (EOL).
- Fulltext Search Local Solr - Easy to install Solr4 (EOL) instance for local development.
- Solr search - Interface for Solr search, supporting up to the latest Solr (9) version. With submodules for e.g. transitioning from the “Fulltext Search” module, as well as subsite, fluent and others.

### Development Helpers

- Debugbar - Shows debugging statistics in your browser.
- IdeAnnotator - Auto-generates class annotations on dev/build.
- Populate - Populate your database through YAML files.
- Mock DataObjects - Allows DataObjects to self-populate intelligently with fake data.
- Version Truncator - Automatically delete old SiteTree page versions.
- UserSwitcher - Adds a small form both in the frontend and backend to quickly login as any user.
- Masquerade - Allows an Administrator to “login” as another “Member”. This can be useful for debugging and remote support.

### Fancy Form Fields

- Markdown Field - Can replace your HTMLEditorFields (using TinyMCE) so you can utilise Markdown syntax.
- Code Editor Field - Gives you a syntax-highlighted text area field - great for CMS-based YAML or HTML.

## Tools

### Management

- SSPak - Tool for managing bundles of db/assets from Silverstripe environments.
- SSPy - Python version of SSPak, that can handle assets more than 2GB.

### IDE Plugins

- VSCode Silverstripe - Syntax highlighting for Silverstripe template files in VSCode.
- Jetbrains / PHPStorm Silverstripe Template Language Support - Syntax highlighting for Silverstripe template files.
- PHPStorm / Webstorm Live Templates - Shortcuts for adding various Silverstripe specific code snippets.

### Virtualisation

#### Docker

- ddev setup - Howto setup ddev for use with Silverstripe CMS.
- brettt89/silverstripe-web - Apache + PHP Docker image with pre-installed PHP modules for Silverstripe support.
- brettt89/sspak - SSPak Docker image.
- brettt89/silverstripe-solr-cwp - CWP Solr Docker image.

#### Vagrant

There is no official box like Laravel has its homestead box. However, there are a few good boxes out there for Vagrant you could use: - Twisted Bytes - Useful vagrant box with multiple PHP versions, MariaDB or PostgreSQL, mail catcher and much more. - Twisted Bytes Box Templates - Useful templates for different development scenarios using the Twisted Bytes vagrant box. - Laravel Homestead - Prepackaged box for local development. - Scotchbox - Popular LAMP/LEMP stack for local development. - Zauberfisch Vagrant Boxes - Preconfigured Vagrant boxes for SS3 and SS4.

silverstripecms.md Github