Einarbeitung in das Sitecore CMS

Nachdem mein praktisches Studiensemester bei der Namics sich nun langsam dem Ende neigt, möchte ich noch einmal auf meinen Einstieg ins Sitecore-Team zurückblicken. Dabei soll in erster Linie auf Best-Practices und Schwierigkeiten eingegangen werden, auf welche ich bei der Einarbeitung in das Sitecore CMS gestossen bin. Zusätzlich möchte ich auch aufgreifen, was mir persönlich bei der Entwicklung mit Sitecore am besten gefallen hat.

Einstieg

Beim ersten Zusammentreffen mit einem neuen oder unbekannten System trifft man häufig auf ein und dieselbe Problematik: Wo oder wie fange ich an?
Als ersten Anhaltspunkt sollten hier die zahlreichen Cookbooks und Dokumentation aus dem Sitecore Developer Network dienen, über welche man für ein tieferes Verständnis sowieso nicht vorbei kommt. Für den praktischen Einstieg bietet sich dagegen das angebotene Self-Study Guide for Developers an, in welchem man Step-by-Step eine einfache Website in Sitecore entwickelt.
Zwar wird man anschliessend immer noch keine Überblick über das gesamte Content Management System haben, jedoch sollte das angeeignete Wissen bereits ausreichen, um in einem ersten, kleineren Projekt mitzuwirken.

Verständnisprobleme

Nicht alles ist immer auf den ersten Blick klar. Deshalb sollen an dieser Stelle die wichtigsten Punkte erfasst werden, welche mir bei meinem Einstieg in das CMS im Wege standen.

