Get MongoDB running on AppHarbour - it's an AppSetting thing

I have been playing around a bit with MongoDB for the first time of my life. It’s really a very nice experience and have a lot of the “just works”-feeling that I have started to get used to from frameworks like NancyFx and Simple.Data. But when i pushed it to AppHarbor I ran into problems. That all had with me not reading stuff properly… AppHarbor has a nice feature that replaces stuff in your .config files on deploy. That could be used for setting Production-environment values to your environment configuration. For example changing the connection string for a database. The add-on for Mongo DB at AppHarbor has a nice article describing this in detail. But I read it quickly and put the connection string in the -node of the web.config. It should be added as an . As the documentation clearly points out. So you want this: key=”MONGOHQ_URL” value=”mongodb://localhost/DotVoter”/>  That...
Read More

AppHarbor, Nancy and the Could not load file or assembly 'Nancy.ViewEngines.Razor.BuildProviders' error

I’ve built a small application. Just something I threw together with a friend during a hack-session at the client. (It’s a dot voting application and you can try it here, if it’s up :)) As we wanted something out there fast we built it with NancyFx and MongoDB (a first for me) and we host it on AppHarbor with continuous delivery via GitHub. Since all of these (saved Mongo) has served me well in the past I was very surprised when we ran into problem. When a commit is pushed to AppHarbor the application is compiled and the test (if any) are run. That worked fine for us but then a stage is run that’s called “Site precompilation”. That failed with the following error: > ``` > error ASPCONFIG: Could not load file or assembly 'Nancy.ViewEngines.Razor.BuildProviders' or one of its dependencies. The system cannot find the file specified. > ``` This had...
Read More

Between the chairs some thoughts on backlogs and things outside them

At my current client we have split our teams into five smaller (8 people) team. I wrote about that process before, if you want read about that. One of the big concerns that people have had after the split is how we make sure that we don’t miss stuff that “fall between the chairs” for this teams. I think that’s an overstated problem but we sat down together and as always with great people that care - a good solution came out. This post shows our findings and I’ll try to unfold my thinking on why I thought that the problem is overstated as well. Since we’re now brushing on business critical strategies I need to keep this post fairly general, I’ll try my best to make it understandable. The problem My client now has five different teams that have separate backlogs and works towards realizing strategical important initiatives for the company....
Read More

Suggested visualization for the SÖS Children Emergency

I have small children (5, 3 and 3 years old). During the winter half of the year that means that they are sick. A lot. No really: like you wouldn’t believe. Ok… like this: last year we had a cold outbreak in october and the next time all three of them was well again was in august. This means that I have from time to time spent some time at the hospital. No - you cannot go during the day since the kids mostly becomes much worse when they have lied down for a couple of hours. Like after sleeping for about 3 hours for example. The people working at SÖS children emergency room is amazing! I very rarely met people that isn’t cooperative and want to do their best, even 0430 in the night. Thanks a bunch for taking care of me and my kids when we have been...
Read More

The I am not allowed to do columns like that-problem

Today I talked with someone that was about to create her first ever board, for a team. She was a bit worried as she couldn’t fit her normal workflow on the board. We sat down and discussed for a while and her reasoning and where she got it from made me both sad and upset at the same time. In this blog post I’ll tell you more and then show why I thought that she had got some really bad advice. Here’s how our dialog played out: Me: “What do you mean: I can’t fit our workflow on the board” She: “Well, it doesn’t fit within Scrum or agile. We have an old way of working, I guess it probably doesn’t work for us.” Me: “Really?! Tell me about it: what do you do first” She: “Ok - we have a Inbox or list of stuff, and then it’s Analytics,...
Read More

Nancy.Testing - executable specifications through the full stack, in memory

When I showed the code from the last post to a colleague (@HugoHaggmark), he remarked: Nice - but that no unit test. And he’s absolutely right. A unit test should test a unit. The tests in the last post, and the test that Nancy.Testing allows us to easily write, flexes the whole stack of our application. In memory (which is super cool) but the full stack. That’s no unit test. This can still be VERY useful and in this post I’ll show you how to put one of my favorite tools, SpecFlow, in front of what we wrote in the last post, to get an executable specification. Not only that - I’ll do it in a manner that let’s you swap it and hit the HTML page if you wanted to. As the tradition calls - let's look in wonder at Nancy's silhouette. If you came here and want to read up...
Read More

