Sunday, 29 September 2013

6.0.6 mono release delay

I was hoping to release the mono 6.0.6 version this Sunday, however, after having upgraded to mono 3.2.3, I started getting a strange error: it said the "ClientDependency.Core.CompositeFiles.CompositeDependencyHandler" could not be found. In reality, it was there but mono could not load the type.


I subsequently downgraded mono to 3.2.1, and then to 3.0.11. However, this time xsp broke.


Hence, I have decided to delay release until I know for sure what is going on, and this error is resolved.


On the plus side, I have fixed one more issue and identified a new one:


  • Fixed: Issue with SystemDirectories.Root being "" - mono expects a rooted value,
    in the virtual path utility: VirtualPathUtility.cs 271.

  • Identified: The umbraco code base makes reference to 'web.config' in ApplicationContextExtensions.cs, PluginViewEngine.cs, RenderViewEngine.cs, MediaUploader.ashx.cs, BaseSeleniumTest.cs. Mono can handle both 'web.config' and 'Web.config', but I will need make sure that we have the same behaviour in the Umbraco code base.


Saturday, 21 September 2013

uComponents in mono

The stock uComponents 5.4.1 package will not work in mono.


But we love this package and it is one of the best and most useful packages available for use with the Umbraco CMS.


Fortunately, the fixes required to compile uComponents in mono are very small. And here they are (all very minor casing issues):



$>hg diff

diff -r 510ecd773bcb uComponents.DataTypes/DataTypeGrid/Configuration/DtgConfiguration.resx
--- a/uComponents.DataTypes/DataTypeGrid/Configuration/DtgConfiguration.resx Thu Mar 14 20:11:24 2013 +0100
+++ b/uComponents.DataTypes/DataTypeGrid/Configuration/DtgConfiguration.resx Fri Sep 20 22:56:39 2013 +0100
@@ -119,6 +119,6 @@



- datatypegrid.config;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8
+ DataTypeGrid.config;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8


\ No newline at end of file
diff -r 510ecd773bcb uComponents.DataTypes/DataTypeGrid/WebServices/DtgWebServices.resx
--- a/uComponents.DataTypes/DataTypeGrid/WebServices/DtgWebServices.resx Thu Mar 14 20:11:24 2013 +0100
+++ b/uComponents.DataTypes/DataTypeGrid/WebServices/DtgWebServices.resx Fri Sep 20 22:56:39 2013 +0100
@@ -119,6 +119,6 @@



- prevaluewebservice.asmx;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8
+ PreValueWebService.asmx;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8


\ No newline at end of file
diff -r 510ecd773bcb uComponents.DataTypes/Shared/AjaxUpload/AjaxUploadHandlerResource.resx
--- a/uComponents.DataTypes/Shared/AjaxUpload/AjaxUploadHandlerResource.resx Thu Mar 14 20:11:24 2013 +0100
+++ b/uComponents.DataTypes/Shared/AjaxUpload/AjaxUploadHandlerResource.resx Fri Sep 20 22:56:39 2013 +0100
@@ -119,6 +119,6 @@



- ajaxuploadhandler.ashx.txt;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8
+ AjaxUploadHandler.ashx.txt;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8


\ No newline at end of file
diff -r 510ecd773bcb uComponents.DataTypes/Shared/WebServices/SharedServices.resx
--- a/uComponents.DataTypes/Shared/WebServices/SharedServices.resx Thu Mar 14 20:11:24 2013 +0100
+++ b/uComponents.DataTypes/Shared/WebServices/SharedServices.resx Fri Sep 20 22:56:39 2013 +0100
@@ -119,6 +119,6 @@



- dictionaryservice.asmx;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8
+ DictionaryService.asmx;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8


\ No newline at end of file
diff -r 510ecd773bcb uComponents.DataTypes/UrlPicker/Services/UrlPickerServiceResource.resx
--- a/uComponents.DataTypes/UrlPicker/Services/UrlPickerServiceResource.resx Thu Mar 14 20:11:24 2013 +0100
+++ b/uComponents.DataTypes/UrlPicker/Services/UrlPickerServiceResource.resx Fri Sep 20 22:56:39 2013 +0100
@@ -119,6 +119,6 @@



- urlpickerservice.asmx;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8
+ UrlPickerService.asmx;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8


\ No newline at end of file
diff -r 510ecd773bcb uComponents.DataTypes/uComponents.DataTypes.csproj
--- a/uComponents.DataTypes/uComponents.DataTypes.csproj Thu Mar 14 20:11:24 2013 +0100
+++ b/uComponents.DataTypes/uComponents.DataTypes.csproj Fri Sep 20 22:56:39 2013 +0100
@@ -357,7 +357,7 @@



-
+



@@ -668,4 +668,4 @@



-
\ No newline at end of file
+
diff -r 510ecd773bcb uComponents.sln
--- a/uComponents.sln Thu Mar 14 20:11:24 2013 +0100
+++ b/uComponents.sln Fri Sep 20 22:56:39 2013 +0100
@@ -43,14 +43,10 @@
Settings.StyleCop = Settings.StyleCop
EndProjectSection
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "uComponents.Core.UnitTests", "uComponents.Core.UnitTests\uComponents.Core.UnitTests.csproj", "{35953BAA-8E67-4E27-B4E5-96D142DC924B}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Unit Tests", "Unit Tests", "{026CA274-604D-49B5-932B-EB88A1E20BF3}"
- ProjectSection(SolutionItems) = preProject
- Local.testsettings = Local.testsettings
- uComponents.vsmdi = uComponents.vsmdi
- EndProjectSection
-EndProject
+
+
+
+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "uComponents.XsltExtensions", "uComponents.XsltExtensions\uComponents.XsltExtensions.csproj", "{1665551B-1EE8-4A5A-8857-4A002F4DB3B9}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "uComponents.DataTypes", "uComponents.DataTypes\uComponents.DataTypes.csproj", "{E83250BD-27B0-4B39-90C8-F07538058938}"

One note: There might be some issues with the DataGrid component. But I have not had a close look at this yet.

Friday, 20 September 2013

Site testing update

I have been testing using a production grade MVC (windows) Umbraco site


First impressions: 99% doing OK.



  • Subsystem: Mono - 3.2.1, xsp - 3.0.11, nginx, archlinux 3.10.10-1

  • After updating Web.config - a manual restart of fcgimono service is needed. This is a critical issue, and probably limits commercial application. Not sure why this happens...

  • uComponents 5.4.1: with a few minor tweaks this runs - but there might be some issues with the DataGrid control. More details coming soon.

  • Ninject: In Mono requires Ninject.Mono 3.0.1.13 or greater (from NuGet). The usual Ninject package will not work.

  • Porting of windows Umbraco apps requires careful consideration of casing. This should not be an issue for apps developed natively in Linux / mono.