Project @ iMath: Issueshttps://project.math.uzh.ch/https://project.math.uzh.ch/favicon.ico?16668783892024-03-03T22:20:55ZProject @ iMath
Redmine QFQ - Feature #18047 (New): (filepond) uploadType: a) report invalid value, b) change v1/v2 to 1/...https://project.math.uzh.ch/issues/180472024-03-03T22:20:55ZCarsten Rosecarsten.rose@math.uzh.ch
<p>FormElement.paramter.uploadType:</p>
<p>a) report invalid value</p>
<p>Wird ein ungueltiger Wert konfiguriert, sollte es eine Fehlermeldung geben - aktuell funktioniert das Upload Element dann nicht - aber es gibt keine Fehlermeldung.</p>
<p>b) change v1/v2 to 1/2</p>
<p>Ich wuerde vorschlagen wir nennen die Typen nicht v1/v2 sondern einfach 1/2. Grund: keep it simpel.</p>
<p>Sicher werden wir auch Beispiele finden an denen 'v..' angibt, aber meiner Wahrnehmung nach ist meistens kein 'v' angegeben:</p>
<p><img src="https://project.math.uzh.ch/attachments/download/9395/clipboard-202403032310-ira1s.png" alt="" /></p>
<p><img src="https://project.math.uzh.ch/attachments/download/9394/clipboard-202403032309-befkx.png" alt="" /></p>
<p>c) Im CodeMirror fehlen scheinbar ein paar Keywords fileSplit, tableNameSplit, uploadType - koenntest du die mit aufnehmen? Elias sollte eine Doku geschrieben haben wo das zu machen ist.</p>
<p><img src="https://project.math.uzh.ch/attachments/download/9400/clipboard-202403032320-priqn.png" alt="" /></p> QFQ - Bug #17656 (New): Browser: regexp Pattern Match broken/error inhttps://project.math.uzh.ch/issues/176562024-01-19T13:30:07ZCarsten Rosecarsten.rose@math.uzh.ch
<p>QFQ 23.6.4</p>
<p>Auf der Forkred Seite im Passwort Reset Form gibt es in der Console die folgende Fehlermeldung</p>
<p><img src="https://project.math.uzh.ch/attachments/download/9048/clipboard-202401191424-dqr2g.png" alt="" /></p>
<p>Die Fehler Meldung zu der Regexp habe ich bei QFQ in JS Konsole schon häufiger gesehen - wird vermutlich allgmeines Problem sein, nicht formspezifisch.</p> QFQ - Feature #17523 (New): QFQ-Test-Application - Setup based on CR QFQ Instanzhttps://project.math.uzh.ch/issues/175232023-12-28T15:40:15ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Wird aktuell fuer webwork20 implementiert</li>
<li>Sollte bald auf webwork22 migriert werden (neues PHP, mariabd)</li>
<li>Aus diesem Setup bekommt jeder Developer seine QFQ Instanz</li>
<li>Entwickelt ein Developer etwas neues und sollte das als Beispiel in die 'QFQ-Test-Application' aufgenommen werden, so muss der Developer das machen.</li>
<li>Die Selenium Tests basieren auf dieser QFQ-Test-Application .</li>
</ul> QFQ - Feature #16350 (Closed): a) FormSubmiLog: update recordid after insert. b) sql.log: referen...https://project.math.uzh.ch/issues/163502023-06-03T09:14:49ZCarsten Rosecarsten.rose@math.uzh.ch
<p>a) FormSubmiLog: update recordid after insert.</p>
<ul>
<li>Aktuell steht in der Spalte 'recordId' bei Insert immer ein 0.</li>
<li>Gut waere wenn dort die neu angelegt ID stehen wuerde.</li>
<li>ACHTUNG: Im Mode LOG_MODIFY sollten INSERT/UPDATE fuer die Tabelle FormSubmitLog NICHT geloggt werden.</li>
</ul>
<p>b) sql.log: reference to FormSubmitLog entry</p>
<ul>
<li>Im sql.log fuer jede Query die Referenz angegeben auf den FormSubmitLog Record.</li>
</ul>
<p>c) Do not log Dirty</p>
<ul>
<li>Neu: Im Mode LOG_MODIFY sollten INSERT/UPDATE/DELETE fuer die Tabelle Dirty NICHT geloggt werden.</li>
</ul>
<p>d) REMOTE_ADDRESS / HTTP_X_REAL_IP</p>
<ul>
<li>Die I-MATH Homepage ist hinter einem Proxy.</li>
<li>Der Wert von $_SERVER[REMOTE_ADDRESS] ist daher immer die IP des Proxy</li>
<li>Das ist schlecht fuer
<ul>
<li>FormSubmitLog, denn dort wird die REMOTE_ADDRESS geloggt.</li>
<li>Fuer die Dirty Table, denn auch dort wird die REMOTE_ADDRESS geloggt.</li>
<li>QFQ Applikationen, die gerne wuessten von wo der aktuelle Aufruf kam.</li>
</ul></li>
</ul>
<ul>
<li>Der verwendete NGINX Proxy setzt die Server Variable HTTP_X_REAL_IP.</li>
<li>Falls HTTP_X_REAL_IP gesetzt ist, soll diese den Wert von REMOTE_ADDRESS ueberschreiben</li>
</ul> QFQ - Feature #15413 (New): '... AS _monitor': line wrap, search, select text, syntax highlighthttps://project.math.uzh.ch/issues/154132023-01-22T10:02:48ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Via '... AS _monitor' (<a class="external" href="http://docs.qfq.io/en/master/Report.html#monitor">http://docs.qfq.io/en/master/Report.html#monitor</a>) koennen Logfiles in Echtzeit angezeigt werden.<br />Die aktuelle Loesung ist sehr rudimentaer.</p>
<ul>
<li>Es wird einmal pro Sekunde gepollt (neue Vesion wird vom Server geholt).</li>
<li>Dabei geht der aktuell selektierte Text verloren. Ggfs. von 'pull' auf 'push' umstellen (websocket).</li>
<li>Andere Moeglichkeit: Button Refresh / Autorefresch (1s, 10s,..)</li>
<li>Syntax Highlight waere gut (CodeMirror im Readonly mode? Oder etwas anderes)</li>
<li>Line Wrap, so dass man nicht nach rechts scrollen muss. Falls Code Mirror verwendet wird</li>
</ul>
<p>Gitlab hat eine sehr gute/funktionale Implementierung:<br /><img src="https://project.math.uzh.ch/attachments/download/7186/clipboard-202301221102-wqoqc.png" alt="" /></p> QFQ - Bug #15193 (Closed): 22.12.0: No form found with this id: '316' Expected at least one row, ...https://project.math.uzh.ch/issues/151932022-12-14T21:28:08ZCarsten Rosecarsten.rose@math.uzh.ch
<p><img src="https://project.math.uzh.ch/attachments/download/7036/clipboard-202212142227-3khiu.png" alt="" /><br />...<br /><img src="https://project.math.uzh.ch/attachments/download/7037/clipboard-202212142227-idyr5.png" alt="" /></p>
<p>2022.12.14 22:24:03 +0100, Reference: 639a3ef33f165</p>
<p>No form found with this id: '316' Expected at least one row, got none</p>
<p>Debug<br />Edit <br />FE column Set language<br />toUser No form found with this id: '316' Expected at least one row, got none<br />Report level key <br />messageDebug <br />Type Db Exception<br />SQL before evaluation 250<br />SQL final SELECT tableName FROM Form WHERE id=316<br />SQL Params array ()<br />current sip array (<br />'__dbIndexData' => '1',<br />'form' => 'anstellung',<br />'r' => '1',<br />'s' => '639a3e4fd657f',<br />'urlparam' => '__dbIndexData=1&form=anstellung&r=1',<br />)<br />Page Id 226<br />Content Id 505<br />FE User crose<br />FE User STORE_USER <br />support <br /> Show/hide more details<br />Details<br />File /var/www/html/my/typo3conf/ext/qfq/Classes/Core/Database/Database.php<br />Line 271<br />CWD /var/www/html/my/typo3conf/ext/qfq/Classes/Api<br />IP Address 192.168.133.203<br />Stacktrace #0 /var/www/html/my/typo3conf/ext/qfq/Classes/Core/Database/Database.php(1181): IMATHUZH\Qfq\Core\Database\Database->sql('SELECT tableNam...', 'expect_ge_1', Array, 'No form found w...')<br />#1 /var/www/html/my/typo3conf/ext/qfq/Classes/Core/AbstractBuildForm.php(841): IMATHUZH\Qfq\Core\Database\Database->getTableNameById(316)<br />#2 /var/www/html/my/typo3conf/ext/qfq/Classes/Core/AbstractBuildForm.php(372): IMATHUZH\Qfq\Core\AbstractBuildForm->elements('1', 'native_subrecor...', 0, Array, 'flagAll', false, 'RD', 'form_save')<br />#3 /var/www/html/my/typo3conf/ext/qfq/Classes/Core/BuildFormBootstrap.php(967): IMATHUZH\Qfq\Core\AbstractBuildForm->process('form_save', false, Array)<br />#4 /var/www/html/my/typo3conf/ext/qfq/Classes/Core/QuickFormQuery.php(628): IMATHUZH\Qfq\Core\BuildFormBootstrap->process('form_save', false, Array)<br />#5 /var/www/html/my/typo3conf/ext/qfq/Classes/Core/QuickFormQuery.php(1851): IMATHUZH\Qfq\Core\QuickFormQuery->doForm('form_save')<br />#6 /var/www/html/my/typo3conf/ext/qfq/Classes/Api/save.php(58): IMATHUZH\Qfq\Core\QuickFormQuery->saveForm()</p> QFQ - Bug #15188 (Closed): After QFQ update config brokenhttps://project.math.uzh.ch/issues/151882022-12-13T20:47:35ZCarsten Rosecarsten.rose@math.uzh.ch
<p>After updating to QFQ 22.12.0, QFQ constant reports `double definition of custom var detected`.</p> QFQ - Bug #13933 (Closed): 'please reload the previous site and try again': report IP address and...https://project.math.uzh.ch/issues/139332022-03-21T12:11:38ZCarsten Rosecarsten.rose@math.uzh.ch
<pre>
UniqId:: 6238596b49256
------------------------------------------------
toUser:: SIP '623744f6d9675' not registered - please reload the previous site and try again.
Timestamp:: 2022.03.21 11:54:35 +0100
Code:: 1013
Message:: SIP '623744f6d9675' not registered - please reload the previous site and try again.
File:: /var/www/html/semlive/typo3conf/ext/qfq/Classes/Core/Store/Sip.php
Line:: 350
CWD:: /var/www/html/semlive
Stacktrace::
#0 /var/www/html/semlive/typo3conf/ext/qfq/Classes/Core/Store/Store.php(407): IMATHUZH\Qfq\Core\Store\Sip->getVarsFromSip('623744f6d9675')
#1 /var/www/html/semlive/typo3conf/ext/qfq/Classes/Core/Store/Store.php(174): IMATHUZH\Qfq\Core\Store\Store::fillStoreSip()
#2 /var/www/html/semlive/typo3conf/ext/qfq/Classes/Core/Store/Store.php(230): IMATHUZH\Qfq\Core\Store\Store->__construct('1.sql = SELECT ...', '')
#3 /var/www/html/semlive/typo3conf/ext/qfq/Classes/Core/QuickFormQuery.php(166): IMATHUZH\Qfq\Core\Store\Store::getInstance('1.sql = SELECT ...', false)
#4 /var/www/html/semlive/typo3conf/ext/qfq/Classes/Controller/QfqController.php(45): IMATHUZH\Qfq\Core\QuickFormQuery->__construct(Array)
</pre>
<ul>
<li>Bitte in der Fehlermeldung auch die aktuelle IP Adresse und (wenn vorhanden) einen eingeloggten FE-User anzeigen.</li>
</ul> QFQ - Feature #12544 (ToDo): a) '... AS _link' new also as '... AS _type', b) sortierung via 'di...https://project.math.uzh.ch/issues/125442021-05-13T10:20:38ZCarsten Rosecarsten.rose@math.uzh.ch
<a name="a-AS-_link-new-also-as-AS-_format"></a>
<h2 >(a) '... AS _link' new also as '... AS _format'<a href="#a-AS-_link-new-also-as-AS-_format" class="wiki-anchor">¶</a></h2>
<ul>
<li>'_f' steht fuer 'format' - damit sollte auch klar sein das Links und andere Funktionen moeglich sind.</li>
<li>Es gibt einige '_link' Funktionen, die keinen Link erzeugen - da passt dann die Bezeichnung nicht.</li>
<li>Auch moeglich Variablen: <code>{{ ... AS _f}}</code></li>
</ul>
<p>Feature wurde von PG,BB angenommen.</p>
<a name="b-Sortierung-via-display-none"></a>
<h2 >(b) Sortierung via 'display: none;'<a href="#b-Sortierung-via-display-none" class="wiki-anchor">¶</a></h2>
<ul>
<li>Mitunter sollen in Tabellen Spalten sortiert werdens. Wenn nur Grafiken in <img> Tags angezeigt werden, funktioniert die Sortierung nicht.</li>
<li>Loesung: neu kann ein 'hidden' Text angegeben werden. Dieser Text wird dann an dan Anfang gestellt: </li>
<li>Token: 'h' - h:hidden-text (sum sortieren)<br /><pre>
<span style="display: none;">some hidden text</span>
<span class='hidden'>some hidden text</span>
</pre></li>
</ul>
<a name="c-_format-benoetigt-nicht-zwingend-uUpmzd"></a>
<h2 >(c) '_format' benoetigt nicht zwingend u/U/p/m/z/d<a href="#c-_format-benoetigt-nicht-zwingend-uUpmzd" class="wiki-anchor">¶</a></h2>
<ul>
<li>Das neue `... AS _format` benoetigt keinen Link (u/U/p/m/z/d)</li>
<li>Damit kann viel Funktionalitaet an anderen Stellen genutzt werden.</li>
</ul> QFQ - Feature #12412 (New): Action/Escape qualifier 'e' (empty), '0': if given, an empty string (...https://project.math.uzh.ch/issues/124122021-04-20T11:55:30ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Damit Verhalten sich leere Strings oder '0' als wenn sie in dem Store nicht gefunden wurden.</p>
<p>Bsp.: `{{fe_users.email:T::e:<a class="email" href="mailto:support@math.uzh.ch">support@math.uzh.ch</a>}}` liefert die Emailadresse des gerade eingeloggten T3 FE Users. Falls keine Emailadrese hinterlegt ist, greift der Default</p> QFQ - Support #12331 (Rejected): Dynamic Update: ReadOnly input handled correctly during save?https://project.math.uzh.ch/issues/123312021-04-07T08:37:33ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Via Dynamic Update steuert ein FE a den Value von FE b. </li>
<li>FE b ist ReadOnly.</li>
<li>Check ob der Value von FE b gespeichert wird (processReadOnly=1 ist gesetzt).</li>
</ul> QFQ - Feature #12119 (New): AS paged: error message missing if there ist no 'r' argument.https://project.math.uzh.ch/issues/121192021-03-09T15:33:37ZCarsten Rosecarsten.rose@math.uzh.ch
<pre>
good: CONCAT('U:form=notiz_template&r=', n.id) AS _paged
bad: CONCAT('U:form=notiz_template&rXYZ=', n.id) AS _paged
</pre><br />evtl. sollte auch r=0 als fehler gemelder werden QFQ - Feature #12038 (New): a) STORE_VAR: filenameOnlyStripUniq, b) SP: QSTRIPUNIQ()https://project.math.uzh.ch/issues/120382021-02-17T22:48:09ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Regelmaessig sollen Dateien hochgeladen werden, bei denen es keinen Konflikt geben darf wenn bereits eine Datei mit dem Namen existiert.</p>
<p>Ein gute Loesung ist die ID des aktuellen Records an den Anfang der Datei zu setzen. Bsp.: aus `test.pdf` wird dann `1234.test.pdf`</p>
<p>Via SQL ist es aufwendig den String zu parsen:</p>
<ul>
<li>Cut Path, so dass nur noch der Filename uebrig ist.</li>
<li>Dann z.B. vom Anfang bis zum ersten Punkt alles abschneiden.</li>
</ul>
<p>Wunsch:</p>
<p>a) Im STORE_VAR eine neue Variable `filenameOnlyStripUniq` einfuehren die geanu das macht.<br />b) Eine neue Stored Procedure <abbr title="">QSTRIPUNIQ</abbr>() anlegen die genau das macht (kann in Report verwednet werden)</p> QFQ - Support #11926 (Closed): Anmerkungen zu FormAsFilehttps://project.math.uzh.ch/issues/119262021-01-31T19:46:23ZCarsten Rosecarsten.rose@math.uzh.ch
<a name="Unit-Tests"></a>
<h2 >Unit Tests<a href="#Unit-Tests" class="wiki-anchor">¶</a></h2>
<ul>
<li>Aktuell werden die Forms (waehrend der QFQ Entwicklung, nachdem ich die Unit Tests laufen gelassen habe) reproduzierbar zerstoert (webwork16/crose/qfq). Die Forms sind dann noch da, aber die FormElemente sind weg.</li>
<li>Bitte selbst oder mit mir anschauen warum das passiert.
<ul>
<li>Aktuell bekomme ich bei den Unit Tests oft die Meldung 'Please create qfq config file 'qfq.json' in the conf directory' wenn ich einzelne Testfiles laufen lassen. Lasse ich den gesamten Test laufen, tritt der Fehler nicht auf. Nach einem Full-Run laufen dann auch einzelne Files ohne Probleme.</li>
</ul></li>
</ul>
<a name="_backup"></a>
<h2 >_backup<a href="#_backup" class="wiki-anchor">¶</a></h2>
<p>Es gibt ein 'fileadmin/qfq/protectec/qfqProject/form/_backup' Verzeichnis.</p>
<ul>
<li>Bitte '_backup' umbenennen in '.backup'. Grund: Bei der Anzeige via `ls` wird '_' einsortiert zwischen Kleinbuchstaben und Grossbuchstaben (in meinem Fall mitten drin zwischen allen Forms). Beginnt der Directory Name mit '.' waere er ganz am Anfang und faellt schneller auf.</li>
</ul>
<ul>
<li>Aktuell wird beim Bakup aus `wizard.json` das File `wizard.2021-01-31_17-55-41.file.json`. Bitte so etwas nehmen wie `wizard.json.2021-01-31_17-55-41.file`. Grund: dann ist das herstellen einfacher, weil man einfach den vorderen Teil kopieren kann.</li>
</ul>
<ul>
<li>Aktuell habe ich knapp 17k Files im _backup Verzeichnis. Das haengt vermutlich mit dem ersten Problem zusammen. Bitte schauen ob die Zahl nachwievor so rasant steigt bei den Unit Tests wenn der Fehler gefixt ist.</li>
</ul> QFQ - Feature #11513 (Closed): add special column AS _scripthttps://project.math.uzh.ch/issues/115132020-11-12T22:13:51ZCarsten Rosecarsten.rose@math.uzh.chQFQ - Feature #11512 (Closed): add access to Var storehttps://project.math.uzh.ch/issues/115122020-11-12T22:05:06ZCarsten Rosecarsten.rose@math.uzh.chQFQ - Feature #10751 (Closed): accept image as source to concatenate PDFhttps://project.math.uzh.ch/issues/107512020-06-12T19:05:46ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Aktuell koennen nur PDF und webseiten zu einem PDF zusammengehangt werden.<br />Fuer das RemoteExam Tool waere es gut wenn auch jpg/png/.. zu einem PDF gemerged werden koennten</p> QFQ - Bug #9724 (Closed): 3-Point Menu: does not work on tablet/mobilehttps://project.math.uzh.ch/issues/97242019-12-06T14:26:20ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Die 3-Punkte Menus (qfq 'z|..' AS _link) scheinen Probleme auf Tablets zu haben.</li>
<li>Die Menus werden korrekt angezeigt, bei Touch gehen sie auf, wenn man ein Element anwaehlt gehen sie wieder zu, aber es wir nichts ausgewaehlt.
<ul>
<li>iOS: Safari, Chrome</li>
<li>Android: Chrome, Firefox</li>
</ul></li>
</ul>
<ul>
<li>Der Effekt tritt nicht auf unter Windows auf einem Notebook via Touchbedienung</li>
</ul>
<p>Beobachted unter:</p>
<ul>
<li>join.lszgs.uzh.ch > Programm Admin > Applications (links unter der Navigation)</li>
<li>forkred.uzh.ch > Suche: 5309 > ...</li>
</ul> QFQ - Support #9359 (Closed): Alert & tablesorter sticky: header remains brighthttps://project.math.uzh.ch/issues/93592019-10-14T11:25:16ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Wird ein Alert geoeffnet und gibt es eine Tabelle mit tablesorter und aktiven stiky, wird der sticky Bereich nicht abgedunkelt, so wie beim Rest.</li>
<li>z-index setzen?</li>
</ul> QFQ - Bug #8601 (Rejected): After PSR4 migration: autocron.php can't be loadedhttps://project.math.uzh.ch/issues/86012019-06-22T01:22:08ZCarsten Rosecarsten.rose@math.uzh.ch
<p>PHP Fatal error: Uncaught Error: Class 'IMATHUZH\Qfq\Core\External\AutoCron' not found in /var/www/html/preview/typo3conf/ext/qfq/Classes/External/autocron.php:36<br />Stack trace:<br />#0 {main}<br /> thrown in /var/www/html/preview/typo3conf/ext/qfq/Classes/External/autocron.php on line 36</p> QFQ - Feature #7864 (Closed): 'FE.mode=required' & 'formModeGlobal=requiredOff' >> still indicate...https://project.math.uzh.ch/issues/78642019-02-12T21:35:20ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Wird ein Form aufgerufen mit dem SIP Parameter 'formModeGlobal=requiredOff' werden alle FE mit mode=required dargestellt mit mode=show (das required also temporaer deaktiviert).</li>
<li>Damit der User trotzdem weiss das die Felder 'required' sind, waere es gut das der Stern trotzdem dargestellt wird, auch wenn er in dem Moment keinen Einfluss hat.</li>
</ul> QFQ - Bug #7404 (Rejected): 'Record Lock' on timeout forbids savehttps://project.math.uzh.ch/issues/74042018-12-02T10:43:00ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Wird ein Record bearbeitet und dauert das laenger als der PHP/Session Timeout und drueckt man dann save(), so ist kein speichern moeglich.</p> QFQ - Bug #7101 (Some day maybe): 'form' in SIP and 'report' - breakshttps://project.math.uzh.ch/issues/71012018-10-27T08:47:43ZCarsten Rosecarsten.rose@math.uzh.ch
<p>falls in der SIP ein form ist und um qfq record ein form defineirt ist (wrid dynamisch berechnet) kommt qfq beim defintinve laden des form durcheinander.</p> QFQ - Bug #7044 (Closed): Alert 'really delete?' might lock while browser tabhttps://project.math.uzh.ch/issues/70442018-10-19T07:22:52ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Reproduzieren (es ist 99% deterministisch)</p>
<ul>
<li><a class="external" href="http://webwork16.math.uzh.ch/crose/qfq/index.php?id=1">http://webwork16.math.uzh.ch/crose/qfq/index.php?id=1</a></li>
<li>Den ersten Button 'aa' aufrufen (Personenmaske mit 2 Uploads)</li>
<li>Schleife:
<ul>
<li>Upload (Picture) loeschen</li>
<li>Speichen (Form bleibt offen)</li>
<li>Neue Datei (Picture) auswaehlen</li>
<li>Upload (Picture) loeschen -- hier bleibt der Tab oft schon locked.</li>
</ul></li>
</ul> QFQ - Feature #6233 (Closed): Alert 'Form incomplete' - stays until click - auto disappear would ...https://project.math.uzh.ch/issues/62332018-06-14T11:48:36ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Wird ein Required Element nicht ausgefuellt und speichert der User, erscheint der Alert 'Form incomplete'.</li>
<li>Der Alert hat kein Timeout - es waere gut wenn er einen haette.</li>
</ul> QFQ - Feature #5978 (Closed): 1) New store: User, 2) new special column name: _setValueUserhttps://project.math.uzh.ch/issues/59782018-05-09T08:26:04ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Es soll einen neuen Store geben: STORE_USER (U)</li>
<li>Dieser Store bleibt gefuellt, solange die PHP Session existiert.</li>
<li>Anfaenglich ist der Store leer.</li>
<li>Es soll eine neue 'specialColumnName' geben: _setValueUser</li>
<li>via SELECT '<key>:<value>' kann in diesen Store geschrieben werden. </li>
<li>via '{{<key>:U}}' kann aus diesem Store gelesen werden</li>
<li>Ob es sinnvoll ist, das die config.qfq.ini 'fillStoreSystemSql?' in diesen Store schreiben koennen muss noch angeschaut werden.</li>
<li>Sinn dieses Stores ist es, Variablen zur Laufzeit der Session, speichern und abrufen zu koennen.</li>
</ul> QFQ - Feature #5942 (Priorize): 'L' and 'type': append to links, generate via '_link' by using 'u...https://project.math.uzh.ch/issues/59422018-05-07T10:58:06ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Falls ein 'L' oder 'type' als GET auf der aktuellen Seite gesetzt ist, sollten diese Werte in allen 'internen' QFQ Links gesetzt werden.</li>
<li>bei 'U:' passiert das vermutlich auch (verifizieren)</li>
<li>beu 'u:' ist das vermutlich bisher ausgeschaltet.</li>
</ul>
Idee
<ul>
<li>Ist ein 'u' Parameter angegeben: check ob vor dem '?' nichts steht (oder index.php) - dann ist es eine lokale URL und die Parameter sollten ebenfalls angehaengt werden.</li>
</ul>
<p>Siehe auch: Support::appendTypo3ParamToUrl()</p> QFQ - Feature #5891 (Rejected): After logout: destroy sip storehttps://project.math.uzh.ch/issues/58912018-05-01T12:59:44ZCarsten Rosecarsten.rose@math.uzh.chQFQ - Bug #5768 (Some day maybe): '{{pageLanguage:T}}' missing if QFQ is called via api https://project.math.uzh.ch/issues/57682018-03-30T08:08:18ZCarsten Rosecarsten.rose@math.uzh.ch
<p>save() und download() haben keine Zugriff auf {{pageLanguage}}.</p>
<p>Das sollte gesetzt werden wie feUser und feGroup.</p> QFQ - Feature #5131 (New): Activate Spin Gear ('wait/busy' indicator) via LINK attributehttps://project.math.uzh.ch/issues/51312017-12-16T20:41:30ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Pages die z.B. Mails mit Attachments versenden benoetigen teilweise etliche Sekunden.</p>
<p>Es waere gut wenn man in der Zeit das 'spinning gear' wie beim 'download' Link anzeigen koennte.</p> QFQ - Bug #4441 (Some day maybe): $_SERVER Vars sollten nur aus dem Store genommen werden - Code ...https://project.math.uzh.ch/issues/44412017-09-09T14:34:35ZCarsten Rosecarsten.rose@math.uzh.chQFQ - Feature #4196 (Closed): AJAX: 'element-update' does not work for 'value'https://project.math.uzh.ch/issues/41962017-08-12T13:19:00ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>skype call with RO to discuss.</li>
</ul> QFQ - Support #4184 (Closed): addtitional parameter for dirty.php / delete.php: recordHashMd5https://project.math.uzh.ch/issues/41842017-08-07T08:34:46ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Hallo Rafi</p>
<p>koenntest Du bitte bei Aufruf von dirty.php immer das Hidden Input Element 'recordHashMd5' mit uebergeben (als GET Parameter)?</p>
<p>Vielen Dank</p>
<p>CU<br />Carsten</p> QFQ - Bug #4092 (Some day maybe): 1) Logging verbessern wann welches FE warum ausgefuehrt wird, 2...https://project.math.uzh.ch/issues/40922017-07-11T05:28:22ZCarsten Rosecarsten.rose@math.uzh.ch
<a name="Logging-verbessern-wann-welches-FE-warum-ausgefuehrt-wird"></a>
<h1 >Logging verbessern wann welches FE warum ausgefuehrt wird<a href="#Logging-verbessern-wann-welches-FE-warum-ausgefuehrt-wird" class="wiki-anchor">¶</a></h1>
<ul>
<li>In SQL Log muss stehen welches Statement durch welches FE getriggert wird.</li>
<li>Evtl. eigenes Log fuer das abarbeiten der FE. Warum wird wann was wo gemacht. Evtl. reicht es immer nur ein Form Save zu loggen. Bsp.: aus allen FE wird das primary save gebaut. Anschliessend werden die before save und dann die after save gebaut.</li>
</ul>
<p>h2 Documentation: Best Practice Template Group</p>
<p>Schritt fuer Schritt erklaeren was beim speichen von template groups passiert und wie man das schrittweise debuggen kann. welcher logeintrag ist wo zu erwarten?</p> QFQ - Feature #4049 (Closed): '{{...}}' with default valuehttps://project.math.uzh.ch/issues/40492017-07-05T05:38:23ZCarsten Rosecarsten.rose@math.uzh.ch
<p>{{<name>:<store>:<sanatize>:<escape>:<default value>}}</p> QFQ - Support #3987 (Closed): After 'New > Close: Save=yes' - the form remains open.https://project.math.uzh.ch/issues/39872017-06-27T16:50:49ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>The behaviour is ok for 'New > Save > Edit subrecords' - cause it's not necesary to reload the current form.</li>
<li>The behaviour is bad for 'New > Close: Save=yes' - the user clicked on close but only save, no close.</li>
</ul>
<p>When <a class="issue tracker-3 status-5 priority-3 priority-high3 closed" title="Support: Client: Bei Form Submit den Status 'submit_reason=save|save,close' mitsenden (Closed)" href="https://project.math.uzh.ch/issues/3980">#3980</a> is implemented, the second sitution can be implemented by defining 'client' as response.</p> QFQ - Feature #3942 (Some day maybe): Action Elemente: neu generierte IDs via FE weitergebenhttps://project.math.uzh.ch/issues/39422017-06-21T10:00:36ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Im Formular 'importWebpassUser' (LI) werden beim Import aus dem UZH Webpass LDAP via action/afterSave 3 Records angelegt: person, account, adresse.</li>
<li>Um die neu erzeugten IDs von einem Action Element zum naechsten zu transportieren waere es gut wenn Element 2 auf die ID von Element 1 zugreifen koennte und Element 3 auf die IDs von 2 und 1.</li>
<li>SlaveIds konnten z.B. im Store Extra abgelegt werden, mit dem Feldenamen des FE.</li>
<li>Alternativ sind sie im STORE_FORM, ebenfalls unter dem Feldnamen.</li>
</ul> QFQ - Bug #3910 (Closed): 'submitButtonText' not shownhttps://project.math.uzh.ch/issues/39102017-06-14T15:14:00ZCarsten Rosecarsten.rose@math.uzh.ch
<p>The defined text (Form.parameter) with:</p>
<pre><code>submitButtonText=Save</code></pre>
<p>is not shown.</p> QFQ - Feature #3848 (Some day maybe): Antivirus check fuer Upload files in qfq?https://project.math.uzh.ch/issues/38482017-06-02T19:36:15ZCarsten Rosecarsten.rose@math.uzh.chQFQ - Support #3769 (Closed): Allow specific GET variables longer than SECURITY_GET_MAX_LENGTHhttps://project.math.uzh.ch/issues/37692017-05-20T16:41:07ZCarsten Rosecarsten.rose@math.uzh.chQFQ - Feature #3666 (Some day maybe): a) Performance Messung: mysql_real_escape_string() im Vergl...https://project.math.uzh.ch/issues/36662017-05-02T10:56:09ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Check wie gross der Performance Unterschied zwischen mysql_real_escape_string() im Vergleich zu str_replace() ist.</li>
<li>Was passiert wenn mysql_real_escape_string() mehrfach mit dem gleichen String aufgerufen wird? Bleiben bereits escape ticks so wie sie sind (nur einmal escaped)?</li>
</ul>
<ul>
<li>Falls Performance gut ist und doppeltes escapen kein Problem ist, kann mysql_real_escape_string() der neue default werden.</li>
</ul> QFQ - Feature #3567 (Some day maybe): 'Save', 'Close', 'New' als FormElementhttps://project.math.uzh.ch/issues/35672017-04-13T10:47:15ZCarsten Rosecarsten.rose@math.uzh.chQFQ - Support #3536 (Closed): a) Datum (datetime / timestamp) werden nicht angezeigt, b) Angezeig...https://project.math.uzh.ch/issues/35362017-04-09T06:49:15ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Wird eine Datum im Format 'yyyy-mm-dd hh:mm' eingegeben, wie es der Placeholder suggeriert, wird die eingabe nicht aktzeptiert.</li>
<li>Ein Timestamp im Record wird nicht angezeigt. Die eingabe ist leer, der Placeholder erscheint obwohl ein Datum angegeben ist.</li>
</ul> QFQ - Support #3183 (Closed): alnumx soll auch Umlaute enthaltenhttps://project.math.uzh.ch/issues/31832017-02-08T21:37:34ZCarsten Rosecarsten.rose@math.uzh.chQFQ - Feature #2948 (Closed): altsql, shead, stailhttps://project.math.uzh.ch/issues/29482016-12-08T12:52:09ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Entgegen dem urspruenglicen Entscheid, kein `altsql` zu implementieren soll es nun doch implementiert werden.</p>
<p>Grund: `altsql` loest 95% der Faelle sehr bequem (es muss 'nur' einmal kurz etwas ausgegen werden, falls kein Record selektiert wurde). Der urspruenglcihe Grund, kein sauberes Design zu haben (da altsql keine subqueries erlaubt) ist nicht so wichtig da die Bequemlichkeit von altsql hoeher wiegt.</p>
<ul>
<li>altsql</li>
<li>shead: wird immer ausgegeben. Vor 'head' (falls Records existtieren)</li>
<li>stail: wird immer ausgegeben. Nach 'tail' (falls Records existtieren)</li>
</ul> QFQ - Feature #2073 (Closed): 'action'-Element 'beforeDelete' kann verwendet werden um Delete For...https://project.math.uzh.ch/issues/20732016-06-02T08:22:22ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Der Event 'beforeDelete' koennte verwendet werden um abhaengige Records zu loeschen.</li>
<li>Wie der Name sagt wird er getriggert wenn der User beim aktuellen Record 'delete' drueckt.</li>
<li>Bei Report werden aktuell die URL Paramter 'table' und 'r' via SIP uebergeben. Neu koennte 'form' uebergeben werden und bei delete() werden nur '*delete' actions ausgfuehrt.</li>
<li>Rekursives loeschen ist nicht moeglich.</li>
<li>Die 'slaveId' hat beim loeschen keine Bedeutung.</li>
<li>Vermutlich moechte man nicht in jedem Form '*delete' Actinos einbauen. Formulare die Subrecords haben und nicht loeschen sollen: da sollte der Delete Button dann abgeschaltet werden.</li>
</ul> QFQ - Feature #2065 (Closed): addnupdate: Als 'action'-FormElement implementierthttps://project.math.uzh.ch/issues/20652016-05-31T21:15:23ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>addnupdate ist nun implementiert, heisst neu aber 'action'-FormElement.</li>
<li>Bitte Doku zu 'action'-FormElement anschauen und ganz am Ende des Usermanuals sind 2 Beispiele aufgefuehrt</li>
</ul> QFQ - Support #1982 (Closed): Alerts mit Frage: sollte modal seinhttps://project.math.uzh.ch/issues/19822016-05-11T13:37:35ZCarsten Rosecarsten.rose@math.uzh.ch
Bsp:
<ul>
<li>User drueckt 'close' auf einem modifizierten Form.</li>
<li>Anschliessend drueckt er 'Delete Upload'.<br />Nun sind zwei Alerts offen, mit je einer Frage.</li>
</ul> QFQ - Feature #1930 (Closed): (a) start > New Record > (b) modify > '+' & save > (c) modify > clo...https://project.math.uzh.ch/issues/19302016-04-29T12:50:54ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Von (a) einem Report oder Form aus koennen neue Records via einem Formular angelegt werden.</li>
<li>User gibt auf dem Form (b) einen neuen Record ein, klickt anschliessend '+' und 'save'</li>
<li>der User wiederholt den voherigen Schritt x mal.</li>
<li>Nach x-mal klickt er nicht mehr auf '+' sondern auf close.</li>
<li>Man wuerde nun erwarten man kommt zurueck auf (a). Der Client geht aber auf (x-1).</li>
</ul>
<p>Vorschlag: bei jedem '+' das auf einem '+' folgt, wird nichts an die Browser History angehaengt.</p> QFQ - Feature #1226 (Closed): 'report' einbauenhttps://project.math.uzh.ch/issues/12262015-10-15T12:30:43ZCarsten Rosecarsten.rose@math.uzh.ch