A Point For Sharing On SharePoint Server (2007, 2010)

Monday, 3 February 2014

The InfoPath forms on SharePoint which we have used from long time for creating the interactive forms are getting retired. Microsoft has decided that they are retiring InfoPath and investing in new forms technology across SharePoint, Access, and Word.

Few important points to understand with this are:
1. InfoPath Forms Services in SharePoint Server 2013 is the last release of the InfoPath Form Service. Also the InfoPath 2013 is the last release for the Desktop version.
2. Microsoft will release a detailed migration strategy going forward.
3. The support for InfoPath 2013 desktop client and InfoPath Forms Services for SharePoint Server 2013 will continue through 2023.

The above information should be taken into account if you are planning significant investment in InfoPath forms.

Though these options gives lot of flexibility they make life difficult to determine which option we should adopt. I am putting few parameters and the rational behind them which can help you to understand these different deployments better and take a decision:

SharePoint in Office 365

SharePoint in Windows Azure

SharePoint On Premises Deployment

Definition

This replicates Software as a Service Model. Microsoft has hosted the servers and the software and we as users can just utilize this after buying the subscription.

This replicates Infrastructure as a Service Model. Windows Azure platform provides the infrastructure (servers) and app services needed to host a SharePoint 2013 farm.

This is the traditional model where you own all the servers and software. You need to do the capacity planning, patching and backing up the data.

Licensing

This is based on Subscription model. This requires no additional licenses.

User buy the Windows Azure subscription which includes the server operating system. After that they also need to pay for SQL Server, SharePoint 2013 Server License & SharePoint 2013 Client Access License. There are other costs as well such as storage, network etc. So we need to pay full attention before you finalize this option.

Monday, 8 April 2013

Various versions of SharePoint provides different capabilities to create solutions on SharePoint and these technologies are continuously evolving. I am trying to put the journey here and then will compare between these technologies so that we can take a correct decision on which model should be selected and when.

The below diagram depicts the journey of SharePoint and how the solutions are evolving:

Now some time it is not an easy decision to decide which model we should be selecting for our business needs and I would say that there is no perfect answer for this. I will try to summarize few parameters which can help you to decide the best technology:

SharePoint Farm Solution

Sandboxed Solution

Apps for SharePoint

Definition

Solutions are small to large scale packages used to customize or enhance SharePoint sites. They are also called full trust solutions.

Sandbox solutions are similar to Farm Solution with a limited capabilities. They are called partial trust solution.

Apps For SharePoint are stand-alone applications that provide specific information or functionality to a SharePoint site.

Hosting

SharePoint Farm solutions are hosted within the SharePoint Farm and they are executed within the main SharePoint worker process
(w3wp.exe).

Sandbox solutions are also hosted within the SharePoint Farm but they are executed in sandbox worker process (SPUCWorkerProcess.exe).

Apps run completely outside of the SharePoint server, and their custom code executes either within the context of the client browser or on
other servers that are not running SharePoint such as Web servers in the cloud.

Deployment

Mostly a farm solutiona requires a Farm Administrator to do the deployment and mostly restarts the IIS on all the WFEs, which causes a disruption in the service.

Deployment of Sandbox solutions is a lot easier and straight forward and a site collection administrator uploads and activates a sandboxed
solution.Though after activating the sandboxed solution it can create some unwarrented effects on the site.

The apps are uploaded in either the public SharePoint app store or to an organization's private app catalog. Once they are made available in a SharePoint site a user can install them on the local SharePoint Site.

Scope

Farm solutions can be installed for any scope such as at Farm, Web App, Site Collection, Site level.

Sandbox solution scope is limited to Site Collections in which they are activated.

app are installed within the same scope of the SharePoint site or at the Tenancy Scope. The tenancy scope is just to make sure that all the tenant site can install the app at the site level.

Physical Files Location

The content of a farm solution goes into the config DB and on the file system depending on the solution content.

The Sandboxed solutions are stored in the content db of the site collection. No content goes in the file system.

The components for an app resides in multiple places:Externally: Remote components are persisted in databases, servers, or cloud-based services, that are external to the SharePoint farm.In SharePoint: SharePoint components, such as list templates, modules, workflows, site pages, Web Parts, and custom content types, are
persisted within the SharePoint content database.

Coding Options

In Farm Solutions the Server side object model can be used. The data acces is unrestricted.

In Sandbox Solutions the Server side object model can be used but it is restrictive in nature. The solution can only access content from
the site collection in which it was deployed.

Business logic in an app for SharePoint can access SharePoint data through one of the several client APIs included in SharePoint 2013 such
as .NET Framework client object model, Silverlight or JavaScript Client Object model code, REST endpoints & Mobile client object model. The
server object model can not be used in the Apps for SharePoint.

Multiple options for the integration from Services to actually implementing a fully customized applications against different products SDK as this is technology independent. We can consider a server in the SharePoint farm, an external server such as a server in the cloud, a client computer, and a mobile device.