Silverstripe - The Complete Guide to CMSDevelopment
Buy Rights Online Buy Rights

Rights Contact Login For More Details

More About This Title Silverstripe - The Complete Guide to CMSDevelopment


This is the Official Guide on the award-winning SilverStripe programming framework, authored by the creators of the open source CMS.

 SilverStripe is a robust and flexible website content management system (CMS) tightly integrated with an application framework.  It is open source and embraces modern system architecture and agile development methodologies. Intermediate developers can implement powerful websites and web-applications quickly and customize them to their individual needs. The award-winning PHP5/MySQL-based system saves not only time and nerves for techies, but also features a straightforward interface which is a joy to use for non-technical content-authors.

 This Guide helps you to:

Get started with SilverStripe: Learn the architecture and usability principles that underpin SilverStripe’s modern approach. Then go through the technical requirements, the installation process, and useful tools for your daily work. Learn the CMS: Practical examples show you how to use the CMS as a content author, and how to manage content, images, documents, and forms without technical knowledge. Administrators learn how to set up permissions and security groups.Develop a custom application: Use MVC and other modern design patterns to create well-structured, object-oriented PHP code and concise template markup. Let the authors walk you through creating an interactive recruitment website as practical example project.Extend through clean code and modules: Understand how SilverStripe is built on modularity and how this empowers you to build plugins and core extensions in an elegant, maintainable fashion.Use SilverStripe professionally: In-depth topics on internationalization, security, unit testing, caching, multi-page forms, and web services APIs ensure that you can build world-class websites.


About the Authors.

About the Translator.

Foreword by Sigurd Magnusson.

Preface by Steven Broschart.

1 Introduction.

1.1 Why SilverStripe?

1.2 History.

1.3 Future.

1.4 Conclusion.

2 Installation.

2.1 System Requirements.

2.2 Preparation.

2.3 Installation.

2.4 Useful Software.

2.5 Database Management.

2.6 Support.

2.7 Conclusion.

3 Architecture.

3.1 Introduction.

3.2 MVC – Model View Controller.

3.3 ORM – Object Relational Mapping.

3.4 Directory Structure.

3.5 Modules and Widgets.

3.6 Themes.

3.7 Configuration.

3.8 Conclusion.

4 First Steps.

4.1 Our Project: Job Portal and User Group.

4.2 Creating the Page Structure.

4.3 Inserting Page Content.

4.4 Managing Files and Images.

4.5 Versioning.


4.7 Simple Contact Form.

4.8 Creating New Users.

4.9 Themes.

4.10 Conclusion.

5 Development: Job Postings.

5.1 Job Categories as a Page Type.

5.2 Job as a DataObject.

5.3 Relations Between DataObjects.

5.4 Creating the Interface.

5.5 Creating Templates.

5.6 Custom Forms.

5.7 Email Notification.

5.8 Integrating the Blog Module.

5.9 Search Engine Optimization.

5.10 Conclusion.

6 CRM.

6.1 Where are we Headed?.

6.2 Datamodel.

6.3 Using ModelAdmin for Data Management.

6.4 Multi-page Registration Form.

6.5 Skills as Tags.

6.6 File Uploads for References.

6.7 Searching DataObjects.

6.8 Generic Views Using CollectionController.

6.9 Defining Access Permissions.

6.10 Web Services Using RESTfulServer.

6.11 RSS Feeds for Jobs.

6.12 Conclusion.

7 Security.

7.1 Cross-site Scripting (XSS).

7.2 Cross-site Request Forgery (CSRF).

7.3 SQL Injection.

7.4 Directory Traversal.

7.5 Sessions.

7.6 Conclusion.

8 Maintenance.

8.1 Environment Types.

8.2 Configuration of Multiple Environments.

8.3 Version Control using Subversion.

8.4 Backup.

8.5 Upgrade.

8.6 Error Handling.

8.7 Performance.

8.8 Conclusion.

9 Testing.

9.1 Test-driven Development.

9.2 Installing PHPUnit.

9.3 Running Tests.

9.4 Unit Tests for the Model.

9.5 Functional Tests for the Controllers.

9.6 Conclusion.

10 Localization.

10.1 Character Sets and Unicode.

10.2 Translating Templates and Code.

10.3 Translatable: Translating Database Content.

10.4 Conclusion.

11 Recipes.

11.1 Prerequisites.

11.2 Customizable Page Banner.

11.3 Branding the CMS Interfaces.

11.4 Full-text Search for Websites.

11.5 Redirecting from Legacy URLs.

11.6 Simple Statistics using TableListField.

11.7 Showing Related Pages.

11.8 CSV Import using CSVBulkLoader.

11.9 A Fully Flash-based Website Driven by SilverStripe.

11.10 Conclusion.

12 Extending.

12.1 Different Ways to Extend SilverStripe.

12.2 Extending Core Functions.

12.3 Creating Custom Modules.

12.4 Creating Custom Widgets.

12.5 Conclusion.

13 Useful Modules.

13.1 E-commerce.

13.2 Forum.

13.3 Gallery.

13.4 Flickr Service.

13.5 Youtube Gallery.

13.6 Spam Protection: Mollom and Recaptcha.

13.7 Auth_External.

13.8 Auth_OpenID.

13.9 Subsites.

13.10 CMS Workflow.

13.11 Site-tree Importer.

13.12 Geospatial Modules.

13.13 Conclusion.