Wir haben Ihre Kontaktanfrage erhalten
und antworten Ihnen so schnell wie möglich.
Schließen
Bitte füllen Sie das Formular richtig aus.
Zurück
Das Formular konnte nicht abgesendet werden.
Schließen
CONTENS 5.8.4 verfügbar
Montag, 24. August 2026
Mit einer Reihe von Neuerungen und Verbesserungen ist das Release CONTENS 5.8.4 veröffentlicht worden. Es steht ab sofort zur Verfügung und kann von CONTENS Kunden mit Updatevertrag kostenfrei bezogen werden. Weitere Informationen erhalten Sie unter support@contens.de.
Seiten / Publishing:
Im Publizieren- und Deaktivieren-Dialog steht das Status-Icon der Sprachversion jetzt zwischen Checkbox und Seitentitel (bisher dahinter). Nicht zur Publikation freigegebene Sprachversionen (deaktivierte Checkbox) werden zusätzlich abgedunkelt und bekommen den Tooltip „Diese Seite ist nicht zur Publikation freigegeben".
Beim automatischen Übersetzen der Titel neuer Sprachseiten wurde die Übersetzung direkt in die längenbegrenzten Tabellen-Spalten geschrieben, z.B. Metabeschreibung (255 Zeichen), Titel (255), Navi-Titel (150). Wenn Übersetzungen länger als die Quelle sind, führte das teilweise zum Fehler „String or binary data would be truncated". Nun wird automatisch gekürzt und das jeweils im Logbuch contens_errors geloggt.
Beim Erstellen neuer Sprachversionen von Seiten mit gesetzter Automatik-Übersetzung wurde der Dateiname stellenweise nicht gesetzt oder vererbt, wenn das pages-Setting translatePagefile deaktiviert war.
Interne HTTP-Requests (Publish-Callbacks, PDF-Erzeugung) liefen teilweise ohne Session-Cookie und erzeugten dadurch mehrere J2EE-Sessions. Der Fallback wird nun auf ein existierendes Session-Token gesetzt, zudem wird das Session-Cookie z.B. beim PDF-Generator an den Seiten-Abruf angehängt.
PDF-Archiv: Die Namen generierter PDFs wurden an die jeweilige Archivierungsdatei (archive.json) angehängt, wobei Mehrfacheinträge erzeugt wurden. Dies wird nun beim Schreiben sowie beim Auswerten alter Archiv-Einträge berücksichtigt. Zudem wurde das Scrolling langer Auswahlmenüs korrigiert.
Bei Display-Skalierung wird im Seitenbaum nun ohne Animation zur markierten Seite gesprungen. Außerdem wird die Seitenbaum-Scrollposition wieder wiederhergestellt.
Im Workspace gab es ein JavaScript-Problem mit dem Objekt-Kontextmenü bei gesetztem Location-Template. Der Location-Kontext wird jetzt nur gebunden, falls die Location tatsächlich leer ist.
Beim Packen der Sonderzeichen im Pagegenerator wurden bestimmte Whitespace-Zeichen (Tab / CR / LF / Space) teilweise pauschal durch ein LF ersetzt, was in Javascript-Strings zu Fehlern führte. Die Komprimierung unterscheidet jetzt zwischen Whitespace-Kombinationen mit Zeilenumbruch, die zu einem LF zusammengefasst werden und rein horizontalen Spaces (Tab / Space), die zu einem Leerzeichen werden.
tools/publishtasks/regenerateonlinepages.cfm hat eine neue Checkbox „Only pages with 'Approve changes to page' = Yes". Der Filter greift sowohl bei Vorschau als auch Ausführung des Tools und wird auch entsprechend durchgereicht.
Sicherheit / Login:
Der Link „Zurück zu Loginname / Passwort" steht nicht mehr separat unter dem Formular, sondern ist als grauer (Abbruch-)Button direkt neben dem Verarbeiten-Button positioniert. Die Beschriftungen der Primär-Buttons wurden geändert, um den Ablauf wiederzugeben, so z.B. „Sicherheitscode abschicken" oder „QR Code gescannt".
Redakteurs-Verwaltung / Neuer Redakteur: Ein neuer Redakteur hat keine Zugriffsrechte, weshalb im Einstiegspunkt-Selektor keine sinnvolle Prüfung erfolgen kann und daher keine Auswahl mehr möglich ist.
Die Aktion "Als anderer Redakteur anmelden" (editors impersonate) konnte gekapert werden und wird nun strenger gegengeprüft. Außerdem wird explizit geprüft, ob es ein konfigurierter Zusatz-Account des Aufrufers ist (bei Non-Sysadmin / Rechteprüfung).
Die Prüfung für die Argon2-Verschlüsselung erfolgte gegen ein falsches String-Literal, so dass das Setzen eines neuen Passworts über den „Passwort vergessen"-Link nicht möglich war.
Bei der Ausgabe von Fehlermeldungen werden möglichst alle Werte encoded, um XSS-Attacken zu vermeiden.
Bei der Rechteprüfung wurde die Checkout-Ausnahme für gruppenabhängige Rechte gegen eine einzelne app_ID verglichen. Der Parameter konnte aber eine Liste mehrerer App-IDs enthalten. Der Vergleich schlug dadurch fehl, sodass Actions fremder Apps wie ausgecheckte Seiten-/Objekt-Actions behandelt und gesperrt wurden.
Upload-Rowtype / Imaging:
Für den Import von Dateien gibt es zwei neue valuetype-Attribute, bei denen Value jeweils einen kompletten Dateipfad enthält:
"tempfilepath": Lädt die Datei von einem angebundenen Laufwerks- bzw. Verzeichnispfad und entfernt anschließend dort die Datei.
"stockfilepath": Lädt die Datei von einem angebundenen Laufwerks- bzw. Verzeichnispfad und belässt die Datei dort.
Bild/Datei-Upload: Eine hochgeladene (Pflicht-)Datei ließ sich beim Objekt-Anlegen nicht mehr entfernen. Dort aber müssen ungültige Dateien zurückgesetzt werden können, während bestehende wegen etwaig existierender Datei-Links nur ersetzt werden können: "Details öffnen \ Ersetzen".
Der Image-Service (_www/apps/services/image.cfm) baute den Projektpfad aus Pfadsegmenten vo cgi.path_translated zusammen. Unter Linux wurde der führende / abgeschnitten und der absolute Pfad somit relativ. Er wird jetzt per Marker (/<site>/_www/) als Präfix aus dem Originalpfad geschnitten, was den absoluten Pfad unter Linux und Windows erhält.
Formulare / Rowtypes:
Der Tagging-Rowtypes las die Autocomplete-Antwort stets mit hartcodiertem Key, was bei anderen Namen zum Fehler „t.result[…] is undefined" führte. Zudem gab es Probleme beim Aufsplitten und Speichern mehrerer Tags.
Damit deaktivierte oder versteckte Eingabe-Felder nicht über die Schnittstelle gespeichert werden können, wird ihr Key aus dem gesendeten Formular-Struct entfernt. Für mehrsprachige Elemente aber wurde der txt-Key nicht mit gelöscht, der dann im DAO nicht gespeichert wurde aber zu einem Fehler führte, weil er nicht ohne den Hauptkey verarbeitet werden konnte.
Richtext: Die Regex zum Entfernen leerer Links hat bei defektem HTML zu viel Inhalt entfernt und bleibt jetzt innerhalb eines öffnenden Tags.
In den Rowtypes select, radio, application und list_rel_nm wurden Option-Werte bzw. Radio-/Input-Werte roh in HTML-value-Attribute geschrieben. Bei Nicht-ASCII-Werten (Umlaute o. Ä.) konnte dies zu nicht interpretierbarem Zeichensalat führen.
Beim Schließen des Instanzen-Fensters konnte es zum JS-Fehler „Cannot read properties of undefined (reading 'options')" kommen.
Beim Ersetzen einer Datei durch eine mit anderem Mimetype wurde die neue Datei weiter im Ordner des alten Mimetypes abgelegt, anstatt im Zielpfad des Mimetypes der neuen Datei.
Ab AWS SDK 3.729 können Uploads eine CRC32-Checksumme mitgeben, um nicht abgewiesen zu werden. Betroffen waren große Dateien, da nur diese per Multipart hochgeladen wurden. Die Standard-Checksumme wird deaktiviert.
Der objectsearch-Listener im eigenen Thread konnte beim DBMS PostgreSQL die Temp-Tables des Publish-Requests nicht sehen, was zu „relation tmp…_qallobj_upd does not exist" führte. In MySQL konnte es zum Fehler „Can't reopen table" kommen. Es werden daher keine Temp-Tables sondern ID-Chunks verwendet.
Suche / Index:
Ein Republish gegen einen langsam antwortenden Search-Node (CPU überlastet) konnte zum Problem führen, das Dokumente aus dem Index fielen, obwohl der Publish „erfolgreich" meldete. Das rührte z.T. daher, dass eine fehlgeschlagene Suche sich nicht von „kein Meta-Content" unterscheiden ließ oder bei verzögerter Antwort irrtümlich der Fallback von Elastic 8 auf 7 eintrat.
Lucene deleteItem() warf unter JDK 17+ InaccessibleObjectException (Classloader-Zugriff), das Dokument blieb im Index, der Aufrufer sah „Erfolg" —Query[] wird jetzt über die Query-Klasse selbst gebaut.
updateCollection() und deleteItem() meldeten Erfolg, auch wenn überhaupt kein IndexWriter verfügbar war, idR. bei gesperrtem Index. Der Aufrufer konnte die fehlgeschlagene Index-Operation nicht bemerken.
Die Timeouts der Indexierungs-Requests im Rebuild wurden erhöht. Teilweise liefen Indexierungsblöcke serverseitig länger, obwohl die Daten zwischenzeitlich schon anderweitig verändert wurden. Zudem wurden die Threads der Index-Writes besser abgesichert. Mit hartcodierten Werten können Installationen mit schweren Ingest-Pipelines Probleme bekommen. Das search-Setting timeouts kann daher getrennt für ping, meta, standard, bulk gesetzt werden
Kurzlinks:
Beim Publizieren von Kurzlinks wurde bislang immer die Datei web.config vom Live-Server geholt, geändert und wieder verteilt. Ab sofort wird zuerst die lokale Datei auf die entscheidenden Regeln geprüft: Kann die Datei korrekt verarbeitet werden und enthält sowohl Rewrites als auch Maps, entfällt die komplette Prozedur. Ist sie aber nötig, werden Zeilenumbrüche und Tabs nicht mehr pauschal entfernt. Die Datei contens.config wird weiterhin erzeugt und verteilt. Zudem wurde ein Bug beim Erzeugen der Default-web.config (qlist existiert nicht) behoben.
Das Kurzlinks-Formular enthielt eine Funktion, deren Name mit Adobe ColdFusion 2025 Updater 8 nunmehr durch CFML reserviert war, was zum Fehler „Parameter validation error for the SETVALUES function" führte. Lucee war bislang nicht betroffen.
Weitere Korrekturen:
Läuft der Linkcheck mit Engine "cURL", wurden URLs nicht escaped, so dass es möglich war curl-Argumente einschleusen. Diese werden nun als „Invalid URL" abgewiesen. Zudem wurde die fehlerhafte Timeout-Berechnung geändert und das Windows-Null-Device wird nicht mehr als NIL angesprochen. Um einen gültigen Errorcode 405 (HEAD nicht erlaubt, URL existiert) nicht mehr zu überschreiben, wurde der Fallback umgedreht.
Beim Export der Listen-Daten konntes es zu Problemen kommen, wenn Spaltenüberschriften Sonderzeichen enthielten. Je nach Engine müssen zusätzlich Kommas entfernt werden.
Der Message-Topic von Queue-Tasks ist nicht mehr hartcodiert.
Datensatz-Links scheiterten bei Redakteuren ohne Berechtigung für den Tab "Seiten". Auch fehlerhafte CSS-Klassen beim Öffnen von Menüpunkten bzw. Favoriten wurden korrigiert.
Das failto-Attribut wird an allen Codestellen für Mail-Versand im CMS gesetzt und spiegelt die jeweils bereits vorhandene from-Adresse. Damit werden Unzustellbarkeitsmeldungen (Bounces) sichtbarer. Betroffen sind Security-Mails (Passwort vergessen, MFA, E-Mail-Token), Workflow- und Task-Benachrichtigungen, Newsroom- und Scheduler-Agent-Benachrichtigungen, etc.
Die interne Service-API wurde um neue Methoden für Seiten (getPageIdByCodename...), Objekte (bulkPublish), Instanzen (reorder) etc. ergänzt.
Kompatibilität / Performance:
Beim Login wurden Loginname, E-Mail-Adresse oder LDAP-User / Domain bei den DBMS MySQL und MSSQL über die Default-Collation schon case-insensitiv durchsucht. Für PostgreSQL (und Oracle) wurde der entsprechende Code angepasst, so dass auch dort nicht mehr nur die exakte Schreibweise gilt, sondern Groß/Kleinschreibung sowohl in der Verwaltung als auch im Login-Formular beliebig gestaltet werden können. Auch die Prüfung auf Duplikate wurde entsprechend angepasst.
Beim Bau von JSON-Paketen wird nun der Java-StringBuilder verwendet, der deutlich schneller ist als die CFML-String-Concatenation, ähnlich der Umbau bei encode() / decode(). Konvertierungsfehler bei CFML-Queries wurden beseitigt.
Die MySql-Installationsskripte enthielten eine Collation, die bei bestimmten Suchfunktionen nicht zu den im Modelcode generierten Befehlen passte, z.B. Keyword-Suche. Das Problem wurde durch einen allgemeingültigen BINARY-Operator behoben.
Ankündigung: Die CMS-eigene API wird im nächsten Major-Release weiterhin vorhanden sein. Die Live Objects RESTful API und die contensAPI / RedaktionsAPI werden entfernt; ihre Funktionen werden durch eine neue API übernommen.
Sie haben Cookies akzeptiert
Sie haben Cookies abgelehnt
Diese Website verwendet Cookies. Nähere Informationen dazu und zu Ihren Rechten als Benutzer finden Sie unter www.contens.de/datenschutz. Für eine optimale Nutzung unserer Website wählen Sie bitte “Akzeptieren”.