Patrick Lobacher zum Geschäftsführer der +Pluswerk GmbH bestellt

LobacherPluswerk

Frankfurt am Main, 29.04.2014 +++ Wechsel an der Spitze der +Pluswerk GmbH: Patrick Lobacher ist ab 1. Mai 2014 Geschäftsführer der deutschlandweit operierenden Agenturgruppe. Der 43-jährige wechselt von der typovision GmbH, die er 2010 gegründet und seither als Geschäftsführer geleitet hat, zur +[werk] Agenturgruppe, die ihren Sitz in Frankfurt am Main hat.

Stefan Bauer, Gesellschafter aus München, begrüßt diese Entscheidung: „Mit Patrick Lobacher haben wir einen Profi im Bereich Strategieentwicklung, Marketing und Vertrieb gewinnen können, der zudem durch seine langjährige Branchenerfahrung bestens vernetzt ist.” Sein Gesellschafterkollege Magnus Schubert aus Köln ergänzt: “Durch Lobacher gewinnt die Agentur einen der bekanntesten Wissensträger und Community-Evangelisten im Bereich Enterprise Open Source Lösungen“.

Patrick Lobacher hat nach seinem Abitur in München Informatik studiert und sich direkt nach seinem Abschluss 1994 selbstständig gemacht. Im Jahr 2001 gründete er die Internetagentur net-o-graphic, 2008 die Kommunikationsagentur typofaktum und schließlich 2010 die typovision, die er im März 2014 auf eigenen Wunsch verlassen hat. Zudem ist er dem Fachpublikum als Autor, Dozent und Speaker im Rahmen internationaler Kongresse bekannt.

„Ich sehe ein großes Potential in +[werk], da sich hier Großagenturenkompetenz in einzigartiger Weise mit der Agilität und Flexibilität von inhabergeführten Agenturen zum Kundenvorteil vereint. Und dies sowohl lokal in allen relevanten Ballungsräumen, als auch international in der gesamten DACH-Region. Dies ist insbesondere für Enterprisekunden ein großer Vorteil. Ich persönlich freue mich sehr auf die neue Herausforderung, das +[werk] weiter auszubauen und zu einer der führenden Agenturen im Bereich Open Source zu entwickeln“, gibt Patrick Lobacher an.

Über die +Pluswerk GmbH
Die +Pluswerk GmbH ist eine Agentur mit 9 Standorten in Aachen, Berlin, Frankfurt, Hamburg, Kiel, Köln, Leipzig, München und Münster. +[werk] liefert komplexe Lösungen für Multimedia und Internet auf Basis von Open Source Software. Im Zentrum steht dabei die Arbeit mit der E-Commerce-Plattform Magento, für die +[werk] mittlerweile 62 Module entwickelt hat, und mit dem Content Management System TYPO3 (128 selbst entwickelte Extensions). Zu den Kunden von +[werk] zählen namhafte Unternehmen unterschiedlicher Branchen und Größen sowie öffentliche Institutionen, Verbände und Organisationen. Insgesamt hat +[werk] derzeit über 100 feste Mitarbeiter. +[werk] ist TYPO3 Platinum Member, Magento Associate und Gewinner des Magento Fast and Emerging Partner Award 2012.

Kontakt
+Pluswerk GmbH
Ansprechpartner: Patrick Lobacher
Solmsstraße 6a / Westbahnhof
60486 Frankfurt am Main
Tel: +49 (0)69 – 260 99 70 50
E-Mail: info@plus-werk.com
Internet: http://www.plus-werk.com

web & mobile DEVELOPER 05 / 2014

wmd_0514

Die aktuellen Ausgabe des “web & mobile DEVELOPER” Magazin 04/2014 enthält einen Artikel von Patrick Lobacher zum Thema „Eigene Plug-ins für TYPO3 Neos“ (Teil 3 von 3) .

TYPO3 Neos – Programmierung von Plug-ins

In diesem Tutorial wird gezeigt, wie man in TYPO3 Neos eigene Plug-ins schreibt und damit den Funktionsumfang des CMS erweitern kann.

