Last week, we (Ensoné) presented at the Yammer Ignite Prague re-delivery organized by Microsoft Belgium. The reason I’m writing this blog post is because we actually managed to use Yammer to boost our event. (Funny: “An event about Yammer, on Yammer”) We succeeded in our mission! With 20 participants, we had more than 100 conversations, 250 replies and 200 likes in just one day!
Moving an existing Git Repository to TFService/TFS 2013
In this post, I will describe how you can easily ‘move‘ an existing Git Repository (like GitHub, BitBucket,..) to Team Foundation Service or Team Foundation Server 2013. As you might know, TFS Service and 2013 offer Git support as DVCS solution. You can find some additional information about the Git story on the great blog post by Brian Harry!
So, you have an existing Git Repository, and you want to ‘move’ it to TFS? Well, compared to a migration from one server using TFSVC (a topic I blogged about recently) to another server (like TFService), moving a Git repo is a piece of cake! In fact, you have two options
Migrating from TFS on-prem to TFService in the cloud
In this post, I will demonstrate how you can migrate your TFS on-prem to TFService in the cloud. This process will migrate your sources and your Work Items. When you want to migrate from an on-prem version to the cloud, the only viable option is using the Integration Platform. Because using the Integration Platform can be challenging (if you Bing/Google the integration platform, you’ll see what I mean), I want to guide trough the required steps to perform a migration.
Awarded as MVP for Visual Studio ALM
Yesterday, I received my first Microsoft MVP (Most Valuable Professional) award for my contributions to the Visual Studio ALM community. I’m really happy and honored that I got this recognition. I enjoy working with the ALM community and I’m looking forward to what the future will bring. I promise to keep sharing everything I know and what I learn at customers! I hope my blog posts are useful and if you think there is anything I can improve or if you would like to see some particular topics on this blog, please just let me know! Read More
Debugging TFS Web Access Extensions
Last week I was working on some TFS Web Access extensions. For those who don’t know what this extensions are all about, just try the ‘Task Board Enhancer‘ by Tiago Pascoal and be amazed by the power of it. In short:
In Team Foundation Server 2012 (and 2013) you can develop extensions for the web interface, the extensions are Javascripts that can easily be installed using the TFS Web Access Control Panel. You can create plugins using the Javascript Object Model of TFS. An example can be a custom Work Item Control that can be visualized on the Web Access. More info and some how-to’s here.
Project Server 2010 CU August 2013 Issues
Microsoft announced the release of the August 2013 Cumulative Update (CU) for Project and Project Server 2010 and 2013. After installing this Cumulative Update, there were some problems though!
First of all, you can find a description and download the CU using this link. When you execute the downloaded bits, it will extract the installer to your system. Double-click on it, and it will “install” the CU to your environment. What you have to do next is running the “SharePoint 2010 Products Configuration Wizard“, which will perform the actual upgrade/patching. Just follow the steps of the wizard, and the configuration -should- complete without any errors. Although, this will happen Read More
What’s new in TFS 2013 Build?
In this post, I want to show you some of the new features and changes in the 2013 version of Team Foundation Build. In my opinion, there are some nice little things that will make your life much easier! Let’s go!
TFVC and Git
With TFS 2013, you now have the possibility to create a Team Project using Git as version control system. This will create a central GIT repository where you can push and get files from/to. Visual Studio 2013 will offer you a great GIT experience. You can find some information about the GIT story on the blog post from Harry Brian. Read More
Installing TFS 2013 on Windows Server 2012 R2 with SQL Server 2014 CTP1
In this post, I’ll guide you trough the process of installing Windows Server 2012 R2, SQL Server 2014 CTP1, and on top of that the brand new TFS 2013 that was released in preview yesterday at Build. The reason I do this post? Well, I just love using the latest bits and finding out the different compatibility options. So, be aware that this post will mainly consist out of screenshots, many screenshots.
Let’s go. What I did was creating a new Hyper-V machine on my existing Windows 8 host. Give it some memory (4096MB seems to be enough for this basic installation). Boot the machine using the Windows Server 2012 R2 image. Just follow the wizard.
NOTE: you can of course also create a brand new Windows Azure Virtual Machine using the Windows Server 2012 R2 template. Just just ignore the first part of this post.
Windows Server 2012 R2
Select the second option (with the GUI)
Select an administrator password
There you have it, Windows Server 2012 R2. Did you notice the “new” start button?
Active directory domain controller (optional)
Allthough this step is optional, I decided to install a AD DC controller on this machine. I just wanted to know if there were any changes to this process, comparing to 2012. To start, select “Add Roles and Features” and add the role “Active Directory Domain Services”.
Wait for the installation to complete
One last step, promote your server to a domain controller
Complete the wizard, and verify the prerequisites
Your machine will be restarted.
And that’s it. Your machine is an AD controller. What you can do now is adding some AD service accounts like SQLService, SQLRS, SQLAS, TFSService,..
SQL Server 2014 CTP1
Next step, the installation of SQL Server 2014 CTP1. But first, a big “do not forget”: You need to have .NET 3.5 enabled. I was hoping that the SQL Server installation wizard would handle this, but you have to install it manually. Otherwise, you will get this great warning:
Ok, assuming that .NET 3.5 has been installed successfully, start the SQL Server wizard
Set the correct account names. In my case, I used the AD accounts that I created in a previous step.
Add the current user as Administrator
Add the current user as Adminstrator
Install and configure Reporting Services
And including a new SQL Server 2014 management studio
Team Foundation Server 2013 Preview
And now finally the installation of TFS 2013 Preview. Not a difficult one, as with the previous components, it’s as easy as completing the wizard. Start the installer:
Select the ‘Advanced‘ option, as I want to select my SQL Server, Reporting and Analysis Services
Enter your service account. I did it the “right” way and used an Active Directory account
Use the default settings
Configure reporting
Populate the URL’s from your Report Server installation
Test the SQL Server Analysis Services instance
Enter your “Report Reader” account (again, I used an AD account)
I did not configure SharePoint, as it’s only a lab environment
Create a new Team Project Collection
Verify the “Readiness Checks”
Configure everything
There you have it! TFS 2013 Preview has been installed
To verify, open the TFS Administration Console
To test the installation, I’ll just create a new Team Project using the new Visual Studio 2013 Preview, I used GIT as version control system:
And the web access:
Pretty cool! That’s it for today. A long screenshot-intensive post. Enjoy your TFS 2013 Preview installation!
How to setup DirSync with Project Online
Last week, the Active Directory team released a new version of a tool called “DirSync”. This is a tool who makes it possible to synchronize Active Directory accounts from your on-prem environment with Office 365. The version they release was a special one. Let me quote:
I’m happy to let you know that we’ve made it dead simple to connect AD to Azure AD, enabling users to log into Office 365, Windows Azure and any other cloud app integrated with Windows Azure AD using their on-premise username and password. We’ve done this by updating Windows Azure Active Directory Sync Agent (a.k.a. DirSync) adding the ability to sync hashes of users’ on-premise AD passwords into Windows Azure AD.
How cool is that? Well, curious as I am, I decided to give this tool a go and synced my (playground) Active Directory to my Project Online tenant (which is nothing more than a Office 365 subscription). In this post, I’ll explain how you can achieve this.
First things first, you need an Active Directory. If you have an on-prem AD, just skip this step, at it’s just for demo purposes. As I don’t have the required hardware, but I do have an MSDN subscription, I used some Windows Azure VM’s for that part. What I did was first creating a DNS server (Networks -> Virtual Network -> Register a DNS Server). Next, a new virtual network using my DNS Server. Now you can create your 2 Azure VM’s. I will not explain this in detail, but be sure that you use your Virtual Network when you go trough the Wizard.
You need 2 VM’s, one for the Active Directory role and one responsible for the DirSync. I’ll not go into detail about how to setup an AD role and how to join the other machine to this domain. You can find all info here: http://technet.microsoft.com/en-us/library/jj574166.aspx. Once completed, you should have this:
Next up, we will ‘enable’ DirSync at our Office 365 subscription. Browse to https://portal.microsoftonline.com/DirSync/DirectorySynchronization.aspx and enable step 3:
Next up, we will install the “DirSync” tool. You can download the latest version here (or use the “Download” link on the page you’re currently looking at). Once the file has been downloaded (180 MB), run the installer, and follow the wizard. The installation takes about 10 minutes.
Once the installation has been completed, the configuration Wizard will start. Provide your Windows Azure Active Directory Administrator (WAAD) Credentials. This is the account that you used to create your Office 365 subscription. (if you don’t know the credentials, or you want to try, browse to: https://activedirectory.windowsazure.com and test it)
At the next step of the wizard, enter your Active Directory Enterprise Administrator Credentials.
At the next step, be sure to enable “Enable Password Sync“. That’s this cool new feature!
Once the last step has been completed, a first “full sync” will be started:
That’s it! Nothing special. Now you have to check the “Users” in your Project Online (office 365) subscription. Browse to “Admin -> Office 365 -> Users“. There you will see the AD users! Great! Now, just “syncing” this users does not mean that they have access to your subscription. They are not assigned to a license. To manage this, click on the user, and select “Activate Synced Users“
Assign the correct license to this user, and click “Next” to finish. Note that this user will get a temporary password, but you don’t need this as you have DirSync with password sync (joy!).
Still one small thing to do. “Share” my site (in this case the Project Web Access) with that new user. Just click on the “Share” button.
Now open a new (inprivate) browser window, and login using the username and password from your Active Directory. There you go:
There you have it! A sync between your AD and Project Online (Office 365). But it doesn’t stop there for this post. I just wanted to be sure that the password sync does actually work. So I changed the password and the first name of my user in my AD. But then … How can I force a sync? By default, it takes about 3 hours (password changes-only will be instantly, but changing a name for example will take some time).
So, PowerShell to the rescue! Browse to “C:\Program Files\Windows Azure Active Directory Sync” and double-click on DirSyncConfigShell.psc1. Enter the command “Start-OnlineCoexistenceSync“:
If you open the “Event viewer” on your machine, you will see some entries from the AD sync:
Enjoy your syncing!
Using Project Online OData with Excel Web App
Project online has some great reporting features. One of the features that I really like is the OData service. This OData service is not only available for Project online, but also for on-premise deployments. To access this feed, all you have to do is browse to the following url: “/pwa/_api/ProjectData”.
One of the tools to “explore” this Odata feed is Excel. You can open one of the existing Project Online reports with Excel. Go to “Reports – English – Project Overview Dashboard” and click on the 3 dots, select “Edit“.
The report will open in Excel, and you can now select the ‘DATA‘ tab, and press ‘Refresh All‘. This should load all your data and show you a list of all projects with some additional information. This is pretty cool, but can we also use this within the Excel Web App? Well, let’s try it straight. Go back to the “Reports” folder, and instead of clicking on the 3 dots, just click on the name of the file. Excel Web App should open, and you will see an empty list of projects. Now click on the Data tab and select “Refresh All Connections“.
So, that’s not what we were expecting. It looks like Excel Web App cannot access the Odata feed. The explanation is quite simple:
When Excel workbooks are refreshed in Office 365, the BI Azure Service retrieves updated data from Project Online and recalculates the internal workbook model. If the workbook has data connections pointing to Project Online OData feeds, the BI Azure Service must have permission to the SharePoint Online tenant to retrieve that data.
What we have to do is giving the BI Azure service the required permissions to access our Project Online tenant. Browse to your PWA instance, and add “/_layouts/15/appinv.aspx” to the URL. For example “http://yourtenant.sharepoint.com/sites/pwa/_layouts/15/appinv.aspx“. You will now see the application permission screen. In the App ID field, add 00000009-0000-0000-c000-000000000000 and click Lookup. The title and App domain should tell you we’re working with the Azure AnalyisisServices. Copy and paste the following in the Permission Request XML Field
1 2 3 4 5 6 |
<AppPermissionRequests> <AppPermissionRequest Scope = "http://sharepoint/projectserver/reporting" Right="Read"> </AppPermissionRequest> <AppPermissionRequest Scope = "http://sharepoint/content/tenant" Right="FullControl"> </AppPermissionRequest> </AppPermissionRequests> |
Click create and Trust the App.
To be sure that the App has been granted with the correct permissions, go to “Admin (on top) – SharePoint – Apps – Permissions“. There you should see the App “Microsoft.Azure.AnalysisServices“
That’s it. Now we can open the report using Excel Web App, and click on “Data – Refresh All Connections“. Have fun!
Note: Be sure that you first refresh and save your report using the Excel (desktop) application. This will update the internal model of the workbook so it is supported by Excel Web App.