protected function update()
{
// update elements
$this->getElements();
$this->getDao()->deleteAllElements();
if (is_array($this->getElements()) and count($this->getElements()) > 0) {
foreach ($this->getElements() as $name => $element) {
if (!$element->getInherited()) {
$element->setDao(null);
$element->setDocumentId($this->getId());
$element->save();
}
}
}
// scheduled tasks are saved in $this->saveVersion();
// load data which must be requested
$this->getProperties();
$this->getElements();
// update this
parent::update();
// save version if needed
$this->saveVersion(false, false);
}