Ich wünsche allen Leser viel Spaß beim Lesen des Artikels und freue mich bereits jetzt auf das zahlreiche Feedback!

Magazin: web & mobile DEVELOPER
Ausgabe: 05 / 2014
Erscheinungsdatum: 10.04.2014
Verlag: Neue Mediengesellschaft Ulm mbH
Website: http://www.webundmobile.de/

Videos vom Webkongress Erlangen 2014

WKE14-Slides

Der Webkongress Erlangen (WKE) fand vom 20.-21.03.2014 im RRZE (Regionales Rechenzentrum Erlangen) statt. Themenschwerpunkte beim WKE 2014 waren Barrierefreiheit, Content-Management-Systeme (CMS) und Webdesign. Bei den Vorträgen wird eine thematische Ausgewogenheit zwischen technischem Praxiswissen der Entwickler, benutzerfreundlichen User-Interfaces und modernem Design für die Nutzer angestrebt.

Ein absolutes Highlight stellte die breite Palette an CMS-Vorträgen dar. Insgesamt werden neun verschiedene und aktuelle Systeme – Kirby, Drupal 8, REDAXO, Plone, WordPress, ProcessWire, TYPO3 Neos, Joomla und MODX – von Experten vorgestellt und genau beleuchtet. Dies gibt Besuchern die bislang seltene Chance, mehrere Content-Management-Systeme untereinander vergleichen und bewerten zu können.

Alle Vorträge wurde aufgezeichnet und stehen nun kostenfrei jedem Interessierten zur Verfügung.

 

Video vom Vortrag: TYPO3 Neos – Next Generation CMS

Ich habe hierzu am ersten Tag einen Vortrag zum Thema TYPO3 Neos gehalten, der hier anzusehen ist:

Auflösung: 320 x 180 / Größe: 162 MB / Anschauen / Download

Auflösung: 640 x 360 / Größe: 277 MB / Anschauen / Download

Auflösung: 1280 x 720 / Größe: 533 MB / Anschauen / Download

Allgemeine Downloadseite: http://www.video.uni-erlangen.de/clip/id/3687.html

 

Alle weiteren Videos

Vom WKE 2014 gibt es 24 weitere Videos zu den Themen:

  • Responsive Enhancement (Sven Wolfermann)
  • Alle(s) so schön responsive hier? (Niels Pooker)
  • Die Gefahren von Webdesign Trends – Erst nachdenken, dann umsetzen (Marc Hinse)
  • Vorstellung des CMS Drupal 8 (Nicolai Schwarz)
  • WordPress (Vladimir Simovic)
  • Prototyping und Informationsarchitektur mit Kirby CMS (Dennis Klappstein)
  • Redaxo in freier Wildbahn (Maik Wagner)
  • ProcessWire – ein CMS voller Freiheiten (Matthias Mees)
  • Plone (Alexander Loechel)
  • MODX – creative freedom (Oliver Haase-Lobinger)
  • Joomla (Thomas Kahl)
  • u.v.a.m.

Alle Videos hierzu finden sich hier: http://www.video.uni-erlangen.de/course/id/263.html

Vielen Dank an die Veranstalter – allen voran Hr. Wolfgang Wiese – für die perfekte Organisation und einen unvergesslichen Event!

webinale 2014 – Ankündigung

Bildschirmfoto 2014-04-10 um 17.27.15  - Donnerstag, 10. April 2014

Die webinale 2014 findet parallel mit der International PHP Conference vom 01.06. – 04.06.2014 in Berlin statt.

Business, Design und Technologie sind die grundlegenden Pfeiler für den Erfolg im Web. Nur wer das Zusammenspiel dieser drei Disziplinen geschickt beherrscht, gehört zu den Gewinnern im World Wide Web und ist in der Lage, erfolgreiche digitale Geschäftsmodelle umzusetzen. Die webinale ist die Konferenz, die das Web ganzheitlich durchleuchtet und sich nicht nur auf einzelne Fragmente konzentriert. Der Konferenz gelingt somit der Brückenschlag zwischen Designern, Webentwicklern, Managern und Entrepreneuren und bietet damit ein lebendiges Forum für Inspiration, Networking und praktisches Know-how.

