Home
Jul
25
Javascript und CSS einbinden mit User Custom Actions

Um Änderungen am Layout von Sharepoint vorzunehmen, oder zusätzliche Funktionen zu implementieren, müssen in der Regel diverse Javascripts und Stylesheets eingebunden werden. Dies kann entweder über Skript-Editor Webparts oder über die Masterpage erfolgen. Beide Varianten sind jedoch mit einer Reihe von Nachteilen und Einschränkungen behaftet. Skript-Editor Webparts sind auf eine Seite begrenzt. Die Masterpage wiederum ist umständlich zu bearbeiten und es besteht die Gefahr dass Anpassungen bei Sharepoint-Updates wieder verloren gehen. Daher haben wir uns nach einer besseren Lösung umgesehen: User Custom Actions

User Custom Actions können einem spezifischem Web, einer Site, oder einer Liste (für unsere Zwecke eher uninteressant) zugewiesen werden. Sie bieten einem die Möglichkeit mittels ScriptLink Javascript einzubinden, ohne die Masterpage anrühren zu müssen. Generell stehen einem hierfür zwei Lösungsansätze zur Verfügung: Das Client Side Object Model (CSOM), oder die Sharepoint REST-API. Wir werden im Laufe dieses Artikels einige Anwendungsbeispiele mit REST anführen.

Jede User Custom Action besitzt die Eigenschaft "Location", welche immer angegeben werden muss. Sie legt fest wo und wie die User Custom Action eingebunden wird. Um Beispielsweise eine Javascript Datei einzubinden muss der Wert "ScriptLink" angegeben werden.

Folgende Parameter sind beim Einbinden von Scripts von Bedeutung:

  • Location: "ScriptLink" gibt an dass es sich um ein Script handelt, dass eingebunden werden soll
  • Sequence: eine ganze Zahl, legt fest in welcher Reihenfolge Scripts eingebunden werden sollen
  • ScriptSrc: Der Pfad zur Datei, gleichzusetzten mit dem "src"-Attribute eines "script"-Tags in HTML
  • ScriptBlock: Optional, hier könnte direkt Javascript Code angegeben werden. Nicht empfehlenswert, da die Reihenfolge (Sequence) dann nicht eingehalten werden kann, jedoch notwendig um Stylesheets einzubinden.
  • Title & Description: Titel und Beschreibung der User Custom Action
  • ID: Optional, hier kann eine eigene ID angegeben werden. Falls nicht vorhanden wird von Sharepoint eine ID generiert

Wichtig: ScriptSrc darf in Sharepoint 2010 und 2013 keine absoluten Pfade beinhalten. Dies ist unbedingt zu vermeiden da Sharepoint sonst gar keine Seiten mehr anzeigt. In Sharepoint Online und Sharepoint 2016 lassen sich auch absolute Pfade problemlos einbinden.

Im folgenden Beispiel wird demonstriert, wie jQuery in eine Site eingebunden werden kann und somit auf allen Pages und Subsites dieser Site verfügbar ist.

$.post({
	url: "/pfad/zur/site/_api/site/usercustomactions",
	data: JSON.stringify({
		"__metadata": { "type": "SP.UserCustomAction" },
		"Location":"ScriptLink",
		"Sequence":"0",
		"Title":"jQuery 3.0.0",
		"Description":"User Custom Action zum Einbinden von jQuery",
		"ScriptSrc" : "~sitecollection/siteassets/css/jquery-3.0.0.min.js"
	}),
	headers: { 
		"X-RequestDigest": $("#__REQUESTDIGEST").val(),
		"content-type": "application/json;odata=verbose",
	},
	success: successHandler,
	error: errorHandler
});

Der angeführte REST-Call liefert einem nach erfolgreichem Erstellen der User Custom Action die eben erstellte UCA als Objekt oder in Form von XML zurück. Sie besitzt eine eindeutige ID (selber angegeben oder von Sharepoint generiert), mit deren Hilfe sie nachträglich wieder bearbeitet oder gelöscht werden kann.

Das folgende Beispiel zeigt wie man Änderungen an einer UCA vornimmt. Wir werden die Eigenschaft "ScriptSrc" der eben erstellen UCA ändern, um eine aktuellere Version von jQuery zu laden.

$.post({
	url: "/pfad/zur/site/_api/site/usercustomactions('<GUID>')",
	data: JSON.stringify({
		"__metadata": { "type": "SP.UserCustomAction" },
		"ScriptSrc":"~sitecollection/siteassets/css/jquery-3.1.0.min.js"
	}),
	headers: { 
		"X-RequestDigest": $("#__REQUESTDIGEST").val(),
		"content-type": "application/json;odata=verbose",
		"X-HTTP-Method": "MERGE"
	},
	success: successHandler,
	error: errorHandler
});

Das folgende Beispiel zeigt wie die User Custom Action wieder gelöscht werden kann.

$.post({
	url: "/pfad/zur/site/_api/site/usercustomactions('<GUID>')",
	headers: { 
		"X-RequestDigest": $("#__REQUESTDIGEST").val(),
		"X-HTTP-Method": "DELETE"
	},
	success: successHandler,
	error: errorHandler
});

Da es auch Sinn macht Stylesheets einzubinden, ohne die Masterpage bearbeiten zu müssen, werden wir uns nun diesem Problem widmen. In Sharepoint hat man standardmäßig die Möglichkeit eine einzelne CSS Datei einzubinden (Websiteeinstellungen > Gestaltungsvorlage > Alternative URL für CSS-Datei). Dieses Feature hat jedoch einige Nachteile.

  • Es kann nur eine einzige Datei eingebunden werden
  • Erstellt man nachträglich eine Unterseite, muss die Einstellung erneut gespeichert werden damit diese auch für die neue Unterseite gilt.

Die Nutzung von User Custom Actions zum Einbinden von CSS Dateien ist wesentlich flexibler.

