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
    tw
    alle Benutzeranpassungen (Apps, Config, Hooks, Tags)
    generated backup
    site
    templates
    versions
    alles was von WE generiert wird und idr. neu erzeugt werden kann (Backup, Site, Templates, versions)
    samples Beispiele (Configs, Hooks)
    temp cache
    fragments
    preview
    tmp
    alles was Temporär ist (Cache, Fragmente Temp)
    we classes
    cli
    css
    images
    include
    js
    libraries
    licenses
    alles 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_module
    Je nach Bereich/Tabelle wird nun eine eigene Klasse verwendet.
    we_imageDocument we_document_image
    we_objectFile we_contents_objectFile
    we_webEditionDocument we_document_webEdition
    Weitere Änderungen sind in webEdition/we/classes/contents zu sehen.
  • 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.
  •  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
      inserttable
      table
      insertlayer
      movebackward
      moveforward
      absolute
      Gruppen:
      justify  align
      Aufgelöste Gruppen:
      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
'applystyle' => 'styleselect',
'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 ersetzt
Alt 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.
powered by webEdition CMS