Content Event Listener
27. April 2017
Hin und wieder kann es sinnvoll sein, bei jeder Inhaltsänderung (create/update/delete/move) ein Script auszuführen, daß bestimmte vor- oder nachbereitende Aktionen durchführt.
Dazu kennt womodo sogenannte "Content-Event-Listener" und diese kann man bei Bedarf in seinem Projekt per TMLScript implementieren.
Und so geht das:
var listener = new Packages.de.innovationgate.webgate.api.WGContentEventListener({
contentCreated: function(event){},
contentStatusChanged: function(event){},
contentHasBeenSaved: function(event){},
contentHasBeenMoved: function(event){},
contentHasBeenDeleted: function(event){}
})
db().addContentEventListener(listener)
Dabei müssen nicht alle diese Methoden implementiert sein. Es reicht diejenigen Methoden zu implementieren, auf die man reagieren möchte.
Beispiel:
var listener = new Packages.de.innovationgate.webgate.api.WGContentEventListener({
contentCreated: function(event){
var doc = event.content;
doc.setItemValue("headline", doc.title);
}
})
db().addContentEventListener(listener)
Die Methoden werden zum jeweiligen Event aufgerufen und es wird ein event Objekt übergeben, daß folgende Methoden hat:
event.getContent()
event.getDocumentKey()
event.getDatabase()
Den eigenen Event-Listener würde man typischerweise im App-Connect-Script registrieren.