Die webinale liefert Antworten auf aktuelle Herausforderungen in E-Commerce, Social Media, Onlinemarketing, Mobile und vielem mehr – sie zeigt dabei auch stets Trends auf und liefert heute bereits die Antworten auf die Herausforderungen von morgen. Die Teilnehmer der Konferenz können in über 80 Sessions, Workshops und Keynotes von dem Wissen erfahrener und international renommierter Experten profitieren. Zu den Speakern gehören Hochkaräter der Webszene – Designer, Developer, Visionäre und Investoren, die ihr Wissen den Teilnehmern näherbringen und an einem lebhaften Dialog interessiert sind.

Am 02.06.2014 um 14:30 Uhr werde ich dort den beliebten Vortrag: „Responsive Webdesign verkaufen“ halten, der die Schwierigkeiten rund um den RWD-Prozess thematisiert. Es geht um eine neues Vorgehensmodell und Rollenverständnis, wenn man RWD-Projekte erfolgreich absolvieren will. Informationen zur Preisfindung und zur vertraglichen Situation runden den kurzweiligen und informativen Vortrag ab. Ich freue mich über zahlreiche Besucher! 

Website: http://www.webinale.de

Webinale_2014_Speakerbutton_180x150_

 

Einen Einblick über das Thema gibt das folgende Video, welches zur MobileTech Conference in März 2014 aufgenommen wurde:

Buch veröffentlicht: „TYPO3 Extbase“

image-cover-extbase

Nach 9 Monaten harter Arbeit war es nun gestern soweit – mein neuestes Buch „TYPO3 Extbase – Moderne Extension-Entwicklung für TYPO3 CMS mit Extbase & Fluid“ ist veröffentlicht worden. Zunächst als E-Book und in Kürze (Amazon gibt den 06. Mai 2014 an) auch als gedrucktes Werk. Kauft man sich die Print-Version, ist dort ein Code enthalten, um umsonst ein PDF des Buches von der Verlags-Website zu laden.

Das Buch versucht einerseits alle relevanten Themen rund um Extbase & Fluid auf verschiedenen Ebenen beleuchten und andererseits einen didaktischen Bogen zu spannen, mit dem es möglich ist, das Buch von vorne bis hinten durchzuarbeiten. Entstanden ist es aus rund 100 Extbase-Schulungen in den letzten 4,5 Jahren und die Erfahrung hat gezeigt, dass der Aufbau sich nun sehr gut eignet, um Anfänger, aber auch Fortgeschrittene vollständig und qualifiziert an das Thema heranzuführen. Dabei ist es auf die Version TYPO3 CMS 6.2 LTS optimiert und geht auch auf alle Neuerungen in diesem Bereich ausführlich ein. Und sollte es danach immer noch nicht reichen – ich gebe nach wie vor Extbase-Schulungen :-)

 

Inhaltsverzeichnis (PDF)

 

Dem Buch sind zudem zwei Cheat Sheets, jeweils zu Extbase und Fluid, beigelegt, mit denen man bei der täglichen Arbeit alle notwendigen Optionen und Befehle griffbereit hat.

Besonders bedanken möchte ich mich an dieser Stelle auch an meinen Fachlektoren, die das Buch auf Herz und Nieren geprüft haben und mit über 500 Verbesserungsvorschlägen einen wichtigen Beitrag zur Qualität beigesteuert haben. Danke an: Anja Leichsenring, Nicole Cordes, Matthias Schröder, Stefan Frömken und Stefan Völker.

 

E-Book kaufen bei www.opensourcepress.de

Print-Version kaufen bei www.opensourcepress.de

 

Viel Spaß mit dem Buch!

LG Patrick

 

Daten Print-Version:

Broschiert: 340 Seiten
Verlag: Open Source Press; Auflage: 1 (April 2014)
Sprache: Deutsch
ISBN-10: 3955390705
ISBN-13: 978-3955390709

 

