Dependencies-Service: Unterschied zwischen den Versionen
Zeile 3: | Zeile 3: | ||
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 denen Publikationsbereich diese Daten separat gespeichert. | 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 denen Publikationsbereich diese Daten separat gespeichert. | ||
− | * Neues Element | + | * '''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>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. | ** Es werden alle Artikel neu generiert, für die das Feld <code>allElements</code> aller übergeordneten Pools des neuen Elementes überwacht wird. | ||
− | * Neuer Pool | + | * '''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>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. | ** 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 | + | * '''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. | ** 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. | ** 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 / Pool geändert | + | * '''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. | ||
+ | |||
+ | * '''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 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. | ** Es werden alle Artikel generiert, für die die neuen, geänderten oder gelöschten Content-Felder des geänderten Elementes/Pools überwacht werden. | ||
Zeile 22: | Zeile 30: | ||
** 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. | ** 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 | + | * '''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. Existierten Symlinks auf das Element werden auch die Artikel neu generiert, für die das Feld <code>elements</code> der Pools der Symlinks überwacht wird. | ** Es werden alle Artikel neu generiert, für die das Feld <code>elements</code> des übergeordneten Pools des gelöschten Elementes überwacht wird. Existierten Symlinks auf das Element werden auch die Artikel neu generiert, für die das Feld <code>elements</code> der Pools der Symlinks ü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. Existierten Symlinks auf das Element werden auch die Artikel neu generiert, für die das Feld <code>allElements</code> aller ü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. Existierten Symlinks auf das Element werden auch die Artikel neu generiert, für die das Feld <code>allElements</code> aller übergeordneten Pools des gelöschten Elementes überwacht wird. | ||
− | * Pool gelöscht | + | * '''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>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, für die das Feld <code>allPools</code> aller übergeordneten Pools des gelöschten Pools überwacht wird. | ||
− | * Element / Pool gelöscht | + | * '''Element / Pool gelöscht''' |
** Alle Artikel, die das gelöschte Element / den gelöschten Pool verwendet haben werden neu generiert. | ** 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. | ** 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. | ** 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. | ||
+ | |||
+ | ** '''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. | ||
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. |
Version vom 17. Juni 2009, 14:29 Uhr
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 denen Publikationsbereich diese Daten separat gespeichert.
- 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.
- 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
- 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 bisherige Verknüpfungsziele Suchabfragen besitzen und der geänderte Artikel Treffer einer dieser Suchabfragen war. In diese Fall wird das bisherige 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.
- 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. Existierten Symlinks auf das Element werden auch die Artikel neu generiert, für die das Feldelements
der Pools der Symlinks überwacht wird. - Es werden alle Artikel neu generiert, für die das Feld
allElements
aller übergeordneten Pools des gelöschten Elementes überwacht wird. Existierten Symlinks auf das Element werden auch die Artikel neu generiert, für die das FeldallElements
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, 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.
- 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.
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 jeder Ä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 | Bemerkung |
---|---|---|---|
name
|
name
|
|
|
comment
|
comment
|
|
|
type
|
type
|
|
|
version
|
*
|
|
|
changedBy
|
*
|
|
|
changed
|
*
|
|
|
url
|
url
|
|
|
publicationStates
|
*
|
|
|
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
|
|
|
Content-Felder | Name des Feldes |
|
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 ${article}.mylist[0].mytext abgefragt, so der Feldname mylist protokolliert. Die Seite wird dann auch generiert, wenn sich etwas unterhalb von mylist ändert.
|
Pool-Felder | |||
parent
|
parent
|
|
|
stepParents
|
stepParents
|
|
|
path
|
path
|
|
|
elements
|
elements
|
|
|
allElements
|
allElements
|
|
|
pools
|
pools
|
|
|
allElements
|
allElements
|
|
|
hasChildren
|
elements und pools
|
Siehe pools und elements
|