Alexander Vanwynsberghe

"There is nothing impossible to him who will try"

Debugging Apps for SharePoint Online on a non-development site collection

In a previous post, I was talking about how you can use Project Server Online data in a SharePoint 2013 App using CSOM. One thing I was talking about was the fact that you cannot debug an application when you’re not using a development site collection. You will see this nice error:

Eli Sheldon (Program Manager at Microsoft) gave me this explanation (Thanks!):

SharePoint added a site collection level feature near RTM that, once enabled, will allow you to F5 deploy from VisualStudio, no matter what type of site collection you are targeting. Until the new bits roll online and this is documented, your best option here is to F5 debug on-prem and publish an app package and use the corporate catalog to test online.

Well, good news, SharePoint (online) is RTM (since a few weeks). Let’s find out how we can debug our SharePoint app on a non-development site. The reason why I really want to this, is because I have a Project Online App which requires a site collection where PWA (Project Web Access) is activated. Development sites cannot be created with an Active PWA.
I was hoping to see an option in the O365 SharePoint admin center where I could activate this ‘feature’. But unfortunately, there isn’t, or at least I couldn’t find it. So, the next thing I did was opening the solution of my previously created app, and hit F5 debug it. Note: be sure to install the latest version of the Office tools for Visual Studio 2012. As a result F5’ing my solution, I had this error:
So that’s a no-go, because “sideloading of apps is not enabled on this site“. After some research on the MSDN forums, I found a PowerShell script allowing you to enable Sideloading.  Because it’s not available in the interface, the only option you have is to run the PowerShell script to enable this feature. (There is not quite much information about this Sideloading thing yet though).
The first thing you have to do is download the SharePoint Online management Shell (link). The PowerShell script you can use is:
All you need to do is enter you site name, your username and your password. You will get:
That’s it. Now you can F5 your App, and it will be deployed and will also be debuggable on a non-development site, or in my case a PWA site collection. A small app that will load all Projects from my Project Site collection. Nothing fancy, just an example. Have fun!

Visual Studio 2012 Launch Event: Slides

A few days ago, my company (RealDolmen) organized an event related to the launch of Visual Studio and TFS 2012. It was a great success and we had a lot of attendees. The 2 rooms were really crowded, which was absolutely great! On the event, I had the chance to talk about two great topics:

  1. Getting your database development under control using the new SQL Server Database Tools (SSDT)
  2. Cross-platform development with TFS 2012

I had some good feedback afterwards which I really do appreciate! I’ve uploaded my two slide decks to my SkyDrive so you can download them if you’re interested. You can find them here. Have fun!

And remember:

Microsoft Feedback Client using TFS11

bg

When your team is developing software, it is really important to capture feedback from the project stakeholders like end-users and the product owners. This way, you can ensure that the progress that the team is making is on track to meet the requirements that the stakeholders have in mind. In the next version of Team Foundation Server, there is a new tool called ‘Microsoft Feedback Manager’. I mentioned this in a previous post, but now I will handle this subject a little bit more in depth using the brand new TFS11 beta.

 You can start the Feedback tools in two ways. The first way is ‘voluntary‘, where you decide to gather some feedback without being asked. The second way is ‘on request‘, where you got a request to give your feedback about a particular part or feature of an application. To start a ‘voluntary‘ feedback session, go to Start -> All Programs  -> Microsoft Visual Studio 11 -> Microsoft Feedback Client. The first thing you have to do is connect to your Team Project. After you select the Team Project, the feedback client is running on the left side of the screen:

There you see in the Instructions that you’re running the tool in ‘voluntary’ mode. In this mode, you don’t have any instructions available about the feedback session. The other way to start the feedback client is by making use of the ‘Request Feedback’ link on the TFS11 Web Access.

In the “Request Feedback” screen, you select the Stakeholder(s) you want to invite. You also provide some information about the product/application and what you expect as feedback. This can be anything related to a particular feature or about a general thing

When you click on ‘Send’, you should receive an email with the request for a Feedback session. In this email, there is link which will open the Feedback Client. The first time you do this, you’ll get a dialog asking you to open the Feedback client

When the Feedback client is started, you now see that the ‘Application‘ and ‘Instructions‘ have the same content as you provided in the previous dialog on the Web Interface

