My Sitecore Wishlist
So rather than comment on his post, I am posting my response here. Hopefully it will invoke some thought and others will post their Sitecore wishlists for all too see and talk about.
Below, in no particular order, is my Sitecore wishlist.
Faster UI. The Sitecore interfaces are a marvel of ingenuity. Sitecore itself is very extensible and customisable, and the interfaces (UI) are no different. Just look at all the things we can do with the desktop, including writing our own applications which will run inside it and look like a native Sitecore application. As a developer I can appreciate what it took to make this happen. Unfortunately, those heathen non-technical end users don’t always. This is possibly the biggest complaint I get from clients. They feel the interfaces are too slow and could do with a performance boost.
Placeholders through inheritance for presentation. Quite often I find myself wanting to define the majority of the presentation on a base template, and only define some smaller pieces on the current template itself. At times you can get away with this by statically placing (hard coding) the page’s presentation hardware (components that don’t change page to page) on the layout itself. Then you just have to define the layout and bind in those page specific components. The issue is I might want to make updates to the page hardware later and don’t want to lose the flexibility I gain through using placeholders. Or I might want the user to be able to adjust this using the page designer. If I could bind presentation components to placeholders on base templates, my problems would be solved. And perhaps also include Chris Wojciech’s Sitecore tweak, the extended placeholder selection module which is now in Shared source, to make the selection of the placeholder on the child template easier.
Better cross browser support for interfaces. Back in the pre 5.3 days I could access the desktop interface using Firefox. And Firefox was much faster than IE inside the desktop. It didn’t look quite right, but the performance was there, and that was what I was after. Along came 5.3 with heaps of added features (the content editor ribbon, etc) which were great, but Sitecore took away the ability to use non-IE browsers to access the desktop. I’d like to see full cross browser support for the desktop. The question of this ability normally comes up during tender demonstrations from “that mac guy” in the room asking if he can use Safari to do everything I’m doing.
Some fat tools. There are many things in Sitecore that don’t HAVE to be done in the context of a web request. Such as publishing. All publishing is doing is pulling items from the source database and pushing them into the target database. This could easily be done outside an HttpContext. Don’t get me wrong, I never want to lose the full web app support that Sitecore offers right now. I think another of the big bonuses for Sitecore is the fact that it runs completely in the browser without any requirement on anything being installed on the client. I just think some of the functions could be supplemented with some fat tools. Another example would be content editing. And scheduled publishing. It’s great that Sitecore has facility to scheduled publishing operations, but I’d like to be able to specify the exact time at which it should run, not just an approximate interval.
More secure Database roles. Sitecore uses a single user to access each of the databases. It would be good to have the option to segment functions to database roles. For example, the front end content delivery functions can be segmented from the administration functions. The delivery functions do not require as many permissions as the admin functions, so a separate less permissive account / role could be used for that. This is all in the name of security. Developers will still just use a single account for all their DBs, but the operations guys want a more secure option.
Sitecore installer to create database user. The Sitecore installer UI already contains all the options to allow you to install the database component of Sitecore using the current user (integrated authentication). But you can’t currently use this option. I would like this option to be able to be used, and have the installer create a new database user account for me and assign the appropriate permissions to this user for the databases being installed. The current user credentials can be used to create the new database, restore from the backup and create the new user.