Archiv

TechInfo

Berechtigungen bei News, Events und Items

By Dirk Bergles

Grundsätzlich kann im CMS ja die Berechtigung für SLE Dokumente, also News, Items, Events über eine Kategorie eingeschränkt, bzw. Rechte vergeben werden,
Dies gilt sowohl für die Access Rights, also die Autoren Zugriffe, als auch Approval Rights, also ContentMaster Zugriffe..
Nun, im Kundenprojekt, drängten sich zwei Probleme auf.
mehr...

Archiv

TechInfo

Fehler in DQ mit Kategorien zum Aufklappen

By Dirk Bergles

Eigentlich sollte der Fehler, daß Kategorien mit einem \ nicht korrekt in einen Link eingebaut werden, bereits seit 7.60 2 behoben sein.
Hier ist der Blogbeitrag dazu.

Aber irgendwie scheint der Bugfix nicht vollständig in die 6.20 eingeflosssen zu sein.
Es fehlen gleich an mehreren Stellen Änderungen in Scriptlibraries.

Der Weg die Änderung rückgängig zu machen und damit den Fehler, der durch die Fehlerbehebung erst entstanden ist, wieder zu beheben ist recht einfach.

In der Script-Library "XTT_BuildPageHandler" finden sich folgende Zeilen (588):
' $CATEGORYEXPANDLINK and $CATEGORYCOLLAPSELINK
' DBE 18.01.2009 Bugfix #2377
expandLink = urlPar.getLinkReplaceParam(paramCategory,dsEntry.catPath)
collapseLink = urlPar.getLinkReplaceParam(paramCategory,dsEntry.parentCatUnEsc)
' expandLink = urlPar.getLinkReplaceParam(paramCategory,dsEntry.catPathEsc)
' collapseLink = urlPar.getLinkReplaceParam(paramCategory,dsEntry.parentCat)

Sinngemäß müßte daraus gemacht werden
' $CATEGORYEXPANDLINK and $CATEGORYCOLLAPSELINK
' DBE 18.01.2009 Bugfix #2377
' DBE 03.04.2009 remove the changes, because the bugfix was not fully implemented (some methods in SWM_Error and changes in XTT_DataSourceEntries are lost)
' expandLink = urlPar.getLinkReplaceParam(paramCategory,dsEntry.catPath)
' collapseLink = urlPar.getLinkReplaceParam(paramCategory,dsEntry.parentCatUnEsc)
expandLink = urlPar.getLinkReplaceParam(paramCategory,dsEntry.catPathEsc)
collapseLink = urlPar.getLinkReplaceParam(paramCategory,dsEntry.parentCat)

Dadurch werden die Expand. und Collapselinks wieder mit dem \\, bzw. %5c ersetzt.
In der 7.60 4 ist diese Änderung drin. Davor müßte sie kundenspezifisch eingebaut werden. Im timetoweb.de ist es ebenfalls eingebaut, weil es mit dem nächsten Update sowieso reinkommt.
Ab 7.70 0 ist der Bugfix komplett und dort funktioniert die Fehlerbehebung.

Archiv

TechInfo

Klasse Fehler in den Datenquellen

By Dirk Bergles

Es gibt einfach Fehler mit Stil, die "Spass" machen.

Es begann mit einem Fehlverhalten von Datenquellen, sobald diese auf Kategorien mit ( ) trafen.

Diese Klammern wurden HTML safe codiert, da sie als Parameter übergeben werden.
z.B. die Kategorie DE\Allgemein (Test) endet als Parameter r0=DE%5CAllgemein%20&#40Test&#41
Weil irgendwann mal irgendwer das CrossSiteScripting bis aufs Messer verfolgt und ausgebrannt hat. So wurden dann rigeros einfach alle Parameter "sicher" gemacht, damit sie, sofern im HTML landen, keinen Unfug anrichten können.
Nun wird diese Kategorie dummerweise auch intern benutz, zum Vergleich und zur Suche von Kategorien. Der Wert wird zwar URLDecodiert, aber nicht HTML unsicher gemacht, damit verbleiben die bösen Klammern als Codes im String und jeglicher Vergleich schlägt fehl.
Dies ist nun geändert, so daß die Kategorie nicht mehr als HTML safe ausgelesen wird. Sollte sie nun irgendwo im HTML Code enden; das kann leicht per RTags geschehen, dann muß einfach der schlaue WebMaster oder Entwickler daran denken.
Geändert wurde der Aufruf zum Auslesen der Kategorie. Bisher über getParam() der URL Klasse. Nun einfach getParamUnsafe()

Das war dann aber noch nicht alles...
mehr...

Archiv

TechInfo

Sortierungsgeschwindigkeit und Kategorien

By Dirk Bergles

Da haben wir Lotus Script leider etwas verfrüht eine langsame Sortierung vorgeworfen. Der drastische Zeitunterschied zwischen einer herkömmlichen Sortierung und dem Aufbau einer verketteten Liste, bzw. eines Binärbaums ist auf einen Messfehler zurückzufürhen. Das heißt wir bleiben bei der Sortierung.


Dann haben wir der Anforderungsliste für die CMS Version 8.05 0 die Lösung des 32K Fehlers bei übergroßen Kategorielisten für News, Events und Items hinzugefügt. Wir werden also aller Voraussicht nach die Einstellungen der Kategorien in ein neues Setting verlagern, welches die Kategorien, bzw. die XML Struktur in einem RichTextFeld erlaubt. An allen Stellen wo diese Kategorien ausgewertet werden oder zur Auswahl angeboten werden, werden wir dann die @Formeln ersetzen oder umgehen müssen und den Script Code entsprechend anpassen.
Da die Kategroien auch zur Zugriffssicherheit herangezogen werden ist in diesem Bereich natürlich eine sensible Entwicklung und intensive Testphase vorgesehen.

Tags:
Alle Tags