Solutions2Share sponsors SPS Cambridge on September 8th

Join us at SharePoint Saturday Cambridge returning to Moller Centre at Churchill College on September 6th. Together with the sister event (SQLSaturday Cambridge) for the 4th year running, this year will be the special Britannia Edition – celebrating the regions Queen Boudicca’s charge against the might of the Roman Empire. Attendees will get full access to both event sessions!

SharePoint Saturday Cambridge is a unique not for profit (free to attend) community-driven event dedicated to showcasing all that is great about SharePoint, Office 365 and the Microsoft Data Platform. It aims to provide expert training geared towards administrators, end users, architects, developers, Business users, Business Managers and other types of professionals that work with Microsoft SharePoint Technologies.
SharePoint Saturday events are free one-day events held in different cities around the world, featuring sessions from influential and respected SharePoint professionals.

Register now for this free event, featuring top-speakers and MVPs!

Look for our booth and learn about our brilliant SharePoint and Office 365 solutions.

We are on social media! Visit us on FacebookTwitterLinkedIn or check out our YouTube channel.

Meet us at SharePoint Expo Munich on September 6th!

Solutions2Share attends the first SharePoint Expo in Munich on September 6, where you will learn how to take advantage of new Microsoft capabilities for collaboration, change management, workflow, content management, social spaces, mobile initiatives, and information governance.

Learn about leading solutions that can transform your business and empower you to engage customers, optimize operations, and start your digital transformation.

This one-day free seminar includes how-to sessions about coping with the rapid Office 365 changes so you can drive adoption. These sessions will provide practical insights to dealing with the continuous modifications in Microsoft Teams, Office 365, SharePoint and Dynamics 365, so you can maximize your Microsoft investment.

Highlights:

  • Roundtable
  • Practical solutions
  • Workshops
  • Live demonstrations

Register now for this free event, featuring top-speakers and MVPs!

Look for our booth and learn about our brilliant SharePoint and Office 365 solutions.

We are on social media! Visit us on FacebookTwitterLinkedIn or check out our YouTube channel.

Solutions2Share visits the Netherlands: 8th annual SharePoint Saturday on June 30th, 2018

Solutions2Share sponsors the 8th annual SharePoint Saturday Netherlands on June 30th, 2018!

 

The free SharePoint Saturday one-day events are held in different cities around the world, featuring sessions from influential and respected SharePoint professionals. For the 8th time, this community event will be held in the Netherlands, and Solutions2Share will be on the spot as silver sponsor!

Join this fantastic conference at the Hotel Van der Valk located at Vianen, where SharePoint administrators, end users, architects, developers, and other professionals that work with Microsoft SharePoint Technologies combined with Office365 will meet, and enjoy a perfect environment to share knowledge and learn about Microsoft SharePoint.

Look for our booth and learn about our brilliant SharePoint and Office 365 solutions.

Register now for this free event, featuring top-speakers and MVPs!

We are on social media! Visit us on FacebookTwitterLinkedIn or check out our YouTube channel.

Provisioning sites using SharePoint Site Design and Site Script

Microsoft just rolled out their newest capability for creating SharePoint sites based on templates in Office 365. Use Site Designs and Site Scripts to automate provisioning new or existing modern SharePoint sites using your own custom configurations.

Prospectively, we are planning to connect Collaboration Manager 365 templates with Site Design. The user will be capable of creating Share Point sites directly through SharePoint UI, based on Collaboration Manager 365 templates.

Our developer Jarbas Horst shows you on his blog, how Site Design and Site Script works!

Provisioning sites using SharePoint Site Design and Site Script!

Don’t forget about European Collaboration Summit, the biggest and most important SharePoint event in May 2018! Over a thousand attendees and the world’s most influential experts will gather in Mainz to discuss new developments in the Microsoft landscape and join a series of workshops and presentations. Solutions2Share will be right on spot!

We are on social media! Visit us on FacebookTwitterLinkedIn or check out our YouTube channel.

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 Collaboration 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

Learn more about our NewsTicker App!

News Ticker

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