Claus Schewe

Claus Schewe
29.07.2012
0 Kommentar(e)

Der folgende Beitrag beschreibt den zweiten Teil meiner kleinen Odyssee, die ich gestern und heute immer wieder von Pausen unterbrochen durchlebt habe. Und zwar wollte ich natürlich als SharePoint-Entwickler auch mal so eine neue SharePoint-App in Aktion erleben und das Ganze am liebsten in einer On-Premise-Umgebung. Kann ja nicht so schwer sein, oder? Immerhin konnte ich die VM schon erfolgreich aufsetzen. Wie wir gleich sehen werden, war das dann aber doch nicht as easy as pie. Insgesamt lagen mir zwei Stolpersteine im Weg. Einer ist ein Zweigespann aus App-Management-Service und Subscription-Settings-Service und der andere ist ein guter alter Bekannter, der Loopback-Check.

Beginnen wir die Geschichte am Anfang des zweiten Abschnitts meiner "Reise". Vom ersten Teil habe ich heute schon geschrieben. Darin ging es darum, wie ich zu meiner Entwickler-VM gekommen bin. Die VM läuft also, Visual Studio 2012 ist installiert und die Projekt-Templates für SharePoint 2013 stehen Gewehr bei Fuß und warten auf ihren Einsatz. Also frisch ans Werk und gleich mal ein neues Projekt vom Typ App for SharePoint 2013 anlegen.



Wichtig, zuerst wollen wir eine SharePoint-Hosted-App ausprobieren. Also im zweiten Dialog für How do you want to host your app for SharePoint? SharePoint-hosted auswählen.


Danach wird, wenn man auf Finish klickt, das Projekt angelegt. Und wenn nicht der komplette Wurm drin ist, dann sollte das auch tatsächlich passieren. Tat es zumindest bei mir. Die erste Überraschung erlebte ich dann, als ich gleich mal auf F5 drückte. Ungefähr so wie Ted Pattsion in Modul 3, Video #3 ungefähr ab Minute 18. So die Theorie, die Praxis sah eher so aus. Ich drücke F5, warte ein bisschen, und "erfreue" mich an einem Failed to install App for SharePoint. Die Antwort auf die Frage "Warum schon wieder ich?!" war übrigens nicht 42 ;-) Ein gewisser Steve hatte die zündende Idee doch mal die Anleitung zu lesen, die uns Microsoft zur Seite gestellt hat. Note to self, RTFM!!! ^^
Es stellt sich heraus, dass die Installation von SharePoint 2013 doch nicht abgeschlossen ist, wenn die CA lädt und die erste Site-Collection erfolgreich angelegt wurde. Da beginnt der Spaß viel mehr erst. Zugegeben, das ist nichts Neues. Also, was muss getan werden. Nun, im Grunde ganz einfach, das Zweigespann aus App-Management-Service und Subscription-Setting-Service muss eingerichtet werden. Ich habe mich dazu zum einen bei Spence Harbar bedient, der in seinem Blogbeitrag Multi Tenancy with SharePoint 2013 Preview: What's new and changed unter Anderem ein Skript bereit stellt um den App-Management-Service einzurichten. Diesen App-Management-Service kann man übrigens auch ohne PowerShell einrichten. ABER, wie es der Teufel so will führt für den Subscription-Settings-Service kein Weg an PowerShell vorbei. Hier hat mir Steve dann wieder ausgeholfen. Danke Steve :-)

Damit haben wir also zum einen das Skript von Spence für die App-Management-Service (nicht vergessen, die fett gedruckten und unterstrichenen Namen an die eigene Umgebung anpassen):

# App Pools
$saAppPoolName = "SharePoint Web Services Default"

# App Management Specifics
$appsInstanceName = "AppManagementServiceInstance"
$appsName = "App Management Service"
$appsDBName = "ContosoFarm_AppManagement"


# Grab the Appplication Pool for Service Application Endpoint
$saAppPool = Get-SPServiceApplicationPool $saAppPoolName

