Unable to Delete a SharePoint 2013 Web Application

An object of the type    Microsoft.SharePoint.Administration.SPIisWebsiteUnprovisioningJobDefinition named “Unprovisioning TEST-PROD“already exists under the parent Microsoft.SharePoint.Administration.SPWebService named “”.  Rename your object or delete the existing object.

A Long text error when you simply trying to delete a web application is something you won’t expect.


Ultimately the resolution for this is to delete the TimerJob exists as the error clearly mentions.

Open up the Central Administration and direct to Monitoring –> Review Job Definitions 

Find the “Unprovisioning PRODTEST-INT” Job. Last part of the Job name will be based on your Web App Name.


Go ahead and click on it and then delete the Job. You should now be able to perform the deletion of Web Application.


Unique Permissions are No longer works after Migrating SharePoint 2010 Web Application to 2013

It is well known that SharePoint 2013 by default uses Claims mode for Authentication and Whenever we create a Web Application it creates with Claims Auth. SharePoint 2010 also had Claims but was optional for us to choose whether we want to have Claims based or Classic. If you had a Classic Mode Web Application in SharePoint 2010 and then it migrated to SharePoint 2013, you also need to Migrate Users specifically from Classic to Claims because you can no longer user Classic mode in 2013.

I had a scenario where an Intranet Site was Hosted in SP2010 and Migrated to 2013 which had hundreds of Libraries and Folders inside them with Unique Permissions. After the Migration from 2010 to 2013 using DB attached method, everything worked well until users start complaining that they are unable to see any records with unique permissions.

Checked the permissions using “Check Permissions” Option and something seemed to be wrong as all the users are not having their relevant set of permissions in the new Destination. It just the Read permissions granted through “All Users” Group which is NT All Authenticated Users.


Migrating Users from Classic to Claims using below PowerShell Script Rectified the issue and everyone was able to access their relevant records as expected. checked the permissions again and it appeared all set of permissions which is looked like everything back to normal. We also need to ask every individual to check their content and functions to verify this.


You can run this in any Server in the Farm and once it’s done, cannot be reverted back so better test it out first in a POC Setup. this will completely switch your all users from Classic mode to Claims.

   1: Add-PSSnapin Microsoft.SharePoint.powershell -EA 0

   2: $webapp = Get-SPWebApplication -identity "http://intranet-poc.abc.local"

   3: $webapp.MigrateUsers($true)

Bottom Line: Claims Based Authentication is an Essential Component in order to enable SharePoint 2013 with Advanced functionalities. If you had a Classic mode Web Application in SharePoint 2010 and you are planning to Migrate it to SharePoint 2013, Migration of Users is a Critical part of the SharePoint Migration. It is important to test the same in a Test Environment prior to the Production.

Notes: There are lot more details and scenarios when it comes to Claims Authentication. will put it over here as an detailed article soon.

Implementing Multi-tenancy Infrastructure with SharePoint 2013 (SAAS) – Part 2: Planning for Deployment

– The Step by Step Guidance for Creating SharePoint 2013 Based Multi-Tenant Infrastructure,   Part 2 Planning for Deployment –   

Planning Your Deployment

Seems you are continuing to read from Part 1 of my Article Series.

For sure you will need few days to test the entire Multi-Tenant functionality properly. All the below perspectives are entirely depends on the Product Knowledge and the past experience. Performance is ofcource a major concern as this isn’t a generic setup where a single Web Application and few Site collections will serve requests. In this case we are talking about a Hosting Vendor who will be Providing a Stable, reliable and well performing SharePoint online service for its Clients.

It’s also goes more deeper when we think of Intranet Scenarios. Customer may host their Web Portal or may be Intranet Portal. Intranets needs robust environments as it will be heavy with lots of Services and content. Performance, Storage and Security is a big concern here.

However, there’s no environment stays static so you might need to scale up-out based on the utilization of resources. Specially the storage you won’t be able to stick to the initial when it becomes popular. So the improvements has to be done for sure.

