Dependencies-Service: Unterschied zwischen den Versionen
(38 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
+ | ''Ab Version 2.1.0'' | ||
+ | |||
+ | ==Beschreibung== | ||
Der Dependencies-Service hat die Aufgabe alle Änderungen des Systems zu überwachen und alle Artikel, die von den Änderungen betroffen sind, neu zu generieren. | Der Dependencies-Service hat die Aufgabe alle Änderungen des Systems zu überwachen und alle Artikel, die von den Änderungen betroffen sind, neu zu generieren. | ||
− | Um entscheiden zu können welche Artikel neu generiert werden müssen, wird während der Generierung ermittelt welche Daten das Template anfordert. Gespeichert werden ID und Feldname der angeforderten Daten. Diese gepeicherte ID-Feldname Kombination wird dann auf Änderungen überwacht. Für | + | |
+ | Um entscheiden zu können welche Artikel neu generiert werden müssen, wird während der Generierung ermittelt welche Daten das Template anfordert. Gespeichert werden ID und Feldname der angeforderten Daten. Diese gepeicherte ID-Feldname Kombination wird dann auf Änderungen überwacht. Für jeden Publikationsbereich werden diese Daten separat gespeichert. | ||
+ | |||
+ | |||
+ | ===Auf Änderungen reagieren=== | ||
+ | <div class="note">''Die Überwachung der Felder <code>elements</code> und <code>allElements</code> ist im Standard-Fall deaktiviert, da in alt-Systemen eine zu hohe Anzahl an Abhängigkeiten existieren könnten.''</div> | ||
+ | |||
+ | * '''Neues Element''' | ||
+ | ** Es werden alle Artikel neu generiert, für die das Feld <code>elements</code> des übergeordneten Pools des neuen Elementes überwacht wird. | ||
+ | ** Es werden alle Artikel neu generiert, für die das Feld <code>allElements</code> aller übergeordneten Pools des neuen Elementes überwacht wird. | ||
+ | |||
+ | * '''Neuer Pool''' | ||
+ | ** Es werden alle Artikel neu generiert, für die das Feld <code>pools</code> des übergeordneten Pools des neuen Pools überwacht wird. | ||
+ | ** Es werden alle Artikel neu generiert, für die das Feld <code>allPools</code> aller übergeordneten Pools des neuen Pools überwacht wird. | ||
+ | |||
+ | * '''Neues Element / Neuer Pool''' | ||
+ | ** Enthält das neue Element / der neue Pool Verknüpfungen wird geprüfen ob die Verknüpfungsziele Suchabfragen besitzen. In diesem Fall werden die Suchabfragen der Artikels ausführen. Bei Änderungen von Suchergebnissen werden die entsprechenden Verknüpfungsziele neu generiert. | ||
+ | ** Suchergebnisse beliebiger Suchabfragen können sich geändert haben. Diese Abhängigkeiten werden durch regelmäßiges ausführen der Suchabfragen und Prüfung von Änderungen der Suchergebnisse erkannt. Es werden die Artikel neu generiert die eine Suchabfrage verwenden, dessen Suchergebnis sich geändert hat. | ||
+ | ** Existieren Verknüpfungen auf andere Elemente, werden alle Artikel neu generiert auf die verlinkt wurde und die das Feld <code>referrerLinks</code> verwendet haben. | ||
+ | |||
+ | * '''Element geändert''' | ||
+ | ** Wenn sich der Dateiname geändert hat, werden alle Artikel neu generiert, für die das Feld <code>filename</code> oder <code>url</code> des geänderten Elementes überwacht wird. | ||
+ | ** Wenn sich der originale Dateiname geändert hat, werden alle Artikel neu generiert, für die das Feld <code>originalFilename</code> des geänderten Elementes überwacht wird. | ||
+ | |||
+ | * '''Template-Suffix geändert''' | ||
+ | ** Wenn sich der Suffix eines Template geändert hat, werden alle Artikel neu generiert, für die das Feld <code>suffix</code> des geänderten Templates überwacht wird. Weiter werden alle Artikel neu generiert bei denen sie der Dateiname der Seite aufgrund des geänderten Suffix ändert. Alle so generierten Artikel besitzen dadurch eine neue URL, so das anschließend alle Artikel neu generiert werden, für die das Feld <code>url</code> der generierten Artikel überwacht wird. | ||
+ | |||
+ | * '''Pool geändert''' | ||
+ | ** Wenn sich das Verzeichnis geändert hat, werden alle Artikel neu generiert, für die das Feld <code>dir</code> des geänderten Pools überwacht wird. Weiter werden alle Artikel des geänderten Pools und alle Artikel aller Unterpools neu generiert. Alle so generierten Artikel besitzen dadurch eine neue URL, so das anschließend alle Artikel neu generiert werden, für die das Feld <code>url</code> der generierten Artikel überwacht wird. | ||
+ | ** Bei Änderung von Personalisierungsdaten werden alle Artikel neu generiert, die diese Personalisierungsdaten verwendet. | ||
+ | |||
+ | * '''Element / Pool geändert''' | ||
+ | ** Es werden alle Artikel neu generiert, für die das Feld <code>*</code> des geänderten Elementes/Pools überwacht wird. | ||
+ | ** Es werden alle Artikel generiert, für die die neuen, geänderten oder gelöschten Content-Felder des geänderten Elementes/Pools überwacht werden. | ||
+ | ** Enthält das Element / der Pool neue Verknüpfungen wird geprüfen ob die Verknüpfungsziele Suchabfragen besitzen. In diesem Fall werden die Suchabfragen der Artikels ausführen. Bei Änderungen von Suchergebnissen werden die entsprechenden Verknüpfungsziele neu generiert. | ||
+ | ** Wurden bestehende Verknüpfungen des Elementes / des Pools gelöscht wird geprüfen ob die Verknüpfungsziele Suchabfragen besitzen. In diesem Fall werden die Suchabfragen der Artikels ausführen. Bei Änderungen von Suchergebnissen werden die entsprechenden Verknüpfungsziele neu generiert. | ||
+ | ** Suchergebnisse beliebiger Suchabfragen können sich geändert haben. Diese Abhängigkeiten werden durch regelmäßiges ausführen der Suchabfragen und Prüfung von Änderungen der Suchergebnisse erkannt. Es werden die Artikel neu generiert die eine Suchabfrage verwenden, dessen Suchergebnis sich geändert hat. | ||
+ | ** Sind Verknüpfungen erzeugt, geändert oder gelöscht worden, werden alle Artikel neu generiert auf die verlinkt wird/wurde und die das Feld <code>referrerLinks</code> verwendet haben. | ||
+ | |||
+ | * '''Artikel publiziert''' | ||
+ | ** Es werden alle Artikel neu generiert, für die das Feld <code>url</code> des publizierten Artikels überwacht wird. | ||
+ | ** Suchergebnisse beliebiger Suchabfragen können sich geändert haben. Diese Abhängigkeiten werden durch regelmäßiges ausführen der Suchabfragen und Prüfung von Änderungen der Suchergebnisse erkannt. Es werden die Artikel neu generiert die eine Suchabfrage verwenden, dessen Suchergebnis sich geändert hat. | ||
+ | |||
+ | * '''Artikel depubliziert''' | ||
+ | ** Es werden alle Artikel neu generiert, für die das Feld <code>url</code> des depublizierten Artikels überwacht wird. | ||
+ | ** Suchergebnisse beliebiger Suchabfragen können sich geändert haben. Diese Abhängigkeiten werden durch regelmäßiges ausführen der Suchabfragen und Prüfung von Änderungen der Suchergebnisse erkannt. Es werden die Artikel neu generiert die eine Suchabfrage verwenden, dessen Suchergebnis sich geändert hat. | ||
+ | |||
+ | * '''Element gelöscht''' | ||
+ | ** Es werden alle Artikel neu generiert, für die das Feld <code>elements</code> des übergeordneten Pools des gelöschten Elementes überwacht wird. | ||
+ | ** Es werden alle Artikel neu generiert, für die das Feld <code>allElements</code> aller übergeordneten Pools des gelöschten Elementes überwacht wird. | ||
+ | |||
+ | * '''Pool gelöscht''' | ||
+ | ** Es werden alle Artikel neu generiert, für die das Feld <code>pools</code> des übergeordneten Pools des gelöschten Pools überwacht wird. | ||
+ | ** Es werden alle Artikel neu generiert, für die das Feld <code>allPools</code> aller übergeordneten Pools des gelöschten Pools überwacht wird. | ||
+ | ** Es werden alle Artikel neu generiert, die noch die Personalisierungsdaten des Pools verwenden. | ||
+ | |||
+ | * '''Element / Pool gelöscht''' | ||
+ | ** Alle Artikel, die das gelöschte Element / den gelöschten Pool verwendet haben werden neu generiert. | ||
+ | ** Alle Suchabfragen dessen Treffer das gelöschte Elemente / den gelöschten Pool enthalten, werden ausgeführt und Artikel, die diese Suchabfragen verwenden werden neu generiert. | ||
+ | ** Suchergebnisse beliebiger Suchabfragen können sich geändert haben. Diese Abhängigkeiten werden durch regelmäßiges ausführen der Suchabfragen und Prüfung von Änderungen der Suchergebnisse erkannt. Es werden die Artikel neu generiert die eine Suchabfrage verwenden, dessen Suchergebnis sich geändert hat. | ||
+ | |||
+ | * '''Element verschoben''' | ||
+ | ** Es werden alle Artikel neu generiert, für die das Feld <code>parent</code> des verschobenen Elementes überwacht wird. | ||
+ | ** Es werden alle Artikel neu generiert, für die das Feld <code>path</code> des verschobenen Elementes überwacht wird. | ||
+ | ** Es werden alle Artikel neu generiert, für die das Feld <code>elements</code> des ursprünglichen übergeordneten Pools überwacht wird. | ||
+ | ** Es werden alle Artikel neu generiert, für die das Feld <code>elements</code> des neuen übergeordneten Pools überwacht wird. | ||
+ | ** Es werden alle Artikel neu generiert, für die das Feld <code>allElements</code> aller ursprünglichen übergeordneten Pools überwacht wird. | ||
+ | ** Es werden alle Artikel neu generiert, für die das Feld <code>allElements</code> aller neuen übergeordneten Pools überwacht wird. | ||
+ | ** Suchergebnisse beliebiger Suchabfragen können sich geändert haben. Diese Abhängigkeiten werden durch regelmäßiges ausführen der Suchabfragen und Prüfung von Änderungen der Suchergebnisse erkannt. Es werden die Artikel neu generiert die eine Suchabfrage verwenden, dessen Suchergebnis sich geändert hat. | ||
+ | |||
+ | * '''Pool verschoben''' | ||
+ | ** Es werden alle Artikel neu generiert, für die das Feld <code>parent</code> des verschobenen Pools überwacht wird. | ||
+ | ** Es werden alle Artikel neu generiert, für die das Feld <code>path</code> des verschobenen Pools und seinen Unterpools und Unterelementen überwacht wird. | ||
+ | ** Es werden alle Artikel neu generiert, für die das Feld <code>pools</code> des ursprünglichen übergeordneten Pools überwacht wird. | ||
+ | ** Es werden alle Artikel neu generiert, für die das Feld <code>pools</code> des neuen übergeordneten Pools überwacht wird. | ||
+ | ** Es werden alle Artikel neu generiert, für die das Feld <code>allPools</code> aller ursprünglichen übergeordneten Pools überwacht wird. | ||
+ | ** Es werden alle Artikel neu generiert, für die das Feld <code>allPools</code> aller neuen übergeordneten Pools überwacht wird. | ||
+ | ** Wenn sich der Verzeichnispfad des neue übergeordneten Pools von dem des ursprünglichen übergeordneten Pools unterscheidet, werden alle Artikel des Pools und alle Artikel aller Unterpools neu generiert. Alle so generierten Artikel besitzen dadurch eine neue URL, so das anschließend alle Artikel neu generiert werden, für die das Feld <code>url</code> der generierten Artikel überwacht wird. | ||
+ | ** Suchergebnisse beliebiger Suchabfragen können sich geändert haben. Diese Abhängigkeiten werden durch regelmäßiges ausführen der Suchabfragen und Prüfung von Änderungen der Suchergebnisse erkannt. Es werden die Artikel neu generiert die eine Suchabfrage verwenden, dessen Suchergebnis sich geändert hat. | ||
+ | |||
+ | * '''Neuer Symlink''' | ||
+ | ** Es werden alle Artikel neu generiert, für die das Feld <code>stepParent</code> des originalen Elementes überwacht wird, für den der Symlink angelegt wurde. | ||
+ | ** Es werden alle Artikel neu generiert, für die das Feld <code>elements</code> des übergeordneten Pools des neuen Symlink überwacht wird. | ||
+ | ** Es werden alle Artikel neu generiert, für die das Feld <code>allElements</code> aller übergeordneten Pools des neuen Symlink überwacht wird. | ||
+ | |||
+ | * '''Symlink gelöscht''' | ||
+ | ** Es werden alle Artikel neu generiert, für die das Feld <code>stepParent</code> des originalen Elementes überwacht wird. | ||
+ | ** Es werden alle Artikel neu generiert, für die das Feld <code>elements</code> des übergeordneten Pools des gelöschten Symlink überwacht wird. | ||
+ | ** Es werden alle Artikel neu generiert, für die das Feld <code>allElements</code> aller übergeordneten Pools des gelöschten Symlink überwacht wird. | ||
+ | |||
+ | * '''Symlink verschoben''' | ||
+ | ** Es werden alle Artikel neu generiert, für die das Feld <code>stepParent</code> des originalen Elementes überwacht wird. | ||
+ | ** Es werden alle Artikel neu generiert, für die das Feld <code>elements</code> des ursprünglichen übergeordneten Pools überwacht wird. | ||
+ | ** Es werden alle Artikel neu generiert, für die das Feld <code>elements</code> des neuen übergeordneten Pools überwacht wird. | ||
+ | ** Es werden alle Artikel neu generiert, für die das Feld <code>allElements</code> aller ursprünglichen übergeordneten Pools überwacht wird. | ||
+ | ** Es werden alle Artikel neu generiert, für die das Feld <code>allElements</code> aller neuen übergeordneten Pools überwacht wird. | ||
+ | |||
+ | ===Zu überwachende Felder protokollieren=== | ||
Bestimmte Feldnamen, die auf Änderungen identisch reagieren müssen werden zu einem symbolischen Feldnamen zusammengefasst. Z.B. wird <code>url</code>, <code>absoluteUrl</code> und <code>relativeUrl</code> zu dem Feldnamen <code>url</code> zusammengefasst. Auch Funktionsaufrufe wie <code>url(publisher)</code> werden überwacht. | Bestimmte Feldnamen, die auf Änderungen identisch reagieren müssen werden zu einem symbolischen Feldnamen zusammengefasst. Z.B. wird <code>url</code>, <code>absoluteUrl</code> und <code>relativeUrl</code> zu dem Feldnamen <code>url</code> zusammengefasst. Auch Funktionsaufrufe wie <code>url(publisher)</code> werden überwacht. | ||
− | Es gibt Felder, bei denen auf | + | Es gibt Felder, bei denen auf jede Änderung die Seite neu generiert werden muß. Für diese Felder wird der Feldname <code>*</code> protokolliert. |
Hier die vollständige Liste aller überwachten Felder | Hier die vollständige Liste aller überwachten Felder | ||
{| class="prettytable sortable" | {| class="prettytable sortable" | ||
|- class="hintergrundfarbe1" | |- class="hintergrundfarbe1" | ||
− | ! Feldnamen || protokollierter Feldnamen || neu Generierung | + | ! Feldnamen || protokollierter Feldnamen || neu Generierung |
|- | |- | ||
|<code>name</code> | |<code>name</code> | ||
Zeile 15: | Zeile 115: | ||
| | | | ||
* Name des Elements wurde geändert | * Name des Elements wurde geändert | ||
− | |||
|- | |- | ||
|<code>comment</code> | |<code>comment</code> | ||
Zeile 21: | Zeile 120: | ||
| | | | ||
* Kommentar des Elements wurde geändert | * Kommentar des Elements wurde geändert | ||
− | |||
|- | |- | ||
|<code>type</code> | |<code>type</code> | ||
Zeile 27: | Zeile 125: | ||
| | | | ||
* Typ des Elements wurde geändert | * Typ des Elements wurde geändert | ||
− | |||
|- | |- | ||
|<code>version</code> | |<code>version</code> | ||
Zeile 33: | Zeile 130: | ||
| | | | ||
* jede Änderung | * jede Änderung | ||
− | |||
|- | |- | ||
|<code>changedBy</code> | |<code>changedBy</code> | ||
Zeile 39: | Zeile 135: | ||
| | | | ||
* jede Änderung | * jede Änderung | ||
− | |||
|- | |- | ||
|<code>changed</code> | |<code>changed</code> | ||
Zeile 45: | Zeile 140: | ||
| | | | ||
* jede Änderung | * jede Änderung | ||
− | |||
|- | |- | ||
|<code>url</code> | |<code>url</code> | ||
Zeile 55: | Zeile 149: | ||
<code>hasValidUrl</code> | <code>hasValidUrl</code> | ||
+ | |||
+ | <code>external</code>(für Resource-Artikel) | ||
|<code>url</code> | |<code>url</code> | ||
| | | | ||
Zeile 60: | Zeile 156: | ||
* Verzeichnis eines übergeordneten Pools geändert | * Verzeichnis eines übergeordneten Pools geändert | ||
* Übergeordneter Pool verschoben | * Übergeordneter Pool verschoben | ||
+ | * Artikel publiziert | ||
+ | * Artikel depubliziert | ||
+ | Dieses Feld wird auch protokolliert wenn nicht direkt die URL des Artikels, sondern die URL eines Mediums des Artikels verwendet wird. | ||
+ | |- | ||
+ | |<code>referrerLinks</code> | ||
+ | |<code>referrerLinks</code> | ||
| | | | ||
+ | * Neue Verknüpfung auf das Element | ||
+ | * Verknüpfung auf das Element wurde gelöscht | ||
|- | |- | ||
|<code>publicationStates</code> | |<code>publicationStates</code> | ||
Zeile 66: | Zeile 170: | ||
| | | | ||
* jede Änderung | * jede Änderung | ||
+ | |- | ||
+ | |Content-Felder | ||
+ | |Name des Feldes | ||
| | | | ||
+ | * Änderung des entsprechenden Feldes (nur erste Ebene) | ||
+ | :Für die frei definierbaren Content-Felder wird dessen Feldname protokolliert. Feldnamen werden nur für die erste Ebene protokolliert. Wird z.B. in einem Template das Feld <code>${article}.mylist[0].mytext</code> abgefragt, so der Feldname <code>mylist</code> protokolliert. Die Seite wird dann auch generiert, wenn sich etwas unterhalb von <code>mylist</code> ändert. | ||
|- | |- | ||
− | ! colspan=" | + | ! colspan="3" align="left"| Artikel-Felder |
|- | |- | ||
|<code>filename</code> | |<code>filename</code> | ||
Zeile 74: | Zeile 183: | ||
| | | | ||
* Dateiname des Elements wurde geändert | * Dateiname des Elements wurde geändert | ||
− | |||
|- | |- | ||
|<code>originalFilename</code> | |<code>originalFilename</code> | ||
Zeile 80: | Zeile 188: | ||
| | | | ||
* Originaler Dateiname des Elements wurde geändert | * Originaler Dateiname des Elements wurde geändert | ||
− | |||
|- | |- | ||
− | ! colspan=" | + | ! colspan="3" align="left"| Medien-Artikel-Felder |
|- | |- | ||
|<code>filesize</code> | |<code>filesize</code> | ||
Zeile 88: | Zeile 195: | ||
| | | | ||
* jede Änderung | * jede Änderung | ||
− | |||
|- | |- | ||
|<code>filename</code> | |<code>filename</code> | ||
Zeile 94: | Zeile 200: | ||
| | | | ||
* jede Änderung | * jede Änderung | ||
− | |||
|- | |- | ||
|<code>mime</code> | |<code>mime</code> | ||
Zeile 100: | Zeile 205: | ||
| | | | ||
* jede Änderung | * jede Änderung | ||
− | |||
|- | |- | ||
|<code>format</code> | |<code>format</code> | ||
Zeile 106: | Zeile 210: | ||
| | | | ||
* jede Änderung | * jede Änderung | ||
− | |||
|- | |- | ||
|<code>isImage</code> | |<code>isImage</code> | ||
Zeile 112: | Zeile 215: | ||
| | | | ||
* jede Änderung | * jede Änderung | ||
− | |||
|- | |- | ||
|<code>width</code> | |<code>width</code> | ||
Zeile 118: | Zeile 220: | ||
| | | | ||
* jede Änderung | * jede Änderung | ||
− | |||
|- | |- | ||
|<code>height</code> | |<code>height</code> | ||
Zeile 124: | Zeile 225: | ||
| | | | ||
* jede Änderung | * jede Änderung | ||
− | |||
|- | |- | ||
|<code>media</code> | |<code>media</code> | ||
Zeile 130: | Zeile 230: | ||
| | | | ||
* jede Änderung | * jede Änderung | ||
+ | |- | ||
+ | ! colspan="3" align="left"| Template-Felder | ||
+ | |- | ||
+ | |<code>source</code> | ||
+ | |<code>source</code> | ||
+ | | | ||
+ | * Änderungen im Template-Quelltext | ||
+ | |- | ||
+ | |<code>suffix</code> | ||
+ | |<code>suffix</code> | ||
| | | | ||
+ | * Änderung des Template-Suffix | ||
|- | |- | ||
− | | | + | ! colspan="3" align="left"| Artikel-Pool-Felder |
− | | | + | |- |
+ | |<code>dir</code> | ||
+ | |<code>dir</code> | ||
| | | | ||
− | * Änderung des | + | * Änderung des Verzeichnisses |
− | |||
|- | |- | ||
− | ! colspan=" | + | ! colspan="3" align="left"| Pool-Felder |
|- | |- | ||
|<code>parent</code> | |<code>parent</code> | ||
Zeile 144: | Zeile 256: | ||
| | | | ||
* Element wurde in einen anderen Pool verschoben | * Element wurde in einen anderen Pool verschoben | ||
− | |||
|- | |- | ||
|<code>stepParents</code> | |<code>stepParents</code> | ||
Zeile 150: | Zeile 261: | ||
| | | | ||
* Für das Element wurde ein Symlink angelegt oder gelöscht | * Für das Element wurde ein Symlink angelegt oder gelöscht | ||
− | |||
|- | |- | ||
|<code>path</code> | |<code>path</code> | ||
Zeile 156: | Zeile 266: | ||
| | | | ||
* Übergeordneter Pool wurde in einen anderen Pool verschoben | * Übergeordneter Pool wurde in einen anderen Pool verschoben | ||
− | |||
|- | |- | ||
|<code>elements</code> | |<code>elements</code> | ||
+ | <code>sortedElements</code> | ||
+ | <code>hasChildren</code> | ||
|<code>elements</code> | |<code>elements</code> | ||
| | | | ||
+ | <div class="note">''Die Überwachung dieses Feldes ist im Standard-Fall deaktiviert, da in alt-Systemen eine zu hohe Anzahl an Abhängigkeiten existieren könnten.''</div> | ||
* In dem Pool wurde ein Element angelegt | * In dem Pool wurde ein Element angelegt | ||
* In dem Pool wurde ein Element gelöscht | * In dem Pool wurde ein Element gelöscht | ||
Zeile 166: | Zeile 278: | ||
* Ein Symlink wurde in dem Pool erzeugt | * Ein Symlink wurde in dem Pool erzeugt | ||
* Ein Symlink wurde in dem Pool gelöscht | * Ein Symlink wurde in dem Pool gelöscht | ||
− | |||
|- | |- | ||
|<code>allElements</code> | |<code>allElements</code> | ||
|<code>allElements</code> | |<code>allElements</code> | ||
| | | | ||
+ | <div class="note">''Die Überwachung dieses Feldes ist im Standard-Fall deaktiviert, da in alt-Systemen eine zu hohe Anzahl an Abhängigkeiten existieren könnten.''</div> | ||
* In dem Pool oder einem untergeordnetem Pool wurde ein Element angelegt | * In dem Pool oder einem untergeordnetem Pool wurde ein Element angelegt | ||
* In dem Pool oder einem untergeordnetem Pool wurde ein Element gelöscht | * In dem Pool oder einem untergeordnetem Pool wurde ein Element gelöscht | ||
Zeile 176: | Zeile 288: | ||
* Ein Symlink wurde in dem Pool oder einem untergeordnetem Pool erzeugt | * Ein Symlink wurde in dem Pool oder einem untergeordnetem Pool erzeugt | ||
* Ein Symlink wurde in dem Pool oder einem untergeordnetem Pool gelöscht | * Ein Symlink wurde in dem Pool oder einem untergeordnetem Pool gelöscht | ||
− | |||
|- | |- | ||
|<code>pools</code> | |<code>pools</code> | ||
+ | <code>sortedPools</code> | ||
+ | <code>hasChildren</code> | ||
|<code>pools</code> | |<code>pools</code> | ||
| | | | ||
Zeile 184: | Zeile 297: | ||
* In dem Pool wurde ein Pool gelöscht | * In dem Pool wurde ein Pool gelöscht | ||
* Ein Pool wurde in den Pool verschoben | * Ein Pool wurde in den Pool verschoben | ||
− | |||
|- | |- | ||
− | |<code> | + | |<code>allPools</code> |
− | |<code> | + | |<code>allPools</code> |
| | | | ||
* In dem Pool oder einem untergeordnetem Pool wurde ein Pool angelegt | * In dem Pool oder einem untergeordnetem Pool wurde ein Pool angelegt | ||
* In dem Pool oder einem untergeordnetem Pool wurde ein Pool gelöscht | * In dem Pool oder einem untergeordnetem Pool wurde ein Pool gelöscht | ||
* Ein Pool wurde in den Pool oder einem untergeordnetem Pool verschoben | * Ein Pool wurde in den Pool oder einem untergeordnetem Pool verschoben | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|} | |} | ||
+ | |||
+ | <noinclude> | ||
+ | [[Category:Dienste]] | ||
+ | </noinclude> |
Aktuelle Version vom 1. September 2009, 10:01 Uhr
Ab Version 2.1.0
Beschreibung
Der Dependencies-Service hat die Aufgabe alle Änderungen des Systems zu überwachen und alle Artikel, die von den Änderungen betroffen sind, neu zu generieren.
Um entscheiden zu können welche Artikel neu generiert werden müssen, wird während der Generierung ermittelt welche Daten das Template anfordert. Gespeichert werden ID und Feldname der angeforderten Daten. Diese gepeicherte ID-Feldname Kombination wird dann auf Änderungen überwacht. Für jeden Publikationsbereich werden diese Daten separat gespeichert.
Auf Änderungen reagieren
elements
und allElements
ist im Standard-Fall deaktiviert, da in alt-Systemen eine zu hohe Anzahl an Abhängigkeiten existieren könnten.- Neues Element
- Es werden alle Artikel neu generiert, für die das Feld
elements
des übergeordneten Pools des neuen Elementes überwacht wird. - Es werden alle Artikel neu generiert, für die das Feld
allElements
aller übergeordneten Pools des neuen Elementes überwacht wird.
- Es werden alle Artikel neu generiert, für die das Feld
- Neuer Pool
- Es werden alle Artikel neu generiert, für die das Feld
pools
des übergeordneten Pools des neuen Pools überwacht wird. - Es werden alle Artikel neu generiert, für die das Feld
allPools
aller übergeordneten Pools des neuen Pools überwacht wird.
- Es werden alle Artikel neu generiert, für die das Feld
- Neues Element / Neuer Pool
- Enthält das neue Element / der neue Pool Verknüpfungen wird geprüfen ob die Verknüpfungsziele Suchabfragen besitzen. In diesem Fall werden die Suchabfragen der Artikels ausführen. Bei Änderungen von Suchergebnissen werden die entsprechenden Verknüpfungsziele neu generiert.
- Suchergebnisse beliebiger Suchabfragen können sich geändert haben. Diese Abhängigkeiten werden durch regelmäßiges ausführen der Suchabfragen und Prüfung von Änderungen der Suchergebnisse erkannt. Es werden die Artikel neu generiert die eine Suchabfrage verwenden, dessen Suchergebnis sich geändert hat.
- Existieren Verknüpfungen auf andere Elemente, werden alle Artikel neu generiert auf die verlinkt wurde und die das Feld
referrerLinks
verwendet haben.
- Element geändert
- Wenn sich der Dateiname geändert hat, werden alle Artikel neu generiert, für die das Feld
filename
oderurl
des geänderten Elementes überwacht wird. - Wenn sich der originale Dateiname geändert hat, werden alle Artikel neu generiert, für die das Feld
originalFilename
des geänderten Elementes überwacht wird.
- Wenn sich der Dateiname geändert hat, werden alle Artikel neu generiert, für die das Feld
- Template-Suffix geändert
- Wenn sich der Suffix eines Template geändert hat, werden alle Artikel neu generiert, für die das Feld
suffix
des geänderten Templates überwacht wird. Weiter werden alle Artikel neu generiert bei denen sie der Dateiname der Seite aufgrund des geänderten Suffix ändert. Alle so generierten Artikel besitzen dadurch eine neue URL, so das anschließend alle Artikel neu generiert werden, für die das Feldurl
der generierten Artikel überwacht wird.
- Wenn sich der Suffix eines Template geändert hat, werden alle Artikel neu generiert, für die das Feld
- Pool geändert
- Wenn sich das Verzeichnis geändert hat, werden alle Artikel neu generiert, für die das Feld
dir
des geänderten Pools überwacht wird. Weiter werden alle Artikel des geänderten Pools und alle Artikel aller Unterpools neu generiert. Alle so generierten Artikel besitzen dadurch eine neue URL, so das anschließend alle Artikel neu generiert werden, für die das Feldurl
der generierten Artikel überwacht wird. - Bei Änderung von Personalisierungsdaten werden alle Artikel neu generiert, die diese Personalisierungsdaten verwendet.
- Wenn sich das Verzeichnis geändert hat, werden alle Artikel neu generiert, für die das Feld
- Element / Pool geändert
- Es werden alle Artikel neu generiert, für die das Feld
*
des geänderten Elementes/Pools überwacht wird. - Es werden alle Artikel generiert, für die die neuen, geänderten oder gelöschten Content-Felder des geänderten Elementes/Pools überwacht werden.
- Enthält das Element / der Pool neue Verknüpfungen wird geprüfen ob die Verknüpfungsziele Suchabfragen besitzen. In diesem Fall werden die Suchabfragen der Artikels ausführen. Bei Änderungen von Suchergebnissen werden die entsprechenden Verknüpfungsziele neu generiert.
- Wurden bestehende Verknüpfungen des Elementes / des Pools gelöscht wird geprüfen ob die Verknüpfungsziele Suchabfragen besitzen. In diesem Fall werden die Suchabfragen der Artikels ausführen. Bei Änderungen von Suchergebnissen werden die entsprechenden Verknüpfungsziele neu generiert.
- Suchergebnisse beliebiger Suchabfragen können sich geändert haben. Diese Abhängigkeiten werden durch regelmäßiges ausführen der Suchabfragen und Prüfung von Änderungen der Suchergebnisse erkannt. Es werden die Artikel neu generiert die eine Suchabfrage verwenden, dessen Suchergebnis sich geändert hat.
- Sind Verknüpfungen erzeugt, geändert oder gelöscht worden, werden alle Artikel neu generiert auf die verlinkt wird/wurde und die das Feld
referrerLinks
verwendet haben.
- Es werden alle Artikel neu generiert, für die das Feld
- Artikel publiziert
- Es werden alle Artikel neu generiert, für die das Feld
url
des publizierten Artikels überwacht wird. - Suchergebnisse beliebiger Suchabfragen können sich geändert haben. Diese Abhängigkeiten werden durch regelmäßiges ausführen der Suchabfragen und Prüfung von Änderungen der Suchergebnisse erkannt. Es werden die Artikel neu generiert die eine Suchabfrage verwenden, dessen Suchergebnis sich geändert hat.
- Es werden alle Artikel neu generiert, für die das Feld
- Artikel depubliziert
- Es werden alle Artikel neu generiert, für die das Feld
url
des depublizierten Artikels überwacht wird. - Suchergebnisse beliebiger Suchabfragen können sich geändert haben. Diese Abhängigkeiten werden durch regelmäßiges ausführen der Suchabfragen und Prüfung von Änderungen der Suchergebnisse erkannt. Es werden die Artikel neu generiert die eine Suchabfrage verwenden, dessen Suchergebnis sich geändert hat.
- Es werden alle Artikel neu generiert, für die das Feld
- Element gelöscht
- Es werden alle Artikel neu generiert, für die das Feld
elements
des übergeordneten Pools des gelöschten Elementes überwacht wird. - Es werden alle Artikel neu generiert, für die das Feld
allElements
aller übergeordneten Pools des gelöschten Elementes überwacht wird.
- Es werden alle Artikel neu generiert, für die das Feld
- Pool gelöscht
- Es werden alle Artikel neu generiert, für die das Feld
pools
des übergeordneten Pools des gelöschten Pools überwacht wird. - Es werden alle Artikel neu generiert, für die das Feld
allPools
aller übergeordneten Pools des gelöschten Pools überwacht wird. - Es werden alle Artikel neu generiert, die noch die Personalisierungsdaten des Pools verwenden.
- Es werden alle Artikel neu generiert, für die das Feld
- Element / Pool gelöscht
- Alle Artikel, die das gelöschte Element / den gelöschten Pool verwendet haben werden neu generiert.
- Alle Suchabfragen dessen Treffer das gelöschte Elemente / den gelöschten Pool enthalten, werden ausgeführt und Artikel, die diese Suchabfragen verwenden werden neu generiert.
- Suchergebnisse beliebiger Suchabfragen können sich geändert haben. Diese Abhängigkeiten werden durch regelmäßiges ausführen der Suchabfragen und Prüfung von Änderungen der Suchergebnisse erkannt. Es werden die Artikel neu generiert die eine Suchabfrage verwenden, dessen Suchergebnis sich geändert hat.
- Element verschoben
- Es werden alle Artikel neu generiert, für die das Feld
parent
des verschobenen Elementes überwacht wird. - Es werden alle Artikel neu generiert, für die das Feld
path
des verschobenen Elementes überwacht wird. - Es werden alle Artikel neu generiert, für die das Feld
elements
des ursprünglichen übergeordneten Pools überwacht wird. - Es werden alle Artikel neu generiert, für die das Feld
elements
des neuen übergeordneten Pools überwacht wird. - Es werden alle Artikel neu generiert, für die das Feld
allElements
aller ursprünglichen übergeordneten Pools überwacht wird. - Es werden alle Artikel neu generiert, für die das Feld
allElements
aller neuen übergeordneten Pools überwacht wird. - Suchergebnisse beliebiger Suchabfragen können sich geändert haben. Diese Abhängigkeiten werden durch regelmäßiges ausführen der Suchabfragen und Prüfung von Änderungen der Suchergebnisse erkannt. Es werden die Artikel neu generiert die eine Suchabfrage verwenden, dessen Suchergebnis sich geändert hat.
- Es werden alle Artikel neu generiert, für die das Feld
- Pool verschoben
- Es werden alle Artikel neu generiert, für die das Feld
parent
des verschobenen Pools überwacht wird. - Es werden alle Artikel neu generiert, für die das Feld
path
des verschobenen Pools und seinen Unterpools und Unterelementen überwacht wird. - Es werden alle Artikel neu generiert, für die das Feld
pools
des ursprünglichen übergeordneten Pools überwacht wird. - Es werden alle Artikel neu generiert, für die das Feld
pools
des neuen übergeordneten Pools überwacht wird. - Es werden alle Artikel neu generiert, für die das Feld
allPools
aller ursprünglichen übergeordneten Pools überwacht wird. - Es werden alle Artikel neu generiert, für die das Feld
allPools
aller neuen übergeordneten Pools überwacht wird. - Wenn sich der Verzeichnispfad des neue übergeordneten Pools von dem des ursprünglichen übergeordneten Pools unterscheidet, werden alle Artikel des Pools und alle Artikel aller Unterpools neu generiert. Alle so generierten Artikel besitzen dadurch eine neue URL, so das anschließend alle Artikel neu generiert werden, für die das Feld
url
der generierten Artikel überwacht wird. - Suchergebnisse beliebiger Suchabfragen können sich geändert haben. Diese Abhängigkeiten werden durch regelmäßiges ausführen der Suchabfragen und Prüfung von Änderungen der Suchergebnisse erkannt. Es werden die Artikel neu generiert die eine Suchabfrage verwenden, dessen Suchergebnis sich geändert hat.
- Es werden alle Artikel neu generiert, für die das Feld
- Neuer Symlink
- Es werden alle Artikel neu generiert, für die das Feld
stepParent
des originalen Elementes überwacht wird, für den der Symlink angelegt wurde. - Es werden alle Artikel neu generiert, für die das Feld
elements
des übergeordneten Pools des neuen Symlink überwacht wird. - Es werden alle Artikel neu generiert, für die das Feld
allElements
aller übergeordneten Pools des neuen Symlink überwacht wird.
- Es werden alle Artikel neu generiert, für die das Feld
- Symlink gelöscht
- Es werden alle Artikel neu generiert, für die das Feld
stepParent
des originalen Elementes überwacht wird. - Es werden alle Artikel neu generiert, für die das Feld
elements
des übergeordneten Pools des gelöschten Symlink überwacht wird. - Es werden alle Artikel neu generiert, für die das Feld
allElements
aller übergeordneten Pools des gelöschten Symlink überwacht wird.
- Es werden alle Artikel neu generiert, für die das Feld
- Symlink verschoben
- Es werden alle Artikel neu generiert, für die das Feld
stepParent
des originalen Elementes überwacht wird. - Es werden alle Artikel neu generiert, für die das Feld
elements
des ursprünglichen übergeordneten Pools überwacht wird. - Es werden alle Artikel neu generiert, für die das Feld
elements
des neuen übergeordneten Pools überwacht wird. - Es werden alle Artikel neu generiert, für die das Feld
allElements
aller ursprünglichen übergeordneten Pools überwacht wird. - Es werden alle Artikel neu generiert, für die das Feld
allElements
aller neuen übergeordneten Pools überwacht wird.
- Es werden alle Artikel neu generiert, für die das Feld
Zu überwachende Felder protokollieren
Bestimmte Feldnamen, die auf Änderungen identisch reagieren müssen werden zu einem symbolischen Feldnamen zusammengefasst. Z.B. wird url
, absoluteUrl
und relativeUrl
zu dem Feldnamen url
zusammengefasst. Auch Funktionsaufrufe wie url(publisher)
werden überwacht.
Es gibt Felder, bei denen auf jede Änderung die Seite neu generiert werden muß. Für diese Felder wird der Feldname *
protokolliert.
Hier die vollständige Liste aller überwachten Felder
Feldnamen | protokollierter Feldnamen | neu Generierung |
---|---|---|
name
|
name
|
|
comment
|
comment
|
|
type
|
type
|
|
version
|
*
|
|
changedBy
|
*
|
|
changed
|
*
|
|
url
|
url
|
Dieses Feld wird auch protokolliert wenn nicht direkt die URL des Artikels, sondern die URL eines Mediums des Artikels verwendet wird. |
referrerLinks
|
referrerLinks
|
|
publicationStates
|
*
|
|
Content-Felder | Name des Feldes |
|
Artikel-Felder | ||
filename
|
filename
|
|
originalFilename
|
originalFilename
|
|
Medien-Artikel-Felder | ||
filesize
|
*
|
|
filename
|
*
|
|
mime
|
*
|
|
format
|
*
|
|
isImage
|
*
|
|
width
|
*
|
|
height
|
*
|
|
media
|
*
|
|
Template-Felder | ||
source
|
source
|
|
suffix
|
suffix
|
|
Artikel-Pool-Felder | ||
dir
|
dir
|
|
Pool-Felder | ||
parent
|
parent
|
|
stepParents
|
stepParents
|
|
path
|
path
|
|
elements
|
elements
|
Die Überwachung dieses Feldes ist im Standard-Fall deaktiviert, da in alt-Systemen eine zu hohe Anzahl an Abhängigkeiten existieren könnten.
|
allElements
|
allElements
|
Die Überwachung dieses Feldes ist im Standard-Fall deaktiviert, da in alt-Systemen eine zu hohe Anzahl an Abhängigkeiten existieren könnten.
|
pools
|
pools
|
|
allPools
|
allPools
|
|