Blog Categories

Subscribe to RSS feed


Follow Microsoft Technologies on Pinterest

Posts Tagged ‘Visual Studio’

SharePoint 2013 – Is Access 2013 the New InfoPath?

If you were at the SharePoint conference this year in Las Vegas, you probably saw the InfoPath Funeral procession through the vendor pavilion.  If not here is a clip:


We have known for quite some time Microsoft isn’t putting a large effort into InfoPath and in fact “… InfoPath 2013 is the last release of the desktop client, and InfoPath Forms Services in SharePoint Server 2013 is the last release of InfoPath Forms Services. The InfoPath Forms Services technology within Office 365 will be maintained and it will function until further notice.” according to this blog post by the Microsoft Office Team.

In addition, Microsoft is researching new technologies which will replace the current form technologies so they can provide a device independent platform.

But the question many of us have is “How do I choose the right tool” to create web based forms using technologies available right now?  Do we abandon InfoPath, and if so, what do we choose?

For the past few months I have been trying out all the InfoPath alternatives to nail down a definitive answer, and I have come to realize the answer is not quite as simple and it is the inevitable “ depends”.  The reality is, that even though InfoPath is at its end of life for new development, it will continue to be supported for at least the next few versions of SharePoint in its current form.

To date, I have found there are several options available, and the form platform you choose is going to depend upon your environment, requirements, and application lifecycle.

Option A – Just keep using InfoPath

InfoPath is a great tool which allows for quick customization of a lists’ look and feel.  At the current time, InfoPath will be supported until at least 2023, so we can be reasonably assured that using InfoPath to make list forms look pretty and basic offline editing of a form will be safe and upgradable to the next releases of the SharePoint / Office 365 platforms.

Be warned, I have found that on some occasions InfoPath forms do not render well on Mobile devices and InfoPath does not support adaptive HTML design.  Further, advanced InfoPath form development does not upgrade as cleanly as you might hope.  Keep to the “KISS” rule – Keep It (InfoPath development) simple and stupid.

Reading the tea leaves, if you will, I would carefully and thoughtfully reconsider using InfoPath for mission critical applications (a simple form is not defined here as an ‘application’) and steer away from all new development of InfoPath deployed forms via Central Administration.  There are other tools available which are easier to implement, provide better scalability, and work seamlessly across mobile devices.

Read the rest of this post »

Create cross platform apps in C# with Xamarin

Xamarin and Microsoft have teamed up to make all other development platforms irrelevant.  Xamarin is the creator of popular cross platform development tools that allow developers to create iOS, Android and Windows applications all in C#.  With the launch of Visual Studio 2013, Xamarin and Microsoft announced a partnership that will significantly improve the experience of developing, maintaining and updating apps written for any of the major popular platforms (iOS, Android, Windows).

xamarinSome of highlights of this partnership include Portable Class Libraries, Visual Studio integration, Azure Mobile Services integration and licensing discounts with free training for all MSDN Subscribers.

Portable Class Libraries (PCL) are libraries of code that can be used in any of your projects.  PCL’s have made cross platform development easier than ever before.  By using PCL’s you can keep the specific platform code within their respective projects and keep the bulk of your logic within the PCL.  Using this method will speed up development, code maintenance and bug fixing considerably.

Previous to the Visual Studio 2013 partnership Xamarin came with its own cross platform development environment, Xamarin Studio.  While still very functional it was no Visual Studio.  Developers not familiar with Xamarin Studio would still have to take the time to re-learn the tools that were available to them.  Now with full Visual Studio integration developers can continue to use the tools they are already comfortable with as well as using the powerful Azure utilities when developing apps that require mobile services.

Windows Azure has become one of Microsoft’s fastest growing platform.  It has been experiencing 100% year over year growth and just announced it has been gaining 1,000 new customers per day!  Microsoft has built templates specific for Xamarin iOS and Xamarin Android apps so developers can simply download project templates with sample code prepopulated and making API calls to Azure!  Creating mobile services has never been easier.  For more information on this process, please visit this link.

The final point is one I’m considerably excited about.  Along with the Microsoft partnership Xamarin also introduced Xamarin University.  For .NET developers that would like to learn more about mobile development Xamarin University is a great place to look.  It provides live online classes, tutorials, labs and a certification exam.  If you are an MSDN subscriber you have access to Xamarin University for free!  A value of over $1400!!!  So sign up while there is still space.  Class starts January 20th!

