How to: Sitecore Content Search – Globale LINQ Filter anwenden

Sitecore Global Linq Filter

Seit der Sitecore Version 7.2. ist es möglich, für die Content Search LINQ Filter zu implementieren, die automatisch bei jedem LINQ Query angewendet werden. Dadurch können “statische” Filter wie z.B. die Einschränkung nach Kontextsprache einmalig angegeben werden und brauchen somit nicht bei jeder Abfrage berücksichtigt zu werden.

Um globale LINQ Filter einzubinden, muss die Pipeline <contentSearch.getGlobalLinqFilters> erweitert werden:

Achtung: Das folgende Beispiel ist bis einschließlich der Sitecore Version 8.1 möglich.

[xml]
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">;
<sitecore>
<pipelines>
<contentSearch.getGlobalLinqFilters>
<processor type="Comspace.Demo.GlobalLinqFilter.ContextLanguageLinqFilter, Comspace.Demo.GlobalLinqFilter"/>
</contentSearch.getGlobalLinqFilters>
</pipelines>
</sitecore>
</configuration>
[/xml]

Die Klasse ContentLanguageLinqFilter erbt von der bereitgestellten Basisklasse ApplyGlobalLinqFilters, welche zwei überschreibbare Funktionen bereitstellt:

  • Process(QueryGlobalFiltersArgs args)
  • GetQuery(QueryGlobalFiltersArgs args)

Um nun nach der aktuellen Sprache zu filtern, muss die Query angepasst werden. Hierfür wird die Funktion GetQuery überschrieben:

[csharp]
namespace Comspace.Demo.GlobalLinqFilter
{
public class ContextLanguageLinqFilter : ApplyGlobalLinqFilters
{
protected override object GetQuery(QueryGlobalFiltersArgs args)
{
var query = (IQueryable<SearchResultItem>)args.Query;
return query.Where(i => i["_language"].Equals(Sitecore.Context.Language.Name));
}
}
}
[/csharp]

In diesem Beispiel wird das Objekt args.Query in den Typen IQueryable<SearchResultItem> umgewandelt.

GlobalLinqFilter ab Sitecore Version 8.2

Mit der Sitecore Version 8.2 ändert sich die Verwendung von Queries im Sitecore, sodass ein allgemeines Casting in den Typen IQueryable<SearchResultItem> nicht mehr möglich ist. Wird ein GlobalLinqFilter wie oben beschrieben eingesetzt, wirft Sitecore bereits bei der Initialisierung bzw. beim Öffnen des Sitecore Content Editors eine Exception:

[text]
Das Objekt des Typs "Sitecore.ContentSearch.Linq.Parsing.GenericQueryable`2[Sitecore.ContentSearch.SearchTypes.SearchResultItem,Sitecore.ContentSearch.Linq.Solr.SolrCompositeQuery]" kann nicht in Typ "System.Linq.IQueryable`1[Sitecore.Social.Search.SearchItem]" umgewandelt werden.

[/text]

Und jetzt?

Zu der Verwendung von GlobalLinqFilter existiert keine nennenswerte Dokumentation. Auch Google liefert nur ein mageres Beispiel von Coveo, das aber nicht für Sitecore ab Version 8.2 geeignet ist.

Der daher konsultierte Sitecore Support stellt folgende Lösung zur Verfügung:

[csharp]
public override void Process(QueryGlobalFiltersArgs args)
{
if ((args != null) && (args.Query != null))
{
Type queryElementType = args.QueryElementType;
if (queryElementType == typeof(SearchResultItem))
{
args.Query = this.GetQuery&lt;SearchResultItem&gt;(args);
}
}
}

protected object GetQuery<T>(QueryGlobalFiltersArgs args) where T : IObjectIndexers
{
var query = (IQueryable<T>)args.Query;

return query.Where(i => i["_language"].Equals(Sitecore.Context.Language.Name));
}
[/csharp]

In diesem Beispiel wird nicht mehr die überschreibbare Funktion GetQuery verwendet, sondern eine eigene, generische Funktion implementiert. Ziel ist es, die Query, die im GlobalLinqFilter als Typ object übergeben wird, in den Zieltypen umzuwandeln. Hierfür liefern die QueryGlobalFiltersArgs auch die QueryElementType-Eigenschaft mit.

Problem: Ein Objekt lässt sich nicht mithilfe einer Variablen typisieren.

Lösung: Um GlobalLinqFilter trotzdem anwenden zu können, muss nun also die Process Methode überschrieben werden. Darin wird der übergebene Typ geprüft und anschließend mit einer expliziten Typisierung die GetQuery<T> Funktion aufgerufen.

Vorteil:

  • Es werden nur solche Queries eingeschränkt, die auch erwünscht sind, da die Abfrage explizit in der Process Methode angegeben muss.

Nachteil:

  • Werden mehrere spezielle Typen von SearchResultItem implementiert, z.B. ExtendedSearchResultItem, DateSearchResultItem, etc. muss für jeden dieser Typen eine Abfrage im GlobalLinqFilter eingerichtet werden.

Der Nachteil äußert sich in der Implementierung dann folgendermaßen:

[csharp]
public override void Process(QueryGlobalFiltersArgs args)
{
if ((args != null) && (args.Query != null))
{
Type queryElementType = args.QueryElementType;
if (queryElementType == typeof(SearchResultItem))
{
args.Query = this.GetQuery<SearchResultItem>(args);
}
if (queryElementType == typeof(ExtendedSearchResultItem))
{
args.Query = this.GetQuery<ExtendedSearchResultItem>(args);
}
}
}
[/csharp]

Zusammenfassung

GlobalLinqFilter sind ein probates Mittel, um Queries standardmäßig nach bestimmten Kriterien zu filtern. Kriterien können neben der hier gezeigten Sprache auch Sicherheitskriterien, Templates oder Sites sein. Wenn nicht exzessiv spezielle SearchResultItem Typen implementiert wurden und somit der oben beschriebene Nachteil eher überwiegt, ist die Nutzung von GlobalLinqFilter zu empfehlen.

Übrigens: Wen das Thema Sitecore Content Search interessiert, findet hier einen Einstieg in das Thema Sitecore Solr Content Search – Facettensuche richtig anwenden.

 

Sitecore Solr Content Search – Facettensuche richtig anwenden

Sitecore Solr Content Search

Eine Facettensuche eignet sich insbesondere für folgende Anwendungsfälle:

  • Ermittlung von Kategorien
  • Implementierung einer Sortierungsfunktion
  • Implementierung eines Filterelements auf einer Suchseite

Wie eine Facettensuche implementiert wird, ist in der Sitecore Dokumentation zu finden. Darin wird folgendes Beispiel gegeben:

[csharp]
var results = queryable.FacetOn(d => d.Name);
var facets = results.GetFacets();
foreach (var category in facets.Categories)
{
Console.WriteLine(category.Name);
   foreach (var facetValue in category.Values) {
       Console.WriteLine("{0}: {1}", facetValue.Name, facetValue.Aggregate);
   }
}
[/csharp]

Als Ergebnis erhält man eine Auflistung einer Kategorie (category.Name) aller zugewiesenen Werte des Feldes „Name“ (d.Name).

Beispiel: Produkte nach Serien filtern

Ein Beispiel: Es existiert ein Index mit Produkten. Diese Produkte sind einer Serie zugeordnet. Als Feature möchte man nun alle Produkte einer bestimmten Serie filtern können. Um einen Filter zu implementieren, kann eine Facettensuche wie im oben zu sehenden Beispiel verwendet werden. Es ist lediglich eine Änderung erforderlich:

