Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

 

SilverStripe 4.0: Changes to Files

With SilverStripe 4.0 expected to be released this year, we thought it would be a good time to talk about some of the new features it will contain.

Read post

With SilverStripe 4.0 expected to be released this year, we thought it would be a good time to talk about some of the new features it will contain.

Keep in mind that the features we talk about today may not be exactly the same as those in a stable release. SilverStripe 4.0 isn't yet alpha, so the API may still change substantially. In general, the features should still remain the same though.

Almost a year ago, the first SilverStripe RFC was proposed. It outlined a new approach to asset management, and a new set of APIs with which to do so. The basic idea was that asset management can sometimes be complicated. Gone are the days when you could just move an uploaded file to a public directory, for the world to see. Applications are far more complex these days. They often span multiple nodes and data centres. They often separate CPU processing from the filesystem altogether. They are often sensitive, requiring authenticated access.

Abstract Persistence Layer

Yet I'm pleased to say that the new asset management system is designed to take these things into account. A new database field,  DBFile , has been introduced, which abstracts the details of file storage and retrieval. This abstraction is contained within an Asset Persistence Layer.

This persistence layer can be configured to upload files directly to places like Amazon S3. It gracefully handles conflicting file names. It generates derived files, such as thumbnails and combined JavaScript/CSS files. It even serves to replace direct file URL references with short-codes, in HTML text fields.

Versioned and Secure

In addition to these new features, files will now be versioned. That means you will be able to upload new versions of files without changes going live immediately. You'll be able to delay the release of files, and revert to older versions of files. You'll never lose another upload, thanks to this versioning! We're also bringing in the functionality of the Secure Files module. Files will be secure by default, with the option to open them up to the world.

New Files UI

We're also greatly improving the way you work with files, in the CMS. We've studied a few approaches, and decided ReactJS holds the most promise for this part of the CMS. We're even working towards incorporating features from popular modules like KickAssets, to bring the best the community has to offer into the core of SilverStripe.

improvements to files 1
We're keen to share more about this aspect of 4.0, but it deserves a post of its own. Are you as excited, about SilverStripe 4.0, as we are? Tell us what you think of these changes in the comments.

If you want to be the first to know about SilverStripe 4.0 updates, sign up for our weekly blog digest below!

Photo by Olga Berrios.

About the author
Christopher Pitt

Chris works in the open source team, at SilverStripe. He helps build and maintain many of the modules used in SilverStripe applications. He also teaches; speaking at local user groups and international conferences, and through technical blog posts and books.

He also enjoys building robots and connecting those to circuits inside Minecraft. When the machines take over, he hopes this will buy him some time to formulate a plan of escape.

Post your comment

Comments

  • It is really good to have versioned files so they don't have to go live immediately and can be secure.

    Posted by Christine Whittaker, 19/04/2016 9:48am (5 months ago)

  • The overhaul of the asset management is good news! One of the most requested features of our clients is a reliable "file/image used on NN pages" number. I know that this function can't get perfect for some reasons, but maybe better than the existing one … :)

    Posted by Jan, 23/01/2016 2:59am (8 months ago)

  • This is fantastic news. Despite how much I love SilverStripe, I think asset management within the CMS is probably my biggest gripe and so this can't come soon enough!

    Posted by Andy, 18/01/2016 3:32pm (8 months ago)

RSS feed for comments on this page | RSS feed for all comments

Like what you have read?

Sign up for our weekly blog digest sent to your inbox.

Subscribe