New Collaboration Manager version released for SharePoint Online – May 2017

We are happy to announce a new Version of the Collaboration Manager for Office 365 or more specifically for SharePoint Online. The new version has been released today (12.05.2017), please contact support if you experience any issues with it.

What is new?

  • Support of BindTuning themes.

What was fixed?

  • Bug in the provisioning of SharePoint Designer 2013.
  • Process of generating sub site URL’s.

Thanks for your patience while we did the release. We want you to have the best possible online experience and sometimes that means we need to perform maintenance activities. Our priority is always the health of your solution.

Collaboration Manager 365 supports BindTuning themes

The Collaboration Manager 365 (CM365) supports now the provisioning of BindTuning themes. You can easily activate and configure your BindTuning theme in our SharePoint template. Finally, you just have to save the template. Now your template includes the BindTuning theme and you can create workspaces from it!

Let me show you how to do that:

1. Activate the BindTuning theme in the Solution Gallery of your CM365 template.

Activate BindTuning theme

2. Configure the settings for the BindTuning theme.

Navigate to the BindTuning settings page and configure your BindTuning theme.

Navigate to BindTuning settings page.

In this example, I configured tokens that will be added to the page footer.

Configured BindTuning tokens

3. Save the template.

Navigate to the Template list and save the template.

Save the Collaboration Manager template

4. Create workspaces based on your CM365 template.

Go to the Workspaces list and create a new list item based on your template which contains the BindTuning theme.

Create workspace based on BindTuning theme

As you can see, the Collaboration Manager 365 has imported your BindTuning theme with all settings.

Provisioned workspace with BindTuning theme

Zusammenfassung ESPC16

Hier eine Zusammenfassung der zweigrößten SharePoint und Office 365 Messe weltweit – kurz ESPC16. Auf Twitter kann man hierzu recht viel unter dem Hashtag #ESPC16 finden.
Dieses Jahr war die Konferenz in Wien, Österreich im Austria Center. Rund 1.200 Teilnehmer aus aller Welt haben an der mehrtägigen Veranstaltung teilgenommen, darunter viele hochkarätige Personen von Microsoft und Microsoft Partnern. Pre-Konferenz mit ganztägigen Vorträgen am 14.11, normale Konferenztage vom 15. – 17.11.… read more

SharePoint Add-In Modell einrichten / App Store

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?

  • Full Trust Solutions aka .wsp Dateien
  • Sandboxed Solution (abgekündigt)

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.

Architektur

Es gibt zwei unterschiedliche Add-In Modelle:

  • Provider Hosted App: Apps werden durch einen Provider zur Verfügung gestellt, z.B. ich füge eine App direkt aus dem SharePoint Store hinzu

clip_image001

  • SharePoint Hosted App: Die App wird selbst auf einem eigenen Server gehostet, z.B. im einfachsten Fall reicht es die App im Unternehmens App Store hinzuzufügen. Es kann auch nötig sein, weitere Komponenten wie IIS einzurichten – abhängig von der App.

clip_image002

Im Vergleich aus Entwickler-Sicht

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 : clip_image003 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.

Prozess im Hintergrund

clip_image004

  1. App mit Lizenzprüfung entwickeln
  2. App über Seller Dashboard in den Marketplace einstellen
  3. App zum Kauf im SharePoint Store verfügbar
  1. Benutzer / Manager kauft App im SharePoint Store
    Bei on-premises Umgebungen, wird die Lizenzinformation in die lokale App Dienstanwendung kopiert
  2. Apps können den SharePoint Store umgehen, z.B. für selbst gehostete Entwicklungen
  3. Benutzer / Manager weist Benutzer zu (wird für Benutzerabhängige Lizenzen benötigt) und verwendet die Apps die entweder Provider Hosted oder SharePoint hosted sind
  4. Benutzer startet App
    App prüft Lizenz unter Verwendung der App Dienstanwendung
    App wendet Lizenz an

