bContent - Joomla Content Management |
Seite 6 von 9
BindingsEin wesentliches Feature von bContent ist die Möglichkeit, sogenannte Bindings zu definieren. Bindings sind nichts anderes als Verknüpfungen zu anderen bContent Datensätzen. Als Beispiel existiert im Datensatz Film das Feld "Darsteller". Hier werden alle Darsteller mit Komma getrennt aufgeführt. Möchten Sie nun, dass die Namen der Darsteller mit den passenden Datensätzen verlinkt werden, müssen Sie nur ein Binding im bField Manager definieren, wie links zu sehen ist. Sobald Sie die Seite neu laden, werden alle Namen mit passenden Datensätzen verlinkt. Dies passiert zunächst basierend auf einem Text-Match. Bei Autoteilen und geringen Datenmengen mag das funktionieren, aber sobald es in die Hunderttausende geht, wird die Sache kritisch, ganz abgesehen davon, dass es mehrere Schauspieler mit gleichem Namen gibt...
Falls Konflikte dieser Art auftreten, kann über eine spezielle Funktion die Konsistenz der Daten geprüft werden. Sollte es zu Unstimmigkeiten kommen, werden diese angezeigt und eine eindeutige Zuordung ausgegeben. Sollte der Datensatz nicht existieren (im Beispiel "test" ) kann dieser an Ort und Stelle angelegt werden. Selbstverständlich wird hier durchweg die Konsistenz zwischen bContent und Joomla Content beachtet. Alle Operationen dieser Art werden Ajax-basiert durchgeführt.
Bei massiven Datenmengen empfiehlt es sich, eine Normalisierungstabelle (XRef Table) anzulegen und zu nutzen. Basiert ein Binding auf einer XRef-Table werden die Matching-Abfragen auf ID-Ebene und nicht mehr per Text-Match durchgeführt. Dadurch erhöht sich die Performance bei hunderttausend Artikeln extrem. Bei jedem Speichern eines Datensatzes wird die XRef-Table zudem optimiert, damit keine verwaisten bzw. gelöschten Einträge zustande kommen.
|