Visual Studio 11 – Productivity Booster !!!

Last Wednesday I went to a Microsoft’s Portugal Event on Visual Studio 11, it has been a while since my last event and the topic is very interesting to me.

This was an event that was divided into 6 sessions:

  • Keynote – Welcome to Visual Studio 11 (with Jay Schmelzer)
  • What’s new in the Visual Studio IDE (with Michael Koster)
  • Agile Application life-cycle Management with Visual Studio 11 (with Mitch Lacey)
  • Async -New Feature for Responsive Programming in Visual Studio 11 and .Net 4.5 (with Caio Proiete)
  • Software Testing with Microsoft Test Manager 11 and Lab Management (with Luis Carvalho)
  • Visual Studio 11 and Windows Azure (with Jay Schmelzer)

 

To sum up the event I think the new version of the VS is much programmer friendly, on subjects like Search, Snippets, Project Templates, functionalities and preview.

So, the new VS11 will support HTML5 (DOCTYPE) and has code snippets of HTML. The Code Snippets were largely upgraded and have much more than only C#, you can even find MVC specific snippets.

Another excellent new feature is the search, you will have search in almost every context. This allows you to be more productive in finding what you are looking for.

The preview tab, allows you to see a specific file content, without opening a new tab, this will help prevent the flooding of tabs that we all know and hate.

On project templates, specifically to Sharepoint, Microsoft has made available much less than the previous version. This was done because the templates used were only a few, this way we can continue to use the solutions templates and add all the other project types that we need.

So we get to the TFS (Team Foundation Server) part, here we have some very exciting news.

We will be able to suspend and Shelve using snapshots, this will allow us to freeze an environment up to the break point ;)

Both have the same principle, but the suspend is to be used when we are interupted, and the shelve when we want to save changes without checkin to the TFS.

The Lab management part has also some very useful news, we now can set has target environments any type of Virtual Machines and our own laptops or desktops. This is managed using agents installed on the target machine.

This is just a small sample of the VS11, that you can start using right now, the beta version is available for download.

You can find the download here: http://www.microsoft.com/visualstudio/11/en-us/downloads#vs

 

Sharepoint Advance Training – Core Architecture

It is now available on the Technet site some very valuable resources on Sharepoint 2010. On the Learn you have lots of training resources, but this time I will stand out the Core Architecture.

 

This is a subject that is very important, the definition of a Sharepoint Farm topology and architecture can determine the success of failure of an implementation.

This topic is divided in 3 lessons:

  • Lesson 1: Understanding SharePoint 2010 Topology
  • Lesson 2: Planning and Leveraging SharePoint 2010 Service Applications
  • Lesson 3: Business Continuity Management Features in SharePoint 2010

You can find these resources here: http://technet.microsoft.com/en-us/sharepoint/ff677987.aspx

Microsoft Announces Media Services Platform and Architectural Guidance for the Cloud

The Cloud is here no one can doubt this, and it is here to stay!

 

So all of us, at least those that don’t want to miss the hype, must check out the news on the cloud. so with that in mind, here is some fresh info on media services platform and architectural guidance for the Cloud.

 

You can find this info here: http://www.microsoft.com/en-us/news/Press/2012/Apr12/04-16NABPR.aspx

Sharepoint Browser Support – All browsers latest version supported . . .

One of the questions we get a lot in the beginning of projects is what browsers are supported by Sharepoint, this is usually after the clients demand that the implementation must be supported for all browsers . . . or at least most of them!

Microsoft had made available a compatibility matrix that we all used to support our pains . . . well it seems that this matrix is no longer available and now Microsoft states: “Unless otherwise stated,  all browser versions are supported. Period” followed by ” . . .The only browser that will clearly state known limitations is Windows Internet Explorer . . .”

These statements were taken of Kirk Stark post on this subject, that you can find here: http://blogs.technet.com/b/tothesharepoint/archive/2012/04/04/updates-to-plan-browser-support.aspx

I really think these are very good news, let us just see what impacts on  already deployed implementations . . .

