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