Wir haben unsere Datenschutzerklärung aktualisiert

Alles ist etwas übersichtlicher und einfacher und an die DSGVO angepasst. Wir haben uns Mühe gegeben alle Eure Rechte zu berücksichtigen und es trotzdem nicht zu kompliziert zu machen.

Wir versprechen Euch, Eure Daten nicht weiterzugeben und nur für den Betrieb des Newsletters und der Website zu nutzen um Euch optimal zu informieren.

Ihr findet Alles zum Datenschutz hier.

Herzliche Grüße,

Henning und Andrej

16. Treffen der UserGroup Köln

Hallo Liebe Teilnehmer,

ich möchte Sie heute herzlich zum 16. Treffen der SharePoint UserGroup Köln einladen. Nach einer projektbedingten Pause geht es endlich mit der SPUG Köln weiter. Wir treffen uns am 8. Mai im Mediapark in Köln.

Unser Programm dreht sich dieses Mal vollständig um das Thema Infrastructure as Code, wie man z.B. RollOuts oder Farmsetups effizient und flexibel gestalten kann und mittels Anlehnung an agile Methoden und Erfahrungen aus der Entwicklerwelt eine umfassende DevOps Kultur in der IT fördert. Unsere Sprecher sind diesmal:

Denis Buco, Microsoft Deutschland GmbH

Henning Eiben, busitec GmbH

Andrej Doms, novaCapta Software & Consulting

Über Ihre Teilnahme und interessante Diskussionen würde ich mich sehr freuen.

Hier noch einmal die Daten:

SharePoint UserGroup Köln

Termin: Dienstag, 08.05.2018 – 18.00 Uhr

Ort: novaCapta Software & Consulting, Im Mediapark 5C, 50670 Köln

Parken: Parkplätze stehen in der Tiefgarage im Mediapark zur Verfügung, bitte in der Zentralgarage oder in der Garage Mediapark 5 parken.

Eine ausführliche Anfahrtsbeschreibung findet sich hier!

XING: https://www.xing.com/net/prib6b3dax/spugcgn

Ansprechpartner:
Andrej Doms
Tel. 0151 58 22 72 38

Neben den Vorträgen gibt es bei einem Snack hoffentlich reichlich Gelegenheit für Sie, mit den anwesenden Experten ins Gespräch zu kommen.
Ich freue mich, Sie alle am 8. Mai begrüßen zu dürfen.

Mit freundlichen Grüßen

Andrej Doms und das UserGroup Team

SharePoint Updates: Patchday April 2018

Neuer Monat, neue SharePoint Updates.

Wie immer hilft der Blog von Stefan Goßner mit allen Details. Dieses mal gibt es für alle drei Plattformen (2010, 2013 und 2016) Updates:

Zu beachten ist, dass das Update für SharePoint 2016 das Feature-Pack 2 beinhaltet.

Zusätzlich gibt es über WSUS für SharePoint 2010, 2013 und 2016 auch Sicherheits-Updates.

Bei den Sicherheitsupdates über WSUS ist zu beachten, dass nach der Installation (wie immer) auch der PSConfig-Wizard auszuführen ist.

Eine komplette Übersicht über alle verfügbaren Patches sowie den jeweiligen Build-Nummern als auch z.T. sehr ausführlichen Patch-Notizen gibt es unter https://sharepointupdates.com/Patches.

Standard-Gruppen in SharePoint

Wenn man eine neue Site-Collection in SharePoint erstellt, dann gibt es typischerweise immer folgende Gruppen:

  • Besucher
  • Mitglieder
  • Besitzer

Allerdings trifft das (scheinbar) nicht für Site-Collections zu, die mit Hilfe eine Host-Headers angelegt wurden. Bei solchen Site-Collections fehlen diese Gruppen.

Nun stellt sich die Frage: wie bekomme ich dieser Gruppen am einfachsten wieder? SharePoint-Veteranen werden sich erinnern, dass es hier doch mal einen Dialog gab, wo man diese Standard-Gruppen erstellen konnte – aber wo befindet sich dieser Dialog?

Es zeigt sich nach längerer Such in den Website-Einstellungen, dass dieser Dialog nicht mehr aufzufinden ist. Was aber nicht bedeutet, dass er nicht mehr vorhanden ist, er ist nur einfach nicht mehr verlinkt.

Einfach in der Website [meine site-collection]/_layouts/permsetup.aspx aufrufen, und voila!

SharePoint Updates: Patchday März 2018

Neuer Monat, neue SharePoint Updates.

Wie immer hilft der Blog von Stefan Goßner mit allen Details. Dieses mal gibt es für alle drei Plattformen (2010, 2013 und 2016) Updates:

Zu beachten ist, dass das Update für SharePoint 2016 das Feature-Pack 2 beinhaltet.

Zusätzlich gibt es über WSUS für SharePoint 2010, 2013 und 2016 auch Sicherheits-Updates.

Bei den Sicherheitsupdates über WSUS ist zu beachten, dass nach der Installation (wie immer) auch der PSConfig-Wizard auszuführen ist.

