<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>(w)asp.net - nuget</title><link>http://www.robychechi.it:80/roby/Tags/nuget</link><description>(w)asp.net - nuget</description><item><title>ElmahR 0.7.5</title><link>http://www.robychechi.it:80/roby/elmahr-0.7.5</link><description>&lt;p&gt;
	ElmahR reached today 0.7.5, with more improvements in several areas. Let&amp;#39;s see them very briefly.&lt;/p&gt;
&lt;h2&gt;
	Settings Persistence&lt;/h2&gt;
&lt;p&gt;
	Now ElmahR is smarted and recognizes the current settings you have in place when you decide that you want to be remembered and tick the corresponding checkbox, while previous version was remembering only settings changed after ticking it. It also remembers about more things: as you might know you can reorder the application boxes as you like, now ElmahR records the positions you gave them and restores them when you reconnect. Persistence of error types status coming soon.&lt;/p&gt;
&lt;h2&gt;
	Connection status diagnostics&lt;/h2&gt;
&lt;p&gt;
	On the top right corner of your window you might notice messages appearing every now and then, those are giving feedback about things that SignalR does under the hood when dealing with connection glitches, those messages are there mainly for me for debugging purposes and to understand better what goes on, they should not get too much in your way.&lt;/p&gt;
&lt;h2&gt;
	SignalR groups, finally!&lt;/h2&gt;
&lt;p&gt;
	The latest version does a first network optimization thanks to &lt;a href="https://github.com/SignalR/SignalR" target="_blank"&gt;SignalR&lt;/a&gt; groups. This feature allowed me to represent each monitored application as a group of connections. Each client is added to the corresponding application group when he/she decides to observe it (&amp;#39;play&amp;#39; button in app boxes), or is removed from the group when the user is not interested in that app anymore (&amp;#39;pause&amp;#39; button). Those settings are recorded as already explained, and both this stateful info and the tracking of user&amp;#39;s current interactions with the dashboard allowed me to leverage SignalR groups, and send errors only to clients interested in observing the source applications. This could potentially save a lot of network bandwidth if monitored applications are a lot, and users selectively turn off uninteresting ones.&lt;/p&gt;
&lt;p&gt;
	What about how I implemented this feature? Has it been difficult? Absolutely not, I just read the &lt;a href="https://github.com/SignalR/SignalR/wiki/Hubs" target="_blank"&gt;SignalR docs&lt;/a&gt; about it and applied it in the right places, it&amp;#39;s been easy and quick to do :)&lt;/p&gt;
&lt;h2&gt;
	Test Exception&lt;/h2&gt;
&lt;p&gt;
	If you go to &lt;a href="http://elmahr.apphb.com" target="_blank"&gt;the demo website&lt;/a&gt; you will see nice skulls all over the place :) Each application can be enabled to raise &lt;a href="http://code.google.com/p/elmah/" target="_blank"&gt;ELMAH&lt;/a&gt; test exception, and when it is ElmahR shows a skull in the corresponding box, pressing it will issue a GET request for &lt;em&gt;elmah.axd/test&lt;/em&gt; back to the source, which is a documented way to ask ELMAH to raise a test exception inside the monitored application, exception that should then be posted back to the dashboard. It&amp;#39;s a useful way to test if things are configured correctly, if the exception does not popup you will know that something&amp;#39;s wrong with your setup.&lt;/p&gt;
&lt;h2&gt;
	Summary&lt;/h2&gt;
&lt;p&gt;
	Many things are happening around ElmahR, the project is doing good (and slow) progress, and the community is starting contributing back with concrete pieces, like the help I received from the &lt;a href="http://nuget.org/packages/ElmahR.Elmah" target="_blank"&gt;Nuget package&lt;/a&gt;, and feedback in form of feature requests or blog posts, like &lt;a href="http://gregorsuttie.com/2012/06/04/elmahr-elmah-fused-with-signalr/" target="_blank"&gt;the one&lt;/a&gt; from &lt;a href="https://twitter.com/#!/gsuttie" target="_blank"&gt;@gsuttie&lt;/a&gt; that today made it to &lt;a href="http://www.asp.net/community" target="_blank"&gt;the official ASP.NET community home page&lt;/a&gt;! Cool! :)&lt;/p&gt;
&lt;p&gt;
	But there&amp;#39;s still a lot to do... &lt;a href="https://bitbucket.org/wasp/elmahr" target="_blank"&gt;wanna help&lt;/a&gt;? :)&lt;/p&gt;
