Jetzt upgraden – Collaboration Manager 365 v1 abgekündigt zum 31.12.2016
Seit einigen Monaten ist die Version 2 unserer beliebten Selfservice Site Provisioning Lösung verfügbar. Durch die Version 2 ergeben sich zum einen die folgenden Neuerungen
Seit einigen Monaten ist die Version 2 unserer beliebten Selfservice Site Provisioning Lösung verfügbar. Durch die Version 2 ergeben sich zum einen die folgenden Neuerungen
Microsoft hat mit SharePoint 2013 das neue App Modell bzw., Add-In Modell eingeführt (Mit SharePoint 2013 heißt es App Modell, ab 2016 ist alles ein Add-In). Es ist ja kein Geheimnis, dass es in SharePoint immer Anpassungen gibt. Es gibt viele Anbieter auf dem Markt, die ihre Lösungen dafür anbieten. Das App Modell bietet eine neue API für Softwareentwickler. Aber was für eine API gab es davor?
Warum die neue API und was bietet Sie für Vorteile? Was ändert sich für Softwareentwickler, was für Administratoren und welche Schritte sind notwendig, um die Voraussetzungen zu erfüllen? Diese Fragen werde ich in diesem Artikel beantworten.
Es gibt zwei unterschiedliche Add-In Modelle:
Das folgende Bild App Patterns zeigt was ist wo unterstützt wird. Weitere Details gibt es auch auf MSDN https://msdn.microsoft.com/en-us/library/office/fp179930.aspx#sectionSection2 : Die größte Änderung der API ist, dass die Applikationen nicht mehr im Kontext von SharePoint laufen, das soll Stabilität und Migrationen erleichtern. Außerdem ist die API Cloud kompatibel.
Bei vielen Apps kann man das auch sehen. Beim Klick auf eine App wird man entsprechend weitergeleitet. Als Beispiel können wir uns hier die Cloud ansehen, achten Sie dabei genau auf die URL: Damit wird deutlich, dass die App tatsächlich nicht im SharePoint läuft, sondern außerhalb und ich lediglich weitergeleitet werde. On-Premises ist die Funktionsweise die Gleiche, jedoch müssen wir die Infrastruktur erst noch vorbereiten, das zeige ich in den nächsten Schritten.
Beim Klick auf eine App werden wir ja entsprechend weitergeleitet. Damit dies funktioniert, benötigen wir eine eigene Domain, in der die Apps laufen. Der Prefix wird dabei dynamisch generiert, d.h. wir werden hier auch mit einer Wildcard arbeiten. Microsoft empfiehlt dringend eine separate Domain zu verwenden, um das Risiko von Cross-Site-Scripting Angriffe zu minimieren. Beispiel:
Auf dem DNS Server muss die neue Domain als eigene Zone eingerichtet werden, z.B. Name der Zone = Name der Domain “contosoapps.com” In dieser Zone erstellen wir einen CNAME Record “*” mit dem Ziel des SharePoint Servers, hier SP-WFE01.contoso.com (Achtung in Verbindung mit Kerberos, der mag CNAME nicht).
Damit wir später auch eine verschlüsselte Verbindung zwischen der App und SharePoint aufbauen können, benötigen wir für die Apps ein Wildcard SSL-Zertifikat. Ein Wildcard SSL-Zertifikat kann man ausstellen, indem man als CN (Common Name) *.contosoapp.com angibt, der * wird als Wildcard verwendet. Idealerweise ist der Zugriff zu SharePoint auch per SSL gesichert, damit vermeidet man auch SSL Bridging Warnungen vom Browser.
In SharePoint 2013 muss man das noch manuell starten, 2016 erledigt das automatisch. In der Central Admin – “Manage Services on Server” oder per PowerShell müssen die folgenden Instanzen gestartet werden:
001
|
Get-SPServiceInstance | where{$_.GetType().Name -eq “AppManagementServiceInstance” -or $_.GetType().Name -eq “SPSubscriptionSettingsServiceInstance”} | Start-SPServiceInstance
|
Anschließend sollte der Status auf “Started” stehen:
Als nächstes erstellen wir die Dienstanwendungen, damit diese in der Farm angeboten werden können, auch das geht per Central Admin – “Manage Service Applications” oder per Powershell:
001
002 003 004 |
$account = Get-SPManagedAccount FarmAccount
$appPoolAppSvc = New-SPServiceApplicationPool -Name AppServiceAppPool -Account $account $appAppSvc = New-SPAppManagementServiceApplication -ApplicationPool $appPoolAppSvc -Name AppServiceApp -DatabaseName P_SP_AppMngmt $proxyAppSvc = New-SPAppManagementServiceApplicationProxy -ServiceApplication $appAppSvc |
001
002 003 |
$AppPool = New-SPServiceApplicationPool -Name SettingsServiceAppPool -Account $account
$App = New-SPSubscriptionSettingsServiceApplication -ApplicationPool $appPool -Name SettingsServiceApp -DatabaseName SettingsServiceDB $proxy = New-SPSubscriptionSettingsServiceApplicationProxy -ServiceApplication $App |
Ein vorbereitetes PowerShell Skript finden Sie hier. Es startet die Service Instanzen, legt die Service Applications an und konfiguriert die App Domain. Einfach in Zeile #23 den Namen des Service Accounts anpassen (Den muss es bereits vorher geben). http://download.hobmaier.net/Downloads/Install-AppMngmt.ps1 Bzw. hier:
001
002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 032 033 034 035 036 037 038 039 040 041 042 043 044 045 046 047 048 |
<#
===================================== This PowerShell Script help you setting up App Management Service in SharePoint. It will start the service instances and create Serivce Applications. |
Version 1.1
25.01.2016
Dennis Hobmaier
——————–
History
1.1, 25.01.2016
More variables to change service accounts and database names
Comments added
1.0, 28.11.2015
Intial Version
=====================================
#>
# Please adjust the account which exist in your environment.
# If you prefer to run into a separate account use the next line New-SPManagedAccount
# New-SPManagedAccount -Credential (Get-Credential)
$SPServiceAccount= ‘CONTOSOsp_apps’ #INPUT required
$SPAppMngmtDBName = ‘T_SP_AppMngmt’
$SPSubscriptionDBName = ‘T_SP_SettingsService’
$SPAppDomain = ‘contosoapps.com’
$SPAppPrefix = ‘app’
#Needs to run on SharePoint Server
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
#Start the service instance on the current server (min 1 per farm)
Get-SPServiceInstance | where{$_.GetType().Name -eq “AppManagementServiceInstance” -or $_.GetType().Name -eq “SPSubscriptionSettingsServiceInstance”} | Start-SPServiceInstance
#You may check all available accounts running Get-SPManagedAccount
$account = Get-SPManagedAccount $SPServiceAccount -ErrorAction Stop
$appPoolAppSvc = New-SPServiceApplicationPool -Name AppServiceAppPool -Account $account
$appAppSvc = New-SPAppManagementServiceApplication -ApplicationPool $appPoolAppSvc -Name AppServiceApp -DatabaseName $SPAppMngmtDBName
$proxyAppSvc = New-SPAppManagementServiceApplicationProxy -ServiceApplication $appAppSvc
$AppPool = New-SPServiceApplicationPool -Name SettingsServiceAppPool -Account $account
$App = New-SPSubscriptionSettingsServiceApplication -ApplicationPool $appPool -Name SettingsServiceApp -DatabaseName $SPSubscriptionDBName
$proxy = New-SPSubscriptionSettingsServiceApplicationProxy -ServiceApplication $App
# Configure App Settings
Set-SPAppDomain $SPAppDomain
Set-SPAppSiteSubscriptionName -Name $SPAppPrefix -Confirm:$false
Anschließend öffnen wir die SharePoint Central Admin
Falls nicht schon per Skript oben ausgeführt:
001
002 |
Set-SPAppDomain “contosoapp.com”
Set-SPAppSiteSubscriptionName -Name “app” -Confirm:$false |
Grundsätzlich befolgen Sie der Anleitung des Herstellers. Wenn Sie dazu aufgefordert werden, deine .app Datei hochzuladen, öffnen Sie den zuvor erstellten App Store – “Apps for SharePoint” und laden dort diese Datei hoch.
Anschließend steht Ihren Benutzern die App zur Verfügung. Als Administrator fügen Sie die App der Ziel Websitesammlung hinzu. Übrigens sollen Sie mindestens Service Pack 1 für SharePoint 2013 verwenden. In dem App Model hat sich zwischen RTM und SP1 einiges getan.
By creating a new partner portal for our partners I wanted to use the new SharePoint Server 2013 as platform.
When I created a new Web Application, I set the host header to “partner.solutions2share.intern”. Before you create your new Web Application, you have to make sure that a DNS record is created and pointed to your SharePoint Server.
My environment is set up with three Windows 2012 Enterprise Editions. One server is configured as the Domain Controller, the other is configured as Database Server with SQL Server 2012 and my Web-Front-End Server with SharePoint 2013.
My problem
After creating my new Web Application and a new SiteCollection with the url “partner.solutions2share.net” I tried to access my new site.
But there is a problem with the login. After three tries to access the site I only got a blank site.
The solution
You have to add a new Multi-String registry key named “BackConnectionHostNames” in SharePoint server at HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsaMSV1_0 and set the host names with values (for example “partner.solutions2share.intern).
Finally navigate to your URL and it will work.
MSDN Reference : http://support.microsoft.com/kb/896861/en-us