Slavo, over at the Sitefinity forums, made the mistake of asking me to express my opinion about the features I would like to see included in Sitefinity. This article includes my "Top 5 Most Wanted Sitefinity Features".
First though, I have to admit that these items are subjective. Web sites are like snowflakes; each one is unique and you should always avoid the yellow ones. I fully acknowledge that what might be important to me & my projects, might not be true for everyone. Feel free to express you own "Most Wanted" features in the comments below.
All this being said, I have watched the forums carefully and I believe I have identified 5 features that would make an impact within nearly any Sitefinity project. Let's get started:
Built for Developers
The very first "Developer Benefit" stated on the main Sitefinity page is "Extensible architecture". Certainly Sitefinity can be extended with User Controls, WebEditors, Control Designers, and Modules.
However the "core" Sitefinity pages remain extremely rigid. Indeed one might characterize them as completely "locked down". As I work through projects with Sitefinity it is these "core" pages that I most wish I could extend. These core Sitefinity pages fully comprise the "Site Map" that Sitefinity maintains. Being "locked out" of extending something that is so core to the product quickly becomes a limitation.
My first 2 "Most Wanted" items deal directly with ways that I would like to be able to extend the core Sitefinity pages.
#1 - Extensible "Page Types"
When creating a new page in Sitefinity, you get the following "Page Type" options:

These "Page Type" options are untouchable. Some might argue that by using a combination of Custom Controls & External Links that you could represent anything with these options. That might be true, but in many cases it wouldn't be easy or clean. In the case of documents, it means manually uploading a file and setting an external link to it. In the case of products, it means creating a new Sitefinity page and having to drag, drop, and populate the same controls over & over again.
Consider the following alternative:
Now that is awesome! Imagine being able to attach custom WebEditors & custom Properties to these new "Page Types". Not only does this add a whole new level of extensibility to the "core" of Sitefinity, but it also allows me to easily group together "types" of content. I could easily, for example, return a list of all "Legal Documents" regardless of which node they were stored in. This is very clean & very powerful.
This is easily my #1 most desired feature. If I had this I could build the features that I'm currently waiting around for Telerik to release in a service pack. My Intranet project, for example, is essentially "on hold" until I can figure out how to represent diverse types of content within the core Sitefinity "Site Map".
#2 - Extensible "Page Properties".
This is very similar to #1. Here are the page options that Sitefinity makes available with each new page.
Again, these are set in stone. What if I wanted to associate a thumbnail image URL with my pages? What about a product category? What about a revision version for a legal document? What about a page subtitle? What about a checkbox that classifies a page as a "Help" page?
Use your imagination. Custom page types coupled with custom page properties give you a lot of options. I would never want Telerik to try to add all of these as "default" page properties. Some of this stuff only applies to very specific circumstances. If we have the ability to extend these properties on our own, then Sitefinity can always be the perfect fit.
#3 - Advanced Query Developer Interface
Once I have all these all these extensible page types & properties, the next logical requirement is access to a robust developer interface for searching and retrieving pages based on arbitrary criteria.
- Retrieve all "Legal Document" pages.
- Retrieve all "Product" pages that were modified within the past 5 days.
- Retrieve all "Product" pages with a "Price" property below $100 that fall within the "Holiday Gifts" node.
When you combine items #1, #2, & #3, it makes Sitefinity capable of pretty much anything.
Inspired by End-Users
Now I am going to transition to the "end-user" experience. Repeat after me:
- Thou shall not require end-users to do link management
- Thou shall not require end-users to do file management.
- Thou shall not require end-users to type file names.
- Thou shall not require end-users to type a URL to a page native in the CMS.
Requiring any of these tasks of end-users will result in a web site filled with broken images and broken links. It seems like every CMS makes this mistake. Maybe it's just my "end-users", but I doubt it. Even for power users, these tasks are mainly just annoying. I certainly don't want to do them. There is no reason a CMS should not be able to handle these tasks on an end-users behalf.
Let's rip into some specific features.
#4 - "Dynamic, In-Line" Links
So here I am on a fresh Sitefinity page. I drag & drop a "Generic Control" onto the page, click "Edit" and begin writing a thought provoking "Lorem ipsum" article. Suddenly, I realize I need a link to an existing Sitefinity page.
I could do the following things:
- Insert a Hyperlink through RadEditor and manually type the correct URL
- Exit from editing my "Generic Control" and insert a "Dynamic Link" control. This will result in the "Dynamic Link" being on its own line in the page . To resume typing my content I would have to plunk another "Generic Control" under my "Dynamic Link".
Both of these options are bad. I'm not going to harp on this too much however because Telerik has already acknowledged this issue and promised a fix:
http://www.sitefinity.com/support/forums/support-forum-thread/b1043S-hbacm.aspx
Instead I will simply post Kevin P's comment, which sums it up best:
I would also like to add a comment to stress how important the "site link" feature within the RadEditor is to the user community.
#5 - "On The Fly, In-Line" Photo Insertion
Let me boil this down really quickly; go create a Google Blogger account. Create a new article and include a photo in your article.
There is a reason why Blogger is very popular. Blogger makes web page management accessible to people who may not understand the finer points of file management, JPEG compression, pixel dimensions, etc.
This appeals to the average end-user:
While this appeals to the "Notepad" crowd:
This is essentially a file manager. It's handy, if you want the control and know what you're doing. I would argue the average end-user doesn't know what they're doing and doesn't care about the control. Heck, I'm a "power user" and I don't care about having the control. I just want to include an image with minimal fuss.
I'm not saying Blogger is perfect, but with regard to including images in content, I believe they are heading in the right direction.
So there you go. These are my "Top 5 Most Wanted Sitefinity Features".
Incidently it's been about a month since I wrote my "Sitefinity 3.1 - One Month of Impressions" article. I felt compelled to re-read the article to see if I still agreed with my statements. The answer is "yes, I still agree with all my statements". Sitefinity has a ton of potential, but still is not yet there. That being said, Telerik seems to genuinely be working very hard to improve the product. It's probably only a matter of time.
That's it! On behalf of all of us here at GoonDocks.com (me); have a wonderful Holiday Season!