Monday, 23 July 2012

Umbraco 4.7.2 Linux Port: UI Issues Part 1

I have started looking at the UI. This looks like it will be the most challenging aspect of the port. We will be looking at various errors and resolving them. In most instances, there are no clear error messages. But so far errors in the UI have been one of the following: javascript which does not load, casing issues, possible mono bugs or idiosyncracies.

But first an addition to getting the application to load.

After switching all projects to .NET 4, we get:
.../umbraco/cms/businesslogic/member/Member.cs(43,43): Error CS0246: The type or namespace name `MembershipProvider' could not be found. Are you missing a using directive or an assembly reference? (CS0246) (umbraco.cms)
Add References to System.Web.ApplicationServices in umbraco.cms, umbraco.providers

Final ScriptResource not found error.
Traces to js/dualSelectBox.js in umbraco.aspx lines 53::63
We have a CompositeScript control with one script. Remove the CompositeScript tags, i.e. delete lines 54 and 58.
Not sure why this generates an error but I am suspecting a mono issue.

   <asp:ScriptManager runat="server" ID="umbracoScriptManager" ScriptMode="Release">
            <Scripts>
                <asp:ScriptReference Path="js/dualSelectBox.js" ScriptMode="Release"  />
            </Scripts>
        <Services>
            <asp:ServiceReference Path="webservices/legacyAjaxCalls.asmx" />
            <asp:ServiceReference Path="webservices/nodeSorter.asmx" />
        </Services>
    </asp:ScriptManager>


Now let's move on to the UI

UI testing - Document types

General casing issues: replace as follows -
editNodeTypeNew.aspx to EditNodeTypeNew.aspx
settingDataType.gif to settingDatatype.gif
/genericProperties to /GenericProperties

Cannot get to DocumentType edit screen
.../umbraco/settings/EditNodeTypeNew.aspx?id=...
System.Web.HttpException Multiple controls with the same ID 'ctl00' were found. FindControl requires that controls have unique IDs.

EditNodeTypeNew.aspx, Lines 9, 15, and  give property panels IDs. Generally if you have multiple controls of the same type on the page make sure you explicitly give them distinct ids. E.g.
<cc1:PropertyPanel id="pp1"...
...
<cc1:PropertyPanel id="pp2"...

No save button image:
editor/save.gif to editor/Save.GIF

Save bubble:
speechbubble/ to speechBubble/

umbraco splash
umbracosplash. to umbracoSplash.

In Info and Structure tabs, list item selection does not persist after save.
This used to be a pre mono 2.6 bug, but the investigation continues

UI Testing - Templates

System.Web.Compilation.ParseException expecting '>'. Got 'asp'
Mono is very particular. Do this - but only for the following sections. .../umbraco/presentation/umbraco/settings/editTemplate.aspx lines 11::244 IF you do it for the whole of the script tag, then inline asp will not execute. This is most likely a mono bug. Search for '\n

       <!--
        function umbracoTemplateInsertMasterPageContentContainerDo(result) {
          UmbEditor.Insert(result + '\n', '\n</asp\:Content>\n', '<%= editorSource.ClientID%>');
        }
        // -->


I did this too
change .master extensions to .Master - this is tricky. Do not do a global S & R. Do it by hand. Will need to revisit but using .Master for compatibility for now.

UI Testing - Media
airinstallbadge to AIRInstallBadge

No comments:

Post a Comment

Note: only a member of this blog may post a comment.