[csharp]
var results = queryable.FacetOn(d => d[“Serie”]);
[/csharp]

Die Suche ermittelt somit alle Inhalte, die an indizierten Produkten im Feld “Serie” enthalten sind. Das Ergebnis kann anschließend in ein Benutzersteuerelement eingefügt werden.

Facettensuche mit Solr

Wenn eine Facettensuche auf einem Objekt vom Typ Queryable angewendet wird, die zuvor bereits einen Filter enthält, z.B.

[csharp]
queryable.Where(d => d.Language.Equals("en")
[/csharp]

funktioniert die Facettensuche mit Solr nicht mit dem oben angegebenen Beispiel (anders als bei einer Facettensuche mit Lucene), da hier als Ergebnis immer alle Facetten zurückgegeben werden, unabhängig von der Einschränkung durch den Filter.

Solr Hint: Facet.mincount Parameter

Der Grund: Standardmäßig werden bei einer Solr Facettensuche alle Facetten zurückgegeben. Verantwortlich ist hierfür der Facet.mincount Parameter, der als defaultValue “0” zurückgibt. Somit werden auch Facetten zurückgegeben, zu denen der Filter keine Ergebnisse zurückgibt.

Um dieselbe Funktionalität wie bei einer Facettensuche mit Lucene herzustellen, muss der Facet.mincount Parameter überschrieben werden, wie im folgenden Beispiel zu sehen ist:

[csharp]
var results = queryable.FacetOn(d => d[“Serie”], 1);
[/csharp]

Der zweite Parameter der FacetOn() Methode gibt den minimumResultCount an, welcher dem Facet.mincount Parameter entspricht. Gibt man hier beispielsweise den Wert “1” an, wird bei einer Facettensuche nur ein Ergebnis zurückgegeben, dessen Elemente mindestens einmal in einer Suche mit entsprechenden Filtern vorkommen. Im vorherigen Beispiel werden somit nur Elemente aufgelistet, die in der Sprache “en” vorliegen.

Trivia

Der für diesen Anwendungsfall konsultierte Sitecore Support hat das unterschiedliche Verhalten der Facettensuche mit Lucene bzw. Solr als Bug in der Sitecore Version 8.2. rev. 161115 (Update 1) eingestuft und unter der Public reference number 95560 eingeordnet. Als Hotfix wird die Angabe des minimumResultCount wie zuvor beschrieben empfohlen.

Wenn Sie neben der Facettensuche auch noch Ihre LINQ Abfragen verschlanken möchten, finden Sie hier einen weiteren Tipp: How to: Sitecore Content Search – Globale LINQ Filter anwenden

1 Jahr e-Spirit Usergroup – ein Rückblick

ESUG Gründungsveranstaltung

Die e-Spirit Usergroup (kurz ESUG) traf sich vor rund einem Jahr zur ersten Veranstaltung und hat nun offiziell den Status eines eingetragenen Vereins verliehen bekommen.

Die ESUG bietet FirstSpirit-Entwicklern und -Anwendern eine Community zum Austausch und Netzwerken – unabhängig vom Hersteller. Dabei verfolgt der Verein ausdrücklich keine kommerziellen Ziele.

Was ist die e-Spirit Usergroup?

Die e-Spirit Usergroup ist eine unabhängige Community für Anwender, Kunden und Partner. Diese sorgen in Zusammenarbeit für die Erarbeitung von praxisnahen Lösungen und Features und damit für eine verbesserte Kundenorientierung.

Einerseits können so Synergien durch den aktiven Austausch von Erfahrungen und Wissen geschaffen und genutzt werden, andererseits dient die ESUG gegenüber dem Hersteller e-Spirit als Interessenvertretung.

Themen auf den e-Spirit Usergroup Treffen

Hier ein Überblick über Themen, die im Rahmen der Veranstaltungen der Usergroup bereits behandelt wurden:

  • Generische Suchfunktion auf Basis von Solr
    Hier wurde eine Suchintegration vorgestellt, die mit Apache Solr auf Basis der FirstSpirit UX-Bridge entwickelt wurde. Die performante und skalierbare Suchfunktion geht über eine Volltextsuche hinaus, indem sie die Inhalte im Suchindex mit zusätzlichen Metadaten anreichert und alle Funktionen und Komponenten mitliefert, die für die Suche im Front- und Backend benötigt werden.
  • Betrieb von Web Content Management System-Infrastrukturen
    In einem anschaulichen Praxisbericht wurden Einblicke in die internen Abläufe und Prozesse des Betriebs einer WCMS-Umgebung gegeben und diskutiert. Wie werden kundenseitige Änderungswünsche aufgenommen, konzeptioniert und umgesetzt? Welche Erfolgsfaktoren sind für die jeweiligen Service-Level entscheidend und wie wird ein Wissenstransfer in Richtung Entwicklung realisiert und dokumentiert?
  • Portallösungen auf Basis von Liferay
    An konkreten Einsatzszenarien von Enterprise-Portalen auf der Grundlage von Liferay wurde das Zusammenspiel dieser Software mit FirstSpirit verdeutlicht. Neben der Vorstellung und näheren Betrachtung der Open Source-Portallösung stand auch die Integration in bestehende Umgebungen im Fokus. Eingegangen wurde auf den Funktionsumfang und die Stärken, aber auch auf die Herausforderungen, die bei solchen Projekten auftreten können.
  • Leadmanagement und Inbound-Marketing
    In diesem Panel drehte sich alles um die Qualifizierung von Leads und Conversions. Durch Analyse können die idealen Kommunikationskanäle bestimmt werden. Qualitativ hochwertige Inhalte ermöglichen eine relevante, differenzierte User-Ansprache. Durch personalisierbare Webseiten-Elemente wird die Segmentierung und zielgruppenspezifische Kommunikation zusätzlich unterstützt und durch Mehrwerte für die Nutzer, wie e-Books, Downloads oder Webinare kann die Conversion verbessert werden. Auch hier kann eine CMS-Technologie durch automatische Prozesse, wie der Versand einer Follow-Up E-Mail, das Marketing unterstützen.

Diese Themen machen in ihrer Bandbreite den Mehrwert und praktischen Nutzen einer Usergroup deutlich.  

Win-Win-Situation

comspace ist Gründungsmitglied der e-Spirit Usergroup und mit seinem Geschäftsführer Andreas Kämmer auch im Vorstand vertreten. Unsere Kunden profitieren gleich mehrfach: Einerseits laden die Usergroup-Veranstaltungen auch alle FirstSpirit-Kunden zum aktiven Netzwerken und fachlichen Austausch ein, andererseits können wir unser langjähriges Wissen aus zahlreichen FirstSpirit Projekten einbringen und weiter ausbauen.

Der fachliche Austausch schafft eine Win-Win Situation für alle Seiten. Der Hersteller kann seine Partner und Kunden aus erster Hand über seine Strategien und Zukunftspläne informieren. Die Usergroup wiederum kann eine direkte Einschätzung zu geplanten Funktionen und Features geben und Kundenfeedback und -bedürfnisse an den Hersteller weiterleiten.

Jeder Teilnehmer kann sich mit seinem Wissen, aber auch seinen Problemen und Anliegen in die Veranstaltungen einbringen. Daher unsere Einladung an Sie:  Die Usergroup ist eine offene Community und freut sich stets über neue Mitglieder!

Der lange Weg zum Verein

Die Gründungsveranstaltung liegt nun ziemlich genau ein Jahr zurück. Am 26. Januar 2016 stieß das erste Usergroup-Treffen bereits auf großes Interesse. Mittlerweile hat sich die Mitgliederzahl stetig erhöht. Seit dem 04.10.2016 ist die e-Spirit Usergroup nun auch offiziell ein eingetragener Verein. Die Satzung regelt hierbei alles Notwendige rund um Rechte und Pflichten der Mitglieder und des Vorstands, Zweck des Vereins und Voraussetzungen zur Mitgliedschaft. An dieser Stelle sei nochmals die Gemeinnützigkeit des Vereins betont.

Ausblick

Mit der Vereinsgründung hat die ESUG einen großen Schritt nach vorne gemacht und mit den regelmäßigen Veranstaltungen bietet sie eine hervorragende Plattform, sich mit anderen Experten abseits vom Arbeitsalltag zu den technischen Möglichkeiten von FirstSpirit auszutauschen. Der intensive Dialog unter Partnern und Kunden und das Vorstellen von Anwendungsbeispielen, neue Modulen, Schnittstellen-Implementierungen etc.  stehen bei den Treffen im Vordergrund.

Übrigens: Das nächste Treffen der e-Spirit Usergroup findet am 07. Februar 2017 am Sheraton Airport Conference Center in Frankfurt statt. Seien Sie dabei und melden Sie sich noch an!

Für das Event sind Vorträge zu folgenden Themen geplant:

  • Content-as-a-service (CaaS) – Ein erster Erfahrungs- und Meinungsaustausch
  • Celum Connect – Die Anbindung von Celum an FirstSpirit
  • Modulintegration: Anbindung des Universal Messengers an Monday Webforms
  • Ein offener Meinungsaustausch: Neues (inkrementelles) Vorgehen bei den Versionen

Des Weiteren ist ein interaktives Forum vorgesehen, in denen parallel diese Themen diskutiert werden können:

  • Performancefragen zu FirstSpirit und an e-Spirit
  • Die Migration auf Version 6
  • Das neue e-Spirit Partnermodell

Wir freuen uns auf jeden Teilnehmer und jeden Beitrag zur Weiterentwicklung der ESUG!

5 Fragen zu gelungenem Projektmanagement

comspace Siteclinic Karrierewebseiten Optimierungspotenzial HRIC 2016

Das Projektmagazin hat im Zuge einer Blogparade die folgenden Fragen gestellt:

1. Ist ein guter Projektleiter mit jeder Methode erfolgreich?

und

2. Was glauben Sie, was ein Projektleiter in erster Linie braucht, um komplexe Projekte im Griff zu behalten?

Mit unserer Teilnahme an der Blogparade wollen wir der Frage auf den Grund gehen, was wichtiger ist: Die Projektmanagement-Methode oder die Persönlichkeit des Projektleiters, aber auch ganz praktische Erfahrungen aus dem Projektleiter-Alltag erfragen.

Projekt-Management stellt bei comspace einen großen Bestandteil des Tagesgeschäfts dar. Darum haben wir unsere Mitarbeiter_innen gebeten, die beiden Fragen von Projektmagazin und 3 weitere, die wir uns selbst gestellt haben, zu beantworten. Hier habe ich die Antworten von Tatev und Tilmann einmal zusammen gefasst:

1. Was war die wertvollste und lehrreichste Erfahrung (positiv oder negativ), die Du in Deiner Projektmanagement Karriere gemacht hast und warum?

Tatev:
Ich habe immer wieder die Erfahrung gemacht, dass der Spruch “Sage mir wie dein Projekt startet und ich sage dir, wie es zu Ende geht” wirklich Wahrheitsgehalt hat. Leider passiert es immer wieder, dass Anforderungen zu Beginn des Projektes rein kommen, die sehr ungenau sind und somit einen labilen Grundstein fürs Projekt legen, wie z. B. “macht das, wie der Wettbewerber es hat.”

Eine besonders positive Erfahrung hatten wir in einem agilen Projekt, in dem wir als eine der unzählig vielen Dienstleistern tätig waren. Da wir nie in den Scrum Plannings dabei waren, konnten wir oft das Big Picture nicht erkennen und wussten im Team nicht, was am Ende des Sprints wirklich als Ergebnis rauskommen sollte. Nach mehrmaligem Insistieren wurden wir endlich durch Telefonkonferenz in die Plannings eingebunden und konnten ab dann eine enorme Effizienz im Team, sowie eine immer besser laufende Zusammenarbeit mit dem Kunden feststellen!

Tilmann:
Wertvoll und lehrreich? Im Projekt ist nur das “Wir” erfolgreich. Ist ein Projekt erst einmal in einer Situation bei der es darum geht seine Position zu schützen, nur seine “Munitionskisten” für die Eskalationen zu füllen ist das Projekt quasi gescheitert.

Positiv war die Erfahrung, dass ich von anderen Projektleitern gelernt habe, immer Erledigungstermine an Arbeitspakete zu schreiben. Selbst wenn die Termine nicht gehalten werden konnten, ist eine Aufgabe ohne einen Termin nicht ausreichend definiert. Ein “das wird schon” hilft nicht.

2. Mit welcher Projektmanagement-Methode hast Du die besten Erfahrungen gemacht und warum?

Tatev:
Je nach Projektkategorie und -Größe sollte die Auswahl der Methoden und Tools natürlich maßgeschneidert sein. Ich persönlich halte die Methode der Projektstrukturierung (PSP) für das wichtigste Planungsinstrument des Projektleiters. Darüber hinaus gehe ich vom Minimalen aus: ein Terminplan und ein Kostenplan inkl. die Ressourcenplanung reicht meistens aus, einen guten Überblick zu behalten und das Projekt zu tracken.

Tilmann:
Ich denke eher in Werkzeugen oder Instrumenten beim Projektmanagement. Dazu gehören eben vor allem die Strukturpläne und deren Fortschreibung im Projekt. Da ich nach IPMA im Level D zertifiziert bin, finde ich den Ansatz aber auch gut, dass es neben den Werkzeugen auch um den ganzheitlichen Blick auf das Projekt geht.

3. Ist ein guter Projektleiter mit jeder Methode erfolgreich? bzw. Was ist wichtiger: Die Projektmanagement-Methode oder die Persönlichkeit des Projektleiters?

Tatev:
Einen guten Projektleiter macht seine Persönlichkeit sowie seine strukturierte Arbeitsweise aus. Daher glaube ich, dass ein guter Projektleiter auch die für ihn adäquaten Methoden für sich herausfindet und aktiv anwendet.

Grundsätzlich sollte sich aber keine Projektleitung hinter einem System bzw. Tool verstecken. Denn Projektleitung ist in erster Linie lebendige und persönliche Kommunikation mit allen Stakeholdern!

Tilmann:
Sowohl als auch. Ich glaube nicht jeder kommt mit jeder Methode zurecht und nicht jede Methode passt ins Projekt. Daher ist ja das ganze Projektumfeld so wichtig

Was glaubst Du, was ein Projektleiter in erster Linie braucht, um komplexe Projekte im Griff zu behalten?

Tatev:
Strukturierte Denkweise; Die Fähigkeit, das Team zu motivieren und eine offene Vertrauenskultur im Team zu schaffen, um rechtzeitig ehrliche Rückmeldungen zu Meilensteinen, Problemen und gebuchten Zeiten zu erhalten.

Gute Kommunikations-Skills sowie eine Macher- / Treiber-Mentalität und Dynamik.

Tilmann:
Durchblick und Organisationsvermögen. Außerdem ist es eben wichtig, sich immer Gedanken darüber zu machen, wie der tatsächliche Fertigstellungsgrad ist in einem Arbeitspaket. Hier herrscht aus verschiedenen Gründen der Hang zu Verschleiern und zu Ungenauigkeiten.

Ich glaube auch, dass es ganz wichtig zu Beginn des Projektes ist, festzulegen wie die Fertigstellungsgrade gemessen werden. Eine Meilensteinplanung und die Meilensteintrendanalyse geben mir da zu wenig Infos über Steuerungsmöglichkeiten.

Welchen praktischen Tipp würdest Du jemandem geben, der neu mit dem Aufgabenfeld Projektmanagement in Berührung kommt?

Tatev:
Die Betroffenen zu Beteiligten machen! Es ist unglaublich, wie viel schief laufen kann, wenn man in einem komplexen Projekt nicht alle Dienstleister an einen Tisch zusammenbringt und miteinander direkt kommunizieren lässt. Dazu gehört auch alle wichtigen Stakeholder rechtzeitig zu informieren, abzuholen und in das Projekt-Geschehen zu integrieren. Manchmal auch nach dem Prinzip “Tue Gutes und rede darüber”.

Tilmann:
Einen Satz aus den Seminaren zur Vorbereitung der Zertifizierung klingt mir immer noch nach: „Sage mir wie dein Projekt anfängt und ich sage dir, wie es endet.“ Ich glaube die Anfangsphase eines Projektes wird immer unterschätzt. Leider. Die richtigen Weichen stellen und lieber etwas mehr Zeit in das Projekt-Design investieren und tatsächlich eine Stakeholder-Analyse fahren und Ziele genau definieren sind gut investierte Aufwände. Eine festgefahrenen Projektsituation läßt sich nicht so einfach retten. Aber natürlich braucht es das Standing von Neulingen gerade wenn man so in das Projektmanagement reinwächst.

Und ganz wichtig ist: Hört zu. Denn nur wer zuhört erkennt alle Erfolgsfaktoren für das Projekt.

Vielen Dank an Tatev und Tilmann für die Einblicke in ihre Erfahrung und Know-how als Projektleiter.

Servus! aus München von der Sitecore Usergroup

Auch das neue Jahr startet wieder mit einem herausragenden Sitecore Usergroup Treffen, das erste Mal im Süden Deutschlands, in München. Dank der Firma CELUM durften wir dieses Mal Gäste in den wunderschönen Design Offices im Arnulfpark München sein.

Eingang zum DesignOffice

Die Agenda

Die Agenda versprach auch dieses Mal wieder hochinteressante Themen:

    • Gerd Laski & Michael Sahlender, CELUM: Besser, schneller, effektiver – Wie Sie mit Digital Asset Management Ihre Geschäftsprozesse optimieren
    • Friederike Heinze, comspace: CELUM Connector und das Sitecore Data Exchange Framework
    • Maksym Ponomarenko, netzkern AG: Sitecore und Salesforce
    • Christian Handel, ecx.io – an IBM company: Getting Started with Unicorn Item Synchronization
    • Mark Cassidy, CassidyConsult: An awesome presentation about the Rules Engine
    • Chris Wojciech, netzkern AG: Build a very simple Website Demo with Sitecore Experience Accelerator (SxA)
    • Get Together im Augustiner-Keller zu München

Kurzvorstellung CELUM – Das Digital Asset Management

Im ersten Beitrag des Tages stellten sich die Gastgeber von CELUM, der Geschäftsführer Deutschland Michael Sahlender und der Director Partner Management Gerd Laski vor und erläuterten, was ihr Produkt CELUM DAM für Vorteile und Nutzen bietet. So können über das DAM die Rechte an digitalen Medien zentral verwaltet und gesteuert werden. Außerdem kann verfolgt werden, welche Inhalte in welche Kanäle publiziert wurden. Zusätzlich bietet das CELUM DAM viele Schnittstellen zu anderen Systemen, sei es ERP/PIM, Ecommerce oder andere Umgebungen. Weitere Informationen zum CELUM DAM gibt es hier.

Präsentation CELUM

CELUM Connector und das Sitecore Data Exchange Framework

Die Vorstellung von CELUM bot eine gute Überleitung zum eigentlich Sitecore Thema – Ein Celum Connector, der mithilfe des Sitecore Data Exchange Framework umgesetzt wurde. In der kurzweiligen Präsentation (Wenn die Hardware nicht so mitmacht wie geplant, muss man eben improvisieren…;-)) konnte Friederike Heinze (@ilovesitecore) allen Interessierten aufzeigen, wie einfach die Contentpflege mit direkt synchronisierten Inhalten aus dem CELUM DAM ist.

