About the Authors | |
About the Translator | |
Foreword | |
Preface | |
Introduction | |
Why SilverStripe? | |
History | |
Future | |
Conclusion | |
Installation | |
System Requirements | |
Preparation | |
Installation | |
Useful Software | |
Database Management | |
Support | |
Conclusion | |
Architecture | |
Introduction | |
MVC - Model View Controller | |
ORM - Object Relational Mapping | |
Directory Structure | |
Modules and Widgets | |
Themes | |
Configuration | |
Conclusion | |
First Steps | |
Our Project: Job Portal and User Group | |
Creating the Page Structure | |
Inserting Page Content | |
Managing Files and Images | |
Versioning | |
Comments | |
Simple Contact Form | |
Creating New Users | |
Themes | |
Conclusion | |
Development: Job Postings | |
Job Categories as a Page Type | |
Job as a DataObject | |
Relations Between DataObjects | |
Creating the Interface | |
Creating Templates | |
Custom Forms | |
Email Notification | |
Integrating the Blog Module | |
Search Engine Optimization | |
Conclusion | |
CRM | |
Where are we Headed? | |
Datamodel | |
Using ModelAdmin for Data Management | |
Multi-page Registration Form | |
Skills as Tags | |
File Uploads for References | |
Searching DataObjects | |
Generic Views Using CollectionController | |
Defining Access Permissions | |
Web Services Using RESTfulServer | |
RSS Feeds for Jobs | |
Conclusion | |
Security | |
Cross-site Scripting (XSS) | |
Cross-site Request Forgery (CSRF) | |
SQL Injection | |
Directory Traversal | |
Sessions | |
Conclusion | |
Maintenance | |
Environment Types | |
Configuration of Multiple Environments | |
Version Control using Subversion | |
Backup | |
Upgrade | |
Error Handling | |
Performance | |
Conclusion | |
Testing | |
Test-driven Development | |
Installing PHPUnit | |
Running Tests | |
Unit Tests for the Model | |
Functional Tests for the Controllers | |
Conclusion | |
Localization | |
Character Sets and Unicode | |
Translating Templates and Code | |
Translatable: Translating Database Content | |
Conclusion | |
Recipes | |
Prerequisites | |
Customizable Page Banner | |
Branding the CMS Interfaces | |
Full-text Search for Websites | |
Redirecting from Legacy URLs | |
Simple Statistics using TableListField | |
Showing Related Pages | |
CSV Import using CSVBulkLoader | |
A Fully Flash-based Website Driven by SilverStripe | |
Conclusion | |
Extending | |
Different Ways to Extend SilverStripe | |
Extending Core Functions | |
Creating Custom Modules | |
Creating Custom Widgets | |
Conclusion | |
Useful Modules | |
E-commerce | |
Forum | |
Gallery | |
Flickr Service | |
Youtube Gallery | |
Spam Protection: Mollom and Recaptcha | |
Auth_External | |
Auth_OpenID | |
Subsites | |
CMS Workflow | |
Site-tree Importer | |
Geospatial Modules | |
Conclusion | |
Index | |
Table of Contents provided by Publisher. All Rights Reserved. |
The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.
The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.