ullia

changeLog

changeLog

fullScreen ulliaChangeLog
Page 6 of 16, Zeile 101-120 von Treffern, Gesamtzeilen 310
idx
 
101-120 von , tab_totalLength: 310
101 103 5.4b 06.10.2013 Bugfixes: safe_url_encode() / u_denyajax NEU: dataProvider- / dataConsumer- / familyGroups / renderConditions / Secure Session-ID 03-06 Oktober 2013: Kleinere Fehler behoben Bugfixes: safe_url_encode: Der Punkt wird nun nicht mehr zu "-" ersetzt. (Das führte z.B. in Bildergalerien die automatisch Pfade erzeugen zu 404-Fehlern   ..../Blende-5.6/Seitenfenster-Schlosss-Wolfenbuettel_135mm- f5.6. html wurde zu   ..../Blende-5.6/Seitenfenster-Schlosss-Wolfenbuettel_135mm- f5-6 .html und das wurde nicht gefunden. Javascript: animate-Pager: Hier wird nun auch die Option "Kein Ajax verwenden" ( u_denyajax ) ausgewertet. imageChooserUpload: Anpassungen bzgl. authDisabled. Über authDisabled wird der Upload-Button berechtigt, hier müssen nun alle Rechte aufgeführt werden für die der Upload-Button nicht disabled ist (in diesem Fall also dargestellt wird), Wenn also ein Author mit dem Recht "kannBilderHochladen" dieses auch ausführen soll, so muss beim imageChooserUpload unter authDisabled="NOT kannBilderHochladen" eingetragen sein. NEU: dataProvider- X , dataConsumer- X : Datenbindung von Elementen: Ein Control kann den berechneten Value als dataProvider einem anderen Control zur Verfügung stellen. Hierzu wird über familyGroups sowohl der dataProvider. als auch der dataConsumer unter einem gemeinsamen Buchstaben definiert. (z.B. dataProvider-B und dataConsumer-B) familyGroups / renderConditions : Beim Editieren der familyGroups und renderConditions wird nun auch rekursiv das Bearbeiten von inkludierten / eingebetteten Formularen (type=dsnTabControlsFieldset und dsnTabInputFormular) unterstützt Security : Die im cookie gespeicherte sid (Session-ID) wird bei Login / Logout immer neu generiert und invalidiert die davor gesetzten Session-Daten. Die Session-Id selbst wird in Abhängigkeit des authLevel's unterschiedlich stark generiert. Die einfachste (leichter zu berechnende) sid wird beim annonymen benutzen der Seiten verwendet.
102 104 5.4c 07.10.2013 Bugfixe: csvRemoveListEntry 07 Oktober 2013: Bugfixes: csvRemoveListEntry : Bugfix: Entfernen eines Elements aus der CSV-Liste war nur für die beiden Rand-Elemente korrekt implementiert. Bei mittleren Elementen führte das zu falschen Listen. matchStringToInnerLogical : sysStateKeyVal_ wird nun gesondert behandelt, hiermit ist nun Gross-Kleinschreibung relevant und der String "matched" nicht mehr gegen teilstrings sondern nur bei Gleichheit. Change: partial-ajax-update : Das Aktivator-Control wird nun immer als erstes Control ausgeführt. Hiermit funktioniert nun auch ein korrektes stateabhängiges Rendern von Controls die in der ColDef-Liste vor dem Aktivator definiert sind.
103 105 5.4d 13.10.2013 Usability: inplace-conditions / Erweiterung Context-menü / css & js: optimize=false / js-Suffix 13. Oktober 2013: Usability: inplace-conditions : Die Conditions können nun in einem formatierten Tooltip-Fenster direkt in den Formularen angezeigt werden. Erweiterung Context-Menue: Das Kontextmenü ist durch die beiden Links Family-Groups und Render-Conditions erweitert worden. css & js importe: optimize=false : Durch den neuen optionalen Query-Parameter "optimize' kann gesteuert werden ob Importe von CSS und JS den Ullia-internen Optimierungslauf auslassen sollen. Hiermit können ggf. Implementierungsfehler umgangen werden. Anwendung: @import url(jquery.css ?optimize=false ); var usedPageScripts = 'jquery.js ?optimize=false ,ulliaBase.js'; js-Importe: Die Kommaseparierte Liste der zu importierenden Script-Dateien, dann nun auch mit der optionalen Endung '.js' korrekt umgehen. Somit können die js-Dateien auch mit Suffix aufgezählt werden.
104 106 5.4e 14.10.2013 Rename: displayfilternavi -> ignore_render_conditions / _import_administration_includes.css 14. Oktober 2013: Rename: u_displayfilternavi -> u_ignore_render_conditions : Die Administrations-Option zum Einblenden von eigentlich nicht gerenderten Menü-Punkten sowie Controls (ehemals displayfilternavi) wurde durch den treffenderen Begriff ignore_render_conditions ersetzt. Generic-CSS Import-File for Administation-Styles:  _import_administration_includes.css
105 107 5.4f 17.10.2013 font-icon rendering via ullia cds 17. Oktober 2013: NEU: Zeichensatz-Icons: Standard Hintergrund-Icons können nun via css-Klassennamen eingebunden werden. Hierzu wurde initial der Open-Souce Zeichensatz von Font Awesome via Ullia-Content Delivery Server eingebunden.
106 108 5.4g 19.10.2013 Access-Control-Allow-Origin für von ullia Content Delivery Server gehostete fonts 20. Oktober 2013: Konfiguration: Access-Control-Allow-Origin : Konfiguration bei cds.ullia.de beim Ausliefern von Fonts Die htaccess-Datei im Font-Ordner oder einem Parent davon: "\.(ttf|otf|eot|woff)$" > mod_headers . c > Header set Access-Control-Allow-Origin "*"
107 109 5.4h 22.10.2013 neues ullia-Control "navArea": / Server bodyClass rendering bei OnEvent Aktionen 22. Oktober 2013: NEU: neues ullia-Control "navArea" : Mit dem neuen Typ kann nun im Content ein Control gerendert werden welches die verschiedenen (kommaseparierten) Navigationsziele (area's) als ul-li-a Liste darstellt. CHANGE: setBodyClass : bei Ajax-basierten Rendering wird die Option setBodyClass nun nicht mehr direkt im Client durchgeführt sondern indirekt durch den ajax-Response.  
108 110 5.4i 23.10.2013 bugfix:renderCondition bzgl. Formular-Komponenten / ajaxUpdateResponseValues 23. Oktober 2013: NEU: editmenü / asideMenu : für die navArea asideMenü ist nun initial ein Set an Navi-Punkten zum editieren und konfigurieren von Pages erstellt worden. Dieses ist noch weiter zu optimieren und soll dann zu einem späteren Zeitpunkt zu einem einfach zu bedienenden Menü zum Erstellen / Konfigurieren von Seiteninhalten ausgebaut werden. Erweiterung von doEditDsnTabDefinition : durch Setzen der pathQuery /-/mode:simple werden die TabReiter über den jeweiligen Edit-Bereichen nicht mit gerendert. Hierdurch wird eine schlankerer Editierbereich erzeugt welcher sich dann elegant in das neue editmenü integrieren läßt. CHANGE / FIX: neues ullia-Control "navArea" : Bei Formular-Komponenten (wie z.B. dsnTabControlsFieldset) welche eine Render-Condition haben wird nun durch untergeordneten Controls beim Ajax-Partial Update iteriert. Hiermit kann nun mit einer authRender-Conditon ein kompletter Teilbereich einer Seite im Renderprozess state und Berechtigungsabhängig beeinflusst werden. Javascript : fehlender Funktion ajaxUpdateResponseValues in omAjax integriert. Diese wird noch vom Ajax-Serverprozess "TableUpdate" verwendet.
109 111 5.4j 25.10.2013 IE-11 Fullscreen API 25. Oktober 2013: NEU: IE11 Fullscreen API : Mit Version 5.4j unterstützt ullia auch die HTML-5 Fullscreen API für den Internet-Explorer 11. Hierzu wurde der spezifische Vendor-Präfix ms. Folgende Eigenschaften sind für den IE11 verfügbar: msRequestFullscreen msExitFullscreen   msFullscreenElement msFullscreenEnabled MSFullscreenChange MSFullscreenError  :-ms-fullscreen    ::-ms-backdrop     allowfullscreen   
110 112 5.4k 03.11.2013 Option u_presentation_view: Unterstützung Laserpointer-Fullscreen Präsentation 3. November 2013: NEU: Laserpointer Support : Mit Version 5.4k unterstützt ullia Präsentationen mit Laserpointern. Folgende Option ist für die optimale Unterstützung von Laserpointern zu setzten: u_presentation_view Nach Einschalten dieser Option werden vier Tasten des Logitech Laserpointers wie folgt interpretiert: prev: Page-Up / Pfeil-Links: Zurück (SiblingMenue oder Pager) (keyCode 33, 37) next: Page-Down / Pfleil-Rechts: Vorwärts (SiblingMenue oder Pager) (keyCode 34, 39) play: toggelt zwischen SiblingMenu und Pager (keyCode ESC=27, 116) Vollbild: toggelt HTML-5 Fullscreen Api (keyCode 190, sowie F9 und F10) Fullscreen API: Unterstützung für den IE11
111 113 5.4l 06.11.2013 Layout fullscreen / Bugfixes 6. November 2013: Layout Anpassungen :fullscreen / Bugfixes:
112 114 5.4m 07.11.2013 Ajax-Partial Update: aktivator- selfRendering / tabDefEditUtils 7. November 2013: Neu: tabDefEditUtils : zwei neue Hilfsfunktionen zur Manipulation von tabDef   updateTabDefSection und   removeEmptyTabDefConditions  ajaxPartialUpdate : Wie bisher wird der Aktivator immer zuerst ausgeführt, falls nun aber das Aktivator-Control auch selbst neu gerendert werden soll, dann wird nun zuerst der Aktivator separat ausgeführt, jedoch hier noch nicht gerendert. In einer zweiten Phase wird dann in einem Zyklus die neu zu rendernden Controls incl. des Activators durchlaufen. Hierdurch wird folgendes erreicht: Da der Aktivator als erstes ausgeführt wird werden zunächst alle renderConditions des Aktivators angelegt. Dieses sind dann bereits vorhanden, wenn der Aktivator in der zweiten Renderphase durchlaufen wird und somit wirken sich diese nun auch direkt auf den Renderprozess des aktivators aus.
113 115 5.4n 10.11.2013 Ajax-Partial Update: aktivator- selfRendering / tabDefEditUtils / specialAjaxBehaviour /onLoadAjaxPerformAction 10. November 2013: Refactoring: ___omBaseUtils : die Funktionen aus dem Modul ___omBaseUtils wurden in separate neue Module bzw. in bestehende verteilt. Hierdurch konnte eine weitere Performance-Optimierung erzielt werden. omBaseUtilsCachedCore : Der sich ursprünglich im Modul "___omBaseUtils" befindliche Import via using('omBaseUtilsCachedCore') ist hiermit in die Initilisierungsmodule von ullia gewandert. specialAjaxBehaviour : Seitenspezifische optionale Javascript-Funktion welche nach jedem ajax-Response aufgerufen wird, falls diese definiert ist. onLoadAjaxPerformAction : Default-Ajax-Action welche nach einem onload durchgeführt wird.
114 116 5.4o 24.11.2013 sql_parse / sqlQuery / sql_find_dsn_by_tab 24. November 2013: Neu: sqlQuery : simpler Parser für einfache SQL Syntax zur Selektion von Spalten und Zeilen einer einzelnen Tabelle. Unterstüzt SELECT TOP 6 STARTAT 4 * FROM table WHERE colName=text ORDERBY columnX DESC sql_find_dsn_by_tab: Datenbank dsn einer gegebenen Tabelle finden sql_parse: SQL-Querystring in seine Bestandteile zerlegen Schlüsselworte : SELECT TOP STARTAT FROM WHERE ORDERBY DESC,ASC Kurzform: SELECT test   entspricht SELECT * FROM test DB-System Commands: select * from sqlstore.usertables
115 117 5.4p 25.11.2013 useSSL / ORDERBY: type specific / DISTINCT 25. November 2013: Neu: useSSL=true/false : Durch Eingabe eines Wert != 'true' kann das Erzwingen von HTTPS bei Seiten welche SSL forcieren verhindert werden. Wofür soll das gut sein? Wenn technische Probleme auftreten Zum Performance-Vergleich zwischen http und https 27. November 2013: 5.4p/2 ORDERBY beachtet nun auch den type des Datensatzes (numeric / text) 28. November 2013: 5.4p/3 DISTINCT : Implementation welche auf die erste SELECT-Spalte wirkt. Das Konzept ist dahingehend ausbaufähig dass auch die Vereinigung weiterer Spalten als unique angegeben werden könnte. Durch eine ggf. ullia-spezifische Syntax wäre es auch denkbar eine DISTINCT / Unique Abfrage auf Spalten zu formulieren welche nicht im Select vorkommen. Beispiel für ein SQL SELECT DISTINCT TOP 400 START AT 3 Artikelname,Preis,Warengruppe,Verkaufsfoerderung FROM articleList ORDERBY Preis,Warengruppe,Verkaufsfoerderung DESC
116 118 5.4q 01.12.2013 neuer colDef-Type: priorPlainContainer / neue colDef-Option Spalte description / change:customRendering 01. Dezember 2013: Neu: priorPlainContainer : Der Container eignet sich zum aufnehmen von customRender Controls. Eine Beispile für eine Verwendung ist bei radio-buttons gegeben: Wenn alle input type="radio" -Elemente in diesen Container gelegt werden, die zugehörenden label-for Elemente jedoch an ihrem Ursprungsort bleiben dann kann via css-Regel in Abhängigkeit vom :checked -Status das Label verschieden dargestellt werden. Weiteres Beispiel: Collapsibles ohne Javascript. description : Neue optionale Spalte zum Beschreiben von Spalten Change: customRendering : per customRendering wird nun per checkbox zwischen den Kombinatione CTL und LBL unterschieden. Hiermit bewirkt CTL in Verbindung mit dem neuen prioPlainContainer ein rendern vor allen generierten Controls 
117 119 5.4r 04.12.2013 history_api / appearance 04. Dezember 2013: Neu: HTML5 history api history_api.js : Erste Implementierung der HTML5 History-Api Exemplarische Verwendung in keyboard-pager fire_href(href, mode) Hier wird mit die neuen funktion historyApi_urlPush (href) aufgrufen, falls ein call gegen get_ajaxHrefTransitionContent erfolgreich war. Die Erstimplementierung setzt bei Browser-Back etc. die via historyApi_pop zurückgebene URL via window.location, was dann zu einem normalen Get-Request wird. Neue CSS3 Eigenschaft appearance : Diese bewirkt dass ein Control so aussehen kann wie ein anderes, ohne jedoch dass das Verhalten (behaviour) geändert wird. Da diese Eigenschaft noch nicht in allen Browser direkt unterstützt wird, rendert der Ullia Stylecompiler im ausgelieferten CSS clientspezifische Vendor-Präfixe hierzu.
118 120 5.4s 09.12.2013 templateChooser / SQL-WHERE unterstützt nun sysStateKeyVal_ 09. Dezember 2013: Neu: templateChooser component_templateChooser : Mit der neuen Komponente ist es nun möglich radioList und checkboxList individuell zu gestalten. Hierzu wird als dataProvider unter der Option data ein SELECT-Statement angegeben. Hierüber werden die zugehörenden ROW's adressiert welche dann mit dem unter dataOptions angegebenen listTemplate gerendert werden. Die einzelnen Werte der ROW's sind in einer Hash-Map unter dem Spaltennamen hinterlegt. Die Hash-Map enthält noch die folgenden System-Werte: Systemwerte der templateChooser-Hash-Map: [=-CTRL-=]     (das einzelne Control: radio oder checkbox [=-CTRL_ID-=] (die id des Controls, kann zur Verlinkung des controls von einem label verwendet werden. [=-idx-=] [=-idxM1-=] [=-idxP1-=] [=-idxP1-=] SQL-WHERE : Unterstützung von sysStateKeyVal_ Name_ VAL
119 121 5.4t 16.12.2013 buttonSelector via SQL & ajax unterstützt listTemplate 16. Dezember 2013: Erweiterung: buttonSelector buttonSelector : Der buttonSelector kann nun analog der radioList verwendet werden. Somit ist es möglich auch ohne Javascript eine Auswahlliste zu erzeugen, welche Statusänderungen mit einem Klick durchführt. Um das Programmiererleben weiter zu vereinfachen wird nun bei buttons (imput type=submit) das event_onChange- automatisch auf das event_onClick- abgebildet.
120 122 5.4u 04.01.2014 Performance / Refactoring / Erweiterung / Layout 21. Dezember 2013: Performance SELECT CACHED : Der SQL Dataprovider SELECT unterstützt nun das Speichern von Query-Results. Hierzu wird einfach das Schlüsselwort CACHED direkt nach dem Schlüsselwort SELECT angegeben. Für eine spätere Implementierung ist auch noch eine Cache-Haltedauer vorstellbar (EXPIRY) Neu: getUniqueTempFile : Neue Hilfsfunktion zum Erzeugen eines eindeutigen temporären Dateinamens. Verwendet u.A. uniqid mit der Option more_entropy. Neu: IsLogFileCacheName : Hilfsfunktion zum Prüfen ob ein temporärer Datei-Pfad-Name zum Exception-Log gehört. SQL_parser: Neu Query-Optimizer eleminiert überflüssige WHERE Statementes Refactoring Einheitliche Generierung von ID's über die bereits vorhandene Funktion getFieldId Recursive Generierung von Control-Name, hiermit werden beliebig oft verschachtelte Formulare unterstützt toCsvValue : konvertiert array in csv-Liste, strings werden unverändert zurückgeliefert. Optional: Ausgabe einer Fehlermeldung, falls ein Array eingegeben wurde. Die Funktion ersetzt auch die ehemalige funktion getArrayToValue. Erweiterungen buttonSelector unterstützt nun auch die Daten-Option multiple . Hiermit stehen Mehrfachauswahlen für Web-Apps zur Verfügung die ohne Javascript auskommen können. selectedToggler : CSS-Class zur Massenumschaltung von checkboxListen . Funktionsweise: Wenn alle checkboxen selektiert sind dann werden alle ausgeschaltet, ansonsten eingeschaltet. onSearch : neues EventHandler-HTML5 Event für Suchfelder (input type="search"). Das Event wird beim Betätigen der Enter-Taste oder durch das Löschen des Inhalts mit dem "Lösch-Kreuz" (Browser-spezifisch) ausgelöst. SQL: WHERE-Syntax erweitert: [IN+] und [EQ+] findet auch wenn der Such-Operant leer ist, [LIKE+] durchsucht die komplette Datenzeile, [LIKE] operiert nur auf den selektierten Spalten. Die [IN]-Operatoren akzeptieren Semikolon-Separierte Werte u_show_sql_statement : Anzeige des berechneten SQL-Statements (WebMaster-Only) Seiten-Type dataTableList unterstützt nun auch den SQL-Dataprovider . Hiermit könen nun sehr einfach Warengruppen-Seiten für Shops realisiert werden. Beispiel: SELECT * FROM ProductCatalog WHERE ProductGroup IN gloves;postcards ORDERBY ArticleName Layout buttonSelector css-styles: elliptical, rectangular, tabControl, linkButton