TYPO3 Developer Days 2012
Next generation TYPO3-PHP5-Framework
Landingpage for all TYPO3-Events
Official TYPO3 Wiki
Informational TYPO3 resource page
Offical TYPO3 Blogs
Official TYPO3 Bugtracker
We will continue the last years concept of having mainly workshops and one open track for bar camp style.
So, here is the deal. You have a project related to TYPO3 / FLOW3 / Phoenix or the TYPO3 project in general? You need some manpower to get it done? You want to share your idea and probably find someone who joins your team? You just want to implement the coolest feature mankind has ever seen?
Well, then the TYPO3 Developer Days 2012 is the event to go!
T3DD12 Schedule 1.2 - 10.04.2012
As every software agency knows, deploying new work into an active production environment is tricky business. Many smaller TYPO3 companies do this all manually, diligently applying all the new changes to the live site. Other agencies have set up tools and scripts to automate this process and build a new production site out of the new code changes and the data from the live site. But every company - just like us - does this in their own way: re-inventing the wheel, improvising a lot and making quirky workarounds for the bits where v4 is not really equiped for.
In this workshop I will present our setup using Ant, Jenkins and a lot of bash scripts, and demonstrate what you can do with it. But more importantly, I want to discuss a strategy for a generic build procedure so we can contribute to each others scripts, hopefully something we can make into a TYPO3 project.
Finally, maybe we could come up with some brilliant ideas that make automatic build procedures with TYPO3 v4 easier.
One of the important advantages of TYPO3 as enterprise content management system is the freely configurable backend and user rights system.
However - one of the most frequent problems in productive environments is just the result of wrong user input and could have easily been avoided by simply adding a few lines of TsConfig or a minor TCA configuration change.
In the workshop I will present best practices of backend configuration for enterprise content management systems. Challenges include, but are not limited to, staging and publishing systems (like workspaces), high traffic and high demand in availability, large numbers of backend users and roles. User roles also need to be minded by custom enterprise extensions especially for ecommerce sites.
In the main part of the workshop I’d like to discuss the audience’s past experiences and pitfalls. The discussion focus would be placed on how the backend configuration and default settings can be improved to avoid common pitfalls and make backend configuration easier for enterprise sites.
There are so many very good extensions available for typo3. Many of the developers don't build up a community around their project, to support the project, to get a better or faster development/documentation. I want to go through the complete live-cycle of a project and discuss with some experts from the community the different steps of building the community / team, getting thinks going, keep a healthy mood the team, how to cope with differences and so on.
Ben van t'Ende, Olivier Dobberkau, Robert Lemke, Oliver Hader would be in the Expert Panel, Kasper has not yet answered. I also want to have 2-3 Persons from active Extension-Projects.
A first version of Phoenix will be released this year so we want to show how you build your website with Phoenix and let the participants of this workshop build their own Phoenix website, so bring your own template.
We will go over building a site package for your page, how to setup your (fluid) page templates, the Typoscript and finally also the Sites.xml with which you can import content right away. The result of this workshop should be that participants have an idea on how building a Phoenix website will work and be able to do it themselves. Maybe this also opens up possibilities helping in Phoenix development
Starting with a barebones TYPO3 Phoenix setup, a new FLOW3 package will be created and made a TYPO3 Phoenix plugin. The tutorial will show how easy it is to transform (almost) any FLOW3 package into a plugin for use in TYPO3 Phoenix.
Please have a TYPO3 Phoenix setup running before the tutorial, so we do not have to invest time into the very basics before we can actually start. That means:
CSS_Styled_Content is one of the main frontend rendering parts of TYPO3.
Although it is used in almost every TYPO3 website, it did not get much attention in the previous years. To keep up with the upcoming specifications, like HTML5 - CSS3 - WCAG 2.0 - WAI-Aria, and different national accessibility guidelines, there was a great need for revision of CSS_Styled_Content to make it future proof.
Due to the BLE project, TYPO3 version 4.7 will contain a revised version of this very popular rendering engine, which meets these specifications and guidelines.
During this workshop the new features will be presented, but mainly this workshop will be about improving the current state of Css_Styled_Content, by discussions and gathering ideas.
So far, development of the TYPO3 Phoenix User Interface has been focussed on the content editing part. In the last months, we have started creating the technical foundations for the other modules: Management, Layout, Reports and System.
During this workshop we want to create a concept for the other modules, mainly the Management View of TYPO3 Phoenix.
After a short introduction to the basic ideas and an insight into our personas and the already planned modules we will extend the existing use cases and bring them to life.
Based on those we want to split up into smaller groups and create an overall concept for the management view itself as well as detail concepts for every module. Which elements will be needed? Are there similarities between the different modules? Which needs do the different views have?
Our goal is to generate wireframes for each module and extract a general UI concept for the management view. Experience in wireframe creation, for example with OmniGraffle, Balsamiq Mockups or pen/paper would be good.
Ember is built on jQuery which delivers a reduced feature set: It only allows to connect the user interface to a data model and adjusts the user interface when the model changes. This "data binding" enables to build very loosely-coupled, interactive applications, and makes composition of components very easy and understandable. As there is no need for complex event handling code anymore, complex features can be implemented in less time.
Keeping object models, serializers, unserializers and the according schema in sync to read and write xml data can be a tedious job. In a perfect world a framework should help you out.
This workshop will be about some xml basics, the current state of extbase xml-to-object mapping, about the technical and conceptual challenges that were faced during development and the experience made during productive use of EXT:palm. Furthermore there will be a presentation about the vision and future development goals.
The goal of this workshop is to get a vibrant discussion about this topic, collect use cases and involve more people into development to get the best xml-to-object mapper in php.
On T3DD10 we started thinking about a new interface for the Extension Builder, since then most of the progress on the Extension Builder has been made on the roundtripping part. Recent plans and development on the Extension Builder are to use the same user interface for a FLOW3 Package Builder as we have for the Extension Builder.
This workshop will be about the current state of the Extension Builder, but also about the technical challenges we face during development of the Package / Extension Builder interface (based on EmberJS).
The goal is to get more people on the team and get the stalled development of the rich user interface up to speed again.
To quote a user "What I liked most when starting to play with news that it did exactly what was promised: No hidden features to investigate, no need to "scratch the left ear with the right foot" to get some result - everything goes straight forward and clear." (Thomas Kowtsch, 25.3.2012)
EXT:news tries to support the editors & integrators by giving them features they need. New features, new technologies, less headaches.
In this session we will:
Please bring your own laptop with a running TYPO3 installation (4-5, 4-6 or 4-7)
Gain an insight into the new Form Framework that will be released as FLOW3 Package just before T3DD12.
With the flexible Form API it will be easier than ever before to create web forms, attach custom validation rules and configure so called Finishers that allow you to save the submitted data in a database or send it via email.
With the Graphical User Interface aka "Form Builder" you can even create complex forms in just a few clicks.
After the tutorial session we'll glance at the not-so-far future of "TCEforms reloaded" - the integration of the Form API into TYPO3 Phoenix.
TypoScript and Fluid are both core concepts of TYPO3 Phoenix, being available for rendering content. However, until now, it was unclear how TypoScript and Fluid can play well together. In the last months, we have analyzed Fluid, TypoScript (both in v4 and Phoenix) and lots of other approaches such as CSS, XPath or jQuery in great detail, discussing the pros and cons of each approach.
After this in-depth analysis, we were able to distill the core concepts of TypoScript, and developed a new way of collaboration between TypoScript and Fluid. This is what we will present in this tutorial: The new TypoScript.
Starting from simple examples, you will learn step-by-step how advanced examples can be implemented. You will see the power of Eel, an expression language for FLOW3, and FlowQuery, a mechanism for selecting nodes. Furthermore, we'll see how you can use TypoScript to build any kind of extensible FLOW3 application, not being limited to the content management domain.
This Workshop will be both, tutorial and development session. People will learn about the new features implemented by grid elements and how to use them within their own projects. On the other hand we are going to implent new features, fix bugs and streamline the classes and methods to improve the extension. People who are interested in the devlopment part, should apply as a member of the grid elements team on forge.typo3.org so that everybody will be prepared when we start working.
In this hands-on workshop, you'll learn how to write basic unit tests for your extensions (be it pibase or extbase), why to write them and how to explain this to your project managers.
Please bring your laptop with a working development environment for writing TYPO3 extensions. We'll have some "toy projects" to work on, but you can also bring your own project.
Setting up the required environment for development and code contributions in the TYPO3 world. Besides that show how issues are tracked, handled and what our workflow is here.
Helping hands for Linux, Mac OS X and Windows would be great, supporting participants on installation and setting up Git/Gerrit.
A lot of agencies started using Kanban last year. We starteted 15month ago and have experience with an end to end Kanban Board. Other agencies or developing companies are using Kanban for development only, or also in other departments like design or portfolio management.
The workshop should show you a few examples from different companies (prefered including you're Kanban Board) and should give answers how to solve personal problems with your employees, your boss, your customers and how to improve the board for you special needs.
Please send us pictures from you're board and if you have questions or ideas for topics these also by mail.
If you're interessted in this workshop but don't have an detailed idea what it is.
Please have a look at my talk at the TYPO3camp Hamburg on youtube or write me an e-mail.
If there are a few people interessted in a basic talk about Kanban, I will make a bird of feather session about kanban basics.
This workshop will be an introduction into Doctrine2, the Object Relational Mapper integrated in FLOW3. We will dive into the features of Doctrine in a 100% hands on workshop, building on a step by step tutorial to see how Doctrine works internally. From simple field mapping, associations, object design and performance considerations everything is discussed.
At the end of you will have an overview of the functionality and an outlook what is possible with Doctrine.
This workshop will introduce the PHP profiling with xdebug and kcachegrind. Using exercises, we will show how the profiling can identify weaknesses.
In the second part of the workshop we will demonstrate the techniques of Jmeter. The creation of test plans. Using Jmeter with Jenkins. We will show how Jmeter in the Amazon Cloud can be used to generate a high Traffic.
Providing and maintaining extensions for customers running TYPO3 with many configured languages can be a time consuming and nerve-racking issue if you do not use TYPO3’s great built-in features while writing your extension.
The workshop should give an overview on the following topics and providing attendees with code examples (may be with a sheet cheat) how to use it:
I'd love to continue the work / implementation for a message-queue for TYPO3v4 (I started that last year together with Christopher Hlubek at T3CON SFO).
There are plenty of possibilities and solutions eg. there will be a Gearman-Implementation in FLOW3, so chances are, that we can implement that in TYPO3v4 as well.
We just need more helping hands and brains to make it happen.
Would be cool to have a half day session to get a first prototype / Proof-of-concept going.
CSS is fundamental to the web, but it’s a basic language and lacks many features. Sass is just like CSS, but with a whole lot of extra power so you can get more done, more quickly. Learn how to use variables, calculation, functions and mixins (code snippets) to code your CSS. Taking advantage of the Sass Framework Compass and its CSS3 mixin library and the great spriting functionality. Develop bulletproof layouts fast and clean and take advantage of new Sass functions for Responsive Design.
The workshop consists of two parts: An introductional part at the beginning followed by a practical one where you can get your hands wet.
The first part of the workshop addresses everybody who has heard about ReST documentation technology and wants to learn more. No special pre-knowledge is required. We will start with an introduction in form of a presentation: What is so great about using a typewriter for documentation? What are the central ideas and benefits of ReST? The presentation will then more become a guided tour where we visit interesting spots, ideas, solutions and unsolved problems in the real world. Which of course is "internet and servers" for us! What exactly is available for TYPO3 in the world of ReST documentation? What can we use, where can we learn from? Which places should I know? Next we are going to more and more concentrate on TYPO3: What has been achieved so far? What resources do we have? What roadmaps do we have, what are current plans? What are open question that need to be identified and discussed in the TYPO3 community? Towards the end of the first part we should find out what areas of interest the participants have. Especially we are looking for those topics and areas of interest, where we can practically work on in the second part of the workshop.
The second part is dedicated to making practical progress. According to the interests of the attendees we will form smaller groups and start "getting things done". By "things" we can think of very different areas: Some people will be happy if they manage to get going at all. This may mean setting up a working environment and practising ReST. Others may be interested in converting an existing OpenOffice document into its ReST counterpart. Here are some more keywords indicating directions to go:
Let's work together! http://www.youtube.com/watch?v=oXo6G5mfmro
Setting up a stable and flexible CI environment for the TYPO3v4 Core is (still) a challenging task.
Over the last year(s) I collected quite some experience with ci.typo3.org that I'd like to share: give a short overview about the current project status, what goals were achieved and what's next (45min max).
After the status report I'd love to elaborate on new ideas and concepts for building a solid CI infrastructure, collect feedback and get things moving.
The main goal of my workshop is to get a working CI environment running for the TYPO3v4 Core.
Because we always got off track with our workshops, we designed this one "open" upfront. Basically this is about contributing to Extbase.
Have you ever tried to contribute to Extbase but you got stuck at some point? Did you submit something, but it stayed in review for ever? Bring your questions, bring your patchsets ...
Or do you just want to start? We will have a list of easy-to-solve issues to lead you up to your first patchset. Also we will try to provide an quick-and-easy CLA approval process.
Besides that we will have some discussions about concepts and try to kick-off some bigger tasks to work on throughout T3DD12 and after ...
Logging in TYPO3 is complex and sometimes confusing. A project to
improve Logging was successfully kickstarted at T3DD11. Since then a
small team started with writing a flexible and extensible Logging API
from scratch. Other topics like a new Logging BE module and refactoring
the configuration are also in the pipeline.
In this workshop you can put your hands on the code and for example:
Our goal is: Getting things done and finish Logging for the next
release. Current information can be found at:
This session introduces a TYPO3 extension that replaces the Extbase ORM with Doctrine 2.
The extension was born out of the severe functional limitations and performance issues with the Extbase ORM. Additionally it makes sense (for us) to use Doctrine in Typo 4, since developers can then share the knowledge in FLOW3 or Symfony2 projects thats also use Doctrine as persistence layer.
This plugin is in very early development but aims to replace Extbase ORM without other plugins even realizing it happened. This is obviously not an easy task given some of the assumptions TYPO3 makes about databases.
Topics of this session include an answer to the question "Why replace Extbase ORM with Doctrine anyways?", "Why do we want to use an ORM at all?" and "What assumptions of TYPO3 databases can Doctrine2 even live up to?".
Although in general easy to avoid SQL-Injection and Cross-Site Scripting vulnerabilities are within the TOP 5 of web application flaws every year.
The reasons are manifold. One of them could be bad application design where the security code is spread all over the place, or wrong use of validation, escaping or encoding.
In the first part of this workshop you will learn the how to securely handle user input and where the handling belong in your code.
In the second part we will look at several problematic code examples and evaluate which code can be secured and why some code should generally be avoided. In that part we will also cover many lesser known security problems like NULL byte injections or userialize vulnerabilities.
In this workshop, you will learn techniques to massage your own shoulders and neck in order to reduce tension after long hours at the computer.
In addition, you will learn to massage your own hands and wrists in order to reduce the risk of RSI (and to just improve your general well-being).
The workshop will be fully clothed and does not involve any use of oil (so there won't be any risk of oil spills).
This is a Extbase based extension for creating social websites. It was started by Ingo Renner few years ago and developed during GSoC 2010 by Pascal Jungblut. I took over it's development after GSoC and now it's quite functional and stable. Recently it got first life implementation.
Extension is available on forge:
Implementation of REST-Server in FLOW3 isn't stateless. Due to that a cookie is set automatically.
This might be ok for a browser-server communication but is not helpful when direct server-server requests are required.
Further cookies don't neither offer protection against man-in-middle attacts (i.e. there is no security of the provided variables against altering) nor is there any mechanism against replay attacks.
In this session we will dive into the FLOW3 authentication mechanism and develop a solution offering
You're a geek, and you're not that much into sport. Still, you'd like to know how to fend off someone who's trying to hold you or to touch you.
The main point of this workshop is to have some fun together, to get a bit of exercise, and for you to find out whether a martial art could be something for you to start training regularly.
Disclaimer: You'll learn a handful of easy defense techniques here, but you will definitely not be able to ward off some drunkard trying to pick a fist-fight.
The speaker has been training martial arts for more than ten years, including Shotokan karate, kung fu, jiu jitsu, tae kwon do and judo.
Presentation and discussion of the key feature set and foundational concepts for Phoenix.
The workshop starts with an overview of the status quo, which features have been implemented, which have been planned for this year and the long term goals.
Afterwards we'll discuss the priorities, technical implications and next steps to take.
The goal is to get a clear idea for everybody inside and outside the team of where we stand and what the next steps are. If you play with the idea of joining or supporting the Phoenix team, this is the workshop to get you in touch with the team and recent development.
t's time to think about content migration from TYPO3v4 to Phoenix. Therefore, last year a Google Summer of Code Project was initiated which was about figuring out whether XSLT-driven transformations of v4 XML contents to Phoenix-ready structures were feasible for production use. Until the T3DD12 workshop, a first prototype will be released which already brings some framework-alike structures, ready for testing on an existing v4-instance. Nonetheless, for covering the major part of all existing TYPO3v4 instances, there is still a lot of thoughts and development to be done. Thus, we want to recruit some interested developers and testers to the project for making the huge step forwards to Phoenix as nice and easy as it can possibly be. Therefore, we will introduce the audience to the problem, our general idea of solving it and provide some initial thoughts and directions to invest some work on. If needed, we could also teach some basic XSLT stuff.
Generally interested attendees need nothing but themselves, whereas eager developers need a v4 and a Phoenix instance running on their laptop. Bring along some v4 to-be-transferred data with you on which we could chew on together.
So you have tried some unit testing with TYPO3 before, and now you're stuck at some point. You think "This code can never be unit-tested, and it should rewritten anyway!". While you may be right on the second part, you'll probably be wrong on the first part.
Visit this hands-on workshop to learn how to get your code under tests even if it seems to actively resists testing.
You need to bring your own "problem project" to work on. Please also bring your laptop with a working development environment.
The file abstraction layer (FAL) is the new underlying technology in the TYPO3 core to handle files. It is completely object-oriented and allows for flexible use in the TYPO3 backend. Additionally, it is possible to add multiple drivers like a WebDAV driver or a Dropbox driver via extensions to a TYPO3 installation.
In this session, we will introduce the new APIs and explain the patterns behind FAL. After that, a hands-on session will serve to fix any open issues and start the development of new drivers like the Dropbox driver.
A big amount of feedback we received from projects using FLOW3 1.0 went into the making of the next version. Top prioritizes were internationalization / localization, speed and an improved MVC framework with proper support of the HTTP 1.1 specification. In this session you'll get some idea of these and more features, how fast FLOW3 1.1 is in reality and what's planned for future releases.