gcschorer/NServiceKit — pull request #1 by gcschorer (2014-05-22 20:21:24+00:00)
Title: Admin UI first look

This should NOT be merged, and is just meant to be a first look at a possible admin dashboard. The idea was to provide a single place for letting service owners see the operating health of their service, and make some limited changes to it. It currently consists of a main ServiceAdminDashboard plugin, and some supporting plugins/services

It's meant to demonstrate:
* How it works conceptually. A single page with a bunch of sections. Each section is just an async call to a URL, and the HTML results are dumped into the section. As an alternative, we could do this using Razor's layouts, and make each section its own page that just uses the layout. I prefer the single-page format.
* The major features we want it to cover. I think it covers all the big bases right now. Are we missing anything significant? It includes config values, high-level information about the service process itself, recently completed requests and currently pending requests.

Some specific things I'd like input on:
* What should the security model be for this? IMO, each section should manage its own security. The dashboard itself doesn't enforce anything directly. If you have access to /requestlogs, then you get to see it. If you don't, then you get whatever error page it felt like rendering.
* This plugin depends on a few other plugins (RequestLogsFeature, PendingRequestsFeature, I'm sure more are forthcoming). Should it automatically include those plugins if they aren't there already? Or should we just not include the section if the plugin isn't there? What's the best way to convey default sections, let people opt in/out, etc.
* Are there any glaring gaps feature-wise? i.e. are there any missing sections?
* How should this be distributed? Should it be a separate DLL distributed alongside the razor one? A separate package entirely? Currently, it's just embedded in the razor project.

Things I don't want to hear about:
* It's ugly. I know. If you can do better, please fix it yourself after it's been merged.
* Comments / tests / etc.