In the first week of March, 41 active contributors of the TYPO3 Community met for five days at the Technical University in Berlin to kickstart projects for TYPO3 4.6, tie up loose ends with FLOW3, and brainstorm new ideas and concepts. Most of the participants were members of the TYPO3 v4 & v5 Core Team and the TYPO3 Security Team.
The TU Berlin has an extensive website based on TYPO3 and provided T3CSB11 with use of their infrastructure and four rooms for sessions and workshops.
With over 40 developers in attendance, T3CSB11 was the ideal time to <link news article typo3-core-repository-migrated-to-git>switch the version control system of the v4 development branch from Subversion to Git since immediate feedback and support were available. A separate Git team planned the migration starting in December 2010 and set up a sandbox system prior to T3CSB11. Testing and reviewing changes no longer happen in the Core mailing list but in a graphical web interface called Gerrit. Gerrit makes it easier to keep track of changes and missing reviews and tests, but there is a learning curve with the new system. The topics of Git and Gerrit continued to be discussed throughout the week and a tutorial is available that helps others to <link http: forge.typo3.org projects typo3v4-core wiki git_gerrit>start with these new systems.
The first two days were dedicated to an overview of recent activities in the v4 and v5 development branches and to kick-off new projects.
One month after the release of TYPO3 4.5, Ernesto Baschny looked back to the development phase and compared the final results to the originally planned projects for this long-term support version.
Robert Lemke summarized the last few weeks of the FLOW3 and Phoenix/v5 team, which fell in the middle of a scrum code sprint. The persistence layer in FLOW3 was changed to use the external framework "Doctrine2", freeing some internal resources. The v5 team started to build the website of the TYPO3 Conference 2011 in Hanau based on Phoenix. The results and experience of this case study will provide important feedback to the team.
The v4 team unanimous elected the Release Manager of the upcoming version TYPO3 4.6. Xavier Perseguers, member of the TYPO3 v4 Core Team since 2009 was chosen for the position. Xavier announced the next version as "TYPO3 4.6 --rebase" which fits quite well with the related Git action and aims to finally get rid of outdated and deprecated parts in the source code of the Core. Thus, the next version will be built for PHP 5.3 and will no longer support Internet Explorer 6. All in all, <link http: forge.typo3.org projects typo3v46-projects wiki>TYPO3 4.6 defines a new base to integrate and use new techniques in future releases - it's a "rebase".
Since TYPO3 4.5 is a long-term support version and will be available and supported for at least three years, it provides an alternative for agencies and users that prefer durability and backwards compatibility.
During the week, some participants took the opportunity to present their ideas and smaller projects during the "7 minutes of fame" sessions. For example, Helmut Hummel, leader of the TYPO3 Security Team, pointed out the necessity of <link http: typo3.org fileadmin teams security t3csb11_7mins_security.pdf>taking care about security during development and how to identify insecure parts in one of these sessions.
Since the purpose of a code sprint is of course about producing results, teams were formed in a barcamp style. On the first day, the participants suggested their favorite topics. After voting on the most popular topics, eight teams were formed:
- <link http: forge.typo3.org projects show typo3v4-workspaces>Workspaces (leader Sonja Scholz)
The Workspaces group worked on enhancing the stage notifications by adding additional settings and improved the previewing of workspace changes in the frontend. In addition, the issue tracker was cleaned and many bugs were solved. Influenced by the TYPO3 Core switch from SVN to Git, the Workspaces team decided to move it's repository to Git as well. It turned out the this team needs support from an ExtJS expert to streamline and improve the architecture of the JavaScript components used in Workspaces. - <link http: forge.typo3.org projects show typo3v46-installtool>Install Tool (leader Patrick Broens)
The scope of the Install Tool team was to refactor the code base, extracting parts for the 1-2-3 mode and the regular install tool and defining a common base for tests that are also performed in the Reports module. It would have been nice to use Extbase and Fluid for a modern MVC approach to development, however there were some issues that prevented their usage in a standalone environment, outside of a normal TYPO3 frontend or backend setup. Instead, a new simplified MVC solution was created that could potentially be replaced by Extbase again in the future. At the end of the sprint the module was already working, however at that date about 20% of the issues have been solved so there is still much more work to be done. - <link http: typo3.org teams security>Security (leader Helmut Hummel)
After one year, the TYPO3 Security Team again had an internal meeting with six team members. The meeting was very fruitful, covering topics like redefining the workflow with Git/Gerrit and certifying TYPO3 to meet general standards (ex. minimal password strength, session security and lifetime). The participants also evaluated the ESAPI and researched a framework to generally handle XSS and CSRF in TYPO3. - <link http: robertlemke.de blog posts typo3-codesprint-berlin-2011>Phoenix/v5 (leader Robert Lemke)
The Phoenix/v5 team internally was split up into specific projects, such as working on the website for the TYPO3 Conference 2011 in Hanau, implementing the new user interface concepts, and fixing several issues after replacing the persistence layer with Doctrine2. All in all, many issue were solved especially for workspaces and for dependency injection and AOP. The participants redefined the workflow for changes to the user interface and how to have a proper review process on that part. The kick-off for the next scrum sprint period also happened during T3CSB11. - <link http: forge.typo3.org projects show typo3v4-fileabstractionlayer>File Abtraction Layer (leader Andreas Wolf)
A few participants of this project were present in Berlin and they focused on evaluating other possible solutions for a virtual file system. The solution could be a backport of the FLOW3 "Resources" package which is quite similar to the FAL project in the v4 world. During the week the team agreed on adopting its database and file structure. Quality assurance was improved by adding unit tests for the existing source code. The TU Berlin has many sub-sites and departments and is interested in being a live test case for this project, supporting the project by sharing knowledge and defining common requirements. - <link http: forge.typo3.org projects show typo3v4-mvc>Extbase (leader Bastian Waidelich)
The Extbase working group only had a few participants in Berlin but was able to find on a solution to get Extbase and RealURL together. A compatibility flag was introduced that can be used to keep the behaviour of a particular version (similar to the compatibility version in the TYPO3 Core). During the week a frontend user login extension based on Extbase was developed and a few bugs were fixed in the issue tracker. One goal for TYPO3 4.6 is to spread Extbase in the Core by rewriting the major backend modules to be based on Extbase but the Extbase team and Core team are not able to do this alone. Support by other developers in the TYPO3 community is highly appreciated. - Infrastructure (leader Michael Stucki)
The members of this team were focused in the first part of the sprint to create and improve the documentation on Git and Gerrit. In addition, they evaluated how the current bugtracker on bugs.typo3.org can be migrated to the issue tracker on forge.typo3.org. The different roles of wiki pages at wiki.typo3.org and inside projects on forge.typo3.org were also discussed. The overall goal of this project was to streamline the tools that are vital for all contributors to the TYPO3 project. The participants aim to migrate the issues from bugs.typo3.org to forge.typo3.org during T3BOARD11 at the end of March 2011. - <link http: forge.typo3.org projects show extension-semantic>Semantics (leader Jochen Rau)
This team discussed the advantages of having semantics in web applications and what this means in terms of features for TYPO3. The existing "semantic" extension [10] was restructured, the RDF behavior was changed and new features in the <link http: forge.typo3.org projects show extension-scotty>SCOTTY extension have been kickstarted. The team also worked on adding semantic meaning to backend users and started to introduce namespaces for content, news and resources in general. It turned out that some implications have been found, e.g. if it comes to represent information that is maintained in a workspace.
The whole week was wrapped up with a farewell dinner Syrian restaurant for all participants and a small delegation of the TU Berlin. In gathering feedback on T3CSB11, there were some some suggestions for improvement (more planned tasks instead of agile, barcamp-style working groups and fewer organizational discussions) but it was also emphasized that having the opportunity to develop ad-hoc solutions in face-to-face meetings enhances the feelings of community and is a great motivator for the whole project.
Last but not least, a week like this does not come free and these sponsors generously supported the TYPO3 Code Sprint Berlin 2011.
Many thanks to:
- <link http: www.marketing-factory.de>MarketingFactory for fully sponsoring the daily lunch at the Volkswagen Library
- <link http: jweiland.net>jweiland.net, <link http: e-netconsulting.de>e-netconsulting and <link http: network-publishing.de>network.publishing for partly sponsoring the delicious coffee hand-made by our barista
- <link http: www.kitsunet.de>Christian Müller and <link http: www.oliverklee.de>Oliver Klee (which were also active participants at the T3CSB11) for a smaller donation
- <link http: www.tubit.tu-berlin.de>IT-Service-Center of the Technical University Berlin (tubIT) for sharing the infrastructure and hosting this event
- <link http: association.typo3.org>TYPO3 Association for taking over the travel expenses and hostel accommodation of each participant