So all browser latest versions are supported . . . unless otherwise stated, of course ;)

Sharepoint 2007 – Updating Child Content Types problem

There are still a lot of implementations of Sharepoint 2007, and I still work with some. This week we came across a problem updating content types across a site collection using the User Interface and I didn’t find any reference to this problem or solutions. So because I had to figure it out on my one, here it is my contribution on this issue. It is a long post, but I am trying to detail as much as I can.

  • Problem:

Actually we had two different problems that resulted in the same behavior, we had to add 4 new site columns to a Site Collection Content Type, that is the Parent of a 120 Child Content Types, most of them direct Parent, some of them is the indirect Parent [Content Type A -> Content Type AA (inherits from A)-> Content Type AAA(inherits from AA)]. And to help the scenario we have these Content Types are applied in document libraries in 450 sites and sub-sites.

Problem 1: We added 4 new site columns to the Base Content Type (Content Type A) and set the update option to true, this option would update all Content Types that inherit from the Content Type A.

Problem 2: We changed the order of the columns in the Content Type A and set the update to true, this option would update all Content Types that inherit from the Content Type A.

  • Behavior:

Problem 1:
When we applied the changes to the dependent Content Types, after a long time, we had the page were we were executing the process, returned a Time Out error.
The result was that we had some document libraries Content Types updated and some not updated. apparently the process was terminated and the update didn’t finish. After a few hours we checked and there was more updates done, but didn’t finish all the updates. No more updates were observed.
During this update process the server started consuming a lot of RAM, sometimes getting to use up to 90% of the available RAM. You can check this using the Task Manager or in the IIS Manager the Worker Processes and looking to the Sites Application Pool process.
The final result was that we had only some Document Libraries Content Types updated, leaving the others to be updated.
Problem 2: The behavior was the same has described in the Problem 1 behavior.
  • Solution:
At least my solution :)
Problem 1:
To force an update in a Content Type we need to change something, otherwise Sharepoint won’t start any update.
We started by trying to update only 1 Site Column, the trick was to remove the 1 site columns from the Content Type A without updating the child Content Types. After this we add the 1 Site Columns again this time setting the update option to true.

This time the process didn’t failed and all Child Content Types were updated with the new field. To the Child Content Types that already had the new field no change was done, and to the ones that didn’t had the new field was added.
Feeling confident we then tried with the remaining 3 Site Columns, again the trick was to remove the 3 site columns from the Content Type A without updating the child Content Types. After this we added the 3 Site Columns again this time setting the update option to true.
This time the process didn’t failed either and all Child Content Types were updated with the new fields. To the Child Content Types that already had the new fields no change was done, and to the ones that didn’t had the new fields were added. In this 3 Site Columns update process was done in 2 separate times, when we checked the update times we had one major update 14 hours before and another 8 hours before.
Problem 2:
So now we had all new Site Columns in the Content Types and we needed to change their order, remember that this update order process had been done and like the Site Columns update had stopped with a Time Out error and only updated some.
To force an update of the order of a Content Type we need to change something, otherwise Sharepoint won’t start any update.
We started by trying to update the order again, the trick was to change the order in the Content Type A without updating the child Content Types. After this we reorder to the desired order again this time setting the update option to true.

The update process failed again and we had to check which Child Content Types were updated with the new order. What we found was that some of the updates that previously failed were now done, but not all.
So, what can we do???? run it again :)
So always apply the complete changes you want to do, in this case I changed the order of new all fields, without updating the Child Content Types, and then reorder them all to the desired place before updating the Child Content Types. Done, updated them again and  . . .
This time we didn’t get the Time Out error, the process ended and all Child Content Types were updated with the correct order.
This solution to update the order is not a pretty one, but im my case it worked and did the trick. You can do these  updates using code, or running the STSADM extensions, just remember that if you already have information in Site Columns in a List or Library you cannot simply remove that columns and added again, that was my case, and that is why we choose to run the User Interface process. It works, but sometimes it needs a little push :)
Hope this helps someone!