Linodef ist ein Filtermodul für interne Verlinkung und dynamisches Einbinden von Elementen unter ausschließlicher Nutzung von IDs. Für das Einbetten, Einfügen und Verlinken stellt es Tags bereit, die folgende Elementtypen unterstützen:
- Beiträge
- Felder
- Taxonomiebegriffe
- Geplant: Image- und Filefield, Kommentare, Views
Darüberhinaus bietet Linodef Schalflächen für unterstützte Editoren an, um Tags in Textfelder und den Textkörper von Beiträgen einzufügen. Die Schaltflächen beinhalten eine Liste von Elementen (z.B. Nodetitel) mit zugehörigen Linodef Tags. Der Nutzer kann ein Element aus einer Liste oder mittels eines Autovervollständigungsfeldes einfügen. Die Erschaffung einer Schalfläche kann durch die Festlegung verschiedener Elementtypen erfolgen.
Anwendungsbeispiele
Die Verwendung von Tags anstatt unveränderlicher Links ist dann sinnvoll, wenn in einem Text Bezüge zu anderen Nodes oder Taxonomiebegriffen hergestellt werden müssen oder Texte direkt eingebunden werden. Einige Beispiele:
- Beim Schreiben eines Artikels, der andere Artikel oder News zitiert (bei Bedarf können ganze Texte mit oder ohne Verlinkung eingebunden werden) oder der Dinge erwähnt, die bereits als Nodes oder Taxonomiebegriffe vorhanden sind.
- Beim Schreiben einer Arbeit, die spezifische oder selbstkreierte Begriffe enthält (deren Schreibweise sich ändern kann) und daher (1) eine einheitliche Schreibweise nötig ist sowie (2) verlässliche Links zu Erklärungen für den Leser zur Verfügung stehen müssen (jeder Begriff ist ein Node oder Taxonomiebegriff).
- Beim Schreiben eines Buches mit Charakteren, deren Namen zu Beginn noch nicht feststehen und es wahrscheinlich ist, dass sich diese im Verlauf des Schreibens ändern (jeder Charakter ist ein Node mit Feldern für Vorname, Nachname, Spitzname etc).
Dies ist nur eine unvollständige Liste von Beispielen. Der Einsatz von Linodef ist auch in vielen weiteren Anwendungsfällen sinnvoll.
Unterschiede von Linodef gegenüber vergleichbaren Modulen
Um die nötige Flexibilität zu erreichen, werden lediglich eine NodeID oder die ID eines Taxonomiebegriffes und optional ein Feldname im Text gespeichert. Dinge wie Nodetitel oder Feldwerte werden beim Aufrufen des Textes automatisch geladen. Dadurch unterscheidet sich Linodef von ähnlichen Modulen, die etwa zur Verlinkung den Nodetitel nutzen (wie es bei Wikis verbreitet ist) beziehungsweise sich zwar ebenfalls auf die NodeID beschränken, dafür aber keine weiteren Daten in den Text einbinden. Hier eine Liste von Vorteilen durch die Methode von Linodef:
- wenn der Nodetitel oder der eingebundene Feldwert des verlinkten Nodes modifiziert wird, so werden der Nodetitel bzw. der Feldwert im Text automatisch aktualisiert
- bei der Namensänderung eines verlinkten Taxonomiebegriffes wird der Name im Text ebenfalls automatisch auf den neuesten Stand gebracht
- falls dem Node oder dem Taxonomiebegriff ein lesbarer Pfad zugeordnet ist, wird dieser anstatt der standardmäßigen /node und /taxonomy/term Pfade benutzt (falls der lesbare Pfad geändert wird, so aktualisiert sich der Link im Text entsprechend)
- die Links bleiben gültig, auch wenn sich der Titel eines verlinkten Nodes bzw. der Name eines verlinkten Taxonomiebegriffs ändert
- die Tags sind vordefiniert und daher unveränderlich, so dass auch andere Module damit arbeiten können
- die Syntax ist erweiterbar, d.h. es können zukünftig mehr Elemente unterstützt werden, ohne die Syntax ändern zu müssen
- eine Gültigkeitsprüfung für Tags sendet Hinweise zum Text und/oder zum Drupal Benachrichtigungssystem, damit der Benutzer bei fehlerhafter Eingabe eines Tags weiß, was er falsch gemacht hat (die Benachrichtigungen können deaktiviert werden)
- es werden Schaltflächen mitgeliefert die das Auswählen und Einfügen der Tags stark vereinfachen
Linodef ist mehr als ein Filter
Nun besteht das Problem, dass ein Nutzer sich nicht die IDs sämtlicher Nodes und Taxonomiebegriffe einprägt. Aus diesem Grund ist Linodef kein reines Filtermodul. Es bevorzugt vordefinierte Tags nicht nur zur Gewährleistung einer einheitlichen Bedienung, sondern vor allem auch zur Bereitstellung von Schaltflächen für die zahlreichen Editoren für Drupal. Weitere Informationen finden sich im Abschnitt Die drei Säulen von Linodef sowie in Editoren, die durch Linodef unterstützt werden.