Three months after my last port, this one is to announce that ElmahR has reached version 1.0! Last time I was not expecting such a long time to finish the latest "details", but some feedback I received (like this one) made me realized that I was still missing more modularity, and that has not been so easy to achieve. I had to deeply reorganize a lot of things in order to separate different concerns not only from a code perspective (that part was already fairly ok), but also from a packaging one. It's been though, but I'm very happy about what I achieved, and this allowed me to produce a set of new Nuget packages from which you can built a full ElmahR dashboard from scratch in Visual Studio, or add it to any existing monitoring application yo might have in place.
The ElmahR.Elmah package was already available, and was making easy to hook an existing application to a dashboard instance, but now we have several more to build a dashboard:
- ElmahR.Core: this is the foundation of the dashboard, where posted errors are handled, associated to applications and broadcast to client, where all the necessary abstraction and related default implementations, are introduced, and where a basic streaming log page is deployed
- ElmahR.Modules.Dashboard: this modules works on top of ElmahR.Core and add the full fledged SPA (Single Page Application) dashboard page I've been working on since the beginning of the project
- ElmahR.Persistence.*: while ElmahR.Core by default keeps errors in memory without storing them anywhere, these modules let you persist errors on several different durable support
ElmahR.IoC.: the main module ElmahR.Core embeds an *IoC container (thanks to TinyIoC)to make dependencies resolution management easier and to integrate it with SignalR
DepandencyResolver, this set of modules (so far there's only one implementation for NInject) will allow you to have more integration with your favorite container you might be using already
I also took advantage of this step to update ElmahR dependencies to the latest available versions, including the amazing official release of SignalR!
During the next days I'll try to write a few more blog posts about some (hopefully) interesting details, in any case I did a lot of work on the documentation, you can check it to understand how ElmahR works and for most of the configuration cases.
I'm very excited about this release, and now I'll hopefully take some rest, I'll keep on working on the project in order to fix bugs that might come up, and I'll be thinking about how to make it evolve in useful and interesting directions. I'd really want to thank a all the people who supported me with their feedback or concrete contributions, in particular Atif, the author of ELMAH, who I had the pleasure to work with and who supported me a lot especially at the beginning of the project, David, "SignalR man", and then Gregor, Nick, Ben, Carlos, and my wife :)