Visual Studio 2013 Release Candidate available

A little over a year since the release of Visual Studio 2012 (VS2012) and we already have a release candidate for Visual Studio 2013. If your interested in the Virtual Launch keep up to date on the event page, you can also download the Release Candidate. You can install it over the preview and along with VS2012. Along with this you can also download the Windows 8.1 RTM.

Visual Studio already has a lot of integration with Windows Azure. Though there are a few new features as well. A new Cloud Business App template utilizing LightSwitch that can work with Office 365. Integration with the Windows Azure Mobile Services. Additional diagnostics to measure energy consumption.

What do you think of the rate of release for Visual studio and other products?

By the way, if you need a Windows Azure subscription, here is the link for a free trial.

Previews on Windows Azure

The velocity of release for Microsoft development and infrastructure products can be at times overwhelming, especially if you’re trying to keep up. Microsoft has done something to help reduce the time to get the new offerings up and running. On Windows Azure they provide several pre-configured images to allow you to get started using the new offerings in minutes.

Read the rest of this post »

Windows 8 and Visual Studio 2012 Released to MSDN

It’s a very exciting day for Microsoft today as they release the RTM versions of both Windows 8 and Visual Studio 2012 to MSDN – Official communication came from the Windows App Developer Blog, here. Both releases are pivotal to Microsoft’s core business and will truly change the way that people interact with their desktop… I’m sorry device. As well as the way that developers create software.

Microsoft has bet the farm on Modern UI (the UI formerly known as Metro) and for good reason. The refreshed UI is not only beautiful and functional it separates Microsoft from its competition. No other platform developers are changing such key functionality like the Start Menu (Windows Button?) something users have known since 1995. Nothing is safe in this day of change and Microsoft recognized that just because something works, does not mean it is the right answer. The new UI may take a little getting used but after you use Windows 8 for a few hours tell me you miss that dated Start Menu and I’ll make sure to find Clippy to help you navigate Windows 8.

Joking aside, it’s a new day and it’s time for a new way to interact with your device. The next few months will be exciting as the new UI is released to the masses. I know that this release will go down in history for positively impacting the way that we interact with our Microsoft devices – desktops, laptops, PC, phones, and tablets.

Installation and Verification steps for SQL Server 2012 Analysis Services in Tabular Mode


If you are new to SQL Server 2012 like me, you might run into some issues when you are trying to create some Tabular Model projects.A Tabular Model is simply a new type of server mode in SQL Server 2012. It utilizes a new storage mode known as the Vertipaq storage engine that enables higher compression rates by storing and compressing data across columns. The columnar compression enables faster response times when the data is less variable in a given column as oppose to the variability that is present in rows.

A Tabular Model can be created using various data sources inside Visual Studio to create a single model for all end user experiences.


It can then be deployed to SQL Server Analysis services database and utilized for reports in PowerView in addition to the traditional Excel, PowerPivot and SQL Server Reporting services.

However when I first installed the application and tried to build a Tabular Model I received an interesting error, you might encounter this error as well:


The error read, “You cannot open the BIM file.Reason:The workspace database server “localhost” is not running in VertiPaq mode.”

Essentially we are all used to installing SQL Server 2008 R2 with only one option for Analysis Services. Primarily this mode is used for Data mining and Multi-dimensional OLAP cubes. When installing SQL Server 2012 I encountered this issue because I failed to realize that the new version requires us to install the Analysis services component in “Tabular Mode” in addition to the traditional Data mining and OLAP mode as a separate installation.

I simply had to insert the installation media and follow the same steps.However, when it came to the portion where I install Analysis Services I chose “Tabular Mode” this time.


After completing that step I simply went into my Project and was now able to create a model file successfully.

Another way I was also able to verify my installation was successful was by logging into SSAS using the instance name for my installation on SSAS Tabular Mode (PBTABULAR) and see the databases which are built as part of the model creation in SQL Server Management Studio.


Email Received Event Receiver Requires a SharePoint Timer Reset

While working with a couple different types of event receivers in Visual Studio 2010, I noticed an inconsistency between the ‘item added/adding events’ and the ’email received’ event receiver in terms of deployment from Visual Studio.When deploying from Visual Studio via the F5 key everything worked as expected with the item added/adding events.This is also true for the latter, but only upon the very first deployment.I made a few minor changes to my code, redeployed the event receiver (which includes an automatic IIS reset), and discovered no changes had been made.The original code from the first deployment of the ‘Email Received’ event receiver was firing instead.