clip_image005

  1. Benutzer fordert App an
  2. Anforderung wir an Dienstanwendung weitergeleitet
  3. Lizenz und Berechtigungen werden in aus der Datenbank geholt
  4. App Freigabe im Unternehmens-App-Store

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: image 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.

App Domain

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:

  • Ihre interne Domain (typischerweise Active Directory) heißt contoso.com (Netbios Name spielt keine Rolle, es geht rein um den DNS Namen).
  • Der SharePoint on-premises ist unter dem DNS Namen SP-WFE01.contoso.com zu erreichen.
  • Erstellen Sie eine eigene Domain wie contosoApps.com (idealerweise offiziell registriert)
  • Eine App wird später dynamisch eine URL im Format generieren https://Apps-12345678ABCDEF.ContosoApps.com/

Konfiguration

Einrichtung DNS

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).
clip_image007

Wildcard Zertifikat

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.

Service Instanz starten

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:

  • App Management Service
  • SP Subscription Settings Service
001
Get-SPServiceInstance | where{$_.GetType().Name -eq “AppManagementServiceInstance” -or $_.GetType().Name -eq “SPSubscriptionSettingsServiceInstance”} | Start-SPServiceInstance

Anschließend sollte der Status auf “Started” stehen: clip_image008

Service Application erstellen

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:

App Management Service

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

SP Subscription Settings Service

001
002
003
$AppPool = New-SPServiceApplicationPool -Name SettingsServiceAppPool -Account $account 
$App = New-SPSubscriptionSettingsServiceApplication -ApplicationPool $appPool -Name SettingsServiceApp -DatabaseName SettingsServiceDB 
$proxy = New-SPSubscriptionSettingsServiceApplicationProxy -ServiceApplication $App

clip_image009
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

App Settings

Anschließend öffnen wir die SharePoint Central Admin clip_image010

App Domain aus Schritt 1 konfigurieren

Falls nicht schon per Skript oben ausgeführt:

001
002
Set-SPAppDomain “contosoapp.com” 
Set-SPAppSiteSubscriptionName -Name “app” -Confirm:$false

App Catalog erstellen (pro Web Application)

  • Manage App Catalog
  • Webanwendung auswählen – OK

clip_image011

  • Es handelt sich um eine normale Websitesammlung, die eine bestimmte Vorlage verwendet. Achten Sie darauf, dass später nur App-Store Administratoren Zugriff darauf benötigen.

App hochladen (je nach App)

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.
clip_image012

App installieren (je nach App)

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.

Referenz

Workflow Integration in Collaboration Manager

Der Collaboration Manager lässt sich mit Workflow Engines integrieren. Das macht Sinn, damit Sie Ihre Business Logik in der Provisionierung abbilden können. Genauer gesagt unterstützt ein Workflow in den Schritten Antrag, Genehmigung und Generierung. In der standardmäßigen Konfiguration, provisioniert der Collaboration Manager direkt nach dem Erstellen eines neuen Listeintrages in der Workspace Liste.
clip_image001

Collaboration Manager Provisionierung auf manuell stellen Site Collection Collaboration Manager aufrufen – Site Settings – Collaboration Manager – Workspace Creation auf manuell “Workspace creation by custom workflow or web service” stellen.

Welche Workflows werden unterstützt:

  • SharePoint 2010 Workflow Engine mit SharePoint Designer (und damit SP 2010 / 2013)
  • Nintex
  • K2

In diesem Artikel beschreibe ich die Einrichtung der Workflows. Nun können Sie z.B. ein Freigabeworkflow bauen, der entscheidende Schritt am Ende ist es, dem Collaboration Manager anzustoßen, damit der Workspace erstellt wird. Dies erfolgt durch den Aufruf eines Web Service. Damit in einem SharePoint 2010 Workflow ein Web Service aufgerufen werden kann, liefern wir eine extra Solution aus, die im SharePoint Designer eine weitere Aktion hinzufügt.

SharePoint Designer

Solution herunterladen: https://onedrive.live.com/?authkey=%21ACwmDW6i%5FjMjGH4&id=16C2CFEB0F28406C%21206&cid=16C2CFEB0F28406C Solution installieren: Solutions2Share.Solutions.WorkflowActivities2013.wsp

