erik.engstrand@precio.se
May 12, 2009
visibility 7064
star star star star star
(1 votes)

ImageVault and EPiServer page provider does not work together

I have an an EPiServer CMS 5 R2 installation with ImageVault 3.3.0.541 installed. Yesterday I tried to add a custom page provider to the project. I used the XML page provider found here: http://world.episerver.com/en/Articles/Items/Introducing-Page-Providers/#download

You will get the error:

image

EPiServer.BaseLibrary.ClassFactoryException: ClassFactory not initialized

and

[TypeInitializationException: The type initializer for 'EPiServer.DataFactory' threw an exception.]

EPiServer made some changes to the startup events of the application in R1 SP3. ImageVault does not implement the startup in this new way. If you look deeper in the stack trace you will see:

[Exception: Error initializing CreatedPageEvent in PluginStartup] ImageStoreNET.PluginStartup.get_CreatedPageEvent() +126

ImageVault hookes up the CreatedPageEvent to early and therefore the DataFactory.Instance isn’t instantiated.

Get the web site running

The problem is with the handler <add name="ImageVault" type="ImageStoreNET.PluginStartup, ImageVault.EPiServer5" />. Just comment this line and the application will start. I don't' know what this handler does but probably ImageVault will come up with a solution soon.

May 12, 2009

Comments

Helen Hopkinson
Helen Hopkinson Sep 21, 2010 10:32 AM

Please note that ImageVault 3.3 is not officially supported for EPiServer CMS 5 R2 SP1 according to the version matrix on http://world.episerver.com/en/Download/Categories/Version-Relations/EPiServer-CMS-5-Relations/.

erik.engstrand@precio.se
erik.engstrand@precio.se Sep 21, 2010 10:32 AM

Strange... ImageVault 3.2.2 is supported for EPiServer CMS 5 R2 SP1 according to your matrix. Then should also 3.3 be supported?

Per Hemmingson
Per Hemmingson Sep 21, 2010 10:32 AM

Great Post!
Yes according to the matrix it should. We'll have to look into it.

However, we (episerver world) had similar problems with the introduced change in startup events in the CMS, but with EPiServer Community's handler. This is a different problem but the temporary solution to it might work; Since community is not depended on CMS we moved the Community registration before CMS initialization handler in web.config. I'm not familiar with what imageVaults handler does but its worth a try.

Sep 21, 2010 10:32 AM

Hi!

We will look into this and make an updated version available as soon as possible.
Please note that there might be some side effects to the suggested workaround since it will prevent ImageVault from hooking on to certain events that is required for mirroring, keeping track of used images and so on.

/Johan Magnusson, Product Manager, Meridium

erik.engstrand@precio.se
erik.engstrand@precio.se Sep 21, 2010 10:32 AM

The workaround ph mentioned does not work in this case. I Think it's because ImageVault is dependent of CMS in the startup.

Andrea Filyo
Andrea Filyo Sep 21, 2010 10:32 AM

Just a comment on the version matrix referred to and the supported version of ImageVault. The version matrix refers to the EPiServer Create+ package with all the included modules, and so far the latest version of Create+ is 1.1 (for EPiServer CMS 5 R2 SP1), supporting ImageVault 3.2.2. The next upgrade of Create+ will include ImageVault 3.3, but this version has not yet been officially released.

You can find the version matrix here: http://world.episerver.com/en/Download/Categories/Version-Relations/EPiServer-CMS-5-Relations/

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