Nancy.Testing - no hat, no shoes with Simple.Data

This is the fourth (oh my!) post in my series on Nancy.Testing. This time we will leave the Nancy.Testing specific stuff and let our gal meet a friend of mine: Simple.Data(.Testing). By marrying these kids together we will have a really cool full-stack-in-memory-testing-experience (FSIMTE it’s gonna be a thing!). I’ll supply you with some background to Simple.Data and it’s (awesome) testing capabilities, and I probably have to explain the title of this blog post, but then it’s just code all the way down. The other posts in the series can be found here: Intro to testing with Nancy The Configurable bootstrapper The Browser and Response objects Hat and shoeless testing with Simple.Data(this post) SpecFlow and Nancy Let’s dive right in a say hello to Simple.Data, if you haven’t met him already. Simple.Data Simple.Data is a micro-orm. Or as Mark Rendle says: It’s an ORM without any Objects, there’s no Mapping...
Read More

Nancy.Testing - testing (razor) views

I’m in the middle of writing a blog post series on Nancy.Testing and this bit me a bit (sorry, couldn’t resist myself). I have written a lot about how to test web-responses and all the great stuff that comes with it, but totally forgot about view. I assumed that it “just worked”. And it does but… well read on. It’s really simple. Keeping the story short - let’s cut to the code: There’s some really important settings to make here. If you don’t you’ll end up with an (as always in Nancy btw) excellent error message, something like this: Nancy.ViewEngines.ViewNotFoundException: Unable to locate view ‘FariyTaleFigure’ Currently available view engine extensions: sshtml,html,htm,cshtml,vbhtml Locations inspected: ,,,,,,,,views/SimpleDataModuleWithView/FariyTaleFigure-sv-SE,views/SimpleDataModuleWithView/FariyTaleFigure,SimpleDataModuleWithView/FariyTaleFigure-sv-SE,SimpleDataModuleWithView/FariyTaleFigure,views/FariyTaleFigure-sv-SE,views/FariyTaleFigure,FariyTaleFigure-sv-SE,FariyTaleFigure Root path: C:\Dev\DiscoveringNancyThroughTests\DiscoverNancy.Tests\NancyAndSimpleData.Tests\bin\Debug Oh yeah - the two settings you need to do: First install the Razor (or the view engine of choice) NuGet package: Install-Package Nancy.Viewengines.Razor Then set the “Copy to output directory” property to “Copy...
Read More

Nancy.Testing - test-dialogues with Requests and Response

This is the third post in my series on Nancy.Testing. It will focus a lot of the Browser and the Response object. Together with the Browser (and it’s ConfigurableBootstrapper) these objects makes up the entirety of the Nancy.TestingFramework. Let’s do the logo thing again, shall we? The other posts can be found here: Intro to testing with Nancy The Configurable bootstrapper The Browser and Response objects (this post) Hat and shoeless testing with Simple.Data SpecFlow and Nancy By now you’re probably just looking for the code so let’s dive right in. Browser The Browser object is the one that you use to issue requests to the site you’re testing. Most of the Browser configuration is done through the ConfigurableBootstrapper and let’s not go over that again. But the Browser has a couple of other tricks up it’s sleeve to. With each method that you can use to issue HTTP Requests (Get,...
Read More

www.marcusoft.net - 800 posts and counting

I’ve just published my 800th post! Can’t really understand that. I know that some of them haven’t been all that great but there’s some nuggets of information in there. At least for me. That’s how I started to blog: to make myself write stuff down to remember and formalize my knowledge. 800 posts, six years, 163 000 pageviews. That’s not a lot for many blogs out there but it means a lot to me. Thank you for reading my blog. Even though I started to write it for myself - comments and reactions is  what kept me going on for 6 years! I cannot promise 6 more but right now I’m on a roll.
Read More