Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Danveer 5 posts 25 karma points
    Jun 01, 2010 @ 13:20
    Danveer
    0

    UmbracoSiteMapProvider usage - nodes/pages not updating properly

    Hi,

    Im currently working on integrating Umbraco into an existing website, we have made use of the asp.net sitemapprovider model for our primary and sub navigation, which feed off the web.sitemap file.

    To avoid having to rewrite our current navigation controls, im trying to make use of the UmbracoSiteMapProvider. Technically this should be simple web.config configuration like so

            <siteMap enabled="true" defaultProvider="UmbracoSiteMapProvider"><providers><add name="UmbracoSiteMapProvider" type="umbraco.presentation.nodeFactory.UmbracoSiteMapProvider" defaultDescriptionAlias="description" securityTrimmingEnabled="true" /></providers><siteMap>

    And setting the 'SiteMapProvider' properties to 'UmbracoSiteMapProvider' on my menu/navigation did actually work and nodes where correctly being displayed intially.

    Whats making my frown and scratch my head is when i add and remove pages/nodes via the umbraco admin UI and do a refresh on a page on the website the new page does not show up on the navigation, even though the new page has been published.I do find that sometimes that the data/umbraco.config cache file does not get updated after publishing or removing pages.

    The only way this seems to work for me is when i touch the web.config and the XmlCacheEnabled=False in umbracoSettings.config

    It feels like im missing something here, some sort of caching or something is going on that i dont know about.

    I know that the way the asp.net sitemap provider model works is that it maintains a static instance of the class during the lifetime of the application which would explain why the nodes are only being reflected accurately when xml caching is turned off and the application is forced to recycle by touching the web.config.

    hence why you inherit from the class StaticSiteMapProvider

    Is the behaviour im experiencing expected, is this how the UmbracoSiteMapProvider should be working (bearing in mind that this is inheriting off StaticSiteMapProvider)

    This isnt really working out for me and i cant confidently explain why, would appreciate any suggestions or comments.

     

     

  • Danveer 5 posts 25 karma points
    Jun 01, 2010 @ 17:43
    Danveer
    0

    I think i have found the problem, our implementation required us to load balance our umbraco installation, and when developing locally i had the umbracoSettings.config key<distributedCall enabled="true">.... by setting to this to false my caching with the sitemap provider woes disappeared

    <!-- distributed calls make umbraco use webservices to handle cache refreshing -->
        <distributedCall enable="false">
            <!-- the id of the user who's making the calls -->
            <!-- needed for security, umbraco will automatically look up correct login and passwords -->
            <user>0</user>
            <servers>
                <server>localhost:1329</server>
            </servers>
        </distributedCall>

    The part where it says

    <!-- distributed calls make umbraco use webservices to handle cache refreshing -->

    was the clue !

Please Sign in or register to post replies

Write your reply to:

Draft