CELUM Connector
CELUM Connector – Hardware Herausforderung

Und was steckt dahinter?

Für den CELUM Connector bzw. die Synchronisation zwischen DAM und CMS wird das Sitecore Data Exchange Framework verwendet. Was genau dahinter steckt, beschreibt Friederike in einem eigenen Blogbeitrag.

Leadgenerierung mit Sitecore und Salesforce

Wie auf einfache Art und Weise Leads im CRM System Salesforce generiert werden können, hat Maksym Ponomarenko mit dem Salesforce Connect Module demonstriert. So können beispielsweise im Zusammenspiel mit dem Web Forms for Marketers Modul einfache Save Actions implementiert werden, die bei einer Newsletter-Anmeldung oder einer Kontaktanfrage Formularinhalte direkt ins CRM aufnehmen.

Salesforce CRM Modul

Unicorn Item Synchronization

Jeder, der sich schon einmal mit dem Sitecore Habitat auseinandergesetzt hat, wird zumindest auch schon etwas über das Serialisierungstool Unicorn gehört haben, mit dem Sitecore Items in verschiedenen Umgebungen synchronisiert werden können. Im Gegensatz zu Team Development for Sitecore (TDS), das als kommerzielles Produkt von Hedgehog vertrieben wird (die Kollegen von Hedgehog durften wir bei der letzten SUG als Gäste begrüßen), ist Unicorn als OpenSource im Git verfügbar. Somit kann es frei und vor allem einfach per NuGet Package installiert werden:

