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 Versionen

Änderungen an internen Funktionen/webEdition Tags/Datenstrukturen

  1. Die Tabelle tblOrders (Shop) wurde komplett überarbeitet, durch diese Änderung ist ggfs. eigener Kode zu prüfen.

Funktionen/webEdition Tags/Datenstrukturen die in dieser Version nicht mehr zur Verfügung stehen

  • Quicktime-Support entfernt.
  • PHP 5.3 Support gestrichen
  • In Objekten werden keine Vorlagen mehr definiert. Es werden NUR noch die Vorlagen der Klasse benutzt. Es können somit auch nur noch Arbeitsbereiche der Klasse und keine Unterverzeichnisse mehr benutzt werden!
  • Zend Framework wurde aus WE entfernt. Vorhandenes Zend bleibt vorerst vorhanden, wird in einer der Folgeversionen aber ebenfalls entfernt.
  • Anwendungsverwaltung: Bis auf weiteres funktioniert die Anwendungsverwaltung, Anwendungen und die webEdition-API nicht mehr.

Änderungen an internen Funktionen/webEdition Tags/Datenstrukturen

  1. Die 1:1 Beziehung zwischen tblContent und tblLink wird mit einer der nächsten Versionen aufgehoben und durch eine 1:n Beziehung ersetzt! Für Abfragen wird sich keine Änderung ergeben. Sollten Sie selbst Datenmanipulationen an einer der Tabellen machen, sind diese Änderungen mit Update auf eine der folgenden Versionen kritisch! Eine Änderung kann sich hierbei auf weitere Dokumente/Felder erstrecken!
  2. Datenstrukturänderungen: Innerhalb von webEdition-Datenstrukturen wurden viele serialisierte Daten durch JSON-Entsprechungen ersetzt (bspw. block, href). webEdition stellt ab Version 6.4.2 die Funktion we_unserialize($string, $default = array(), $quiet = false) zur Verfügung die alle serialisierten Daten dekodieren kann. Dies ist ein "Dop-In-Replacement" zu unserialize.
    Zur Serialisierung steht ebenfalls eine Funktion we_serialize($array, $target = ['serialize'|'json'], $numeric = false, $compression = 0, $ksort = false) zur Verfügung. Erwägen Sie, sofern Sie nur Array's serialisieren die Umstellung auf JSON.
  3. Die Suche nach Multiobjekten, wie es über
    $feldnameMultiObjectFeld REGEXP '[{].*[{].*[[.quotation-mark.]]".OF_ID."[[.quotation-mark.]].*[}]')
    gemacht wurde, funktioniert so nicht mehr, und muss nach einem Rebuild der Objekte durch 
    FIND_IN_SET($OF_ID, $feldnameMultiObjectFeld)
    ersetzt werden
  4. Der bisherige Zugriff auf den internen Pfad von Feldern per "meinFeldname_we_jkhdsf_intPath" ist nicht mehr möglich. Der gültige Pfad kann über die Funktion "id_to_path()" anhand der Dokumenten-ID ermittelt werden oder direkt mit dem Tag
  5. In der Funktion id_to_path wurde der Parameter prePostKomma gestrichen

Deprecated: Funktionen/webEdition Tags/Datenstrukturen die ab dieser Version nicht mehr genutzt werden sollten

  1. Der Support von PHP 5.3 ist nicht mehr zeitgemäß und wird nach 7.0 eingestellt.
  2. Folgende Attribute veraltet und werden in der nächsten Version entfernt. Verwenden Sie übergangsweise die Attribute als leer (""). Fehlermeldungen können über das Tag abgefragt und individuell dargestellt werden!
    1. passempty
    2. userexists
    3. userempty
  3. Folgende Tags sind veraltet:
    1. linklist (Das Tag sollte nicht mehr in neuen Vorlagen eingesetzt werden. Aufgrund der häufigen Verwendung und aktuell fehlender Migrationsmöglichkeit wird es bis auf weiteres unverändert beibehalten!)
    2. ifshopexists
    3. ifobjektexists
    4. ifnewsletterexists
    5. ifcustomerexists
    6. ifbannerexists
    7. ifvotingexists
  4. Tabellen:
    1. tblIndex: die Spalten OID und DID werden durch ID ersetzt und bald entfernt
    2. tblIndex: die Spalte Path wird bald entfernt, die Pfadinformationen sollten immer aktuell aus der jeweiligen Tabelle ermittelt werden. Dies ist nur relevant, sofern Sie nicht benutzen.
    3. tblUser: alte schwach gehashte (unsalted) Passwörter werden in dieser Tabelle nicht mehr akzeptiert. Dies trifft Benutzeraccounts die seit Jahren inaktiv waren, oder Accounts die per "Hand" in der Datenbank das Passwort zurückgesetzt wurde.
    4. tblObject*: Alle Spalten die mit OF_ beginnen, außer OF_ID sollten NICHT mehr direkt verwendet werden. Innerhalb von WE-Tags werden diese transparent übersetzt. Aus den Tabellen werden diese Spalten bald gestrichen.

