Views: 5306
Number of votes: 1
Average rating:

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

Helen Hopkinson
(By Helen Hopkinson, 9/21/2010 12:32:28 PM)

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
(By erik.engstrand, 9/21/2010 12:32:28 PM)

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
(By Per Hemmingson, 9/21/2010 12:32:28 PM)

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.

johan
(By johan, 9/21/2010 12:32:28 PM)

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
(By erik.engstrand, 9/21/2010 12:32:28 PM)

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
(By andrea.filyo, 9/21/2010 12:32:28 PM)

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/

Please login to comment.