[TYPO3-german] Eigene Extensions - Neu entwickeln oder upgraden Typo3 4.4 und 6.2

bernd wilke t3ng at bernd-wilke.net
Wed Mar 25 13:25:13 CET 2015


Am 25.03.15 um 09:23 schrieb Börge Hendrik:
> Hallo Bernd,
>

> Im Detail kann ich Dir dies nicht beantworten.
> Im wesentlichen sollten die PI 4.4/4.5 Extensions so angepasst werden,
> dass Sie auch unter 6.2 laufen. In einigen Monaten soll aber eine
> weitere Erweiterung erfolgen, die dann im Hinblick auf die Zukunft auf
> Extbased Entwicklung programmiert werden sollte. Somit kann es gut sein,
> dass die Umstellung von PI auf Extbased Entwicklung im Upgrade
> durchgeführt werden soll.
>
> Ein Projektleiter sagte:
> "Current development and stage is no where compatible with TYPO3 version
> 6.2.  There is no upgrade possibility"
> und auf Nachfrage:
> "TYPO3 or any other open source are regularly upgrading theirs code time
> to time. Initial Some release supporting old extension which was built
> with older version but when they updating their own codding structure
> then there is no possibilities to have working old extension. All
> extension are upgrading theirs codding time to time based on latest
> release. Hence, we will also have to recode our extensions which was
> built under 4.4.+ as there are huge difference now."
> (mit recode meint er alle neu entwickeln)

solange die API nicht komplett über den Haufen geschmissen wird kann man 
auch mit altem Code weiter arbeiten.
In TYPO3 hat sich die API in so weit geändert dass namespaces eingeführt 
wurden und vielfach die funktionen in neue Klassen verschoben wurden. 
Die parameter und Ergebnisse sind aber erhalten geblieben. Natürlich 
gibt es immer mal deprecated funktionen und auch neue. da muss man 
natürlich von Zeit zu zeit aufräumen um aktuell zu bleiben. Und 
natürlich gibt es auch grundlegende Änderungen: aktuell wird für 7.x das 
gesamte BE von extJS auf jQuery umgestellt. dazu kommt eine vollständige 
umstrukturierung des BE-DOM. Extensions die sich dort eingeklinkt haben 
werden natürlich komplett neu geschireben werden müssen.


>
> Sprich der Projektleiter möchte gern alles neu machen, der Programmierer
> denkt er kann ein Upgrade Stück für Stück durchführen.
> Bei folgendem Dienstleister, wird eine ähnliche Meinung vertreten, aber
> die wollen ja auch Geld verdienen:
> " TYPO3-Services
> Upgrade Services auf Version 6.x
> Vor knapp einem Jahr erschien TYPO3 CMS 6.0 und brachte einige seit
> langem erwartete Neuerungen.
> Der Sprung von 4.7 auf 6.0 bringt einige gravierende Veränderungen und
> das hängt mit den TYPO3 NEOS zusammen.
> TYPO3 CMS 6.0 bringt mit diesen Neuerungen auch einige beachtenswerte
> Voraussetzungen/Konsequenzen mit.
> Audf die wichtigsten davon und auf was man bei einem Umstieg oder Update
> beachten sollte, gehen wir hier kurz ein
>     Da "Pi-based" Entwicklungen nicht dauerhaft wirtschaftlich sinnvoll
> unter 6.x betrieben werden können, bedeutet das für die Kunden einen
> Umstieg auf Extbased Entwicklung.
>     Bestehende „Pi-based Extensions" können nicht ohne
> Funktionalitätseinschränkungen unter TYPO3 6.x weiter verwendet werden
> bzw. intelligent weiter entwickelt werden.
>     Funktions- und Leistungseinschränkungen alter Pi-based Extensions
> sind bereits heute unter 6.x zu beobachten und eine Weiterentwicklung
> ist für die Zukunft entwicklerseitig nicht mehr gewollt.
>     Der Support für alte 4.x basierte Versionen wird aktuell
> eingestellt/ endet im Oktober 2013.
> Mehr als 15 Jahre TYPO3 Erfahrung aus Entwicklung und Betrieb im
> Entwicklungsteam,..."
>
>
>
> 5) Wenn ich Dich richtig verstehe, wird die PI Entwicklung mit kleineren
> Anpassungen grundsätzlich auch unter Typo3 6.2 laufen. Die Umstellung
> auf extbase wäre aufwendig, aber grundsätzlich möglich, richtig?

pi-based bezeichnet erstmal eine basis-Klasse für extensions mit einem 
ganzen Haufen an Funktionenen, die nach und nach hinzugekommen sind.
diese Klasse wird erstmal als Prototyp-Bezeichnung für alle Extensiosn 
genommen, die nicht auf der extbase-Klasse aufbauen. Ob diese Extension 
tatsächlich dies ealte Klasse benutz(t)en oder ob sie nur einfach alles 
selber mach(t)en ist egal. mit der extension Kickstarter gab es einen 
Wizard, mit der man sich schnell ein Extension-Grundgerüst zusamman 
klicken konnte. hier wurde konkreet die Klasse pi-based genutzt.

Inzwischen ist in den ganzen TYPO3-Kalssen aufgeräumt worden und 
funktionen iegen jetzt in ganz anderen Klassen, dazu wird seit 6.0 
optimalerweise über namespaces zugegriffen. so sieht der PHP-Code zwar 
anders aus, kann aber 1:1 aus altem Code erzeugt werden.

während man mit pi-based Code seine Datenbankabfragen selber baut nutzt 
man mit extbase die 'Magic' eines Repositories, die aber auch einen 
Overhead mitbringt und bei großen Datenmengen deutliche Nachteile hat.

Typischerweise ist mit der basisklasse auch eine andere Art des 
Templatings verbunden: pi-base = Marker-templates, extbase = 
fluid-Templates. Das liegt natürlich In der Verantwortung des 
Programmierers (und wieviel Aufwand er betreibt um evtl. die ander Art 
des Templatings zu realisieren)

grundsätzlich kann man aber auch ohne extbase gemäß MVC programmieren. 
Man hat halt nur nicht die ganzen Wizards, bzw. man ersetzt in extbase 
die gnazen Wizards durch eignene Routinen.

> 6) Wenn sauber programmiert ist, sollten beide Wege kein Problem
> darstellen, richtig?

es gibt einige Entwickler, die für bestimmte Projekte bewußt kein 
extbase machen, weil die Performance zu schlecht wäre. Trotzdem wird 
dort sauberer Code erstellt, der auch zukünftig gut wartbar sein muss.

> 7) Ist es möglich PI based Entwicklungen um eine extbase Entwicklung zu
> ergänzen und das beide auf einem Typo3 6.2 laufen?

Extensions können unterschiedliche Vorgehensweisen implementieren und 
dennoch auf die gleichen Daten nutzen. und natürlich kann eine Extbase 
extension sauf eine pi-bsed aufgesetzt sehr kompliziert werden. Das ist 
immer nur im Einzelfall zu beurteilen.


bei all den Änderungen sollte man jemanden konsultieren, der die gesamte 
Entwicklung von TYPO3 mitgemacht hat, bzw. gut darüber informiert ist. 
Meinungen, die nur auf ein paar Präsentationen und den release-Notes der 
aktuellen TYPO3-Versionen basieren erscheinen mir da wie Versuche im 
Nebel zu stochern und etwas zu erwischen: vielleicht hat man ja Glück 
und macht eine richtige Aussage.

bernd
-- 
http://www.pi-phi.de/cheatsheet.html


More information about the TYPO3-german mailing list