Congress may be lame duck but our new voting app is not!

 Netizen is a Windows 8 app (available in the Windows Store for free) that brings the voting record of your congressional representative to your finger tips, directly from your Windows 8 device. Simply select the member of Congress you want to follow and “flick through” their voting record. Information about each member’s voting record is stored in Windows Azure Storage and is updated daily.

But don’t just follow how your representative is voting in Congress, make your voice heard. By clicking on the “Like It” button on the mobile application, you can influence your friends and neighbors about the bill through the power of social networking. For each bill, Netizen automatically provisions a Facebook page[1] dedicated to your member of Congress. This page acts almost as a virtual ballot for a bill as well as a community hub where fellow constituents can gather to express their support. Read on for more, plus some screenshots from the application:

Read More…

“Utility billing” or “only pay for what you use” are often cited as cost-saving benefits of cloud computing. All that is fine and dandy, but it is still the consumer’s responsibility to turn any unneeded stuff, such as virtual machines, off. In fact, as most of you already know, turning virtual machines off is not enough. Unless you delete them, you will continue to accrue charges.

One way to make sure you don’t leave stuff running unnecessarily is to periodically check your current bill to make sure it is not out of line. Unfortunately, this means logging on to the billing portal, navigating to the page that displays the current balance etc., and doing so on a regular basis. Let’s be honest…we all know how likely that is.

Fortunately, products designed to alleviate the aforementioned challenge are beginning to be appear on the market — even though the market for cloud management tools is still fairly nascent. However, these solutions tend to be “enterprisy” (i.e. targeted towards enterprises that are running large cloud-based applications). We were looking for a simple tool that allowed us to keep an eye on the outstanding Windows Azure balance.

Enter Azure Ticker App.

Read More…

I have been trying lots of new things since I got on board with AIS. From MDX to PowerShell to MVC. My newest endeavor was Azure. I was initially intimidated by the amount of time I would have to spend getting to know the setup before I could do something simple on it, but I have to say it was about the easiest thing I’ve tried so far. Congrats to the folks at Microsoft for creating something so useful that “just works,” even if you are the person who always tries to make things too difficult (me).

I got my first website up and running on Azure in about one hour, including migrating my database. It was so easy I had to share a simplified version of my experience.

Read More…

I’ve been working with Powershell lately, and I wrote a couple of functions to help verify server permissions in Microsoft SQL Server.

Why would I want to verify server permissions instead of verifying server roles? In my case, I’m interested in knowing if a particular user is able to create a database on a SQL Server. While the dbcreator role does allow a user to create a database, there are other roles that will also allow a user to create a database, such as sysadmin. Additionally, if a user is a member of an AD Group that has the role assigned, then the role is not directly assigned to the user. In the end, I found it simplest to check for the actual CREATE ANY DATABASE permission.

In this post, we will see how to check if the current AD user has a specific server permission and how to check if an AD account other than the current user has a specific server permission.

Read More…

Over the last couple months, I’ve been working on a SharePoint app in my spare time. The app, which is SharePoint hosted, requires site collection permissions and reaches back to the Host App to inspect lists and other objects to identify common issues that impact the performance of SharePoint.

One of the first things I struggled with, though, was how to access the data through the SharePoint Client Object Model in the Host Web. Every code sample out there just works with data within the app, and doesn’t try to go back to the Host Web to get the data. Since there is a security barrier between the app and the Host Web, you can’t access data in the Host Web through the client context of the app. You must retrieve the site through a special method in the SharePoint API called AppContextSite.

Read More…

Media Center is a SharePoint app that allows you to integrate your Windows Azure Media Services (WAMS) assets within SharePoint.

Before I describe the app functionality, I think it useful to take a step back and briefly talk about why this app is needed and the design choices we had to make in order to build it. This is also a great opportunity for me to thank the team who worked very hard on building this app including Jason McNutt, Harin Sandhoo and Sam Larko. Shannon Gray helped out with the UI design. Building an app using technical preview bits with little documentation is always challenging, so the help provided by Anton Labunets and Vidya Srinivasan from the SharePoint team was so critical. Thank you!

At AIS, we focus on building custom applications on top of the SharePoint platform. Among the various SharePoint applications we have built in the past, the ability to host media assets within SharePoint is a request that has come up a few times. As you know, SharePoint 2010 added streaming functionality, so any media assets stored within the content database could be streamed to the SharePoint users directly. However, the streaming functionality in SharePoint 2010 was never intended to provide a heavy duty-streaming server. For instance, it does not support some of the advanced features like adaptive streaming. Additionally, most organizations don’t want to store large media files within SharePoint in order to avoid bloating the size of the content databases.

Enter Windows Azure Media Services (WAMS).
Read More…

I recently attended SPC12 with many of my colleagues from AIS.  One of the sessions I really enjoyed was High Availability Solutions with SharePoint Server 2013 delivered by Bill BaerThis sessions was geared toward the ITPro (admin) audience and detailed the options when making SharePoint Highly Available.

During this session I found it interesting how much time was spent talking about mirroring.  Mirroring is now considered a deprecated technology but is still supported by SharePoint 2013.  Today I’d like to break down the session and talk about my thoughts on each point.

Read More…

I recently ran into a problem: How to test some code that was not readily testable without carrying along a database.

It was my own fault, really. I had quickly written a data access layer that was directly dependent on Entity Framework, and was also doing some minor business logic. Because I had a direct dependency on Entity Framework, and had not used dependency injection, I had a problem… How do I write unit tests against those methods that contain business logic that also make direct calls to stored procedures through Entity Framework?

Read More…

Workflow, as far as I can tell at this point, is one of the most overhauled functionalities from SharePoint 2010 to SharePoint 2013. The first major difference is that it’s no longer contained within SharePoint. Workflow is now handled by Windows Azure Workflow (WAW).

“Whoa, whoa, whoa! Does that mean I’m going to have to pay Microsoft some hefty usage fees to have Workflow in my 2013 environment? I really don’t see how that’s going to fly with the bosses,” you say.

Fortunately, no, that’s not the case. While I’m sure there will be a model for this, it’s not the only one. You can host WAW on-premises just like SharePoint. We’ll delve into that momentarily. Windows Azure Workflow is built on Windows Workflow Foundation 4.5 (WF4.5). WF4.5 introduces several new features as detailed in the MSDN article “What’s New in Windows Workflow Foundation.” This will require a separate install that can run on a SharePoint server or its own environment. We’ll also look at the architectural implications in a bit.

The “meat” of this post is going to focus on three areas: Architecture, Development, and how these would affect the design of an existing SharePoint 2010 Workflow project. The architecture changes only start with WAW and WF4.5. We’ll discuss the installation requirements, how it’s hosted, security, and the Pros and Cons of WAW. The development story has changed, at least to me, far more. I’ll explain the changes to coding (Hint: You can’t…directly), how web services can remedy the last statement, and custom actions. Finally, we’ll take a look at the project I discussed in my last post “Developing Multi-Tiered Solutions in SharePoint” and how that design would be changed for a SharePoint 2013 environment.

Read More…

When it comes to the Web Forms vs. MVC debate, the question isn’t “Which is Better?”…but “How to Switch?”

I have been studying and trying to transition to Model-View-Controller (MVC) for about six months and I have come across some fundamental thinking that must be changed and new things that must be learned in order to make the switch. I worked with Web Forms extensively in my previous position, and since joining AIS have made a commitment to myself to embrace the switch. I am still learning, but this is what I have found so far (your results may vary).

Read More…