Showing posts with label SharePoint 2010. Show all posts
Showing posts with label SharePoint 2010. Show all posts

Monday, September 7, 2015

New SharePoint and Office 365 Hybrid Search

I am super excited to see the new Hybrid Cloud Search coming. Why? A ton of reasons. The biggest for me are:

  • Simplified On-Premises Deployment – If you have ever had to manage SharePoint on-premises before, the search servers require the most care and management. No more search crashing on you because you did not put enough resources to manage it. No more having to worry about timer jobs and full index crawls.
  • No More Having to Run Search Servers On-Premises - Moving this entire search workload to the cloud will significantly make your on-premises deployments smaller and easier to manage.

Up to this point, the only way to achieve a hybrid search experience by setting up query federation with SharePoint 2013 on-premises with SharePoint Online. This really did not make your SharePoint on-premises deployments any easier. Now we can do away with that configuration.

Here are some specific technical considerations.

  • You now have the ability with your SharePoint 2013 and 2016 on-premises farms to get the entire SharePoint search experience from the cloud. This is being termed as SharePoint Server with Cloud Search service application.
  • Scenario: If you have not leveraged SharePoint Online yet, you can use this as an opportunity to remove all your SharePoint on-premises search servers and use the cloud.
  • Scenario: If you have move some or a large portion of your SharePoint on-premises to the cloud, you now have the ability to get a unified hybrid search and that entire search experience is delivered by the cloud.
  • Scenario: If you have specific reason (i.e. legal, compliance) that you have to keep some search servers on-premises, you can still do that have query federation (picture below) between your on-premises SharePoint and SharePoint Online.
  • Hybrid search can go across the following content sources: SharePoint Server 2007, 2010 or 2013, File shares, BCS connectors*. This basically means that user in SharePoint Online can retrieve search results from all these locations.
  • Recommend that you get your SharePoint on-premises to SharePoint 2013 or higher to get the most advantage of these features.
  • Recommend you seriously considered using search from the cloud. Why? With the amount of data organizations is acquiring and maintaining, using an elastic cloud to deliver those search results will only make your life easier J
  • Delve Search experience will also be supported as part of this new search experience. So Delve can find files not just in SharePoint Online, but also in SharePoint on-premises.
  • eDiscovery and new SharePoint DLP capabilities will be able to go across SharePoint Online, SharePoint on-premises and OneDrive for Business. This is a big deal.
  • Configuration with Azure AD is required. You will do this anyways as an Enterprise Office 365 customer.
  • If you need to do customer IFilters, BCS connectors or Partner connectors, those will remain on-premises.
  • Cloud will not support: Site collection level schema mapping, Custom security trimming, Custom entity extraction and Content enrichment web service.

Here is a high level logical architecture diagram

clip_image002

clip_image004

clip_image006

Getting the point across that this makes your on-premises deployment so much simpler. It is hard to argue that you SharePoint on-premises life will be made better.

clip_image008

clip_image010

clip_image012

References

https://blogs.office.com/2015/08/24/announcing-availability-of-sharepoint-server-2016-it-preview-and-cloud-hybrid-search/

https://channel9.msdn.com/Events/Ignite/2015/BRK3134

Saturday, February 1, 2014

InfoPath Being Retired

Announcement: Well there was a big announcement in the SharePoint world that hit me personally – InfoPath is being retired - http://blogs.office.com/2014/01/31/update-on-infopath-and-sharepoint-forms/

Reflection: I had been waiting for public announcement and it was pretty obvious it was coming down when we saw that no new additions or investments (of any importance) we made into InfoPath 2013 and InfoPath Form Services.

Now InfoPath has a special place in my heart and I will say that my love for InfoPath put me where I am today. Really. When I first started at RDA Corp back in 2005 I was just a .NET engineer. My first project I was thrown into an engagement where I had to learn InfoPath 2003, K2.net 2003, BizTalk 2004 and SharePoint 2003 in a week and make them work. That project change my life. I built this solution (with some smart people) which eventually was the finalist for solution of the year at the Microsoft World Wide Partner conference. It had tons of InfoPath components which were hooked on top of a VAX mainframe. I subsequently got hooked into the developer community in ways I had not done before. I starting doing more and more InfoPath and K2 projects and then I got really hooked into SharePoint; the rest is history. I was able to get a job as a SharePoint TSP at Microsoft which has transcended into a career doing Office 365. I can say, it was InfoPath that sparked my love for the Microsoft productivity stack to build business solutions. I started saying “why do I need to build solutions from scratch when I can take all the Microsoft solutions together and build something”.

Over the years on this blog I had wrote extensively on how to do development, best practices and build solutions for InfoPath - http://www.astaticstate.com/search/label/InfoPath. My first blogs in September 2007 were focused on InfoPath. I thought it was a great solution with SharePoint to build business forms and automate them using simple or complex business processes. Reflecting back, I found that InfoPath did a lot of great things for standard to moderately complex forms but when you brush up against the edges (which is what I had to do a lot as a consultant) you found tough things you would be able to resolve with a custom web form. I would always be put into these debates with colleagues on this topic.

Where Do We Go From Here: I believe Microsoft product team is making the right decision. InfoPath had its day, it is a great concept behind it to create forms quickly, extract the XML, shred it and sent it to a database. However today there are so many development frameworks for rapid development and Microsoft is going to continue to create new solutions that will help customers build forms and process automated solutions. Support for InfoPath is not going away anytime soon, they are keeping support through April 2023 (not a typo) and I still say InfoPath is a great solution, just nothing new is being introduced. They noted they plan to create some migration scenarios in Q4 of CY2014, so I will be keeping an eye out for that.

Saturday, September 1, 2012

SharePoint Online Hybrid Whitepaper Updated

I am excited to see that my colleague finished a bunch updates to the Hybrid SharePoint Environments with Office 365 located here. I provided feedback and direction based on some of my writings (read here). This whitepaper is a must read for organizations who have mature SharePoint implementations and who want to significantly reduce their operational cost by leveraging SharePoint workloads delivered through the cloud.  This whitepaper is focused on SharePoint 2010 at the moment.

SharePoint Managed Metadata Service Whitepaper

I just recently read a pretty good whitepaper by BA Insights on the Managed Metadata Service here. It has a really good discussion on how the Managed Metadata Service can be used to improve your search experience within SharePoint 2010.

Friday, June 29, 2012

SharePoint Templates for Government

