Sunday, 26 January 2014

Retrospective - Umbraco 6.0.6 mono port

This port constituted an interesting exercise, and while being simple in principle, proved to be quite complex in implementation.
The primary difficulties faced were those involving casing of file names, and differences between the mono and MS flavours of .NET.

On the plus side, a quick overview of the major issues can be seen in 'Umbraco.Core/MultiPlatform', where I attempted to segregate the issues faced during the port, and demonstrated some possible solutions.

Additionally, Umbraco 6.0.6 has started using some Async calls in the handling of document types, and the implementation of async calls in my version of mono was not yet mature. As a result of this, working with document types requires great care, and I found it best to use the left side tree view to refresh the selected document type view.

Another difficulty is the recycling of the app when the web.config file changes. This also does not always behave as anticipated.

I have enjoyed working on this project, and hope that it will provide some interest and benefit to the community.

Umbraco 6.0.6 mono port project concluded

The final release version is available here: here

To build:

  • Checkout from github here

  • Minimum - Mono: 3.0.6 (#20e40c4), xsp: (#4587438) - both available here

  • Nuget, see here

Update BASE path then execute.


Run this twice. It will error on first run, and should complete on the second.

build/ [Debug (Default) | Release]

Sample deployment files and binaries

are here

Install notes

  • During install, after web.config is altered, you may get a blank screen. Simply reload the page.

  • During database install, after web.config is altered, the page may hang with the progress bat at 5%. Simply reload the page.

  • When install is finished, you get a blank page and reloading does not help. Remove 'install?...' from the url and press enter.

  • May need to verify file directory permissions after install

  • 'http://.../umbraco/logout.aspx?redir=%2fumbraco%2fumbraco.aspx' System Null Reference Exception. Clear cookies.

  • Default install is configured for Mvc

Application Notes:

  • I have not vetted all of the Data Types, and have not tested the web forms version in this release.

Please read the 'Retrospective' article before deploying to production environments.