Eine komplette Übersicht über alle verfügbaren Patches sowie den jeweiligen Build-Nummern als auch z.T. sehr ausführlichen Patch-Notizen gibt es unter https://sharepointupdates.com/Patches.

SharePoint, JavaScript und Promises

Für alle, die noch für On-Premises SharePoint Umgebung Lösungen auf Basis von JavaScript erstellen ist die JSOM (JavaScript Object Model) Bibliothek von SharePoint ein sehr guter Weg um mit SharePoint zu kommunizieren. Auch wenn viele Dinge auch per REST Interface zugreifbar sind, so sind die Möglichkeiten über JSOM doch deutlich umfangreicher.

Da die Kommunikation bei JSOM grundsätzlich asynchron abläuft, muss man an dieser Stelle immer sehr viel mit Callbacks arbeiten. Ein typischer Code um z.B. eine neue Liste anzulegen sieht dann etwa so aus:

var ctx = new SP.ClientContext();
var web = ctx.get_web();
var listCI = new SP.ListCreationInformation();
listCI.set_title("Meine Neue Liste");
list = web.get_lists().add(listCI);
ctx.load(list);
ctx.executeQuery(successCreatedList, errorCreatedList);

function successCreatedList(sender, eventArgs) { }
function errorCreatedList(sender, eventArgs) { }

Wenn nun nach dem erstellen der List in dieser List gleich Elemente erstellt werden müssen/sollen, dann muss diese Logik in der Funktion successCreatedList implementiert werden. Das sähe dann wie folgt aus:

function successCreatedList(sender, eventArgs) {
    var listItemCI = new SP.ListItemCreationInformation();
    var listItem = list.addItem(listItemCI);
    listItem.set_item("Title", "Mein neues Listenelement");
    listItem.Update();
    ctx.load(listItem);
    ctx.executeQuery(successCreatedItem, errorCreatedItem);
}

Man sieht also schon, dass hier schon wieder zwei Funktionen als Callback angegeben werden (müssen). Natürlich kann man die Funktionen auch inline definieren – das macht es aber nicht viel übersichtlicher. Dieses Beispiel komplett sieht dann so aus:

var ctx = new SP.ClientContext();
var web = ctx.get_web();
var listCI = new SP.ListCreationInformation();
listCI.set_title("Meine Neue Liste");
list = web.get_lists().add(listCI);
ctx.load(list);
ctx.executeQuery(
    function (sender, eventArgs) {
        var listItemCI = new SP.ListItemCreationInformation();
        var listItem = list.addItem(listItemCI);
        listItem.set_item("Title", "Mein neues Listenelement");
        listItem.Update();
        ctx.load(listItem);
        ctx.executeQuery(
            function (sender, eventArgs) {
                // do something after the item is created
            }
            , function (sender, eventArgs) {
                // error handling
            });
    }
    , function (sender, eventArgs) {
        // error handling
    });

Wie wäre es, wenn nun executeQuery ein Promise zurückliefern würde, anstatt dass man Callbacks angeben muss?

var ctx = new SP.ClientContext();
var web = ctx.get_web();
var listCI = new SP.ListCreationInformation();
listCI.set_title("Meine Neue Liste");
list = web.get_lists().add(listCI);
ctx.load(list);
ctx.executeQueryDeferred()
    .then(function (eventArgs) {
        var listItemCI = new SP.ListItemCreationInformation();
        var listItem = list.addItem(listItemCI);
        listItem.set_item("Title", "Mein neues Listenelement");
        listItem.Update();
        ctx.load(listItem);
        return ctx.executeQueryDeferred();
    })
    .then(function (eventArgs) {
        // do something after the item is created
    })
    .fail(function (eventArgs) {
        // catch any errors along the way
    });

Das sieht schon deutlich übersichtlicher aus, da sich die einzelnen Promises auch hintereinander hängen lassen.

Um dem SharePoint ClientContext Promises beizubringen ist einfach nur eine kleine Erweiterung notwendig:

SP.ClientContext.prototype.executeQueryDeferred = function () {
    var deferred = Q.defer();
    this.executeQueryAsync(
        function (sender, args) { deferred.resolve(args); }
        , function (sender, args) { deferred.reject(args); });
    return deferred.promise;
}; 

In diesem Fall benutze ich die JavaScript Bibliothek Q für die Bereitstellung von Promises, hier wäre aber auch anderen Promises-Implementierungen denkbar.

Damit das ganze auch in TypeScript nutzbar ist, hier einmal die Erweiterung in TypeScript:

export interface ClientContext {
    executeQueryDeferred(): Q.Promise<SP.ClientRequestSucceededEventArgs>
}

SP.SOD.executeOrDelayUntilScriptLoaded(function () {
    SP.ClientContext.prototype.executeQueryDeferred = function (): Q.Promise<SP.ClientRequestSucceededEventArgs> {
        let deferred = Q.defer<SP.ClientRequestEventArgs>();
        this.executeQueryAsync(
            function (sender: any, args: SP.ClientRequestSucceededEventArgs) { deferred.resolve(args); },
            function (sender: any, args: SP.ClientRequestFailedEventArgs) { deferred.reject(args) }
        );
        return deferred.promise;
    }
}, "sp.js");

