what's new in silverstripe 4? (stripecon apac 2016)

24
What’s new in SilverStripe 4? Assets, Campaigns, React, Namespaces, Release timelines 9th of Nov 2016 • Ingo Schommer

Upload: ingo-schommer

Post on 19-Feb-2017

190 views

Category:

Internet


1 download

TRANSCRIPT

What’s new in SilverStripe 4?Assets, Campaigns, React, Namespaces, Release timelines

9th of Nov 2016 • Ingo Schommer

● Modernise how content is published

● Set foundations for great authoring interfaces

● Better PHP ecosystem citizen (less monolithic)

SilverStripe 4 Goals

SilverStripe 4 Highlights

Updated look and feel (complete)Clutter free page editing, lighter default style, more guidance for CMS devs (SilverStripe 4 style guide)

Filesystem Abstraction (complete)Flexible asset hosting and publication flow

Namespaces (complete)Better interoperability with the PHP ecosystem

Redesigned files area (ongoing)Gallery view, drag and drop

Campaigns and Versioned (ongoing)Publish a page alongside its assets, publish a collection of pages

Improved UI technologies (ongoing)Enabling developers to make the interface more meaningful to CMS users, with Bootstrap and React

● Major update = we can break APIsBut: We have to upgrade a lot of projects as well ;)

● Detailed instructions committed alongside dev workdocs.silverstripe.org/en/4.0/changelogs/4.0.0

● Rewrites your codebase for many changesgithub.com/silverstripe/silverstripe-upgrader

● Asset Abstraction with automated migration task

● IE10+ and PHP 5.5+ (PHP 7 supported)

Upgrade Considerations

Updated Content Editor● TinyMCE 4 … finally● Lighter default theme● Less clutter by default● More responsive and faster

Campaigns

Simultaneously publish and manage grouped and related content. Set permissions and schedule releases. Easily manage your site, whether it’s a big release or just a few text updates.

CampaignsPublish related items alongside pages

● Requires knowledge of data model relationships

● Concept of “ownership” between models

● Based on existing Versioned functionality in SS3

● Versioned opt-in, but encouraged for all models

Campaigns

Redesigned Files AreaCompletely new, built from the ground up

Asset Abstraction: Goals

● Change the root path for asset storage

● More flexible backends

● Version and publish files

● Model files freely

● Support for cloud storage (e.g. AWS S3)

● Sysadmins on multi-server envs will love this

● No more cross-server filesystem sync!

Asset Abstraction: Operations

● Use new filesystem APIs instead of direct access

● Folder structure concept only modeled in database

● Automatic migration task for existing assets

● Requires codebase to describe relationships (ownership)

Meetup presentation: https://vimeo.com/118548773

Asset Abstraction: Developers

Improved Technologies for CMS UI

● ReactJS powered UIs for Files and Campaigns

● Bootstrapify all the things

● New UIs work well in small screens

● Discussing GraphQL as a “Content API”

Improved Technologies for CMS UI

● Bring structured data to CMS interface frontend (APIs)

● More CMS innovation by modern frontend approaches

● Foster contributions by using existing tools knowledge

Improved Technologies for CMS UI

Form Schema

● Define form structure in PHP, present via ReactJS

● Compromise to keep getCMSFields()

● Each form field has a "type" and "component"

● Form field "types" are implementation independent

(use in your own frontend apps)

Form Schema

Namespaces

● Internal housekeeping (follow standards)

● Improved interoperatibility with PHP libs

● Full support for namespacing your own code

● Potential dev workflow improvements (PSR-2)

➡ silverstripe.org/software/roadmap

When?

4.0.0-alpha1 May 2016

4.0.0-alpha2 September 2016

4.0.0-alpha3 November 2016

4.0.0-alpha4 December 2016

4.0.0-beta1 Early 2017

4.0.0-stable Second quarter 2017

● Modules should start upgrading now (4.0.0-alpha3)

● Projects should wait until 4.0.0-beta1

When to start upgrading?

Where does this leave SilverStripe 3?

Beyond SilverStripe 4

Focus on key modules in 2017:

● Content blocks

● Personalisation

● A/B testing

Thank you!Twitter: @chillu

Email: [email protected]

9th of Nov 2016 • Ingo Schommer