PM> Install-Package Unicorn

Christian Handel hat in seinem Beitrag veranschaulicht, wie Unicorn eingerichtet werden muss und wie es grundsätzlich funktioniert. Als rein dateibasierte Synchronisation werden Änderungen live übernommen und können mit bewährten Versionierungstools wie Git, TFS oder SVN verteilt werden. Die YAML-basierte Item Serialisierung ermöglicht dabei auch bei Versionskonflikten eine einfache, weil lesbare Konfliktbehebung.

Insgesamt konnten dabei Vor- und Nachteile gegeneinander abgewogen werden. Unter den Zuhörern zeigte sich jedoch, dass Unicorn zumindest in der deutschen Community noch kein festes Standbein besitzt. Auf Nachfrage, welches Synchronisationstool verwendet wird, meldeten sich die meisten für TDS.

Unicorn

Sitecore Rules Engine – Mark zaubert

Mark Cassidy von Cassidy Consult, mittlerweile gefühlt Stammgast bei der SUG, hat auf beeindruckende Art und Weise demonstriert, wie man mit wenigen Handgriffen mit Sitecore Rules das Verhalten von Interaktionen im Sitecore beeinflussen kann. Als Beispiel diente der Anwendungsfall, Items hinzuzufügen. Die Präsentation sowie alle gezeigten Codebeispiele wurden von Mark auf GitHub veröffentlicht.