Daten E-Book:

Seiten: 340 Seiten
Verlag: Open Source Press; Auflage: 1 (April 2014)
Sprache: Deutsch
ISBN 978-3-95539-071-6
Formate: PDF, Mobi, ePub

TYPO3 CMS 6.2 LTS – Was ist neu in Extbase & Fluid?

t362neu_extbase

Am 25.03.2014 wurde die neueste Version TYPO3 CMS 6.2 LTS mit Langzeitsupport bis 2017 veröffentlicht. Zu den wichtigsten Änderungen gehören:

  • Rewrite des Install Toos
  • Entschlackung der Code-Basis
  • Portierung des Package-Managements von TYPO3 Flow
  • Einführung eines Distribution-Managers um Distributionen (wie Introduction Package, Government Package, …) zu verwalten
  • Responsive Image Rendering in den Core integriert
  • Core Updater (auf Knopfdruck Minor-Versionen aktualisieren)
  • Data-Provider für Backend-Layouts
  • Übersetzungsmöglichkeit von FAL Medadaten
  • u.v.a.m

Alle Änderungen finden sich in dem Dokument „TYPO3 CMS 6.2 LTS – Die Neuerungen„.

Natürlich wurde aber auch zahlreiche Änderunge im Bereich Extbase und Fluid zugefügt, welche hier im Folgenden genauer aufgelistet werden.

 

Änderungen in Extbase

 

Object Manager

Der Object Manager hat die Methode getScope hinzubekommen, mit der es möglich ist, zu prüfen, ob eine Klasse vom Typ Singleton oder Prototyp ist:

 

Automatische Ermittlung des PageTypes in URLs

Wenn man einen Link setzt, hinter dem das Format geändert werden soll, muss gleichzeitig auch der Parameter pageType gesetzt werden:

Über eine neue TypoScript Option formatToPageTypeMapping, kann nun ein Mapping hinterlegt werden, welches automatisch zur Erkennung des PageTypes beim Wechsel des Formats sorgt:

Nun reicht:

 

Portierung des Object Type Converters

Der in TYPO3 Flow eingeführte „Object Type Converter“ wurde nach Extbase portiert. Damit ist es möglich, Arrays in nicht-persistente Objekte zu konvertieren.

Beispiel: Erstellen eines nicht-persistenten Objekts $demand aus einem GET-Request heraus:

Der GET-Request könnte beispielhaft nun wie folgt aussehen:

Die initializeListAction() des Entity-Controllers enthält dabei den folgenden Code:

Die listAction() des Entity-Controllers:

Die Model-Datei  [Vendor]\[ExtKey]\Domain\Dto\Demand.php:

 

Chaining der QuerySettings

Das Chaining (Verketten) von QuerySettings ist nun auch mit den „neuen“ Optionen setIncludeDeleted und setIgnoreEnableFields (die mit TYPO3 CMS 6.0 eingeführt wurden) möglich:

 

RawQueryResult

Bisher war es möglich, mittels 

$query->getQuerySettings()->setReturnRawQueryResult(TRUE)

 dafür zu sorgen, dass keine Objekte vom QueryManager rekonstruiert werden, sondern das Query-Ergebnis „roh“ zurückgegeben wird.

Ab sofort gibt es diese Möglichkeit nicht mehr zentral, sondern man gibt dies per Query im execute-Statement mittels TRUE an:

 

Rekursive Validierung und optionale Werte

Extbase verwendet nun die von Flow portierte sogenannte „Rekursive Validierung“

Dies bedeutet, dass bei Erzeugung von verschachtelten Objekten (Objekt-Baum) durch den Property-Mapper auch die inneren Objekte validiert werden und nicht nur das äußere Objekt wie bisher.

Zudem ist es nun möglich, leere (optionale) Werte zu zulassen. Will man daher explizit erreichen, dass eine Eigenschaft angegeben werden muss, so muss der NotEmptyValidator verwendet werden.

 

