2. Core Requirements
• Central administration control panel
– Site, Theme and Module management
• Self serve sign up process
• A range of standard modules and widgets
• Support for custom modules
• Flexible themes with customisable palettes
• SilverStripe
SilverStripe UK Meetup GPMD Ltd www.gpmd.co.uk
3. Architecture
• Loosely coupled
– Admin tasks are scheduled in a queue
• Self contained community sites
– Should be relocatable to outside hosting if
necessary
• Shared code/templates
• Git for provisioning and version control
• Support for multiple servers under single
admin
SilverStripe UK Meetup GPMD Ltd www.gpmd.co.uk
5. Control Panel
• ModelAdmin used as framework
• ModelAdmin saves relationships _before_
onBeforeWrite
– Required addition of beforeSave hook
• Standard Security Admin
SilverStripe UK Meetup GPMD Ltd www.gpmd.co.uk
6. Sites
• Used to create, deploy and manage community
sites
• Sites identified by unique code string
– Combined with .onesuffolk.net to form default
domain name
• When approved, sites are deployed to a server
• Title, Domain Name and Primary Contact Details
can be edited
• Disabling sites will switch them off, not remove
them
SilverStripe UK Meetup GPMD Ltd www.gpmd.co.uk
7. Organisations
• Each organisation can have many sites if
required
• Name, Address and Contact details can be
edited
• Activity is used toin MetaData
SilverStripe UK Meetup GPMD Ltd www.gpmd.co.uk
8. Servers
• Multiple servers are supported
• Hostname
• IP Address
SilverStripe UK Meetup GPMD Ltd www.gpmd.co.uk
9. Lookups
• Tables which are cloned onto community sites
• Category
– IPSV
• Activity
• Postcode
– Parish, Ward, District
– Co-ordinates
SilverStripe UK Meetup GPMD Ltd www.gpmd.co.uk
10. Themes and Palettes
• A theme is a set of templates, css and images
– css is templated
• Each theme can have one or more palettes
– Sets the variables in the css templates
– Theme contains default values
• Together these are compiled into standard
silverstripe themes
– One theme with three palettes produces three
standard themes
• A theme has one or more sites
– Give a site access to that theme's palettes
SilverStripe UK Meetup GPMD Ltd www.gpmd.co.uk
11. Modules
• All community site code is modular
– Including sapphire and cms
• Modules may be required and/or standard
• A module can have one or more versions
– Different sites can be running different versions of
a module
SilverStripe UK Meetup GPMD Ltd www.gpmd.co.uk
12. Jobs
• Most admin operations only modify the admin
database
– Real work is done using a aynchronous jobs
• Jobs extend an abstract job class
– Define a run() method that does the work and returns a
status
• ScheduledJobs extend DataObject
– Produces a queue
• JobManager used to push jobs onto the queue
• JobRunner processes the queue
– Errors are appended to the job
– Serious errors will halt the queue (panic)
SilverStripe UK Meetup GPMD Ltd www.gpmd.co.uk
13. Modules
• Site Configuration
• Blog/News
• Classifieds
• Events Calendar
• RSS Aggregator
• Image Gallery
• Reporting
• User Defined Forms
• Contact Directory
• Spam Protection
SilverStripe UK Meetup GPMD Ltd www.gpmd.co.uk
14. GPMD Ltd
14 City Road
London
ECY1 2AA
020 7183 1071
www.gpmd.co.uk
www.meetup.com/SilverStripeUK/
SilverStripe UK Meetup GPMD Ltd www.gpmd.co.uk