Build a very simple SxA website

Schon wieder ein neues Sitecore Modul

Als letzten Beitrag konnte dieses Mal Chris Wojciech mit seiner Demonstration des SxA (Sitecore Experience Accelerator) überzeugen. Mit dem typischen Beispiel “Build a very simple website” (quasi “Hello World!”) hat er in rund 15 Minuten eine Seite aufgebaut, ohne dafür eine Zeile selbst programmieren zu müssen.

Der SxA liefert dafür die gängigen Module und Konfigurationen out-of-the-box. Insbesondere für die Konzeptions- und Designphase geeignet, ist es als besonderes Feature möglich, mit dem SxA erstellte Wireframes zu exportieren. Der Html-Export kann dann von Frontendentwicklern gestylt werden und anschließend wieder nach Sitecore in das SxA Modul importiert werden. Das fertige Design ist dann direkt nutzbar. Weitere Informationen zum Modul können direkt bei Sitecore bezogen werden: Sitecore Experience Accelerator.

Get Together! Ab in den Keller!

Wo sonst sollte man in der bayerischen Hauptstadt ein Get Together veranstalten, wenn nicht in einem bayrischen Wirtshaus, in dem Bier ausgeschenkt wird. Daher ging es in den Augustiner-Keller – und zwar wörtlich. Um in den Lagerkeller zu gelangen, musste zuerst eine gefühlt 15m lange Wendeltreppe bewältigt werden. Unten angelangt, bot sich jedem ein uriges Bild, was man sogar auf Google Maps begutachten kann. Neben “Brezn” und traditionellen Gerichten kam schnell die bewährte Get Together-Stimmung auf.

Der Schneeballeffekt

Auf dem mittlerweile achten Sitecore User Group Treffen hat sich gezeigt, dass die Community immer größer wird. Mit offiziell über 50 TeilnehmerInnen waren so viele dabei wie an keinem anderen Treffen zuvor. Falls ihr noch nicht dabei wart, aber beim nächsten Mal gerne mitmachen möchtet, schaut doch mal in der XING Gruppe Sitecore User Group Deutschland vorbei. Das nächste Treffen findet voraussichtlich im April in Bremen statt. Seid gespannt! Ich freue mich drauf!

 

Best Practice: Umzug dynamischer Websites in die Cloud

Webinar Umzug von Websites in die Cloud

Der Umzug einer Website in die Cloud kann für Unternehmen eine sinnvolle Alternative zum Server-Hosting sein: Vorteile wie flexible Skalierbarkeit, weltweite Content-Verteilung, geringere Kosten und die Steigerung der Geschwindigkeit im Deployment machen die Cloud vor allem für Unternehmen interessant, die an weltweit verteilten Standorte arbeiten.

Unser Webinar: Umzug in die Cloud am Beispiel des Dornbracht-Händlerportals 

Für unseren Kunden Aloys F. Dornbracht haben wir das Händlerportal beste-badstudios.de, das auf dem Sitecore CMS basiert, in die Microsoft Azure Cloud gebracht. Welche Vorüberlegungen wir dabei angestellt haben und wie sich der Umzug vollzogen hat, haben wir in Kooperation mit unserem CMS-Partner Sitecore in einem Webinar mit dem Thema “Umzug in die Cloud: Flexible, dynamische Websites und Digital Marketing am Beispiel beste-badstudios.de” gezeigt.

In dem Webinar in der vergangenen Woche hat unser Head of Account Management Johannes Tappmeier die verschiedenen Cloud-Möglichkeiten und die Vorteile der Microsoft Azure Cloud im Zusammenspiel mit Sitecore vorgestellt. Außerdem zeigt er, welche konkreten Schritte für den Umzug unseres Kundenprojekts beste-badstudio.de in die Azure Cloud nötig waren.

Dies sind die Webinar-Inhalte im Überblick:

  • Vorstellung des Händlerportals und Projekts “beste-badstudios.de”
  • Vom dedizierten Server zur Cloud: Wir stellen die Cloud-Arten Infrastruktur-as-a-Service (IaaS), Platform-as-a-Service (PaaS) und Software-as-a-Service (SaaS) und die damit einhergehenden unterschiedlichen Verantwortlichkeiten für den Anwender vor.
  • Sitecore on Azure: Wie bekommt man Sitecore in die Azure Cloud? Hier gibt es zwei Möglichkeiten: Zum einen die Standard Sitecore-Installation über den Marketplace ohne die Notwendigkeit technischer Kenntnisse, zum anderen die Nutzung des Azure Resource Manager (ARM) Templates & Web Deploy Packages, die eine flexiblere Installation und Konfiguration erlauben, aber auch mehr technische Fähigkeiten voraussetzen. 
  • Vorteile der Microsoft Azure Cloud wie Skalierbarkeit, hochperformante Bereitstellung von Mediadaten, Benutzerverwaltung, Multi-Plattform Support und Datenschutz nach deutschen Standards.
  • Was macht die Kombination der Microsoft Azure Cloud mit Sitecore interessant?
  • Umzug des Händerportals beste-badstudios.de in die Azure Cloud: Sie erfahren konkret die einzelnen Schritte auf dem Weg in die Cloud. U.a. wird erläutert, welche Cloud-Art wir für welche Anwendung genutzt haben.
  • Zum Schluss steht die Evaluierung der Lösung und ein Ausblick in die Zukunft der Azure Cloud.

Hier können Sie sich die komplette Webinar-Aufzeichnung anschauen:

Über das Portal beste-badstudios.de

Das Händlerportal DIE BESTEN BADSTUDIOS ist eine vom führenden Armaturenhersteller Dornbracht betriebene Website, auf der sich Badstudios präsentieren können. Momentan sind rund 660 Badstudios auf der Plattform vertreten. Die Verwaltung der Plattform wird von den Partnern und Dornbracht gemeinsam vorgenommen. Das Portal, das wir auf Sitecore-Basis realisiert haben, wird in der Azure Cloud betrieben.

Über die Microsoft Azure Cloud als Alternative zum Server-Hosting

Für dynamische und flexible Webseiten ist die Cloud eine echte Alternative zu dedizierten oder virtuellen Servern. Die Microsoft Azure Cloud ist eine der größten Cloud-Plattformen und stellt alle nötigen Services zur Verfügung, die das Hosting einer Corporate Website unterstützt. Aufgrund der gemeinsamen Windows-Basis ist die Azure Cloud besonders für Sitecore-basierte Websites eine interessante Lösung.

Sitecore Data Exchange Framework?

Sitecore Data Exchange Framework

In den letzten Wochen habe ich intensiv an der Implementierung eines Sitecore Celum Connectors gearbeitet. Celum ist ein Digital Asset Management System, als solches verwaltet es alle Assets zentral und liefert diese an diverse Kanäle aus – online oder auch für den Druck.
Da wir uns entschlossen haben, Bilder welche auf der Webseite zum Einsatz kommen, auch in Sitecore vorzuhalten, ist ein großer Part der Integration die Synchronisation der Bilder zwischen beiden Systemen. Beim Stichwort “Synchronisation” kam mir sofort  das im August von Sitecore veröffentlichte
Data Exchange Framework in den Sinn. Da ich damit bisher noch gar nicht gearbeitet habe, musste ich mich zunächst mal in den Umfang und die zugrunde liegende Philosophie dieses Frameworks einarbeiten. Die ersten theoretischen Ergebnisse möchte ich hier und jetzt mit euch teilen. In einem späteren Beitrag werde ich dann über meine ersten Erfahrungen aus der Praxis berichten.

