A Honest Review Of Installing Umbraco Forms / Contour For Umbraco 6
The majority of websites on the planet will require some form of contact us, or an inquiry form. Unlike other CMS platforms, out of the box, Umbraco doesn't come with any form of content editor driven forms module. Umbraco does, however, have a package themselves to include this functionality. In today's post, I'm going to review and go over how this package works with Umbraco 6.
Umbraco Forms Vs ContourOne of the first confusing things people new to Umbraco have mentioned is the difference between Umbraco Forms and Contour. Umbraco Forms and Contour is the same thing. If you buy a license for one it will work on the other one. Contour was the original Umbraco Forms. Umbraco Forms was developed to replace Contour and has been designed to work with Umbraco 7.2 onwards. From my understanding, the reason for this change in name is the code base is very different between these two, so, a new name was given to it. One thing to note, if you are running an older version of Umbraco and try to install Forms, your site will blow up, so it's important you install the correct version for your version.
ContourAs this post is a review for Umbraco 6, then I'll be using Contour. Installing Contour definitely comes with a few surprises along the way. Unfortunately, from my experience, there were a lot of bugs with the installation and un-installation path that I'll cover in more detail below
Purchasing & RegisteringPurchasing a product from Umbraco was simple. I went to the Contour purchase page, here entered in my client's details. After purchasing the license I got an email from Umbraco, asking me to log into Umbraco.com to register the Contour license. After you log-in you should see your Contour license. Click 'Configure/Add' domain. From here you will need to add in your website's domain and any test domains you might need to use. After filling in your website's domain details, from the license page you should now be able to download your license.
InstallationInstalling Contour is similar to how you would install any Umbraco package. In the Umbraco back-end, 'Developer' section, in the 'Packages' entry, either use the 'Umbraco package Repository' and search for 'Contour', or manually install it using the files here, Contour.
Installation Issues!Sadly, this is the stage where I started encountering installation issues with Contour. After installing Contour I tried to build my solution. The solution had originally been set-up as a website. If your website has also been set-up as a Visual Studio web site (not web application) you will probably run into this known issue with Contour, your Visual Studio build fails with these three errors: /Umbraco/plugins/umbracoContour/editWorkflow.aspx Could not load type 'Umbraco.Forms.UI.Pages.EditWorkflow' /umbraco/plugins/umbracoContour/ExportFormEntries.aspx Could not load type 'Umbraco.Forms.UI.Pages.ExportFormEntries' This has been a known issue for several years and as of writing still exists. If you use Reflector to look in the Umbraco.Forms.Core' assembly then you will see the code-behinds don't exist. My workaround was to delete editWorkflow.aspx and ExportFormEntries.aspx. The other issue is an AntiForgeryToken token. /umbraco/plugins/umbracoContour/Views/ContourForm.cshtml 'System.Web.Mvc.HtmlHelper.AntiForgeryToken(string) In ContourForm, remove the string in the AntiForgeryToken so it looks like this:
@Html.AntiForgeryToken()For a commercial product, I think this should have been fixed and not something that has been outstanding for years, so personally I was a little disappointed.
Registering ContourAfter having to hack Contour to get it installed, I was looking forward to getting to grips with it. To access contour you should see a 'Contour' icon at the bottom of your Umbraco instance: Before you can use Contour you will need to register it. You should be able to do this from the Contour Dashboard: Unfortunately, this is where I ran into more issues. When I typed my Umbraco details into the Register section, nothing happened. When I tried reloading the page it hadn't automatically registered anything. I gave up with the automatic registration and manually installed my 'umbracoForms.lic'. To do this you will need to log into Umbraco.com from here, download the license file and then put it into your 'Bin' folder of your website. If you look at the screenshot of the dashboard above you will also see an error at the bottom of the page:
Could not load control: '/umbraco/plugins/umbracocontour/formsdashboard.ascx'Apparently, this is a bug and formsdashboard is only used in version 7 so you can ignore it. Again, from a commercial product, I would really expect to see a lot more polish.
UnInstalling ContourAfter installing Contour I realized I hadn't installed the latest version, so I tried to uninstall it. When I uninstalled Contour my whole website blew-up with a YSOD with this exception: 'Could not load file or assembly 'Umbraco.Forms.CodeFirst' or one of its dependencies. The system cannot find the file specified.' The reason this happens is because the installer doesn't remove everything correctly. To resolve this problem, look in your bin folder and you should see 'Umbraco.Forms.Core.dll' still in the bin. There will also be two references in your web.config:
<add name="ContourFormBuilderHttpModule" type="Umbraco.Forms.CodeFirst.ContourFormBuilderHttpModule, Umbraco.Forms.CodeFirst" />and
<add name="ContourFormBuilderHttpModule" type="Umbraco.Forms.CodeFirst.ContourFormBuilderHttpModule, Umbraco.Forms.CodeFirst" />