eZ Publish 5 Templating – Teil 3: Ein eigenes Layout

Nachdem Teil eins und zwei dieses Tutorials die Grundlagen gelegt haben, soll es in diesem Teil darum gehen, die speziellen Eigenheiten von eZ Publish, namentlich die ehemals in der ezflow-Extension, neuerdings im Page-FieldType untergebrachten Mittel zur Organisation und Strukturierung einer Seite zu nutzen.

ezflow-to-Page (stage_4)

Die Organisation des Contents auf einer Seite ist im Legacy-Stack von eZ Publish in der Regel über die Extension „ezflow“ realisiert. In der Symfony2-Welt wurden deren Strukturen in den „Page“ FieldType übernommen. Im Wesentlichen handelt es sich dabei um die Gruppierung von ContentObjekten einer Seite in „Zones“, die die Grobgliederung der Seite erlaubt. „Zones“ enthalten ihrerseits „Blocks“, in denen wiederum einzelne ContentObjekte untergebracht werden. In einem „Block“ werden also zum Beispiel Listen aktueller Beiträge oder Ähnliches realisiert. Weiterlesen

eZ Publish 5 Templating, Teil 2: Ein eigener Controller

Eine Übersichtsseite (stage_3)

Nachdem Teil 1 dieses Tutorials grundsätzliche Temen des Templatings für eZPublish 5 behandelt hat,  wollen wir im folgenden Schritt einen eigenen Controller nutzen, um auf einer Seite vom Typ „landing_page“ eine Liste der im ContentTree darunter befindlichen Objekte, die vom Typ „article“ sind, abzubilden.

Dazu erzeugen wir zuerst ein Template für diese Content-Klasse, das wiederum das allgemeine Pagelayout erweitert. Das Template selbst besteht aus einer einzelnen Zeile, die über den Symfony-eigenen Helper „render“ eine Methode in einer Controllerklasse aufruft, die wir gleich im nächsten Schritt definieren werden. Weiterlesen

eZ Publish 5 Templating – Teil 1: Basics

Das eZ Publish Content Management System hat sich mit dem Umbau auf Basis des Symfony2 Frameworks stark verändert. Eine der wesentlichsten Änderungen liegt im Templating für das Frontend. Bauten die pre-Symfony-Versionen bis 4 auf einen Mix aus Smarty mit PHP-Code, lassen sich eZ Publish 5 Templates in der Symfony2-eigenen Templatesprache Twig entwickeln. Weiterlesen

Oracle LOB in Symfony2 und Doctrine2 mittels OCI8-Extension: Die Stolpersteine erkennen

Oracle LOB in Symfony2 mit OCI-Lob Klasse nutzbar zu machen, ist nicht ganz einfach. Unter anderem die Unterstützung von Large Objects (LOB) hat in Doctrine2 einige Fallstricke, z.B. das Cachen von Queries, welches nicht ganz so optimal mit php_streams umgehen kann.

Hier will ich aber auf die Probleme bei der Benutzung des Oracle OCI8 Drivers von Doctrine2 in Bezug auf LOBs eingehen. Weiterlesen

Enslaving eZ Publish

Web applications of all sizes rarely come without the need for editable text content. Implementing a complete content editing solution might yet be still oversized. So why not make use of one of the better known content management solutions available to the open source community – eZ Publish?

As a full blown content management system, eZ Publish does not only supply a quite powerful content repository, but also an ideally tailored content editor that supports all relevant features such as content versioning, publishing workflow or roles and permissions management.
Weiterlesen

DomniklStatsdBundle: Monitoring mit statsd in Symfony2-Projekten

Während mit klassischen Monitoringlösungen wie Nagios Systemdaten überwacht werden können, eignet sich die Kombination aus statsd und Graphite hervorragend für effektives Monitoring von Businessprozessen in Webanwendungen. Auch für Symfony2-Projekte wäre so eine Lösung praktisch – eine Variante stellt der Artikel vor. Weiterlesen

Development Environments with Vagrant and Puppet

Motivation

Setting up the infrastructure for new projects can be quite a pain in the ***. Even after the initial setup is done, adding new developers to the team requires a lot of time. Besides explaining the project to the new team member, the project’s development environment has to be installed on the new developer’s computer. This includes setting up virtual machines, web- and database-servers, updating libraries etc.

Many IT companies use the same technologies repeatedly which leaves them with multiple development environments that look very similar but have been set up separately. This problem can be solved by using a configuration management software and a smart tool for handling virtual machines.

Weiterlesen

ACLs and Symfony2

Like most larger PHP frameworks, Symfony2 contains a component that handles all kinds of security topics. Its main two capabilities are authentication and authorization. While making it easy to implement these concepts, the component separates them and executes one after the other. In the first step, the framework determines who the current user is or whether he is who he claims to be respectively (Authentication). Secondly, it evaluates whether he is allowed to perform a certain operation (Authorization).

This article focuses on authorization or – more accurately – Symfony2’s Access Control Lists (ACLs) and how they support the implementation of complex access right models.
Weiterlesen

Ein erster Eindruck von Zend Framework 2

Vor ein paar Tagen ist Zend Framework 2 in einer stabilen Version freigegeben worden. Somit steht das Ergebnis einer langen Entwicklungszeit endlich zur Verfügung. Grund genug für einen ersten Blick auf das neue Framework.

Ich habe die Entwicklung nur sporadisch verfolgt und keine der zahlreichen Vorab-Versionen ausprobiert. Ohne Vorwissen habe ich mich so an den neuen Quickstart-Guide und das neue Handbuch gesetzt um mir einen ersten Überblick zu verschaffen. Meine ersten Eindrücke möchte ich hier teilen.

Weiterlesen