After doing some researching I learned that the ‘SharePoint 2010 Timer’ contains it’s own cached copy of the original dll. An IIS reset alone will not update the Timer’s cache.The solution is to restart the SharePoint 2010 Timer service after each IIS reset. This will refresh the timers cache with the most current assembly.

The blog below contains some great tips on debugging SharePoint Timer jobs.


Posted in News and Events

Detecting Un-Ghosted/Customized Master Pages

I recently came across an issue with customized master pages.Updates were made to the master page within the Visual Studio solution, compiled into a wsp, and deployed.


This seems to be a common problem if the SharePoint administrators allow for SharePoint Designer customizations, or even by developers downloading master pages from the gallery, making changes to them, and uploading the newly saved file. So you ask, how does one determine if a master page has been customized? If the master page was edited in SharePoint designer, the solution is easy. This can be determined by viewing the master page in SharePoint Designer. If there is a blue “i” icon to the left of the master page, it has been customized.





However, if the master page was customized on a clients computer, saved, and re-uploaded to the master page gallery, a very small amount of code will have to be written to discover the customized status of each master page.


Create a console application in your development environment and add a reference to the Microsoft.SharePoint.Within Program.cs, add a using statement to the top of the file:


using Microsoft.SharePoint;


Create the following code within the Main method of the console application.


Console.WriteLine(“Please enter the Url for the site collection root site:”);

string siteColUrl = Console.ReadLine();

string masterPageGallery = “Master Page Gallery”;

using (SPSite site = new SPSite(siteColUrl))


SPList list = site.RootWeb.Lists[masterPageGallery];

foreach (SPListItem item in list.Items)


if (item.File.Name.ToUpper().Contains(“.MASTER”))


Console.WriteLine(“File Name:t{0}tStatus:t{1}”, item.File.Name, item.File.CustomizedPageStatus.ToString());




Console.WriteLine(“Operation Complete.”);



Running this application, and pointing it to your site collection Url will return information on the customized status of all master pages within the gallery.





Now that this has been identified, the following blog shows how to re-ghost the master page.






Posted in News and Events

iSharePoint 2010 Ignite Training

I just returned from the 5 day SharePoint 2010 Ignite Training for Developers in Amsterdam. The training was an invitation-only opportunity for Mircrosoft’s top-tier partners to get hands-on experience with the latest and greatest features in the upcoming SharePoint release. I feel very fortunate to have had the opportunity to go to this event and to have had such an in-depth look at what should prove to be one of Microsoft’s most exciting product releases ever. We learned about the many new features that will make the SharePoint platform an easier and richer experience for both developers and users. I’ll give you a brief overview of some of my favorites.

Visual Studio Tools

Visual Studio 2010 includes templates for creating all kinds of SharePoint items including list definitions, workflows, web parts, and event receivers. SharePoint project templates include integrated support with visual designers for feature and WSP creation. When adding a new SharePoint item such as a list definition or web part, Visual Studio will automatically create the feature definition needed to deploy the item.

Mapped Folders allow items to be added to folders that map to the RootFiles folder structure (now the 14 hive). When added to your Visual Studio project, any files placed within these folders will be included in the WSP generated by the project and deployed to the mapped folder under the 14 hive.

Visual Studio 2010 also includes the ability to manage WSP deployment automatically from within the build process. When the project is created, it can be associated with a SharePoint site for development purposes. After this is done, the solution can be deployed directly from Visual Studio making it easy to debug using the Visual Studio debugger. The F5 debugging experience for a SharePoint project does the following:

  1. Builds the DLLs and the WSP
  2. Deactivates and uninstalls the features
  3. Retracts the old WSP
  4. Adds and deploys the new WSP
  5. Activates the features in the associated site
  6. Attaches the debugger to the W3WP process for the associated site

The SharePoint Explorer window within Visual Studio gives easy access to artifacts within a SharePoint site running locally.

Best of all, these tools within Visual Studio are highly extensible and customizable. You can create your own SharePoint item templates, develop custom visual designers, and extend the SharePoint Explorer window with additional nodes and information.

Other Developer Tools

