Friday, May 23, 2014

SharePoint 2013 and Office 365 (SharePoint Online) App Provisioning and Installation Options

App deployment is different from app development.  App deployment is depends on how administrator is going to install the app. App deployment can be done in

  • Web Scope
  • Tenant Scope

For both deployments we need App Catalogue in functioning. Apps are currently coming from two main sources as From Organization and From SharePoint Store


Web Scope installation

This is what we generally do. Here we are navigating to desired web (assume  the web is and click the setting button and launch Add an app


Then you can either browse and install app from office store or organization store.

image image

in this approach app is installing as a sub web under current web. and data will be scoped to the particular web we installed. The web site which actually holds app data and functionality is called App Web (sub web) and The web site we installed the app is called as Host Web (current web).


For an example assume installing MyApp under myweb.  In this scenario /sites/myweb becomes a Host Web for myApp and installing MyApp provisioning a sub web (/sites/myweb/MyApp) that becomes a App Web for particular MyApp. installing MyApp under sub site; sites/myweb/myweb2 resulting; sites/myweb/myweb2 been a Host web for particular MyApp instance and /myweb/myweb2/Myapp as a App Web for that MyApp instance.

Tenant Scope Installation


This installation is different from web scope installation. here we are installing app in App catalogue site and then it becomes Host web for that application.

First you need to navigate to your app catalogue site collection and perform app installation in that site.


Then select and installed the app. after that go to Site Contents and open the callout menu for that app. You can see Deployment Menu.


If you click on that you can see following tenant deployment options.

  • Site Collections
  • Managed Paths
  • Site Templates

Site Collections : here you can specify which site collections you need to deploy. You can enter multiple sets of site collections. Thus app will be automatically provisioned under all webs inside that site collection.


Managed Paths: This will provision the app in webs under that manage path.


Site Templates: This will provision the app for webs that inherits from mentioned template.


Saturday, May 10, 2014

Disable SharePoint Service application's Custom Errors and Enable service debug.

You may encountered with following error in SharePoint applications. You need to enable service debug to see real exception in the application.

Sorry, something went wrong
The server was unable to process the request due to an internal error.  For more information about the error, either turn on IncludeExceptionDetailInFaults (either from ServiceBehaviorAttribute or from the <serviceDebug> configuration behavior) on the server in order to send the exception information back to the client, or turn on tracing as per the Microsoft .NET Framework SDK documentation and inspect the server trace logs.


If you are in a multi farm environment first you need to find out where your service applications are running. For an example assume that you need to know where reporting service is running.

Go to central administration and then go to Services on this server.  Here you can change the Farm machine and can see whether reporting server instance is running. so note down machines which has reporting sever instance is running.


Then logged in to those machines and find reporting service web service application in IIS. 


For that you can change the View to Content View and select each SharePoint Web service and see whether ReportingWebService.svc is available. If yes it the web application corresponding to reporting service service application.

Then open the web.config and add includeExceptionDetailInFaults=”true” to enable service debug.

<serviceDebug includeExceptionDetailInFaults="false" />
<behavior name="RSExecutionBehavior">
<serviceThrottling maxConcurrentCalls="512" maxConcurrentInstances="512" />

Note: if service is running on multiple machines you need to change all related web.config.

Wednesday, May 7, 2014

Ghosted vs Unghosted in SharePoint

though these terms are pretty simple most of the people have still confuse with these terms.



SharePoint pages are rendered using physical page template and content from content database. 

These pages are not customized. thus SharePoint can offer these pages to every requesting location simply by merging physical file template and  content from content DB. these kind of files are named as Ghosted files.



Users can customize content pages (using SharePoint Designer or Visual studio) that may also change the physical  template file. thus SharePoint can no longer  keep the standard file and customize file in the physical location. thus SharePoint keeps changed template file also in the content database. These files are called as Unghosted Pages.


Reghosting is a concept of revert back to definition.