Zudem ist die Erweiterung noch in einen Script-OnDemand-Block eingebettet, um Sicherzustellen, dass es das Objekt ClientContext auch bereits gibt.

SharePoint Updates: Patchday Februar 2018

Neuer Monat, neue SharePoint Updates.

Wie immer hilft der Blog von Stefan Goßner mit allen Details. Dieses mal gibt es für alle nur für die Plattformen 2013 und 2016 Updates:

Zu beachten ist, dass das Update für SharePoint 2016 das Feature-Pack 2 beinhaltet.

Zusätzlich gibt es über WSUS für SharePoint 2013 und 2016 auch Sicherheits-Updates.

Bei den Sicherheitsupdates über WSUS ist zu beachten, dass nach der Installation (wie immer) auch der PSConfig-Wizard auszuführen ist.

Eine komplette Übersicht über alle verfügbaren Patches sowie den jeweiligen Build-Nummern als auch z.T. sehr ausführlichen Patch-Notizen gibt es unter https://sharepointupdates.com/Patches.

SharePoint Updates: Patchday Januar 2018

Neuer Monat, neue SharePoint Updates.

Wie immer hilft der Blog von Stefan Goßner mit allen Details. Dieses mal gibt es für alle drei Plattformen (2010, 2013 und 2016) Updates:

Zu beachten ist, dass das Update für SharePoint 2016 das Feature-Pack 2 beinhaltet.

Das Update KB4011021 für den Office Online Server von SharePoint 2016 scheint ein Problem zu verursachen, weshalb man die Installation dieses Updates ggf. aufschieben sollte.

Zusätzlich gibt es über WSUS für SharePoint 2010, 2013 und 2016 auch Sicherheits-Updates.

Bei den Sicherheitsupdates über WSUS ist zu beachten, dass nach der Installation (wie immer) auch der PSConfig-Wizard auszuführen ist.

Eine komplette Übersicht über alle verfügbaren Patches sowie den jeweiligen Build-Nummern als auch z.T. sehr ausführlichen Patch-Notizen gibt es unter https://sharepointupdates.com/Patches.

SharePoint Updates: Patchday Dezember 2017

Neuer Monat, neue SharePoint Updates.

Wie immer hilft der Blog von Stefan Goßner mit allen Details. Dieses mal gibt es für alle nur für SharePoint 2013 und 2016 Updates:

Zu beachten ist, dass das Update für SharePoint 2016 das Feature-Pack 2 beinhaltet.

Nachdem ja bereits mit dem November 2017 CU einige Health-Analyzer Regeln standardmäßig auf “deaktiviert” gestellt wurden, wird auch mit diesem Update (KB4011601 für SharePoint 2013 und KB4011578 für SharePoint 2016) wieder an den Regeln gearbeitet. Dabei werden einige Regeln aus dem Health-Analyzer entfernt, um eher weniger wichtiger Meldungen aus dem Health-Analyzer heraus zu halten.

Zudem wird mit dem Update KB4011596 der neue Dokumentinformationsbereich (ich habe darüber im Rahmen meines ESCP Recaps geschrieben) ab Word 2013 wieder eingeführt.

Bei SharePoint 2016 wird mit dem Update KB4011576 zudem die Standardmäßige Anzahl von Versionen pro Dokument von 500 auf 10 reduziert, was sich in deutlich geringerem Speicherbedarf wiederspiegelt

Zusätzlich gibt es über WSUS für SharePoint 2016 auch Sicherheits-Updates.

Bei den Sicherheitsupdates über WSUS ist zu beachten, dass nach der Installation (wie immer) auch der PSConfig-Wizard auszuführen ist.

Eine komplette Übersicht über alle verfügbaren Patches sowie den jeweiligen Build-Nummern als auch z.T. sehr ausführlichen Patch-Notizen gibt es unter https://sharepointupdates.com/Patches.

SharePoint Updates: Patchday Oktober 2017

Neuer Monat, neue SharePoint Updates.

Wie immer hilft der Blog von Stefan Goßner mit allen Details. Dieses mal gibt es für alle drei Plattformen (2010, 2013 und 2016) Updates:

Zu beachten ist, dass das Update für SharePoint 2016 das Feature-Pack 2 beinhaltet.

Zusätzlich gibt es über WSUS für SharePoint 2010, 2013 und 2016 auch Sicherheits-Updates.

Bei den Sicherheitsupdates über WSUS ist zu beachten, dass nach der Installation (wie immer) auch der PSConfig-Wizard auszuführen ist.

Eine komplette Übersicht über alle verfügbaren Patches sowie den jeweiligen Build-Nummern als auch z.T. sehr ausführlichen Patch-Notizen gibt es unter https://sharepointupdates.com/Patches.