Sitecore ist sehr modular aufgebaut und arbeitet dabei mit Layouts, Placeholders, Sublayouts, Renderings und ASP.Net-Webkomponenten. Das genaue Zusammenspiel zwischen diesen verschiedenen Komponenten ist essentiell und sollte darum bei der Einarbeitung gründlich behandelt werden. Das Layout kann man sich als die Grundstruktur einer Webseite vorstellen, welche über Placeholder mit beliebig vielen Sublayouts ausgestattet werden kann. Ein Sublayout selbst kann dabei wiederum über Placeholder verfügen, wodurch beliebig tiefe Verschachtelungen möglich sind. Dieses Sublayout wird in Sitecore mit einer ASP.Net-Webkomponente (ein .ascx-File mit C#-Codebehind) verbunden, welche das HTML des entsprechenden Moduls aus den Daten im CMS letztlich rendert. Auf die Sitecore-Daten kann dabei entweder über einen statischen Pfad (z.B. bei globalen Konfigurationen) oder über ein mit der Datasource referenziertes Item zugegriffen werden.

Ein weiterer wichtiger Aspekt stellt auch der Publishing-Prozess dar. Hier stösst man zu Beginn oft auf das Problem, dass einige Änderungen im CMS sich nicht immer gleich auf die Webseite auswirken. Um die Gründe dafür zu verstehen, lohnt sich ein kürzer Blick in die intere Architektur von Sitecore. Das Content Management System arbeitet mit drei Datenbanken, welche sich Core, Master und Web nennen. Die Core-Datenbank enthält fast ausschliesslich Einstellungen, Steuerelemente, Kommandos und Templates von Sitecore selbst, wodurch diese mein Publishing eine eher untergeordnete Rolle spielt. Die Master-Datenbank dagegen enthält alle Items und Templates, welche den Inhalt der zu entwickelnden Website betreffen. Somit betreffen alle Änderungen, welche man im Content- oder Page-Editor vornimmt, diese Datenbank. Da es jedoch unerwünscht ist, dass jede noch so kleine Änderung direkt auf die öffentliche Seite gespielt wird, existiert daneben noch die Web-Datenbank, welche inhaltlich der Master-Datenbank sehr ähnlich ist. Beim Publishing-Prozess wird dabei einfach der gewünschte Inhalt der Master-Datenbank einfach in die Web-Datenbank übertragen, wodurch der Content-Autor selbst entscheiden kann, wann welcher Inhalt freigegeben wird.
Da ein ständiges Publizieren bei der Entwicklung nur unnötig Zeit rauben würde, ist es auch möglich, dass die Website den Inhalt direkt aus der Master-Datenbank entnimmt. Dies ist dringend zu empfehlen und lässt sich in der Web.config steuern.

Wichtig bei der Entwicklung mit dem CMS ist zudem, dass wirklich alles als Item abgebildet ist, welche sich in einer Baumstruktur anordnen lassen. Eine gute Strukturierung der Items ist dabei sehr wichtig, was jedoch nur durch Erfahrung zu meistern ist. Diese Erfahrung erlangt man am besten im direkten Einsatz bei einem Projekt, wobei jede entwickelte Komponente und die dabei erstellten Strukturen stets von einem erfahreneren Entwickler im Auge behalten und gemeinsam abgesprochen wird. Nach kurzer Zeit kommt so dieses fehlende Verständnis ganz von selbst.

Blick auf das Sitecore CMS

Jedes System hat Features, welche einem Entwickler besonders gefallen oder nicht. Im Folgenden sollen nochmal ein paar Themen aufgegriffen werden, welche mich bei Sitecore angesprochen haben:

  • In Sitecore lassen sich sehr einfach Templates erstellen oder erweitern. Somit wird die Flexibilität bei der Entwicklung keineswegs eingeschränkt. Ein Template besteht dabei aus verschiedenen Feldern und kann mit vielen unterschiedlichen Typen dargestellt werden.

  • Sitecore bietet viel Freiheit in der designtechnischen Gestaltung der Webseite.
  • Durch den verfügbaren Content-Editor lässt sich der Inhalt der Webseite sehr einfach und schnell pflegen. Der ebenso verfügbare Page-Editor lässt es ausserdem zu, eine Website im WYSIWYG-Stil zu verarbeiten.
  • Der programmatische Zugriff auf die Daten im Content Management System gestaltet sich sehr einfach.
  • Zwar werden oft nicht alle geforderten Features Out-of-the-Box unterstützt, jedoch ist Sitecore leicht erweiterbar. Viele Features lassen sich auch durch die unzähligen Module der Sitecore Shared Source Library nachrüsten.

Fazit

Trotz geringer Vorkenntnisse in der Webprogrammierung kommt man bei der Realisierung von Websites mit dem Sitecore CMS schnell zum Erfolg. Zwar stösst man in den Anfängen hier und da auf das ein oder andere Problem, jedoch sollte man sich davon nicht abbringen lassen. Wenn man die Hinweise dieses Beitrags befolgt oder verstanden hat, sollte der Einstieg in die Welt von Sitecore kein grosses Hindernis darstellen.

Zurückblicken kann ich auf ein sehr interessantes und lehrreiches Praktikum bei der Namics, durch welches vieles rund um Sitecore erfahren konnte. Danken möchte ich dabei besonders dem gesamten Team Micheal, mit welchem ich nicht nur viele Projekte mit dem Sitecore CMS umsetzen konnte, sondern auch eine wunderschöne Zeit verbringen durfte.

Suchmaschinenoptimierung (SEO) mit Sitecore

Vor ein paar Tagen durfte ich zusammen mit Milos Radovic von der Migros Klubschule einen Vortrag zu Suchmaschinenoptimierung mit Sitecore halten. An diversen Beispielen wurde aufgezeigt, wo es SEO braucht und wie es konkret in Sitecore umzusetzen ist.

SEO mit Sitecore


Nebst der Suchmaschinenoptimierung wurde auch über die individuelle Darstellung von Website-Inhalten gepsrochen. Präsentation und Infos zu Personalisierung mit Sitecore finden Sie ebenfalls auf diesem Blog.

Bildbearbeitung in Sitecore

Sitecore weist „out of the box“ nur beschränkte Bildbearbeitungsfunktionalitäten auf. Als Sitecore Backend-Administrator hat man die Möglichkeit, Bilder welche sich in der Media-Library befinden, zu manipulieren. Zur Verfügung stehen die Funktionen:

  • Pixelgenaues Croppen
  • Resizen
  • Rotieren Spiegeln

Falls der Sitecore Backend-Administrator Funktionen wie z.B. (Cropping / Resizing) anwendet und das entsprechende Item speichert, geht das Originalbild leider verloren. Zudem besteht standartmässig keine Möglichkeit ein Bild in verschiedenen Seitenbereichen unterschiedlich darzustellen. Ein Pluspunkt ist hingegen die Bildvorschau. Somit lassen sich die vorgenommen Änderungen sogleich visuell überprüfen.

Grundfunktionen Bildbearbeitung im Sitecore Backend

Grundfunktionen Bildbearbeitung im Sitecore Backend

Aus Kundensicht kann der Wunsch aufkommen, die Bildbearbeitung gleich programmiertechnisch einzupflegen. Somit muss der Kunde die Manipulationen nicht mehr selber vornehmen. In diesem Fall bietet Sitecore dem Programmierer die Möglichkeit, über URL-Parameter oder MediaUrlOptions, Bildmanipulationen direkt aus dem Programmcode vorzunehmen. Die Auswahl an Parameter und Optionen lässt leider zu wünschen übrig.
Die gewonnenen Erfahrungen und Erkenntnissen gaben mir den Anreiz, die Grundfunktionalitäten der Sitecore Bildbearbeitung aufzuwerten, respektive mit neuen Funktionen und Funktionalitäten zu versehen. In Sitecore existiert eine Pipeline welche ich erweitert habe. Neu können folgende zusätzliche Funktionen als Parameter, MediaUrlOptions oder Sitecore Backend-Parameter verwendet werden, ohne das Originalbild zu zerstören:

  • Auf Seitenverhältnis basiertes Croppen anhand Ziel-Höhe / Ziel-Breite
  • Pixelgenaues Croppen
  • Rotieren / Spiegeln
  • Grau-Skalierung
Neue Bildbearbeitungsfunktionen via Sitecore Backend

Neue Bildbearbeitungsfunktionen via Sitecore Backend

Fazit
Obwohl nun dem Programmierer und dem Sitecore Backend-Administrator neue Funktionen zur Verfügung stehen, dürfen die zwei Benutzergruppen nicht gleichgesetzt werden. Aus Sicht des Sitecore Backend-Administrators können die Funktionen pro Bild (Image-Item) gesetzt werden. Wird das Bild auf einem anderen Seitenbereich wiederverwendet, so weist es auch dieselben Manipulationen auf. Programmiertechnisch gibt es diesbezüglich keine Einschränkungen.

Sitecore Symposium. Inspiration. Amsterdam. Namics

Zum zweiten Mal war Namics am Sitecore Symposium dabei, welches dieses Jahr im charmanten Amsterdam stattgefunden hat.  Mit uns kamen dieses mal auch zwei geschätzte Kunden mit, die erfahren wollten wie es mit Sitecore weitergeht. Vom 4. Bis 6. September … Weiterlesen

Personalisierung mit Sitecore

Am vergangenen Mittwoch durften wir Vorträge zu den Themen Suchmaschinen Optimierung und Personalisierung mit Sitecore durchführen. Der Anlass war sehr spannend und wir konnten einen sehr spannenden Austausch fördern, gerade auch im Hinblick zu der Darstellung und Auslieferung von personalisierten Inhalten auf der Website. Die Personalisierung muss nicht immer für den Website-Besucher sofort ersichtlich sein. Sehen sie selbst.

Webinhalte mit Sitecore Digital Marketing System personalisieren