| 261 | 
   263 | 
   7.0q | 
   19.08.2018 | 
   component_boolControl / Bugfix (treeView) / renderCondition HasPathQuery / authorizedUserDomainCheck / btn_cancel | 
    19. August 2018  Neu: 
 
  component_boolControl:  
RenderBoolCtrl verwendet selectBox mit data (true,false). 
Es werden alle Attribute der selectBox unterstüzt, typeSpecificFlag ergänzt die Auswahl um "Bitte wählen"   HasPathQuery : renderCondition Neue Render-Bedingung: Prüft ob der angegebene PathQuery gesetzt ist. Bsp: url = https://sample-app.ullia.de/imprint/-/ Hallo :Welt Die renderCondition "sysStateKeyVal_HasPathQuery_ Hallo " gibt in diesem Fall [TRUE] zurück.   authorizedUserDomainCheck  -  IsAuthorizedUserDomain : Prüfung der dbAccessGrantList auch für dataTable & ajaxTable: hierdurch ist die Verwendung von Tabellen aus anderen Domains auch für nicht-administratoren über Freischaltung der dbAccessGrantList möglich.    
 Bugfix: 
 
    treeView : csvTreeViewGetSubTree berücksichtigt nun auch das Pfadtrennzeichen beim Sammeln der Unterpunkte. Hiermit werden nun die Unterpunkte korrekt zusammengesammelt.
 Der Bug bestand darin dass zuvor 
        1 /submenu und 
        1 0/otherSubmenu 
     
     fälschlicherweise als Unterpunkte von 1 zusammengefasst wurden 
   
 
 Refactoring:    btn_cancel : der Cancel-Button akzeptiert nun einen optionalen Parameter (sysCmd). hierdurch kann statt wie bisher SelfPerform auch eine andere Funktion ausgeführt werden. Verwendung: in doEditPageContent wird nun bei cancle die Funktion "cancelAction" aufgerufen, welche die Seite ohne zu speichern neu rendert.    prepareStateKeyValue : Erweiterung der Abfrage von (WasPostRequest() um  !HasPathQuery('sysCommand')) : Hiermit wird verhindert dass bei einer sysCommand-POST-Action der State verändert wird. Das sorgt mit der Änderung von btn_cancel mit dem oben beschriebenen Parameter dafür das bei cancel der State erhalten bleibt.    | 
  
  
   | 262 | 
   264 | 
   7.0r | 
   28.08.2018 | 
   csvChoiceList / google Authenticator / vCard QR-Code | 
    28. August 2018  Neu: 
 
  csvChoiceList:  