Another really useful tool to help with debugging is the SharePoint Developer Dashboard. When enabled on your site, this tool provides some excellent debugging and diagnostic information about the execution of web parts on the page.

SharePoint Designer enhancements make it a useful tool not only for power users, but also for developers. There is now tighter integration between work done in SharePoint Designer and Visual Studio. Items such as workflows, content types, lists, and pages can be prototyped in SharePoint Designer, exported to a WSP and then imported into Visual Studio to be integrated with other project artifacts and source control.

SharePoint Designer also provides a powerful interface for working with Business Connectivity Services (formerly known as the Business Data Catalog) and creating External Content Types and Lists. See my previous blog post for a detailed look at this new capability.

As I wrote in previous posts, PowerShell will become an indispensible tool for both developers and administrators. PowerShell cmdlets will replace STSADM as the preferred admin shell for SharePoint and the ability to write custom cmdlets will make it easy to automate all kinds of tasks. For more details, check out my posts on SharePoint 2010 and PowerShell and accessing the object model with PowerShell.

Feature and Solution Improvements

In addition to the direct integration with Visual Studio for creating features and solutions, there are many other improvements to the feature/solution framework that will make it more powerful and easier to work with. First among these is the new type of solution called a Sandboxed Solution that allows solutions to be deployed in an isolated manner that prevents custom code from accessing resources that could cause damage to the farm. Other new capabilities at the solution-level include solution activation dependencies, application resource files, and solution versioning.

In the feature framework, new capabilities include versioning, declarative upgrade actions, and a hookable feature upgrade event; feature-level solution activation dependencies, and new events including web provisioning and workflow events.

UI Enhancements

The out-of-the-box SharePoint UI has been completely overhauled to take advantage of AJAX capabilities to improve the user experience by eliminating a great deal of the post-back and navigation that was necessary to perform common tasks within SharePoint 2007. The new UI also introduces the ribbon concept from Office 2007 to consolidate commands into one location and present the user with the most relevant commands for the current context. Most important from a developer perspective, the ribbon and list dialogs can be customized with additional commands and information. Also the AJAX dialogs can be leveraged to provide custom capabilities in a manner consistent with out-of-the-box features.

Perhaps the most exciting change to the UI is the new level of standards compliance. The platform will now emit well-formed XHTML and provides better support for Firefox and Safari.

To support these improvements, the CSS and master pages have been completely overhauled and SharePoint now includes simple and minimal master pages to assist with custom development.

LINQ to SharePoint

Probably my favorite new feature is the direct integration of LINQ to SharePoint into the platform. The CodePlex project has become part of the platform itself and a new RESTful web service has been added to support access to list data via ADO.NET Data Services. These new features will make it easier to get at list data in a concise and efficient manner whether you are on the server, in an AJAX application, or in a .NET thick-client.

The main benefit of LINQ to SharePoint is that it allows developers to write efficient queries against SharePoint lists without the need to write CAML. Developers write their queries in LINQ and the LINQ to SharePoint provider translates them into CAML before retrieving the data from the list. This is a huge benefit to those of us who like prefer the simple, clear, and consistent LINQ syntax to the verbose XML of CAML.

The RESTful ListData.svc service is a major upgrade over Lists.asmx. Rather than crafting complex CAML to query the service and then parsing a messy XML result set as was done with Lists.asmx, we can now retrieve list data via simple URL/query string syntax and have the results sent back either formatted either as Atom or JSON. Check out my recent blog post for more information on ListData.svc.

Client Object Model

When your client-side needs go beyond list data, the new client object model provides access to a significant portion of the SharePoint API from .NET, Silverlight, and JavaScript clients running off-server. Each of these clients is supported by its own class library.

Client Type Library
.NET Microsoft.SharePoint.Client.dll
Silverlight Microsoft.SharePoint.Client.Silverlight.dll
JavaScript Layouts/SP.js

The classes in these libraries mirror various classes within the Microsoft.SharePoint assembly.

Server-side Class Client-side Class
SPContext ClientContext
SPSite Site
SPWeb Web
SPList List
SPListItem ListItem
SPField Field

The client-side classes encapsulate calls to the Client.svc web service which in turn utilizes the server-side object model to execute the requested update or query. The web service then sends back a response with the return value formatted as JSON.

As you can see, there is a lot for developers to get excited about in SharePoint 2010. Have fun playing around with these new features in the beta and getting ready for the release next year.