Wednesday, June 8, 2011

Host header site collection VS Path based Site Collections in SharePoint 2010

SharePoint gives the ability to create site collections with it's own domain name while the web application has a different domain name, these site collections are called host name site collections and their creation and behaviour is different from regular path based site collections which by default are created under http://sp2010/SITES/XYZ/. Below are 10 differences that i could gather which lays out the difference between hostname site collections and path based site collections.

1. SharePoint 2010 Support
Host-Header Site Collection : Yes
Path Based Site Collection : Yes

2. DNS Support
Host-Header Site Collection : Unique DNS name for each site collection i.e. www.customer1.com, www.customer2.com or *.customer1.com

Path Based Site Collection : Will to be the same as the webapplication

3. Use of Managed Path
Host-Header Site Collection : Yes
• Host-Header Managed paths are different from Path based managed paths and cannot be used for each other.
• Managed paths created for host-named site collections are available to all host-named site collections within the farm regardless of which Web application the host-named site collection is in.

Path Based Site Collection : Yes
• Host-Header Managed paths cannot be used for Path based site collections and Vice versa

4. Creating Managed Path
Host-Header Site Collection : Powershell
New-SPManagedPath pathname –HostHeader

Path Based Site Collection : Powershell, CA
New-SPManagedPath “Teams” -WebApplication “http://somestuff”

5. Alternate Access mapping Support
Host-Header Site Collection : No, since they are always in the same Default zone.
Path Based Site Collection : Yes. And so supports multiple host header URL of its Web application using AAM

6. Co-Exist in the same Web application
Host-Header Site Collection : Yes
• As long as the host header bindings on the IIS Web site is not assigned to the Default zone of the Web application.
• Host header bindings in the IIS Web site can be applied to other zones of the Web application, this way Default zone will be used for host-named site collections allowing path-based site collections in other zones making use of alternate access mapping functionality.

Path Based Site Collection : Yes

7. Multiple in Single Web application
Host-Header Site Collection :Yes
Path Based Site Collection : Yes

8. Creating site collection
Host-Header Site Collection : PowerShell
New-SPSite http://www.contoso.com -OwnerAlias DOMAIN\username - HostHeaderWebApplication http://servername/
Above command creates site collection with the url www.contoso.com under the web application http://servername
Path Based Site Collection : PowerShell, Central Admin
New-SPSite http://sitename/sites/test -OwnerAlias "DOMAIN\JDoe"
Above command creates path site collection under the web application

9. Protocol Support ( HTTP\ SSL)
Host-Header Site Collection :
• Support one at a time either HTTP or SSL depending on the Default zone of the Web application under which it is created.
• Need to create another web applicatoin with the default zone being https to have site collection as HTTPS

Path Based Site Collection :
Supports both simultaneously since it’s web application can support multiple SSL certificate Each path based site collection shares the same certificate assigned to the web application.

10. SSL Certificate Type
Host-Header Site Collection :
• Only Wildcard certs ( applies to subdomain of the same domain) and Subject Alternate Name Certs(protects multiple host names with a single SSL cert) can be used .
• Cannot apply multiple SSL to unique domain, need to create different web application for each then.

Path Based Site Collection :
Cert are based on Web application and not site collection. All certs that can be applied on the web application applies to the site collection.

Tuesday, June 7, 2011

Adding Custom Styles to Ribbon’s Styles dropdown



Cool part about SP2010 is that as soon as it sees styles in the custom CSS file, it will add it to the Style dropdown, I made a quick documentation for a colleague so I thought would blog it as well.

You see the “Styles” in the Ribbon that is where I want to add my custom styles





This is a 2 step process:

1. All the custom styles in the custom css file should has the prefix .ms-rtestyle- and the value specified in the –ms-name: attribute will be displayed in the above dropdown



.ms-rteStyle-header {

-ms-name:"My Custom Header";

font-family: Calibri;

font-size: 19pt;

font-weight: normal;

color: #ef383f;

}



2. There are 2 ways to attach you Custom CSS file to the masterpage

Option 1 : Either specify the custom CSS file as an alternateCSS file by gong to CA\Site Settings\ Look and Feel\ Master Page ( you will have to activate the publishing feature for this option to be available)





OR

Option 2 : Just add a Link to the CSS file in the master page





Moving content using the granular “Perform a Site Collection Backup” option in SharePoint 2010

Good part about it is that using this option everything within a site collection will be backedup including workflows!
Backup Process

Backup of the site collection can be done using CA but the restore has to be done using power shell command, I am going to take you step by step through both the backup and restore.

Click the “Perform a site collection backup” option and select the site collection that you want to backup



Enter the Location and filename where you want to backup and hit on “Start BackUp’ which will create a backup of the site collection

Restore Process
Login to the destination farm as a user that has permissions to run powershell and type the following cmdlt restore-spsite, below is the command that I ran to restore the site collection to my webapplication, using the force parameter in case there is already an existing sitecollection there:

Restore-spsite -identity http://mysharepointserver/ -path C:\databasename.bak -force

Creating site Collection in its own Database


Creating site collection form CA is one of the easiest things but creating it with its own database is a little different, there are several ways to do it but I am going to do it using powershell:

//Get the webapplication in $wb variable
$wb = Get-SPWebApplication -Identity http://MySharePointServer:9001

//Get the desired name of the site collection’s database, we will create this DB later
$dbname = “Wss_content_MySite”

//Get url of the desired site collection
$SiteCollectionUrl = “http:// MySharePointServer:9001/”

//Create the new database
new-spcontentdatabase $dbname -databaseserver "SP2010Database" -webapplication $wb

//Create the site collection
new-spsite –url $SiteCollectionUrl -owneralias MyDomain\OwnerOfSiteCollection -Contentdatabase $dbname

After this is done and the first time you login to the site collection you will be prompted to select the template for the site and the users.