When you click ‘Next‘, you’re ready to gather some feedback. Do what you have to do (described in the instructions) and enter as much feedback as you can. The Feedback client has support for audio, video, screenshots and attachments. Using this functionality, you can create rich feedback to the developers. When you make a Feedback Request, you can also request multiple feedback items. In the Feedback Client tool, you will see multiple items to gather feedback for.

The last step is to Publish your feedback. Just click on ‘Next‘ and you will see a summary of the feedback you provided. You will also see the location where the feedback will be stored.

Now your feedback is submitted to TFS. The person who requested the Feedback can check your session. You can do this using the TFS Web interface. Go to the ‘Work Items‘ section of you Team Project, select ‘Shared Queries‘ and open the ‘Feedback Requests‘. There you will see you feedback request and the actual feedback session.

One of the nice things is that you automatically get the System Information which can be very useful for Web Application, because it will also show you the browser version and some additional information. Actually, this information is linked to your Feedback Response Work Item.

Now you have an idea what the possibilities of what the Feedback Client can do for your. It’s really a powerful tool to help you collection all information you want from your stakeholders. It’s nicely integrated in the Visual Studio 11 suite and it looks slick in the new metro-style. Thanks for reading!

Visual Studio ALM vNext: Continuous feedback

wp7_pptx2

In the next version of Visual Studio ALM, there is a big focus on gathering continuous feedback trough the complete lifecycle of a project by involving the Stakeholders in your project. In this article, I want to talk a little bit about the ‘Continuous Feedback’ thing and how Microsoft will support this in their new Visual Studio version.

Continuous feedback you say?

Let me ask you a question: How often have you built software that matched what your customer asked for, but after a demo or just before the release the customer tells you that this is not quite what they wanted? It’s hard to understand what customers really want. If you ask them what they were expecting, the most common answer is “I don’t know, definitely not this but something else”. Ok, but what exactly is the “something else”? No one is really able to explain it. To prevent situations like this, you can try to freeze the requirements in the early stage of a project. You can clarify this to your customer in a sense of “We need to know what we want to build before we start with the development”. No matter how hard you try this, you always have resistance from the customer and in the bad cases, you lose the customer from the beginning. This is definitely not something you want! So how can you prevent situations like this? Well, using an agile practice is the way to start. Let me give you an example of an agile software development approach where you see the flow starting with the requirements:

The emerge of a new application always starts with the requirements. If you don’t have some good, clear and approved requirements, your application/project will definitely fail. Continuous feedback  is also applicable in this part of the application lifecycle. In the next version of Visual Studio ALM you will have a new tool called ‘PowerPoint Storyboarding’

PowerPoint Storyboarding

This new feature will provide you a storyboarding plugin for PowerPoint. It will allow you to do some mocking using the tools you’re already familiar with. It’s really a nice feature because it will allow you to quickly create something you have in mind. It’s easy, and you don’t need to do a lot of magic to show something decent. It comes along with some basic template-slides like for a web application, a Windows Phone 7 and even a Windows application.  I also includes a bunch of standard shapes and you can also add your own shapes to the library. The cool thing is that you can link those storyboarding slides to a Product Backlog Item on TFS so they are available for everyone.

When you have good requirements, you can define your sprints, link the product backlog items to the sprint and start developing. As a developer you do not want to work completely on your own and be completely responsible for your own code, right? What I mean is that it’s really a good practice to use code reviewing. In the next version of Visual Studio ALM, you will have complete code review integration within Visual Studio.

Code Review

Visual Studio vNext includes integrated code review support. This lets team members provide feedback on new code, lifting the shared knowledge of the team. If desired, code reviews can be set as a quality gate in the development process. A developer can now ask a code review request to another developer. This developer will receive this request (using the new improved Team Explorer) and can view the request, linked to the piece of code that has to be reviewed. The developer can make some suggestions on the code, and add some comments to the response. There is a complete workflow behind this that I will explain in a later post. The nice thing is that this is all done within Visual Studio linked to Team Foundation Server.

Ok, at the end of a sprint, you should have a deliverable, which you can show in the Sprint Review meeting. Another nice feature for the Visual Studio ALM vNext version will be the ‘Feedback Manager’.

