Lots of development time, lately !
Once I finished integrating VisualWebGUI into Diavolo, I was able to think to refactor a lot of code and I just had to decide where to start. I'm planning to rewrite most administrative functions using VWG because that will make a lot easier to implement even complex functionalities. But go a step forward toward finishing Diavolo, I thought to work on its Dashboard.
You might wonder why Diavolo needs a Dashboard so I'm just grabbing a screenshot for you (and preview for our new corporate Website implemented with Diavolo !):

So dashboard is that nice panel which can be scrolled down to reveal a few functionalities which are usually handy to provide on every page of website even if they're not part of any specific page. For example, login controls will be placed on dashboard and they will be available on every page. In that screenshot, you can see a snap of currently-enabled admins panes on dashboard: an overview of your login status, a security panel which allows to quickly change roles allowed to view and edit that page and a panel with shortcuts to common administrative tasks. Dashboard can be closed or opened at will. Here's a peek of what dashboard panel will look like when closed :

You open it with a click and the close it. That will allow you to save precious screen real estate while still providing some non-essential functionalities like login, shortcuts to pages and so on. Great thing about Diavolo dashboard is I made it extensible and customizable at will. It will be built around panels which are basically web controls which Diavolo will load on demand when building dashboard so portal administrators will be able to add and remove panels which will be shown to users, being able to even decide order in which panels will be shown.
This is really a nice point of extensibility as panels can basically be everything since your ASCX files can even just include simple HTML markup if you just want to provide simple HTML contents. At runtime, Diavolo will show a list of all ASCX files in a specific folder and allow administrators to decide which panels to show :

Here you can see very simple Dashboard management : on the left, a list of all panels (components) which are available in ~/Modules/DashboardModule/Panes folder of your portal. Then admins can customize components for three different users types : Anonymous, LoggedIn and Admins. If you carefully look at that image (I hope you can: it's very small !), you will see that components Login (to allow users to login) and NewRegister (guess!) are configured for anonymous users.
Logged-in users will be shown a LoggedInVSW panel, which is a customized version of LoggedIn component which will ship with Diavolo, and UsersShortcuts components which simply is some HTML markup to provide shortcuts to specific pages (like orders, for example) for users of our own corporate website.
Admins will instead be shown LoggedInVSW panel (which, for example, will allow to logout and to edit your own profile), SecurityPanel (a panel to manage security for current page) and AdminShortcuts.
I have to say that I'm implementing panels for our website and dashboard already proved to be a very nice and easy point of extensibility. I plan to let portal admins to be able to customize Dashboard based on user role, not only their statuses, but I think we had a good start with current configuration.
Panels need not to be Diavolo modules and, infacts, they should not be unless you really need to have your panel be a module too. Panels are simply web controls (or better, they inherit from UserControl) so any control can be a panel. You will just need to pay attention that any dependency your panels will need will be installed into Diavolo (i.e. assemblies in bin folder, images and so on).
And one of most exciting feature is panels are fully localizable ! YaY ! You might say I'm a bit obsessed with localization but in my job I usually need to work with websites which can be accessed by different users and I usually stumble in products or CMS which are only partly localizable (last one I met : Orchard... pffff) and that means you have to fight with those applications to achieve a good result. I'm happy to say that even dashboard panels will be localizable, both with markup and in code, since while they don't really depend on Diavolo itself, they can use standard .NET resource management Diavolo implements to localize contents.
And that's GREAT ! 