Sie sind hier:   » ZMS home » News » 10/07 Start-Datum

Performance First: Optimierung im Detail

Autor: Dr. F. Hoffmann, 09.10.2007

Die aktuellen ZMS-Entwicklungen stellen das Thema 'System-Performance' in den Vordergrund. Dabei werden auch simpel scheinende Rechen-Operationen wie der Abgleich des Aktivitätszeitraums einer genauen Prüfung unterzogen. Dieser spezielle Fall hat nun gewisse Konsequenzen für die aktuelle Template-Entwicklung bzw. die Redaktionsarbeit.

Startdatum

Startdatum wird seit ZMS 2.10.4 nicht mehr automatisch gesetzt (wohl aber das "Erstellungs-Datum").

Bei allen Listen-Templates wird prinzpiell der Aktivitätszeitraum eines Objektes berücksichtigt. Messungen haben gezeigt, dass man die Seitenaufbaugeschwindigkeit optimieren kann, wenn Zope den Aktivitätszeitraum nicht errechnen muss. Mit ZMS 2.10.4 kann nun sehr einfach auf die große Masse der - in Summe - rechenintensiven Datums-Operation verzichtet werden:
Mit Anlage des Dokuments wird das Attribut attr_active_start nicht mehr automatisch vorbelegt. Erfahrungsgemäß ist dies ohnehin nur bei der Minderzahl der Site-Dokumente relevant. Auf diese Weise wird also beim Großteil der Dokumente auf die Errechnung des Aktivitätszeitraum verzichtet und die System-Performance wird verbessert.
Für die meisten Fälle eignet sich als Alternative zum Startdatum das statische "Creation-Date", das per getObjProperty('created_dt',REQUEST) zur Verfügung steht. Für besondere Fälle, wo der Anzeige Zeitraum explizit definiert werden soll, kann man natürlich weiterhin das Startdatum setzen.

Der Template-Code für die explizite Anzeige eines Datum sollte nun auf das Vorhandensein des Startdatums geprüft werden; aus

<dtml-if "getObjProperty('attr_active_start',REQUEST)>0">
generated&nbsp;<dtml-var "getLangFmtDate(getObjProperty('attr_active_start',REQUEST),lang,'DATE_FMT')">
</dtml-if>

sollte man einsetzen:

<dtml-if "getObjProperty('created_dt',REQUEST)">
generated&nbsp;<dtml-var "getLangFmtDate(getObjProperty('created_dt',REQUEST),lang,'DATE_FMT')">
<dtml-else>
<dtml-if "getObjProperty('attr_active_start',REQUEST)>0">
generated&nbsp;<dtml-var "getLangFmtDate(getObjProperty('attr_active_start',REQUEST),lang,'DATE_FMT')">
</dtml-if>
</dtml-if>
Print this Document   change language   Sitemap   Contact

Aktuelles ZMS-Release

Download des aktuellen ZMS 2.11 für Zope 2.10/2.11, Python 2.4+ Mehr...mehr