User Custom Actions bieten generell keine Möglichkeit, Stylesheets einzubinden. Es kann jedoch die "ScriptBlock" Eigenscha​ft genutzt werden um eine Datei mit Javascript einzubinden.

Javascript zum einbinden einer CSS Datei:

(function(){
	var head = document.getElementsByTagName('head')[0];
	var link = document.createElement('link');
	link.type = 'text/css';
	link.rel = 'stylesheet';
	link.href = '~site/pfad/zu/einer/datei.css';
	head.appendChild(link);
})();

Alternatives Javascript zum einbinden einer CSS Datei (ab Sharepoint 2013):

(function(){ registerCssLink('~site/pfad/zu/einer/datei.css') })();

Einbinden eines Stylesheets mittels User Custom Action, diesmal nur für ein spezifisches Web (z.B. eine Unterseite):

var url = "~site/pfad/zu/einer/datei.css";

var block = [
	"(function(){",
	"var head = document.getElementsByTagName('head')[0];",
	"var link = document.createElement('link');",
	"link.type = 'text/css';",
	"link.rel = 'stylesheet';",
	"link.href = '" + url + "';",
	"head.appendChild(link);",
	"})();"
].join("");

$.post({
	url: "/pfad/zur/site/subsite/_api/web/usercustomactions",
	data: JSON.stringify({
		"__metadata": { "type": "SP.UserCustomAction" },
		"Location":"ScriptLink",
		"Sequence":"100",
		"Title":"",
		"Description":"",
		"ScriptBlock" : block
	}),
	headers: { 
		"X-RequestDigest": $("#__REQUESTDIGEST").val(),
		"content-type": "application/json;odata=verbose",
	},
	success: successHandler,
	error: errorHandler
});

Jul
12
Office 365: Mobile View und Mobile App, auch für SharePoint 2016

Allgemeines

Heut zu Tage wird es immer wichtiger auf Dokumente und Inhalte auch von unterwegs zugreifen zu können. Dokumente oder SharePoint Seiten mit Hilfe eines Laptops auch von Unterwegs abzurufen, ist für niemanden mehr eine Herausforderung. Mit der immer besser werdenden Hardware im Smartphone und Tablet Bereich werden diese mobilen Endgeräte immer mehr zum Laptop Ersatz.

Nun steht Microsoft mit SharePoint vor der Herausforderung drei mobile Betriebssysteme zu unterstützen. Im "Android" und "iPhone" Bereich will Microsoft mit einer mobile App aufwarten.

Mit der am 27.06.2016 zuletzt upgedateten Version der "Microsoft SharePoint" App für iOS, gibt Microsoft den Startschuss für das "intranet in your pocket"

 

Download von itunes

Ende 2016 soll eine Version für Android und Windows Universal ebenfalls auf den Markt kommen (Quelle: Office Blogs – KLICK)

User wie meine Wenigkeit, die sowohl privat als auch beruflich Windows 10 mobile Endgeräte benutzen, hatten bis vor kurzem nur die Möglichkeit die alt bekannte, und wenig zufriedenstellende "mobile view" zu nutzen die meist, Beispielsweise nur ein Sub Set von Listenspalten angezeigt hat.

Mit Office 365 hat der User nun die Möglichkeit in einer mobilen responsive Ansicht innerhalb des SharePoints zu navigieren.

Über den Applauncher kann der User nun wie gewohnt alle Office 365 Features nutzen.

 

Nokia Lumia 950-Applauncher

Startseiten Ansicht der Seite "Hatahet Showcase"

Applikation "Delve"

 

Technical Sneak Peek

Surft ein User nun auf die Unternehmens SharePoint Homepage mit Hilfe eines mobilen Browsers (Windows Phone, iPhone oder Android) so wird der dieser auf eine eigene "touchapp.aspx" Seite weitergeleitet (Android und iPhone können unter Umständen weniger Funktionen im Applauncher anbieten). Diese Seite zeigt dem User alle Apps auf der SharePoint Seite und deren Unterwebsites an. Mit einem Klick auf den Applauncher in der linken unteren Ecke kann er, die Ihm zur Verfügung stehenden Applikationen wie Delve, Kalender, Video, Sway usw. je nach seinen Berechtigungen aus dem Office 365 verwenden.

 

Conclusio

Ja es stimmt – Es gibt derzeit wieder einmal keine App für Windows Phone User. Jedoch besteht meiner Meinung nach auch kein Bedarf für eine eigene App, da das responsive Webdesign alle Möglichkeiten bietet und durch die "Cloud First" Strategie von Microsoft auf stätig aktualisiert wird, ohne App-Updates herunterladen und installieren zu müssen. Ein Feature welches sich für solch ein Upgrade anbieten würde, wäre eine intuitivere Navigation zurück, also heraus aus einer Applikation wie Beispielsweise "Delve".


Mai
24
Azure AD, OAuth, OpenID, ADAL und OWIN… was noch?

Mit SharePoint 2016 und SharePoint online geht Microsoft den Weg Richtung Cloud und vor allem den Weg der hybriden Szenarien konsequent weiter. Umso öfter wird man dadurch aber gerade in der Entwicklung mit Begriffen konfrontiert, die immer wieder auch zu Verwirrung führen können und scheinbar nicht so genau einzuordnen sind. So wurde ich in der Vergangenheit schon mehrmals mit folgenden Fragen konfrontiert:

  • Warum brauche ich OAuth, wenn ich Azure AD nutze?
  • Was ist OpenID, ist das nicht OAuth?
  • Wofür brauch ich ADAL wenn ich Azure AD nutze?
  • OWIN? Was soll das sein?

Daher versuche ich hier einen kurzen Abriss über diese Begriffe, vor allem aus Entwicklersicht zu geben und dem interessierten Leser ein paar Links zur Verfügung zu stellen, um mehr zu erfahren bzw. sich in die Themen zu vertiefen.

