SharePoint 2010 adds some new features to support hosting environments, which we generally refer to as multi tenant support. In the beta release, the core multitenant infrastructure is not turned on by default. It requires a custom service application to be provisioned, and once that's done you can begin configuring the different pieces of multi tenancy. Here's just a brief rundown on what those features are:
That's the really brief overview of what it does - I'm sure the SharePoint user assistance folks (the people that write all that content for TechNet) will have a lot more detail on this in the months ahead. In the meantime, if you want to get the basic infrastructure in place you can get started by running this PowerShell script:
Get-SPServiceInstance | where{$_.GetType().Name -eq "SPSubscriptionSettingsServiceInstance"} | Start-SPServiceInstance
$acc = Get-SPManagedAccount “Specific Account Name” ( OR create a new managed account)
$appPool = New-SPIisWebServiceApplicationPool -Name SettingsServiceAppPool -Account $acc $app = New-SPSubscriptionSettingsServiceApplication –ApplicationPool $appPool –Name SettingsServiceApp –DatabaseName SettingsServiceDB$proxy = New-SPSubscriptionSettingsServiceApplicationProxy –ServiceApplication $app
Once you have that in place, you can create new subscriptions, add existing site collections to subscriptions, create tenant admin sites, create feature packs, associate feature packs with subscribers, etc. I actually have a simple winforms app that does all of this now; I will try and write a future post that describes how to do some of these things in PowerShell, and post my admin app as well to help get you started. One quick note I will make here, if you are exploring on your own and want to create a tenant admin site, you need to make sure you include the "-AdministrationType TenantAdministration" flag when using the new-spsite cmdlet.
To take advantage of these features in a service application, you need to use the -PartitionMode flag when creating the service application. Here's an example of a PowerShell script to create a new instance of the managed metadata service in multi tenant mode:
$pool = Get-SPIisWebServiceApplicationPool -Identity 'SharePoint Web Services Default'$meta = New-SPMetadataServiceApplication -HubUri http://hosting -ApplicationPool $pool -Name 'Tenant Managed Metadata' -DatabaseName O14_TenantMetadataDB -DatabaseServer SP14B -PartitionMode -SyndicationErrorReportEnabled$proxy = New-SPMetadataServiceApplicationProxy -PartitionMode -ContentTypePushdownEnabled -DefaultKeywordTaxonomy -DefaultSiteCollectionTaxonomy -Name 'Tenant Managed Metadata Proxy' -DefaultProxyGroup -ServiceApplication $meta
Hopefully that's enough to get you curious and started for now. I'll follow up with additional scripts and the tenant admin app later.