Neuer ColDef-Type definiert den Inahlt eines Datenfeldes als csv-Liste bestehend aus den Komponenten (key:label) Hieraus können dann radioList, checkboxList, select-Boxen auch mit template-Untestütztung erzeugt werden.   2-Faktor Authentifizierung : sudo-Authentifizierung mit Hilfe des Google Authenticators Zur Einrichtung kann das interne cryptTool verwendet werden. In einer folgenden Implementierung ist die Einrichtung der 2-Faktor Authentifizierung auch für normale User-Accounts angedacht.  sqlStore-Feature: QR-Code Anzeige der Adressen im vCard-Format  
  | 
  
  
   | 263 | 
   265 | 
   7.0s | 
   22.09.2018 | 
   KOS-Release: individualForm-teaser / ColDefType: compositeKey / toCsvKeyNameList / authStrength / redirectTo-configData / ajaxGetContextMenu / authTrustStrength in appInfo / getButtonTypeFromStyle: button_redirect / Sitemap navi_1..9 only / hasColDefPlaceholderDefaultValue / getPaymentPrice: floatval / dateTimeControls, IsDataRangeProvider: Anwendung von toCsvKeyNameList / input-placeholder-shown / mdl-floatingPlaceholderLabel, mdl-selectbox, mdl-radio, mdl-checkbox, compact-radio-checkbox / ripple-effect | 
    22. September 2018  Neu: 
   individualForm-teaser : neuer pageContentType: analog zu individualPageForm enthält jedoch einen Richtext-Teaser in dem ein Freitext eingefügt werden kann.   compositeKey : Neuer ColDefType "compositeKey: mit diesem könnten nun Felder als zusammengestzte Keys defniert werden. Die Implementierung / Validierung hierzu ist aktuell noch offen   toCsvKeyNameList : neue Hilfsfunktion zum Umwandeln von Array in csv-key-value Listen   authStrength : neuen function getAuthTrustStrength () zum ermitteln der Authentifikationsstärke (loa-0 bis loa-4). Aktuell sind folgende Werte implementiert  0: keine Anmeldung (annonym)  1: schwache Authentifizierung (username / password)  2: Zwei-Faktor mit der Google-Authenticator-App  3: Zwei-Faktor mit individuellem Hardware-Key (aktuell: yubikey)     redirectTo-configData : Experimentell: ein Page-Link in der Navigation direkt als redirekt auf das Ziel in configData setzen. Achtung: Implementierung muss noch überarbeitet und geprüft werden.  getButtonTypeFromStyle:  button_redirect  ergänzt   StyleCompiler : Unterstützung von  input-placeholder-shown    mdl-floatingPlaceholderLabel : input-field, welches das zugehörige Label als Placeholder-Text enthält. Die Steuerung des moves wird über den css-status "  :placeholder-shown  " vorgenommen   mdl-selectbox : selectbox im material-Design   mdl-radio : radio-button im material-Design   mdl-checkbox : checkbox im material-Design   compact-radio-checkbox : Kompatedarstellung von Radio- und Checkbox- Listen   ripple-effect ; Hervorhebung von aktivierten Controls mit Hilfe eines dem Material-Design angelehnten effekts     Ullia-Info   appInfo zeigt nun authTrustStrength mit an   Refactoring    ajaxGetContextMenu : Initialisierung versuchsweise ohne Bedingungen   hasControlLabelOrder : zusätzliche Berücksichtigung von "mdl-controlLabelOrder"   getCachedSitemap : Beschränkung der Sitemap auf: navi_1, navi_2, navi_3, navi_4, navi_5, navi_6, navi_7, navi_8, navi_9   hasColDefPlaceholderDefaultValue : return false und Ausgabe von  DEPRECATED    dateTimeControls:  Anwendung von toCsvKeyNameList   IsDataRangeProvider : Anwendung von toCsvKeyNameList  RenderInputCtrl: Prüfung und Ausgabe falls array statt csv als Eingabewert vorliegt   Bugfix:    createSubPage  (cleanup_derived_config_values): Korrektur sysRawCmd Hiermit werden nun Seiten auf Basis von Templates auch ohne anschließendes "Neuabspeichern" über "ExpertConfig" gleich richtig aufgebaut.   processingHashItem_allViews : integer-cast ergänzt   prepareStateKeyValue : nicht bei HasPathQuery('sysCommand')   getPaymentPrice : Umwandlung mit  floatval    | 
  
  
   | 264 | 
   266 | 
   7.0t | 
   30.09.2018 | 
   IsRedirectInitiated / Bugfixes / show-indeterminate / bulma style | 
    30. September 2018  Neu:    show-indeterminate : Visualisiert die Anzeige von noch nicht ausgewählten radiobox listen Implementiert über appearance "show-indeterminate" im base-Style appearance_show-indeterminate-state.css. Diess kann je Style individuell durch eine lokale Kopie angepasst / überschrieben werden.      IsRedirectInitiated ; neue Hilfsfunktion im neuen Modul redirHandler Kapselt die Logik ob ein Rendering, Redirect oder ein "ServerTransfer" gerendert wird.   bulma style : erster Versuch.   Bugfix:    authUserSettingsRestore : Aufruf von  userAppStateClearAll() entfernt , da ansonsten zuvor über setSysState() gesetzte Werte entfernt werden. (Passierte durch den nach einer Authentifzierung ausgelösten Redirect auf authUserSettingsRestore)    | 
  
  
   | 265 | 
   267 | 
   7.0u | 
   07.10.2018 | 
   subFormControlsList: Erweiterung iteratorList / css-icons / validateSubFormControlsLists / jsonDataControlPrepare / RenderBoolCtrl / subFormControlsList_parse | 
    07. Oktober 2018  Neu:    subFormControlsList : Erweiterung iteratorList. Nach dem Semikolon-Trennzeichen (;) für das subFormControls, kann nun neben dem zeiten Select für die Iteratorliste auch ein dataProvider angegeben werden. Hiermit kann z.B. mit Hilfe eines Range eine Liste von n-Forms aufgebaut werden Beispiel:   SELECT FirstName,LastName FROM PERSON; [1..7]   // Baut sieben Gruppen von Eingabemasken mit jeweils FirstName,LastName auf   css-icons : neue Tabelle im webDataUlliaSys "Verzeichnis" cssIcons. diese Enthält den namen des Icons und in der Spalte css die zuzehörigen css-Anwsisungen. Idee (später): Auswahl-Liste der Icons um diese den Controls zuzuweisen.   validateSubFormControlsLists : Feldvalidierung über SubFormConrol-Listen   jsonDataControlPrepare : dataBind-Util um Feldinhalte aus json-daten zu füllen. Kann zur Datenpflege von json-daten verwendet werden.  RenderBoolCtrl, Erweiterung: unter _data kann nun auch optional false,true eingetragen werden um den Default von true,false umzukehren.  subFormControlsList_parse: analysiert die Definition der subFormControlsList und gibt die Bestandteile als iteratorList und die Definition des subFormControls zurück. Auf dieser Basis arbeitet dann der Validator als auch der Renderer.    | 
  
  
   | 266 | 
   268 | 
   7.0v | 
   14.10.2018 | 
   Bugfixes / SafeEntityValue | 
    08. Oktober 2018  Change:    SafeEntityValue : Aufgrund der Umstellung auf UTF-8 ist die Konvertierung von Umlauten mit Hilfe von htmlentities überflüssig. Ab dieser Version 7.0v werden nur noch HTML-TAGS entfernt (strip_tags)   Bugfix:    curl-call : aus übergebenen url(+amp; ersetzen in die Normalform (&)       | 
  
  
   | 267 | 
   269 | 
   7.0w | 
   20.10.2018 | 
   Bugfixes / ullia_display_xml_errors | 
    20. Oktober 2018  Neu:    ullia_display_xml_errors : Erweiterung von ulliaSimpleXml_utils zur Anzeige und zum Handling von XML-Parsing-Fehlern Findet auch Verwendung im Modul XmlToArrayParser.   Bugfix:      ulliaXmlUtils: Handling von XML-Parsing-Errors       | 
  
  
   | 268 | 
   270 | 
   7.0x | 
   18.11.2018 | 
   sqlUpdater: sql_append / sql_update / deferred css loading / ulliaScriptImport  | 
    18. November 2018  Neu:    sqlUpdater / sql_append : Neues Modul sqlUpdater die Funktion sql_append ($sql, $aData) wird mit dem ersten Parameter von sql_parse oder dem sql-select-statement sowie einem passenden Daten-Hash aufgerufen. Intern wird dann db_append verwendet.   sqlUpdater / sql_update : Analog zu  sql_append  wird hier intern db_update verwwendet   deferred css loading : CSS ascnchron laden, Option  cssInline=deferred    ulliaScriptImport:  Import von Script-Bibliotheken innerhalb von "JavaScript-Componenten". Syntax: //@ulliaScriptImport url(/r/javascript-js/scriptFileName.js); (HINWEIS: beginnt mit dem auskomentierten @ulliaScriptImport)    | 
  
  
   | 269 | 
   271 | 
   7.0y | 
   28.12.2018 | 
   Refactoring / clientId (textarea) / sql_query_row_hash: optionaler Default, falls sql nicht matched / temporär: u_disable_security_headers / bodyClass Manipulation mit optionalen Parameter isPersist=false / getControlPersistState / dynamic styles (codeBehind) /  css-(de)codung ? / liClass "xOnEvent" entfernt, dataBehaviour / getButtonProcess | 
    28. Dezember 2018  Temporär   u_disable_security_headers: vorübergehendes standardmäßiges Abschalten der "security_header" Prüfung.  (hier muss noch eine nachhaltige Lösung entwickelt werden)   Neu:    textarea : Unterstützung von selbstdefinierter  clientId     getControlPersistState (key)    dynamic styles (codeBehind):  Hilfsfunktionen zur manipulation von  dynamischen Styles  aus codeBehind:  updatePagePersitStyle ($cssKey, $cssVal)  updateServerClientPagePersitStyle ($cssKey, $cssVal)    function  preparePersistValue :   Neu / Erweiterung / bugfix "ControlPersist"   Neu / Erweiterung Button-value 'buttons_like_radioList,buttons_like_checkboxList'   dataBehaviour / script : Erweiterung der Komponente component_buttonList zur Unterstützung von Script-Enabled-ten Browsern um bei der "No-Javascript First" Strategie die Userexperience bei eingeschaltetem Script zu erhöhen. Hierzu wird beim Typ "buttons_like_radioList" das onChange-Event umgewandelt in "onClickChange". Das Button-Control erhält zusätzlich das Attribut data-behaviour="radioList". Die neue Javascript-Funktion "handleClientButtonBehaviour" sorgt dann dafür das das jeweils angeklickte Element durch Setzten der CSS-Class "active" hervorgehoben wird.   getButtonProcess : Neue actionButtonUtils-Funktion zum Zurückgeben der Prozess-Aktion, siehe auch getButtonProcessName zur Bestimmung des Prozessnamens   Change    css-(de)codung ? : omRes_NormalizeStylesForClient   css-decodung von '(?)' in '?'  liClass "xOnEvent" entfernt   Refactoring    Umbenennung :   getStyleName in getStylePathFileName  *ControlPersist in *ControlPersistState (* = get,set,del)   Erweiterungen :   csvFamGrpEvents :  scriptGroups  erweitert: onScript, onTransfer, group, group0, group1, group2, group3, group4, group5, group6, group7, group8, group9,'   sql_query_row_hash  (sql, tabDef, rowIndex=0,  mustReturnDefaultHash= false  )   removeBodyClass  (cls,  isPersist );   setTheme : das theme wird  nicht mehr  in die  BodyClass  geschrieben   buttons_like_checkboxList ,  buttons_like_radioList : Persit und State-handling überarbeitet: die beiden typen können nun auch als Javascript-freien Ersatz von radio- und checkbox- Controls verwendet werden.  onClickChange : Mit eingeschalteten Javascript können statt eines submit auch "onChange" Events (clientseitig ausgelöst über onClick-Events) verarbeitet werden. Beim Definieren über die FamilyGroups werden hierbei analog zu radioList und checkboxList onChange Events definiert, welche dann vom ullia-Framework in onClickChange events gerendert und vom Javascript entsprechend behandelt werden (onEventHandler.js)  Umbenennung von getButtonAction in  getButtonProcessName    Bugfix:   omUserSettings / getUserThemeCssStyles; Vermeidung von doppelten Includes von getUserCssStyles   | 
  
  
   | 270 | 
   272 | 
   7.0z | 
   31.12.2018 | 
   Sylvester-Release: Style-Links | 
    31. Dezember 2018  Refactoring    Optimierung: Style-Links:  pageCss rendert auch die template-css der Controls, die *view_* links können somit entfallen   Bugfix    Style-Links : Generic-Main-Style separat behandelt, user-Inlinestyles werden nun wieder inline gerendert   | 
  
  
   | 271 | 
   273 | 
   7.1 | 
   01.01.2019 | 
   Neujahrs-Release: Extention prepareStateKeyValue, getColDefStateKeyName / sessionRequestCount() | 
    1. Januar 2019  Neu    Modul sysSessionInfo : Funktion  sessionRequestCount () Ausgabe der Anzahl von bisher stattgefundenen Request-Anahl, je aktueller Session   Extention    prepareStateKeyValue : Erweiterung um den zusätzlichen Parameter  pHashValues . Hierdurch werden nun auch bei abgeschalteten Javascript die präperierten Werte bei den Typen   buttons_like_radioList   und   buttons_like_checkboxList   korrekt zur Weiterverarbeitung in pHashValues zurückgespielt.   getColDefStateKeyName :  Erweiterung um den zusätzlichen optionalen Parameter  dsnTabKey )   | 
  
  
   | 272 | 
   274 | 
   7.1.a | 
   06.01.2019 | 
   New: IsLocalhost / Removed: hasColDefPlaceholderDefaultValue / experimental: CSS-Shapes | 
    6. Januar 2019  Neu    IsLocalhost : neue zusätzliche RenderCondition IsLocalhost. Zu finden unter  "System-Events"  im condition - Edit Fenster der renderConditions   buttons_like_radioList ,  buttons_like_checkboxList : State- und Persistverwaltung kann nun auch mit ohne ohne Javascript verwendet werden.  CSS Shape: erste Experimente mit einem float-left Kreis (siehe Ullia-Guide): .cssShape {   width:288px;   height:400px;   float: left;   shape-outside: circle(33.38% at 11.03% 53.73%); }   Refactoring    removed deprecated hasColDefPlaceholderDefaultValue : Diese Funktion wird nicht mehr benötigt und wurde somit entfernt  msgSecretUrl4ExceptionLog: Säubern von in der URL enthaltenden schützenswerten Daten. bevor diese in Logfiles geschrieben werden.   | 
  
  
   | 273 | 
   275 | 
   7.1.b | 
   09.01.2019 | 
   Garagen-Leerungsrelease: toggleSwitchCtrl für buttons_like_* / imageUtils: fitToBox | 
    9. Januar 2019  Neu    toggleSwitchCtrl für buttons_like_radioList ,  buttons_like_checkboxList : toggleSwitchCtrl-CSS erweitert: Hiermit ist der toggleSwitch-Style auch für die  "buttons_like_*" -typen verfügbar HINWEIS: Der CSS-Ripple-Effekt funktioniert leider nur für die Element-Typen radioList und checkboxList.   imageUtils: fitToBox : Der Bildgeneratior unterstützt nun das Skallieren von Bildern unter Beibehandung des Aspekt-Ratios. Die Bilder werden hierbei so skalliert das diese die Box horizontal und/oder vertikal ausfüllen. Das Bild wird aktuell unten in die erstellte Box gesetzt. Beispiele: .../f800x600/..., "fit image into a box of 800 x 600 Pixels", Position: bottom / center   Refactoring  | 
  
  
   | 274 | 
   276 | 
   7.1.c | 
   20.01.2019 | 
   Bewertungs-Sterne (ratingstars) / Disabled Buttons ohne id / [IsAuthorized] als WHERE-Clause / Bugfix: StyleCompiler*** omRes_base64Images / baseHrefTag, baseHrefUrl: HttpAbsoluteSelfPerform / sysCommand-Content | 
    16. Januar 2019  Neu    Bewertungs-Sterne (ratingstars) : Mit Hilfe von CSS (ratingstars-flex-reverse) können radioList Elemente auch in Form von Bewertungssternen dargestellt werden. Die Lösung benötigt kein Javascript, verwendet jedoch CSS-Flexbox  Idee: Radio-Buttons mit welche die Anzahl der vergebenen Sterne abbilden.  Diese Radiobuttons werden absteigend [5..1] und hintereinander im HTML plaziert, direkt dahinter kommen die jeweils zugehörenden label (ebenfalls hintereinander absteigend)  Mit Hilfe von CSS-Klassen (star-five oder star-six) werden die Label-Elemente als Sterne dargestellt.  distributeCtrlLblInto-b:64@div#ratingstar-container#star-five distributeCtrlLblInto-a:72@section#ratingstar-container#star-six  Beispiel: siehe ullia-guide.   [IsAuthorized] als WHERE-Clause : Ein Datensatz (row) wird nur selektiert wenn der User mit den Rechten ausgestattet ist, welche in der column eingetragen ist.  Beispiel:  Eine Tabelle enthält eine Spalte mit dem Namen someColumn, sowie weitere Spalten Wenn ein Datensatz nun als Inhalt der Spalte someColumn den Wert "authLevel_4" enthält, dann wird dieser nur ausgegeben wenn der User nach seiner Anmeldung auch mindestens den Level 4 hat. SELECT * FROM table WHERE someColumn = [IsAuthorized] Intern wird die Funktion authIsAllowed mit dem eingetragenen Wert der Tabellenspalte aufgerufen. Ein leerer Eintrag soll hier als "true" gewertet werden, aktuell funktionieren leere Einträge leider noch nicht korrekt: Workaround: [TRUE] statt  leer  verwenden Hinweis: es gibt noch den ColDef-Type       "authConditionChecker". Dieser sollte auch als zusätzlicher Filter beim Selektieren von Zeilen dienen, tut er aber aktuell leider nicht! (Wird hoffentlich zeitnah korrigiert)   HttpAbsoluteSelfPerform : neuer Platzhalter zum Ausgeben der aktuellen Page als caonical-URL (absolute HTTP Adresse)     Refactoring   Disabled Buttons werden nun ohne   id   gerendert, das zugehörige   label   erhält in diesem Fall auch kein   for   Attribut   baseHrefTag, baseHrefUrl : Aufteilen der ursprünglichen Funktion baseHref in die zwei separaten Funtionen baseHrefTag und baseHrefUrl. HttpAbsoluteSelfPerform und baseHrefTag verwenden damit die Neue Funktion baseHrefUrl. Verwendung im Projekt / Layout "amp" wird ein link mit dem namen"canonical" verwendet, welche auf die absolute Adresse der Ursprungsseite (die Quelle) zeigt. Im Google-Project amp werden die Seiten von Googel-Servern als gechached-te Version ausgeliefert.  sysCommand-Content: der ColDef-Type   sysCommand-Content   kann nun auch ohne _dataOptions verwendet werden: Beispiel:   appData:sysCommand-Content (_data=appInfo)   startseite:sysCommand-Content (_data=pagePath_home) oder (_data=pagePath_unterSeite1/unterUnterSeite2/...)   Bugfix:   StyleCompiler / base64Images: Erweiterung / Bugfix der Funktion zum Umgang mit virtuellen Pfaden (/c/r/...)   | 
  
  
   | 275 | 
   277 | 
   7.1.d | 
   09.02.2019 | 
   css-filter / authRenderStyleImports / Refactoring / rendercondition: hasAuthTrustStrength | 
    09. Februar 2019  Neu    authRenderStyleImports : analog zur appearanceList steuert ullia intern über die neue Methode "authRenderStyleImports" den Import von css-Styles welche für die Administration und Pflege der Webanwendung notwendig sind. Hiermit werden dann nur noch Styles importiert, welche für den aktuellen Prozess und der aktuellen Anforderung zur Pflege der Webseite notwendig sind. Beispiel: Der Style-Import "inplaceEdititable.css" kann zukünfig entfallen, da dieser zukünftig automatisch intern über authRenderStyleImports('ulliaSysConfigCtrl_dragWindow.layoutEdit.css') vorgenommen wird.   hasAuthTrustStrength : neue renderCondition hasAuthTrustStrength(n) n=1..3 Hierüber kann das Rendering von Controls über die Sicherheitsstufe der Authentifizierung gesteuert werden (schwache Authentifizierung, starke durch 2FA, sehr starke mit Hardwaretoken)     Refactoring   omAuthEvaluateLogical: Aufteilung in einzelne Module: (Level, Epoch, HasBodyClass, PathLevel, PathQuery, SysState, TrustStrength, Value)  renderConditionTermUtil: Überarbeitung zur verfeinerten Anzeige der renderConditions: spezielle Darstellung von has..(yes), sowie Is..(yes), unterdrückt den Suffix "-ulliaSys", unterstützt eine verbessertge Darstellung von authLevel_   Change:   StyleCompiler: css-Filter, die bisher properitär in Uralt-Versionen des IE-6,7,8 verwendeten filter - Anweisungen (ms-filter) werden nicht mehr in den modernen Browsern Firefox, Chrome, Opera, ... herausgefiltert, sondern nun durchgereicht. Hiermit wird nun für aktuelle Browser z.B. filter: drop-shadow unterstürzt.   | 
  
  
   | 276 | 
   278 | 
   7.1.e | 
   17.02.2019 | 
   authLabel, authHasColDefLabel, hasSysState | 
    17. Februar 2019  Neu:    authLabel : neue ColDef-Render-Condition Das Anzeigen von Feldbeschriftungen (label's) kann nun auch über die neue ColDef-Condition   authLabel   gesteuert werden. Hierzu wird die neue Funktion   authHasColDefLabel   verwendet.  dsnTabColumn_Definitions: Ergänzung von _authLabel zum Persistieren von authLabel.   hasSysState : analog zu hasState kann nun auch für der System-Status (hasSysState) als renderCondition verwendet werden.   Refactoring    hasColDefLabel : Erweiterung  um den optionalen zweiten Parameter lblClass. Im Parameter lblClass wird der css-Wert notAllowed ergänzt, wenn authHasColDefLabel false ergibt, dieser jedoch aufgrund der Admin-Option "u_ignore_render_conditions" ignoriert wird. Mit geeigneten CSS-Style kann dann das eigentlich nicht gerenderte Label markiert werden (.z.B. durch Halbtransparenz)     | 
  
  
   | 277 | 
   279 | 
   7.1.f | 
   24.02.2019 | 
   [IsAuthorized] / subFormControlsList: authMorph | 
    23. Februar 2019  Neu:    subFormControlsList : Unterstützung der Render-Condition  authMorph  aktiviert    Refactoring:   [IsAuthorized]: Überarbeitung der Logic beim Auswerten in SQL-WHERE Statements: Falls diese mit [EQ] [IsAuthorized] enden dann kann intern einfach die Methode IsAllowed angewendet werden. Desweiteren wird nun auch ein leerer Wert als [TRUE] beim Vergleich mit [EQ] [IsAuthorized] gewertet (Entspricht dem Standardverhalten).    | 
  
  
   | 278 | 
   280 | 
   7.1.g | 
   17.03.2019 | 
   Bugfix: inplaceArrange / Security-Check: performCorePageRendering / edit_control_definitions | 
    17. März 2019  Neu:    edit_control_definitions : Neu: Unterstützung von LI-Margin-Top & LI-Margin-Bottom   Bugfix:    inplaceArrange : css-table-selector genauer spezifiziert, sodaß nun innerhalb von tbody keine weiteren tr-Elemente selektiert werden.   Security-Check performCorePageRendering : Post-Requests werden nur akzeptiert, wenn diese von der selben vorgängerseite kommen. Hierzu wurde bereits auf dem Server der Pfad zur jeweiligen Vorgängerseite persistiert. Ein Problem hierbei sind z.B. Fehlerhaft konfigurierte nachgeladene Ressourcen (wie z.B. Bilder). Diese lösen asynchron calls gegen den Server aus und führen dann ggf. zu 404 Seiten. Da diese 404 Seiten jedoch von einem Handler abgefangen und gerendert werden, führte das dazu dass diese fälschlicherweise als Vorgängerseite eingetragen wurden und somit bei einem anschließend ausgeführten POST-Request eine Security Fehlermeldung ausgelöst haben. Fix: eine Seite wird nur als Vorgängerseite eingetragen, wenn diese auch in der Sitemap existiert.   | 
  
  
   | 279 | 
   281 | 
   7.1.h | 
   24.03.2019 | 
   Super-User (OTP) / cryptUtil ->  openSSL | 
    24. März 2019  Neu:    Super-User  Support ab authLevel-1: Bei Einsatz einse Hardware-Schlüssels wird nun die Superuser Authorisierung unterstützt. Der Account ist hierzu wie üblich in der entsprechenden Tabelle hinterlegt.   cryptUtil -> openSSL : Verwendung von openSSL zur Verschlüsselung von Daten    | 
  
  
   | 280 | 
   282 | 
   7.2. | 
   27.03.2019 | 
   Server-Umzug | 
    27. März 2019  Neu:    Server-Umzug:  Upgrade auf php-7.1 (Modul-Variante): Ullia-Support für die Versionen 7.2 & 7.3 Umzug in der Nacht vom 26.3.2019 bis zum Morgen des 27.03.2019. Bis zum 26.03.2019:   php 7.0 auf Linux 3.13.0-166-generic #216-Ubuntu Ab dem 27.03.2019:   php 7.1 auf Linux 4.4.0-143-generic #169-Ubuntu SMP Thu Feb 7 07:56:38 UTC 2019   |