001

Add-SPSolution -LitheralPath C:installSolutions2Share.Solutions.WorkflowActivities2013.wsp | Install-SPSolution -GACDeployment -WebApplication ‘<url of CM Web Application>’

Site Collection Feature aktivieren:

  • Workflows
  • Solutions2Share – Workflow Designer Workflow Actions

clip_image002
Anschließend können Sie den SharePoint Designer 2013 starten und sich mit der Site Collection, auf der der Collaboration Manager installiert ist, öffnen. Anschließend wählen Sie aus dem Ribbon ein neuen Workflow. Wählen Sie bei Plattform “SharePoint 2010” Workflow.
clip_image003
Sofern der SharePoint Designer Workflow Action Solution hinzugefügt und aktiviert wurde, steht als benutzerdefinierte Aktion “Call a Webservice” zur Verfügung.  Als Adresse für den Web Service Aufruf verwenden Sie bitte die URL zur Collaboratio Manager Site Collection im Format <URL Web Application>/<Managed Path>/<Site Collection>/_layouts/15/Solutions2Share/CM/CMService.asmx z.B.: http://portal.contoso.com/sites/selfservice/_layouts/15/Solutions2Share/CM/CMService.asmx Sie können die Seite direkt im Browser öffnen um korrekte URL zu testen.

  • SOAP 1.1
  • Action = Leer
  • Als Parameter bzw. SOAP Request geben Sie ein XML an, das wie folgt aussieht. Sie können einige Optionen per Variable ausfüllen lassen:
<?xml version=”1.0″ encoding=”utf-8″?>
<soap:Envelope xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns:soap=”http://schemas.xmlsoap.org/soap/envelope/”>
  <soap:Body>
    <CreateWorkspaceFromTemplate xmlns=”http://tempuri.org”>
      <siteurl xmlns=”http://tempuri.org”>{Common:WebUrl}</siteurl>
      <SiteTitle xmlns=”http://tempuri.org”>{ItemProperty:Title}</SiteTitle>
      <lcid xmlns=”http://tempuri.org”>0</lcid>
      <ownerid xmlns=”http://tempuri.org”>1</ownerid>
      <workspacelistitemid xmlns=”http://tempuri.org”>{WorkflowVariable:ItemID}</workspacelistitemid>

 

    </CreateWorkspaceFromTemplate>
  </soap:Body>
</soap:Envelope>

Eine genaue Beschreibung der Parameter ist hier im Installationsordner unter “DocumentationCollaboration_Manager_2013_WebService.pdf” – hier die wichtigsten Optionen:

  • Siteurl = URL zur Collaboration Manager Website
  • Site Title = Der Titel, der anzulegenden Website, hier macht es Sinn das per Variable auszulesen
  • Lcid = Sprache der Zielseite
  •     0 = Sprache der CM Site Collection,
  •     1033 = Englisch,
  •     1031 = Deutsch
  • Owner ID = Site Collection Administrator, dies muss in Form einer ID des Benutzer aus der Collaboration Manager Site Collection abgerufen werden, z.B. indem ich einen Benutzer in die CM Site Collection hinzufüge, die ID aus der URL auslese und hier dann statisch hinterlege.
  • Workspacelistitemid = ID des Listeintrages in der Workspace Liste, das angelegt werden soll.
  • User ID und Kennwort, hier muss der SharePoint Farm Account angegeben werden.

clip_image004

Nintex

Stellen Sie sicher, dass auf der Collaboration Manager Site Collection Nintex Workflows aktiviert sind. Anschließend erstellen Sie einen neuen Nintex Workflow. Fügen Sie eine weitere Action “Call a web service” hinzu.  Als Adresse für den Web Service Aufruf verwenden Sie bitte die URL zur Collaboratio Manager Site Collection im Format <URL Web Application>/<Managed Path>/<Site Collection>/_layouts/15/Solutions2Share/CM/CMService.asmx z.B.: http://portal.contoso.com/sites/selfservice/_layouts/15/Solutions2Share/CM/CMService.asmx Sie können die Seite direkt im Browser öffnen um korrekte URL zu testen.  Melden Sie sich mit dem SharePoint Farm Account an und klicken auf “Refresh”. Anschließen wählen Sie als Funktion CreateWorkspacefromTemplate aus. Editor mode: SOAP builder clip_image005