Azure Active Directory (Azure AD) ist wohl den meisten bekannt und es sind wohl auch die meisten damit vertraut. Damit ist im Grunde der von Microsoft zur Verfügung stehende cloudbasierter Identitätsverwaltungs- und Verzeichnisdienst gemeint. Mit dem man beispielsweise relativ leicht, Benutzern, wie z.B. Mitarbeiter und externen Partnern, Zugriff im Stile von Single Sign-On (SSO) auf verschiedenste Cloud Anwendungen, wie z.B. Office 365 / SharePoint online gewähren kann. Aus Entwicklersicht ist es somit einfacher Anwendungen zu entwickeln, die im Hintergrund eine Identitätsverwaltung benötigen. Mittels Azure ADSync können auch on-premisses Active Directory Konten nach Azure AD synchronisiert werden. Dies ist hinlänglich bekannt und wer mehr Details wissen möchte, sei auf Microsofts Webseite zum Thema Microsoft Azure verwiesen.

Ein klein wenig komplizierte wird die Sache, wenn man OAuth und OpenID betrachtet. Open Authentication (OAuth) stellt ein offenes Framework dar, das zum Ziel hat, Anwendungen (Client Apps) Zugriff auf HTTP Diensten zu ermöglichen. Entweder im Auftrag eines Benutzers auf Web-Ressourcen zuzugreifen oder direkt als App selbst, Zugriff auf eine Ressource zu erhalten. Details findet man unter http://tools.ietf.org/html/rfc6749. Im speziellen ist hier die Version 2.0 von OAuth gemeint. Mit Hilfe von sogenannten Access Tokens wird hier Zugriff auf Ressourcen gewährt. Je nach implementierten OAuth 2.0 Flow kann es sein, dass ein sogenannter Code Grant angefordert wird. Erst mit dem Code Grant kann dann ein Access Token angefordert werden, mit dem dann letztlich eine Web-Ressource abgefragt werden kann. Ein Access Token wird immer gemeinsam mit einem Refresh Token an die App ausgestellt. Dieses Refresh Token wird dann eingesetzt, wenn ein Access Token zeitlich bereits abgelaufen ist. Dadurch ist es nämlich möglich, ein neues Access Token anzufordern, ohne das der Benutzer das im Front-End mitbekommt.

Kurz gesagt, OAuth 2.0 deckt also die Autorisierung ab. Das mag jetzt vielleicht etwas überraschend sein. Tatsächlich wird aber OpenID Connect benötigt, um einen Benutzer zu identifzieren/authentifzieren. Bei OpenID Connect handelt es sich um einen zusätzlichen "Layer" der auf OAuth 2.0 aufsetzt und sich um das Identitätsmanagement kümmert. Anders gesagt, Azure AD unterstützt somit OAuth 2.0 und auch OpenID. Als Entwickler sollte man das wissen, wenn Anwendungen für Office 365 und Azure AD entwickelt werden sollen.

Jetzt bleibt noch zu klären, was es mit der Active Directory Authentication Library (ADAL) auf sich hat. Um es auch hier kurz zu machen: ADAL ist eine Authentifizierungs-Library für .NET, iOS, Android, Java, JavaScript usw., die zum Ziel hat, die Authentifizierung zu vereinfachen, um sich als Entwickler nicht im Detail, um die Security kümmern zu müssen. Als Entwickler muss man also kein Security Experte sein, um für z.B. eine App ein Access Token für API Aufrufe zu bekommen. So ist es damit auch möglich Tokens zu cachen oder auch den Refresh Ablauf, um neue Access Tokens zu erhalten, zu automatisieren. Benötigt man ADAL für sein Visual Studio Projekt, gibt es natürlich auch ein nuget Package, das mittels Install-Package Microsoft.IdentityModel.Clients.ActiveDirectory ganz einfach verwendet werden kann.

Ja, und dann gibt es auch noch das Open Web Interface for .NET (OWIN). Dabei handelt sich ebenfalls um einen offenen Standard, der ein Interface zwischen Web Servern und Web Anwendungen definiert, um eine Entkopplung dieser beiden zu erreichen. Dadurch wird es leichter Anwendungen oder Services für das Web zu entwickeln. Beispielsweise kann mittels OWIN ein neuer Authentifzierungs Vorgang (OAuth2.0) angestoßen werden (HttpContext.Current.GetOwinContext().Authentication.Challenge(…)) um ein neues Access Token zu erhalten. Natürlich ist mit OWIN noch viel viel, ja sogar sehr viel mehr möglich. Die ASP.NET MVC und WebAPI Entwickler kennen das natürlich schon länger und nutzen es auch für ihre Anwendungen bzw. Services.

Nun kann sich der aufmerksame Leser natürlich fragen, warum soll mich das als SharePoint Entwickler interessieren, ich entwickle meine full-trusted Lösungen? Nun die Frage ist legitim, full-trusted Lösungen wird es auch weiterhin geben, so wie es auch Kunden geben wird, die aus nachvollziehbaren Gründen die Cloud nicht nutzen können oder aus datenschutzrechtlichen Gründen nicht nutzen dürfen. Dennoch ist der Weg in die Cloud da geebnet. Vor allem hybride Szenarien nehmen an Bedeutung zu. Lösungen werden für die Zukunft entwickelt und die Möglichkeiten, die die Cloud und hybride Szenarien dafür bieten, sind ungleich größer und auch flexibler.

Die Besucher unseres Kundenevents Next Destination > SharePoint 2016, können sich eventuell noch an das gezeigte Beispiel mit dem Projektportal in SharePoint online erinnern, das ausgehend von einer on-premises SharePoint Liste angelegt wurde. Um solche Lösungen zu entwickeln, muss man sich als Entwickler mit diesen Themen auseinandersetzen, um die Hintergründe zu verstehen und auch Entscheidungen für Architekturen, die umgesetzt werden sollen, begründen zu können.

