[TYPO3-german] gridelements vs fedext
JoH asenau
info at cybercraft.de
Tue Sep 24 12:59:12 CEST 2013
> Die Inhalte der FCE's werden in XML gehalten und im Prinzip ähnlich wie
> bei TemplaVoila in FlexForms gespeichert. Was jedoch ist die Alternative?
> Seit dem TYPO3Camp in München bin ich gedanklich in einer großen
> Zwickmühle, weil ich den "Fehler" gemacht habe, und mich von Christian
> Müllers Neos Sessions beeindrucken ließ. Auch wenn Gridelements, was
> Kind-Elemente (und hier wirklich Elemente, kein FlexForm Inhalt-der wird ja
> wie bei fluidcontent als XML in die Datenbank geschoben) eine
> Normalisierung anstrebt und damit tendenziell schonmal bei
> Strukturelementen punkten kann; so bleibt immer die Frage nach flexiblen
> Inhalten. In Neos wirkt alles natürlich. Im CMS ist alles nur
> aufgeflanscht. - Man wählt also letzten Endes zwischen Pest und Cholera.
> DCE, gridelements und fluidcontent müssen hier mit XML in der Datenbank
> arbeiten, was heutzutage keinen spürbaren Geschwindigkeitsnachteil hat.
Den Punkt würde ich gern ein wenig beleuchten.
Gridelements ermöglichen zwar prinzipiell die selbe Verwendung von XML
wie sie mit TemplaVoila eingeführt wurde, jedoch ist die Empfehlung,
darauf so weit wie möglich zu verzichten. Es ist zwar bei kleineren
Seitenbäumen mit wenigen Inhalten kein erheblicher aber ein messbarer
Geschwindigkeitsnachteil, der sich speziell bei größeren Seitenbäumen,
tiefer verschachtelten Container-Strukturen und seiten- sowie
containerübergreifenden Datenstrukturen immer deutlicher bemerkbar
macht, je mehr Datensätze einbezogen werden müssen.
Während ich bei normalisierten Daten die volle Power der Datenbank mit
Hilfe von JOINS nutzen kann, muss ich beim XML-Ansatz IMMER in den
Inhalt einsteigen, ihn parsen, in Arrays wegschreiben, wieder auf die
Datenbank zugreifen, erneut parsen, sortieren etc.
Ein simples Beispiel ist ein Teaser-Menü das auf das jeweils erste
Inhaltselement einer Seite zugreift. Es gibt aber sicherlich noch
weitaus komplexere Anwendungsfälle.
Ursprünglich wollten wir bei Gridelements gänzlich auf XML verzichten
und hatten das Flexform-Feld nur für die Migration von TV hin zu GE
vorgesehen. So konnte man mit einer einfach Kopie der Strukturen in
dieses Feld relativ einfach überprüfen, ob die verknüpften
Inhaltselemente noch vorhanden sind und das Feld danach mit einem
SQL-Query löschen.
Wir haben danach festgestellt, dass es aber durchaus sinnvoll sein kann,
das Feld für Konfigrationszwecke - und nur dafür(!) - zu erhalten.
Inhalt hat dort nur wenig zu suchen und kann fast IMMER über eine
saubere Verknüpfung von selbst erstellten oder existierenden
Elementtypen über tt_content normalisiert werden.
Wer dafür unbedingt eigene Inhaltselementtypen benötigt, sollte im
Zusammenhang mit Gridelements eher den Weg über TCA gehen und sich einen
eigenen CType definieren. Ein relativ simpler Wizard, der ähnlich wie
beim FORMs-Projekt eine freie Zusammenstellung und Beschriftung
existierender Felder ermöglicht, wäre dabei natürlich hilfreich, aber
auch so sind Types und Palettes kein Hexenwerk. Da ist nichts
aufgeflanscht und für 90% der Anwendungsfälle sollte die bestehende
Anzahl von Feldern in tt_content ausreichen.
Wir arbeiten aber noch an einer weiteren Lösung, die eine minimierte
Tabelle zur Erzeugung von Inhalts-Gruppen aus abstrakten Einheiten
ermöglichen wird. Halt nicht Text, mit Headline mit Bild in einem
Datensatz sondern: Struktur + Text(e) + Headline(s) + Bild(er) + X,
wobei die letzten 4 Datensätze aus der minimierten Tabelle sind. Das
kommt dem Node-Konzept von Neos weitestgehend entgegen.
Im November wird's dazu einen weiteren Sprint geben. Termine gibt's hier:
http://doodle.com/kpqpkd73qn8r7g46
Es bleibt spannend
Joey
--
Wenn man keine Ahnung hat: Einfach mal Fresse halten!
(If you have no clues: simply shut your gob sometimes!)
Dieter Nuhr, German comedian
Xing: http://contact.cybercraft.de
Twitter: http://twitter.com/bunnyfield
TYPO3 cookbook (2nd edition): http://www.typo3experts.com
More information about the TYPO3-german
mailing list