Kurzdefinition

Das Data Exchange Framework dient der Verknüpfung zweier System welche Daten miteinander austauschen, es ist ein sog.  ETL-Tool.  In der Regel ist Sitecore eines der Systeme welches sich mit einem Drittsystem verbindet, das muss aber nicht so sein.

Einsatzmöglichkeiten

Zahlreiche Einsatzmöglichkeiten für das Data Exchange Framework sind denkbar. So kann das neue Framework etwa

  • Produkte > Sitecore Items
  • Externe Bilder > Sitecore Items
  • Kontakte > xDB Contacts
  • u.v.m.

verbinden. Der Einsatz kommt einfach immer dann in Frage, wenn Daten aus einem Drittsystem auch in Sitecore vorgehalten werden müssen.

Warum so ein Framework?

Noch ein Framework? Es gibt doch schon so viele Integrationen… Aber jeder Partner und jedes Modul findet seine eigene Lösungen.

Sitecore geht es mit dem Framework um eine einheitliche Anbindung, um Einfachheit, Stabilität und Wartbarkeit zu erreichen. Außerdem werden die Einstellungen, die sonst meist durch Entwickler in den entsprechenden Konfigurationsdateien vorgenommen werden (Tasks, Pipelines, Pipeline Steps), dann zukünftig als Sitecore Items konfiguriert.

Und das Beste, wie ich finde: auch das Attributmapping kann mit dem neuen Framework vollständig über die Oberfläche konfiguriert werden.

Sitecore Data Exchange Framework

Sitecore hat sich mit dem Framework folgende Ziele gesetzt:

  1. Einheitliches Modell zum lesen, schreiben und verknüpfen von Daten
  2. Flexibilität derzeitiger Ansätze beibehalten (aber nicht nur für Entwickler)
  3. Entwicklung eines Providers nicht nur für langjährige Sitecore-Experten ermöglichen.

Sitecore selbst hat auch schon erste Provider für Data Exchange Framework implementiert: Dynamics CRM Connect (Contacts, Entities), Dynamics AX (Product Catalog).

Genau solche Provider werden wir als Sitecore Partner dann zukünftig gegen die APIs der Drittsysteme unserer Kunden entwickeln. Das Mapping der Daten übernimmt dann das Sitecore Data Exchange Framework für uns.

Und was ist eigentlich das xConnect?

Sitecore hat auf dem Symposium 2016 in New Orleans das xConnect Framework für Anfang nächsten Jahres angekündigt. Beim xConnect Framework geht es um die Integration von Daten aus Drittsystemen in die Sitecore xDB. xConnect beinhaltet nicht das Attributmapping selbst, dafür ist wiederum das Data Exchange Framework zuständig.

Neugierig geworden?

Dann möchte ich euch folgende Links ans Herz legen:

  • Webinar mit Adam Conn (Director of Technical Product Management): Intro to Data Exchange Framework
  • Dokumentation Data Exchange Framework inkl. Schritt für Schritt Anleitung für die Implementierung eines eigenen Data Providers.
  • Und eine Beispielimplementierung eines File System Providers (CSV) bei GitHub .

So das war’s erstmal von mir. Jetzt tauche ich in die Umsetzung eines eigenen Data Providers ab. Ich bin gespannt…

Sitecore Analytics versus Google Analytics

Sitecore AIDA

Dank des Erfolgs von Google Analytics gibt es mittlerweile viele Möglichkeiten, Nutzerdaten rund um die eigenen Webseiten zu sammeln, zu aggregieren und auszuwerten. So liefert auch Sitecore mit Experience Analytics ein Tool, dass die Arbeit rund um das Marketing vereinfachen und konkreter machen soll. Bei all den Gemeinsamkeiten, gibt es jedoch zwischen den beiden Webanalyse-Tools deutliche Unterschiede.

Sitecore Analytics

Grundsätzliches Ziel von Sitecore Analytics ist die Erfassung sämtlicher Interaktionen auf allen eigenen Webseiten. Zukünftig will Sitecore sogar On- und Offlinedaten in ein Nutzerprofil fließen lassen – hier erfahren Sie mehr über das Modul xConnect und andere aktuelle Themen vom Sitecore Symposium 2016 in New Orleans. Darüber hinaus werden die klassischen “Web Analytics”-Funktionen um die Möglichkeiten ergänzt, die eigene Marketing-Strategie zu messen, zu überprüfen und zu verfeinern. Personalisierung und Customer Experience stehen im Fokus des “Sitecore Experience Analytics”. Dazu orientiert sich Sitecore am AIDA-Modell: Analytics, Insights, Decisions und Automation.

Sitecore AIDA
Sitecore AIDA

Vorteile von Sitecore Analytics sind:

  • Dashboard-Lösung, integriert in die Sitecore Experience Marketing-Plattform.
  • Möglichkeit der Echtzeitanalyse.
  • Path Analyzer: Dieser deckt die Herkunft und das Navigationsverhalten der User Ihrer Webseite auf.
  • Durchführung von A/B und multivariater Tests.
  • Messung und Bewertung des Nutzerverhaltens und deren Interaktion mit Ihren Webseiten-Inhalten.
  • Personalisierung: alle Informationen zu jedem individuellen User werden zu einem Profil aggregiert. Das Surfverhalten auf der Webseite, die Klicks in E-Mail-Kampagnen bis hin zu Social Media-Interaktionen können dabei einbezogen werden.
  • Gezielte Performance-Messung von Marketingkampagnen.
  • Alle Anstrengungen rund um Datengewinnung und -auswertung sind auf Marketing Automation und Predictive Marketing ausgerichtet.
  • Kostenfrei – wenn Sie bereits Sitecore-Nutzer sind.
Sitecore 8.3 PathAnalyzer
Sitecore 8.3 PathAnalyzer, Foto: Friederike Heinze

Nachteile von Sitecore Analytics:

  • Die Oberfläche ist vergleichsweise wenig intuitiv und sehr Sitecore-spezifisch.
  • Wie in allen mächtigen Tools benötigt man entsprechend Zeit um sich in die Funktionen einzuarbeiten.
  • Die Sitecore-Community ist im Vergleich zu Google eher übersichtlich und benötigtes Wissen und Informationen kann man sich nicht einfach “ergooglen”.

Was macht Sitecore Analytics jetzt so besonders? Mit der Sitecore Experience Platform können Inter-/Aktionen Werte zugeordnet werden. So können Nutzer unterschiedlich priorisiert und mit für sie relevanten Informationen versorgt werden. Diese Informationen (“business values”) liegen nur Sitecore Analytics vor und können komfortabel ausgewertet werden.

Die Möglichkeiten Traffic in Konversion umzuwandeln grenzt die Sitecore Experience Platform mit Sitecore Analytics von anderen Analyse-Tools deutlich ab.

Google Analytics

Das wohl am meisten genutzte Web-Analyse Tool sticht vor allem durch seinen umfassenden Funktionsumfang und seine attraktive Bedien- und  Nutzeroberfläche hervor.

Google Analytics Dashboard
Google Analytics Dashboard