Die Variablen können Sie analog zum Abschnitt SharePoint Designer ausfüllen. Da das Erstellen einer Site Collection meist länger als eine Minute dauert, kann es passiert es oft, dass SharePoint den Workflow mit einem “Timeout” abbricht – dadurch wird ein Fehler erzeugt der unnötig ist. Im Nintex Workflow muss man dazu in der Fehlerbehandlung einfach einstellen, Fehler abfangen / weiter behandeln (wie im vorherigen Screenshot, etwas weiter unten).

6 things why your NewsTicker does not work with a custom list

  1. Expired date is out of date
  2. Link column is not added
  3. Link column is created with a small “L”
  4. Name in the webpart properties is not set
  5. Name in the webpart properties is wrong (use the display name of the list)
  6. NewsTicker is used in a public facing website

You don’t know our NewsTicker App?

News Ticker
http://office.microsoft.com/en-us/store/news-ticker-WA104098986.aspx?queryid=c4a2822d-8cc8-41c0-b23e-242fd230df8f&css=news&CTT=1

Here are some reviews:

  • Simple, Easy and it is an excellent space saver on a page
  • Nice little app that does exactly what was promised
  • Simple, Easy, Effective

ShareConf Düsseldorf 2014

WP_20140701_005

Last week there was the ShareConf, the bigget SharePoint Conference in Germany, in Düsseldorf. On Thusday, the start was with three full-day workshops, Wednesdays and Thursday were days if the conference with five tracks. There ware again many well-known speakers from the SharePoint community there.

WP_20140701_007WP_20140701_006WP_20140701_009

The conference starts for the exibitors with the SharePoint UserGroup Rhein-Ruhr and a “Alt”, a special beer from Düsseldorf. Thanks to Andrej Dorms!

Christian Groß, CEO of Solutions2Share, presented the Collaboration Manager at the Admin/IT-Pro Track at Thursday. The session was with 40 people well visited.
You can download the PowerPoint presentation at SlideShare.

In the end some impressions from the ShareConf:

WP_20140701_012WP_20140701_015WP_20140701_016WP_20140701_019WP_20140703_001WP_20140703_005

See you at the next ShareConf!

SharePoint Konferenz Wien

DSCF4372

This week there was the SharePoint Conference in Wien, Austria. On Monday, the start was with three full-day workshops, Tuesday and Wednesday were days of the conference with six tracks. There were again many well-known speakers from the SharePoint community there.

DSCF4401  DSCF4394

Of course we were again as sponsor with it and have presented our new product “Collaboration Manager” for Office 365. Many people and consulting company was impressed with the progress of the migration to the cloud and have expressed interest.

Here are some pictures from the conference:

DSCF4373  DSCF4404

DSCF4400  DSCF4399

Day 4 – SharePoint Conference 2014

WP_20140304_004

Today is the last day of the SharePoint Conferencein Las Vegas. So if you were not at our booth, come and visit us now on #1335.

WP_20140306_011WP_20140306_006WP_20140302_006WP_20140304_002

Solutions2Share at SharePoint Conference 2014 in Las Vegas

Solutions2Share participates as an exhibitor at the SharePoint Conference 2014 in Las Vegas. Visit us on our booth with the number 1335.


Source: http://www.sharepointconference.com/info/logistics

Location:

Microsoft SharePoint Conference 2014
The Venetian Hotel
3355 Las Vegas Boulevard South
Las Vegas, NV
USA

Date:

Starts: March 3, 2014
Ends: March 6, 2014

Booth:

Name: Solutions2Share
Number: 1335