Linodef is a filter for internal links and dynamic element embedding based exclusively on IDs. It provides tags to embed, insert and link the following element types:
- nodes
- fields
- taxonomy terms
- views (support for certain displays and arguments)
- Planned: image- and filefield, comments
Moreover Linodef supplies (optional) buttons for supported editors to insert the tags into text and body fields. The buttons contain a list of elements (e.g. node titles) with the corresponding Linodef tag. The user can select an element with the help of an itemlist or an autocomplete field. A button is created by defining different elementtypes.
Application field
Those tags are required if you have a text that needs to include references to other elements or contains content which is already available in other elements. Some examples:
- You write an article that refers to things you've already saved as node or taxonomy term or you want to quote news/other articles (yes, you can dynamically embed whole texts, with or without linking them).
- You write a thesis with many difficult terms (the spelling of some of them will change likely) and you require (1) a common spelling as well as (2) links to an explanation for yourself and your readers (each term is a node or taxonomy term).
- You write a book and you expect that names of characters will change during the writing process (each character has a node with fields for firstname, nickname, surname etc).
This is only an incomplete list of examples. Linodef is applicable in many more cases than those.
Differences of Linodef in comparison to similar modules
To achieve the required flexibility the ID of a node, ID of a term and optionally a fieldname are the only elements that are saved within your text. The other data is included on-the-fly. That is the difference to similar filter modules that uses node names to create links (wiki-like behavior) or that limit their tags to the Node ID, too, but do not embed anything else. Following is a list of advantages the method Linodef uses has:
- if you change the title or field value of the linked node then the title or field value are updated in your text automatically
- if you change the name of a term then the name is updated in your text automatically
- if the node or term has a path alias then that is used instead of the default /node and /term path (if you change it, it is updated too)
- links don't break even if you change the title of a linked node or the name of a linked taxonomy term
- the tags are hardcoded and thus reliable so other modules can work with those tags
- the tag syntax is extensible i.e. in the future more element types can be supported without the need for a syntax change
- a tag validation system sends messages to the text and/or the Drupal message system so the user knows if he entered a tag with a wrong syntax and knows how to correct this (optional, messages can be deactivated)
- buttons are provided which ease the selection and inclusion of tags
Linodef is more than a filter
Now you likely think: "I won't be able to know the IDs of all my nodes and terms." For this very reason Linodef is not limited to the filter tags:
Linodef uses hardcoded tags not only to keep simplicity and a common handling but to offer the ability to provide buttons for editors. Learn more at The three Pillars of Linodef as well as editors Linodef supports.