Funktionen/webEdition Tags/Datenstrukturen die in dieser Version nicht mehr zur Verfügung stehen

  1. Datenbanktabellen
    1. In allen Tabellen wurde die Spalte Icon entfernt
    2. tblCategory wurde die Spalte IsFolder in Zusammenhang mit #1700 entfernt
    3. tblWebUser die Spalten Text,Path,IsFolder,ParentID wurden entfernt
  2. In der Datenbank wurden alle Felder mit _intPath entfernt, in der früher die Pfadangabe des Links gespeichert wurde. Der aktuelle Pfad sollte immer über die ID (id_to_path) ermittelt werden.
  3. In tblIndex wurde die Spalte Workspace entfernt

Deprecated: Funktionen/webEdition Tags/Datenstrukturen die ab dieser Version nicht mehr genutzt werden sollten

Funktionen in we_global.inc.php

  • makeArrayFromCSV() - kann durch explode(',',$var) ersetzt werden
  • makeCSVFromArray() - kann durch implode(',',$var) ersetzt werden
  • getHashArrayFromCSV() entspricht makeArrayFromCSV

webEdition Tag:

Nachfolgende Attribute sind veraltet und werden in der nächsten Version entfernt. Verwenden Sie übergangsweise die Attribute als leer (""). Fehlermeldungen können über das Tag abgefragt und individuell dargestellt werden!

  • passempty
  • userexists
  • userempty

Funktionen/webEdition Tags/Datenstrukturen die in dieser Version nicht mehr zur Verfügung stehen

Funktionen aus we_global.inc.php:

  • weRequest()
  • we_hasPerm()

Funktionen/webEdition Tags/Datenstrukturen die in dieser Version nicht mehr zur Verfügung stehen

webEdition Tags

Funktionen/webEdition Tags/Datenstrukturen die in dieser Version nicht mehr zur Verfügung stehen

tblCategories

Die Spalte Catfields wurde durch die Spalten Title und Description ersetzt. Dies ermöglicht einen direkten Zugriff und die Sortierung/Filterung nach beiden Feldern.

Änderungen an internen Funktionen/webEdition Tags/Datenstrukturen

  • Die Datenbank-Funktion getHash() hat als Default MYSQL_ASSOC, d.h. list($a,$b)=getHash('....') geht nur, wenn getHash('...',$db,MYSQL_NUM); aufgerufen wird. Die Variable $db darf entfallen oder null sein, wenn eine bestehende Datenbankverbindung aus  $GLOBALS['DB_WE'] genutzt werden soll.
  • Das Captcha Tag nutzt nun die Datenbank.
  • Beim direkten Zugriff auf die webEdition Datenbank sollte zukünftig nur noch DB_WE-Klasse und NICHT mehr die mysql[i]_*-Funktionen verwendet werden.

Deprecated: Funktionen/webEdition Tags/Datenstrukturen die ab dieser Version nicht mehr genutzt werden sollten

Tags:

we_delete_fn.inc.php

Zum manuellen Löschen von webEdition Dokumenten bzw. Objekten wurde in der Vergangenheit die Funktionen aus we_delete_fn.inc.php genutzt. Zukünftig sollte stattdessen der Zugriff auf die jeweiligen (nachfolgend beispielhaft aufgeführten) Objekte erfolgen:

  • weTree::deleteTreeEntries($dontDeleteClassFolders);
  • we_base_delete::checkDeleteEntry($id, $table);
  • we_thumbnail::deleteByImageID($id);
  • we_thumbnail::deleteByThumbID($id);
  • we_base_delete::deleteEntry($id, $table, $delR, $skipHook, $DB_WE);

we_global.inc.php

  • we_getModuleNameByContentType()
  • we_getIndexFileIDs()
  • we_getIndexObjectIDs()
  • getAllowedClasses()
  • we_hasPerm()
  • removePHP()
  • we_make_attribs()
  • filterXss()

Datenbanktabellen

Folgende Tabellen werden auf die neue Tabelle tblSettings

Funktionen/webEdition Tags/Datenstrukturen die in dieser Version nicht mehr zur Verfügung stehen

Entfernte Funktionen in "we_global.inc.php"

  • getMysqlVer()
  • weFileExists()
  • we_getCatsFromDoc()
  • we_getCatsFromIDs()
  • getCurlHttp()
  • deleteContentFromDB()
  • cleanTempFiles()
  • ObjectUsedByObjectFile()
  • filterIntVals()
  • weRequest()
  • we_userCanEditModule()
  • makeOwnersSql()
  • we_getAliases()
  • we_isOwner()
  • shortenPath()
  • shortenPathSpace()
  • userIsOwnerCreatorOfParentDir()
  • getArrayKey()
  • getHrefForObject()
  • getNextDynDoc()
  • parseInternalLinks()
  • removePHP()
  • we_make_attribs()
  • filterXss()

Änderungen bei den Datenbankstrukturen

  • tblIcons (entfernt)
  • tblMsgSettings (entfernt)
  • Bei allen Objekt-Tabellen wurde die Spalte ID entfernt. Das Objekt wird nun einheitlich über OF_ID (wie in tblObjectFiles) adressiert.
  • tblObjectFiles Spalten wurde die Spalte ObjectID und IsNotEditable entfernt