Hey - I just downloaded 3.0 beta 1 and am very excited for all the improvements that have made it into 3.0, and the "promised" improvements that I've read in different threads in this forum / documentation.
I wanted to post about some of the custom work that we did to work with SiteFinity 2.0 to improve the user experience in managing the website - hopefully some of them can be included in the 3.0 codeset so we can use SiteFinity standard code going forward!
Custom User Controls - We all need to build custom user controls to support the different unique parts of our website. In order to separate the content from the presentation (for many reasons – but primarily we want to keep control over how the content is presented, and having open ended “editor” boxes just didn’t cut it.
It would be great if SiteFinity could provide a framework on how to separate the content into fields (text box, drop down, check boxes, text area, etc.) from the presentation (custom code made in the user control). I fear that migrating to 3.0 is going to be quite a task for us since 100% of our content is stored in these custom user controls that we built (although modeled after the news / blog modules that were provided in 2.0.
We ended up having to create CodeSmith templates based off XML configuration files to create our user control “shell”. The shell had regions specified where custom code was inserted, so that we could recreate the shell with updated “shell code” as it evolved, and the custom code would be left alone.
If the Sitefinity team could provide this (or my group can provide it with Sitefinity’s help to make sure its supported in the future) it’s be a huge win for the product, and the more advanced implementations of the product.
SQL Server Cache Dependency – With .NET 2.0, we utilize SQL Server Cache Dependency (works with 2k5 and 2k) to minimize the amount of database activity for our pages. Our cache isn’t invalidated until the data in the database changes – and then it goes back to the database to get its data. It really minimizes the amount of DB activity between the web server and db server – and increases page response time!
Exception Manager – We track all of our exceptions in a database so we know what pages / user controls are breaking on the site. It would be great if this was a SiteFinity standard feature.
Shortcut Manager – We maintain a table that stores shortcut URL’s that point to a specific URL. It allows us to map a request like http://www.ryland.com/Austin to http://www.ryland.com/find-your-new-home/2-austin.html - As a part of specifying the shortcut, we also define what type of redirect to do (301 or 302).
Features To Keep in 3.0! – I just wanted to reiterate how important certain 2.0 features are to us. They are:
- URL Rewrite Rules
- Using a .html extension instead of .aspx for SiteFinity pages
- Ability to store viewstate in session and therefore Session in the database (to minimize page size, and support Web Farms) using .NET 2.0’s PageStatePersister
… I’ll post more as I get more feedback from the rest of my group – both the users of Sitefinity as well as the developers!
Thanks, Jason – email@example.com