Gabe Sumner

Gabe Sumner

The RSS Feed URL cannot be found!
The remote server returned an error: (400) Bad Request.

Back to all posts

Sitefinity "Tab Links" Control

Consider the following scenario:

  • I use my Content Management System (CMS) to create a "Marketing" page.
  • I then use the CMS to create an "Advertising Opportunities" page.
  • I now want my "Marketing" page to link to my "Advertising Opportunities" page.

This is really basic stuff, right?  Just alter the page, create a link in RadEditor, and type the URL.  Big freaking whoop!

It is a big freaking whoop.  It's a big freaking whoop because this procedure doesn't scale.  As your web site becomes bigger & more complex the likelyhood that your links will break increases greatly.  It also requires that you have meticulous & savvy web editors who won't type an incorrect URL.  As for moving pages, well, forget about it. 

A CMS should never require a person to type a URL to a page native to the CMS.   Nearly every CMS on the market makes this mistake; Sitefinity is no exception.  The CMS itself should take care of these link details.  The only reason I should ever have to type a URL is if I am linking to a URL not managed by the CMS.

Whack-a-LinkIf the paragraph above doesn't make sense to you, then I can say with certainty that you've never managed a big web site.  Static links break.  Static links break constantly.  The more web editors you have, the more links will break.  If you have a 1000+ page web site packed with static links then I guarantee you have plenty of broken links.  Keeping all of this working is a bit like playing whack-a-mole. 

Now, before I go on, I know Telerik has plans to address this.  RadEditor will eventually be extended so that you can select pages from the Site Map to set your links.  That will be a happy day!

Telerik has also provided several navigation controls with Sitefinity that come "out of the box".  My only beef with the Sitefinity navigation controls is that they all start at the "Root" of the web site.  There isn't a way to only display, for example, the "Adverting Opportunities" links.    

Blatant Plug For The GoonDocks "Links" Control

My Epitaph I want the link structure of my web site to be fully dynamic and completely based on the "Site Map" that I maintain through Sitefinity.  When I create a new "Page" I want the link to automatically appear on all relevant pages.  When I move a page, I want the links to be altered everywhere without any intervention.

My first forray into this was the GoonDocks "Links" Control.  I love this little control.  I use it all the time now.  Just drag & drop this control onto your Sitefinity page.  Choose the "Starting Node" and it will happily spit out dynamic links to the page's children.  If I want my "Marketing" page to contain links to all "Advertising Opportunities", then all I have to do is drop a "Links" control onto my "Marketing" page and then set the starting node to the "Adverting Opportunities" page.  It's done!  No list of static links is needed!  Everything is dynamic.  I will never ever have to worry about it again.  

Some of the Sitefinity controls I've created haven't been terribly well conceived .  This "Links" control is core though.  Sitefinity needs to come standard with something like it.  I consider it the most useful thing I've ever done in my life.  When I die I plan to have this accomplishment inscribed on my tombstone, along with the high score I achieved on Guns & Rose's "Sweet Child O' Mine" on Guitar Hero II.

Are You Going Somewhere With This Article?

I made a 2-level Tab-based version of this "Links" control.  I'm calling this control; the GoonDocks "Tab Links" Control.  This control dynamically renders navigation that looks like this:  (this is just a non-interactive image)

GoonDocks "Tab" Control Example - Non-interactive Screenshot 
I cannot drag controls onto a Sitefinity Blog entry.  Consequestly I can't show you a working example of this control.  The image above will have to suffice.

This controls utilizes the GoonDocks "Links" Control as a foundation but it retrieves "2 levels" of links.  These links are then displayed inside of a RadTabstrip.  It's pretty neat.  I'm using this control on the Intranet that I'm developing.  Dynamic navigation controls are a really really good thing.   Use them liberally throughout your web site and you will be a happier person.   

How to Download

As always, I have added this control to the GoonDocks Sitefinity Controls .

Facebook DZone It! Digg It! StumbleUpon Technorati Del.icio.us NewsVine Reddit Blinklist Furl it!

Comments  2

  • Fredrik Rodin, Sweden 15 Jan, 06:55 AM

    My god!

    Sitefinity is really a untouched diamond! You do an absolutely fantastic job. I'm just starting to get a grip on Sitefinity and what I've seen so far, it's really, really nice.

    I'll download your controls and try them out on my new project.

    Thanks again for sharing your controls!


  • Bob Avo 16 Jan, 02:30 PM

    Well done on your controls for Sitefinity. It's a testament to Sitefinity for being "open" enough to allow developers to add-on and correct limitations of a commercial program. That's usually limited to open source apps, in my experience.

    Sitefinity is a very powerful, yet simple CMS to use and develope with, but it's not without problems. I appreciate your being vocal about these problems to assist other developers, and also appreciate your work to make it better.

    Looking forward to other controls you come up with.


Post a comment!


HostMySite.com   website uptime