Version 6.3.5.0

Veröffentlichungsdatum 03.01.2013
Sicherheitsupdate nein
Behobene Fehler 20
Optimierungen 9
Übersicht Versionshistorie

Hinweis

Über den Jahreswechsel hinweg waren die webEdition-Entwickler aktiv und haben einige exotische Probleme mit dem neuen Editor TinyMCE behoben. Die Fehler führten unter anderem dazu, dass in einigen Fällen Texte im WYSIWYG-Editor nicht angezeigt und beim erneuten Speichern gelöscht wurden.

Ab Version 6.3.5 kann TinyMCE bedenkenlos verwendet werden. Das Update auf diese Version sowie die Umstellung auf den neuen Editor wird deshalb ausdrücklich empfohlen.

Daneben ist es in webEdition 6.3.5 nun möglich alle offenen Tabs mit der Tastenkombination STRG+W bzw. CMD+W zu schließen, ohne dass webEdition beendet wird.

Als Neuerungen wurden das webEdition SDK, die Anwendungsverwaltung und die vom webEdition e.V. angebotenen webEdition Apps we::phpMyAdmin, we::eXtplorer und we:Hook-Verwaltung aktualisiert. Alle webEdition Apps werden ab jetzt auf einer eigenen Seite unter webedition.org vorgestellt. Die drei genannten webEdition Apps sind vor allem für Entwickler und beim Support von Kundenprojekten (bei denen kein DB- und FTP-Zugang zur Verfügung stehen) sehr hilfreich.

Verbesserungen

  • webEdition-GUI: Multieditor-Tabs (Cockpit, geöffnete Dokumente, Vorlagen etc.) können neu mit der Tastenkombination Strg + W bzw. Cmd + W geschlossen werden. Achtung: Mit Strg + F4 wird je nach Systemkonfiguration auch weiterhin nicht der aktuelle Multieditor-Tab, sondern der Browsertab/das Browserfenster geschlossen (3016)
  • Wysiwyg-Editor/TinyMCE: Die TinyMCE-eigenen Dialogen wurden grafisch an die webEdition-Dialoge angepasst. Die Position der Buttons Speichern und Abbrechen in den Dialog-Footern richtet sich nun (wie auch sonst in webEdition) nach den Konventionen des jeweilgigen Betriebssystems (7186)

Anwendungsentwicklung/SDK: Der (PHP-) Klasse we_objectEx wurden mehrere Methoden hinzugefügt, welche die Manipulation von WE-Klassen aus Apps heraus deutlich vereinfachen:

  • Mit der Methode resetOrder() auf we_objectEx bekommen Apps die Möglichkeit, fehlerhafte Reihenfolgen der Felder in WE-Klassen zu bereinigen. Die zurückgesetzte Sortierfolge entspricht der Reihenfolge in der die Felder unrsprünglich (in der Datenbank) angelegt wurden (7176)
  • Mit der Methode checkFields($fields) auf we_objectEx kann aus einer App heraus die Konsistenz einer Klasse überprüft werden. $fields ist dabei ein Vergleichs-Array mit den Feldern (inklusive Prefix: input_, int_ etc), auf die getestet werden soll. Mit getFieldsOrdered($withoutPrefix=false) kann ein $fields-Array (z.B. in einer anderen Installation) generiert werden. Die Methoden dienen also dazu, die Klassen-Definitionen auf verschiedenen Installationen der gleichen App abzugleichen (7177)
  • Bisher wurde beim Aufruf der Methoden addField(), dropField() und modifyField() auf we_objectEx das manipulierte Objekt sofort in die Datenbank gespeichert, was je nach Umfang der Manipulationen einen bedeutenden Rechenaufwand mit sich brachte. Mit den neuen Methoden setIsAddFieldNoSave(true), setIsModifyFieldNoSave(true) und setIsDropFieldNoSave(true) kann das automatische Speichern unterbunden werden. Bsp.: $objC = new we_objectEx(); $objC->initByID($ClientConfig->lpClassIDs->TabEvent,OBJECT_TABLE); $objC->setIsInApp(true); $objC->setIsAddFieldNoSave(true); $objC->addField('MainCategory','input'); $objC->addField('IsPublicLoggedIn','checkbox'); $objC->saveToDB(); Wichtig: Manuelles Speichern mit $objC->saveToDB() nicht vergessen! (7175)
  • Bisher konnten aus Apps heraus keine WE-Klassen angelegt werden, weil dazu in der App nicht der gesamte benötigte Programmkontext vorhanden war. Mit der neuen Methode setIsInApp(true); kann dieser Kontext erzeugt werden: $objC = new we_objectEx(); $objC->setIsInApp(true); (Felder anlegen...) $objC->saveToDB(); (7174)

