AEM 6 Upgrade – Was Sie beachten sollten

Screen Shot 2015-05-28 at 13.15.36

Kürzlich haben wir für einen Kunden erfolgreich ein Upgrade von CQ 5.3 auf Adobe AEM 6 durchgeführt. Mit diesem Erfahrungsbericht geben wir Ihnen einen Einblick, welche Gründe für ein Upgrade sprechen können und wie wir in einem konkreten Projekt vorgegangen … Weiterlesen

„Marketing Beyond Marketing“ – The Experience is your brand

Adobe Summit 2015 in London

Der Adobe Summit 2015 brachte in diesem Jahr über 4000 Teilnehmer aus über 50 verschiedenen Ländern in London zusammen, die sich über die neuesten Trends im Digitalen Marketing austauschten. Namics war wie auch im letzten Jahr als Business Plus Partner … Weiterlesen

AEM 5.6.1 im Clusterbetrieb – Notwendige Sourcecodeanpassungen

Ausgangslage

In einem unserer Kundenprojekte, das mit AEM 5.6.1 umgesetzt wurde, kam ein Cluster von AEM-Autoreninstanzen zum Einsatz. Dadurch sollte vor allen Dingen eine hohe Ausfallsicherheit erreicht werden.

Wir haben geprüft, welche Anpassungen wir an unseren Sourcecode vornehmen mussten, um ein fehlerfreies Funktionieren im Cluster zu garantieren. Wir wollten auf jeden Fall vermeiden, dass zur selben Zeit die gleichen Schreibzugriffe auf die Contentrepositories der einzelnen Clusterknoten erfolgen, z.B. durch einen zeitgesteuerten Service. Durch die anschliessende Replikation der Änderungen käme es zu redundanten Schreiboperationen und somit zu einem unnötigen Resourcenverbrauch.
(mehr …)

Ein Kerberos-Authentifizierungsmodul für AEM

Wozu ein Kerberos Authentifizierungsmodul?

Unsere Kunden fordern immer häufiger, dass sich ihre Mitarbeiter per Single Sign-On an die AEM-Plattform anmelden können. Das betrifft vor allen Dingen die Anmeldung an die Autorenumgebung, aber auch das Login für ein Intranet, welches mit AEM umgesetzt wurde. Die Daten aller Mitarbeiter liegen dabei auf einem LDAP-Server, häufig einem Active Directory (AD), vor. Die Mitarbeiter sollen sich nur einmal im Firmennetz einloggen müssen. Rufen Sie in ihrem Browser die AEM-Umgebung auf, so sollen sie automatisch mit ihrem LDAP-Useraccount angemeldet werden. Damit diese automatische Anmeldung mit hoher Sicherheit erfolgen kann, wird in vielen Firmennetzwerken der Authentifizierungsdienst Kerberos genutzt.

Um dem Kundenwunsch nach einem Single Sign-On über Kerberos nachzukommen, haben wir bisher eine Kerberos-Authentifizierung über ein entsprechendes Apache Webserver-Modul umgesetzt. Dieser Umweg war erforderlich, da AEM keine eigene Möglichkeit zur Kerberos-Authentifizierung mitbringt. (mehr …)

Umgang mit Vanity URLs

Allgemeines

In CQ/AEM gibt es eine Funktionalität für Kurz-URLs genannt Vanity URLs. Diese werden genutzt, um z.B. marketing-freundliche URLs zu erzeugen. Z.B. www.domain.de/jobs, um eine URL für eine Job-Kampagne zu haben. Im Normalfall wird beim Aufruf dieser URL eine automatische Weiterleitung auf die eigentliche Seite im CQ/AEM erfolgen. Z.B. auf www.domain.de/de/home/company/jobs.html.

Die Verwendung von Vanity URLs im Autoren-Interface ist in der Adobe Dokumentation kurz beschrieben.

Redirect / SEO

Eine Weiterleitung in AEM erfolgt standardmäßig mit dem HTTP-Status 302 „Found“.  Aus SEO-Sicht stellt die Verwendung einer Vanity-URL allerdings keine vorübergehende Weiterleitung dar, sondern eine permanente. Daher sollte CQ/AEM so konfiguriert werden, dass der Redirect mit dem Status Code 301 „Moved Permanently“ erfolgt.

Die Einstellung des Default HTTP-Status erfolgt im Apache Felix im „Apache Sling Resource Resolver Factory“ in der Einstellung „Default Vanity Path Redirect Status“.

Technische Hürden

1.) In der Dispatcher-Konfiguration wird standardmäßig mit einem Whitelisting-Ansatz das System gehärtet.

D.h. nur bestimmte Pfade sind erlaubt. Vanity URLs stehen immer direkt hinter der Domain und daher ist der Aufruf redaktionell gepflegter Vanity URLs meistens nicht so einfach möglich.

Lösungsidee

Für dieses Probleme gibt es einen Lösungsansatz, der wie folgt aussieht:

  • Vanity URLs werden vom Redakteur mit einem vanity/ als Prefix gepflegt. Z.B. vanity/jobs
  • Im Webserver gibt es eine Rewrite Rule, welche Vanity URLs erkennt und entsprechend umschreibt („/jobs“ wird umgeschrieben, „/jobs/zwei“ nicht)
    RewriteRule ^/([-0-9a-z]+)$ /vanity/$1 [PT]
  • In der Dispatcher-Konfiguration gibt es einen Whitelist-Eintrag für Pfade, die mit „vanity/“ beginnen
    /0123 { /type "allow" /glob "GET /vanity/*" }
  • Damit ist die Verwendung von Vanity URLs mit dem Prefix „vanity/“ ohne weitere Konfigurationen redaktionell nutzbar.

Ab einer Dispatcher-Version 4.1.9 wird es für dieses Problem seitens Adobe eine neue Möglichkeit für Vanity-URL-Konfigurationen im Dispatcher geben. Dieses Feature wurde in einem Screencast vorgestellt, ist allerdings anscheinend noch nicht dokumentiert.

2.) Vanity URLs müssen im Gesamtsystem eindeutig sein, was zu Problemen bei Multimandanten-Systemen führt. So kann ein Mandant B nicht nochmal eine selbe Vanity URL vergeben, wenn sie schon Mandant A vergeben hat

Lösungsidee

Wenn mehrere Mandanten existieren, benötigt es noch einen weiteren Bezeichner in dem konfigurierten Vanity-URL-Prefix. Das durch den Redakteur zu pflegende Prefix müsste um den Mandantenbezeichner erweitert werden und wie folgt lauten: „vanity/<mandant>/„. Jeder Mandant hätte vermutlich eine eigene Webserverkonfiguration, so dass die o.g. Rewrite Rule pro Mandant entsprechend um den Namen des Mandanten erweitert werden müsste.

3.) Es gibt keine Auflistung der Vanity URLs im CQ/AEM.

Lösungsidee

Entweder ein Servlet schreiben, welches sich dieser Query bedient und eine Ausgabe z.B. in Form einer csv-Datei generiert. Denkbar wäre auch eine Ausgabe auf einem technischen Template. Standardmäßig gibt es nur eine Auflistung aller Mappings inkl. Vanity-URLs in der Felix Konsole unter „Status“ -> „Sling Resource Resolver

4.) Vanity-URLs ohne Extension und ohne Redirect werden nicht gecached

Lösungsidee

Es ist ebenfalls eine Lösung über Apache mod_rewrite möglich / denkbar. Zum Beispiel, wenn man davon ausgeht, dass alle URLs ohne Extensions Vanity-URLs sind. Weitere Problematik kommt mit verschiedenen Mandanten.