Dazu möchte ich abschließend noch ein Beispiel geben. Wenn man z.B. SharePoint Add-Ins für SharePoint online entwickelt muss man demnach schon vorher wissen, ob es notwendig sein wird auch andere APIs der Office 365 Welt nutzen zu wollen. Schreibt man ein Add-In für SharePoint steht auch "nur" die API von SharePoint (online) zur Verfügung. Möchte man hingegen z.B. die MS Office Graph API oder noch mehr, das gesamte "Office 365 Ökosystem" nutzen, sollte man darüber nachdenken, eine Azure AD App zu implementieren und eventuell über REST Services Funktionen einem SharePoint Add-In zur Verfügung stellen.

Damit bin ich auch schon am Ende meines Blog-Artikels. Ich hoffe, dass ich einen guten Überblick geben konnte, womit wir uns aus Entwicklersicht in Zukunft weiter beschäftigen müssen und werden. Eines kann ich auf jeden Fall sagen, es macht mit verdammt viel Spaß J.

 


Mai
15
Produktivität mit Office Delve und SharePoint 2016 steigern

Allgemeines

Wir werden tagtäglich mit Informationen wortwörtlich überschüttet und müssen aus den vielen Kanälen die relevanten filtern und suchen. Und es wird täglich mehr, mehr an Systemen und mehr an Informationen. Die Zeit in der wir diese Informationsflut abarbeiten sollten verändert sich aber nicht, der Tag hat nun mal seine 24h Stunden und nicht mehr, egal wie viel und lange man arbeitet, diese Tatsache ändert sich wohl nicht.

Wenn man länger darüber nachdenkt wäre ein Zugangspunkt ideal, der jene für mich relevante Informationen anzeigt, egal aus welchem System diese stammt. Die folgende Abbildung soll dies verdeutlichen:

Office Delve für hybriden Einsatz mit SharePoint 2016, Erkennen Sie den Unterschied (HATAHET, NaHa)

Wenn man dann noch in den relevanten Informationen suchen könnte, wäre das perfekt und idealerweise gibt es auch die Möglichkeiten mit den Personen, mit denen man häufig Kontakt hat Informationen auszutauschen bzw. zu teilen. Na wäre das nicht toll?

Was ist Office Delve und wie funktioniert es?

Office Delve ist Bestandteil von Office 365 und kann auch mit SharePoint Server 2016 in einem hybriden Szenario zum Einsatz kommen. Im Hintergrund verwendet Office Delve die Office Graph Komponente aus der Cloud, deren API man übrigens auch für eigene Applikationen nutzen kann.

Office Delve Dashboard für hybriden Einsatz mit SharePoint 2016 (HATAHET, NaHa)

Im Allgemeinen bietet Office Delve folgende Produktivitätsmerkmale:

  • Intelligenter Nachfolger der MySite (Persönliche Seite)
  • Sucht übergreifend im Hintergrund nach Informationen aus meinem Umfeld
  • Konkret nach kürzlich geänderten Daten aus Personen mit denen ich Kontakt habe
  • Liefert ein Dashboard mit den für mich relevante Informationen
  • Liefert ein "MyWork" Dashboard mit den letzten von mit geänderten Informationen
  • Liefert nur Informationen auf die ich Zugriff habe oder die ich bereits erhalten habe (z.B. Mails)
  • Zeigt an wie viele Zugriffe es auf eine Information gegeben hat
  • Ermöglicht die aktive Suche in meinen relevanten Informationen
  • Ermöglicht die Suche nach Personen und die Kommunikation mit Personen (Skype, Mail, usw.)
  • Liefert das OneDrive eines Benutzers um auf freigegebene Daten zugreifen zu können
  • Favoritenmanagement für Informationen (inkl. Tagging Funktionalität = Boards)
  • Erstellen eines eigenen Blogs
  • Nur über Office 365 nutzbar (benutzt Office Graph)
  • Hybrid mit SharePoint 2016/2013 nutzbar
  • Uvm.

HINWEIS: In einem hybriden Szenario mi SharePoint Server 2016 muss die Cloud Hybrid Search Komponente von SharePoint Server 2016 entsprechend konfiguriert und zum Einsatz kommen. Office Delve nutzt die Search Komponenten intensiv und sofern man eben auch On-Premises Inhalte integrieren will, sollten die Search entsprechend hybrid "laufen".

Was kann die Office Delve App?

Natürlich soll man das Ganze auch mobil zur Verfügung haben, dazu einfach die Office Delve App installieren, die für die gängigen mobilen Betriebssysteme und Device in den entsprechenden App Stores zur Verfügung steht.

Office Delve App für hybriden Einsatz mit SharePoint 2016 (HATAHET, NaHa)

Folgende Delve Bereiche sind damit abgedeckt:

  • Home (Delve Dashboard)
  • Personen
  • Favoriten
  • MyWork (=meine geänderten Informationen)

Unser Fazit

Wer sich auf Office Delve einlässt wird eine neue Produktivität erfahren und nicht mehr auf diesen extrem guten Helfer verzichten wollen.

HINWEIS: Auf Wunsch kann man Delve auch als Benutzer vermitteln, dass man nicht "dabei" sein will, was ich persönlich nicht empfehlen kann, sucht Delve ja auch nur nach Informationen, die ich selbst auch suchen könnte und zeigt diese nur intelligent an. Außerdem muss ich Zugriff auf die Information haben und meist habe ich diese Information sowieso schon z.B. als Mail erhalten, Delve zeigt diese nur intelligent an eben.

Unser Fazit somit: Use it, also with SharePoint 2013 & 2016!

LG

Nahed Hatahet | nahed@hatahet.eu


Mai
10
SharePoint 2016 Fast Site Collection Creation

Mit SharePoint 2016 bringt Microsoft so manche Neuerungen in die Zentraladministration des SharePoint. Eine davon ist die sogenannte "Fast Site Collection". Mit Hilfe dieser Funktion soll die Dauer der Erstellung einer neuen Site Collection von einer gefühlten halben Ewigkeit auf ca. 2-3 Sekunden reduziert werden!

Um eine neue Site Collection mit Hilfe dieses Features anlegen zu können sind vorbereitende Schritte notwendig.