<# Setup the App Management Service Application & Proxy and start the service instance
    no partition mode, aware of Sub IDs.
#>
Write-Host "Creating $appsName Application and Proxy..."
Get-SPServiceInstance | where{$_.GetType().Name -eq $appsInstanceName} | Start-SPServiceInstance
$appAppSvc = New-SPAppManagementServiceApplication -ApplicationPool $saAppPool -Name $appsName -DatabaseName $appsDBName
$proxyAppSvc = New-SPAppManagementServiceApplicationProxy -ServiceApplication $appAppSvc -Name "$appsName Proxy"

Write-Host "App Management Done!"


Und dann noch der Teil von Steve, wobei ich hier den Teil mit dem App-Management-Service weg gelassen habe:

$account = Get-SPManagedAccount "mydomain\myfarmaccount"
$appPoolSubSvc = New-SPServiceApplicationPool -Name SettingsServiceAppPool -Account $account
$appSubSvc = New-SPSubscriptionSettingsServiceApplication –ApplicationPool $appPoolSubSvc –Name SettingsServiceApp –DatabaseName O13Preview_SettingsServiceDB
$proxySubSvc = New-SPSubscriptionSettingsServiceApplicationProxy –ServiceApplication $appSubSvc


Dazu muss man auch noch die App-Domain einrichten mit Set-SPAppDomain und den Site-Subscription-Name mit Set-SPAppSiteSubscriptionName. Aber das hat Steve in seinem Blogpost alles aufgeschrieben ;-)

So, jetzt sollte es aber klappen, oder? Not so fast cowboy! Zuerst noch in der CA unter Application Management->Manage service on server sicherstellen, dass der Service App Management Service auch wirklich gestartet wurde. Ansonsten gibt es nur wieder böses Blut, wenn Visual Studio uns mit einer weiteren Fehlermeldung beglückt. Die könnte dann z.B. so lauten: There are no addresses available for this application. Ich würde sogar sagen, dass das mit ziemlicher Sicherheit der Fall sein dürfte ;-) Wer übrigens den Link in der CA nicht findet sollte den Browser mit Adminrechten starten.




Aber jetzt ist endlich alles gut, oder? Naja...nicht ganz. Aber immerhin fast. Das Deployment sollte jetzt klappen, Visual Studio sollte sich mit dem Debugger an den Internet Explorer hängen und die Site öffnen, die wir als Ziel für unsere Entwicklung ausgewählt haben. Die Seite, die aufgeht, sollte in etwa wie folgt aussehen.



Man beachte bitte die MyFirstSharePointApp ;-) Wer jetzt darauf klickt darf sich erneut freuen, dass der Weg noch nicht zuende ist und immer noch ein Schritt fehlt.



Ich muss mich anmelden? Mit meinem Farm-Admin-Account?! O.O Nun ja, nein. Das Problem ist alt bekannt und begegent uns immer und immer wieder. Der Loopback-Check spuckt uns in die Suppe. Und nicht nur uns, auch andere Leute sind da bereits im SharePoint-2013-Umfeld drüber gestolpert. Ein Lösungsweg findet sich hier. Aber bitte daran denken, pauschal den Loobback Check auszuschalten ist nicht die richtige Lösung für eine Produktivumgebung. Das würde ich eher als Quick-and-Dirty-Lösung ansehen, so wie z.B. mit einem Farm-Admin-Account zu entwickeln ;-)

Nachdem das nun auch geklärt wäre gleich nochmal auf die neue SharePoint-App klicken. Und siehe da, es klappt!



Spektakulär!!! Da weiß man doch gleich wieder, warum man das Wochenende vor dem Computer verbracht hat, oder? :-) Übrigens, kleine Anmerkung, die aktuellen Projekt-Templates unterscheiden sich von den Templates, mit denen die  SharePoint-Developer-Videos gedreht wurden zum Teil doch ziemlich erheblich. Gerade bei den SharePoint-Apps ist mir das ganz besonders aufgefallen.

Kommentar hinterlassen




 Security code

Kommentar(e)

Noch keine Kommentare.