Application Context

Innerhalb von Extbase kann man nun den von TYPO3 Flow bekannten ApplicationContext verwenden. Der Kontext wird über die Umgebungs-Variable TYPO3_CONTEXT gesetzt. Als Root-Kontext gibt es: „Development“, „Testing“ und „Production“. Anschließend kann es einen Sub-Kontext geben – z.B.: „Production/Staging“. Ist kein Kontext gesetzt, wird dieser per Default auf „Production“ gesetzt

Gesetzt werden kann der Kontext beispielsweise wie folgt (z.B. in der Datei .htaccess):

Abgefragt werden kann der Kontext nun wie folgt:

 

Prepared Statements

Es ist nun möglich, im Repository in der Funktion statement() neben einem SQL-String auch ein Prepared-Statement (welches das Interface TYPO3\CMS\Core\Database\PreparedStatement implementieren muss) zu verwenden. In den Typo3QuerySettings gibt es hierzu die Property $usePreparedStatement und die Funktionen usePreparedStatement() sowie getUsePreparedStatement(). Dabei sind Prepared Statements aber nur für  SELECT Abfragen möglich.

Eingeschaltet werden kann das Verhalten per Query via:

Die Verwendung von Prepared Statements beschleunigt die lesenden Repository-Zugriffe unter Extbase wesentlich.
Einen Artikel zu Prepared Statements in TYPO3 gibt es hier: http://buzz.typo3.org/teams/core/article/typo3-45-lts-prepared-queries-are-the-way-to-go/

 

Query Cache

Bislang war die Extbase Persistenz relativ langsam. Zum Teil war daran das Erstellen der Queries dafür zuständig. Für jeden Query mussten die Methoden parseQuery() und buildQuery() aufgerufen und erneut abgearbeitet werden. Daher wurde nun ein sogenannter „Query Cache“ eingeführt, der die Query-Struktur zwischen speichert. Damit kann der Query erneut verwendet werden – sogar mit unterschiedlichen Parametern.

Zuständig dafür ist der neu geschaffene QueryParser: 
\TYPO3\CMS\Extbase\Persistence\Generic\Storage\Typo3DbQueryParser

Der Query Cache ist per Default eingeschaltet, kann aber manuell per Query ausgeschaltet werden, wenn der Cache zugespammt werden sollte:

Der zuständige Cache lautet: \TYPO3\CMS\Core\Cache\Frontend\VariableFrontend und die Konfiguration: $GLOBALS[‚TYPO3_CONF_VARS‘][‚SYS‘][‚caching‘][‚cacheConfigurations‘]= array(‚groups‘ => array(‚system‘));
Infos hierzu finden sich hier:
 http://forge.typo3.org/projects/typo3cms-core/repository/revisions/2583fd2a12dd3e740a9739f73aa602c2793999ec

 

JsonView Backport

Das Feature „JsonView“ wurde für die TYPO3 CMS 6.2 LTS von TYPO3 Flow nach Extbase portiert. Vor allem bei der Verwendung mittels Ajax oder als Webservice, wird vom Controller ein Datenformat als Rückgabe erwartet, welches leicht weiter verarbeitet werden kann.

Dies ist vermehrt JSON, da dies sehr leichtgewichtig und einfach zu parsen ist. Natürlich könnte man JSON durch ein entsprechendes Fluid-Template zur Verfügung stellen – allerdings ist ein „richtiger“ View deutlich praktischer.

Um den JSON-View im Controller benutzen zu können, wird er über die Variable $defaultViewObjectName aktiviert:

Die Zuweisung erfolgt nun wie gehabt:

Per Default wird nur die Variable „value“ gerendert. Will man andere Variablen rendern lassen, so muss man dies entsprechend konfigurieren:

Die Ausgabe sind dann wie folgt aus:

Die Konfiguration des erzeugenden Arrays kann sehr detailliert durchgeführt werden:

Das Array ARRAY kann dabei die folgenden Optionen besitzen:

Die möglichen Optionen lauten:

_only (array): Nur die angegebene Eigenschaft inkludieren
_exclude (array): Inkludieren von allen Eigenschaft, mit Ausnahme der angegebenen
_descend (associative array): Inkludieren der spezifizierten Sub-Objekte
_descendAll (array): Inkludieren aller Sub-Objekte (als numerisches Array)
_exposeObjectIdentifier (boolean): Inkludieren des Objekt-Identifier als __identifier
_exposeObjectIdentifierKey (string): Angabe des JSON-Feldnames

 

Änderungen in Fluid

 

Image-ViewHelper nun mit optionalem Title-Attribut

Im Image-ViewHelper kann nun das Attribut title weggelassen werden und dieses wird dann auch nicht mit ausgegeben.

Das Verhalten vor TYPO3 CMS 6.2 war so, dass in diesem Fall ein Attribut title gerendert und dafür der Inhalt des Attributs alt verwendet wurde:

 <f:image src=“background.jpg“ alt=“Text“ /> 

führt zu

 <img src=“background.jpg“ alt=“Text“ /> 



(und nicht wie vor TYPO3 CMS 6.2 zu)

 <img src=“background.jpg“ alt=“Text“ title=“Text“ />.

 

Placeholder-Attribut für Textfield und Textarea

Die beiden ViewHelper form.textfield und form.textarea können nun mit einem Attribut placeholder ausgestattet werden:

 

Switch-ViewHelper

Es gibt nun einen Switch-ViewHelper der es ermöglicht, aufgrund eines Ausdrucks (Attribut expression) einen der Fälle (die mit dem case-ViewHelper realisiert werden, Default ist ebenfalls möglich) auszuwählen:

Achtung: Die exzessive Verwendung dieses ViewHelpers könnte auf eine schlechte Architektur hindeuten. So wäre in obigen Beispiel auch folgendes möglich:

 <f:render partial=“title.{person.gender}“ /> 

mit den entsprechenden Partials title.male.html und title.female.html. 
Benötigt man sehr viele case-ViewHelper, sollte man diese besser durch Partials ersetzen.

 

Format.bytes ViewHelper zugefügt

Dieser ViewHelper verwandelt eine Byte-Angabe (in Form eines Integers) in eine lesbare Version


.

Beispiel (fileSize = 1263616):

 

Backend ViewHelper Button.Icon finalisiert

Der Button.Icon ViewHelper, ist nun nicht mehr „experimental“, sondern finalisiert worden. Zweck des ViewHelpers ist es, ein Button-Icon zurückzuliefern (und ggf. zu verlinken)

Für das Attribut „icon“ können zahlreiche (über 310) Werte verwendet werden, die in der folgenden Datei unter dem Schlüssel $GLOBALS[‚TBE_STYLES‘][’spriteIconApi‘][‚coreSpriteImageNames‘] aufgelistet sind:

typo3/systext/core/ext_tables.php

 

addQueryStringMethod Support

Die Option addQueryString arbeitet bisher nur mit GET-Parametern, indem diese an den erzeugten Link wieder angehängt werden. Damit ist es aber nicht möglich POST Parameter (wie sie z.B. bei Widgets vorkommen) anzuhängen.

Über die Option addQueryStringMethod kann nun angegeben werden, welche Parameter verwendet werden sollen: GET oder POST oder GET,POST oder POST,GET – default ist GET. Der UriBuilder verfügt nun ebenfalls über diese Option.

Folgende ViewHelper wurden mit dieser Option ausgestattet: link.action, link.page, uri.action, uri.page, widget.link,  widget.uri, widget.paginate

 

Fluid Template Fallback Support 

Wenn man in Extbase Templates erweitern will, musste man bislang alle Templates kopieren. Ab sofort kann man „Fallback-Pfade“ definieren. Fluid schaut in dem Verzeichnis mit dem höchsten Index und geht (wenn das Template nicht gefunden wurde) runter bis zum kleinsten Index.

Fallbacks gibt es für Templates, Partials und Layouts: 
templateRootPaths, partialRootPaths, layoutRootPaths