Wichtige Informationen für Entwickler
Ankündigungen über Änderungen systeminterner Funktionen und Datenstrukturen (alias deprecated)
Auf dieser Seite werden alle unter dem Stichwort deprecated fallenden Änderungen von webEdition Version aufbereitet. Dadurch sollen vor allem Entwickler, die mit webEdition internen Funktionen und Datenstrukturen abseits von webEdition Tags, arbeiten einen besseren Überblick wichtiger Systemänderungen erhalten.
Die hier aufgeführten Informationen sind auch in der Versionshistorie zu finden.
webEdition Version 9.0.0 (Barrhorn)
Änderungen an internen Funktionen/webEdition Tags/Datenstrukturen
- Geänderte Verzeichnisstruktur! Die Verzeichnisstruktur von webEdition ändert sich folgendermaßen:
Verzeichnis Inhalt Bemerkungen custom apps
codesnippets
conf
hook
hooks
tag
twalle Benutzeranpassungen (Apps, Config, Hooks, Tags) generated backup
site
templates
versionsalles was von WE generiert wird und idr. neu erzeugt werden kann (Backup, Site, Templates, versions) samples Beispiele (Configs, Hooks) temp cache
fragments
preview
tmpalles was Temporär ist (Cache, Fragmente Temp) we classes
cli
css
images
include
js
libraries
licensesalles statische Inhalte (keine Veränderung außer durch Updates) liveUpdate * alle Dateien die für das Update gebraucht werden - dieses Verzeichnis soll langfristig auch in we verschoben werden Es entsteht somit eine klare Trennung der statischen und veränderlichen Inhalte.
- <we:linklist> wurde entfernt. Beim Update wird diese in einen <we:block> gewandelt. Nach dem Rebuild wird das Tag <we:linklist> automatisch zu einem <we:block>. Die Templates sollten nach dem Update angepaßt werden.
- Objekt-Tabellen: die 1:1 Beziehung zwischen tblObject_X und tblObjectFiles gilt NICHT mehr. Durch den Wegfall der tblTemporaryDoc besitzt jede Objekt-Tabelle eine weitere Spalte OF_DocumentTable, die angibt ob es sich bei dem Eintrag um ein gespeichertes oder ein normales Dokument handelt.
- Geänderte Klassenamen - hier die wichtigsten:
alt neu Bemerkungen we_folder we_folder_document
we_folder_objectFile
we_folder_vfile
we_folder_template
we_folder_moduleJe nach Bereich/Tabelle wird nun eine eigene Klasse verwendet. we_imageDocument we_document_image we_objectFile we_contents_objectFile we_webEditionDocument we_document_webEdition - Geänderte Datenstrukturen:
- tblnavigation enthält keine Einträge für den Kundenfilter mehr
- tblFiles, tblObjectFiles, ... ist komplett auf den Datentyp "TIMESTAMP" migriert. Die Spalten Creation_Date,Mod_Date und Publish_Date sind hierfür verwendet worden. Die Spalten CreationDate, ModDate und Published werden als virtuelle Spalten weiter angeboten, sind aber als deprecated eingestuft!
- PHP 7:
- durch die Umstellung auf PHP 7, werden die nun verfügbare Typisierung streng durchgesetzt. Alle Funktionen und Methoden achten auf die korrekten Datentypen. Eine Initialisierung bspw.
$doc=new we_document_webEdition(); $doc->initByID("3");
führt zu einem Fehler, da der übergebene Typ "String" und nicht "Int" ist.
- durch die Umstellung auf PHP 7, werden die nun verfügbare Typisierung streng durchgesetzt. Alle Funktionen und Methoden achten auf die korrekten Datentypen. Eine Initialisierung bspw.
- TinyMce 5.1:
- Der neue TinyMce besitzt das "layer"-Plugin nicht mehr: Die Funktion entfällt ersatzlos
- Die Tabellenfunktionen (Spalte einfügen, Zelle formatieren etc) erscheinen nun kontextabhängig in einer separaten Toolbar. In der Haupt-Toolbar wird nur noch der Split-Button zum Einfügen/Löschen von Tabellen ausgegeben. Aufgrund dieser platzsparenden Neuerung entfallen alle tabellenbezogenen Einzel-Commands: Die Gruppe "table" wurde gestrichen, das "neue" Command "table" geört nun zur Gruppe "insert". Die obsoleten Table-Commands werden auf "table" gematcht.
- Der Font-Selector wurde entfernt
- Die Namen vieler Commands wurden vereinfacht oder durch diejenigen von TinyMce ersetzt. Die alten Commands werden noch auf die neuen Entsprechungen gematcht, sind aber deprecated:
Commands -
alt neu applystyle styleselect createlink link fontsize sizeselect formatblock blockselect insertbreak break insertgallery gallery inserthorizontalrule hr insertimage image insertorderedlist numlist insertunorderedlist bullist insertspecialchar charmap justifycenter aligncenter justifyfull alignjustify justifyleft alignleft justifyright alignright visibleborders visualaid replace search searchreplace search decreasecolspan
deletecol
deleterow
deletetable
editcell
editrow
increasecolspan
insertcolumnleft
insertcolumnright
insertrowabove
insertrowbelow
inserttabletable insertlayer
movebackward
moveforward
absolutejustify align font sizeselect
=> das verbleibende Command "sizeselect" gehört neu zur Gruppe "prop"copypaste pastetext
=> das verbleibende Command "pastetext" gehört neu zur Gruppe "essential"layer
'backcolor' => 'backcolor',
'createlink' => 'link',
'fontsize' => 'sizeselect',
'formatblock' => 'blockselect',
'insertbreak' => 'break',
'insertgallery' => 'gallery',
'inserthorizontalrule' => 'hr',
'insertimage' => 'image',
'insertorderedlist' => 'numlist',
'insertunorderedlist' => 'bullist',
'insertspecialchar' => 'specialchar',
'justifycenter' => 'aligncenter',
'justifyfull' => 'alignjustify',
'justifyleft' => 'alignleft',
'justifyright' => 'alignright',
'removeformat' => 'removeformat',
'visibleborders' => 'visualaid',
'replace' => 'search',
'searchreplace' => 'search',
'template' => 'template',
'decreasecolspan' => 'table',
'deletecol' => 'table',
'deleterow' => 'table',
'deletetable' => 'table',
'editcell' => 'table',
'editrow' => 'table',
'increasecolspan' => 'table',
'insertcolumnleft' => 'table',
'insertcolumnright' => 'table',
'insertrowabove' => 'table',
'insertrowbelow' => 'table',
'inserttable' => 'table',
Deprecated: Funktionen/webEdition Tags/Datenstrukturen die ab dieser Version nicht mehr genutzt werden sollten
Folgende globale Variablen werden ersetztAlt | Neu | Verfügbar ab | Bemerkungen |
$GLOBALS['DB_WE'] | DB_WE::$inst | 8.1.2 | für die Funktionen f,getHash ist diese Angabe idr. unnötig! |
$GLOBALS['we_editmode'] | we_base_WE::$editmode <we:ifEditmode> |
- | |
$GLOBALS['WE_MAIN_ID'] | we_base_WE::$mainDoc['id'] | - | sollte nur intern/im Tag über self::getDocForTag verwendet werden |
$GLOBALS['WE_MAIN_DOC'] | we_base_WE::$mainDoc['doc'] | - | sollte nur intern/im Tag über self::getDocForTag verwendet werden |
$GLOBALS['we_doc']->setElement($name,$val) | <we:setVar to="self" nameto="$name" value="$val"/> we_tag('setVar', ['to' => 'self', 'nameto' => $name, 'value' =>$val]) |
- | sollte nur intern/im Tag verwendet werden |
$GLOBALS['we_doc']->getElement($name) | <we:input name="$name"/> we_tag('input', ['name' => $name]) |
- | sollte nur intern/im Tag verwendet werden |
$GLOBALS['we_doc']->Property | <we:setVar to="self" property="true" nameto="Property" value="$val"/> <we:var type="property" doc="self" name="Property"/> |
- |
Die Rückgabe der Properties erfolgt als String - beachte das beim Setzen von Nicht String-Werten es zu Problemen in WE kommen kann/wird! Mit einer Umstellung auf PHP 7.4 werden wir auch hier die Einhaltung der Datentypen sicherstellen. Objekt-Properties werden zukünftig alle gegen Zugriff von außen gesperrt (protected)! |
$GLOBALS['we_doc'] | we_base_WE::getWeDoc() | 8.1.3 | Prüfe, ob du deinen Kode nicht durch WE-Tags umschreiben kannst. |
Funktionen
Alt | Neu | Verfügbar ab | Bemerkungen |
f($query) | fB($query):bool | 8.1.2 | spezielle Query die immer nur Bool zurückliefert |
f($query) | fI($query):int | 8.1.2 | spezielle Query die immer nur Int (Zahl) zurückliefert |
f($query) | fS($query):string | 8.1.2 | spezielle Query die immer nur String (Zeichenkette) zurückliefert |
id_to_path(string):mixed | id2path(string):string | 8.1.2 | Rückgabe war früher abhängig von Parameter |
id_to_path(array):mixed | id2pathA(array):array | 8.1.2 | Rückgabe war früher abhängig von Parameter |
Tabellen
Tabelle | Spalte | Bemerkungen | |
* | CreationDate | veraltet, wird ersetzt durch Datumsfeld Creation_Date | |
* | ModDate | veraltet, wird ersetzt durch Datumsfeld Mod_Date | |
* | Published | veraltet, wird ersetzt durch Datumsfeld Publish_Date |
Funktionen/webEdition Tags/Datenstrukturen die in dieser Version nicht mehr zur Verfügung stehen
- Datenbank:
- Die Unterstützung für das Backend mysql wurde entfernt. Alle WE Versionen sollten bereits länger auf mysqli laufen.
- tblIndex: die Spalten OID und DID wurden entfernt.
- Tags
- Die Unterstützung von WE-Tags als Funktionen wurde entfernt. we-Tags müssen nun als Klasse implementiert sein. Siehe z.B. we/classes/tag/we_tag_a.class.php. Custom-Tags werden beim Update kopiert, sind aber erst lauffähig, wenn die Dateiendung .class.php lautet und auf die neue Basisklasse umgestellt sind.
- Tag-Wizzard Einträge müssen nun von we_weTag_twbase erben und die Klassen we_tagData_* nutzen. Siehe hierzu bspw. webEdition/we/classes/tw/we_tw_a.class.php. Da alte TW Einträge nicht lauffähig sind, werden diese in webEdition/we/include/old-tw-Tags verschoben.
- <we:ifHasShopVariants> und <we:useShopVariant/>
- <we:captcha/> wurde das Attribut font/fotnpath entfernt.
- Die Funktion printElement (we_tag.inc) wurde final entfernt
- $GLOBALS['lv'] wurde entfernt
- Hooks
- Hooks wurden auf Klassen umgestellt. Entsprechend müssen die Dateinamen auf .class.php enden.
- Schau dir die Sample-Hooks an, die Umstellungen sind einfach von bestehenden Hooks durchzuführen.