Zu aller erst wird ein Grundgerüst benötigt um zukünftige Site Collections darauf aufbauend, erstellen zu können. Hierfür kann ein bereits vorhandenes Site Template verwendet werden, oder ein eigenes Template generiert werden. Möchte man ein selbst generiertes Site Template verwenden, muss dies im Vorhinein noch in ein Farm Template konvertiert werden um damit Site Collections erstellen zu können. Dies bedeutet jedoch auch, dass neue Site Collections nur dann mit dem neuen Fast Site Collection Feature angelegt werden, wenn bei der Anlage das Template ausgewählt wurde, bei dem auch der "Site Master" aktiviert wurde.

Nun muss das soeben erstellte Site Template für die Verwendung von "fast creation" mittels Powershell cmdlet aktiviert werden.

Enable–SPWebTemplateForSiteMaster –Template [ID] –CompatibilityLevel 15

  • Eine Detail Beschreibung des Befehls "Enable-SPWebTemplateForSiteMaster" entnehmen Sie bitte hier
  • Bei Template [ID] tragen Sie bitte die ID des Templates (ohne eckige Klammern) ein das sie verwenden möchten
  • Wie man die Template ID eines Site Templates ausliest finden sie hier

 

Als nächstes muss ein neuer Site Master für die Contentdatabase definiert werden.

New-SPSiteMaster –ContentDatabase [DatabaseName] –Template [ID]

  • Eine Detail Beschreibung des Befehls "New-SPSiteMaster" entnehmen Sie bitte hier
  • Bei ContentDatabase "DatabaseName" tragen Sie bitte den Datenbanknamen ein in der der SiteMaster erstellt werden soll.
    • HINWEIS: Innerhalb einer Datenbank können mehrere Site Master definiert sein.
    • Um herauszufinden welche Site Master in einer Datenbank bereits vorhanden sind verwenden Sie bitte Get-SPSiteMaster –ContentDatabase [DatabaseName]

 

Das war's auch schon!

Mit folgenden Powershell cmdlets können nun neue Site Collections mit der "fast creation" erstellt werden.

  • Befindet sich nur ein Site Master in der Contentdatabase:
    • New-SPSite "SiteURL" –ContentDatabase "DataBaseName" –CompatibilityLevel 15 –OwnerAlias "OwnerLogin"–CreatFromSiteMaster
  • Befinden sich mehrere Site Master in der Contentdatabase
    • New-SPSite "SiteURL" –ContentDatabase "DataBaseName" –CompatibilityLevel 15 –Template "ID" –OwnerAlias "OwnerLogin" -CreateFromSiteMaster

 

In der Zentraladministration ist nun eine neue Site Collection mit dem Namen "sitemaster-[GUID]" zu finden. Mit Hilfe dieser ID lassen sich zukünftig andere Site Collections mit dem neuen Feature erstellt werden.

HINWEIS: Es kann sein, dass die von der Microsoft angegebenen 2-3 Sekunden erst nach mehrmaliger Provisionierung erreicht wird.

 

Kategorien:  SharePoint 2016

Apr
26
Neue Kundenreferenz: Prozessautomatisierung mit HATAHET und SharePoint spart dem Umweltbundesamt einen Personentag pro Projekt

Perfect day

Das Umweltbundesamt ist  Österreichs größte ExpertInnen-Einrichtung für Umwelt und bietet umfassende Beratung zu allen Umweltthemen. Ziel ist es, nachhaltige Lösungen aufzuzeigen, welche für den Kunden zudem ökonomische Vorteile schaffen.

Im Zuge der geplanten Migration von SharePoint 2010 auf SharePoint 2013 sollten gleich einige weitere Schritte gesetzt werden. So sollte der Zugriff und die Integration von externen Partnern umgesetzt und daher auch eine Umstellungsmöglichkeit der Sprache auf Englisch eingeführt werden. Da die Self-Service Provisionierung der Projekte für das Umweltbundesamt nicht nur absolut relevant, sondern auch durch die hohe Projektanzahl mit einem großen Einsparungspotential verknüpft ist, sollte zudem die Provisionierungslogik entsprechend erweitert und ausgebaut werden.

„Wir sparen pro Projekt einen Personentag an
Einrichtungs- und Erklärungszeit. Das bedeutet
mehr Zeit für andere Aufgaben.“
Jörg Voss, IT Softwareentwicklung, Umweltbundesamt

Lesen Sie die ganze Story >> PDF-Download


Hier noch die Key-Facts…

Herausforderung

  • Integration von externen Benutzern
  • Möglichkeit der Sprachwahl zwischen Deutsch und Englisch
  • Self-Service mit Erweiterung der Provisionierungslogik
  • Migration ohne den laufenden Betrieb zu beeinflussen

Lösung

  • Automatische Generierung der Projektbereiche durch die Provisioning Engine
  • Provisionierung und Deprovisionierung mittels Helpdesk
  • Zugriffsregeln durch Infogruppen einfach festzulegen
  • bessere Aufgabenverfolgung

Vorteile

  • Ersparnis von einem Personentag pro Projekt durch Automatisierung bei der Projektanlage
  • Standardaufgaben werden automatisiert erledigt
  • Idente Seiten durch Templates ermöglichen ein rasches Zurechtfinden
  • Externe Nutzer haben sicheren Zugriff und können Daten selbst warten
Kategorien:  SharePoint 2013Referenz

Apr
15
FINALE AGENDA! Next Destination > SharePoint 2016 Productivity

20160315%20Header%20Next%20Destination%20Event%20FINAL

Was bedeutet es langfristig für die Entwicklung von Formularen und Workflows, dass es InfoPath 2016 und SharePoint Designer 2016 nicht mehr gibt? Welche Migrationsvarianten nach SharePoint 2016 und/oder Office 365 SharePoint Online gibt es vom Hersteller und 3rd Party? Mit welchen Neuerungen warten Office 365 Groups, NextGen Portals, Delve und Office 365 Video auf?