</description><pubDate>Wed, 13 Jun 2012 21:05:29 GMT</pubDate><guid isPermaLink="true">http://www.robychechi.it:80/roby/elmahr-0.7.5</guid></item><item><title>ElmahR has its Nuget package</title><link>http://www.robychechi.it:80/roby/elmahr-has-its-nuget-package</link><description>&lt;p&gt;
	As already mentioned, a few days ago &lt;a href="https://twitter.com/#!/gsuttie" target="_blank"&gt;@gsuttie&lt;/a&gt; offered his help in building &lt;a href="http://nuget.org/" target="_blank"&gt;Nuget&lt;/a&gt; packages for &lt;a href="https://bitbucket.org/wasp/elmahr" target="_blank"&gt;ElmahR&lt;/a&gt;. We discussed and agreed that the most meaningful place to start was a package to easily configure a source, and he did a good job coming out with a first version. But then I soon realized that it would have been much easier to have the process more integrated with ElmahR project itself, taking advantage of all the Nuget packaging features. So I took over the task and finalized it, and now &lt;a href="http://nuget.org/packages/ElmahR.Elmah" target="_blank"&gt;an &amp;#39;official&amp;#39; Nuget package&lt;/a&gt; is available!&lt;/p&gt;
&lt;p&gt;
	A few considerations:&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;
		The package is called &lt;em&gt;&lt;strong&gt;ElmahR.Elmah&lt;/strong&gt;&lt;/em&gt;, and it helps you configuring a source, adding the necessary pieces to your web.config&lt;/li&gt;
	&lt;li&gt;
		ElmahR is still under development, and the same stands for the Nuget package, which has the same version number of the currently available binaries (0.7.2). The package might not be perfect, if you discover anything weird in it please let me know&lt;/li&gt;
	&lt;li&gt;
		The package manages the dependency on &lt;a href="http://code.google.com/p/elmah/" target="_blank"&gt;ELMAH&lt;/a&gt; through Nuget itself&lt;/li&gt;
	&lt;li&gt;
		This package does NOT help you to configure a dashboad instance, for that you&amp;#39;ll have to check the repository and start from there&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
	In order to implement things easily and consistently, I went through an overall reorganization of the project:&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;
		The ElmahR.Elmah assembly, which was already there but mainly for technical reasons, now is a first citizen in the project because it absorbed the ErrorPostModule, which before was gently hosted by the&amp;nbsp;&lt;a href="http://code.google.com/p/elmah-sandbox/" target="_blank"&gt;Elmah Sandbox&lt;/a&gt; project. This change simplified the overall project maintenance and made easier to build a consistent Nuget package&lt;/li&gt;
	&lt;li&gt;
		I changed the .NET framework version of this assembly from 2.0 to 3.5, this way it will still work fine with ASP.NET 2.0 web site, but at the same time I&amp;#39;ve been able to take advantage of Linq while moving ErrorPostModule.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
	I&amp;#39;ll write more about it in the next few days, probably in the project &lt;a href="https://bitbucket.org/wasp/elmahr/wiki/Home" target="_blank"&gt;wiki&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;
	Demo &lt;a href="http://elmahr.apphb.com/" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;
</description><pubDate>Wed, 06 Jun 2012 22:18:39 GMT</pubDate><guid isPermaLink="true">http://www.robychechi.it:80/roby/elmahr-has-its-nuget-package</guid></item><item><title>ElmahR persistence is evolving</title><link>http://www.robychechi.it:80/roby/elmahr-persistence-is-evolving</link><description>&lt;p&gt;
	Quick update about &lt;a href="https://bitbucket.org/wasp/elmahr/overview" target="_blank"&gt;ElmahR&lt;/a&gt;. After &lt;a href="http://www.robychechi.it/roby/tech-blog/elmahr-persistence-and-what-about-documentation" target="_blank"&gt;preparing the ground to support persistence&lt;/a&gt;, and building errors persistence on top of it, I went a step further, enabling a first draft of a simple &amp;#39;user settings&amp;#39; storage system. The functionality if really a basic one, what it does is just storing a guid in a persistent cookie, and using that guid to associate a bunch of setting to the current user and store them inside the same database used for errors persistence, provided the user activated the functionality ticking the corresponding option. The implementation itself is not really worth many words, what&amp;#39;s maybe more worth noting is the fact that this work is been the preparation for something more useful like profiling &amp;#39;real&amp;#39; users connecting to ElmahR through whatever authentication mechanism you&amp;#39;d want to use. In fact the idea here is to let user authentication as an external piece, letting implementors choose the most appropriate one or maybe even write their own ways to handle the problem, ElmahR will just leverage IIdentity interface and all the related concepts to store settings.&lt;/p&gt;
&lt;p&gt;
	At the time of this writing the system remembers for each user the status of each application feed, which can be &amp;#39;running&amp;#39; or &amp;#39;paused&amp;#39;. In the next steps it will remmeber more things, like the position of the application boxes on the left column or the status for the error types.&lt;/p&gt;
&lt;p&gt;
	There&amp;#39;s another interesting news, last week a parallel project about building a Nuget package for ElmahR source applications has been started thanks to &lt;a href="https://twitter.com/#!/gsuttie" target="_blank"&gt;@gsuttie&lt;/a&gt;, soon there will be goon news on that front too :)&lt;/p&gt;
&lt;p&gt;
	As usual, you can give ElmahR a try &lt;a href="http://elmahr.apphb.com" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;
</description><pubDate>Mon, 04 Jun 2012 20:03:29 GMT</pubDate><guid isPermaLink="true">http://www.robychechi.it:80/roby/elmahr-persistence-is-evolving</guid></item></channel></rss>