Grzegorz Wiecheć
Nov 5, 2018
visibility 13405
star star star star star
(14 votes)

Improved image property

In Episerver 11.12.0 we have improved the image property. The property content selector now offers the same functionality as the Media Component that you have in the assets pane.

 

Uploading images

One often requested CMS feature is the possibility to upload new images without having to close dialog. This functionality is now available in the new property. Editors can upload images using an "Upload files" button or drop the images directly from their computer.

Content actions

The media selector has much more useful features comparing to the standard content tree widget, which can be used when selecting an image. Editors can change the folder structure, download and edit images, etc. All functionalities of the media component are available.

Using new image property

To show the image property in edit view the "Image" UIHint should be used.

public class ProductPage: PageData
{
        [UIHint(UIHint.Image)]
        public virtual ContentReference PageImage { get; set; }
}

This is the same key that was used for the old image property which means that new property will replace the old one without any code changes.

Support for other media types

The new property can be also used to select other media types, for example, videos. To add a new video property, the "Video" UIHint can be used:

public class ProductPage : PageData
{
        [UIHint(UIHint.Video)]
        public virtual ContentReference Video { get; set; }
}

Displaying media types that don't have an explicit UIHint is controlled by the AllowedTypes attribute. For example, if the site has PDF files and they should be selected in ContentReference property, the code should look like this:

public class ProductPage : PageData
{
        [UIHint(UIHint.MediaFile)]
        [AllowedTypes(typeof(PdfData))]
        public virtual ContentReference Video { get; set; }
}
Nov 05, 2018

Comments

Nov 5, 2018 04:27 PM

Good work, I've just removed the addtions to make this work before and upgraded. All working for me :-)

Henrik Fransas
Henrik Fransas Nov 6, 2018 07:39 AM

Great news and great work as always!

Thanks!

Nov 6, 2018 07:44 AM

Oooh nice!

Peter Gustafsson
Peter Gustafsson Nov 7, 2018 12:51 PM

Excellent stuff!

A very welcome feature.

-- This comment has been filtered by Sarcasm-detector-bot-v3.2

Henrik Fransas
Henrik Fransas Dec 7, 2018 08:15 AM

This is so great and one of the first time I have heard editors pretty much scream out "YES!!"

Muhammad Kashif
Muhammad Kashif Jul 21, 2019 10:30 PM

Hi Grzegorz -  it looks really cool but having an issue to specfiy custom 'Roots' for images folders . In previous Content selection editor we were specifying the custom root folder by overriding Roots property of EditorDescriptor but now it no longer seems to work - I've tried by overriding both  ImageReferenceEditorDescriptor and ContentReferenceEditorDescriptor and it always ignores 'Roots'. Could this be please looked at?

error Please login to comment.
Latest blogs
Composition Over Inheritance: Why Your Content Contract Is Not a Base Class

Inside the structural conformance pattern in SaaS CMS — from server-side inheritance to pipeline governance. A contract in Optimizely SaaS CMS is...

Vipin Banka | Sep 19, 2026

Optimizely Opti ID Integration: Why the API Key Was Missing from the DXP Management Portal

While working on an Optimizely CMS 12 Opti ID integration recently, we ran into an issue that initially appeared to be related to SSO authenticatio...

Madhu | Sep 18, 2026 |

Extending a Contract: What You Can Override

Contracts share fields across content types — but not every field setting can be overridden. Push the same contract onto several components, and CM...

Chirag Khanna | Sep 18, 2026 |

Building a Blazor Server UI Inside the Optimizely CMS 13 Admin Shell

What I learned shipping a Blazor Server UI inside Optimizely CMS 13 — Razor components in a NuGet package, the Blazor hub next to MapContent(),...

Stanisław Szołkowski | Sep 17, 2026 |