Das sind nur 3 von vielen Fragen, welche unsere Veranstaltung am 12. Mai beantworten wird. Eine genaue Agenda ist bereits verfügbar, und es gibt wieder einige spannende, technisch orientierte Vorträge.

Details unter http://www.hatahet.eu/events/Seiten/Event_next%20destination_12052016.aspx


Mär
31
Durable Links in SharePoint 2016 und Office 365 SharePoint Online nutzen

Allgemeines

Wer kennt das Problem nicht: ein Link zu einem Dokument funktioniert nicht mehr, weil das Dokument unbenannt und/oder verschoben wurde. SharePoint 2016 bietet in Zusammenhang mit den Office Online Server (Nachfolger vom Office Web Apps Server) der neuen integrierten “Durable Links” Funktionalität eine eindeutige Kennung für Dokumente und somit einen quasi eindeutigen Link zu einem Dokument. Links auf unbenannte und/oder verschobene Dokumente funktionieren also weiterhin, ein echter Mehrwert, wie ich empfinde.

HINWEIS: Und wer sich die Technik On-Premises nicht “antun” will, kann selbstverständlich das ganze auch mit Office 365 SharePoint Online nutzen, da wäre alles also sofort betriebsbereit. Einer der Mehrwerte der Cloud oder von SaaS Lösungen - in diesem Fall.

Durable Links arbeiten dabei innerhalb einer Farm im Gegensatz zu der in SharePoint 2013 bereitgestellten Document-ID Funktionalität, die Document-IDs innerhalb einer Site Collection ermöglicht hat und somit auch noch nicht so ganz durchgängig war meiner Meinung nach. Durable Links sind nun die logische Erweiterung in SharePoint 2016.

Und so funktioniert es im UI …

Um einen Durable Link zu bekommen muss der Link über das so genannte “Document Preview Panel” (=Dokumentvorschau, siehe Screenshot unten) abgerufen werden. Der Link funktioniert dann eben auch, wenn das Dokument umbenannt oder verschoben wird.

HINWEIS: Leider funktioniert das alles nicht wie seit Jahren allgemein üblich, also wenn man über die rechte Maustaste auf das Dokument die “Link kopieren” Funktion verwendet. Als Benutzer muss man also wissen, dass man den Link über die Dokumentvorschau (wie oben im Screenshot veranschaulicht) abrufen. Finde ich persönlich schwach, da man dies Benutzern einmal erklären muss und wenn man tausende von Benutzern hat ist dies nicht immer allzu einfach in der Praxis. Vielleicht kommt das ja auch noch, dass dies dann auch im Benutzerinterface durchgängig wird, ich würde mir das sehr wünschen.

Hier nun ein Beispiel dazu…

SharePoint 2016 Neue Durable Links Funktionalität (HATAHET, NaHa)

Dateiname: BEISPIEL_SHAREPOINT_DURABLE_LINKS.docx

Link: https://hatahet.sharepoint.internal/sites/pro_gho/Freigegebene%20Dokumente/BEISPIEL_SHAREPOINT_DURABLE_LINKS.docx?d=we96d9fa5a5c643c382adaa6710baa2df

Der Link enthält im URL-Parameter d={} eine Site-ID und eine Document-ID, damit die Durable Link Funktionalität eben über die Grenzen einer Site Collection ebenfalls funktioniert, wenn also ein Dokument über Site Collections hinweg verschoben wird.

Nun benennen wir die Datei einfach mal um und schauen uns den “neuen Link” dazu einfach mal an…

Dateiname: UMBENANNT_BEISPIEL_SHAREPOINT_DURABLE_LINKS.docx

Neuer-Link: https://hatahet.sharepoint.internal/sites/pro_gho/Freigegebene%20Dokumente/UMBENANNT_BEISPIEL_SHAREPOINT_DURABLE_LINKS.docx?d=we96d9fa5a5c643c382adaa6710baa2df

Nach dem umbenennen bleiben also beide Links aktiv, über den URL-Parameter d={} sieht man, dass sich die eigentliche ID nicht geändert hat und das Dokument bleibt dadurch auch unter dem “alten” Link weiter erreichbar und man wird auf den neuen Link quasi umgeleitet.

Was passiert nun aber, wenn man nun eine neue Datei mit dem gleichen Namen wie der des ursprünglichen Dokuments welches umbenannt wurde hochladet?

Hier sieht der Link nun wie folgt aus und man kann schon sehr gut erkennen, dass eine neue ID von der Durable Links Funktionalität generiert in SharePoint 2016 generiert wurde:
https://hatahet.sharepoint.internal/sites/pro_gho/Freigegebene%20Dokumente/BEISPIEL_SHAREPOINT_DURABLE_LINKS.docx?d=wcbde145e2a38486ebdf0b4fddc0a137e

Perfekt!

Und wer Durable Links “coden” will …

Und wer das alles per Code verwenden will, das funktioniert natürlich auch und würde dann wie folgt aussehen:

*snip*

$web = Get-SPWeb http://sharepoint2016.hatahet.intern
$list = $web.Lists["Documents"]
$item = $list.Items[0]
$item.File.LinkingUrl

*snip*

HINWEIS: Das SharePoint 2016 Durable Links Feature funktioniert ebenfalls mit den Office Web Apps Server 2013 Technologien, also man muss nicht unbedingt den neueren Office Online 2016 Server verwenden.

Durable Links sind somit ein echter SharePoint 2016 und Office 365 SharePoint Online Produktivitätsmehrwert. Vor allem die Endbenutzer werden sich darüber sehr freuen, wenn Links weiterhin funktionieren, wenn das Dokument umbenannt oder verschoben wurde.

Super, oder?

LG
Nahed Hatahet | nahed@hatahet.eu


Mär
29
Interview zum Global Azure Bootcamp 2016 mit Rainer Stropek

Wie schon letztes Jahr hat Rainer Stropek (im Bild rechts) wieder zu ein paar spannenden Fragen Stellung genommen!