Microsoft Government SharePoint Templates for On-Premise or Online are now available at www.microsoft.com/GovernmentSharepoint
Why you should care? This is a great way to help your organization get more value from Microsoft technologies and see more possibilities with SharePoint.
  • Providing your organization a starting place to see the possibilities with SharePoint, a great solutions platform.
  • Jumpstart your organization to use SharePoint for more than just document libraries by identifying a couple templates that they might find useful.
  • This offers examples of great out-of-the-box capabilities to compose end to end business solutions. Many templates are designed for SharePoint 2010 AND SharePoint Online!

Thursday, March 15, 2012

Updated Independent Analysis on Microsoft Productivity Solutions for Prem and Cloud

There have been a lot of updates with Gartner analysis for the Microsoft Productivity stack and other related stacks that I work with. Specifically SharePoint, Office 365, Lync and BI have all been getting great independent reviews. The important take away that I discuss with my customers is that all these top quartile rated technology is delivered on a single, integrated solution stack. They are NOT hodgepodge solutions brought custom integration.
Many of the reports and newest reports can always be accessed from here - http://www.microsoft.com/presspass/itanalyst/default.mspx
SharePoint and Office 365
As you can see we have been great assessments for enterprise content management, enterprise search with FAST for SharePoint 2010, great recognition as portal provider, social computing and business process analysis with Visio Services and SharePoint workflow. Much of this capability is delivered through the Office 365 cloud as well.
SQL Server and BI
As you can see these are very recent reports giving us good reviews in the areas of BI and Data Warehouses. I think the big take away is again total cost of ownership (TCO). We give strong BI solutions and customers do not need to make significant investments to deliver BI through the same SharePoint investments discussed above.
Exchange and Office 365
For email with Exchange either delivered on-premise or through the Office 365 cloud we continue to be evaluated as a leader. This really speaks to our versatility in allowing customers to select the most appropriate place and get the same level of end user experience for business users.
Lync and Office 365
Microsoft is again recognized as a leader in all these types of solutions with Lync which can additionally be delivered through the Office 365 cloud. Our Unified Communications solutions are completely integrated in Office, Outlook and SharePoint allowing users to quickly transition between tasks they are working on making them highly productive. These capabilities are extremely useful for telework or communications between people spread across large geographies.

Tuesday, March 13, 2012

SQL Server 2012 Brings New Features and Capabilities for SharePoint 2010

Introduction
If you have SharePoint customer or architect and you really should be looking at the new SQL 2012 release. As we all know SharePoint success is highly contingent on SQL Server. You need a strong SQL Server deployment to ensure there is good performance, high availability, back up/recovery, etc. Additionally Microsoft delivers their Business Intelligence (BI) stack through SharePoint and there have been several new features and capabilities added there as well.
For SQL 2012 there are three areas where there have been major capability additions:
  1. Mission Critical Confidence – This is the capability to more easily deliver high-availability with lower total cost of ownership.
  2. Breakthrough Insight – New and expanded capabilities for Business Intelligence.
  3. Cloud on Your Terms – Additional capabilities to create SQL databases in either the private or public cloud (Office 365).
