4.2 Beta 2 available

Topics: Community, General, Release notes
Coordinator
Mar 31 at 11:29 AM
We're wrapping up our 4.2 release - we have feature freeze and a stable beta.

You can read more about the release and download it from https://compositec1.codeplex.com/releases/view/120186.

We'd love if you guys upgrade to this release and give us feedback on it - if you have a site running on 4.1 we've made it easy to get on the beta and we'll make it equally as easy to get on the final release. We'll also give beta users priority support - just log a bug in the issue tracker and if the issue is critical mail me at maw@composite.net so we can get a fix to you fast.

Your testing and feedback is much appreciated.

Marcus
Mar 31 at 12:24 PM
Thanks Marcus,

I've just installed the 4.2 beta 2 and it is all running very smoothly. I do have a few comments about the new visual functions.
  • Functions can take a while to load, so putting some sort of place-holder in the WYSIWYG editor while they are loading would be a good idea.
  • The functions don't appear to have any chrome around them, as they did in the preview screen-shots. This may be due to missing files in the installer package, but if not, it would be nice to have something to show that a block of content is a function, and not something else. See example at: https://drive.google.com/file/d/0B-Ouw0V7XtcFcDhNZ3FnYTZQSW8/edit?usp=sharing
  • Functions linking to YouTube content (see screen-shot linked above) don't load the Flash player. I'm assuming this is because you disable JavaScript used for Flash detection. It might be a good idea to add warning for functions that embed website content with JavaScript.
  • Is there a way to override the size that the function is displayed? Maybe by adding width and height attributes to the function markup? For example <f:function name="My.YouTube.Playlist" xmlns:f="http://www.composite.net/ns/function/1.0" width="640" height="480">
I've also noticed that all pages opened with 4.2.b2 automatically have a star next to them indicating that there are unsaved changes... even though the page was just opened. Are pages getting a hidden update upon load to make them compatible with the beta?
Apr 30 at 3:46 PM
I've just upgraded to 4.2 beta3 and C1 continues to be rock-solid. However, the issues above have not yet been addressed. Should I log these into the Codeplex Issue tracker?

During the upgrade from beta2 to beta3, I got a lot of orange log messages along the lines of "File C:\Users#####\www-composite\Composite\skins\system\shadows.css does not exist, cannot be deleted". Are these cause for concern?

I also had a red log item reported during the upgrade:
System.IO.FileLoadException: Could not load file or assembly 'System.Web.WebPages, Version=3.0.0.0, Culture=neutral, PublicKeyToken=##############' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)File name: 'System.Web.WebPages, Version=3.0.0.0, Culture=neutral, PublicKeyToken=##############'

WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].

System.Exception: Failed to load assebmly 'System.Web.Helpers, Version=3.0.0.0, Culture=neutral, PublicKeyToken=##############'
Is that anything to worry about, or can I safely ignore?
May 1 at 1:12 PM
OK... I've just downloaded the full copy of v4.2 beta3, as opposed to the updater, and it does have place-holders while loading functions, and edit buttons above each function block. There must be something particular to my site... maybe because I've customised my VisualEditor stylesheets? I'll have a tinker over the weekend to see what it was.
Coordinator
May 1 at 1:12 PM
Hey David,

thanks for this feedback!

Regarding the "File (...) does not exist" log warnings you can ignore them. We'll change them to verbose messages so they won't show up in the log on a default setup - it really is pure noise. So

> Functions can take a while to load, so putting some sort of place-holder in the WYSIWYG editor while they are loading would be a good idea.
> ...
> The functions don't appear to have any chrome around them

This is what I see - http://screencast-o-matic.com/watch/c2hVXgnwEZ the red spinner image is animated if loading takes any longer than a second or two.

Can you provide access to your solution so we can see why you get a different experience? Perhaps try flushing your browser cache and see if this does anything for you.

> Functions linking to YouTube

Here the problem is Flash - the headless browser we use to render the preview (PhantomJS) does not come with a flashplayer - so we cannot give a good view on Flash content :/

> Is there a way to override the size that the function is displayed?

No - kind of by design, since we are bending over backwards to render the function preview as exact to "real life" as possible. We (at least try to) ensure that the width will match the editing window, but never be wider than the real rendering. We also set the with of the editing window to never exceed the width of the placeholder you are editing. We render the template and calculate the width of things to do this.

We do have a maximum height though - I think it is around 600px - anything beyond that we cut away. Here we're considering some visualization that make the user understand things have been cut at the bottom.

Can you visualize a situation where you would like a preview to behave differently than the current behaviour?

