Inhaltsverzeichnis

Fragen & Antworten zu 'HelloWorld'

Was ist eine SQL-Strukturdatei?

Wenn in früheren Versionen von WebsiteBaker ein 'Modul' eigene Datenbanktabellen benötigte, mussten diese in der Regel mühsam und fehleranfällig per PHP-Code in der Datei install.php gecoded werden. Es gab kein einheitliches System und jeder Entwickler 'kochte da sein eigenes Süppchen'.
Seit WB-2.8.4 (in modifizierter Form auch schon in der class.database der 2.8.3-SP3!) enthält die Klasse SqlImport eine Importmethode um Tabellen einfacher, schneller und sicherer aufzubauen.
Der Aufwand für den Entwickler ist jetzt nur noch minimal. Sobald ein Addon fertig entwickelt ist, hat der Entwickler ja zwangsläufig alle dazugehörenden Tabellen in seiner Entwicklungsumgebung. Deren Struktur braucht er jetzt nur noch per phpMyAdmin exportieren und mit dem SqlDumpConverter in eine direkt verwendbare Strukturdatei umwandeln. Eine genaue Anleitung hierzu ist unter Benutzung und Einsatz des SQL-Dump-Konverters zu finden.

Weshalb keine page_id mehr in Addons?

In WB-Versionen vor 2.8.4 wurden Addons in der Regel sowohl mit der page_id als auch der section_id des Einbindungsortes verknüpft. Diese Doppelverknüpfung ist überflüssig, da redundant und störend für eine flexiblere Verwaltung.
Die feste Verknüpfung mit der page_id wird in einem Addon grundsätzlich nicht benötigt. Bei anderweitigem Bedarf der aktuellen page_id kann diese jedoch jederzeit über die Tabelle `sections` oder aber die Registry abgerufen werden. Da eine Section im gesamten System nur ein einziges mal vorkommen kann, ist die Zuweisung zwischen Section und Addon-Instanz per section_id absolut eindeutig.
Der große Vorteil zu bisherigen Versionen: Durch vermeiden von Redundanzen in der Verknüpfung von page_id und section_id wird die Verwaltung von Sections wesentlich einfacher. Durch eine einfache Änderung in der Tabelle `sections` kann z.B. eine komplette Section jetzt bequem von einer Seite zu einer anderen verschoben werden. Das war bisher nicht ohne großen Aufwand möglich.

zzz