Talk to us today

Sri Lanka
  • 40/2/21, Chakkindarama Rd,
    Ratmalana,
    10390,
    Sri Lanka
Connect
Close

Five great things about SilverStripe

Five great things about SilverStripe

SilverStripe is an Open Source CMS / Framework written in PHP. It is a MVC framework, and it is all object orientated code. Also there is a nice community behind SilverStripe, and there are active resources like the IRC, the forums etc. This post is not about how good SilverStripe as a software, but why it is so great to adopt to make your website, and what are the things you can use out of the box. 

SiteTree

SilverStripe office editing pages in a tree view, which is called the SiteTree. This represents a the site map of your website in a tree, where you can expand contract branches of it. And it comes with the TinyMCE editor where you do many things, like formatting texts, adding tables, paragraphs, lists, images, other types of medias like videos etc. 

SiteTree

If your site has a lot of pages, a tree wont be the best way to manage pages. Because it can be very slow to open it up as the CMS have to read lots of pages to generate the tree, or it can be very hard to use it to find a specific page, or to go through the branches. To solve this SilverStripe has another view to search, and edit pages in the CMS which is a grid. With the grid you can search for pages, and narrow it down to find your specific page, and also can order the pages by the title or any other field. 

SilverStripe does allow you to define your own page types, and the fields you want to have within them. If you want to have two editors one to edit the summary and another to edit the content of the page like the picture above. Also with these page types it allows you to have different functionalities. To have various forms, different sorts of information etc. 

Files & Media Admin 

SilverStripe ships with a powerful admin to manage files and assets, also if you are a programmer there are plenty of functions in the API to update Images, like to crop them, resize them, etc. And you have your freedom to update these as you want them to be. Like the Cloudinary asset manager we wrote in a previous blog post. 

The files admin also have a tree view to manage the file tree, and a grid view if there are many files. The uploading files is very modern in SilverStripe. It supports ajax uploading, and have handle multiple uploads. And there are some modules by the community which gives extended features on the files and media admin.

Model Admin 

Model admin is one of the coolest features in SilverStripe. If you have any ruby on rails experiences you surely have heard of the form scaffolding, SilverStripe have form scaffolding in-built too. This means you dont have to code your forms all the time to manage models. Model admin offers you a GUI to perform CRUD (Create, Remove, Update, Delete ) operation over models. Also it is intelligent to make calendar drop downs to select dates, dropdowns to select options from enumerators, grids to make relationships to other models, etc. 

Model admin gives you a rich search mechanism. It draws a search from and it allows you to search your records. This is all out of the box functionality in SilverStripe

Forms & Validations 

SilverStripe does have a great API to build forms. There are many form field types it ships with, and these forms fields does have validations enabled, also supports HTML 5 validations. Take a look at how our contact field validates. Some of the types of fields SilverStripe ships with are the TextField, TextareaField, DropdownField, OptionSetField, FieldField, and CheckboxField. There are other form fields which extends these, which you can use for specific reasons. The EmailField is a form field type which can be used to collect an email address, NumericField is a field which is used to collect a numeric value etc. 

These fields can be put together to form up a form. The form fields itself provides client side validations as well as server side validations. And if you are looking for complex types of validations you can write by extending the validator APIs in SilverStripe. 

Also one great module SilverStripe has is the User Defined Forms module, which is a module where you can create your forms within the CMS.

Permissions 

Permissions are one of the most amazing things you get with SilverStripe. It has a nice API to provide permissions for different pages, sections in the CMS, and if you are a programmer there is a whole bunch of classes you can use to restrict access to various parts of the website / web application. In SilverStripe there is a core model called Member which handles all the logins for user of the CMS. Members can be grouped in to security groups, groups are logical objects which can contain many members. A member can stay in one group or can be in many groups. 

Either a group can have permissions granted or a member can have permissions granted to them. If your web application is something where there are 100s of members you will have different access levels you would make groups and add them in to their groups.  

There are many more amazing things on SilverStripe which you can use to build web applications on top of. And some of the resources to learn SilverStripe is the documentation, and many other getting started materials here.