In this blog I am going to cover some of the new SQL 2010 capabilities specifically focusing on how they can improve your SharePoint 2010 implementation. Please note that there are a lot of new capabilities for SQL Server 2012 which I have not covered such as data warehousing, resource management, full text searching, auditing, Big Data (Hadoop), etc. Here is a good reference to quickly spin up on all the new capabilities (“What's New in SQL Server 2012 Whitepaper” located here).
Mission Critical Confidence
AlwaysOn
First and foremost is the new high-availability solution in SQL Server 2012 called AlwaysOn. One of the first and foremost challenges that organizations face with deploying SharePoint 2010 is providing a solution architecture that will meet the SLA’s of their business users. Business processes, technical processes and Governance need to be put in place to ensure that SharePoint 2010 will be up as much as possible.
In the past with SQL Server 2008 R2, you employ such solutions as clustering, mirroring, log shipping and replication (my previous blog on this topic). However this could require a lot of planning, configuration, and management. With SQL 2012 AlwaysOn, new configuration wizards and tuning tools are now provided that makes set-up and configuration of High-Availability extremely simple.
The concept of Availability Groups have been added which specifically makes configuration of Database Mirroring easier. Availability Groups are a logical of databases that failover together. Through the configuration wizard, you can determine if you need such things as automatic or manual failover, set-up of primary and multiple secondary instances, synchronous or asynchronous data movement, etc.
Availability Groups remove the need for shared disk storage (SAN or NAS) for deployment of a failover cluster instance. Note that AlwaysOn Failover Cluster Instances support multiple-site clustering across subnets which subsequently enables cross datacenter failover.
This feature is very useful when setting up your SharePoint 2010 (or 2007) farm because High Availability is one of the most paramount tasks that are needed when setting up a mission critical SharePoint environment.
Recovery Advisor
Database Recovery Advisor provides many new features and capability for the support of back-up and restore of databases through SQL Server Management Studio. The new Recovery Advisor streamlines the back-up process. One such solution is a visual timeline that provides the backup history and all the available points in which you can restore from.
There is also new capability called Split File Backup which allows you to split a backup into multiple files. This allows for quicker backup and restores because they can be written and restored across disks running in parallel.
This is very helpful for improving the amount of time to work with large SharePoint 2010 (or 2007) Content Databases that have grown significantly.
Breakthrough Insight
As you probably already know SharePoint 2010 is where Microsoft’s Business Intelligence (BI) stack is delivered. This is a combination of solutions such as Excel Services, PerformancePoint, Visio Services, Chart Web Parts (Dundas), PowerPivot, and SQL Reporting Services (SSRS). With the release of SQL 2012 a new solution called Power View is now provided, PowerPivot can now be done on SharePoint 2010 server side and there is significantly enhanced integration with SSRS.
Power View
Power View is a new highly interactive data exploration and reporting tool that allows business users to visually explore data, in an ad-hoc fashion. End users can create the reports/dashboards very quickly, create shapes/graphs with clicks, create animation, highlight capabilities based on rules, drill down relationships and performs very well with large datasets. The design environment is very similar to Office. It can be published through SharePoint 2010 as shown in the diagram below.image
Note that Power View requires SQL Reporting Services (SSRS) to be integrated with SharePoint 2010 and there be an instance of SQL Server 2012 Analysis Services (SSAS) or PowerPivot be available.
PowerPivot
Up to this point PowerPivot was a solution that was available through Excel client only via an Add-in. This is a really powerful, end user friendly capability that allows for data analytics. There are actually several new capabilities that have been introduced that I recommend you read up on (in references below).
Specifically to SharePoint 2010, PowerPivot for SharePoint is available as an add-in and can run server side in conjunction with Excel Services. This now allows end users the ability to publish PowerPivot reports through the browser allowing end users easy access to this data.
image
As well, in SharePoint 2010 Central Administration there is a new PowerPivot Management Dashboard that provides several reports on performance of reports.
image
SQL Reporting Services (SSRS)
Personally the enhancements to SSRS are very exciting to me as I have had to do configuration of SSRS with SharePoint 2007 and 2010 in the past in production environments. If you have done it before, you may recall it was tedious task of configuration the SSRS Configuration Wizard and getting Kerberos Authentication set-up correctly. Now with SQL Server 2012, configuration of SSRS with SharePoint 2010 is completely done through Central Administration. Additionally there is a new service in SharePoint 2010 that runs SSRS, it supports WCF/Claims authentication, integrated ULS logging, built in load balancing across SharePoint servers, report performance improvements and there are PowerShell commands for management.
image
Additionally there is a SSRS alerting capability that allows end users to subscribe to alerts that are associated to SSRS report. Users can create conditions for any report, and when they are met a notification will be sent to them.
image
One more last addition change is you may know that SSRS reports can generate Word or Excel Documents. Up to now, the file formats generated were either .doc or .xls which means they are not Open XML document renditions. With SQL Server 2012 and SSRS now .docx and .xlsx file types will now be generated.
Cloud on Your Terms
With SQL Server 2012, there are a bunch of new capabilities to support even tighter integration with SQL Azure. You will have a unified database development experience between SQL 2012 on-prem and SQL Server. The reason why I bring this up is because it is very common that when creating a solution inside SharePoint, you will have complex data management requirements that can be better supported with a SQL Server database instead of a SharePoint list.
Now we have the ability to more quickly and efficiently create custom database in SQL Azure which can be utilized with SharePoint 2010. Plus this is really good for working with Office 365 SharePoint Online because we can make a cloud to cloud connection to work with advanced data structures.
References

Tuesday, January 31, 2012

Presence with Branded Master Pages

I have heavily used the starter branding master pages (http://startermasterpages.codeplex.com/) for some projects I have done. It was brought to my attention that the Lync presence was not coming through.
After some research I found that if I replaced this:
<script type="text/javascript">
function ProcessImn(){}
function ProcessImnMarkers(){}        
</script>

With this:
<SharePoint:ScriptLink language="javascript" name="init.js" OnDemand="true" runat="server"/>

The presence indicators came back.

Friday, January 20, 2012

Blogging with SharePoint 2010

Someone just asked me a simple question if it was possible to blog with SharePoint 2o10 with a rich client application.  You can use Windows Liver Writer (http://explore.live.com/windows-live-essentials-other-programs?T1=t5) which is part of Windows Essentials 2011 to write blogs for SharePoint 2010.  And it is free.  You can also use Microsoft Word to author blogs.

Here is Windows Liver Writer connected to a SharePoint 2010 Blog.
image

I press the Publish button and I have the following result.  Pretty easy.
image

Wednesday, January 18, 2012

Custom Web Templates and Activating Features

Introduction
Lately I was messing around with Custom Site and Web Templates with Office 365 and made a few discoveries that I figure I share. Some of it is old, some of it I had to piece together.

Background
I am building a solution in Office 365 using SharePoint Online. I have a site collection with publishing turned on. I created a custom site template and I need to make sure that site (web level) publishing feature is turned on.

Publishing Feature Disables Creating Site Templates
For some reason, when you turn on the publishing feature on a site, the “Save site as a template” is removed from Site Settings. Now I have found some blog posting where people go down into the SharePoint install files and make some changes to fix that. First, probably not the best course of action if you want to make sure you have supportable upgrades (and someone actually documents the change <g>). Second, since I am working with Office 365 that is not even an option, so I need to find a solution that does it the right way.

Another thing I saw people suggest is go to the Save as Template page by typing in “_layouts/savetmpl.aspx”. Do not waste your time with that approach either, it will not work correctly.

My only option is to create my custom site initially without the publishing feature turned on. Then build some solutions to turn on publishing for the site automatically and ensure that the masterpages are set appropriately. The solutions I looked into are:

1. Feature Stapling
2. Modifying the Web Template
3. WebProvisioned Event Handler

Custom Web Template Feature Stapling
The first solution that I investigated was the most obvious; create a Feature Stapler that would activate the site publishing feature.

The first thing I ran into was finding the actual name of the template. Traditionally the name of the site template is usually something like STS#0. However since this is a custom site template where would I get the site template name from? I found some scripts that would help me get the template name. Since I was doing the development on my local machine it was easy for me to run some PowerShell on my development box to test this all out (I did find similar code to run API code against Office 365).

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <FeatureSiteTemplateAssociation Id="94c94ca6-b32f-4da9-a9e3-1f3d343d7ecb" TemplateName="{04FB0801-1DFA-41ED-9B87-06D0FF088F01}#MyCommunityTemplate" />
</Elements>

I create a Feature Stapling feature that looked like this. As you can see there is a GUID#template name format.

Let me save you some though – this is not supported and did not work. Feature Stapling can only be used against the site templates that are OOB the box or deployed down into the hive. You cannot apply do Feature Stapling to a site template created off SharePoint web site.
Modifying the Web Template

The next thing I tried, which is a recommended approach, is to modify the web template. This is a really easy thing to do now with Visual Studio 2010.
In Office 365 I created a web template the way I needed but without publishing turned on. I then went into site settings and created web template like usual. I then went to the Site Collection Solution Gallery, downloaded the WSP, and opened it in Visual Studio 2010 (using an Import SharePoint Solution Package project).
In the project, there will be a module called “Web templates” and you will find a file called “ONet.xml”. Open this file and you will see <SiteFeatures> and <WebFeatures>.
<SiteFeatures> correspond to the site collection and the following features should already be in the web template because you will have publishing turned on at the site collection level.

<!--PublishingPrerequisites Feature-->
<Feature ID="{a392da98-270b-4e85-9769-04c0fde267aa}" Name="FeatureDefinition/a392da98-270b-4e85-9769-04c0fde267aa" />
<!--PublishingResources Feature-->
<Feature ID="{aebc918d-b20f-4a11-a1db-9ed84d79c87e}" Name="FeatureDefinition/aebc918d-b20f-4a11-a1db-9ed84d79c87e" />
<!--PublishingLayouts Feature-->
<Feature ID="{d3f51be2-38a8-4e44-ba84-940d35be1566}" Name="FeatureDefinition/d3f51be2-38a8-4e44-ba84-940d35be1566" />
<!--PublishingSite Feature-->
<Feature ID="{f6924d36-2fa8-4f0b-b16d-06b7250180fa}" Name="FeatureDefinition/f6924d36-2fa8-4f0b-b16d-06b7250180fa" />

Why are there four when you only turn on one publishing feature for the site collection through the SharePoint UI? The one with f6924d36-2fa8-4f0b-b16d-06b7250180fa is actually the main one, but the other three are supporting, hidden ones. There is not action for you, just brought this up because I thought is it interesting.

Now this is what you do need to do. Go to the <WebFeatures> and add the following two features.

Add the Publishing Web after the MetaDataNav:
<!--MetaDataNav Feature-->
<Feature ID="{7201d6a4-a5d3-49a1-8c19-19c4bac6e668}" Name="FeatureDefinition/7201d6a4-a5d3-49a1-8c19-19c4bac6e668" SourceVersion="14.0.0.0" />
<!--PublishingWeb Feature-->
<Feature ID="{94c94ca6-b32f-4da9-a9e3-1f3d343d7ecb}" Name="FeatureDefinition/94c94ca6-b32f-4da9-a9e3-1f3d343d7ecb" SourceVersion="14.0.0.0" />

Add the Publishing Feature after the GridList:
<!--GridList Feature-->
<Feature ID="{00bfea71-3a1d-41d3-a0ee-651d11570120}" Name="FeatureDefinition/00bfea71-3a1d-41d3-a0ee-651d11570120" SourceVersion="1.0.0.0" />
<!--Publishing Feature-->
<Feature ID="{22a9ef51-737b-4ff2-9346-694633fe4416}" Name="FeatureDefinition/22a9ef51-737b-4ff2-9346-694633fe4416" SourceVersion="14.0.0.0" />

This worked great and was really clean.

The next thing I needed do was make sure the master pages are set appropriately. Even though I turned on publishing, it does not mean that the mast pages will be set correctly. The solution is again very simple.

I created a new Feature in Visual Studio 2010 to the web template solution I already had open and set the scope for Web. I then added an event handler to the new Feature. Then in the FeatureActivated event handler I added the following code:
using (SPWeb web = (SPWeb)properties.Feature.Parent)
{              
    web.MasterUrl = web.ParentWeb.MasterUrl;
    web.AllProperties["__InheritsMasterUrl"] = "True";
    web.CustomMasterUrl = web.ParentWeb.CustomMasterUrl;
    web.AllProperties["__InheritsCustomMasterUrl"] = "True";
               
    web.Update();
}

Then I selected the new Feature, clicked on the manifest and copied the GUID for the Feature ID. I then subsequently added that Feature ID into the bottom of the <WebFeatures> section in the ONet.xml file.
Now when this custom web template is provisioned, this code will be executed to set the master page appropriately.
Web Provisioned Event
Another totally different option to consider is use the new SharePoint 2010 WebProvisioned Event Handler. This event handler is available in the SharePoint Sandbox and can run in Office 365. This solution is very simple:
  • Create a new SharePoint 2010 solution in Visual Studio.  
  • Add an Event Handler. 
  • Then add the following code.
public override void WebProvisioned(SPWebEventProperties properties)
{
    base.WebProvisioned(properties);

    using (SPWeb web = (SPWeb)properties.Web)
    {
        Guid sitePublishing = new Guid("94c94ca6-b32f-4da9-a9e3-1f3d343d7ecb");

        web.AllowUnsafeUpdates = true;

        web.Features.Add(sitePublishing, true);
               
        web.MasterUrl = web.ParentWeb.MasterUrl;
        web.AllProperties["__InheritsMasterUrl"] = "True";
        web.CustomMasterUrl = web.ParentWeb.CustomMasterUrl;
        web.AllProperties["__InheritsCustomMasterUrl"] = "True";
               
        web.Update();
    }

}

There are some advantages to this solution. First it is really simple. Second this code will be executed for ANY site that is provisioned. So if you need to always make sure that publishing is turned on for any site that is provisioned and that the master pages are always the same, this may actually be a better solution. Otherwise you will have to do what I previously described for every web template.

Conclusions

This was a really interesting little exercise that I went through and though it would be interesting to share. Hopefully you will see that there are options based on the business requirements you want to support. This is by no means the only options you have available either.

References

Things that I found along the way:

Wednesday, January 4, 2012

Architecture Considerations for Moving SharePoint to Office 365 and SharePoint Online

Introduction
Why are customers looking to come to the Office 365 cloud? Customers want an environment that can scale on-demand. Customers do not want to be in the business of managing and patching software . Customers want a solution that give better business continuity and service level agreements to their users. Customers want solutions that are better governed and that will force them to do better governance. Customers want to be in the business of building solutions (i.e. an airplane company should focus on building planes; not writing enterprise applications from the ground up).
When I talk with customers about SharePoint Online, this is where they want to move to.
In this blog I am going to talk about how an organization should be looking at moving to SharePoint Online.
  1. In first half we are going to analyze SharePoint Architecture and Governance and review what potential blockers people see when moving to the cloud.
  2. In the second half I am going to have a more detailed discussion around how to architecturally plan to move to SharePoint Online.
Why the decision is not always straight forward?
Coming to SharePoint Online in Office 365 may not sometimes be the most straight forward decision for organizations that have made a large investment in SharePoint. Going to SharePoint Online is really easy for organizations that are in it for document management, intranets, OOB features, SharePoint Designer, etc. It gets harder for organizations that have had poor governance of their on-premise environments, made signification investments with custom code, utilize features not available in cloud, have a heavy reliance on third party solutions, etc.
There is a solution to these issues but it requires an organization to take a step back and look at what they have.
Poor governance is probably one of the largest changes organizations have faced with SharePoint. These challenges could have been avoided thought with good forethought and planning. There is not always a one size fit all solution either; SharePoint is powerful platform that can be used to be used to implement a very broad set of business requirements.
SharePoint Architecture Foundations
The following a Venn diagram that I always draw on whiteboard with customers.
image
I typically say that that:
  • Information Architecture – Is content types, taxonomy, topology, site collections, sites, libraries, lists, and solutions that drive the management of this content. The information architecture should be driven by business requirements.
  • Logical Architecture – Is the architecture of SharePoint services, web apps, databases, etc. to support the information architecture.
  • Physical Architecture – Is the configuration, deployment, farms, etc. that actually host the SharePoint logical architecture.
I admit this is open to interpretation but let’s use this as a foundation for discussion.
Here are some of the biggest problems organizations that have come up when I discuss the diagram above:
  • Started with Physical Architecture – This is the first mistake that many seem to make. Smart IT are concerned about how many servers to buy and configure they forget to actually create an environment needed to support their business requirements. What usually happens is the environment is not scaled or organized to support the actual utilization; this is where the trouble starts. This pretty much goes away if you go to the cloud.
  • No business requirements and software design best practices – One of the biggest, consistent challenges I see many organizations have with SharePoint is no business requirements. I typically just see organizations create very light documents (a bullet list) of requirements and just start building. I very rarely see organizations actually do software design best practices. There are no use cases, data models, ERDs, UI wireframes, data dictionaries, architecture documents discussing what SharePoint elements they plan to use, etc. Why; because SharePoint is such an easy platform to start building with. I personally believe SharePoint is one of the best solution platforms on the market but sometimes organizations need architect a solution fist. This does not go away with SharePoint Online.
  • No Governance – Organizations usually forget to put Governance plans to manage content and solutions running in SharePoint. A solution can be anything from a group of team sites or a complex .NET application in SharePoint. I have even seen organizations create Governance plans but then not manage nor adhere to them. An analogy would be a organizing a ton of boxes in their basement really well (with labels too). However as time goes on, they just keep on stuffing and stuffing the room with more boxes so that entry to the room is blocked. A good SharePoint environment needs care and feeding. The information, logical and physical architectures need to have policies and procedures to manage it. Policies, procedures, service level agreements, etc. must be put into place. With SharePoint Online several of these Governance woes are removed because the Office 365 cloud manages the environment. Still Governance needs to be but in place to manage content and solutions deployed in Office 365.
  • Over Regulation – I have also seen the term “SharePoint Governance” used as a crutch. I have seen organizations lock down SharePoint too much. My response to that is was there a requirement to lock it down? If so, the right thing was done like a publishing intranet or Internet site – no user should have rights to do what they want. There should be a locked controlled publishing and branding process. However it is perfectly acceptable to have areas of SharePoint that are pure collaboration. Your information architecture and governance plans will drive business users to put content and solutions in the appropriate areas.
There are more things to think about but I am getting a little preachy J
A Not So Unusual Situation
Here is a very common scenario that backs up what I just described. It is very common for an organization to start a SharePoint environment like the following. As you can see they start with a top level SharePoint site. They create some department level sites and some sub sites for their intranet. All in all this is a pretty good start; right?
image
However within a few months (after some very heavy business and user adoption) we have the following.
image
We see such things as:
  • Team sites starting to sprawl underneath some of the sub-sites within a department. The challenge is being able to support collaboration in what was meant to initially be a publishing site.
  • Navigation, presentation, branding and user experience is not consistent.
  • We see custom applications either built from scratch or third party solutions purchased and embedded in sub-sites of a department. The challenge is should these custom solutions be hooked directly here?
  • Department level project sites are created. The challenge is that as project sites grow and take on new responsibilities for the business, they need to be elevated and made accessible like other sites.
There tons more. And I have had customers tell me this is not an issue with “SharePoint”. They currently have these same exact challenges with their legacy intranet, portals, etc. So why do organizations keep on having these challenges? I usually point to a lack of attention to Governance and Information Architecture.
So How Should You Be Thinking About This?
What if content and solutions that are to be deployed are delivered within a framework? Not a “novel” idea either. Hopefully we can make it as simple as we can. Instead of just adding more and more sites and applications; have rules that drive where we put things.
image
For example:
  • The Intranet site should remain a dedicated publishing site collection. This would be geared towards business users having read-only access with only a small set of content owners. Content is delivered in a consistent and clean fashion so that every site is the same giving the user a unified user experience.
  • Create a separate site collection for team sites with appropriate service level agreements. In the team site collection, sites should be can be dynamic generated from pre-define site templates. Users are given the ability to do pure collaboration, standing up lists, libraries, etc. They should be able to share information to complete everyday business tasks. There would also be an expectation that this area is not uniform and that users can do what they want with these sites. Retention polices can be put in place to discard these sites if they have not been used for a pre-defined period of time.
  • Create another site collection for business project sites. These have different support SLAs and Governance. These sites are a little bit more formal in nature with only a subset of people that would have access to manage them. Maybe there are designers from the IT department who have responsibility for building and supporting them. There could be policies and automated procedures to move content out of them to other site collections. Retention policies on these sites would be completely different than team sites and these sites may only be deleted when the project is over (or never deleted).
  • For custom applications, instead of embedding the application into a sub-site, place them into their dedicated site collections. Navigation links can be made to the application from other site collections. This would give significantly more flexibility to move it or provide it more resources.
  • Instead of creating one massive site collection where all scanned documents or records create multiple site collections and then route content to them based on business rules.
This list I provided is not meant to be an all-encompassing list of possibilities and/or solutions. Hopefully you will see that you need to start vertically and horizontally partitioning solutions and data based on such simple things as business rules, security access, data characteristics, etc. Knowing this will help you identify the types of site collections, sites, features, content types, managed metadata, site templates, permission levels, etc. that you need to configure SharePoint with.
The net result is you would take the previous diagram and start creating management boundaries based on the characteristics of the solutions and data managed in SharePoint. This is why Information Architecture is so critical for Enterprise Content Management system like SharePoint.
Putting everything into a single site collection really puts an organization into a tough spot to scale with the business. Microsoft has been publishing great technical diagrams for SharePoint 2010 (http://technet.microsoft.com/en-us/library/cc263199.aspx) and SharePoint 2007 (http://technet.microsoft.com/en-us/library/cc263199(office.12).aspx). Please review and get to know these diagrams well because they accurately tell everything I am talking about here.
Now some people counter this whole thing with why does SharePoint not give this to me? Why does SharePoint not auto-govern itself? SharePoint absolutely comes with a ton of features and capabilities that support a good governance model like Features, site templates, sandbox, managed metadata service, permission levels, and the list goes on. All of the configuration settings are there and organizations just need to set them as appropriate for their business.
I promise; we are coming back to the SharePoint Online cloud but we need to finish setting the stage.
How You Should Change Your Thinking
The following is a diagram a colleague (http://blogs.msdn.com/b/edhild/) and I commonly discuss with customers. I am shamelessly using it because this simple diagram really helps customers with a basic understanding of Information Architecture with SharePoint. Plus it supports everything that I just discussed. This is what we call the “Arch of SharePoint Data”. This is not all encompassing list, however there are different extremes.
image
There is publishing which are sites that are managed by a small group of users and read by a large community of read-only users. While on the other side is something like MySites which is my personal area to manage information and data. In between these two extremes are tons of different types of sites. Department sites, project sites, organization sites, custom application sites, team sites, etc. There are too many to even try to draw. Each one of these types of sites has different security, retention, data usage, transaction management, business rules, automation, etc.
I tell customers is that is perfectly ok to have a team sites area that are for pure collaboration where business users can spin-up a site, do some work on it for two months and then move on. Some people call this the “wild wild west” and that is ok. Just do not allow pure collaboration in you publishing area which is probably one of the most common mistakes J.
Coming full circle, you can see this is all about solution and data management. An Information Architecture is going to tell you the data characteristics. This will drive you to put content in one area versus another.
This is the beauty of SharePoint. It allows you to create and manage business workloads based on your specific business and mission. Once you have the Information Architecture nailed down, you can determine the Logical Architecture (services) you need and then the Physical Architecture needed to support this. By doing this, you know that both your Logical and Physical Architectures will be driven off real business requirements.
Where Does this All Fit with SharePoint Online?
Once you build an Information Architecture you will see that many of these partitions can be moved to the cloud. Intranets, team sites, project sites, my sites, light weight custom solutions, etc. can all be moved to the cloud. If you look at the “Arch of SharePoint Data” diagram, depending on your scenarios, there is a good chance that 80% to 90% of your solutions can be moved to the SharePoint Online cloud. For some organizations, they will be able to move everything up to the cloud. For some organizations they will have a hybrid.
Regardless the re-architecture should be a primary task in your SharePoint 2007 migrations to SharePoint 2010 anyways. Going through this exercise will put you in a position to move pieces to the cloud and with time, more and more.
So what are the Gaps with SharePoint Online?
If you want to know the exact answer it is clearly spelled out and completely available for you. Read either the Multi-tenant SharePoint Online Service Description (http://www.microsoft.com/download/en/details.aspx?id=13602) or the Dedicated SharePoint Service Description (http://www.microsoft.com/download/en/details.aspx?id=18128).
However really understanding these gaps depends on the perspective and approach you are taking with SharePoint. As I say a lot, “SharePoint means a lot of different things to different people”. I have seen customers extremely happy with using SharePoint with out of the box features and SharePoint Designer. While I have seen other customers use SharePoint as a full application development platform writing thousands lines of code. Knowing what SharePoint means to you will dictate your approach to the SharePoint Online cloud. The approach that I outlined in the first part of this bog will really help you with that decision process for moving to the cloud.
When you read the SharePoint Online service descriptions for both the multitenant and dedicated you will see that the gaps are really small. However there are some ones you must be aware of as they will affect your decisions on how to move to the cloud. The big ones that most people bring up are full trust code, business intelligence, FAST search, PowerShell, and Central Administration. This list will quickly change and become outdated because more and more features will be released with time. However let me address each one as it stands today:
  • Full trust code is usually the first one the first challenges. Right now, the only way to deploy custom code to the SharePoint Online Multitenant cloud is using a Sandbox solution. For the SharePoint Online Dedicated cloud, full trust code is supported but it must adhere to a strict set of rules (which are publically available) and the code will only be deployed within set windows. Why such restrictions and strong governance? Well, for all the obvious reasons that would come up if you were tasked with having to run an extremely large SharePoint environment on-premise. What has been one of the biggest issues with SharePoint 2007 Governance? It was developers writing complex code on SharePoint and disregarding the fact that an error they write may take down other sites in the farm (like the content query web part that retrieved too much data on the home page of the intranet <g>). We need to ensure that there is strong security and good performing code and that there is no possibility the Company A can take down Company B. The only way to achieve that service level agreement is to have an environment for running governed code. The net effect is that there will be limitations but you will have that guaranteed uptime. My golden rule is that all SharePoint development (on-premise and cloud) should begin with Sandbox solutions and only when the customizations cannot run in the Sandbox then build as full trust solutions. Doing this will ensure you have agility to move to the SharePoint Online cloud when you are ready. If you really need to do complex operations and manage data structures consider using services Windows Azure integrated through Business Connectivity Services (BCS), Silverlight, etc. But still that may not always suffice and that is why SharePoint Hybrid implementations will be commonplace for organizations with mature SharePoint deployments. I will cover this in more detail shortly.
  • Business Intelligence today in Office 365 is Excel and Visio Services. Other SharePoint business intelligence services like PerformancePoint, SSRS, PowerPivot and Chart Parts are not available right now. Another limitation today is Excel and Visio services only utilize data that is within the SharePoint Online context; it is not able to reach outside (i.e. to back-end databases). More and more capability will be released through the Office 365 cloud; just for the time being Silverlight and Windows Azure can be used to satisfy these requirements.
  • FAST Search is not available in the SharePoint Online cloud right now. It is possible to integrate a local FAST farm with SharePoint Online Dedicated; but not Multitenant. Still take comfort in the fact that SharePoint 2010 search made significant jumps forward from the SharePoint 2007 offering and provides a very strong search experience. With time more and more advanced search capabilities will be released in the cloud.
  • PowerShell currently is not fully available with SharePoint Online. There are a lot of PowerShell commands available for Exchange Online and user subscription management; however the full set of SharePoint PowerShell commands is not available today.
  • Central Administration Site is not available and this should be expected by anyone who understands what cloud architecture. There are administration screens available to some operation that you would normally perform in Central Admin however it is limited and does not give you the granular control. Why? Well this is the cloud. Customers want to come to the environment so they do not need to be in the business of managing every little configuration of SharePoint.
And the reality is with more and more releases of SharePoint Online this gap is going to continue to close. Still, even if it were to completely close, there will be perfectly valid reasons why some SharePoint may remain on-premise thus, creating a SharePoint Hybrid environment.
What is the SharePoint Hybrid Architecture?
SharePoint Hybrid is as simple as it sounds; it is some SharePoint delivered through the cloud and some SharePoint delivered through on-premise. What will drive you to have SharePoint on-premise? All of that has pretty much been covered to this point. Anything from a specific feature to a business policy may keep some SharePoint on-premise. However using the approach I laid out, you will be able to significantly reduce your footprint of SharePoint on-premise and gain the advantages of the cloud.
The great thing about using SharePoint on-premise is that it is the same software being run in the cloud. This means it is very easy to deliver a consistent user experience between on-premise and the cloud. Branding, navigation, security groups and single sign-on can be configured in such a way that the user can go between these two environments and not know it.
What Type of Cloud is SharePoint Online?
One other thing I want to discuss is what type of cloud is SharePoint Online. I really like this picture it really spells it out for people whom are not fully aware of the multiple delivery models for cloud computing.
image
Starting on the left side, you see on-premises and this is how most organizations run SharePoint. You must own the entire solution; all the way up the computing stack. Next is Infrastructure as a Service (IaaS) which is the cloud environment that is managed all the way up to the virtualization layer. The company is responsible for everything else; including the management of the operating systems. From a SharePoint perspective that means all the software installation, configuration, management, patching, adding new servers to meet demand, load balancing, etc. needs to be managed by the you. IaaS gets you of the business of hosting virtual SharePoint servers.
Platform as a Service (PaaS) is running the environment all the way up to the application and data tiers. Windows Azure is a PaaS cloud. In this cloud you build custom applications, data models and run them through a highly available environment.
Software as a Service (SaaS) is the entire stack delivered in the cloud and this is the delivery model for SharePoint Online. You do not have to install software, manage patches, availability, etc. This environment gets you out of the business of managing software and into the business of building solutions. SaaS does not provide the granular level of control of the SharePoint environment (which we have discussed).
The reality is that organizations and companies need to save costs and SaaS is the cloud delivery framework they want for the long-run. IaaS can run SharePoint 2010 and can be leveraged as a replacement for on-premise complex SharePoint computing. Still it is well recognized by industry that companies want more SaaS solutions.
Supplement with SharePoint Online with Windows Azure
Windows Azure (PaaS) and SharePoint Online (SaaS) can be used together to deliver end-to-end cloud solutions. Companies that have mature SharePoint deployments commonly have:
  • Code that runs in full-trust
  • Are managing complex data
  • Require the ability to do back-end systems integration.
One thing I have been talking with customers about is offloading that code out of SharePoint and into to the Windows Azure (PaaS) cloud. The Windows Azure cloud allows you to develop and deliver custom code, services, complex data (SQL Azure) and connected back-end integration (AppFabric). These complex operations can be connected through Business Connectivity Services (BCS) in SharePoint Online.
This makes a lot of sense too when you take a step back. I have already said that you should develop SharePoint code to the Sandbox first and when there is good reason to deliver outside the Sandbox. Here is a similar question. At what point do you know you should be developing in SharePoint? I fully recognize there is a gray area here.
I say good software development patterns and practices should drive that decision. This is why Windows Azure is so interesting with Office 365 because we can move complex code that cannot run in the SharePoint Sandbox to the Windows Azure cloud. I recognize this is not a perfect rule because some code needs to run in SharePoint as full trust. However this should be part of your design analysis to reduce to your SharePoint on-premise footprint.
There are lots of different ways Windows Azure can be utilized with SharePoint Online. There may be situations where you need:
  • To work with data in SharePoint but you have complex relationships in the data model that are not right for SharePoint lists. Use SQL Azure to manage that data and build services and connect via BCS or Silverlight.
  • To integrate with line of business applications on premise use custom services deployed in Windows Azure or AppFrabic. Again BCS or Silverlight can connect Windows Azure which is conduit to line of business applications.
  • To use custom web services to perform complex computations and logic. Again offload that to Windows Azure.
  • As well, reverse the direction. There may be solutions and applications delivered in Windows Azure can utilize SharePoint Online services. There are SharePoint web services, REST services for data, SharePoint Client API, Javascript APIs and Silverlight APIs that can be used as integration points. A simple scenario could be a web page deployed in Windows Azure that needs to manage documents. Instead of building that up from scratch in Windows Azure just connect through SharePoint Online APIs and deliver SharePoint Online services through that custom web page.
At the end of the day both SharePoint Online and Windows Azure can be used to complement each other in the delivery enterprise business solutions through the cloud.
image
Conclusions
Why did I go through all of this? The answer is simple; to give SharePoint Architects ideas on how to move forward with SharePoint Online. There really should be no blockers as long as you take a realist look at your Information Architecture and assess how you use SharePoint. There will be lots of stuff which can clearly be moved to the cloud, there will be some stuff where it is not appropriate (hybrid) and then there is that gray area. However I really hope that approach I put forth will help you with your thinking into how to significantly reduce, if not completely remove, your SharePoint on-premise footprint.
Thanks
Special thanks to Chris Geier and Stephen Cawood for providing me feedback and advice as I wrote this.

Sunday, December 4, 2011

SharePoint - Presidential Memo to Records Management

On November 28, 2011 a new Presidential Memorandum was sent out regarding Records Management - http://www.whitehouse.gov/the-press-office/2011/11/28/presidential-memorandum-managing-government-records

In the Mandate there are two notable action items that should be top of mind with your customer and open the door for a discussion:

  1. “Within 30 days of the date of this memorandum, designate in writing to the Archivist of the United States (Archivist), a senior agency official to supervise the review required by subsection”
  2. “Within 120 days of the date of this memorandum, each agency head shall submit a report to the Archivist and the Director of the Office of Management and Budget (OMB) that describes the agency's current plans for improving or maintaining its records management program…”

This is a great opportunity for Federal Agencies to utilize what they own, specifically SharePoint, to assist you with building records management solutions. As a starting point, customers such as USDA where they have implemented a SharePoint 2010 Standard-only solution (no additional 3rd party software was required) to deliver cost effective Records Management - USDA Records Management Case Study.

If you required DoD 5015.2 certified records management solutions, Microsoft does have ISV partners that have built solutions that adhere to these standards.

Thursday, December 1, 2011

Gartner Rates Microsoft a Leader in Enterprise Search

I am happy to say the Microsoft has again been ranked as a top Enterprise Search provider in the marketplace - http://www.gartner.com/technology/reprints.do?id=1-1835DKL&ct=111123&st=sb. You will see that some Enterprise Search providers dropped in rankings and some were removed.

As you can see, FAST is not slowing down and we have an extremely strong roadmap for it. It is a very fiscally responsible Enterprise Search solution when you consider it as part of your Total Cost of Ownership (TCO) when investing with SharePoint Enterprise. FAST provides tons of added features and capabilities to solutions such as Portals, Sites, ECM, Document Management, BI, Social, Composites, Platform Development, etc. Plus if you know how to configure SharePoint Search; FAST search is configured and managed through the same screens and procedures thus requiring less ramp up time.

Even if an organization just needs a pure Enterprise Search solution, FAST is a great Enterprise Search platform. Having SharePoint in the mix, is great value additive because many other Enterprise Search ends provide you no user interfaces. Yes FAST does have services so that other applications tiers can tap into it. However having a web portal like SharePoint immediately available with numerous web parts to start building search screens and search applications is a huge time and money saver. Plus, when Enterprise Search is made accessible through SharePoint, you get to take advantage of all the other SharePoint features to deliver a more engaging user experience. For instance:

  • You can create blogs from the search team to the users
  • Wikis to explain to users how to do advanced search
  • Stream training videos
  • Maintain documents and FAQs
  • Create a Search Knowledge Base
  • Create support forums
  • Manage technical specifications about line of business data that is index
  • Etc.

Monday, November 28, 2011

Productivity Hub now supports SharePoint 2010 SP1

The SharePoint 2010 Productivity Hub has just been released support SP1 - http://www.microsoft.com/download/en/details.aspx?id=28178. This has been a rather popular web site to install into SharePoint for knowledge management around Microsoft products. I have also seen customers take it and extend the content delivered in this site to support applications, business processes, etc. that are unique to their organization.

There were some issues with running this because unless you installed this because many customers upgraded to SharePoint 2010 SP1 but the installer files were targeted for a pre-SP1 build of SharePoint 2010. This has now all be resolved and is ready to go.

Tuesday, November 1, 2011

FAST for SharePoint 2010 Case Studies

There is a new FAST Case Study that for FAST for SharePoint 2010.  IMF - http://www.microsoft.com/casestudies/Case_Study_Detail.aspx?CaseStudyID=4000011274

Here are two other good FAST for SharePoint Case Studies:

InfoPath 2010 and Digital Signatures

I have had several questions about InfoPath 2010 and support for Digital Signatures. The answer is yes, InfoPath 2010 supports them and there is even more improved capability. Here are some good references.

SharePoint 2010 Max File Size

I have as well been receiving an inordinate amount of questions associated to the max file size the SharePoint 2010 supports. It is been clearly stated for some time that the max file size supported by SharePoint 2010 is 2 GB - http://technet.microsoft.com/en-us/library/cc262787.aspx#ListLibrary. A lot of customers are asking why. I am not on product team but usually couch it as SharePoint is a web based ECM platform. Two GB uploads and downloads is not very effective over the internet in general. Yes, internet speeds are getting better but still, that is a big file. Plus, if you are not using Remote BLOB storage, that is a lot of data to put into SQL Server.

If you have files that are larger than 2 GB you should look into storing the content externally and then utilize enterprise search and third party web parts to make the large files accessible through SharePoint 2010.

SharePoint Search Index Document

I received several questions about indexing of SharePoint content lately. Specifically does SharePoint index the entire document?

First off if FAST is being utilized, yes, the entire document will be indexed.

Second if you are using the out of the box SharePoint search by default it configured to index the content of items that are under 16MB or under. Metadata associated to these documents will still be indexed (so if the big files are videos they will still be searchable).

The max file size for indexing can be upped up to the max file size limit; which is 2GB. Before upping the size, it is recommended that you do some testing and understand any performance ramifications relative to your environment and data. Here are some good references on the topic.

SharePoint 2010 Content Database Sizing

A lot of people already know this but on July 14, 2011 it was announced that Content Database Sizing has been updated http://technet.microsoft.com/en-us/library/cc262787.aspx#ContentDB.

There is still recommendation to keep content databases at 200GB. Why? This recommendation is still a good recommendation because if you need to back-up and restore a database very quickly, you do not have move around large back-up files. Plus if you have an Information Architecture that drives content to specific site collections (with dedicated content databases), you will be much more agile to requirement changes, upgrades, etc. One big massive content database is an indication of poor planning and governance.

The first new recommendations in this article is that 4TB of data can be stored in a content database. There are some parameters around this recommendation that you should read.

The second new recommendation is that there is no explicit recommendation on sizing for document archiving scenarios. However there are some very specific recommendations made in here to support that scenario – so review http://technet.microsoft.com/en-us/library/cc262787.aspx#ContentDB. This is really important for Records Management solutions. On this specific point, it would also be good to review the “Extremely large-scale content archive” section in http://technet.microsoft.com/en-us/library/cc263028.aspx. When going down this path you will need to have Remote Blob Storage and FAST to support this solution architecture.

Finally SQL Server tuning is fundamental to your success for managing large content databases. Here is a blog that I wrote on the topic - http://www.astaticstate.com/2010/12/sharepoint-2010-high-availability-with.html

Sunday, October 16, 2011

Create InfoPath Form Instance through Workflow

Issue

Have you ever wanted to have an InfoPath form generated by a workflow? Well I thought it would be a simple task but I had to do some extra things to make it happen correctly.

I recently wanted to be able to generate an InfoPath form based on an event on a SharePoint Designer workflow. So I published my InfoPath form to a Form Library, added an action to create a list item and then ran the workflow. I believed this would work because I have created Word templates, associated them to content types and the word file would be created just fine with the appropriate template. The net result in this situation does not work. Instead the InfoPath form template (.xsn file) is created as a file instance. The InfoPath xml that I had expected was not there.

Solution

I found this article (http://www.bizsupportonline.net/blog/2009/06/create-infopath-forms-sharepoint-designer-workflow/) which I reviewed. My solution is a little bit different because I was building this solution in SharePoint Online in Office365 and I was not able to implement this exact solution. However I was given some clues and came up with the following.

My solution was to:

  • Publish the InfoPath form the same way I did before.
  • Then I created an instance of the InfoPath form xml and saved it to my desktop.
  • Then went to the form library configuration, advanced settings and turned on “Allow management of content types”.
  • Then clicked on the default Form Content Type.
  • Then clicked on Advanced Settings for the Form Content.
  • Then I selected Upload a new document template and selected xml template I saved locally.

The following is what I had.

image

The InfoPath form template (.xsn file) is still there behind the scenes and the form will render correctly through InfoPath form services.

There are a few limitations of this solution:

  • The user will not be able to create a new InfoPath form instance through the browser using the New Document button in the ribbon. What will happen is the InfoPath client will launched. This is not such a big deal because in my situation InfoPath forms will always be created through the workflow.
  • If the InfoPath form changes, you will have to publish the InfoPath form template (.xsn file) and then go through these steps again.