SharePoint 2013, WebApps, Workflows and...
Transcript of SharePoint 2013, WebApps, Workflows and...
SharePoint 2013, WebApps, Workflows and Apps
Samuel Zürcher, Senior Consultant
Experts Inside GmbH
Speaker
Samuel Zürcher
Senior Consultant / Evangelist
SharePoint und SQL Server
MCTS, MCITP, MCT, MVP
Kontakt und Webauftritte
Blog: http://sharepointszu.com
Community: http://www.sharepointcommunity.ch
Konferenz: http://www.collaborationdays.ch
XING: https://www.xing.com/profile/Samuel_Zuercher3
Facebook: http://www.facebook.com/sharepointszu
Twitter: @sharepointszu
Samuel Zürcher [MVP] hat Langjährige Erfahrung mit SharePoint seit der Version 2.0, breites Technologie Know-how und ist seit 15 Jahren in der IT tätig. Er ist im Projektmanagement in verschiedenen Projektgrössen und Komplexitätsstufen daheim, kennt sich aber auch mit dem innersten Kern von SharePoint aus. Verschiedene Zertifizierungen für SharePoint und der Microsoft Certified Trainer runden sein Profil ab (MCT, MCTS, MCIPT). Er ist der Initiant und zusammen mit Stefan Heinz Begründer der www.sharepointcommunity.ch und Co-Organisator der Collaboration Days.
Architecture and toppologyPreparation for SharePoint 2013
Topology differences with 2013
Streamlined
• New Topology Model
• Maximise performance for Users
• Distributed Cache
• Frontend Servers
• Batch Processing Servers
• Specialized workloads
• Database Servers
Classic
• Traditional three-tier Model
• Frontend Servers
• Application Servers
• Database Servers
Reference: http://technet.microsoft.com/en-us/library/jj219591.aspx
Classical Topology
Streamlined Topology
Goals of Streamlined tiersRole Goal
Distributed Cache Consistent latency:
• Latency — very low (<5 millisecond)
• Throughput — very high
• Resource utilization — medium
Frontend Fast response to user requests with consistent latency:
• Latency — low (<500 millisecond)
• Throughput — medium
• Resource utilization — low-medium
Batch-processing Maximize resources with high throughput:
• Latency — high (>1 minute)
• Throughput — high
• Resource utilization — high to very high
Specialized Fairly consistent latency:
• Latency — low (<500 milliseconds)
• Throughput — medium
• Resource utilization — low-high
Databases Fast response and consistent latency:
• Latency — very low (<5 milliseconds)
• Throughput — very high
• Resource utilization — low-medium
Services levels
Tier Components and services
Distributed Cache • Distributed Cache
• Request Management
• Web Application
Frontend • Access Services
• Data Connectivity
• Central Administration
• Managed Metadata
• Web Application
• Secure Store Service
• State
• Subscription Settings
• User Code
• User Profile
• Visio Graphics
Batch-processing • Crawl Target
• Machine Translation
• Web Application
• PowerPoint Conversion
• User Profile Sync
• Word Automation
• Work Management
• Workflow timer service
Specialized • Excel Calculation
• PerformancePoint
• Project
• Web Application
• Search
From Classical to Streamlined
Microsofts Farmbuild
Scaling single and small
< 100 Users
< 1'000 Users
Scaling middle
< 10'000 Users
Scaling big
> 10'000 Users
Sql serverSQL Server is the Engine of SharePoint
First things first
• SQL Server is the Heart of SharePoint, don’t forget!
• 8 Cores and 16GB RAM min.
• Be aware of Disk I/O, you mostly find there the Bottleneck
• Access Services generally go into a 2nd Instance, we will not follow this guideline in the following Demo because of time
New High Availlability Model
• AlwaysOn as new High Availability Model for SharePoint 2013
• Based on availability groups
• Main benefit: • Be able to have one big muscled SQL Server to failover to n availability groups with lower cost
Hardware
• Delegate heavy read databases to be used from secondary replica
Reference: http://technet.microsoft.com/en-us/library/jj715261.aspx
Example for SharePoint 2013
Create Accounts we will need
Account Description
Sp-Setup Account to Set Up SharePoint (Needs Local Admin on SharePoint server
and Sysadmin in SQL Server)
Sp-CacheAdmin For Publishing sites, to admin the Cache
Sp-CacheReader For Publishing sites, to read from Cache
Sp-Farm To run SharePoint Farm
Sp-My To run My Site Portal
Sp-Portal To run Intranet Portal
Sp-Services To run Service Applications
Sp-Sql To run SQL Server
Sp-upi To do User Profile Import (Replicate Directory Changes)
Sp-Access To run Access Services
Sp-Workflow To run Workflow Manager
Feature Selection
Für AccessFor Access
Services 2013
Standard
Path
Service Account
Domain
Account
Attention!
Collation
Collation Selection
Customize Collation
Latin1_General_CI_AS_KS_WS
Is the closest to an
NTFS Filesystem
Authentication Mode
Domain
Group
Be aware
of Tabs!
For Access
Services only
Data Directories
Separate
Data, Log
and TempDB
This is what you want to see
Post Configuration
• Min / Max Memory (be aware of other Instances and give 3GB to OS)
• Fill Factor 70%
• Backup Compression
• Max Degree of Parallelism to 1 (std.)
• Local Sec. Pol «Perform Volume Maintenance Tasks» and «Lock Pages in Memory»
Fill Factor / Backup Compression
Min / Max Memory
For Access Services
• Enable Contained Databases = True
• Allow Triggers to Fire Others = True (std.)
• Default Language = English (std.)
• TCP/IP Protocol = Enabled (std.)
• Named Pipes Protocol= Enabled
• Windows Firewall Inbound Ports TCP 1433, TCP 1434, and UDP 1434
Mixed Mode
Contained Databases
Named Pipes
Firewall Settings Inbound Rules
Sharepoint 2013The basic Installation of SharePoint 2013 with Powershell
First thins first
• The Frontends are more RAM intense thant in SharePoint 2010
• 4-8 CPU Cores and min. 12 GB RAM
• For Standallone SharePoint 24 GB RAM
• Streched Farmen are supportet agein, but only rarely make sense
• Be aware of SharePoint roles (Toppology) expecially with Search and Distributed Cache
First thins first
• Still the following Versions• SharePoint Foundation
• SharePoint Server Standard
• SharePoint Server Enterprise
• No more Fast for SharePoint, no more SharePoint for Internet, it’s in the Product
• Allways install in English and then use Language Packs!!!
Step 1 – Prerequisites
Step 1 - Prerequisites done
Step 2 – SharePoint bits
Key
Alwayse «Complete»
Don’t touch File Location
Install Updates
• Public Updates:• Required to install
• Always to be installed
• Cumulative Updates:• Free to choose
• Only install if needed
Step 2 – SharePoint bits done
Deselect!!
Step 3 – Farm initial
Start
Powershell ISE
ISE has many advantages
Write
Scripts
Input
directly
List of
Commands
Preparation - Variables
# Application Pool for Services and Access
$SaAppPoolName = "SharePoint Web Services Default"
$AppPoolUser = "demo\sp-services"
$AccessAppPoolName = "Access Services App Pool"
$AccessAppPoolUser = "demo\sp-access"
# SQL Alias
$SQLAliasName = "SharePointDB_Prod"
$SQLServerName = "SQL1\SHAREPOINT"
#Include Instance Name
$x86 = "HKLM:\Software\Microsoft\MSSQLServer\Client\ConnectTo"
$x64 = "HKLM:\Software\Wow6432Node\Microsoft\MSSQLServer\Client\ConnectTo"
$ConfigPassphrase = "MySharePointIs2013"
# Giving the Names for Databases
$dbConfig = "TBD_DEMO_SharePoint_Config"
$dbCentralAdmin = "TBD_DEMO_SharePoint_CentralAdmin"
# Central Admin Port and Authentication Method
$CaPort = 11111
$CaAuthProvider = "NTLM"
Preparation - System
# Check if Registry Key Paths for SQL-Alias already exist, create them if not
if ((test-path -path $x86) -ne $True) {
write-host "$x86 doesn't exist"
New-Item $x86
}
if ((test-path -path $x64) -ne $True) {
write-host "$x64 doesn't exist"
New-Item $x64
}
# Creating String to add TCP/IP Alias
$TCPAlias = ("DBMSSOCN," + $SQLServerName)
#Creating our TCP/IP Aliases
New-ItemProperty -Path $x86 -Name $SQLAliasName -PropertyType String -Value $TCPAlias
New-ItemProperty -Path $x64 -Name $SQLAliasName -PropertyType String -Value $TCPAlias
# Open cliconfig to verify the aliases
Start-Process C:\Windows\System32\cliconfg.exe
Start-Process C:\Windows\SysWOW64\cliconfg.exe
# Farm Passphrase
$s_configPassphrase = (ConvertTo-SecureString -String $ConfigPassphrase -AsPlainText -force)
Check if Alias was created
Alias is a must, you will get in
trouble, if you want to change
SQL Server and have no Alias
Simulate Config Wizzard# Make SharePoint PowerShell Availlable
Add-PSSnapin Microsoft.SharePoint.PowerShell
# Creating SharePoint Configuration Database
Write-Output "Creating the configuration database $dbConfig"
Write-Host "Bitte Farm Credentials eingeben" -ForegroundColor Green
$farmAccount = Get-Credential
New-SPConfigurationDatabase -DatabaseName $dbConfig -DatabaseServer $SQLAliasName -
AdministrationContentDatabaseName $dbCentralAdmin -Passphrase $s_configPassphrase -FarmCredentials
$farmAccount
# Check to make sure the farm exists and is running. if not, end the script
$Farm = Get-SPFarm
if (!$Farm -or $Farm.Status -ne "Online") {
Write-Output "Farm was not created or is not running"
exit
}
Write-Output "Create the Central Administration site on port $CaPort"
New-SPCentralAdministration -Port $CaPort -WindowsAuthProvider $CaAuthProvider
# Perform the config wizard tasks
Write-Output "Install Help Collections"
Install-SPHelpCollection -All
Write-Output "Initialize security"
Initialize-SPResourceSecurity
Write-Output "Install services"
Install-SPService
Write-Output "Register features"
Install-SPFeature -AllExistingFeatures
Write-Output "Install Application Content"
Install-SPApplicationContent
Write-Host "Farm build complete." -ForegroundColor Green
Managed Account and App Pool
# Add managed accounts
Write-Host "Creating managed accounts ... "
Write-Host "Bitte Services Account Credentials eingeben" -ForegroundColor Green
$servicesAccount = Get-Credential
New-SPManagedAccount -credential $servicesAccount
Write-Host "Bitte Access Services Account Credentials eingeben" -ForegroundColor Green
$AccessservicesAccount = Get-Credential
New-SPManagedAccount -credential $AccessservicesAccount
Write-Host "Bitte Portal Account Credentials eingeben" -ForegroundColor Green
$portalAccount = Get-Credential
New-SPManagedAccount -credential $portalAccount
Write-Host "Bitte MySite Account Credentials eingeben" -ForegroundColor Green
$MySiteAccount = Get-Credential
New-SPManagedAccount -credential $MySiteAccount
# Creating App Pool for Service Applications
New-SPServiceApplicationPool -Name $SaAppPoolName -Account (Get-SPManagedAccount –Identity $AppPoolUser)
New-SPServiceApplicationPool -Name $AccessAppPoolName -Account (Get-SPManagedAccount –Identity $AccessAppPoolUser)
Step 3 – Farm Initial done
Step 4.1 – Usage and Health
# Usage and Health Data Collection
# Parameters
$UsageSAName = "Usage and Health Data Collection"
$dbUsageService = "TBD_DEMO_Usage_and_Health_Data"
$UsageLogLocation = "C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\LOGS"
$MaxUsageLogSpace = 5 #in GB
# Create Service Application
Write-Host "Creating Usage and Health Data Collection..."
Set-SPUsageService -LoggingEnabled 1 -UsageLogLocation $UsageLogLocation -UsageLogMaxSpaceGB$MaxUsageLogSpace
$UsageService = Get-SPUsageService
New-SPUsageApplication -Name $UsageSAName -DatabaseServer $SQLAliasName -DatabaseName $dbUsageService -UsageService $UsageService
# As Proxy ist stopped after this, provision in
$UsageSAProxy = Get-SPServiceApplicationProxy | where-object {$_.TypeName -eq “Usage and Health Data Collection Proxy”}
$UsageSAProxy.Provision()
Step 4.2 – State Service
# State Service
# Parameters
$StateSAName = "State Service"
$dbStateService = "TBD_DEMO_State"
# Create Service
Write-Host "Creating State Service..."
New-SPStateServiceDatabase -Name $dbStateService
$StateSAPipe = New-SPStateServiceApplication -Name $StateSAName-Database $dbStateService
New-SPStateServiceApplicationProxy -Name "$StateSAName Proxy" -ServiceApplication $StateSAPipe -DefaultProxyGroup
Step 4.3 – a: Managed Metadata
# Managed Metadata Service Application
# Parameters
$ManagedMetadataSAName = "Managed Metadata Service"
$dbManagedMetadata = "TBD_DEMO_Managed_Metadata"
# Create Service Application
Write-Host "Creating Managed Metadata Service..."
New-SPMetadataServiceApplication -Name $ManagedMetadataSAName –ApplicationPool $SaAppPoolName -DatabaseServer $SQLAliasName -DatabaseName $dbManagedMetadata
New-SPMetadataServiceApplicationProxy -Name "$ManagedMetadataSANameProxy" -ServiceApplication $ManagedMetadataSAName -DefaultProxyGroup
Get-SPServiceInstance | where-object {$_.TypeName -eq "Managed MetadataWeb Service"} | Start-SPServiceInstance
b: Options for MMS Proxy
c: MMS Proxy Settings
# Get Metadata service application proxy
$MMSProxy = Get-SPServiceApplicationProxy | Where-Object {$_.TypeName -eq "ManagedMetadata Service Connection"}
# This service application is the default storage location for Keywords.
$MMSProxy.Properties["IsDefaultKeywordTaxonomy"] = $true
# This service application is the default storage location for column specific term sets.
$MMSProxy.Properties["IsDefaultSiteCollectionTaxonomy"] = $true
# Consumes content types from the Content Type Gallery
$MMSProxy.Properties["IsNPContentTypeSyndicationEnabled"] = $false
# Push-down Content Type Publishing updates from the Content Type Gallery to sub-sites and lists using the content type.
$MMSProxy.Properties["IsContentTypePushdownEnabled"] = $true
$MMSProxy.Update()
Step 4.4 – a: Search Parameters
# Search Service Application and Topology
# Parameters
$SearchMachine = "WFE1"
$SearchSAName = "Search Service"
$dbSearchDatabase = "TBD_DEMO_Search"
$IndexLocation = "C:\SPIndex"
if (!(Test-Path -path $Indexlocation)) {New-Item $Indexlocation -Type
Directory}
b: Create Search SA
# Create Service Application
Write-Host "Creating Search Service Application…"
Write-Host "Starting Service…"
Start-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance $SearchMachine
Start-SPEnterpriseSearchServiceInstance $SearchMachine
Write-Host "Creating Search Service Application…"
$SearchSA = New-SPEnterpriseSearchServiceApplication -Name $SearchSAName -ApplicationPool $SaAppPoolName -DatabaseServer $SQLAliasName
-DatabaseName $dbSearchDatabase
$SearchInstance = Get-SPEnterpriseSearchServiceInstance -Local
Write-Host "Defining the Search Topology…"
$InitialSearchTopology = $SearchSA | Get-SPEnterpriseSearchTopology -Active
$NewSearchTopology = $SearchSA | New-SPEnterpriseSearchTopology
Write-Host "Creating Admin Component…"
New-SPEnterpriseSearchAdminComponent -SearchTopology $NewSearchTopology -SearchServiceInstance $SearchInstance
Write-Host "Creating Analytics Component…"
New-SPEnterpriseSearchAnalyticsProcessingComponent -SearchTopology $NewSearchTopology -SearchServiceInstance $SearchInstance
Write-Host "Creating Content Processing Component…"
New-SPEnterpriseSearchContentProcessingComponent -SearchTopology $NewSearchTopology -SearchServiceInstance $SearchInstance
Write-Host "Creating Query Processing Component…"
New-SPEnterpriseSearchQueryProcessingComponent -SearchTopology $NewSearchTopology -SearchServiceInstance $SearchInstance
Write-Host "Creating Crawl Component…"
New-SPEnterpriseSearchCrawlComponent -SearchTopology $NewSearchTopology -SearchServiceInstance $SearchInstance
Write-Host "Creating Index Component…"
New-SPEnterpriseSearchIndexComponent -SearchTopology $NewSearchTopology -SearchServiceInstance $SearchInstance -RootDirectory
$IndexLocation
Write-Host "Activating the new topology…"
$NewSearchTopology.Activate()
Write-Host "Creating Search Application Proxy…"
New-SPEnterpriseSearchServiceApplicationProxy -Name "$SearchSAName Proxy" -SearchApplication $SearchSA
c: Simple Search Topology
82
Step 4.5 – Word Automation SA
# Word Conversion Service Application
$WordSAName = "Word Automation Service"
$dbWordAutomation = "TBD_DEMO_WordAutomation"
# Create Service Application
Write-Host "Creating Word Automation Service..."
New-SPWordConversionServiceApplication -Name $WordSAName -
ApplicationPool $SaAppPoolName -DatabaseName $dbWordAutomation -
DatabaseServer $SQLAliasName –Default
Get-SPServiceInstance | where-object {$_.TypeName -eq "Word
Automation Services"} | Start-SPServiceInstance
Step 4.6 – Business Connectivity
# Business Conectivity Services Service Application
$BcsSAName = "Business Connectivity Service"
$dbBcs = "TBD_DEMO_BusinessConnectivity"
# Create Service Application
Write-Host "Creating Business Connectivity Service..."
New-SPBusinessDataCatalogServiceApplication –ApplicationPool
$SaAppPoolName –DatabaseName $dbBcs –DatabaseServer
$SQLAliasName –Name $BcsSAName
Get-SPServiceInstance | where-object {$_.TypeName -eq "Business
Data Connectivity Service"} | Start-SPServiceInstance
Step 4.7 – Secure Store
# Secure store Service Application
$SecureStoreSAName = "Secure Store Service"
$dbSecureStore = "TBD_DEMO_Secure_Store"
# Create Service Application
Write-Host "Creating Secure Store Service..."
$SecureStoreSAPipe = New-SPSecureStoreServiceApplication –
ApplicationPool $SaAppPoolName –AuditingEnabled:$false –DatabaseServer
$SQLAliasName –DatabaseName $dbSecureStore –Name $SecureStoreSAName
New-SPSecureStoreServiceApplicationProxy –Name "$SecureStoreSAName
Proxy" –ServiceApplication $SecureStoreSAPipe -DefaultProxyGroup
Get-SPServiceInstance | where-object {$_.TypeName -eq "Secure Store
Service"} | Start-SPServiceInstance
Step 4.8 – Performance Point
# Performance Point Service Application
$PerformancePointSAName = "Performance Point Services"
$dbPerformancePoint = "TBD_DEMO_PerformancePoint"
# Create Service Application
Write-Host "Creating PerformancePoint Service..."
$PerformancePointSAPipe = New-SPPerformancePointServiceApplication -Name $PerformancePointSAName -ApplicationPool $SaAppPoolName -DatabaseName $dbPerformancePoint
New-SPPerformancePointServiceApplicationProxy -Name "$PerformancePointSAName Proxy" -ServiceApplication$PerformancePointSAPipe –Default
Get-SPServiceInstance | where-object {$_.TypeName -eq "PerformancePointService"} | Start-SPServiceInstance
Step 4.9 – Visio Services
# Visio Service Application
$VisioSAName = "Visio Services"
# Create Service Application
Write-Host "Creating Visio Service..."
New-SPVisioServiceApplication -Name $VisioSAName -
ApplicationPool $SaAppPoolName
New-SPVisioServiceApplicationProxy -Name "$VisioSAName Proxy" -
ServiceApplication $VisioSAName
Get-SPServiceInstance | where-object {$_.TypeName -eq "Visio
Graphics Service"} | Start-SPServiceInstance
Step 4.10 – User Profile SA
# User Profile Service Application
$UserProfileSAName = "User Profile Service"
$dbUserProfile = "TBD_DEMO_UserProfile_Profiles"
$dbUserSocial ="TBD_DEMO_UserProfile_Social"
$dbUserSync ="TBD_DEMO_UserProfile_Sync"
# Create Service Application
Write-Host "Creating User Profile Service..."
$UserProfileSAPipe = New-SPProfileServiceApplication -Name $UserProfileSAName -ApplicationPool $SaAppPoolName -ProfileDBServer $SQLAliasName -ProfileDBName$dbUserProfile -SocialDBServer $SQLAliasName -SocialDBName $dbUserSocial -ProfileSyncDBServer $SQLAliasName -ProfileSyncDBName $dbUserSync
New-SPProfileServiceApplicationProxy -Name "$UserProfileSAName Proxy" -ServiceApplication $UserProfileSAPipe -DefaultProxyGroup
Get-SPServiceInstance | where-object {$_.TypeName -eq "User Profile Service"} |Start-SPServiceInstance
Step 4.11 – App Management
# App management Service Application
$AppManagementSAName = "App Management Service"
$dbAppManagement = "TBD_DEMO_App_Management"
# Create Service Application
Write-Host "Creating App Management Service…"
$AppManagementSAPipe = New-SPAppManagementServiceApplication -Name
$AppManagementSAName -DatabaseServer $SQLAliasName -DatabaseName
$dbAppManagement –ApplicationPool $SaAppPoolName
New-SPAppManagementServiceApplicationProxy -Name "$AppManagementSAName
Proxy" -ServiceApplication $AppManagementSAPipe
Get-SPServiceInstance | where-object {$_.TypeName -eq "App Management
Service"} | Start-SPServiceInstance
Step 4.12 – Translation Service
# Machine Translation Service Application
$TranslationSAName = "Machine Translation Service"
$dbTranslation = "TBD_DEMO_Machine_Translation"
# Create Service Application
Write-Host "Creating Machine Translation Service..."
New-SPTranslationServiceApplication -Name $TranslationSAName -
ApplicationPool $SaAppPoolName -DatabaseName $dbTranslation -
Default
Get-SPServiceInstance | where-object {$_.TypeName –eq "Machine
Translation Service"} | Start-SPServiceInstance
Step 4.13 – Work Management
# Work Management Service Application
$WorkMgmtSAName = "Work Management Service"
# Create Service Application
Write-Host "Creating Work Management Service..."
$WorkManagementSAPipe = New-SPWorkManagementServiceApplication –
Name $WorkMgmtSAName –ApplicationPool $SaAppPoolName
New-SPWorkManagementServiceApplicationProxy -name
"$WorkMgmtSAName Proxy" -ServiceApplication
$WorkManagementSAPipe -DefaultProxyGroup
Get-SPServiceInstance | where-object {$_.TypeName –eq "Work
Management Service"} | Start-SPServiceInstance
4.13.1 – Give rights to AppPool
Give the Services App Pool
Account full Rights to User
Profile Service Application
Step 4.14 – Excel Services
# Excel Services
$ExcelSAName = "Excel Services"
# Create Service Application
Write-Host "Creating Excel Service..."
New-SPExcelServiceApplication -Name $ExcelSAName -
ApplicationPool $SaAppPoolName -Default
Get-SPServiceInstance | where-object {$_.TypeName –eq "Excel
Calculation Services"} | Start-SPServiceInstance
Step 4.15 – Subscription Settings
• Subscription Settings Service is for Multi Tenancy Scenarios
• Also needed for Access Services 2013
# Subscription Settings Service Application
$SubscriptionSAName = "Subscription Settings Service"
$dbSubscription = "TBD_DEMO_Subscription_Settings"
# Create Service Application
Write-Host "Creating Subscription Settings Service…"
$SubscriptionSAPipe = New-SPSubscriptionSettingsServiceApplication –ApplicationPool$SaAppPoolName –Name $SubscriptionSAName –DatabaseName $dbSubscription
New-SPSubscriptionSettingsServiceApplicationProxy –ServiceApplication $SubscriptionSAPipe
Get-SPServiceInstance | where-object {$_.TypeName -eq "Microsoft SharePoint FoundationSubscription Settings Service"} | Start-SPServiceInstance
Step 4.16 – a: Access Services
• Will only work after App Configuration (follows next)
• Concider using an Extra App Pool (special configuration)
# Access Services
$AccessSAName = "Access Services"
# Create Service Application
Write-Host "Creating Access Service…"
New-SPAccessServicesApplication -Name $AccessSAName -ApplicationPool $AccessAppPoolName -Default
Get-SPServiceInstance | where-object {$_.TypeName -eq "Access Services"} | Start-SPServiceInstance
White Paper: http://www.microsoft.com/en-us/download/details.aspx?id=30445
b: SQL Feature Pack
• Microsoft SQL Server 2012 Local DB (SQLLocalDB.msi)
• Microsoft SQL Server 2012 Data-Tier Application Framework (DACFramework.msi)
• Microsoft SQL Server 2012 Native Client (sqlncli.msi)
• Microsoft SQL Server 2012 Transact-SQL ScriptDom (sqldom.msi)
• Microsoft System CLR Types for Microsoft SQL Server 2012 (SQLSysClrTypes.msi)
Feature Pack: http://www.microsoft.com/en-us/download/details.aspx?id=29065
c: App Pool Config
1. Advanced Settings 2. Load User Profile > True
3. Restart Server
d: Secure StoreGo to Secure
Store Service
and generate
a new Key
Enter any
secure
String
e: Target DB Server
Navigate to Access
Services Service App,
expand «New
Application
Database»
In Our Case we use
std. SQL Server,
normally use
dedicated
f: Setting SQL Rights for App Pool
• Give demo\sp-access following Rights:• Configuration Database: DBO
• Content Databases: DBO
• App Management Database: SPDataAccess
g: Office Deployments
• If you have Office deployed in different Languages, you must deploy all theseLanguages as SharePoint Language Pack
• User will get an error if not
Step 4.17 – Other Services
• Claims to windows Token: If you have Scenarios with external Data Access
• Document Conversion: If you want to convert Documents to HTML
• Lotus Notes Connector: Self explaining
• Sandboxed Code: To run Sandboxed Solutions (recomended)
• PowerPoint Conversion: If you want to implement ppt > pptx Conversion
• Request Management: If you want to load balance SharePoint 2013
• User Profile Synchronization: If you are using FIM to synchronise User Profiles
Step 4.18 – Create WebApps
• Create an Intranet Portal with the Team Site Template
• Create a My Site Portal with the My Site Host Template
Step 4.19 – Configure My Site
• Go to User Profile Service Application
• Click to «Steup My Sites»
• Add http://my.demo.local to My Site Host
• Hit OK
• Go to Webapplications, on My Site Web App configure Self Service to yes
• Add Managed Path «Personal»
Step 4.20 – Import Users from AD
• There are two Methods to do this:• Forefront Identity Manager (like in 2010)
• AD Direct Import
• Depends on your Scenario
• Done in User Profile Service Application
• Import Account needs «Replicate Directory Changes» Right on AD
Step 4.21 – Cache Users
$wa = Get-SPWebApplication -Identity
"http://intranet.demo.local"
$wa.Properties["portalsuperuseraccount"] = "i:0#.w|demo\sp-
cacheadmin"
$wa.Properties["portalsuperreaderaccount"] = "i:0#.w|demo\sp-
cachereader"
$wa.Update()
Step 5 – SharePoint Apps
• Apps is the new Model for Development in SharePoint 2013
• Access Services is used like Apps
• An App can be• SharePoint hosted
• Auto hosted
• Provider hosted
• We need to configure it specially
Preparing for Apps
• We need to configure a new Domain Name
• Nothign to do with Active Directory!!
• We call it Appdomain
• In our case demoapps.local
• Done in DNS Manager
• Used to forward to SharePoint
Add new Zone
Next
Next
Next
Enter Domain Name
Next
Finish
Add New Host to Appdomain
Right click
and select
«New Host»
Point * to Frontend or NLBThis will point
all Apps to
SharePoint
Create Server Webapplication
• Needed for Host Header Web Apps and Host named Site Collections
• No Host Header
• Inf not created, redirect to App will not take place
• Be aware of DB Name and App Pool Account
Create Top Level SC
• Make sure you have selected the Frontend Web App
• Don’t forgett to set Primary SC Admin
«Standard Website» offMake sure,
Default Web
Site is stopped
Configure App Urls
Create App Catalog
• App Catalog is managed per Web Application
• Create a App Catalog under each Web Application you have in your Company
• It’s a normal Site Collection
New App Catalog Dialog
The WebappsInstallation and Integration of Office WebApps in SharePoint 2013
First things first
• Web Apps are no longer a Service Application
• Web Apps are a standallone Server and cannot be installed on SharePoint WFE
• Web Apps can be used from Fileshares, Outlook Web Access and so on
• Licensing is still a user based License (Office Package)
Step 1 – Preparation
# Add needed Roles to Server
Import-Module ServerManager
Add-WindowsFeature Web-Server,Web-Mgmt-Tools,Web-Mgmt-
Console,Web-WebServer,Web-Common-Http,Web-Default-Doc,Web-
Static-Content,Web-Performance,Web-Stat-Compression,Web-Dyn-
Compression,Web-Security,Web-Filtering,Web-Windows-Auth,Web-App-
Dev,Web-Net-Ext45,Web-Asp-Net45,Web-ISAPI-Ext,Web-ISAPI-
Filter,Web-Includes,InkandHandwritingServices
• Server need Restart after this
Step 2 – Installation
Install Now
Wait for Install to finish
Close
Apply Update KB2810007
Update Link: http://www.microsoft.com/en-us/download/details.aspx?id=38378
Wait for Update to finish
Update done
Create Web Apps Farm
# Create Office Web Apps Farm (Single Farm)
New-OfficeWebAppsFarm –InternalURL "http://WebApps.demo.local" –
AllowHttp -EditingEnabled
• Check if Discovery Service answers (with an XML) http://webapps.demo.local/hosting/discovery
Bind Web Apps to SharePoint
• Run on SharePoint Server!
# Create new WOPI Binding for SharePoint to Web Apps Server
New-SPWOPIBinding -ServerName webapps -AllowHTTP
Get-SPWOPIZone
Set-SPWOPIZone –zone "internal-http"
Get-SPWOPIZone
(Get-SPSecurityTokenServiceConfig).AllowOAuthOverHttp
$config = (Get-SPSecurityTokenServiceConfig)
$config.AllowOAuthOverHttp = $true
$config.Update()
(Get-SPSecurityTokenServiceConfig).AllowOAuthOverHttp
Workflows 2013Integration of Workflow Manager in SharePoint 2013
First things first
• Workflows changed in SharePoint 2013
• Needs it’s own Installation (Workflow Manager)
• Can run on SharePoint Frontend or Standallone Server
Launch Workflow Manager
Install
Accept Terms
Use Ms Updates
Wait for Install
Continue
Configuration Wizzard
Add DB Server, User, Passphrase
Wait for Config to finish
Config ready to install
Wait for Install
Workflow Farm created
Finish
Exit
Add WF Manager to SharePoint
# Register Workflow Service
Register-SPWorkflowService –SPSite "http://intranet.demo.local"
–WorkflowHostUri "http://wfe1.demo.local:12291" –AllowOAuthHttp
Ports for Workflows
• 12290 – Management Port
• 9355 – Secure Deployment
• 12291 – Unsecured Management Port
• 9354 – TCP Deployment
• 9356 – Message Broker
• 9000-9003 – Internal Communication
Now you can use 2013 WF
Performance TestingUsing Visual Studio and SQLIO to do Performance Testing
SQLIO
Parameter Description
Sqlio Program Call
-kR / -kW Measure Read oder Write Performance
-t32 No. of Threads
-s60 Duration in Seconds
-dF What drive is tested (Driveletter)
-o64 No. of outstanding Requests
-frandom Random Operations (Sequential ismostly not used)
-b64 Blocksize in bytes
Download: http://www.microsoft.com/en-us/download/details.aspx?id=20163
SQLIO Test Batch
sqlio -kW -t16 -s60 -dF -o4 -frandom -b64 -BH -LS Testfile.datsqlio -kW -t16 -s60 -dF -o8 -frandom -b64 -BH -LS Testfile.datsqlio -kW -t16 -s60 -dF -o16 -frandom -b64 -BH -LS Testfile.datsqlio -kW -t16 -s60 -dF -o32 -frandom -b64 -BH -LS Testfile.datsqlio -kW -t16 -s60 -dF -o64 -frandom -b64 -BH -LS Testfile.dat
sqlio -kR -t16 -s60 -dF -o4 -frandom -b64 -BH -LS Testfile.datsqlio -kR -t16 -s60 -dF -o8 -frandom -b64 -BH -LS Testfile.datsqlio -kR -t16 -s60 -dF -o16 -frandom -b64 -BH -LS Testfile.datsqlio -kR -t16 -s60 -dF -o32 -frandom -b64 -BH -LS Testfile.datsqlio -kR -t16 -s60 -dF -o64 -frandom -b64 -BH -LS Testfile.dat
sqlio -kW -t32 -s60 -dF -o4 -frandom -b64 -BH -LS Testfile.datsqlio -kW -t32 -s60 -dF -o8 -frandom -b64 -BH -LS Testfile.datsqlio -kW -t32 -s60 -dF -o16 -frandom -b64 -BH -LS Testfile.datsqlio -kW -t32 -s60 -dF -o32 -frandom -b64 -BH -LS Testfile.datsqlio -kW -t32 -s60 -dF -o64 -frandom -b64 -BH -LS Testfile.dat
sqlio -kR -t32 -s60 -dF -o4 -frandom -b64 -BH -LS Testfile.datsqlio -kR -t32 -s60 -dF -o8 -frandom -b64 -BH -LS Testfile.datsqlio -kR -t32 -s60 -dF -o16 -frandom -b64 -BH -LS Testfile.datsqlio -kR -t32 -s60 -dF -o32 -frandom -b64 -BH -LS Testfile.datsqlio -kR -t32 -s60 -dF -o64 -frandom -b64 -BH -LS Testfile.dat
sqlio -kW -t64 -s60 -dF -o4 -frandom -b64 -BH -LS Testfile.datsqlio -kW -t64 -s60 -dF -o8 -frandom -b64 -BH -LS Testfile.datsqlio -kW -t64 -s60 -dF -o16 -frandom -b64 -BH -LS Testfile.datsqlio -kW -t64 -s60 -dF -o32 -frandom -b64 -BH -LS Testfile.datsqlio -kW -t64 -s60 -dF -o64 -frandom -b64 -BH -LS Testfile.dat
sqlio -kR -t64 -s60 -dF -o4 -frandom -b64 -BH -LS Testfile.datsqlio -kR -t64 -s60 -dF -o8 -frandom -b64 -BH -LS Testfile.datsqlio -kR -t64 -s60 -dF -o16 -frandom -b64 -BH -LS Testfile.datsqlio -kR -t64 -s60 -dF -o32 -frandom -b64 -BH -LS Testfile.datsqlio -kR -t64 -s60 -dF -o64 -frandom -b64 -BH -LS Testfile.dat
Visual Studio Ultimate
Questions & Answers
….noch Fragen?!
Kontakt:
http://sharepointszu.com/category/die-serie-best-practice/