Weitere Neuerungen im Bereich Anwendungsentwicklung/SDK:

  • Beim Speichern von WE-Templates wird normalerweise eine entsprechende Datei unter webEdition/we/templates angelegt, die alle inkludierten Templates bereits enthält. Dies kann zu Problemen führen, wenn aus einer App heraus ein ganzer Satz Templates mitsamt den zugehörigen Includes auf einen Schlag angelegt werden soll: Stimmt die Reihenfolge nicht, sucht das Script nach nicht vorhandenen Includes und bricht ab. Mit dem Aufruf der neuen Methode setDoUpdateCode(false); auf we_template kann dies verhindert werden: $template= new we_template(); $template->initByID($tname,TEMPLATES_TABLE);//oder neues Template; $template->setElement('data',base64_decode($daten['data'])); $template->setDoUpdateCode(false); $template->we_save(0,0); Damit können Codeupdate und Rebuild auf einen späteren Zeitpunkt verschoben werden, zu dem alle Includes bereits vorhanden sind (7172)
  • Es besteht jetzt die Möglichkeit, beim Anlegen von beliebigen WE-Doks (Dokumente, Objekte, Templates etc.) aus Apps heraus die ID dieser Doks selbst zu setzen: $template= new we_template(); ... $template->insertID=$myID; $template->we_save(0,0); Achtung: Die Konsistenz der IDs wird bei diesem Vorgehen nicht mehr von WE garantiert! (7173)
  • Neu wird auch bei den Apps der Domain-Name im Window-Title angezeigt (7159)

Behobene Fehler

  • Die Hook-Verwaltung funktioniert wieder korrekt (7169)
  • Probleme beim Import von Bildern wurden behoben (7144)
  • webEdition-GUI: Im IE9 konnte bereits beim Öffnen von mehr als drei Dokumenten/Vorlagen die Meldung kommen "Es steht kein Editorfenster mehr zur Verfügung". Dieser Fehler wurde gefixt (5452)
  • Anwendungsentwicklung/SDK, UI Layout-Element HeadlineIconTableRow: Das Element wird jetzt korrekt ausgespielt (7148)
  • Anwendungsentwicklung/SDK, UI Control-Element ACFielSelector: Das Element hat ein falsches JavaScript-File angefordert und deshalb nicht richtig funktioniert. Dieser Fehler wurde behoben (7147)
  • Anwendungsverwaltung: Die falsche Fehlermeldungen beim Löschen von Apps werden nicht mehr ausgegeben (7145)
  • Anwendungsverwaltung: Die Anwendungsverwaltung funktioniert wieder korrekt: Probleme beim WE-Update sowie beim Anlegen neuer Apps wurden behoben. Auch die Hooks der Anwendungsverwaltung sind jetzt updatesicher (7167, 7168 und 7170)
  • Backup/Export/Import: Bisher konnte das Vorhandensein von *.htc-Dateien dazu führen, dass unvollständige Backups erstellt wurden. Dieser Fehler wurde gefixt (7184)
  • Backup/Export/Import: Die vielen Notices beim Erstellen von Backups (undefined variable xyz) werden nicht mehr geworfen (7143)
  • Benutzerverwaltung: Die Vererbung von Gruppen-Arbeitsbereichen an die einzelnen Gruppen-Mitglieder funktioniert wieder normal (7185)
  • LiveUpdate/OnlineInstaller: Beim Update von 6.2.7 nach 6.3.x werden jetzt auch die Einstellungen zur Modulaktivierung (unter Extras->Einstellungen->Allgemein->Modulaktivierung) mitgenommen (7183)
  • LiveUpdate/OnlineInstaller: Die Zeichensätze für Backend- und Frontend werden beim Installieren/Update wieder korrekt in die enstprechenden conf-Dateien geschrieben (6583)
  • Wysiwyg-Editor/TinyMCE: Wird in das normale Eingabefeld von TinyMCE Kode mit <tags> oder <?php ... ?> geschrieben, sollen die spitzen Klammern in die htmlentities gt und lt umgewandelt werden, so dass der Kode (unausführbar) auf der Seite ausgespielt werden kann. Probleme mit TinyMCE konnten dazu führen, dass die Klammern beim Einlesen in den Editor erneut umgewandelt und der Kode dadurch ausführbar wurde: Nicht valides HTML wurde dabei bereinigt/gelöscht und <?php ... ?> wurde aus Sicherheitsgründen als HTML-Kommentar maskiert. In beiden Fällen konnten in der Datenbank gespeicherter Inhalte alleine durch Öffnen des Dokuments/Objektes in den EditMode und anschließendes Speichern verloren gehen. Dieses Problem wurde behoben (7182)
  • Wysiwyg-Editor/TinyMCE: Wörter mit dem "script" als Bestandteil (z.B. Javascript oder inscription) wurden beim Einlesen in TinyMCE als #scr##ipt## maskiert. Dies war Teil eines Sicherheitsmechanismus' im alten Wysiwyg-Editor, der für TinyMCE nicht mehr benötigt wird. Die Umwandlung wird jetzt entsprechend nicht mehr durchgeführt (7126)
  • Wysiwyg-Editor/TinyMCE: Zeichenumbrüche im Editor-Content (in der DB als , \r oder \r kodiert) werden wieder unverändert an TinyMCE übergeben. TinyMCE ersetzt diese (anders als der alte Wysiwyg-Editor) durch Leerzeichen und nimmt damit das Verhalten der Webbrowser vorweg. Ein Fehler, bei dem die Umbrüche ersatzlos (also ohne Leerzeichen) gestrichen wurden, konnte behoben werden (7157)
  • Wysiwyg-Editor/TinyMCE: Beim Anlegen/Manipulieren von Links type="email" wird nun auch das Attribut class wieder ausgespielt (7131)
  • Wysiwyg-Editor/TinyMCE: Das Einfügen von Grafiken funktioniert nun auch im IE8 (7160)
  • Wysiwyg-Editor/TinyMCE: Ein Problem beim Auswählen WE-interner Dokumente als Linkziel/Image-Ressource wurde behoben (7139)

powered by webEdition CMS