Feedback Manager

This is a tool based on the Microsoft Test Manager technology. You can see it as the ‘execution’ part of MTM. It uses the same technology and it allows you to let your stakeholders test your application like they will use it in ‘production’. The feedback manager tool keeps track of everything the -end user/stakeholder- is doing. It also lets the user add additional information about the things he/she encounters. This can for example be a screenshot. A cool thing is that a screenshot can automatically be edited using Microsoft Paint by double-clicking on it. What you can also do with this feedback tool is creating a bug work item in TFS. The ‘steps to reproduce’ field will automatically be completed with all steps the user followed. You can also reduce the steps (for example if a user has been clicking around for 30 minutes, you do not want to include all steps from this session).

Now you have anoverview about what Microsoft Visual Studio ALM Vnext will offer you regarding continuous feedback. In some next posts, I will take a little bit more in depth about each new feature. Thanks for reading!

How-to Visual Studio 11 ALM VM on ESXi

Last week, Brian Keller released the Visual Studio 11 Developer Preview ALM Virtual Machine along with 6 hands-on-labs. You can read more in the blogpost he made about it. I definitely wanted to try the new features that were introduced with Visual Studio 11 and Team Foundation Server 11. So how easy can it be to just download the Virtual Machine Brian made, fire it up and discover all this amazing stuff.

Just perfect, only one problem for me. I don’t have a running Windows 2008 R2 machine which I can use to run the Hyper-V image. What I do have is a VMware ESXi server with some space and performance left. So.. How to run a Hyper-V image on a VMware ESXi? It’s quite easy, and I’ll explain how this can be done.

 

Step 1: Download the Hyper-V image
That’s about 12Gb, so it can take a while if you don’t have a fast internet line. When all parts are downloaded, just click on the first item which is an exe file called: “VisualStudio11ALMDeveloperPreview.part01.exe”  This will start a WinRar unzipping, and it will create 3 folders and a file. What you need is the file “BL_WS2008R2SP1x64Std.vhd” in folder “Virtual Hard Disks“.

 

Step 2: Convert your .VHD to .VMDK
What we did was a manual conversion from the vhd file to vmdk. We did this using a small utility called Winimage. The conversion is really simple. Select ‘Disk->Convert Virtual Hard Disk Image’. After that, select your .VHD file, choose the type of image you want to make (As this VM will only be used for the labs, I took a fixed size one), and the last step is to select the output destination. Here we go, the conversion will start and it will take quite a while to convert.

 

Step 3: Upload your .VMDK to the ESXi datastore
Now we have the virtual machine in an .VMDK format, we can upload this image to our ESXi host. Once this is uploaded, we can use it as hard disk in our new VM we will create later on. To do that, you have to:

1. Start your vSphere client, and connect to your vCenter
2. Select your VMware host
3. Click “Configuration”
4. Click “Storage”
5. Look at right hand side datastore
6. Right click one of the datastore LUN and click Browse Datastore….
7. Click on the upload button
8. Select your .VMDK image and start the upload 

 

 

Step 4: Create new a VM and attach the .VMDK image
The next step is to create a new VM. Just loop the simple wizard to create one. Give it enough resources (The installation guide tells me 6 GB of free physical RAM but 8 GB or more is recommended). The latest step is to remove the newly created hard disk from the list (as we already have one from Brian) and add yours, which you have just uploaded. When ready, just save your VM.

 

Step 5: Time to play
When the VM is created, it’s time to start it. Normally the VM should boot into Windows 2008R2 without any problems. If you see the login screen, you’re awesome!

Newvm04

 

PS: I read something that you can also convert your .vhd file using VMWare converter, but we did not try that.. If you did, just add a comment!

PS 2: As Brian just mentioned in his comment: Note that the agile project management dashboards assume that the date is Sept 14 and the time is 8 p.m. If you care about getting the right agile dashboard data then you should look for an option to disable the date/time sync. In Hyper-V this is an option under settings. If you use VMware, you can install the VMware Tool on the host machine, and then disable the checkbox ‘Time sync’ as you can see in the screenshot below. Thanks for the mention Brian!

Vm

Thanks a lot for reading and have fun playing! The credits for this post are also for my colleague Frederik Vannieuwenborg