Version 6.3.0.0
Veröffentlichungsdatum | 25.04.2012 |
Sicherheitsupdate | nein |
Behobene Fehler | 53 |
Optimierungen | 54 |
Übersicht Versionshistorie |
Hinweis
Dieses Update optimiert die komplette webEdition Infrastruktur. Wegen der vielen grundlegenden Änderungen kann es beim Update einer Site durchaus zu Problemen kommen!Wir empfehlen dringend, ein Update direkt auf die jeweils letzte Version der 6.3.x-Serie, aktuell die Version 6.3.3 durchzuführen.
Erstellen Sie unbedingt ein Backup der vorhandenen Site und führen Sie gegebenfalls ein Testupdate in einer Kopie der Site durch, insbesondere wenn Sie Module (z.B. Shop, Objekt/DB, aber auch andere) einsetzen.
Nach dem Rebuild aller Vorlagen und Dokumente prüfen Sie das Fehlerlog auf weitere Hinweise.
Wichtig: Nachdem uns Probleme mit Updates von Versionen < 6.2.7 nach 6.3 gemeldet wurden, empfehlen wir, bei solche Installationen erst ein Update auf Version 6.2.7 durchzuführen. Der Fehler wird schnellstmöglich behoben.
Wichtig: Wenn Sie ein Backup aus einer früheren Version von webEdition in Version 6.3 einspielen, müssen die Frontendsprachen (Locales) manuell angepasst werden, bevor das Backup eingespielt wird (Extras -> Einstellungen -> Allgemein -> Sprachen).
Weitere Hinweise und Informationen zu Verbesserungen und behobenen Fehlern finden Sie...
- in diesem Forumsbeitrag
- in der Versions-Roadmap auf qa.webedition.org (Bugbase)
Noch ein Hinweis: die Probleme mit dem Java-Vorlageneditor in Firefox (leer nach wechseln zwischen Tabs) beruhen auf einem Fehler in der aktuellen Firefox Version und sind mit FF 13 behoben. Unsere Empfehlung: testen Sie den CodeMirror 2 Vorlagen-Editor.
Vollständige Übersetzungen in Version 6.3: Deutsch, English, French
Unvollständige Übersetzungen: Dutch, Finnish, Polish, Russian, Spanish
Nach dem Update sollten folgende Rebuilds durchgeführt werden:
Dokumente und Vorlagen
Wichtig:
Nach dem Update sollte die Spracheinstellungen jedes einzelnen Backend-Users in der Benutzerverwaltung überprüft werden:
1. Schritt: Menü Extras-> Einstellungen->Allgemein, prüfen und setzen Sie Backend Sprache und Backend Zeichensatz, speichern!
2. Schritt: Benutzerverwaltung, je User: Tab "Einstellungen", dort "Oberfläche", prüfen und setzten von Backend Sprache und Backend Zeichensatz.
Verbesserungen
Geschwindigkeitsoptimierungen
- Die Beseitigung von als "DEPRICATED" deklarierter PHP funktion schreitet voran (#3449), dabei konnten auch viele REG-Ex durch schnellere Stringfunktionen ersetzt werden.
- Die Zahl der includierten Dateien für eine einfache auszuliefernde Seite wurde dramatisch von bisher etwa 150 auf jetzt 48 reduziert. Der notwendige Speicherbedarf wurde dadurch von ca. 28 MB auf unter 7 MB verringert.(#3487).
Optimierung des Tag-Parsers
Der alte Tag-Parser wurde vollständig renoviert um so die Ausführung Code deutlich zu beschleunigen.
Im Detail:
- Der generierte Template-Code wurde deutlich abgespeckt, viele Codeteile durch Aufruf zentraler Funktionen aus der we_global abgebildet (#5027, #4923).
- Sonderbehandlungen für verschiedenste WE-Tags wurden aus dem Tag-Parser entfernt (#4922)
- Die interne Funktionen we_getTagAttribute, we_getTagAttributeParser wurden optimiert (#5497)
- Der Code für den Tag we:block wurde sowohl in Bezug auf den Speicherverbrauch als auch in Bezug auf die Geschwindigkeit stark optimiert (#4893). Bei eigenem PHP-Vode in Vorlagen ist innerhalb des we:blocks ein Escapen von PHP-Variablen nicht mehr notwendig.
Aktuell sind PHP-Variablen-Excapes nur noch in we:list, we:listdir und der Navigation notwendig.
Hinweise für Updater:
- Wegen der großen Umstellungen sollten die Funktionen aller Tags geprüft werden.
- Dies gilt insbesondere für Vorlagen mit we:block Tags, auch in Verbindung mit Listviews (we:block innerhalb einer we:listview, we:listview innerhalb von we:block) und für eigenen PHP-Code innerhalb von we:blocks
Umstellungen des WE-Backends
- Das Javamenü wurde ausgetauscht und durch HTML/Javascript ersetzt (die Module sind noch in Arbeit) (#5198)
- Das WE-Backend wurde von Frames auf iFrames umgestellt (viele davon werden noch entfernt) (#5197)
Umstellung des WE-Backends auf UTF-8
Um langfristig die Pflege von ISO-Sites sicher zu stellen, wurden alle ISO Sprachen (z.B. Deutsch, English usw.) entfernt, die bisher als UTF-8 gekennzeichneten Sprachen (z.B. Deutsch_UTF-8) umbenannt in Deutsch, English usw. und gleichzeitig in der Konfiguration WE_BACKENDCHARSET eingeführt (#4110).
Dies ermöglicht den Betrieb des WE-Backends in praktisch beliebigem Zeichensatz (entsprechend der Prämisse Backend-Zeichensatz == Frontend-Zeichensatz). Der Backend-Zeichensatz ist in den Einstellungen, im Tab Oberfläche einstellbar.
Alle WE-Fenster, Dialoge usw. werden dann in diesem WE_BACKENDCHARSET ausgeführt, alle WE-Ausgaben (Texte) "on the fly", an einer zentralen Stelle, aus UTF-8 in diesen Zeichensatz konvertiert (#5031). Auch
Im Detail:
- Konvertieren aller ISO Ausgaben mit zentraler funktion g_l aus UTF-8 (#5054)
- Der Tarball-Setup wurde entsprechend angepasst (#5467)
- Der OnlineInstaller (und die entsprechenden Routinen im Update-Server) wurde entsprechend angepasst, um weiterhin die Installation alter Versionen zu ermöglichen, wurde dabei die alte Oberfläche für die Sprachauswahl beibehalten (#5468)
- Das LiveUpdate (und die entsprechenden Routinen im Update-Server) wurde entsprechend angepasst, dabei werden bei einer UTF-8 Installation die WE_BACKENDCHARSET auf UTF-8 gesetzt und die WE_LANGUAGE entsprechend von XYZ_UTF-8 auf XYZ umgestellt, bei einer ISO Installation die WE_BACKENDCHARSET auf ISO-8859-1 und die Sprachen entsprechend umgestellt (#5466).
- Im Rahmen der Arbeiten konnte das Format der $GLOBALS['weFrontendLanguages'] von einem zweidimensionalen Array auf ein eindimensionales umgestellt werden, vorhandene Konfigurationen werden beim Liveupdate entsprechend umgestellt (#5132)
Weitere Verbesserungen
- Das webEdition-Backend öffnet sich nicht mehr in einem POP-UP sondern ersetzt den Anmeldedialog (#4208)
- Der Vorlagen-Editor Codemirror wurde auf Version 2 upgedated (#5163)
- webEdition unterstützt jetzt auch die moderne, schnellere PHP-Extension mysqli. Die Umstellung erfolgt in Einstellungsdialog im Tab System (#5231), Achtung, eine direkte Verwendung (in eigenem PHP-Code) der Klasse DB_Sql (aus db_mysql.inc.php) darf nicht (mehr) erfolgen! Es sollte nur noch die Klasse DB_WE verwendet werden.
- Datenbankoptimierung: u.a. folgt auf ein ALTER TABLE jetzt standardmäßig ein ANALYZE. Damit werden die Schlüsseltabellen sofort neu erstellt und die DB erspart sich die häufigen Table-Scans, die bislang bis zum nächsten standardmäßigen Update der Schlüsseltabelle durchgeführt wurden. V.a. die Kundenverwaltung, das DB/Objekt-Modul, Update und Backup profitieren von dieser Änderung (#4961)
- Beim Backup wird nun standardmäßig die Domain mit in den Dateinamen geschrieben: weBackup_meine_domain_de_2012_05_11_12_14.xml (#2000)
- Der webEdition Cache wurde entfernt (#4694), dabei sind wegen der anderen Umstellungen im Tag-Parser keine Geschwindgkeitseinbußen zu erwarten.
- Alle voreingestellten E-Mail-Adressen (URLS usw.) wurden auf spezielle, laut RFCs der IETF für diese Zwecke spezifizierte Domains umgestellt (#3760)
- Das DB-Passwort wurde aus der $GLOBALS entfernt (#5029) und damit die Sicherheit ein wenig erhöht.
- Die interne Funktion unhtmlentities wurde durch die entsprechende PHP-Funktion ersetzt (#5223), die Prüfungen rund um das BIG_USER_MODULE entfernt (#5030)
- In webEdition geöffnete Dokumente/Objekte können durch Klick auf den Titel/Pfad (über den Multitabs) extern geöffnet werden (so wie schon bisher durch Doppelklick auf den entsprechenden Eintrag im Dateibaum)(#6210). Hinter dem Pfad wird neu die ID des Dokumentes/Objektes angezeigt (#4711)
- Bei Templates unter Eigenschaften -> Dokumente wird hinter dem Dateinamen jetzt auch die ID angezeigt (#6181)
- Tag we:listview,
type
="document": Eine Sortierung nach mehreren Feldern ist jetzt möglich. Eingabe als kommaseparierte Liste. Neu ist auch die Sortierung nach dem Feld we_path (#127) - Tag we:href,
type
="intern", hat im Bearbeiten-Modus neu einen Button "Öffnen", mit dem ein ausgewähltes webEdition-Dokument zur Bearbeitung geöffnet werden kann (#5894) - Tag we:ifWorkspace: in die Attribute
id
undpath
können auch mehrere Arbeitsbereiche eingegeben werden (csv-Format: kommaseparierte Liste) (#6275) - Tag we:ifPosition (innerhalb von we:listview): Mit den Werten
position
="x" undoperator
="every" kann jetzt jeder x-te Eintrag angezeigt werden. Funktioniert auch mit z.B.position
="3,5" undoperator
="every": Hier würde jeder dritte und fünfte Eintrag angezeigt (#5934) - Tag we:select: Bislang durften zwischen we:select und /we:select kein weiteren we-Tags (wie we:comment, we:ifVar etc...) stehen. Diese Einschränkung wurde aufgehoben (#5720)
- Viele Popups und Dialoge erhalten aussagekräftigere Seitentitel (#2221,#4712 und #5774)
- Unterstützung für Stylesheet-Dateien im Format .less und .sass: Importierte Dateien dieser Formate sind redigierbar und sie können in webEdition neu erstellt werden unter Datei -> Neu -> Sonstige -> CSS-Datei, Erweiterung .less bzw. .sass wählen (#6204)
- Das Verzeichnis /webEdition/we wird jetzt durch .htaccess-Datei geschützt (#5847)
- yui: Update auf Version 2.9 (#6144)
- Die Datenbank verwendet neu ein "lazy connection management": Die db-Connection wird erst bei Bedarf aufgebaut, wodurch sich die Serverlast verringert (#5907)
- Veränderte Einträge in tblLink und tblContent werden jetzt häufiger durch UPDATE angepasst und nicht mehr so oft gelöscht und neu angelegt: Dadurch ändern sich die als Primärindex verwendeten IDs weniger oft, der Suchbaum bleibt ausgeglichener und die DB wird insgesamt entlastet (#5997)
- Das Attribut hidedirindex zum Verstecken von DirectoryIndex-Dateinamen in der Ausgabefunktioniert steht jetzt bei allen weTags zur Verfügung, die Links erzeugen: we:a, we:href, we:link, we:linklist, we:listview und we:url (#5851)
- Tag we:List wurde ersatzlos gestrichen! Für den Zugriff auf bestehende Datenstrukturen von Typ we:list ohne das weTag siehe Bugbase: #6116
- WE-Suche: Wenn das Suchfenster ausreichend in die Breite gezogen wird, können auch längere Dateinamen komplett dargestellt werden. Bisher wurden diese auf maximal 16 Zeichen gekürzt (#4714)
- Benutzerverwaltung: Benutzernamen können geändert werden (#3912)
- Kundenverwaltung: Auch in webEdition importierte pdf-Dateien können nun einem Kunden zugewiesen werden (Tab "Kunden" zugefügt)(#6238)
- Kundenverwaltung: Doppeltes Escape von Hochkommata ("d\\'Arion") in der Datenbank entfällt. Dadurch müssen Einträge aus der Kundenverwaltung z.B. in Listview-Conditions nicht mehr mehrfach escaped werden (#3998)
- LiveUpdate: Die Einstellung der aktivierten Module wird bei einem Update / einer Updatewiederholung nicht mehr überschrieben (#5503)
- Fehler-Protokoll: Neue Buttons "Anfang", "Ende" sowie mehrere Schritte vor und zurück erleichtern die Navigation (#5601). Zudem werden neu auch PHP fatal errors mitgeschrieben (#5825)
- Fehler-Protokoll: Fehler-Mails wurden übersichtlicher: Das Betreff enthält den Fehlertyp, den Namen der auslösenden Funktion sowie die Domain (#5802)
- Zeitplaner (Scheduler): Der Scheduler wurde in "Zeitplaner" umbenannt (#6134)
- Zeitplaner: Unter Extras -> Einstellungen -> Allgemein -> Erweitert wurde "Auslösen des Zeitplaners" zugefügt. Hier kann festgelegt werden, ob der Zeitplaner vor oder nach dem Seitenaufruf augelöst wird. Als dritte Option steht "externer Cron-Job" zur Verfügung: Durch den externen Aufruf von webEdition/triggerWEtasks.php kann der Zeitplaner minutengenau gesteuert werden. Mit dieser Variante können neu auch statische Dokumente per Zeitplaner veröfentlicht werden (#4547, #3476 und #5842)
- SDK/Apps: Unter Hilfe -> Systeminformationen wird eine Warnung mit dem Hinweis, das dann Apps nicht laufen, ausgegeben, wenn "session autostart = on" gesetzt ist (#5960)
Behobene Fehler
- Innerhalb eines Blocks führt die Verwendung der HTML-Formulartags <form> und </form> nicht mehr zu einem Parse-Error. (#4110)
- Der we:form -Tag schreibt keine globlen Variablen mehr in Templates, dadurch werden Konflikte mit Variablennahmen der Template Entwickler vermieden (#2493)
- In Listviews kann jetzt das Attribut
desc
auch mit einer Variablen verwendet werden (#5213) - Eine Fehlermeldungen im Backup Wizard (wiederherstellen) wurde beseitigt (#5099)
- Verstecken von DirectoryIndex-Dateinamen in der Ausgabe (Extras -> Einstellungen -> Allgemein -> SEO-Links): Anstatt nur die Ausgabe z.B. von "index.php" zu unterdrücken, wurde falsch auch der Dateiname "seiten_index.php" zu "seiten.php" reduziert. Dieser Fehler wurde behoben (#6150)
- Seemode funktioniert jetzt auch im Internet Explorer 8 und 9 (#5534)
- Bei Verwendung von JUpload wird das zuletzt verwendete Upload-Verzeichnis wieder gespeichert und beim nächsten Aufruf voreingestellt (#5995)
- Je nach PHP-Einstellungen für Speicher und Script-Laufzeit konnte es passieren, dass das Erstellen und Wiederherstellen von Backups, Importen und Exporten nicht bis zum Ende durchlief. Diese Probleme wurden durch die Verringerung des Speicherbedarfs von webEdition massiv reduziert (#5020 und #2135)
- Einige PHP-Notices im Cockpit wurden beseitigt (#5098)
- Binäre Inhalte werden beim Umbenennen nicht mehr dupliziert (#6052)
- Schließende weTags (z.B. we:title ... /we:title) innerhalb von we:ifTemplate ... /we:ifTemplate im Headerbereich des Templates zerschießen nicht mehr die Darstellung des Eigenschaften-Reiters eines WE-Dokuments (#5704)
- Fehlerhafte Serialisierung von DB-Verbindungen behoben (#5917)
- Das Attribut "id" in WE-generierten Buttons ist jetzt standardkonform: Das erste Zeichen darf keine Zahl sein (#5744)
- Das Info-Fenster (Hilfe -> Info) wird in der korrekten Größe ausgespielt (#5844)
- Datumsfelder (z.B. in we:input
type
="date") bieten Daten bis ins Jahr 2120 an (#5471) - Dokumente vom Typ HTML-Datei: CodeMirror verwendet für eingefügten PHP-Code korrektes Syntax-Highlighting (#4689)
- Mögliche Sicherheitslücke geschlossen: Ein Zugriff auf WE-Dokumente über we_showDoc (bei aktiviertem Register-Globals) ist jetzt ausgeschlossen (#5937)
- Das webEdition-Login lässt sich wieder per Return bestätigen (#5930)
- Die unter Extras -> Einstellungen -> Allgemein -> Sprachen ausgewählten Seitensprachen (Locales) werden beim Backup (ab Version 6.3) korrekt mitgenommen und müssen deshalb beim Einspielen des Backups nicht mehr vorab manuell gesetzt werden (#6068 und #6190)
- webEdition beenden mit Datei -> Beenden funktiniert jetzt auch unter Mac OS X mit Safari 5.1.2 und neuer (#5821)
- Tags we:master und we:content erzeugen keine Leerzeilen mehr in der Ausgabe (#6101)
- Tag we:textarea: Änderungen in einer we:textarea mit
inlineedit
="true" werden nun korrekt mit einem * auf dem Karteireiter des Dokuments angezeigt (#3140) - Tag we:textarea: Die falsche Fehlermeldung, die ausgegeben wurde, wenn externe Links innerhalb einer we:textarea redigiert werden sollten, erscheint nicht mehr. Dadurch lassen sich externe Links in der we:textarea wieder korrekt bearbeiten (#6206)
- Tag we:textarea, Attribut
commands
: Die erlaubten KOmmandos können jetzt auch mit Leerzeichen eingegeben werden ("bold, italic, underlinde") (#5926) - Tag we:listview
type
="multiobjekt" innerhalb eines Objekt funktioniert jetzt (#6185) - Tag we:listview
type
="document": Einfache und OR-verknüpfte Conditions (Attributcondition
) funktionieren jetzt (AND-verknüpfte Conditions werden sind für webEdition 6.4 vorgesehen) (#5719) - Tag we:listview
type
="orderitem": Sortierung über Attributorder
funktioniert jetzt (#5873) - Tag we:checkform: WE-Tags oder PHP-Kode zwischen we:checkform und /wewe:checkform führten bisher zu falschen Ausgaben. Dieser Bug wurde behoben (#5747)
- Tag we:ifEmpty
type
="href" gibt keine vertauschten Rückgabewerte mehr aus (#5863) - Tag we:userinput
type
="textarea": Die fehlenden Attribute im TagWizzard wurden ergänzt (#5983) - Tag we:sessionField
type
="date" funktioniert jetzt fehlerfrei (#5691) - Tag we:sessionField
select
="date": Im Attributvalue
kann der Eintrag definiert werden, der beim Ausspielen des Dropdown-Menues ausgewählt ist. Bisher wurde bei leerem oder fehlendemvalue
ein leerer Eintrag angelegt: Dies geschieht jetzt nicht mehr (#6007) - Tags we:include und we:href spielen Links und Includes nur noch korrekt unter Beachtung von Kundenfiltern aus (#6211 und #5643)
- Cockpit: Das Cockpit lässt sich wieder normal durch Wegklicken des Multitabs schließen (JavaScript-Fehler behoben) (#5904)
- Cockpit: Geänderte Einstellungen des Widgets "Zuletzt bearbeitet" werden sofort gespeichert und bleiben auch erhalten, wenn webEdition (falsch) durch einfaches Schließen des Browserfensters bzw. -tabs beendet wird (#5824)
- Cockpit: Das Ändern des RSS-Feeds im Widget "RSS-Feed - webEdition News" funktioniert wieder normal (#5866)
- Navigations-Tool: Das Problem, dass die Navigation ab einer Anzahl von ca. 1000 Einträgen nicht mehr bearbeitet werden konnte, liess sich in Version 6.3 nicht mehr reproduzieren. Auch Speicherzeiten für einen Navigationseintrag von fast 10 Sekunden konnten nicht mehr beobachtet werden. Dies ist vermutlich auf die drastische Reduktion des Speicherbedarfs von webEdition insgesamt zurückzuführen (#3615 und #3489)
- Navigations-Tool: Navigations-Arbeitsbereiche greifen jetzt auch beim Redigieren von Navigationseinträgen über das Feld "Navigation" im Bereich "Eigenschaften" von WE-Dokumenten (#5836)
- Navigations-Tool: Beim Anlegen neuer oder Ändern bestehender Ordner im Navigations-Tool wird der Tree jetzt automatisch neu geladen (#3099)
- Shop-Modul: Mögliche Sicherheitslücken geschlossen (vgl.: #6038 und #6303)
- Zeitplaner: Der Zeitplaner ist jetzt Thread-sicher, das heißt, dass er bei mehreren gleichzeitigen Aufrufen die Tasks sauber nacheinander abarbeitet ohne dass diese sich in die Quere kommen (#5939)
- SDK/Apps: Ein Fehler in den Sprachfunktionen wurde beseitigt (#5130)
- Kundenverwaltung und Navigation: Änderungen der Kundenfilter-Einstellungen eines Dokuments/Objekts wurden in der Navigation erst nach erneutem Speichern des zugehörigen Navigationspunktes bzw. Wiederveröfentlichung des betreffenden Dokuments/Objekts aktiv. Dieser Fehler ist behoben. (#5504 und #4185)
- Kundenverwaltung und Newsletter-Modul: Die Übetragung von Datenfeldern aus der Kundenvewaltung ins den Newsletter-Modul mit we:newsletterField funktioniert jetzt (vgl.: #5614)
- DB/Objekt-Modul und Benutzerverwaltung: Wurden einem User bisher in der Benutzerverwaltung mehrere Objekt-Arbeitsbereiche zugeteilt, konnte er trotzdem nur auf einen davon zugreifen. Dieser Fehler ist behoben (#3470)
- ToDo-/Messaging-Modul: Setzt man einen bereits erledigten ToDo-Eintrag über "Status aktualisieren" wieder auf z.B. 50% oder 0%, so wird er jetzt korrekt vom Verzeichnis "Erledigt" (zurück) ins Verzeichnis "ToDo" verschoben (#5845)
- ToDo-/Messaging-Modul: Falsche HTML-Ausgaben im Pop-Up "Weiterleiten von ToDos" (über Button "Todo(s) weiterleiten" im Kopfbereich des ToDo-Moduls) wird nicht mehr ausgespielt (#6089)