TYPO3 Incident Handling System

Wir möchten euch wieder einmal Einblick in eines unserer aktuellen Projekte geben: Unsere Mitarbeit an der Verbesserung des TYPO3 Incident Handling System. (Es handelt sich noch um Work in Progress, daher zeigen die Screenshots einen Zwischenstand und Testdaten.)

[English version below]

Das TYPO3 Incident Handling System (IHS) wird für das Reporting, Statustracking, Veröffentlichen und Archivieren von Sicherheitslücken im TYPO3 Ökosystem verwendet. Bisher gab es kein automatisiertes System, sondern es wurde über eine Mailingliste geplant. Auch die Veröffentlichung der Sicherheitslücken als Newseinträge war recht fehleranfällig und komplex.

Daher hat das Security Team den Prototypen einer Webanwendung auf der Basis von TYPO3 Flow entwickelt. Um das System produktiv nutzen zu können, waren jedoch noch viele Arbeiten nötig, welche von Tim Kandel und Michael aus unserem Team durchgeführt wurden.

Das neue Incident Handling System ermöglicht das Anlegen von Issues, Solutions und Advisories. Die Workflows wurden dabei erleichtert, indem z.B. eine Suche mit integrierten Filtern implementiert wurde. Diese ermöglicht die gezielte Suche nach dem TYPO3 Produkt, wie z.B. einer spezifischen Extension oder TYPO3 CMS oder Flow-Version:

Die UI zum Anlegen neuer Issues enthält nun ebenfalls eine facettierte Suche:

Michael aus unserem Team war dabei an folgenden Aufgaben beteiligt: 

  • Verbessern der UI auf Basis von Bootstrap 3
  • Einbinden von visualsearch.js für die facettierte Suche
  • Import von bestehenden Produkten in das neue IHS
  • Generelle Verbesserung des Workflows und des Look and Feel und den damit verbundenen Änderungen an Controller, Repositories und Views
  • Und vielen kleinen Optimierungen...

Zum Abschluss noch ein kurzes Feedback von Michael zu seinem ersten Projekt mit TYPO3 Flow:

"Frameworks wie TYPO3 Flow waren mir nicht gänzlich neu. Ich hatte schon vorher mit Symfony2 an einem großen Projekt gearbeitet und fühlte mich damit ziemlich schnell heimisch. Denn wenn man nur flüchtig drüber schaut, nehmen sich Flow und Symfony nicht viel: MVC, Doctrine2, eine schicke Frontend Sprache und nützliche Konsolenbefehle die viel Arbeit abnehmen. Im Detail findet man natürlich viele Unterschiede bei denen jeder entscheiden muss, was ihm besser schmeckt.

Größter Wermutstropfen während der Entwicklung mit Flow war die an einigen Stellen recht knappe Dokumentation und eher weniger Suchergebnisse bei Google. Da bin ich von Symfony einfach eine wahnsinnig gute Doku und eine riesige Community gewöhnt, von der man immer unterstützt wird, egal ob Anfänger oder Profi. Darum war ich mitunter sehr froh, mit Sebastian, einem der Kernentwickler von Flow, im gleichen Büro zu sitzen, der mir immer weiterhelfen konnte.

Ich freu mich auf jeden Fall auf das nächste Projekt, bei dem wir Flow benutzen werden. Denn abgesehen von ein paar Stolpersteinen konnte ich mein Wissen von Symfony nach Flow wunderbar übertragen und eigenständig das TYPO3 Security Team unterstützen."

Das System ist Open Source, der Quellcode befindet sich auf GitHub. Schaut mal rein!

TYPO3 Incident Handling System

We want to give you another sneak peak at one of our projects. This time: our contribution to enhancing the TYPO3 Incident Handling System. (This is still work in progress, so screenshots show the current development version with test data.)

The TYPO3 Incident Handling System is used for reporting, status tracking, publishing and archiving of security advisories in the TYPO3 ecosystem. So far this hasn't been an automated system but was coordinated via a mailing list. The publishing of security advisories via news articles was quite complex and error-prone.

Thus the security team had developed the prototype of a web application based on TYPO3 Flow. To be able to use this system productively a lot of work remained to be done which has now been performed by Tim Kandel and Michael from our team.

The new Incident Handling System enables the creation of issues, solutions and advisories. The workflows have been simplified, for example by implementing a search with integrated filters. This allows the targeted search for a specific TYPO3 product, e.g. a specific extension or TYPO3 CMS or Flow version:

The UI for the creation of new issues now features the facetted search as well:

Michael from our team was involved in the following activities:

  • Enhancing the UI based on Bootstrap 3
  • Including visualsearch.js for the facetted search
  • Importing existing products into the new IHS
  • General improvements of the workflows and the look and feel and the associated changes to the controller, repositories and views
  • And lot's of small updates and fixes..

Finally a short feedback from Michael about his first project with TYPO3 Flow:

"Frameworks like TYPO3 Flow are not completely new to me. I have worked with Symfony2 on a bigger project before and felt at home really quickly. If you just glance at the two frameworks Flow and Symfony, they have a lot in common: MVC, Doctrine2, a nice frontend language and useful console commands that make work much easier. Of course there are a lot of differences in the details and everyone has to decide one's preference for oneself.

The greatest downer during my development with Flow was the short documentation in some places and fewer search results with Google. I'm used to a really good documentation and a big community with Symfony that supports you no matter if you are a beginner or an expert. I was quite happy to sit in the same office as Sebastian, one of the core developers of Flow, who could help me out with any questions.

I am really excited about the next Projects where I'll use Flow. Apart from a few stumbling blocks I could transfer my knowledge from Symfony to Flow easily and was able to support the TYPO3 Security Team on my own."

The IHS System is open source, the code is hosted on GitHub. Have a look!