Per Nergård (MVP)
OMVPSaaS CMS Developer CertificationCommerce Connect 13 Developer Certification +2
Nov 29, 2015
visibility 3961
star star star star star
(1 votes)

Validation of media file attributes

As all of you know media files in EPiServer are IContent which lets us add properties to handle for example meta data. This is great but how do we make the editors fill in those fields...

I guess that it depends a lot of what type of target audience you have as well as what fits the site editors. 

The below could be alternatives to consider:

  • You don't do anything at all
    Obviously not recommended.

  • You add fallbacks in the code so atleast some is used.
    Could be ok, but "real" meta data is better.

  • You make the field required and disable auto publishing of mediafiles.
    I don't like this because it seems a bit to hard on the editors. It should be easy to add a bunch of images without needing to process them all at once.

  • You try to add som other validation before publishing pages or blocks that use media files.
    If you block publishing I guess this is basically as hard on the editors as the previous option but to me it still feels as a better way.

To solve the last option I did a small validation class that checks all ContentReference and ContentArea properties on a page, checks if it's an image and then checks if the Copyright attribute is empty or not (Did this in the Alloy demo site). If youn're using Url properties with a media file UIHint it's easy to add.

You can get the code over at Gist. You can see the result below where I added a image with no Copyright info into the Teaser Image property.

Image ValidateImageFileExample.jpg

Nov 29, 2015

Comments

error Please login to comment.
Latest blogs
Surviving a Dirty Feed. Part 3: Error Handling and Event Batching

Committing a 250,000-row Optimizely catalog import row by row, returning a per-row failure report, and coalescing catalog events into one per batch.

Stanisław Szołkowski | Oct 16, 2026 |

Building UI Extensions for Optimizely SaaS CMS

Introduction Developers have been extending the functionality of Optimizely PaaS CMS for years using addons built in C# and deployed as NuGet...

Mark Stott | Oct 15, 2026

Cheapskate AI Translator: Because Translation Should Not Require a Second Mortgage

There is a particular kind of software project that begins with a detailed architecture document, a product roadmap, and a carefully assembled...

Linh Doan Cuu | Oct 15, 2026

Computed Fields in CMS 13 Content Contracts with Optimizely Graph

Content Contracts in Optimizely CMS 13 allow different content types to share a common structure when querying Optimizely Graph. But what if the...

Mardy | Oct 14, 2026