You need to read more on SharePoint Hosting Guides given by Microsoft as I stated in the Part 1.

Test (POC)

Prior to the Production Deployment, It would be a great idea to run this and try out in a POC (Proof of Concept) Setup. A Single Server would be sufficient but multi-Server environment is ideal so you get the real world experience. Unlike generic SharePoint Farm deployment, Multi-tenant Farms are more tricky. You need to Plan a lot which is extremely goes in to the deep dive as down as Hardware, Software, SharePoint Services Allocation, Service Segregation across Servers, Performance Considerations such as Storage (IOPS), Security Requirements (Publishing Through Proxies) etc..

Hosting Tenants – Where the customer Tenants (site Collections) will sit on.

A Single Web Application for all the Site Collections (Tenants) ? Or a dedicated Web Application for Each ?. Well, This thing is entirely depends on how far you will go. Microsoft Does not recommends to Host more than 20 Web Applications per farm. This is a threshold not a Limitation. Yet it is considerable since you are not supposed to exceed the recommended level in these kind of critical real world scenarios.

Planning Backend for Tenants

Basic Idea of this is, whether we are isolating our customer’s site collections Databases or not.

Single Content Database for all ? Not a good idea. Data isolation is a prime concern when we talk about Multi-tenancy and a Dedicated Content DB per tenant would be ideal. When it comes to the scaling perspective, Isolated DB is ideal.

Site Collections and Database Limitations and Recommendations

Isolation is all about Site Collections and Databases. You have to go through Software Boundaries and Limits for SharePoint 2013 during your planning.

Active Directory Perspective

The Isolation also comes from Active Directory side when we talk about Security. Tenant A (Customer A) should not be able to see the users of Tenant B (Customer B). When a user of Tenant A trying to Search another user through the People picker, he should be only able to see the result within his tenant. This is a Security practice which will be implemented via Active Directory Organizational Units (OU).



Where we store our Users is not a matter here. Yes you got it right ! We can use the Active Directory as I have shown in the diagram above. You could use somewhere else to store the users but you got the best place to store them, why somewhere else is depends on your requirements. I would straight go with AD through dedicated OU Concept which is too easy and centralized. I will only need to look after the AD Objects so the windows authentication is way smarter.

URL Considerations

The other Key point to make decision is, URL. How you are going to let your customers to access the site. There are two choices as 1. Ordinary Addressing and 2. HostHeader Site Collections.

Also there can be below possibilities. In this scenario we have to consider that we will provide all these for our customers.

  1. Allowing Customers to Create Site Collections under their root
  2. We Will provide Content Type Hub, My Sites, Tenant Administration Site

E.g. scenario – Above features may depends on the level of Subscription (feature packs you are setting for the tenant). Yet you need to make sure how these sub site collections are addressed. Take below sample scenario to get an understanding.

