Blog - Title

and so it begins.....

  • Farm Communication in SharePoint

     

    The information provided in this article is available at Plan security hardening for SharePoint 2013 (TechNet) and SharePoint 2013 Ports, Proxies and Protocols - An Overview of Farm Communications

    See this table for commonly used ports and protocols in farm communication.

    Ports and Protocols

    Service Application Communication

    By default, communication between Web servers and service applications within a farm takes place by using HTTP with a binding to TCP 32843. When you publish a service application, you can select either HTTP or HTTPS with the following bindings:

    HTTP binding: TCP 32843
    HTTPS binding: TCP 32844

    Additionally, third parties that develop service applications can implement a third choice:

    net.tcp binding: TCP 32845

    You can change the protocol and port binding for each service application. On the Service Applications page in Central Administration, select the service application, and then click Publish.

    The HTTP/HTTPS/net.tcp bindings can also be viewed and changed using the Get-SPServiceHostConfig and Set-SPServiceHostConfig PowerShell cmdlets. Communication between service applications and SQL Server takes place over the standard SQL Server ports or the ports that you configure for SQL Server communication. See Service Application Communication for more information.

    Output of Get-SPServiceHostConfig

    HttpPort : 32843
    HttpsPort : 32844
    NetTcpPort : 32845
    SslCertificateStoreName : SharePoint
    SslCertificateFindType : FindBySubjectDistinguishedName
    SslCertificateFindValue : CN=SharePoint Services, OU=SharePoint, O=Contoso, C=IC

     

    User Profile Service Hardening Requirements

    The User Profile service application uses the Forefront Identity Management agent to synchronize profiles between SharePoint 2013 and Active Directory or a Lightweight Directory Access Protocol (LDAP) directory service. The Forefront Identity Management agent is installed on all servers in a SharePoint farm, but is only required on the server that is set up to synchronize with the directory store.

    The Forefront Identity Management agent includes the following two services that must remain enabled on the server that is set up to crawl Active Directory or another directory store:

    • Forefront Identity Manager service
    • Forefront Identity Manager Synchronization service

    Additionally, TCP 5725 must be open on the server that runs the Forefront Identity Management agent and is set up to crawl a directory store. In Active Directory environments, the following ports must remain open for communication between the SharePoint 2013 server that synchronizes with the directory store and the server that is running Active Directory:

    • TCP & UDP 389 (LDAP service)
    • TCP & UDP 88 (Kerberos)
    • TCP & UDP 53 (DNS)
    • UDP 464 (Kerberos Change Password)

    For more information about hardening requirements for the Forefront Identity Management agent, including port requirements for other directory types, see Management Agent Communication Ports, Rights, and Permissions (http://go.microsoft.com/fwlink/p/?LinkId=186832).

     

    References

    Learn about security hardening for SharePoint web server, application server, and database server roles (blocking the standard SQL Server ports), including specific hardening requirements for ports, protocols, and services.

    The articles and resources on this page provide information about how to plan SharePoint 2013 security for server farms.

    When you install SQL Server, the default settings help to provide a safe database. In addition, you can use SQL Server tools and Windows Firewall to add additional security to SQL Server for SharePoint 2013 environments. Learn how to improve the security of SQL Server for SharePoint 2013 environments.

  • Retrieve timer job history for a specified time range using PowerShell

     

     

    # Retrieve timer job history for a specified time range

    # Initial settings
    $Wa
    = Get-SPWebApplication "
    http://WebAppUrl"    # Supply the web app url here
    $From= "2/13/2013 12:00:00 AM
    # mm/dd/yyyy hh:mm:ss
    $To = "2/14/2013 12:00:00 AM"

    # Retrieve all jobs in the time range
    Write-Host "Listing all timer jobs that have run between $From to $To and storing it in CSV format" -ForeGroundColor
    Blue
    $Wa.JobHistoryEntries | Where-Object {($_.StartTime -gt $From) -and ($_.StartTime -lt $To)} | Export-Csv TimerJobHistory.csv –NoType

    Write-Host "Done.." -ForeGroundColor Green

    # Retrieve all failed jobs in the time range
    Write-Host "Listing all timer jobs that have failed to run between $From to $To and storing it in CSV format" -ForeGroundColor Red
    $Wa.JobHistoryEntries | Where-Object {($_.StartTime -gt $From) -and ($_.To -lt $To) -and ($_.Status -ne 'Succeeded')} | Export-Csv FailedTimerJobHistory.csv –NoType

    Write-Host "Done.." -ForeGroundColor Green

     

  • PowerShell and PSConfig

     
     
    Just like the PSConfig command, we can also use PowerShell to configure the SharePoint farm from scratch. Though we can install SharePoint and create a new farm using PowerShell as well, I have not covered it under this this post.

    Below is a set of PSConfig commands and their equivalent cmdlet in PowerShell

       

    PSConfig Command

    PowerShell Cmdlet

    configdb -create

    New-SPConfigurationDatabase

    configdb -connect

    Connect-SPConfigurationDatabase

    helpcollections -installall

    Install-SPHelpCollection

    secureresources

    Initialize-SPResourceSecurity

    services -install

    Install-SPService

    installfeatures

    Install-SPFeature (provide the -AllExistingFeatures parameter)

    adminvs -provision

    New-SPCentralAdministration

    applicationcontent -install

    Install-SPApplicationContent

    Configuring your SharePoint farm using PowerShell

    During the SharePoint Installation, make sure you choose “Server Farm” and then “Complete” install. This will allow you to create a SharePoint farm rather than a standalone server.

    After the install completes, the setup program will ask you if you want to run the SharePoint Technologies Configuration Wizard (default is checked). Uncheck the box to NOT run the wizard.

    Under the Start Menu, browse to Microsoft SharePoint 2010 Products, Right-click on SharePoint 2010 Management Shell and choose 'Run as administrator'

     
    image
     
    Note: Since we have not created a farm yet, the shell will load with an error that the local farm is not accessible. This is expected.
    The Cmdlets

    There are seven cmdlets that you will need to provision your farm so that you can access it correctly. The cmdlets are listed below along with their descriptions provided by the Get-Help cmdlet.

    1. New-SPConfigurationDatabase
                      The New-SPConfigurationDatabase cmdlet creates a new configuration database on the specified database server. This is the
                      central database for a new SharePoint farm.

    * Create a new configuration database and central admin content database.

    Note: One of the main reason why we use this method as against the configuration wizard UI is because we can specify the names for the central admin and content databases.

           New-SPConfigurationDatabase –DatabaseName “SharePoint2010_Config” –DatabaseServer “<Your DB Server>
           –AdministrationContentDatabaseName “SharePoint2010_AdminContentDB” –Passphrase (ConvertTo-SecureString 
           “Password123” –AsPlaintext –Force) –FarmCredentials (Get-Credential)

    image_thumb[3]

    Note: As you can see, we are having PowerShell prompt us for the farm credentials rather than hard coding it. You can also do this with the passphrase by accessing the “Password” property of the of the credential object: (Get-Credential).Password

    After the operation completes, you can confirm that the server has been added to a farm, by reloading the PowerShell window. Close the shell and repeat the “Run as administrator” step followed earlier. It should load with out any warning message(s).

    2. Install-SPHelpCollection
                     The Install-SPHelpCollection cmdlet installs the Help site collection files for SharePoint 2010 Products in the current farm. Use
                     the LiteralPath parameter to install specific custom Help collection files. If the LiteralPath parameter is not specified, all available
                     Help in the Help site collection is installed and existing Help collection files are overwritten.

    * Install the help files:
                     Install-SPHelpCollection –All

    3. Initialize-SPResourceSecurity
                     The Initialize-SPResourceSecurity cmdlet enforces resource security on the local server. This cmdlet enforces security for
                     all resources, including files, folders, and registry keys.

    * Secure the files and registry entries (SecureResources in Psconfig):
                    Initialize-SPResourceSecurity

    4. Install-SPService
                     The Install-SPService cmdlet installs and optionally provisions services on a farm. This cmdlet installs all services, service 
                     instances, and service proxies specified in the registry on the local server computer. Use this cmdlet in a script that you build to
                     install and deploy a SharePoint farm or to install a custom developed service.

    * Install and provision the services on to the farm
                     Install-SPService

    Note : The above command is for Server farm installations Only. For standalone servers, run Install-SPService -Provision

    5. Install-SPFeature
                    The Install-SPFeature cmdlet installs a specific SPFeature object by providing in the Identity parameter the relative path from 
                    the folder “%Program Files%\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\FEATURES\" to the feature. 
                    The SharePoint Feature’s files must already be put in the proper directory, either manually or by using a solution installer. If the 
                    AllExistingFeatures parameter is provided, the file system is scanned and any new features are installed. This is generally
                    only used during deployment and upgrade.

    * Install the features on the server
                     Install-SPFeature –AllExistingFeatures

    6. New-SPCentralAdministration
                     The New-SPCentralAdministration cmdlet creates a new Central Administration Web application and starts the central 
                     administration service on the local machine. Central Administration is available only on computers where this service runs.

    * Provisions the central admin web application which will also link it with the admin content database created earlier
                      New-SPCentralAdministration -Port 2010 -WindowsAuthProvider "NTLM"

    7. Install-SPApplicationContent
                      The Install-SPApplicationContent cmdlet copies shared application data to existing Web application folders. This cmdlet does
                      not take any parameters.

    * Install all of the application content
                      Install-SPApplicationContent

    That's it!! ….Launch the Central Administration site from 'Start > All Programs > SharePoint 2010 Products > SharePoint Central Administration'. 

    All in one place.

    The Script

     

    # Create a new SharePoint Configuration and Administration database, use “Password123” as the passphrase.

    New-SPConfigurationDatabase –DatabaseNameSharePoint2010_Config–DatabaseServer<Your DB Server>

    AdministrationContentDatabaseNameSharePoint2010_AdminContentDB–Passphrase (ConvertTo-SecureStringPassword123

    –AsPlaintext –Force) –FarmCredentials (Get-Credential)

    # Installs the Help site collection files for SharePoint 2010 Products in the current farm

    Install-SPHelpCollection -All

    # Enforces resource security on the local server

    Initialize-SPResourceSecurity

    # Installs services on a farm

    Install-SPService

    # The file system is scanned and any new features are installed

    Install-SPFeature –AllExistingFeatures

    # Creates a new Central Administration Web application and starts the central administration service on the local machine

    New-SPCentralAdministration -Port 2010 -WindowsAuthProvider "NTLM"

    # Copies shared application data to existing Web application folders

    Install-SPApplicationContent

     

    Happy SharePointingSmile……

  • Configure the SharePoint farm using psconfig

     

    More information on psconfig.exe: http://technet.microsoft.com/en-us/library/cc263093.aspx

    1.   psconfig -cmd configdb -create -server "SERVER\INSTANCE" -database "nameOFtheConfigDB" -admincontentdatabase "nameOFtheadmincontentDB" -user DOMAIN\FARMACCOUNT -password PASSWORD 2.  psconfig -cmd helpcollections -installall

    // Secure resources in file system and registry entries
    psconfig -cmd secureresources

    // Install services on the server
    3.  psconfig -cmd services -install

    **  Setup Services  ** 

    // Configure Windows SharePoint Services Help Search service: mandatory to successfully provision services on this server. More info: http://technet.microsoft.com/en-us/library/cc288507.aspx
    4.  Stsadm -o spsearch -action start -farmserviceaccount DOMAIN\FARMACCOUNT -farmservicepassword PASSWORD -databaseserver "SERVER\INSTANCE" -databasename "nameOFtheSearchDB"

    // Configure Office SharePoint Server search service. More information is available at http://technet.microsoft.com/en-us/library/cc262920.aspx
    5.   Stsadm –o Osearch -action start -role Index -farmcontactemail "EMAIL" -farmperformancelevel Reduced -farmserviceaccount DOMAIN\SEARCHSERVICE -farmservicepassword PASSWORD

    // Actually enable services on the server
    6.    psconfig -cmd services -provision

    7.    psconfig -cmd installfeatures

    // Create central administration website

    8.    psconfig -cmd adminvs -provision -port PORT -windowsauthprovider onlyusentlm

    9.    psconfig -cmd applicationcontent -install

    Add servers to your farm

    Once you finished to configure the first server, you can add additional servers to the farm. Procedure is the same whatever you installed MOSS or WSS

    1. psconfig -cmd configdb -connect -server "SERVER\INSTANCE" -database "nameOFtheConfigDB" -admincontentdatabase "nameOFtheadmincontentDB" -user DOMAIN\FARMACCOUNT -password PASSWORD
    2. psconfig -cmd helpcollections -installall
    3. psconfig -cmd secureresources
    4. psconfig -cmd services install
    5. psconfig -cmd installfeatures
    6. psconfig -cmd applicationcontent -install

    Optional

    CreateSSP

    1. Create web applications for the Shared Services Provider
    2. Create a new web app for the SSP admin site

    Stsadm -o extendvs -url <URL for the web app> -ownerlogin domain\username -owneremail email@yourdomain.com -exclusivelyusentlm -apidname “AppPoolName″ -apidtype configurableID -apidlogin <domain\username> -apidpwd <app pool password>Create a new web app for the My site

    Stsadm -o extendvs -url <URL for the web app> -ownerlogin domain\username -owneremail email@yourdomain.com -exclusivelyusentlm -apidname “AppPoolName″ -apidtype configurableID -apidlogin <domain\username> -apidpwd <app pool password>

    More on Stsadm -o extendvs is available at http://technet.microsoft.com/en-us/library/cc263040(office.12).aspx

        3.   Create the Shared Services Provider

    Stsadm -o Createssp -title “Shared Service Provider” -url <created in 1a.> -mysiteurl <created in 1b.> -indexserver %COMPUTERNAME% -indexlocation “%Programfiles%\Microsoft Office Servers\12.0\Data\Applications” -ssplogin domain\username -ssppassword password

    More on Stsadm -o Createssp : http://technet.microsoft.com/en-us/library/cc262773(office.12).aspx

  • SharePoint 2007 Limitations in numbers and figures

    This is available on Technet (Plan for software boundaries)

     

    Limitations

    Here is a summary of the recommendations for improving performance at each level of storage when high volumes of content are being stored:

    1

     

     

    2

    The following table lists the recommended guidelines for people objects.

    3

    The following table lists the recommended guidelines for logical architecture objects.

    4

    The following table lists the recommended guidelines for physical objects.

    5

  • "The return URL specified for request redirection is invalid" error when using forms authentication

     

    In SharePoint Server 2007, when you try and login to a forms-based site the .RedirectFromLoginPage results in the following error:

    "The return URL specified for request redirection is invalid"

    Basically, this would happen when you navigate to a URL like http://server/_layouts/login.aspx?ReturnUrl=default.aspx%3f%3a 

    So, why does this happen ?

    This is a problem with the URL validation on the login.aspx page. The reason why this fails is because we have the ' : ' colon character (the escape character ‘ %3a ’ in the query string. The URL query string validator does not seem to like the colon character at all.

    The colon is a reserved character, per the URI RFC. You CANNOT put an unencoded ' : ' in the query or hash of a URI, period.

    One workaround would be the need to %-encode the colon.

    Another one would be to use a code snippet. For more information on this, please see http://social.msdn.microsoft.com/Forums/en-US/sqlreportingservices/thread/cf27c390-07b1-4a48-b337-130a8e220069

  • Warm up script in PowerShell for SharePoint 2010 Environment

     
     
    # Warm up script for web apps along with the site collections within them in SharePoint 2010 environment

    Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue

    # The get-webpage function is from http://kirkhofer.wordpress.com/2008/10/18/sharepoint-warm-up-script/

    function Get-WebPage([string]$url)
    {
    $wc = new-object net.webclient;
    $wc.credentials = [System.Net.CredentialCache]::DefaultCredentials;
    $pageContents = $wc.DownloadString($url);
    $wc.Dispose();
    return $pageContents;
    }


    # Enumerate the web app along with the site collections within it, and send a request to each one of them
    foreach ($site in Get-SPSite)
    {
    write-host $site.Url;
    $html=get-webpage -url $site.Url -cred $cred;
    }

  • Issue found with .NET Framework 3.5.1 Security update KB2756920

    After installing the update KB2756920 on a Windows Server 2008 R2/Windows 7 RTM  computer running SharePoint Server 2010 with previously installed hotfixes for .NET 3.5 SP1. on the server, the following exception is thrown when any WCF service is hosted on IIS using HTTPS

    Server Error in ‘/SecurtyTokenServiceApplication’ Application
    Method not found: ‘System.String System.ServiceModel.Activation.iis7helper.extendedprotectiondotlessspnnotenabledthrowhelper(system.object)’

    An exception occurred when trying to issue security token: The requested service, 'http://localhost:32843/SecurityTokenServiceApplication/securitytoken.svc/actas' could not be activated. See the server's diagnostic trace logs for more information..

    Exception occurred while connecting to WCF endpoint: System.ServiceModel.ServiceActivationException: The requested service, 'http://localhost:32843/SecurityTokenServiceApplication/securitytoken.svc/actas'
    could not be activated due to an exception during compilation. See the server's diagnostic trace logs for more information. Server stack trace:    
    at System.ServiceModel.Channels.HttpChannelUtilities.ValidateRequestReplyResponse(HttpWebRequest request, HttpWebResponse response, HttpChannelFactory factory, WebException responseException, ChannelBinding channelBinding)

    Extended Stack Trace

    [MissingMethodException: Method not found: 'System.String System.ServiceModel.Activation.Iis7Helper.ExtendedProtectionDotlessSpnNotEnabledThrowHelper(System.Object)'.]
    System.ServiceModel.WasHosting.WebConfigurationManagerWrapper.BuildExtendedProtectionPolicy(ExtendedProtectionTokenChecking tokenChecking, ExtendedProtectionFlags flags, List`1 spnList) +0
    System.ServiceModel.WasHosting.WebConfigurationManagerWrapper.GetExtendedProtectionPolicy(ConfigurationElement element) +362
    System.ServiceModel.WasHosting.MetabaseSettingsIis7V2.ProcessWindowsAuthentication(String siteName, String virtualPath, HostedServiceTransportSettings& transportSettings) +217
       System.ServiceModel.WasHosting.MetabaseSettingsIis7V2.CreateTransportSettings(String relativeVirtualPath) +137
       System.ServiceModel.Activation.MetabaseSettingsIis.GetTransportSettings(String virtualPath) +203
       System.ServiceModel.Activation.MetabaseSettingsIis.GetAuthenticationSchemes(String virtualPath) +16
       System.ServiceModel.Channels.HttpChannelListener.ApplyHostedContext(VirtualPathExtension virtualPathExtension, Boolean isMetadataListener) +62
       System.ServiceModel.Channels.HttpTransportBindingElement.BuildChannelListener(BindingContext context) +158
       System.ServiceModel.Channels.BindingContext.BuildInnerChannelListener() +98
       System.ServiceModel.Channels.MessageEncodingBindingElement.InternalBuildChannelListener(BindingContext context) +98
       System.ServiceModel.Channels.BinaryMessageEncodingBindingElement.BuildChannelListener(BindingContext context) +70
       System.ServiceModel.Channels.BindingContext.BuildInnerChannelListener() +98
       System.ServiceModel.Channels.Binding.BuildChannelListener(Uri listenUriBaseAddress, String listenUriRelativeAddress, ListenUriMode listenUriMode, BindingParameterCollection parameters) +172
       System.ServiceModel.Description.DispatcherBuilder.MaybeCreateListener(Boolean actuallyCreate, Type[] supportedChannels, Binding binding, BindingParameterCollection parameters, Uri listenUriBaseAddress, String listenUriRelativeAddress, ListenUriMode listenUriMode, ServiceThrottle throttle, IChannelListener& result, Boolean supportContextSession) +400
       System.ServiceModel.Description.DispatcherBuilder.BuildChannelListener(StuffPerListenUriInfo stuff, ServiceHostBase serviceHost, Uri listenUri, ListenUriMode listenUriMode, Boolean supportContextSession, IChannelListener& result) +1070
       System.ServiceModel.Description.DispatcherBuilder.InitializeServiceHost(ServiceDescription description, ServiceHostBase serviceHost) +2005
       System.ServiceModel.ServiceHostBase.InitializeRuntime() +60
       Microsoft.IdentityModel.Protocols.WSTrust.WSTrustServiceHost.InitializeRuntime() +408
       System.ServiceModel.ServiceHostBase.OnOpen(TimeSpan timeout) +63
       System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) +560
       System.ServiceModel.HostingManager.ActivateService(String normalizedVirtualPath) +141
       System.ServiceModel.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath) +683

    [ServiceActivationException: The service '/SecurityTokenServiceApplication/securitytoken.svc' cannot be activated due to an exception during compilation.  The exception message is: Method not found: 'System.String System.ServiceModel.Activation.Iis7Helper.ExtendedProtectionDotlessSpnNotEnabledThrowHelper(System.Object)'..]
       System.ServiceModel.AsyncResult.End(IAsyncResult result) +460
       System.ServiceModel.Activation.HostedHttpRequestAsyncResult.End(IAsyncResult result) +471
       System.Web.AsyncEventExecutionStep.OnAsyncEventCompletion(IAsyncResult ar) +101

    The issue is limited to Windows Server 2008 R2/ Windows 7 RTM machines only.

    The issue occurs due to previously installed hotfixes and NOT the security update KB2756920 itself.

    Recommendations

    • It is recommend that you Install a newer hotfix for 3.5 SP1 like http://support.microsoft.com/kb/2637518 and then install the security update. If you have already installed the security update then simply install the above hotfix.
    • Another workaround would be to upgrade the machines from Windows Server 2008 R2/Windows 7 RTM to SP1.

    You do not have to uninstall the security update as one of the above options will suffice the need.

    MS13-004: Description of the security update for the .NET Framework 3.5.1 on Windows 7 and Windows Server 2008 R2: January 8, 2013

    UPDATE

    The issue caused by the update KB2756920 - Security update for the .NET Framework 3.5.1 on Windows 7 and Windows Server 2008 R2 RTM and its solution has been documented in KB2801728 - WCF services that are hosted on IIS on Windows 7 or Windows Server 2008 R2 may receive an exception error message after you install an update for the .NET Framework 3.5 SP1 for WCF for reference.

    The cause section of the KB has been updated with:

    This problem occurs because the computer may have some hotfixes installed that contained only "System.ServiceModel.dll" and not "System.ServiceModel.WasHosting.dll". See the "More Information" section of the KB for a list of hotfixes that are known to contain only these files.

     

    Also see http://social.technet.microsoft.com/forums/en-US/sharepointadminprevious/thread/903d0e22-6419-48c5-8669-a1191c841b76

  • March 2013 Public Update (PU) for SharePoint Server 2013 is here

    The March 2013 Public Update (PU) for SharePoint Server 2013 and SharePoint Foundation 2013 have been released.

    The Server packages for the Feb CU are contained in the March PU and is available for download here:

    This update package includes all the server component packages. Additionally, this cumulative update package updates only those components that are installed on the system. A change in the package configuration was introduced after SharePoint Server 2013 was released. You must install this public update before you install later SharePoint updates.

    Important

    When you install the update watch out for SharePoint farms where search components and high availability search topologies are enabled. For servers that include search components, you have to follow specific steps to ensure that you install the PU correctly. For a high availability search topology, you use Windows PowerShell cmdlets to patch a Search service application. The steps to follow are mentioned in the following Microsoft website:

    How to install update packages on a SharePoint farm where search component and high availability search topologies are enabled

    Update Center for SharePoint 2013 http://technet.microsoft.com/en-US/sharepoint/jj891062


    UPDATE

    One of the feature updates of the March 2013 Public Update for SharePoint 2013 is that it enables you to use multiple app domains in SharePoint 2013 environments with alternate access mapping or host-header web application configurations. Before the Public Update, you could only host ONE app domain and it had to be in the Default zone. You could not use the app domain on alternate access mappings or host-header web application configurations. The Public Update enables you to configure an app domain for each web application zone and use alternate access mapping and host-header web application configuration.

    Although the Public Update automatically installs the necessary pieces, the feature is not enabled by default. To enable and use this feature, you have to use a reverse proxy to allow traffic for the app domains. The Public Update does not install or configure the reverse proxy. You must set up the reverse proxy.

    See Enable apps in AAM or host-header environments for SharePoint 2013 for more information.

    Important:

    Due to a change in the package configuration introduced after SharePoint 2013 RTM the March Public update is a mandatory requirement in order to install subsequent SharePoint 2013 Updates.

    This is build 15.0.4481.1000 of the update package.

     

  • How to Setup Mail Enabled Document Libraries in SharePoint 2010

     

    E-mail is an integral part of any SharePoint installation as it is the backbone of communication with in a SharePoint farm and its users. Needless to say, it becomes imperative for any SharePoint administrator to know the basics of configuring the SharePoint environments to send and receive emails.

     

    Dave Coleman (Microsoft MVP) has an excellent series of blog posts which provide step-by-step instructions to setup incoming and outgoing email. You can access it here.   

  • SharePoint 2010 is now mirroring-aware

     
    SharePoint 2010 has built in support for database mirrors, and allows you to define a failover SQL server for any databases you have mirrored. You can mirror one database, you can mirror several, it's all up to you. You can do this with content databases or service application databases. To take advantage of this simply add the instance name of the SQL server where the mirror of your database is in the settings for the database, like below:

    clip_image001

      

    You can define a database name for every content database. This effectively allows SharePoint 2010 will automatically be aware of database mirroring. If the primary SQL server dies, SharePoint will automatically re-connect to the failover database.

    For example; you have content database SQLDB1 and failover database SQLDB2. By default SharePoint will communicate with SQLDB1. But in case SQLDB1 dies or SharePoint unable to communicate with SQLDB1 it will automatically retry connection to failover database and start communication with SQLDB2. SQLDB2 is a mirror to the SQLDB1. The default timeout to connect to failover database is 15 seconds.

    It will retry automatically, so you have no need to worry about any manual process to change the database.

    However, You will have to configure the database mirroring independent of SharePoint. SharePoint does not configure the mirroring in SQL for you. SharePoint will however verify the instance you specify is valid. The values for the failover instances for the databases an be set through the Central Admin UI except for the Configuration database which needs to done through PowerShell.

      

    To make SharePoint Server 2010 aware that failover mirrored databases exist, perform the following procedure for all configuration and content databases.

     

    Note :  It is recommended to use Windows PowerShell cmdlets to set failover database values. Although you can use the Central Administration Web site to set some failover database values, you cannot use

       it for all databases like the Configuration Database.

     

    To configure SharePoint 2010 Products to be aware of mirrored databases by using Windows PowerShell

     

    1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.
    2. On the Start menu, click All Programs.
    3. Click Microsoft SharePoint 2010 Products.
    4. Click SharePoint 2010 Management Shell.
    5. At the Windows PowerShell command prompt, type the following commands, and then press ENTER

     

    $db = get-spdatabase | where {$_.Name -eq "database name "}
    $db.AddFailoverServiceInstance("mirror server
    ")
    $db.Update()

     

    For more information, see Get-SPDatabase.

    After running these cmdlets when you look at the connection strings for the databases, they will look something like following

    DatabaseConnectionString :  Data Source=<primary SQL instance>;Failover Partner=<mirror SQL instance>;
    Initial Catalog=<SharePoint_Config>;Integrated Security=True;Enlist=False;Connect Timeout=15

    LegacyDatabaseConnectionString  : =<primary SQL instance>;Database=<SharePoint_Config>;Trusted_Connection=yes;
    App=Microsoft SharePoint Foundation;Timeout=15;Failover Partner=<mirror SQL instance>

    Test the fail over capability

    Test the automatic failover capability of the mirror by shutting down the principal server. You will notice that the mirror server will become the principal server while continuing to host database operations. Power on the principal server. Any database changes made on the mirror server will be restored to the principal server.

    Next, shut down the mirror server so the principal server can once again become the primary server. Power on the mirror server.

    To configure a failover instance for all databases (except for the Logging database):

    Get-SPDatabase | ? {$_.Type -ne “Microsoft.SharePoint.Administration.SPUsageDatabase”} | ? {!$_.FailoverServiceInstance} | ForEach ($_) {$_.AddFailoverServiceInstance(“SERVERNAME\INSTANCENAME”); $_.Update()}

    The supported topologies include mirroring all content databases, the configuration database, the Central Administration content database, and the service application databases except for the Web Analytics Staging database and the User Profile Synchronization database.

    Note:
    We do not recommend that you mirror the Usage and Health Data Collection Logging database. A SharePoint environment can continue to run if this database fails, and this data can be quickly regenerated.

    Avoid topologies that do not have matching principal server and database instances and mirror server and database instances. Also, keep the configuration database and the administration content database on the same server.

    The information about which databases would be better to mirror is available at http://technet.microsoft.com/en-us/library/ff628961.aspx


    Also, you can run the following command to get list of all databases and failover instances (if set)

    Get-SPDatabase | SELECT Farm, Name, Type, FailoverServer | Sort-Object Name

    Alternatively, you can export the output to a csv file using the following command:

    Get-SPDatabase | SELECT Farm, Name, Type, FailoverServer | Sort-Object Name | Export-CSV Database_List_$env:computername.csv

  • PermissionMask check failed - Decoding the permission mask values seen in the ULS logs

     

    As an administrator, you must have had users complaining about permission issues while trying to browse to a site or other actions within a site. When you look at the ULS logs you would normally be looking for an "access denied" error message. Additionally, you must have also observed entries similar to

    [Timestamp]   w3wp.exe (0x101C)  0x1380   Windows SharePoint Services   General   8xfr   Verbose   PermissionMask check failed. asking for 0x04000000, have 0x08431061

    [Timestamp]      w3wp.exe (0x101C)  0x1380          Windows SharePoint Services         General          8kh7   High    Access denied

    If you have the hexadecimal value in the ULS log for the permission mask and wish to resolve the hexadecimal code to a more meaningful value thus helping you figure out which permission or permission set is the log talking about refer to the table available at Decode the permission mask

  • SharePoint 2010 Management Shell does not load with Windows PowerShell 3.0

     

    Let’s say that you install PowerShell 3.0 by by installing the Windows Management Framework (WMF) 3.0 from

    However, after you install WMF 3.0 and PowerShell, you may receive one or both of the following error messages when you start SharePoint 2010 Management Shell:

    1. The local farm is not accessible. Cmdlets with FeatureDependencyId are not registered.
    2. A PlatformNotSupportedException occurred while trying to acquire the local farm: System.PlatformNotSupportedException: Microsoft 
      SharePoint is not supported with version 4.0.30319.586 of the Microsoft .Net Runtime.
      at Microsoft.SharePoint.Administration.SPConfigurationDatabase.get_Farm() at Microsoft.SharePoint.Administration.SPFarm.FindLocal(SPFarm& farm, Boolean& isJoined)

    Cause

    .Net 4.5 comes with PowerShell 3.0 which seems to break SharePoint 2010 PowerShell administration. That is because PowerShell 3.0 loads CLR 4.5 and
    SharePoint 2010 needs CLR 3.5 (AKA 2.0).

    How do you get around it:

    • Type "PowerShell -v 2" (without quotes). This loads PowerShell version 2, and you should be able to use it for SharePoint. Just type 'Exit' to get back to PowerShell v3
    • Add '-version 2.0' parameter when executing PowerShell 3.0, and SharePoint integration should work.
    • Change the Target field value for SharePoint 2010 Management Shell to the following:

    C:\Windows\System32\WindowsPowerShell\v1.0\PowerShell.exe -Version 2.0 -NoExit " & ' C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\CONFIG\POWERSHELL\Registration\\SharePoint.ps1 ' "

    See KB 2796733

    Note: This is not an issue with Windows PowerShell. This is an issue with the SharePoint 2010 compatibility with PowerShell 3.0.

  • Post-October 2011 CU- Running the 'Update-SPProfilePhotoStore' PowerShell command fails with a 'The pipeline has been stopped' error

    After you apply the October2010 Cumulative Update for SharePoint Server 2010 (14.0.6112.5000), the profile picture import can run into some issues.

    1. Profile picture is not imported or updated after running a full synchronization.

    The ULS logs will show the following entry:

    SavePictureToLibrary: Error processing the photo URL picture_GUID.jpg for user 1: System.UriFormatException: Invalid URI: The hostname could not be parsed. at System.Uri.CreateThis(String uri, Boolean dontEscape, UriKind uriKind) at System.Uri.CreateUri(Uri baseUri, String relativeUri, Boolean dontEscape) at System.Uri..ctor(Uri baseUri, String relativeUri) at Microsoft.SharePoint.WebPartPages.Utility.CanonicalizeFullOrRelativeUrlCore(String fullOrRelativeUrl, Boolean includeQueryString, Boolean& isFullUrl) at Microsoft.SharePoint.SPWeb.GetList(String strUrl) at Microsoft.Office.Server.UserProfiles.UserProfileGlobal.LoadPictureLibrary(SPWeb rootWeb, ProfileType profileType) at Microsoft.Office.Server.UserProfiles.UserProfileGlobal.GetOrCreatePictureFolder(UserProfileManager userProfileManager) at Microsoft.Office.Server.UserProfiles.UserProfileGlobal.SaveImportedPictureToLibrary(UserProfileManager userProfileManager, Int64 recordId, Byte[] binaryPicture)

          2.    Additionally, the PowerShell command 'Update-SPProfilePhotoStore' to fix the existing pictures and library also fails.

    Here's the command that is run to fix the issue with existing pictures:

      Update-SPProfilePhotoStore -CreateThumbnailsForImportedPhotos 1 -MySiteHostLocation http://mysite

    However, it fails with an error that looks something like this:

    Update-SPProfilePhotoStore : The pipeline has been stopped
    At line:1 char:27
    + Update-SPProfilePhotoStore <<<< -CreateThumbnailsForImportedPhotos $true -MySiteHostLocation "http://<MySiteURL> "
    + CategoryInfo : InvalidData: (Microsoft.Offic...ofilePhotoStore:SPCmdletUserProfilePhotoStore) [Update-SPProfilePhotoStore], PipelineStoppedException
    + FullyQualifiedErrorId : Microsoft.Office.Server.UserProfiles.PowerShell.SPCmdletUserProfilePhotoStore

    Update-SPProfilePhotoStore : Invalid URI: The hostname could not be parsed.
    At line:1 char:27
    + Update-SPProfilePhotoStore <<<< -CreateThumbnailsForImportedPhotos $true -MySiteHostLocation "http://<MySiteURL> "
    + CategoryInfo : ObjectNotFound: (:) [Update-SPProfilePhotoStore], UriFormatException
    + FullyQualifiedErrorId : Microsoft.Office.Server.UserProfiles.PowerShell.SPCmdletUserProfilePhotoStore

    image

    So far, the issue seems to be limited to environments where the my site is hosted on a root site collection ('/').

    In order to fix this, follow the steps listed below:

    • Create new site collection under the root of MySite web and specify the new URL in MySite host settings under the User profile Service Application settings
    • Access the MySite and you should be directed to the new URL for my site.
    • Upload a picture on to your profile page and it should be successful.
    • You should be able to run the 'Update-SPProfilePhotoStore' PowerShell command to fix the existing pictures and libraries. 
    Update

    The December 2011 CU should do the trick. Here are the links: 

    KB.2597058  -  SharePoint Foundation 2010

    KB.2597014  -  SharePoint Server 2010

    The build number  of the cumulative update package is 14.0.6114.5000

     After you install this hotfix, you must restart the User Profile Synchronization Service for profile synchronization to function correctly.

     Apply the update and the PowerShell script should work again.

  • How to Improve SharePoint Performance and Scalability

    SharePoint is a database driven product and makes frequent database trips for almost all of its work. Most of what is shown to the user is either a list or a document (also called a BLOB) and both come from the database.

    As a result, SharePoint performance is often not very good (slow response times). Slow response times can frustrate users and in case of customer facing applications, you can even lose customers and as a result direct revenue.

    The SharePoint performance problems occur primarily due to the two reasons:

    • BLOBs overwhelm SQL Server: SQL Server is a relational database that was designed to store structured relational data and not large binary data. Therefore, when SharePoint stores its documents (BLOBs) in SQL Server, it overwhelms the database and this slows down SharePoint performance considerably. More than 90% of the data stored in SQL Server for SharePoint is BLOB data.
    • Too many database trips for lists: Lists are the central characteristic of SharePoint and everything is displayed as lists to the user. And, all these lists are stored in SQL Server and SharePoint makes too many trips to the database which also overwhelms it and this slows down SharePoint performance.

    image

     

    Figure 1: SharePoint deployment with performance bottlenecks

    As you can see in Figure 1, the Web Front End (WFE) servers are frequently going to the SQL Server cluster for meta data, list content, and BLOBs. On top of this, Index Server and Query Servers are also going to the same database. The entire database is overloaded and slows down quite a bit. That is the reason why in typical deployments SharePoint performance cannot scale beyond 6-7 WFE servers in a load-balanced web farm.

    So what's the solution?...............Externalize BLOBs and Use Caching

    What you need is better SharePoint performance with faster response times even as your increase the number of users or number of WFE servers in the web farm. Better SharePoint performance results in satisfied users and an increase in revenue or website loyalty if your application is customer facing.

    You can dramatically improve SharePoint performance if you use a few of intelligent techniques. They are:

    • Externalize Documents (BLOBs): By moving all your BLOBs out of SQL Server and into a file system or SAN/NAS storage, you will relieve a lot of pressure from the database. This will allow SQL Server to focus more on what it does best, namely to process relational data transactions. And, a faster SQL Server means better SharePoint performance with more scalability.
    • Cache Lists and BLOBs: By using caching on lists, you would reduce the database traffic even further since most structured data in SharePoint is displayed as lists. Caching list should reduce lists traffic by 50-70% since most database operations for lists are read-operations. Additionally, by caching BLOBs in an extremely fast in-memory cache, you’re even reducing trips to the file server of SAN/NAS storage and improving your BLOB read performance greatly which improves SharePoint performance.

    image

    Figure 2: Better SharePoint Performance with externalized BLOBs & Caching

    Figure 2 shows how by using a combination of external BLOB storage (EBS) and in-memory caching, you can dramatically improve not only SharePoint performance but keep this good performance even when you increase user/transaction load on your SharePoint deployment.

    The database trips are now made only to read lists once and then they’re cached for a configurable period of time so you don’t have to make these expensive database trips for lists again. Additionally, BLOBs are moved out of SQL Server and therefore all BLOB operations no longer go to the database. And, on top of all this, in-memory caching is used on both BLOBs and Lists which improves access time from WFE server to the cache and results in better SharePoint performance.

  • Lists, Libraries, Templates, Web Parts and Site Actions in MOSS 2007



    Default Lists & Libraries Available

    The following table shows all of the lists & libraries that the site owners can typically create on their site

    List/Library

    Description

    Availability

     

    Libraries

    Site templates

    Document Library

    Create a document library when you have a collection of documents or other files that you want to share.  Document libraries support features such as folders, versioning, and check out.

    All

    Form Library

    Create a form library when you have XML-based business forms, such as status reports or purchase orders, that you want to manage. These libraries require a Windows SharePoint Services-compatible XML editor, such as Microsoft Office InfoPath.

    All

    Wiki Page Library

    Create a Wiki page library when you want to have an interconnected collection of Wiki pages. Wiki page libraries support pictures, tables, hyperlinks, and wiki linking.

    All

    Picture Library

    Create a picture library when you have pictures you want to share. Picture libraries provide special features for managing and displaying pictures, such as thumbnails, download options, and a slide show.

    All

    Data Connection Library

    Create a Data Connection Library to make it easy to share files that contain information about external data connections.

    All

    Translation Management Library

    Create a translation management library when you want to create documents in multiple languages and manage translation tasks. Translation management libraries include a workflow to manage the translation process and provide sub-folders, file versioning, and check-in/check-out.

    Not on My Site

    Slide Library

    Create a slide library when you want to share slides from Microsoft Office PowerPoint, or a compatible application. Slide libraries also provide special features for finding, managing, and reusing slides.

    All

     

    Communications

    Announcements

    Create an announcements list when you want a place to share news, status, and other short bits of information.

    All

    Contacts

    Create a contacts list when you want to manage information about people that your team works with such as customers or partners. You can share information between your contacts list and Windows SharePoint Services-compatible contacts programs.

    All

    Discussion Board

    Create a discussion board when you want to provide a place for newsgroup-style discussions. Discussion boards provide features for managing discussion threads and ensuring that only approved posts appear.

    All

     

    Tracking

    Links

    Create a links list when you have links to Web pages or other resources that you want to share.

    All

    Calendar

    Create a calendar list when you want a calendar-based view of upcoming meetings, deadlines, and other important events. You can share information between your calendar list and Windows SharePoint Services-compatible events programs.

    All

    Tasks

    Create a tasks list when you want to track a group of work items that you or your team needs to complete.

    All

    Project Tasks

    Create a project tasks list when you want a graphical view (a Gantt Chart) on a group of work items that you or your team needs to complete.

    All

    Issue Tracking

    Create an issue tracking list when you want to manage a set of issues or problems. You can assign, prioritize, and follow the progress of issues from start to finish.

    All

    Survey

    Create a survey when you want to poll other Web site users. Surveys provide features that allow you to quickly create questions and define how users specify their answers.

    All

     

    Custom Lists

    Custom List

    Create a custom list when you want to specify your own columns. The list opens as a Web page and lets you add or edit items one at a time.

    All

    Custom List in Datasheet View

    Create a custom list when you want to specify your own columns. The list opens in a spreadsheet-like environment for convenient data entry, editing, and formatting. It requires a Windows SharePoint Services-compatible list datasheet control and ActiveX control support.

    All

    Languages and Translators

    Create the list of languages for which the Translation Management workflow will assign translation tasks. You can also specify the translators for each language.

    Not on My Site

    Import Spreadsheet

    Import a spreadsheet when you want to create a list that has the same columns and contents as an existing spreadsheet. Importing a spreadsheet requires a spreadsheet application compatible with Windows SharePoint Services.

    All

     

    Web Pages

    Basic Page

    Create a basic page when you want to add a simple Web page to this site. You can modify the page by adding text, pictures, and tables using your Web browser.

    All

    Web Part Page

    Create a Web Part Page when you want to add a Web page to this site that displays one or more Web Parts. Web Parts provide an easy way to build powerful Web pages that can show you information ranging from a view of a list in the current site to the latest data from Web Services.

    All

    Sites and Workspaces

    See below

    Default Site Templates Available

    The following table shows all of the types of sub sites that a site administrator can typically create on their site

    Template

    Description

    Availability

     

    Collaboration

    Site templates

    Team Site

    A site for teams to quickly organize, author, and share information. It provides a document library, and lists for managing announcements, calendar items, tasks, and discussions.

    All

    Blank Site

    A blank site for you to customize based on your requirements.

    All

    Document Workspace

    A site for colleagues to work together on a document. It provides a document library for storing the primary document and supporting files, a tasks list for assigning to-do items, and a links list for resources related to the document.

    All

    Blog

    A blog site for a person or team to post ideas, observations, and expertise that site visitors can comment on.

    All

    Wiki Site

    A site for a community to brainstorm and share ideas. It provides Web pages that can be quickly edited to record information and then linked together through keywords

    All

     

    Meetings

     

    Basic Meeting

    It is a site to plan, organize, and capture the results of a meeting. It provides lists for managing the agenda, meeting attendees, and documents.

    All

    Blank Meeting

    A blank meeting site for you to customize based on your requirements.

    All

    Decision Meeting

    A site for meetings that track status or make decisions. It provides lists for creating tasks, storing documents, and recording decisions.

    All

    Social Meeting

    A site to plan social occasions. It provides lists for tracking attendees, providing directions, and storing pictures of the event.

    All

    Multipage Meeting

    It’s a site to plan, organize, and capture the results of a meeting. It provides lists for managing the agenda and meeting attendees in addition to two blank pages for you to customize based on your requirements.

    All

     

    Enterprise tab

     

    Document Center

    A site to centrally manage documents in your enterprise.

    Not on MySite

    Records Center

    This template creates a site designed for records management. Records managers can configure the routing table to direct incoming files to specific locations. The site prevents records from being modified after they are added to the repository.

    All

    Personalization site

    A site for delivering personalized views, data, and navigation from this site collection into My Site. It includes personalization specific Web Parts and navigation that is optimized for My Site sites.

    Sub site only

    Site Directory

    A site for listing and categorizing important sites in your organization. It includes different views for categorized sites, top sites, and a site map.

    All

    Report Center

    A site for creating, managing, and delivering Web pages, dashboards, and key performance indicators that communicate metrics, goals, and business intelligence information.

    All

    Search Center with Tabs

    A site for delivering the search experience. The welcome page includes a search box with two tabs: one for general searches, and another for searches for information about people. You can add and customize tabs to focus on other search scopes or result types.

    All

    Search Center

    A site for delivering the search experience. The site includes pages for search results and advanced searches.

    All

    MySite Host

    A site used for hosting personal sites (My Sites) and the public People Profile page. This template needs to be provisioned only once per Shared Service Provider, please consult the documentation for details.

    Site collection only

     

    Publishing tab

     

    News Site

    A site for publishing news articles and links to news articles. It includes a sample news page and an archive for storing older news items.

    Sub site only

    Collaboration Portal

    A starter site hierarchy for an intranet divisional portal. It includes a home page, a News site, a Site Directory, a Document Center, and a Search Center with Tabs. Typically, this site has nearly as many contributors as readers and is used to host team sites

    Site collection only

    Publishing Portal

    A starter site hierarchy for an Internet-facing site or a large intranet portal. This site can be customized easily with distinctive branding. It includes a home page, a sample press releases subsite, a Search Center, and a login page. Typically, this site has many more readers than contributors, and it is used to publish Web pages with approval workflows.

    Site collection only

     

    Default Web Parts Available

    The following table shows all of the web parts that a site designer can typically add to their site

    Web Part

    Description

    Internal name

    Availability

     

    Business Data

     

    Site templates

     

    Requires enterprise license and CALs

     

     

    Business Data Actions

    Display a list of actions from the Business Data Catalog.

    Business Data Actions Web Part

    All

    Business Data Related List

    Display a list of items related to one or more parent items from a data source in the Business Data Catalog.

    Business Data Association Web Part

    All

    Business Data Item

    Display one item from a data source in the Business Data Catalog.

    Business Data Details Web Part

    All

    Business Data Item Builder

    Creates a Business Data item from parameters in the query string and provides it to other web parts. This web part is only used on Business Data profile pages.

    Business Data Item Builder

    All

    Business Data List

    Display a list of items from a data source in the Business Data Catalog.

    Business Data List Web Part

    All

    IView Web Part

    Displays iViews from SAP portal servers.

    IView Web Part

    All

    WSRP Consumer Web Part

    Displays portlets from web sites using WSRP 1.1.

    WSRP  Consumer Web Part

    All

     

    Content Rollup

     

     

    Colleague Tracker

    Displays a list of your colleagues and their recent changes.

    Contact links

    MySite only

    Colleagues

    Shows the links to colleagues the user has shared with you

    colleagues

    MySite only

    Get Started with My Site

    Links to various hints and tips about the usage of the My Site.

    welcome web part

    MySite only

    In Common Between Us

    Shows what is in common between you and the user

    In Common

    MySite only

    Memberships

    Displays your site and distribution list memberships.

    memberships

    MySite only

    My Links

    Use to display your links

    Quick links

    MySite only

    My Pictures

    Displays pictures from your pictures library, with an option to view as a slide show.

    My pics

    MySite only

    My SharePoint Sites

    Use to display documents authored by you on sites where you are a member and sites of your choice.

    My docs

    MySite only

    My Workspaces

    Displays sites created under your My Site.

    My works

    MySite only

    Recent Blog Posts

    The most recent blog posts for the user

    Latest Blog Posts Public

    MySite only

    SharePoint Documents

    Use to display documents authored by the user where the user is a site member.

    Membership docs

    MySite only

    Site Aggregator

    Use to display sites of your choice.

    Site Framer

    All

     

    Dashboard

     

     

     

    Requires enterprise license and CALs

     

    All

    KPI Details

    Displays the details of a single status indicator. Status indicators display an important measure for an organization and may be obtained from other data sources including SharePoint lists, Excel workbooks, and SQL Server 2005 Analysis Services KPIs.

    Indicator Web Part

    All

    Key Performance Indicators

    Shows a list of status indicators. Status indicators display important measures for your organization, and show how your organization is performing with respect to your goals.

    KPI List Web Part

    All

     

    Default

     

     

    I need to….

    Displays tasks and tools from a list

    Tasks And Tools

    All

    RSS Viewer

    Renders RSS Feed

    RSS Viewer

    All

    This Week in Pictures

    Displays one image from an Image Library and links to a slide show where users can see all of the images in the Image Library.

    This Week In Pictures

    All

     

    Filters

     

     

     

    Require enterprise license and CALs

     

    All

    Choice Filter

    Filter the contents of web parts using a list of values entered by the page author.

    Authored List Filter

    All

    Business Data Catalog Filter

    Filter the contents of web parts using a list of values from the Business Data Catalog.

    Business Data Filter

    All

    Date Filter

    Filter the contents of web parts by allowing users to enter or pick a date.

    Date Filter

    All

    Filter Actions

    Filter Actions

    Filter Actions

    All

    SQL Server 2005 Analysis Services Filter

    Filter the contents of web parts using a list of values from SQL Server 2005 Analysis Services cubes.

    OLAP Filter

    All

    Page Field Filter

    Filter the contents of web parts using information about the current page.

    Page Context Filter

    All

    Query String (URL) Filter

    Filter the contents of web parts using values passed via the query string.

    Query String Filter

    All

    SharePoint List Filter

    Filter the contents of web parts by using a list of values from a Office SharePoint Server list.

    SPList Filter

    All

    Text Filter

    Filter the contents of web parts by allowing users to enter a text value.

    Text Filter

    All

    Current User Filter

    Filter the contents of web parts by using properties of the current page.

    User Context Filter

    All

     

    Miscellaneous

     

     

    Contact Details

    Use to display details about a contact for this page or site

    Contact WP

    All

     

    Outlook Web Access

     

     

     

    Connects to Microsoft Exchange Server

       

    My Calendar

    Displays your calendar using Outlook Web Access for Microsoft Exchange Server 2003 or later.

    OWA calendar

    All

    My Contacts

    Displays your contacts using Outlook Web Access for Microsoft Exchange Server 2003 or later.

    OWA contacts

    All

    My Inbox

    Displays your inbox using Outlook Web Access for Microsoft Exchange Server 2003 or later.

    OWA inbox

    All

    My Mail Folder

    Displays your mail folder using Outlook Web Access for Microsoft Exchange Server 2000.

    OWA

    All

    My Tasks

    Displays your tasks using Outlook Web Access for Microsoft Exchange Server 2003 or later.

    OWA tasks

    All

     

    Search

     

     

     

    Search web parts are used to construct custom search query input areas and custom search results pages. They could be useful for users to learn about these web parts, or for users to construct specialized search pages for their own use and possibly the benefit of others.

     

     

    Advanced Search Box

    Used for parameterized searches based on properties and combinations of words.

    Advanced Search box

    All

    People Search Box

    Used to search people.

    People Search Box

    All

    People Search Core Results

    This web part displays the people search results and the properties associated with them.

    People Search Core Results

    All

    Search Action Links

    Web part to display the search action links.

    Search Action Links

    All

    Search Best Bets

    Web part to display the special term and high confidence results.

    Search Best Bets

    All

    Search Box

    Used to search document and items.

    Search Box

    All

    Search Core Results

    This web part displays the search results and the properties associated with them.

    Search Core Results

    All

    Search High Confidence Results

    Displays keywords, best bets and high confidence results.

    Search High Confidence

    All

    Search Paging

    Display links for navigating pages containing search results.

    Search Paging

    All

    Search Statistics

    Displays the search statistics such as the number of results shown on the current page, total number of results and time taken to perform the search.

    Search Stats

    All

    Search Summary

    This web part displays the "Did you mean" feature for the search terms.

    Search Summary

    All

     

    Site Directory

     

     

     

    Site Directory web parts are used to construct custom Site Directory pages.  They could be useful for users to learn about these web parts, or for users to construct specialized directories for their own use and possibly the benefit of others.

     

     

    Sites in Category

    Displays sites in the Site Directory

    Category Results Web Part

    All

    Categories

    Displays categories from the Site Directory

    Category Web Part

    All

    Top Sites

    Display the top sites from Site Directory

    Top  Sites Web Part

    All

    Default Site Actions available

    The following table shows all of the actions that the owner of a MySite can typically perform on their site.

    The method for configuring which actions can or can’t be performed by the site owner is to change their permission levels… each permission level controls the ability to perform some set of actions (see the Permissions Matrix). Therefore the granularity of what actions can be customized is set in advance. You may not be able to get the exact combination you think you need.

    Site Action

    Description

    Availability

     

    Users and Permissions

    Site templates

    People and Groups

    View and manage all people for this site collection

    All

    Site collection administrators

    Add and remove site collection administrators

    All

    Advanced permissions

    Assign permission levels to users and groups. This is a top-level Web site.

    All

     

     

     

     

    Look and Feel

     

    Title, description and icon

    Change the site’s title, description or icon.

    All

    Tree view

    Manage this site's left navigation panel,

    All

    Site theme

    Change the fonts and color scheme for your site.

    All

    Top link bar

    Specify the links that appear in the top link bar of the site,

    All

    Quick Launch

    Change the links and headings in the Quick Launch.

    All

    Save site as template

    Save your Web site as a site template. Users can create new subsites on this MySite from this template.

    All

    Reset to site definition

    Remove all customizations from a page….you can reset a single page within your site to use the version of the page included in the site definition, or you can reset all pages

    All

     

     

     

     

    Galleries

     

    Master pages

    Store master pages. The master pages in this gallery are available to this site and any sites underneath it

    All

    Site content types

    Create and manage content types declared on this site and all parent sites (a MySite has no parent site). Content types visible on this page are available for use on this site and its subsites.

    All

    Site columns

    Manage columns on this site and all parent sites (a MySite has no parent site)

    All

    Site templates

    Make a template available for use in Web site creation by adding it to this gallery. The templates in this gallery are available to this site and all sites under it.

    All

    List templates

    Make a template available for use in list creation by adding it to this gallery. The templates in this gallery are available to this site and all sites under it.

    All

    Web Parts

    Use this Web Part Gallery to store and retrieve Web Parts. The Web Parts in this gallery are available to this site and all sites under it.

    All

    Workflows

    View workflows in the current site collection

    All

     

     

     

     

    Site Administration

     

    Regional settings

    Set regional settings such as the locale and time zone

    All

    Site libraries and lists

    Change the design of a list, document library, discussion board, or survey

    All

    Site usage report

    View a detailed usage report for this Web site. The report does not include data for sites under this Web site

    All

    User alerts

    Manage alerts for users on this site

    All

    RSS

    Enable/disable RSS feeds for this site collection

    All

    Search visibility

    Manage this site's search visibility settings

    All

    Sites and workspaces

    Shows all the sites you have access to below this Web site. To create a new site, click Create below.

    All

    Site features

    Enable and/or disable features on this site (root web or subsite within MySite)

    All

    Delete this site

    Delete this MySite and all subsites that it may contain

    All

     

    Site Collection Administration

     

    Search settings

    Enable custom scopes (include scopes managed at this site or by shared service provider) and set search results page

    All

    Search scopes

    View and manage search scopes for this MySite

    All

    Search keywords

    Add & manage keywords that will provide targeted search results on this MySite

    All

    Recycle bin

    Restore items that users have deleted from this site or to empty deleted items

    All

    Usage summary

    View summary information on how this site collection is being used

    All

    Storage space allocation

    View storage being used on this MySite.  Allow deletion of items taking too much space from this page.

    All

    Site collection features

    Enable and/or disable features on this MySite site collection

    All

    Site hierarchy

    View all subsites that have been created under this MySite

    All

    Portal site connection

    Set the URL of a portal that this MySite should be associated with.

    All

    Site collection audit settings

    Specify the events that should be audited in this MySite

    All

    Site collection policies

    Create and modify information management policies (expiration, auditing, etc.) on this MySite.

    All

     

    - cheers,
      PH
      

  • Retrieve the list of Content Types in MOSS 2007 using PowerShell

     

    MOSS 2007

    [void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") | out-null
    Write-host ".."
    Write-host ".."
    Write-host "Get a list of Content types"
    $site = new-object Microsoft.SharePoint.SPSite("http://spweb/extend"); # specify url here
    foreach ($web in $site.AllWebs) {
    $ctypes = $web.ContentTypes
    foreach ($ctype in $ctypes) {
    $usages = [Microsoft.Sharepoint.SPContentTypeUsage]::GetUsages($ctype)
    foreach ($usage in $usages) {
    Write-Host $web.Name + "," + $ctype.Name + "," + $usage.Url
    }
    }
    }

    SharePoint 2010
    $site = Get-SPSite("http://SPWeb/Site"); # Specify url here
    foreach ($web in $site.AllWebs) {
    $ctypes = $web.ContentTypes
    foreach ($ctype in $ctypes) {
    $usages = [Microsoft.Sharepoint.SPContentTypeUsage]::GetUsages($ctype)
    foreach ($usage in $usages) {
    Write-Host $web.Name + "," + $ctype.Name + "," + $usage.Url
    }
    }
    }

  • Windows PowerShell Command Builder 2.0 is here !!

     

     

    This is an updated version of the Windows PowerShell Command Builder

    Windows PowerShell Command Builder 2.0 constructs commands that can be used with SharePoint Foundation 2010, SharePoint Server 2010, SharePoint Foundation 2013, SharePoint Server 2013, SharePoint Online, and Office 365. Windows PowerShell Command Builder 2.0 provides many of the same capabilities as the previous Silverlight version such as offline access. In addition to providing support for SharePoint Server 2010, SharePoint Foundation 2010, and Office 365, this version also introduces support for SharePoint Server 2013, SharePoint Foundation 2013, and SharePoint Online.

    Click to open the Windows PowerShell Command Builder 2.0 in a new browser window

    Windows PowerShell Command Builder 2.0

    For more information about PowerShell in SharePoint, see Windows PowerShell for SharePoint 2013 IT pros

  • MOSS-ActiveX controls

     

      

    List of MOSS 2007 ActiveX Controls

     

    Diagram Launcher

     

    Server Files       :   TEMPLATE\LAYOUTS\1033\BFORM.JS, TEMPLATE\LAYOUTS\1033\CORE.JS,

                               TEMPLATE\LAYOUTS\1033\INIT.JS, TEMPLATE\LAYOUTS\1033\OWS.JS

    Client File          :   DGRMLNCH.DLL

    Function           :   Launch Microsoft Office Visio to open diagrams

    Non-IE behavior  :  The browser will offer to save the file locally instead of launching the application. The option to

                               "Open with Visio" will not show.

     

    Digital Signatures

     

    Server Files       :  TEMPLATE\LAYOUTS\INC\1033\IntlCoreStrings.js, TEMPLATE\LAYOUTS\INC\Core.js,

                              TEMPLATE\LAYOUTS\INC\intlcorestrings.js, TEMPLATE\LAYOUTS\SignatureDetails.FormServer.aspx

    Function           :  Digital Signature for Microsoft Office clients

    Non-IE behavior :  You cannot sign documents, but you can view signatures.

     

    Export Database

     

    Server Files         :  TEMPLATE\LAYOUTS\1033\CORE.JS, TEMPLATE\LAYOUTS\viewtype.aspx,

                                TEMPLATE\LAYOUTS\1033\OWS.JS

    Client File            :  OWSSUPP.DLL

    Also Known As      :  SharePoint Export Database Launcher

    Function              :  Export list to a Microsoft Office Access database

    Non-IE behavior    :  Option to "Open with Access" will not show.

     

    List Net

     

    Server Files          :  TEMPLATE\LAYOUTS\1033\CORE.JS, TEMPLATE\LAYOUTS\1033\CORE.JS,

                                 TEMPLATE\LAYOUTS\1033\OWS.JS, TEMPLATE\LAYOUTS\1033\OWS.JS

    Client File            :  STSLIST.DLL

    Also Known As      :  Microsoft Office List 12.0

    Function              :  Edit list in Datasheet view

    Reference            :  http://msdn2.microsoft.com/en-us/library/ms416795.aspx

    Non-IE behavior     :  The option to "Edit in Datasheet" will not show.

     

    Name Ctrl

     

    Server Files        :  TEMPLATE\LAYOUTS\1033\INIT.JS, TEMPLATE\LAYOUTS\1033\OWS.JS

    Client File           :  NAME.DLL

    Also Known As    :  NameCtrl Class

    Function            :  Display presence information for people, integrating with Outlook and Communicator

                              (Instant messaging)

    Reference          :  http://msdn2.microsoft.com/en-us/library/ms455335.aspx

    Non-IE behavior  :  Presence information will not show.

     

     

    OISClientLauncher

     

    Server Files        :        TEMPLATE\LAYOUTS\1033\IMGLIB.JS, TEMPLATE\LAYOUTS\upload.aspx

    Client File           :        OISCTRL.DLL

    Also Known As    :         OSIClientLauncher Class

    Function            :         Integration with the Office Picture Manager

    Reference             :            http://msdn2.microsoft.com/en-us/library/ms954038.aspx

    Non-IE behavior  :         Integration with Picture Manager will not show.

     

    OpenDocuments

     

    Server Files               :  TEMPLATE\LAYOUTS\1033\HtmlEditor.js, TEMPLATE\XML\DOCICON.XML

    Client File                  :  OWSSUPP.DLL

    Also Known As           :  SharePoint OpenDocuments Class

    Function                    :  Launch Office applications to open documents

    Reference                  :  http://msdn2.microsoft.com/en-us/library/ms454230.aspx

    Non-IE behavior         :  The browser will offer to save the file locally instead of launching the application.

                                        The option to "Edit In (Microsoft Office application)" will not show.

     

    OpenXMLDocuments

     

    Server Files          :  TEMPLATE\LAYOUTS\1033\HtmlEditor.js, TEMPLATE\LAYOUTS\INC\Core.js,

                                 TEMPLATE\LAYOUTS\ctdmsettings.aspx, TEMPLATE\XML\DOCICON.XML

    Client File             :  INLAUNCH.DLL

    Also Known As      :  SharePointOpenXMLDocuments

    Function              :  Launch InfoPath to open forms

    Reference            :  http://msdn2.microsoft.com/en-us/library/ms452435.aspx

    Non-IE behavior    :  The browser will offer to save the file locally instead of launching the application. The option to

                                 "Open with InfoPath" will not show.

     

    Personal Site

     

    Server Files          :    None?

    Client File             :    PORTAL~1.DLL

    Also Known As      :    PersonalSite Class, PortalConnect.PersonalSite

    Function              :    Adds your my site to a list of SharePoint sites maintained by the Office client

    Non-IE behavior    :    No client-side knowledge of where your MySite is located.

     

    Ppactivex

     

    Server Files         :    TEMPLATE\CONTROLTEMPLATES\sldlibtemplates.ascx, TEMPLATE\LAYOUTS\1033\SLDLIB.JS,

                                  TEMPLATE\FEATURES\SlideLibrary\SldLib\schema.xml,

    Function             :    Integration with PowerPoint for Slide Library Templates

    Non-IE behavior   :    The Slide Library integration with PowerPoint will not work.

     

    RTEDialogHelper

     

    Server Files          : TEMPLATE\LAYOUTS\1033\BFORM.JS, TEMPLATE\LAYOUTS\1033\FONTDLG.HTM,

                                TEMPLATE\LAYOUTS\1033\HtmlEditor.js

    Client File            :  MSHTMLED.DLL

    Also Known As      :  Rich Text Editor, DlgHelper, HtmlDldSafeHelper Class

    Function              :  Rich Text Editor used to edit wikis, rich text web part

    References           :  http://msdn2.microsoft.com/en-us/library/ms535238.aspx,
                                 http://msdn.microsoft.com/workshop/author/editing/tutorials/html_editor.asp 

    Non-IE behavior     :   A simpler multi-line text editor with no Rich Text capabilities will show. Consider using the Telerik

                                  control, which is available for free download at http://www.telerik.com/sharepoint and works

                                  with non-IE browsers.

     

    SpreadsheetLauncher

     

    Server Files           :    TEMPLATE\LAYOUTS\1033\BFORM.JS, TEMPLATE\LAYOUTS\1033\INIT.JS,

                                    TEMPLATE\LAYOUTS\NewTranslationManagement.aspx, TEMPLATE\LAYOUTS\lstsetng.aspx,

                                    TEMPLATE\LAYOUTS\new.aspx, TEMPLATE\LAYOUTS\sledit.aspx, TEMPLATE\LAYOUTS\slnew.aspx,

                                    TEMPLATE\LAYOUTS\1033\INIT.JS

    Client Files            :     OWSSUPP.DLL, OWSCLT.DLL

    Also Known As       :     SharePoint SpreadSheet Launcher

    Function               :     Integration with Excel to import and export lists

    Reference             :     http://msdn2.microsoft.com/en-us/library/ms427792.aspx

    Non-IE behavior     :     Options to Export to Excel and Import Spreadsheet will not show. If you register an application

                                     to handle the '.iqy' extension, you might be able to export spreadsheets.

     

    Stssync

     

    Server Files         :  TEMPLATE\LAYOUTS\1033\BFORM.JS, TEMPLATE\LAYOUTS\1033\INIT.JS

    Client File            :  OWSSUPP.DLL

    Also Known As     :  SharePoint Stssynch Handler

    Function             :  Connect to Outlook to synchronize lists

    Reference           :  http://msdn2.microsoft.com/en-us/library/ms456225.aspx

    Non-IE behavior   :  Option to "Connect to Outlook" will not show. You should be able register a client application

                               to handle the Stssync:// protocol.

     

    UploadCtl

     

    Server Files        :    TEMPLATE\CONTROLTEMPLATES\DefaultTemplates.ascx, TEMPLATE\LAYOUTS\1033\BFORM.JS,

                                 TEMPLATE\LAYOUTS\1033\INIT.JS, TEMPLATE\LAYOUTS\copy.aspx,

                                 TEMPLATE\LAYOUTS\updatecopies.aspx, TEMPLATE\XML\FLDTYPES.XML
                                 TEMPLATE\LAYOUTS\upload.aspx

    Client File            :   STSUPLD.DLL

    Also Known As     :    STSUpld UploadCtl Class

    Function             :    Multiple File Upload

    Reference           :    http://msdn2.microsoft.com/en-us/library/ms456628.aspx

    Non-IE behavior   :    Only single file upload is available. Option for "Multiple File Upload" will not show.

  • October Cumulative Updates for SharePoint 2013

    October 2013 Cumulative Update Packages for SharePoint Foundation 2013 and SharePoint Server 2013 have been released

    October 2013 CU for SharePoint Foundation 2013 - KB 2825674
    October 2013 CU for SharePoint Server 2013 - KB 2825647

    Note: This is build 15.0.4551.1001 of the cumulative update package.

    Important: March 2013 PU for SharePoint Server 2013 is mandatory to install this update.

    Updates Center for SharePoint 2013       
    Common Question: What is the difference between a PU, a CU and a COD

  • Manage large lists for performance (MOSS)

    SharePoint Products and Technologies support large lists. However, you must carefully control how end-users view the lists to help prevent adverse effects on performance.

    • For best performance, do not exceed 2,000 items in a list level (for example, the root of the list or a single folder).
    • If you must create and browse large lists, use the following best practices:
    • Index the list on one or more columns.
    • Change the default view of the list to a customized filtered view that follows these recommendations
      • The view returns fewer than 5,000 items
      • The first column that you use to filter the view has an index and that it sufficiently reduces the total number of items returned.
      • The view displays only those columns that are absolutely required.
      • The view includes as few lookup columns as possible. Each lookup column in a list that is included in a view causes an additional join and additional calls to the database.
    • Evaluate list size with regard to the number of columns in a list. Lists with lots of columns can perform slowly.

    Be aware that the following settings and operations can significantly affect the performance of a site that has large lists.

    • Complex explicit permissions (permissions on the list or library, folder, or item or document level) force authorization checking on each item.
    • Changing authorization settings.
    • Creating, updating, and deleting indexes.
    • Importing and exporting content.
    • Deleting a list.
    • Deploying new content types or updating existing content types.
    • If you have workflows that generate lots of task and history items, you might be creating large lists. For very active workflows, follow these practices:
    • Keep the AutoCleanupDays timer job running to clean up tasks on completed workflows older than 60 days.
    • When you create workflow associations, if you expect that a workflow will be heavily used or will create lots of task and history items, use non-default task and history lists.

    Please be aware that if you have a site that uses large lists, it can slow down the performance of site collection backups performed with the Stsadm backup operations.

    More info http://technet.microsoft.com/en-us/magazine/2009.08.insidesharepoint.aspx

  • Disable Resource Throttling on a List-by-List Basis (PowerShell method)

     

    Here is the PowerShell method to disable Resource Throttling on a list by list basis:

    $webapp = Get-SPWebApplication -Identity "SharePoint Site"
    $siteawwu = Get-SPSite http://contoso/sites/abc
    $web = Get-SPWeb http://contoso/sites/abc
    $largelist = $web.Lists["Large List Test"]
    $largelist.EnableThrottling=$false
    $largelist.Update()
  • Description field of a workflow history list is truncated when the number of characters used goes beyond 255


    In Windows SharePoint Services, the description field of a workflow history list is truncated when the number of characters used goes beyond 255.
          
    This behavior is a by-design limitation. Windows SharePoint Services implements a restriction on the number of characters that can be used in a multiline text box. The reason is that the OLE property stream doesn't support more than 255 characters. Having more than 255 characters would cause problems demoting properties into documents.

    As a side note, this issue can be reproduced in other areas from within SharePoint with similar results. This means that this behavior is not limited to the description field of a workflow history list but other areas of SharePoint as well like multi-line text fields in columns in a document library, adding a new link through the SharePoint interface to an existing site etc..

     

  • SharePoint 2010 database attach upgrade with managed paths

     

    Issue with performing a database attach upgrade from 2007 to 2010. Apparently, when you have additional wildcard managed paths (anything other than '/sites') when you upgrade that database to SharePoint 2010 you will end up with a bunch of explicit managed paths in SharePoint 2010. Here’s how the whole thing looks

    2007 Wildcard managed paths

    • /sites
    • /IN
    • /WC

    2007 Site collections in content database

    • /
    • /Sites/SCDefault
    • /IN/Inclusion
    • /WC/Wildcard

    After attaching the content database to new SharePoint 2010 web application using the 'Mount-SPContentDatabase' PowerShell command, the managed paths section looks like follows

    • /Sites              -  wildcard
    • /IN/Inclusion   -  explicit
    • /WC/Wildcard  -  explicit

    image

    Clearly, the managed paths created are not the same as they were in 2007 and this is not a scenario we want to be in. For one when we try to create a new site collection named ‘upgrade’ under ‘IN’ we will not be able to create it at ‘/IN/upgrade’ since the managed path for ‘IN’ no longer exists.

    Note All of your site collections will still be available in the above scenario.

    Solution

    Create managed paths before attaching 2007 content databases

    Make a note of the managed paths you need before performing the upgrade and follow these steps

    • Create a new web application in 2010.
    • Go into Central Admin > Web Application management and the click your web application
    • Select managed paths from the ribbon to create your wildcard manage paths. 
    • Run the 'Mount-SPContentDatabase' command to upgrade and attach the 2007 content database the 2010.

    If you are already facing this issue, follow the steps listed below

    • Go into Central Admin > Manage Content databases and remove the upgraded databases.
    • Once they are detached we need to delete all of the explicit managed paths for the database.
    • Create the wild card paths which you want.
    • Reattach your content database.

    that’s it folks!!

  • Default Site Templates in SharePoint Server 2010

    Posted @ http://social.technet.microsoft.com/wiki/contents/articles/20100.default-site-templates-in-sharepoint-server-2010.aspx