Wie funktioniert Google Analytics?

Im Grunde gibt es 4 Prozessstufen, die durchlaufen werden:

  1. Collection – hier werden Daten gesammelt und beschafft. Die Möglichkeiten sind dabei vielfältig und reichen vom eingebundenen Javascript-Code bis zum “Measurement Protocol”, welches Daten von beliebigen, mit dem Internet verbundenen Endgeräten an Google Analytics sendet.
  2. Processing – Die erhobenen Daten werden nach Maßgabe der “Configuration” gespeichert und verarbeitet.
  3. Configuration – im Backend können individuelle Einstellungen vorgenommen werden, mit denen die gewünschten Analyse-Daten vorab festgelegt werden. Google erfasst dann nur die Daten, die im Rahmen der Konfiguration definiert wurden. Hier können fehlerhafte Einstellungen langfristige Folgen haben.
  4. Reporting – Die Daten können im letzten Schritt überwacht und ausgewertet werden. Ein übersichtliches Dashboard erlaubt einen einfachen Einstieg in Google Analytics.

Vorteile von Google Analytics sind:

  • Es ist grundsätzlich erstmal kostenlos.
  • Es ist für fast jede Unternehmensgröße geeignet.
  • Eine Google-typische intuitive Oberfläche und einfache Schnittstellenkommunikation mit anderen Google-Produkten erlauben eine komfortable Konten-Verwaltung.
  • Es existiert eine umfassende Community.
  • Informationen und Wissen sind vielseitig verfügbar, z.B. über Filter-Templates oder YouTube-Tutorials.
  • Zielvorhaben (“Goals”), wie Google die Conversion-Ziele nennt, können Aufgaben und Aktivitäten zugewiesen werden.
  • Google Analytics lässt sich mit anderen Tools Verknüpfen (Bsp.: Adwords, Adsense etc).

Nachteile von Google Analytics:

  • Die Daten erlauben keine Aussagen über einzelne Nutzer-Sessions.
  • Die Daten liegen in der Cloud bei Google.
  • Nutzer können unter Umständen das Tracking verhindern, z.B. mittels privacy-PlugIns.
  • Der Einsatz von Google Analytics 360 Suite als Enterprise-Lösung ist nicht kostenlos.
  • Gesammelte Daten werden nicht als Rohdaten, sondern nur in der festgelegten Konfiguration gespeichert.
  • Es werden durch Einsatz des “Samplings” nicht alle Daten erfasst, sondern nur hochgerechnete Stichproben.

Wo liegt der konkrete Unterschied?

Vereinfacht gesagt: Googles Stärke liegt in der Datenverdichtung und -folgerung. Das Tool liefert quasi out-of-the-box die wichtigsten KPI’s und erlaubt damit eine breit aufgestellte, einfache Berichterstattung. 

Sitecore Analytics analysiert die Nutzerinteraktionen kanalübergreifend und in einer Detailtiefe, die Google nicht bieten kann. Die Stärke liegt in der nachhaltigen und umfassenden Verfügbarkeit der Daten und vor allem der Möglichkeit, langfristig einzelne Kundenprofile detailliert anzureichern um eine 360°-Sicht auf den Kunden zu bekommen. 

Fazit

Google Analytics und Sitecore Experience Analytics sind beides wichtige Webanalyse-Tools und haben je nach Anwendungsfall, Budget und Anspruch beide ihre Daseinsberechtigung. Für ein nachhaltiges, kundenzentriertes Marketing bietet jedoch Sitecore Analytics mehr Möglichkeiten detaillierte Informationen rund um die Kunden zu gewinnen und dadurch gezielte Maßnahmen umzusetzen.

Ideal ist natürlich der gemeinsame Einsatz beider Tools, um im Zusammenspiel die Webseiten-Performance und die Effektivität von Marketingaktivitäten zu überprüfen und schließlich gezielt zu optimieren.

Trotz aller Vorteile von frei zugänglichem Wissen kann man in dieser komplexen Thematik bei all den Funktionen, Tipps und Anleitungen schon mal den Überblick verlieren, vor allem, wenn man sich nicht tagtäglich damit beschäftigt.

Sollten Sie weitere Fragen zur Webanalyse haben, sprechen Sie uns gerne an.

 

14.12.2016 – kleines Update:

Dieser Blogbeitrag reduziert und vergleicht die Eigenschaften beider Tools auf drei Ebenen nochmals anschaulich. Dabei wird deutlich das die Stärke von Google Analytics in der Segmentierung von Daten liegt und Sitecore Analytics auf angereicherte Datenprofile zur Echtzeit-Optimierung setzt.

Der vielleicht kürzeste re:publica Rückblick #rpTEN

repblica-Stickers
Die wunderbaren Sticker sind übrigens größtenteils Hinweise auf die TinCon – sozusagen die re:publica für Jugendliche

Zumindest unser kürzester 😉 Die letzten Jahre haben wir immer sehr umfangreiche re:publica Rückblicke geschrieben. Diese Mal versuchen wir uns so kurz wie möglich zu fassen und listen hier unsere Mitbringsel und Highlights auf:

  • 7000 Besucher
  • 850 Vortragende
  • 3 1/2 Tage

Neben irrsinnig vielen Gesprächen mit neuen und alten Bekannten haben wir vor allem diese Best-of Vorträge mitgebracht. Leider sind noch nicht zu allen Tipps Videoaufzeichnungen vorhanden:

 

Technisch interessantester Vortrag
AD-WARS – AUSFLUG IN DIE REALITÄT DER ONLINE-WERBUNG
Wie Online-Werbung missbraucht werden kann, um Rechner zu hacken und Trojaner zu verteilen. SEHR sehenswert:

 

Einziger Vortrag ohne PowerPoint o.ä.
VIRAL! DIE MACHT DES STORYTELLING
Prof. Pörksen ist von Berufswegen her ein großartiger Know-how Vermittler und ein noch gorßartigerer Geschichtenerzähler

 

Überraschendster Einblick
TELETEXT FOREVER – WAS DU VON EINEM 35 JAHRE ALTEN NEUEN MEDIUM LERNEN KANNST
Chefredakteurin vom ARD Teletext plauderte aus dem Nähkästchen. Danach habe ich mir die Teletext-App auf dem iPhone installiert. Für die Teletwitter-Seite 777 würde ich mir fast noch einmal einen TV kaufen.

 

Älteste digitalisierte Institution
NICHTS KOMMT DEM LANDLEBEN GLEICH: BIBLIOTHEKEN DER ZUKUNFT IN DER PROVINZ
Wie bekommt man Stadtbibliotheken auf dem Land ins Digitale? Sehr schöner Vortrag in dem auch die Stadtbibliothek Bielefeld vorkam und ich viel über die Sorgen und Nöte von frisch Digitalisierten gelernt habe 🙂

 

Bestes re:publica Comeback
Dueck vor Lobo
CARGO-KULTE

 

Bester Appell
Lobo vor Dueck
THE AGE OF TROTZDEM

 

App und vorherrschendes Thema der re:publica
Definitiv Snapchat. Die entsprechenden Talks waren auch mit Abstand die vollsten.
LET’S SNAP IT: HOW ORGANISATIONS CAN USE SNAPCHAT
Wie das Europäische Parlament Snapchat für sich nutzt

 

Kreativste Session
#BINGE-CREATING STATT BINGE-WATCHING!
Illustratorin Kiki hat den besten Tip zum Zeichnen gegeben: „Zeichne was Du fühlst und mache die Gesten, Gesichter und Bewegungen während Du sie zeichnest.“

 

