Five New Optimizely Certifications are Here! Validate your expertise and advance your career with our latest certification exams. Click here to find out more

Deploy site when pages contains dynamic content

Vote:
 

I'm getting this error when deploying a CMS 6 R2 site containing a lot of dynamic content to an production enviroment. (Content is created in a development enviroment)

"The input is not a valid Base-64 string as it contains a non-base 64 character, more than two padding characters, or a non-white space character among the padding characters."

If i remove all existing dynamic contents at the production enviroment, and recreate them on the pages, everything works...

The production server is a Windows 2008 R2

 

 

#60240
Jul 27, 2012 13:01
Vote:
 
[FormatException: The input is not a valid Base-64 string as it contains a non-base 64 character, more than two padding characters, or a non-white space character among the padding characters. ]
   System.Convert.FromBase64String(String s) +0
   EPiServer.DynamicContent.DynamicContentBase.set_State(String value) +261
   EPiServer.DynamicContent.DynamicContentFactory.CreateDynamicContent(String name, String state, String hash, Boolean validateHash) +61
   EPiServer.Core.Html.StringParsing.DynamicContentFragment..ctor(IDynamicContentFactory factory, ISecuredFragmentMarkupGenerator securedFragmentMarkupGenerator, String dynamicClass, String state, String hash, Boolean evaluateHash) +79
   EPiServer.Core.Html.StringParsing.FragmentParser.ExtractDynamicContentFromElement(HtmlFragmentData fragmentData, ElementFragment element) +480
   EPiServer.Core.Html.StringParsing.FragmentParser.ParseElement(HtmlFragmentData fragmentData, ElementFragment element) +143
   EPiServer.Core.Html.StringParsing.FragmentParser.ProcessFragments(HtmlFragmentData fragmentData, Boolean returnOnEndElement) +273
   EPiServer.Core.Html.StringParsing.FragmentParser.Parse(String html, FragmentParserMode parserMode, Boolean evaluateHash) +256
   EPiServer.SpecializedProperties.PropertyXhtmlString.SetInternalStateNoCheck(String value, SetStateAction action, FragmentParserMode parserMode) +40
   EPiServer.SpecializedProperties.PropertyXhtmlString.get_Fragments() +35
   EPiServer.Web.PropertyControls.PropertyLongStringControlBase.CreateDefaultControls() +279
   System.Web.UI.Control.EnsureChildControls() +182
   EPiServer.Web.WebControls.Property.CreateChildControls() +662
   System.Web.UI.Control.EnsureChildControls() +182
   System.Web.UI.Control.PreRenderRecursiveInternal() +60
   System.Web.UI.Control.PreRenderRecursiveInternal() +222
   System.Web.UI.Control.PreRenderRecursiveInternal() +222
   System.Web.UI.Control.PreRenderRecursiveInternal() +222
   System.Web.UI.Control.PreRenderRecursiveInternal() +222
   System.Web.UI.Control.PreRenderRecursiveInternal() +222
   System.Web.UI.Control.PreRenderRecursiveInternal() +222
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +4185
#60241
Jul 27, 2012 13:41
Vote:
 

Dynamic content properties are stored as bunch of joined Base64 strings. Symbol | is used as separator between property name/value pairs. Symbol & is placed between property name and corresponding value in each pair.
Valid Base64 string contains following characters/ranges: A-Z, a-z, 0-9, +, / and sometimes up to 3 = characters in the end of the string to make it multiple of 4.

May be it depends on how data is deployed/transfered from development to production environment. Any extra encoding/escaping? Try to check dynamic content values after deploying to production environment.

#60273
Jul 31, 2012 19:11
Vote:
 

Looking into the same error. Works in some enviroments but not all. When I output outside of the property control this is the dynamic content div:

div data-classid="b30218a7-77fc-43dd-a844-81935aa9b35e" data-dynamicclass="Whitepaper" data-state="RgBpAGwAZQA=&LwBmAGkAbABlAHMALwBQAEQARgAvAE4AQwBTAF8AVAByAGEAZABlAG0AYQByAGsAXwBhAG4AZABfAE0AYQByAGsAaQBuAGcAXwBHAHUAaQBkAGUAbABpAG4AZQBzAC4AcABkAGYA|QgB1AHQAdABvAG4AVABlAHgAdAA=&TABhAGQAZABhACAAbgBlAGQAIABoAOQAcgA=" data-hash="yiMUfL3/2kMpvJhdN5vkpceA7hMyWUB2oDdnQ1y74gk="

#61416
Sep 19, 2012 13:57
Vote:
 

The solution in my case was to have exactly the same assembly versions in all environments.

#61456
Sep 20, 2012 7:24
Vote:
 

Copied the whole bin folder from my development machine to the test machine but problem remains. Anybody got some further indight on the problem? This is quite a drawback with a demo coming up tomorrow.

#61778
Oct 01, 2012 18:01
Vote:
 

Check the file version of your EPIServer.DLL in the GAC on both enviroments.

#61838
Oct 03, 2012 15:37
This thread is locked and should be used for reference only. Please use the Episerver CMS 7 and earlier versions forum to open new discussions.
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.