A general note here: we've build this whole thing in a way where you as a developer should not care about the function preview - things should just work "perfectly", even with C1 Functions you wrote 3 years ago. As a fail safe we do provide a flag you can use in your function code to act differently when you are providing a preview - use Composite.Core.WebClient.Renderings.Page.PageRenderer.RenderingReason

> I also had a red log item reported during the upgrade:

We need to to look into this. If you restart the website, do you get these errors again?


Marcus
May 2 at 2:50 PM
Edited May 2 at 3:47 PM
Hi Marcus,

Thanks for the feedback.

I've been a bit of a klutz. After reviewing my files, it appears that I had commented out the stylesheet link to ~/Frontend/Config/VisualEditor/Styles/core.css in ~/Frontend/Config/VisualEditor/common.xml , and linked to my own version of that file with some changes to highlight DIV blocks and a[target="_blank"] links (the second of which doesn't work). Restoring the link to core.css fixed the function loading animations and the missing edit buttons.

Please feel free to berate me for ignoring the wise words: "Consider NOT changing this file." !

The reason I was asking about specifying the width of a function was that I noticed that the rendering of tables within function previews seems to ignore css white-space:normal;, defaulting to nowrap instead. See comparison of my Navigation table at: https://drive.google.com/file/d/0B-Ouw0V7XtcFR2t1ZEtPSUxTdjg/edit?usp=sharing . I had thought that overriding the function preview width might force text within the table to wrap correctly.... but now see that the rendering is an image file generated by the headless browser.

After restarting the site, I've not had any further red log items for the "System.IO.FileLoadException" error, but have had lots of the following red log items:
Composite.Core.WebClient.BrowserRenderException: 
Request failed to complete within expected time: .CMSAUTH_-##########,localhost|http://localhost:50112//Renderers/TemplatePreview.ashx?p=77d4f315-f9f1-48cc-904e-909aa7be3145&t=c802ecd0-ab6f-47e3-a592-080b3a17a6a3&hash=-##########|C:\Users\baid1\Dropbox\Websites\www-sdjr-composite\App_Data\Composite\Cache\PreviewImages\template\TGAlYg.png|template

   at Composite.Core.WebClient.BrowserRender.PhantomServer.RenderUrl(HttpCookie authenticationCookie, String url, String tempFilePath, String mode, String& output)
   at Composite.Core.WebClient.BrowserRender.<MakePreviewRequest>d__f.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Composite.Core.WebClient.BrowserRender.<RenderUrl>d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

   at Composite.Core.WebClient.Services.WysiwygEditor.PageTemplatePreview.GetPreviewInformation(HttpContext context, Guid pageId, Guid templateId, String& imageFilePath, PlaceholderInformation[]& placeholders)
   at Composite.Services.PageTemplateService.GetTemplatePreviewInformation(Guid pageId, Guid templateId)
, and:
Composite.Core.WebClient.BrowserRenderException: Max execution time - 10 seconds - exceeded
Request: .CMSAUTH_-##########,localhost|http://localhost:50112//Renderers/TemplatePreview.ashx?p=22221d79-69b3-4958-8762-433009d9f205&t=6cfcf81b-667c-45c0-8f20-10b0a6f1a262&hash=-##########|C:\Users\baid1\Dropbox\Websites\www-sdjr-composite\App_Data\Composite\Cache\PreviewImages\template\yauJYg.png|template

   at Composite.Core.WebClient.BrowserRender.PhantomServer.RenderUrl(HttpCookie authenticationCookie, String url, String tempFilePath, String mode, String& output)
   at Composite.Core.WebClient.BrowserRender.<MakePreviewRequest>d__f.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Composite.Core.WebClient.BrowserRender.<RenderUrl>d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

   at Composite.Core.WebClient.Services.WysiwygEditor.PageTemplatePreview.GetPreviewInformation(HttpContext context, Guid pageId, Guid templateId, String& imageFilePath, PlaceholderInformation[]& placeholders)
   at Composite.Services.PageTemplateService.GetTemplatePreviewInformation(Guid pageId, Guid templateId)
, and:
System.ArgumentNullException: Value cannot be null.
Parameter name: source
   at System.Linq.Enumerable.Take[TSource](IEnumerable`1 source, Int32 count)
   at Composite.C1Console.Drawing.FunctionPresentation.GenerateFunctionBoxWithText(HttpContext context, String functionTitle, Boolean isWarning, Boolean showEditButton, ICollection`1 lines, Stream outputStream)
   at Composite.Core.WebClient.FunctionBoxHttpHandler.<ProcessRequestAsync>d__0.MoveNext()
My v4.2 site isn't yet hosted, but I can ZIP it up and pass it to you via DropBox or Google Drive.

David.