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
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an