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

Forums / Bugs & Issues / Custom content module not cleaning up old URLs on Delete/Update

Custom content module not cleaning up old URLs on Delete/Update

2 posts, 0 answered
  1. Jack
    Jack avatar
    1 posts
    Registered:
    15 Feb 2011
    25 May 2011
    Link to this post
    Hi all,

    Sitefinity newbie here, so please be gentle.

    For all I know this may be expected behaviour, but I've noticed a couple of issues with a custom module I've created based upon the Products sample custom module.  The groundwork of the module is basically identical, but has all references to 'Products' and 'Product' swapped out for 'Cars' and 'Car'.

    The first issue is that when a Car content item is removed, it does not remove its associated URLs in the table sf_url_data.  This can cause a NoSuchObjectException if a new Car content item is assigned the same URL as one which was previously deleted (full exception text at bottom of post).

    The second issue is somewhat connected: when a new revision of a Car content item is published, it will create two new entries in sf_url_data without first clearing up any of the old ones.

    I have to admit, I'm not quite sure where to begin with this.  Code provided on request, but as previously stated, the module data access layer etc. are basically identical to the Products sample ( http://www.sitefinity.com/40/help/developers-guide/sitefinity-essentials-modules-creating-custom-modules-products-module.html )

    Thanks in advance.

    -Jack

    No row for CarModule.Model.CarItem ('car_item') GenericOID@4e1d0d40 CarItem content_id=c19f406d-a082-4c9d-a835-2fbf0647663c NOTRES
     
    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
     
    Exception Details: Telerik.OpenAccess.Exceptions.NoSuchObjectException: No row for CarModule.Model.CarItem ('car_item') GenericOID@4e1d0d40 CarItem content_id=c19f406d-a082-4c9d-a835-2fbf0647663c NOTRES
     
    Source Error:
     
    An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
     
    Stack Trace:
     
     
    [NoSuchObjectException: No row for CarModule.Model.CarItem ('car_item') GenericOID@4e1d0d40 CarItem content_id=c19f406d-a082-4c9d-a835-2fbf0647663c NOTRES ]
       DynamicModule.ns.Wrapped_OpenAccessProvider_00abec4545fa44aaa6b0c08113c6cd53.GetItemFromUrl(Type itemType, String url, Boolean published, String& redirectUrl) +348
       Telerik.Sitefinity.Modules.GenericContent.ContentManagerBase`1.GetItemFromUrl(Type itemType, String url, Boolean published, String& redirectUrl) +75
       Telerik.Sitefinity.Web.UI.ContentUI.ContentView.ResolveDetailItemFromUrl() +234
       Telerik.Sitefinity.Web.UI.ContentUI.ContentView.ResolveDetailItem() +745
       Telerik.Sitefinity.Web.UI.ContentUI.ContentView.CreateChildControls() +63
       System.Web.UI.Control.EnsureChildControls() +102
       System.Web.UI.Control.PreRenderRecursiveInternal() +42
       System.Web.UI.Control.PreRenderRecursiveInternal() +175
       System.Web.UI.Control.PreRenderRecursiveInternal() +175
       System.Web.UI.Control.PreRenderRecursiveInternal() +175
       System.Web.UI.Control.PreRenderRecursiveInternal() +175
       System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2496

  2. George
    George avatar
    28 posts
    Registered:
    24 Sep 2012
    30 May 2011
    Link to this post
    Hello Jack,

    The product module is expected to clean up the urls in the sf_url_data on delete. It probably misses a correct parameter and fails silently. The delete request lands into the DeleteProduct method in the OpenAccessProvider class, which you can debug to check if some argument is incorrect or missing after the rename to Cars.

    If it seems fine, I would suggest you to open a support ticket and send us the sample project. Then we will be able to reproduce it and give you back guidelines.

    Kind regards,
    George
    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
2 posts, 0 answered