30 Nov 2005
18 May 2007
Link to this post
One major feature I would like to see included in future Sitefinity releases is the ability for the CMS to manage internal site link/url changes automatically. Let me explain further...
I create and publish Page1.aspx and Page2.aspx. I then edit Page1.aspx and add a HyperLink control, which I point to Page2.aspx using the page tree within the CMS.
If I then modify the file name for Page2.aspx, or move the page to a different page group, the change is not reflected in the HyperLink pointing to it and a page not found error occurs when clicking the link (i.e. broken link).
Ideally, the canned HyperLink control, when used to manage internal site links, would also store a unique identifier for the target page. That way whenever certain actions are taken, such as changing a file name page property or moving a page within the CMS, a method would fire to rebuild all internal links based on the identifiers.
sf_CmsPage.ID would be the perfect candidate field for this idea. The hyperlink control would then simply have an extra property, such as TargetCmsPageID, so when a link control is pointed at an internal page, the extra property is set through code.
To me, this functionality would greatly increase the value of using the CMS as internal links would be automatically maintained. We are going to be using Sitefinity for several very large internal intranet sites (one with 500+ pages) so managing the links will be difficult even with the CMS.
I may investigate whether I can code this, however we haven't generally gone to this depth before with customizing Sitefinity code so I'm not sure that there is enough API exposed to tackle it.
Just an idea anyway. I was going to submit this as a feature request in my client.net, but I thought it may be useful to start a discussion around the usefulness of this feature with other users.