Header für Blogeintrag

Nahed Hatahet: Hallo Rainer, erstmal vielen Dank, dass du uns an dieser Stelle wieder Rede und Antwort stehen willst! Am 16.04.2016 veranstaltest Du heuer schon zum dritten Mal mit dem Global Azure Bootcamp die Community Veranstaltung zum Thema Azure. Was werden heuer die Schwerpunktthemen sein? Muss ich schon Erfahrungen mit Azure haben, um bei den doch sehr technischen Vorträgen mitzukommen?

Rainer Stropek: Das Global Azure Bootcamp ist dieses Jahr so groß wie noch nie. Erstens haben wir eine neue Location, den Wissensturm in Linz. Uns steht das ganze 15. Stockwerk zur Verfügung. Zweitens gibt es vier parallele Tracks. Und drittens haben wir die Sessions auf 45 Minuten gekürzt, um mehr unterschiedliche Themen anbieten zu können. So können Besucher sich rasch einen Überblick verschaffen und abschätzen, ob sie sich zu Hause oder in anderen GAB-Sessions mit Details beschäftigen möchten.

Neben den beiden „Klassikern“ unter den Tracks – Einführung in Azure und Softwareentwicklung mit Azure – gibt es diesmal zwei Besonderheiten: Ein Track ist dem Thema DevOps gewidmet und einer dem Internet of Things (IoT). Man sieht also: Das Global Azure Bootcamp geht mit der Zeit und entwickelt sich weiter.

Durch den Mix an Sessions ist das Bootcamp passend für Leute ohne Erfahrung und für Expertinnen und Experten, die ihr Wissen in spezifischen Bereichen vertiefen möchten. Wer unsicher ist, ob das Event zu ihr oder ihm passt, findet eine Liste aller Sessions und Speaker unter http://globalazurebootcampaustria2016.sched.org/

Nahed Hatahet: Immer wieder ist vom Fachkräftemangel in Österreich zu hören, es fehle einfach an qualifiziertem Personal mit entsprechender praxisorientierter Ausbildung. Ich selbst bin auch der Meinung, dass wir hier – bei allen Stärken und Vorteilen die unser Standort bietet – noch einen sehr großen Aufholbedarf haben. So hat in meinem Unternehmen die spezialisierte Ausbildung der Mitarbeiter einen großen Stellenwert.
Du bist Community Regional Director für Azure in Österreich und hast auch ein eigenes Unternehmen. Wie siehst du dieses Thema?

