Two weeks ago, the European SilverStripe community got together for their fourth StripeCon. Following on from the previous locations (Linz in 2014, London in 2015, Ljubljana in 2016), they decided to up the game and hold it on a mediterranean island: Malta. About 40 attendees from eight countries got together for two days to talk shop. The attendees were mostly freelancers and small agencies. A few represented agencies with 20+ employees focusing their business around building SilverStripe websites - it’s great to see the community doing well!
I was pretty impressed with what kind of systems people are building with SilverStripe, for example a (legal) streaming video recommendation site, highly SEO optimised gaming news with 25,000+ articles, digital asset management integrations that auto-center images around detected faces (through Cloudinary), or frontend editors for single-page websites and business apps. It was also interesting to hear what services people found useful in a SilverStripe context. A small selection: Zapier for data processing and transactional services, Auth0 for login, Firebase as a persistence layer for realtime and mobile apps, and Algolia for search-as-a-service.
Of course, SilverStripe 4 was a major topic both in talks and the coffee breaks. A few of us might’ve been so immersed in discussions around versioning that we forgot to look at the sunset during the amazing boat trip to Malta’s “blue lagoon”. Overall, the feedback about SilverStripe 4 was positive. Many attendees mentioned module compatibility as the main blocker to planning an upgrade. We’re happy to report that over 160 modules are already compatible with the upcoming release, and are planning to work on a composer upgrade helper to auto-detect compatible module releases for your project.
My personal favourite was an extended open panel about content blocks. Three panel participants (Mr. Zauberfisch, Andy Adiwidjaja and myself) presented different solutions to managing content, from the baseline GridField approach of many blocks modules (incl. elemental), over tailored frontend editing, to layout builders with serialised DataObject storage. Since practically every attendee had this challenge before, the panel was more of a group brainstorming session. The consensus was that “with great power comes great responsibility”, and it can often be counter productive to give authors full control over how to assemble blocks into a layout. But at the same time, blocks are more than just flat lists managed in a GridField, and need specialised UIs to deal with them efficiently. Check out the video recording of the session once it’s online, and participate in the discussion over at #content-blocks on the SilverStripe Users Slack channel.