Web Application – Root (http://HostingProvider.com/)

Tenant URL – /TenantA

Other Sub Site Collections






Per Tenant There going to be Lots of site collections where each stands there for a specific purpose. This is a hassle to manage with path based concept isn’t it ?. And the critical point is, Performance. Having lots of Managed Paths in a single Web Application will give you performance overhead. The recommended number of Managed paths per Web Application is 20. we can ofcource exceed the number and go for more in here but more you have will more overhead on performance.

Host-header Site Collection is the ideal way to achieve this point. Except few minor drawbacks, it gives excellent capability over the each site collection you can have multiple managed Paths. Even though the Site Collections sits on a single Web Application, doesn’t matter the number of Managed paths (in terms of Web Application wise) per web Application because you are dealing with a separate host-header Site Collection. I would recommend to go with Host Header Site Collections at this point.

Custom Stuff

Why Not !. having a Centralized service portal which allows users to visit and create a tenant themselves will be a handy thing just like Microsoft’s O365. having an armed super-duper backend to run the provisioning of tenants through automated scripts etc.. There’s lot more to talk on this thing so for now let me finish what I started under this topic.


Stay Tuned for Part 3 – 6 soon to be Published !

—————— Part 3 – Functionality Tech Preview (What It Really Gives You) ———————————-

—————— Part 4 – Deploying Core Infrastructure (Platform) ————————————————–

—————— Part 5 – Creating Partitioned Service Applications ————————————————-

—————— Part 6 – Creating Tenants and Do some real stuff ————————————————-

SharePoint Granular Backup Failed and Site Went Inaccessible (Locked)

So you was thinking that site backup has no Interruption to the running (live) system ? Yes it is. I ran in to an issue where an Granular backup was executed through SharePoint Management shell while users were accessing the portal in SharePoint 2010 production farm.

Backup was terminated due to lack of space in destination drive and users are prompted with "Error: Access Denied Massage" which was in an extremely critical peak hour.

There were multiple set of backup jobs running parallel in SharePoint Shell and few of them were unable to complete due to lack of space. The person who was handling this closed all the SharePoint Shells and sites suddenly prompted this error to all users. Sites which are successfully backed up had no issues.


Checked the Content DBs of particular Web Applications and they looks green as Database Read-only mode is "No".


When Looking out for a possible reason, the "Lock" word came up to my mind and checked the "Quotas and Locks" in Central Administration (Application Management –> Site Collections –> Configure Quotas and Locks)

And Here we Go !. It was in the Read only Mode. Changing the status to the "Not Locked" Mode bought everything back to normal.


It has put the site in to maintenance mode during the backup and since it was not properly completed, the status yet remains in Read-Only mode. So a good point to think before you execute any backups in SharePoint. Plan for a drive with enough space and off-peak hour.

This is the command line resolution for the same

stsadm -o setsitelock -url http://sitename -lock readonly

stsadm -o setsitelock -url http://sitename -lock none

Here are some good facts in terms of Backup and Restore Planning in SharePoint From Microsoft – https://technet.microsoft.com/en-us/library/gg266384.aspx

SPSite Restore Fails with “InvalidData” Error (Restore-SPSite PowerShell Fails)

One of my friend came up with the Error on PowerShell during a Restoration of SharePoint Granular Backup to another Farm.



Restore-SPSite : <nativehr>0x80070003</nativehr><nativestack></nativestack>

At line:1 char:1

+ Restore-SPSite http://Source-Site -Path C:\bkp\SourceSite.bak

-HostHeade …

+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


+ CategoryInfo : InvalidData: (Microsoft.Share…dletRestoreSite: SPCmdletRestoreSite) [Restore-SPSite], DirectoryNotFoundException + FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletRestoreSite


After Checking all the Event Logs and Destination Databases etc.… realized that this cannot be an issue of the Destination Farm. Tried to backup the same Site Collection from source Farm via Central Admin Thrown an Failure at the end of the Backup job.


I Always Prefer PowerShell for SharePoint Administration because that’s the ultimate tool to get almost anything done when we stuck on UI. before finding the root cause for this failure through UI, made it to PowerShell since the Destination restoration was a urgent thing to do. If You face the same, Use Below Shell Line to Execute a Granular Site Collection Backup.

Backup-SPSite http://SourceSiteURL -Path "C:\site.bak"

This Ran very well and realized the size of the .bak file is pretty large than the one came out with errors through UI.

Used the New backup file to Restore and it went like a Charm. Making sure on the success result at the end of a backup job will save your day…

Extract Farm Solutions from SharePoint

Seems you are directed to here from a Search Engine!

Yes you can simply use PowerShell to extract your Farm solutions a bulk. there were some .exe s also does the same but for me it was more easy to use this smart little Shell Script. Every SharePoint Guy one day will face an Migration, this little guy is a very useful and reliable one.

Run PowerShell ISE as Admin and run below Lines. use first three Lines to Extract from the source Farm and last few lines are for Destination Farm use.

   1: #Extract Solutions from Source farm 

   2: Add-PSSnapin Microsoft.SharePoint.PowerShell

   3: $farm = Get-SPFarm

   4: $farm.Solutions | ForEach-Object{$_.SolutionFile.SaveAs("c:\export\" + $_.SolutionFile.name)}</p>


   6: #Add Solution to Another Farm 

   7: <p style="padding-left: 30px;">Add-PSSnapin Microsoft.SharePoint.PowerShell

   8: $files = Get-ChildItem "c:\install\"

   9: ForEach ($file in $files) {Add-SPSolution $file.FullName}

Sample (Change the ‘Save as’ Folder as you wish)


Configuring Outgoing Email for Various SharePoint Environments

Configuring Outgoing email for a SharePoint Farm is one of the core thing to be done after the initial SharePoint Deployment and Configurations. You can use an Internal Mail Server or simply relay to an external Services such as Hotmail or Gmail. We will go through both ways in this Article. No purpose of referring to an External Service if you got a Mail Server in premise (e.g. – Exchange Server). Developers always prefer to use free Services like Gmail or Hotmail since having a Mail Server set up as a virtual is something consumes resources.


  • Using External Services (Mostly Used for Testing Purposes by Developers)
  • Using In Premise Mail Server
  • Standalone and Multi Server Farms

Initial Common Steps (Ignore if you have SMTP and IIS 6.0 Roles and features Installed and go directly to Scenarios below)

To Install SMTP Services in SharePoint Server, Open Server Manager and go to Add Roles and Features. My server in this scenario is 2012, if yours is 2008 or earlier you may do the same from Control Panel –> Programs and Features.

Go to Add Roles and Features.


Click Next until you get the ‘Select Features’ tab. Select the SMTP Server There. Choose Telnet Client too, you will need it to test the connectivity to SMTP Services Later.


Below Tab will be prompted. Simply click ‘Add’ to it. SMTP Server is usually managed from IIS 6 Interface so let it install all the required components there. Click next after the selection and it will be completed in a minutes.


Once Installation is done, Go to Start menu and type IIS, find the old IIS Icon which comes as second item in results. Click and it will launch the IIS 6.0 Manager.


Meanwhile Let’s go to Services of SharePoint Server (Open Run and type ‘services.msc’ and Enter) and find SMTP Service then make the Startup mode to ‘Automatic’ from ‘Manual’.


Above Steps are the common ones for any scenario.

Scenario A – Configuring Outgoing Email for SharePoint with External Service

Once you launched the IIS 6.0 it will load below Snap in.


Right click on the Virtual Server Name [SMTP Virtual Server #1] and get the Properties of it.


General Tab – Nothing to do here

Access Tab. Under Authentication, Enable Anonymous and Click OK.


Connection: Choose All except list below under connection. You can also specify the Server here by choosing the first option so that would be more secure.


Relay: here also the second option for me. You can specify the server too.


Massage Tab – Nothing to do here for now. You can simply customize by defining limits based on the requirements.


Delivery Tab – Set the Outbound Security here. Choose ‘Basic Authentication’ and define the Account details which will be used to connect to particular SMTP Server (External). Enable TLS encryption and click OK to save.


Outbound Connection: I have No changes here. The default Port is 25 and you have to adjust based on the Port Number used by your External SMTP Service (‘I’m Using Gmail for testing)


Advanced: Define the FQDN of your SharePoint Server (Local Server which runs SMTP Service) and check DNS to validate the name. Set the name of your external SMTP Service under the ‘Smart Host’ field. (Gmail – smtp.gmail.com | Hotmail – smtp.live.com etc…)


You can leave rest of the things such as ‘LDAP Routing’, ‘Security’ with Defaults and enable as and when requires.

Let’s Open up IIS Manager which hosts our SharePoint Web Applications (IIS 7/8). Point to Relevant Web application which we will be using Outgoing Email in SharePoint. Click on the ‘SMTP E-Mail’ Feature.


Define it to use ‘Local Host’ and Save.


That’s it from IIS 6.0 Panel. Let’s Open up SharePoint Central Administration to do the last thing. Point to ‘System Settings’ –> Configure Outgoing Email Settings’ under Email and Test Category.


Define the

  • Outbound SMTP Server (Local SharePoint Server which we enabled SMTP Services)
  • From and Reply to Addresses
  • Character Set with Defaults


That’s all on Configurations. Do a IIS Reset before we test the functionality.

Testing of Functionality.

You can either Set an Alert to a Library and if it’s sent we are good.

Login using an Account which has an Valid Email address. Create a test Library and go to Library Settings and ‘Set Alert on This library’.


It will prompt below snap in. it shows the Email address of the particular user. Click OK to save with default settings. Default settings will send an alert immediately based on any change you are doing to this library.


It will create the initial Alert right after the enabling. This Proves that Outgoing Email is now Functioning Well !



Or else the other way is to Create a Simple Workflow to fire a Mail based on a Record (or something). This is a nice way to test it out. Would be robust than the alert.

Open SharePoint Designer and create a Two Step Simple Workflow like below to test.


Upload a sample Item and Start the Workflow.


This will trigger the mail immediately.


Scenario B – Configuring Outgoing Email for SharePoint with In Premise Mail Server.

In This scenario, SharePoint Server will relay all the outbound mail traffic to Organization’s Mail Server which may be Exchange Server.

Nothing much but only below few changes you should do after the common Configurations done.

In SMTP Server ‘Delivery’ Tab. Enable ‘Anonymous Access’ under ‘Outbound Security’


Also the Internal Mail Server Name in the ‘Advanced’ Settings


Scenario C: Deal With Standalone and Server Farms

Standalone: In The Central Administration, You can point to Local SharePoint Server in the Single Server Scenarios. Do not point to the Smart Host from Central Admin.


Server Farm: having SMTP Service installed and configured in one of the Frontend Server would do. Make it available in all WFE Servers if you have multiple with Load balanced so that SMTP Service will still work even if any WFE goes down in case.

Point in to the Smart Host in Server Farm Scenarios. Do not point to the Local Server


Important Troubleshooting Steps

1. If you are not getting any mails yet, Check the Junk Folder too, sometimes it goes there under the untrusted category

2. Keep Monitoring the Queue Folder (C:\inetpub\Mailroot\Queue) if the mails are queuing here, you got a point to check.


3. Sometimes External Service vendors may have changed the port for SMTP for security purposes. Check the connectivity using Telnet. This is why we install Telnet service too when we installed SMTP. Open PowerShell as Admin and run below lines (customize with Name and Port)


If it connects Like below, we are Cool here. Otherwise you got a point to check, may be the port number of Firewalls you have.



  1. All Above Configurations are Identical for both SharePoint 2010 and 2013.
  2. Also There’s No single Edition wise Difference (Foundation, Standard, Enterprise). all the steps are common for all Editions of SharePoint.

Important Firewall Ports for Multi Server Production SharePoint 2013 Deployments

One day you will end up with testing environments and there will be the requirement of setting up the production SharePoint Platform where Security comes in to the scene. Most of the medium and enterprise level organizations having multiple zones and firewalls in-between them which are the general security and industry practices.

So, we as SharePoint People should know some set of Security practices that used often in the industry which are allows to secure our In-House SharePoint Environments. Among those, placing Web Frontend Servers on DMZ is a quite common practice where all the User hits arrives to Frontend Server/s.

Not a Big deal. There no much of changes in 2013 from SharePoint 2007 or 2010 in Network communications and Protocols perspective it’s still a Web Based .Net Application which depends on SQL Backend Databases and Active Directory/DNS.

This post to elaborate the requirements of Ports between Zones and Servers for SharePoint 2013. this will be applicable for any Multi-Server SharePoint Environment where Firewalls are placed in-between zones.

Normally between DMZ and PRODUCTION there will be a Core Firewall and that’s a known standard practice. This is where you need to allow Inter-Server Communication across SharePoint Servers which are located in different zones or networks. Take below sample scenario.

We got a starter level Three Tier multi Server Farm here. There’s a firewall in-between WFE – APP and AD where we have to open up set of Ports for Inter Server Communications. Let’s assume this is an Intra farm. Intra farm are require quite more ports for various purposes.

In this scenario we need to open several ports in order to allow one tier to talk to other across the Firewall where all the unnecessary ports are blocked unless there is a requirement to open.


Table below has almost everything covered which I use often for most of my scenarios. Make sure that you are opening each Port across each firewall stands between your servers. There may be multiple firewalls sitting here and there for various security aspects so you have to thoroughly analyze the environment first of all else at the last moment a disaster when you start to join Servers and setting up the farm.



Telnet is always a great way of testing communication through Ports across Server. Just use it to try out once you opened the ports.

Also here are some of the key places to read more about understanding SharePoint Server Communications and security hardening. I would highly recommend to refer TechNet at this point where you get everything under one roof.

Planning Security Hardening for SharePoint – http://technet.microsoft.com/en-us/library/cc262849%28v=office.15%29.aspx#UserProfile

SharePoint Guys has done a great article too. This is a very nice overview – http://blogs.msdn.com/b/uksharepoint/archive/2009/01/05/sharepoint-ports-proxies-and-protocols-an-overview-of-farm-communications.aspx

May 2014 Cumulative has been Released for SharePoint 2013

Microsoft has recently announced the May 2014 Cumulative Package for SharePoint 2013 Foundation | Server under the Build No of 15.0.4605.1004 (Version No).

Download the Packages here – http://technet.microsoft.com/en-us/sharepoint/jj891062.aspx


  1. Before you apply the Cumulative in Production Environments, test the same in a Staging Environment thoroughly.
  2. Consider to apply this only if you are getting the mentioned issues below because it doesn’t deliver any extra benefits for you except the mentioned fixes. 


It is compulsory to have March 2013 Public Update Installed Prior to this Installation. Your farm Should have been updated with the same. Download March 2013 CU here – http://support.microsoft.com/kb/2767999 

List of Issues Fixed by this package are as below:

  1. When SharePoint Server 2013 claims the provider returns no matches, the people picker still displays a suggestion from the user information list.
  2. When you create a site by using a custom site template, the composed looks list is empty.
  3. When you view the slides in picture library, pictures may not display if the file name contains complex characters such as multibyte characters.
  4. When you create a site from a saved template that contains an AlternateCSSUrl property, the AlternateHeaderUrl value is set to the AlternateCSSUrl value incorrectly.
  5. When you add a link to the reusable HTML field in a reusable content item, the link does not work as expected.
  6. You cannot send alerts to a security group instead of a user.
  7. When you try to upload a file that exists and is checked out to a SharePoint Server 2013 document library, you receive an error message that displays the logon name instead of the display name.
  8. When you use some reusable content in a variations context, the reusable content is displayed incorrectly if the labels are in certain languages.
  9. When you change the fallback language on a SharePoint Server 2013 server, you experience high CPU usage on the server.
  10. When you configure Forms-Based Authentication (FBA) with active directory as back end for a SharePoint Server farm, the "Everyone" view on the Newsfeed page displays an error.
  11. When you view a non-published page anonymously, you receive an unexpected error.
  12. When you try to import user properties from business data connectivity (BDC) and activity directory (AD) at the same time, the time zone is not updated.
  13. When you experience an error during ping checks in the health check of Office Web App Server (WAC), all future checks fail until you restart the process.
  14. When you select a Web Part on a publishing page, the ribbon context is changed incorrectly.
  15. Assume that you create a list workflow on list A that creates an item on list B. Then, you create another list workflow on list B. When you create an item on list A and start the workflow for the list, list B is not triggered as expected.
  16. When you use SharePoint Designer 2013 to deploy a workflow that contains an activity that adds an item to the workflow history, the workflow fails.
  17. When you reply to a discussion board item that is created by an anonymous user, you encounter an error if you are an anonymous user.
  18. When SharePoint Designer 2013 workflows contain one or more local variables and there is a disconnected stage, you cannot load the workflows.
  19. When you load a contact list that contains many users in SharePoint Designer 2013, it takes longer than expected.
  20. When you try to create SharePoint Server 2013 workflows in SharePoint Designer 2013, you receive the following error message:

    Retrying last request. Next attempt scheduled in less than one minute.

Discover and Leverage SharePoint Foundation

Foundation Edition is still the Grand Child of SharePoint Product Family. It is the Super Man of Small Level Organization’s Collaboration Arena !

SharePoint Foundation is the greatest free Platform i have ever experienced. Microsoft has already built it up to a very good level where bunch of out of the box features and functionalities are bundled. when you installed it and open up the Central Administration for First time, You wont see any single difference in UI Level but some of the advance Services and Service Applications aren’t There.

at 2007 when SharePoint was named as Office SharePoint Server 2007, Foundation was there as WSS 3.0 which is Windows SharePoint Services 3.0. Many Small and Medium Size Organizations started playing with WSS 3.0 where they wanted to explore what SharePoint is all about. WSS was a Really good kick-off in the SharePoint product history. it made a big noise in the both Technical and end user arenas. When SharePoint 2010 Introduced, SharePoint Foundation 2010 came to the scene as a improved little hero and now with 2013 i can see that it’s getting armed with more OOTB Features (e.g. Search Services are bundled in !).

So What is SharePoint Foundation  all about ?

SharePoint Foundation is the entry level Platform of SharePoint Product Family. with the growth of product through several version releases, Foundation edition also has improved with same UI and core functionalities such as below.

   – Web Applications
   – Site Collections | sites (with number of OOTB Templates)
   – Lists and Libraries (with number of OOTB Templates)
   – Blogs
   – Wikis and about 50 more core (Major) features

Where it suits and to whom ?

for Small and Mid Size organizations who are interested of starting with Web Based Secure Collaboration. and i believe that any developer who is interested to start with SharePoint, he/she should start with Foundation edition so that he/she can simply understand with edition level variations.

Backend Database Practices

Except the Services and Service Applications, SharePoint Foundation doesn’t have many barriers on features (meaning here for startups) but if you look for totally free solution with SQL Server Express (Free) backend there’s a obvious Barrier on Backend when your solution grows up. For an instance SQL Server Express supports only limited size of Hardware Resources (Processors | Cores | Memory) and Limitation of DB size and Instance Size would be a challenge specially when the solution grows up.

When it comes to Small-Mid Size production environments with SharePoint Foundation, it would be better to have SQL Server Standard or Enterprise (Based on the Requirements)

What You don’t get in Foundation ?

    – Audience Targeting 
    – Document Sets
    – OOTB Workflow Templates (Signature Approval etc..)
    – Ratings
    – and about 40 + More Features than Foundation
    – Access Services
    – Dashboards
    – Excel Services and Power pivot for SharePoint (combined with SQL Server Enterprise)
    – Visio Services
    – InfoPath Forms Services (one of the most useful massive capability)
    – Calculated KPIs

How we can Leverage ?
as i was saying, SharePoint Foundation is the core Platform of the entire product range. it is extremely open for you to extend with your own solutions and customizations and that’s where we got to love it.

These tools and Resources are doing outstanding job to make you armed with custom solutions.

    1. SharePoint Designer (Customizations)
    2. Visual Studio (Developments)
    3. Community (e.g. – Codeplex) – Codeplex community doing an exceptional work that contains bunch of free SharePoint Foundation suitable solutions. 
    4. Search Server Express 2010 for SharePoint 2010 (Enterprise Level Search Solutions can be     implemented with this solid add-on) – See my Article here which explains step by step how  you can leverage your Foundation setup with Search Server Express 2010 which is also free of cost.

    5. Office Web Apps – and Yes ! this is one of the most evolving and interesting this across the collaboration arena. with office web apps you can simply open/edit Microsoft Office documents through the browser which came out with SharePoint 2010. it is also capable to integrate with Foundation (this isn’t free by the way).

Below are some free stuff from Codeplex makes your foundation environment more capable of going beyond the limits. i have tested some of these and i would highly recommend codeplex solutions when it comes to reliability and quality.

* Have a look at this filtered result of Codeplex solutions specifically for SharePoint Foundation – http://www.codeplex.com/site/search?query=SharePoint%20Foundation&ac=4

Below are some of them.

1. SharePoint Foundation 2013 Publishing Infrastructure – They have recently released an awesome add-on     for Foundation 2013 which is an lightweight Publishing Infrastructure for SharePoint Foundation     2013. this is a really good news for techies out there.

2. SharePoint Foundation Synchronization – This Solution enables SharePoint Foundation administrators     to synchronize Active Directory data with the User Information List.

3. ReportViewer for SharePoint Foundation – It’s Allows setting report parameters by SharePoint HTML     Forms (IWebPartParameter), SharePoint Lists (IWebPartRow) and by other linked reports

4. User Profile Synchronization for SharePoint Foundation – This guy is an SharePoint 2010 Foundation     Timer Job to Synchronize AD Properties (something cool as Foundation edition havent got a User     Profile Service Application)

What About Hosting ?

SharePoint Foundation also supports hosting Requirements. it’s fully capable of providing Multi-tenancy requirements for Hoster’s and I have tested the same several times. Microsoft SharePoint Foundation Subscription Settings Service is the ultimate actor which provides hosting capabilities and it is there in foundation edition as well.

Check out the capabilities here in this comparison chart –https://manojviduranga.wordpress.com/?s=editions 

Future Growth and Consider on Expansions

and in the other hand, when it comes to Farm | Server level, you are eligible of scaling out your Farm. SharePoint Foundation also can be implemented in three Tier method which goes as Web Tier, Application Tier and Database. you can have multiple number of Web Servers and Application Servers based on the load and Requirements.

Related References:

See my Article here to understand feature comparison in latest SharePoint – https://manojviduranga.wordpress.com/2013/03/26/sharepoint-2013-editions-and-feature-comparison/

Refer here to integrate Search Server | Express for SharePoint Foundation 2010 – https://manojviduranga.wordpress.com/2013/09/18/integrate-search-server-2010-express-with-sharepoint-foundation-2010-get-the-maximum-out-of-foundation-functionalities/

You can also see the Presentation here i did at SharePoint SriLanka User Group April Session under the topic of Leverage SharePoint Foundation as it’s Max. – http://www.slideshare.net/manojviduranga/utilize-sharepoint-foundation-as-its-max

Integrate Office Web Apps with SharePoint Foundation step by step guidance – https://manojviduranga.wordpress.com/2013/10/26/convert-a-virtual-disk-via-hyper-v-2012/ 

Product Updates and Releases ?

Whenever Microsoft Release a Product Version, Cumulative Updates or Service packs for SharePoint Server, it releases for all three editions together (Foundation, Standard, Enterprise) so whichever the edition you use you are up to date with the technology.

Download Resources:

Download SharePoint Foundation 2013 – http://www.microsoft.com/en-us/download/details.aspx?id=35488 

Download SharePoint Foundation 2010 – http://www.microsoft.com/en-us/download/details.aspx?id=24983 

Download Office Web Apps Server for SharePoint – http://www.microsoft.com/en-us/download/details.aspx?id=35489

Download Search Server Express for SharePoint 2010 – http://www.microsoft.com/en-us/download/details.aspx?id=18914

SharePoint Product Updates – http://technet.microsoft.com/en-US/sharepoint/jj891062 


Cheers With Your SharePoint Journey Folks !!