Rainer Stropek: Gute Leute sind in allen Branchen schwer zu finden. Leider ist die Situation in den technischen und naturwissenschaftlichen Bereichen besonders schwierig. Jammern hilft da nichts. Als Unternehmen müssen wir aktiv werden. Wir engagieren uns speziell im Bereich Community. Das Global Azure Bootcamp ist nur eine unserer Initiativen. Daneben sind wir auch im Bereich Kinder- und Jugendarbeit mit dem CoderDojo Linz (http://coderdojo-linz.github.io/) tätig.

Meiner Meinung nach sollten alle Firmen, die nachhaltig arbeiten wollen, Ausbildung der Mitarbeiterinnen und Mitarbeiter sowie Investitionen in regionale Communities als wichtige Themen betrachten. Nur so begeistern wir junge Menschen für Softwareentwicklung und machen lebenslanges Lernen – ein wichtiger Erfolgsfaktor in unserer Branche – attraktiv.

Nahed Hatahet: Die Cloud und vor allem Microsoft Office 365 und Microsoft Azure gehören auch 2016 wieder zu Top Themen bei Kunden und Partnern, sowohl wenn es um Chancen geht als auch um Risiken.  Ich glaube, dass wir immer noch in einer gewissen Aufklärungsphase stecken, und vielfach noch Unsicherheit herrscht, wie genau mit diesen neuen Technologien nun „Business“ gemacht werden kann. Du bietest mit deinem Unternehmen ja selbst eine in Azure betriebene Zeiterfassungslösung an. Wirst du von Kunden oft mit Fragen zu Datensicherheit oder der Vertrauenswürdigkeit solcher Lösungen konfrontiert? Wie gehst du damit um?

Rainer Stropek: Fragen nach Datenschutz und Datensicherheit sind in unserer digitalisierten Welt zurecht an der Tagesordnung. Es geht dabei nicht so sehr um Cloud oder nicht Cloud. Gerade kürzlich zeigte eine Studie wieder haarsträubende Sicherheitslücken in Netzwerk-Geräten auf. Wenn man sich gegen Cloud entscheidet, muss man sich damit auseinandersetzen. Bei Cloud gilt es, den richtigen Partner zu finden.

Wir versuchen, unseren Kunden Sicherheit durch größtmögliche Offenheit zu geben. Unser Ziel ist es, Vertrauen aufzubauen. Wir sprechen klar aus, welche Cloud-Dienste wir verwenden. Wir schreiben darüber, wie wir die Daten unserer Kunden speichern und verarbeiten. Geheimniskrämerei ist keine Sicherheitsstrategie. Wenn ein Kunde Bedenken hat was die Sicherheit seiner Daten in der Cloud betrifft, setzen wir uns damit auseinander und versuchen, Missverständnisse auszuräumen. Manchmal werden dadurch Türen in Richtung Cloud geöffnet. Manchmal bleiben aber Vorbehalte übrig, die wir ernst nehmen und bei denen wir mit Kunden hybride Lösungen – also Kombinationen des Besten aus beiden Welten – erarbeiten.

Nahed Hatahet: Seit ein paar Tagen ist SharePoint 2016 nun verfügbar. Wir beschäftigen uns natürlich schon länger sehr intensiv mit dieser neuen Version und eines ist klar: Die hybriden Einsatzmöglichkeiten sind sehr groß. Mir zeigt das einmal mehr, dass die Welt hybrid ist und bleibt. Gibt es deiner Meinung nach Szenarien, in denen eine hybride Umgebung der Cloud überlegen ist?

Rainer Stropek: Aus meiner Sicht machen hybride Lösungen häufig Sinn. Was soll eine Firma machen, an deren Standort keine ausreichende Internet-Infrastruktur verfügbar ist? Wie soll man damit umgehen, wenn rechtliche Rahmenbedingungen gewisse Einschränkungen in Sachen Cloud-Nutzung vorgeben? Wer will schon eine kürzlich angeschaffte, lokale IT-Infrastruktur wegwerfen nur weil „Cloud“ ein aufstrebender Trend ist?

Als Berater haben wir meiner Ansicht nach die Aufgabe, bei Kunden „Bauchentscheidungen“ zu reduzieren und eine Grundlage für bewusste, fundierte Entscheidungen aufzubereiten. SaaS-Anbieter wie wir haben den Vorteil, dass wir die Möglichkeiten haben, ausreichend Zeit und Aufmerksamkeit in die vielfältigen Herausforderungen im Bereich Cloud zu investieren. Wenn unsere Kunden unsere fertigen SaaS-Lösungen in Anspruch nehmen, können wir ihnen die Klärung vieler Detailfragen abnehmen. Sie können sich auf ihr Kerngeschäft konzentrieren und wir sorgen dafür, dass die Cloud optimal genutzt wird.

Nahed Hatahet: Letztes Jahr haben wir an dieser Stelle das Interview mit einem kleinen „Ausflug“ zu deinen privaten Interessen als Bienenzüchter beendet. Du hast uns erzählt, dass Softwareentwickler einiges von den Bienen lernen können, Stichwort „Schwarmintelligenz“. Wie wichtig ist eigentlich das Thema der Nachhaltigkeit für dich generell, einerseits als Unternehmer und andererseits als Privatmensch?

Rainer Stropek: Privat legen wir großen Wert auf Nachhaltigkeit und Umweltverträglichkeit. Wir versuchen, unseren ökologischen Fußabdruck klein zu halten. Die Imkerei ist in dieser Hinsicht ein wunderbares Hobby. Während in unserem Job Technik im Mittelpunkt steht, sorgen die Bienen für eine gewisse Naturverbundenheit. Seit wir Bienen halten habe ich mehr über Pflanzen und Insekten gelernt, als in meiner ganzen Schulzeit. Dieser Ausgleich zum Job ist mir viel wert.

Nahed Hatahet: Rainer, vielen Dank für Deine Zeit und das wie immer sehr interessante und wertvolle Gespräch. Lass mich auch die Gelegenheit nutzen an dieser Stelle hervorzuheben, was du für die Community leistest! Danke!


>> JETZT ZUM GLOBAL AZURE BOOTCAMP ANMELDEN!

(Aktuell besteht bereits eine Warteliste > Melden Sie sich dennoch in jedem Fall an, Plätze werden nach Absagen wieder verfügbar!)

http://globalazurebootcampaustria2016.sched.org/


Mär
17
Neue Kundenreferenz mit HSG Zander: Kürzere Wege, reale Einsparungen - Erfolgreiche SharePoint 2013 Implementierung mit HATAHET

  Zander_291

Die HSG Zander GmbH hat ihren Sitz in Wien und gehört mehrheitlich zur Bilfinger HSG Facility Management GmbH in Deutschland. Das Unternehmen ist einer der führenden Komplettanbieter von Facility Management in Österreich und betreut Kunden während der Planung und Errichtung von Immobilien ebenso wie in der Nutzungsphase.

Gesucht wurde eine passende Lösung, um den Mitarbeitern die produktive Zusammenarbeit zu erleichtern. Es sollten nicht nur klassische Intranet-Funktionalitäten wie beispielsweise ein Newsbereich, sondern auch Abteilungs- und Teamsites und Austauschmöglichkeiten für Dokumente geschaffen werden.

Des Weiteren wollte man die Workflows in die neue Lösung integrieren. Bald war klar, dass die HATAHET productivity solutions als erfahrener Partner mit der Unterstützung der hauseigenen IT Abteilung beauftragt werden sollte.
Nach einigen Trainings durch HATAHET, in denen nicht nur der SharePoint allgemein sondern besonders die Workflow Engine thematisiert wurde, setzte das IT-Team von HSG Zander das neue Intranet zum größten Teil selbst um. Kleinere Probleme wurden in Review-Terminen besprochen und beseitigt.

Im Vergleich zur früheren Zusammenarbeit über Fileshares sind die Vorteile der neuen Lösung mannigfaltig: Versionierung, umfangreiche Suchmöglichkeiten durch die Indizierung der Dokumente und Co-Authoring ermöglichen den Mitarbeitern, einfach und effizient zu collaborieren.

Doch besonders das Thema Workflow hat für HSG Zander die Erwartungen voll erfüllt: IT-Leiter Daniel Binder: „Die Übernahme der Workflows mittels SharePoint bringt unserem Unternehmen reale Einsparungen auf vielen Ebenen. Einerseits sind wir unserem Ziel des papierlosen Büros näher gekommen, andererseits sind die kürzeren Wege nicht nur für die Außendienstmitarbeiter eine echte Zeitersparnis.“

Lesen Sie die ganze Story >> PDF-Download


Hier noch die Key-Facts…

Herausforderung

  • Dokumente wurden verschickt oder auf gemeinsamen Laufwerken geteilt
  • Keine gleichzeitige Bearbeitung oder inhaltliche Suche möglich
  • Workflows über Papierformulare

Lösung 

  • Unternehmensweite Informationsplattform für alle
  • Newsbereich, Team- und Abteilungsbereiche
  • Dokumentenversionierung, -indizierung und Co-Authoring

Vorteile

  • Papierloser Workflow
  • Bessere Zusammenarbeit - besonders auch für Außendienstmitarbeiter
  • Kürzere Wege
Kategorien:  SharePoint 2013

1 - 10Next
 

 Tag Cloud

 
 

 Archiv

 
 

 Blogroll