Sunsetting of EAS MD Online

It feels like forever since I’ve blogged, but maybe that’s just because it’s been like two months since I last posted 🙂

I haven’t been lazing around in the meantime, and I’ve been working on a lot of things, but they haven’t necessarily been stuff that can be blogged about. I hope to get around to things like Windows 10 MDM soon (the necessary bits from MSFT aren’t available yet), and since the Office 365 APIs went GA two days ago I’ll probably take another stab at those in my lab. I’ve also been doing so much Azure lately I don’t know where to start, but I’m still not sure what fits into the theme of my blog in this department.

Anyways, I just though I’d do a quick update on the status of EAS MD Online. The desktop version of EAS MD is alive and well on GitHub in an open source form. The online version is still up there, but it hasn’t been receiving much attention from anyone for a long time. It’s basically just been left there since the cost of running it has been negligible. I have thus made the decision that I will sunset this service, and shut it down at the end of November.

If you have a valid reason why this would cause you pain you’re obviously welcome to shoot me an email, but I can’t guarantee the outcome 🙂

EAS Web API – Status 28. February

Another month, another release. At least I’m keeping it alive I guess 🙂

No big things this time either:
– I rolled up NuGet updates.
– I changed return types from List<x> to IHttpActionResult (as I mentioned last month I might do). Haven’t gone async yet since I want to go over the rest to see it’s “proper” async if I go that route, but it’s a start.
Nothing magic comes of this as such, but it lends itself to cleaner REST-like behaviour with

return Ok(items);

instead of

return items;

(Silly example I suppose – maybe

return InternalServerError(); 

is a better example.)
– Cleaned up some return values; so for instance instead of an empty JSON object "[]" when no results are found HTTP 204 (No Content) is returned.
– Started implementing the “SendMail” command (not completed yet).

I was made aware of an issue with my conversion from XML to JSON when it comes to contacts. It seems there are cases when the Contact objects are not serialized correctly on my end, so it ends up with a mixing attributes from one contact with another… Yeah, you could indeed call that a nice little bug. So, I’m going over the code there to see what I’m not doing right. (Probably something minor, but my XML parsing isn’t what you would call optimal.) I don’t know yet if this is something impacting other item types as well.

As usual the code is on
and the test site is on

EAS Web API – Status 31. January

Fairly minor update this time (as well). Visual Studio 2013 Update 1 was just released, and with it a couple of upgrades to the usual suspects in NuGet.

So I’ve done all NuGet updates including Web API 2.1 and MVC 5.1. (Bunch of other related ones to of course like jQuery, etc., but they’re pretty much the same with my limited UI.)

I’ve also enabled XML documentation generation for the API Help Page. If you open the solution in Visual Studio it’ll spit out about 80 warnings that not all public classes and methods are documented, and I might get around that by just stubbing out something to make it stop complaining. In the meantime I have documented the API controllers, which looks nicer even though they feel mostly self-explanatory.

I haven’t documented the properties of the items returned as these are in a different solution (and as such wouldn’t be included anyways even if I did decorate them). I’m considering whether I should add a ViewModel on top of the models though.

I was looking into Attribute Routing as well, since I’ve been quite happy with that technique in a different project I’ve been hacking on. But it seemed to be better to combine that with some other restructuring. (Going with public async Task<IHttpActionResult> instead of public List<x> perhaps? Although documentation works better if you know the exact type of object you get in return. Hmm…)

As usual the code is on
and the test site is on