Erschreckendster Beitrag
COMMERCIAL CONTENT MODERATION – DIE MÜLLABFUHR IM INTERNET!
Wer prüft eigentlich die Bilder und Videos aus sozialen Netzwerken, die von anderen Nutzern als unangemessen markiert wurden? Wobei unangemessen ein sehr, sehr harmloses Attribut ist. Erschreckend, gewaltsam, fürchterlich trifft es eher. Hier erfährt man mehr über die Menschen, die diese Arbeit machen.

 

Alltäglich hilfreichster Talk
WIE MAN DIGITAL UND ANALOG EIN RADIKAL-ACHTSAMES LEBEN FÜHREN KANN
Die Autoren von Ein Guter Plan haben das Konzept Achtsamkeit erklärt und sehr praktische Beispiele gegeben, wie es sich einfach umsetzen lässt.

 

Zwiegespaltener Vortrag
CONTENT MARKETING: DER VORMARSCH DER PSEUDO-JOURNALISTEN
Ein Journalismus Professor, der Content Marketing prinzipiell gut erklärt hat, zwischen den Zeilen aber den Standpunkt vertrat „Ins Internet dürfen eigentlich nur Journalisten schreiben. Wo kommen wir denn hin, wenn Volkswagen plötzlich selber über den Abgsaskandal berichten darf?“ Leider etwas welt- und praxisfremd. Die (in Teilen durchaus berechtigte Kritik) ging durch die offensichtlich eigene Agenda unter.

 

Kulturell spannendster Beitrag
IHR WOLLT AUF WELTREISE GEHEN? TRETET IN DAS PORTAL EIN!
14 golden lackierte Frachtcontainer stehen auf der Welt verteilt. Einer davon vor dem re:publica Gelände. Geht man in den Container trifft man einen Menschen der in einem der anderen Container auf der Welt steht und kann sich unterhalten. Wunderbar einfach und erstaunlich beeindruckend dank des gegenseitig sichtbaren Bildes in voller Größe.

Portals-re-publica-kunstprojekt
Links: PORTAL Container von außen – rechts: Gespräch mit Khalidin live in Afghanistan im innern

 

Großartigster Zukunftsausblick
THE SHAPE OF THINGS TO COME
Jeff Kowalski, CTO bei Autodesk zeigt wie 3D Drucker eine Brücke produzieren, die Roboter bauen. Was Big Data im Autobau bedeuten kann und was intelligente Roboter können

 

Physische Mitbringsel

  • #rpTEN T-Shirt. TEN in Spiegelschrift liest sich übrigens NET.
  • oben ersichtliche Aufkleber
  • unten ersichtliche Google-Goodies. USB-Kabel mit Datenblocker und Authentification Dongle

re-publica-google-internet-sicherheit

SUGCON 2016 in Kopenhagen – Rückblick auf Tag 2

Über den ersten Tag der SUGCON habe ich hier bereits berichtet. Am zweiten Tag ging es mit den Sessions genau so intensiv weiter.

Active Commerce: How we use SIM, PowerShell, Octopus Deploy, and Azure to automate product builds

Nick Wesselman hat zunächst kurz das Active Commerce E-Commerce System bzw. das darunterliegende Framework, basierend auf dem Sitecore E-Commerce Service (SES) vorgestellt. Das SES wird nicht mehr von Sitecore supported, ist aber Open Source und wurde auf GitHub veröffentlicht.

Anschließend hat Nick die intern etablierten Build- und Deployment-Prozesse und Tools vorgestellt. Meine Erkenntnis: PowerShell, PowerShell, PowerShell 🙂

BuildAndDeploymentProcess

Deep Dive – You, me and Sitecore MVC

Kern Herskind Nightingale hat mit Begeisterung einen Einstieg in MVC gegeben. Ist aber auch auf sehr konkrete Probleme und Lösungsansätze eingegangen:

WebForms sind Vergangenheit, MVC ist die Zukunft. Sein klarer Wunsch: Annäherung von Sitecore MVC an ASP.NET MVC.

Hedgehog Development – Sponsor Technical Highlights

Hedgehog als Sponsor hat kurz das TDS vorgestellt, was natürlich mehr kann als nur Items zu synchronisieren 😉

Wenn ihr interesssiert seid, findet ihr in diesem Blog-Beitrag von mir mehr Infos zum TDS.

Super Charge your Continuous Integration Deployments

Nikola Gotsev hat über CI-Prozesse im Allgemeinen und Best Practises zum Thema Branches, Frontend-Integration, Testing und den dafür erforderlichen verschiedenen Tools im Speziellen gesprochen.

Seine Tipps für Continuous Deployment:

  1. So wenig Content wie möglich in Source Control Systemen.
  2. Keinen Content in höhere Umgebungen ausliefern, dafür sind Packages zu verwenden.
  3. Vor der Auslieferung Datenbank Backup machen (Es gibt kein Undo).

Und so sieht dann sein perfekter Deploy-Prozess aus:

Perfect Scenario

Practical Habitat: Embrace the Architecture

Anders Laub hat weniger über Habitad gesprochen, sondern eher über Softwarearchitektur im Allgemeinen. Die Softwarearchitektur bildet die Grundlage und ist der langlebigste Aspekt eines Entwicklungsprojektes. Anders hat das wie folgt skizziert.

ArchitectureMethodsTools

Er war mit viel Herz und Verstand dabei und hat zum Nachdenken und Diskussionen angeregt. Ein paar Twitter-Zitate:

Ladies and Gentlemen, Start your Testing!

Alistair Deneys hat über Unit Tests in der Sitecore Entwicklung gesprochen. Klar gibt es Herausforderungen, die zu meistern sind: die Items in Sitecore, die Konfigurationsdateien, veraltete/ nicht “mockable” API…

Alistair hat dies gleich auf mehreren Wegen live demonstriert und gesteigert:

  1. Sitecore als Application installieren und die Tests als Page Test Runner laufen lassen
  2. Echte NUnit-Tests, indem Sitecore .configs und .dlls in das Test-Projekt kopiert werden.
  3. Mocken von Sitecore Items mittels Sitecore.FakeDb.

Schlussendlich hat er dann noch gezeigt, wie mittels Sitecore.LiveTesting eine Sitecore Infrastruktur außerhalb des IIS simuliert werden und Tests dagegen gefahren werden können.

Es gab auch schon eine kleine Vorschau auf das was kommt. Alles wird besser 😉 Statisches fliegt raus und es wird viele abstrakte Basisklassen geben.

Mein Mitbringsel für Euer Bücherregal 😉

UniTesting

I refactored doc.sitecore.net and all I got was this experience

Der letzte Vortrag der Konferenz kam von Martina Welander: Ein lebendiger und interessanter Vortrag über den Werdegang des Refactorings von doc.sitecore.net. Nicht immer auf dem direkten Weg, aber sehr reflektiert und selbstkritisch.

Und so hat sie den Prozess selbst dargestellt: https://twitter.com/mhwelander/status/725307365273288704

Irgendwie ein sprechendes Bild für Softwareentwicklung 😉

Auf Wiedersehen

Es war ein rundum gelungenes Event. Ich komme bestimmt nächstes Jahr wieder. Vorher sehen wir uns vielleicht auf einem der nächsten Usergroup Treffen in Deutschland? Ich würde mich freuen.