+1-888-365-2779
Try Now
More in this section

Forums / Migrating from 3.x to the latest Sitefinity version / Migration usability in admin area

Migration usability in admin area

4 posts, 0 answered
  1. mexner
    mexner avatar
    98 posts
    Registered:
    06 Apr 2006
    15 Jul 2011
    Link to this post
    I have successfully upgraded my 3.7 site to 4.x with your migration tool. I needed a little help along the way, thanks for your input. I'm now in the process of finalizing our migration process and have some issues.

    Disclaimer
    Our 3.7 site was built as a web site project, not a web application project. I have followed the instructions found here - and have successfully setup our 4.x site as a web site project.

    We are using Sitefinity 4.1.1501.0 SE

    Issue #1
    All of our Content->ContentBlocks came over successfully. The pages are showing the correct content. However, if we add a new page and with a new content block we attempt to insert "select from previously shared content", our screen says, "No records to display" - despite the fact, we can see all of our contentblocks that have been imported in the Admin->Content->Content Blocks section
    [ screen shot - no records to display ]
    [ screen shot - shared contentblocks ]
    Question - What do you recommend we do - so that we can select our shared content when editing a page?

    Issue #2
    I have one particular control, that when added to our homepage breaks the homepage.
    [ screen shot ]
    However, when I'm in the admin section, editing this page with the control ADDED to the page, and I click "preview" -- the page works perfectly!?!
    [ screen shot ]
    This control was copied from our v3.7 -- and compiles successfully.

    Question -- Any suggestions on what to do? This control was originally placed in the page from the migration tool, but it had an error (see issue #4 below, it was the same kind of error). So I removed the control from the page, added the control to the widgets side bar (using the admin->Settings->Advanced->Toolboxes->PageControls->Sections), and then added the control back to the page. Now I get this error, and I'm at a loss on what to do next. In preview mode, it works great. Just after I publish, it breaks.

    Issue #3
    We opted to have the migration tool insert error content into the control's place holder.
    [ screen shot ]
    We have approximately 70 custom user controls -- and all though the site is 'working' with our controls, the controls are not present when editing a page or a template - under the 'widgets' area. So, I have started adding all of our controls thru Admin->Settings->Advanced->Toolboxes->PageControls->Sections. This will allow our users to add our user controls/widgets to any new pages created.

    Question 1 - Is this the correct way to move forward? I would have thought the migration tool would have setup the controls in the "widgets" area for us; per the setup we defined in the web.config.
    Question 2 - Do I need to "delete" the controls from each page, and then re-add them from the "widget" area? As you'll see below, several of our user controls are generating errors.

    Issue #4
    The site is displaying our pages and custom user controls properly when browsing the website, as a public user; some have error messages from the migration process, but mostly -- they work great. When we log in as an admin -- and attempt to edit a page, we get error messages in the controls.
    [ screen shot - public page ]
    [ screen shot - admin, editing page ]

    Question 1 - Why are some controls (TopNavigation -- which is the primary navigation bar) working on the public side, but not on the admin side? Need to remove the error message from the admin side.
    Question 2 - Why are some controls (SubNavigation.ascx -- sub navigation on the right side bar) failing to work on both the public and admin side?
    Question 3 - How do I fix this? There isn't a compile or syntax issue with the control.

    Note: The web site compiles successfully in VS2010. We copied these controls from our 3.7 SF project -- which is in production, so I'm fairly certain these aren't programitcal or syntax errors. These two errors are specifically referencing an error that they cannot find the event handlers, even though they clearly exist -- and the page works!

    Yes, the control references "codeFile" and not "CodeBehind" in the Control Declaration. And, yes, we have the event handlers in the .cs page.

    I copied one controls' source code below for reference, but they all act similar to this one (TopNavigation.ascx) - in terms of functionality.

    Error adding ~/Controls/TopNavigation.ascx to placeholder TopNavigation
    Error message: c:\Projects\myfamilytalk-4\Controls\TopNavigation.ascx(6): error CS1061: 'ASP.controls_topnavigation_ascx' does not contain a definition for 'rptTopNav_ItemDataBound' and no extension method 'rptTopNav_ItemDataBound' accepting a first argument of type 'ASP.controls_topnavigation_ascx' could be found (are you missing a using directive or an assembly reference?)

    Error adding ~/Controls/SubNavigation.ascx to placeholder SubNavigation
    Error message: c:\Projects\myfamilytalk-4\Controls\SubNavigation.ascx(6): error CS1061: 'ASP.controls_subnavigation_ascx' does not contain a definition for 'rptSubNav_ItemDataBound' and no extension method 'rptSubNav_ItemDataBound' accepting a first argument of type 'ASP.controls_subnavigation_ascx' could be found (are you missing a using directive or an assembly reference?)

    <%@ Control Language="C#" AutoEventWireup="true" CodeFile="TopNavigation.ascx.cs" Inherits="controls_TopNavigation" %>
     
     
    <asp:Repeater ID="rptTopNav" runat="server" DataSourceID="SiteMapDataSource1"  onitemdatabound="rptTopNav_ItemDataBound">
        <HeaderTemplate>
            <ul id="nav">
        </HeaderTemplate>
        <FooterTemplate>
            </ul>
        </FooterTemplate>
        <ItemTemplate>
            <li runat="server" id="liItem"><asp:HyperLink ID="lnkItem" runat="server" NavigateUrl='<%# Eval("url") %>'><%# Eval("title") %></asp:HyperLink></li>
        </ItemTemplate>
    </asp:Repeater>
    <asp:HyperLink ID="lnkListen" runat="server" href="#OneListen" CssClass="button-listen" Text="LISTEN" />
    <asp:HyperLink ID="lnkResources" runat="server" CssClass="button-cart" Text="Shopping Cart" />
    <asp:SiteMapDataSource ID="SiteMapDataSource1" ShowStartingNode="false" runat="server" />
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;
     
    public partial class controls_TopNavigation : System.Web.UI.UserControl
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                if (SiteMap.CurrentNode.HasChildNodes)
                {
                    SiteMapDataSource1.StartingNodeOffset = 0;
                }
                else
                {
                    SiteMapDataSource1.StartingNodeOffset = -1;
                }
                lnkListen.Attributes.Add("onclick", Broadcast.GetTodaysBroadcast(BroadcastType.Broadcast).ListenLinkToOnePlace_Today);
                lnkResources.NavigateUrl = "~/" + Constants.PUBLIC_URL_FOR_SHOPPING_CART_AND_RESOURCE_PAGE;
            }
            catch (System.Exception exc)
            {
     
            }
     
     
        }
        protected void rptTopNav_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            try
            {
                if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
                {
                    HyperLink lnk = ((HyperLink)e.Item.FindControl("lnkItem"));
                    HtmlGenericControl item = (HtmlGenericControl)e.Item.FindControl("liItem");
     
                    if (DataBinder.Eval(e.Item.DataItem, "url").ToString().Equals(SiteMap.CurrentNode.Url, StringComparison.CurrentCultureIgnoreCase))
                        item.Attributes.Add("class", "active");
     
                    if (DataBinder.Eval(e.Item.DataItem, "url").ToString().Equals(SiteMap.CurrentNode.ParentNode.Url, StringComparison.CurrentCultureIgnoreCase))
                        item.Attributes.Add("class", "active");
                }
            }
            catch(Exception exc){}
     
             
        }
    }


    I know this is a loaded thread -- thanks in advance for your assistance!
  2. Lubomir Velkov
    Lubomir Velkov avatar
    688 posts
    Registered:
    03 Nov 2014
    20 Jul 2011
    Link to this post
    Hi Mexner,

    I have replied in your support ticket.

    Best wishes,
    Lubomir Velkov
    the Telerik team
    Do you want to have your say in the Sitefinity development roadmap? Do you want to know when a feature you requested is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
  3. Jules
    Jules avatar
    65 posts
    Registered:
    20 Jul 2005
    10 Sep 2011
    Link to this post
    I too am experiencing issue # 1, in which content blocks have been imported, are visible and appear fine in the Content Block area, but are not available when placing content on a page. Any suggestions?
  4. Jules
    Jules avatar
    65 posts
    Registered:
    20 Jul 2005
    10 Sep 2011
    Link to this post
    I have figured out that if I open each content block in the Content Block area and click to Save it, it then appears in the dialog when I try to place shared content blocks on pages. Tedious, but better than nothing.
4 posts, 0 answered