Project @ iMath: Issueshttps://project.math.uzh.ch/https://project.math.uzh.ch/favicon.ico?16668783892024-03-05T07:31:43ZProject @ iMath
Redmine QFQ - Support #18057 (New): {{sqlLog:Y}} returns empty string when not configuredhttps://project.math.uzh.ch/issues/180572024-03-05T07:31:43ZElias Villiger
<p>When the QFQ config for <code>sqlLog</code> (or <code>qfqLog</code>, <code>mailLog</code>) is empty, the default log directory (<code>fileadmin/protected/qfqProject/log/sql.log</code>) is used.</p>
<p>When retrieving <code>{{sqlLog:Y}}</code> from the System Store, this returns an empty string (corresponding to the config value).</p>
<p>Expected behavior: When there's no specific log path configured, I would expect it to return the default/actual path to the log file.</p>
<p>Example use case: <a class="external" href="https://docs.qfq.io/en/master/Report.html#monitor">https://docs.qfq.io/en/master/Report.html#monitor</a></p> QFQ - Support #18048 (New): Upload (filepond): FE.downloadButton missing tooltiphttps://project.math.uzh.ch/issues/180482024-03-03T22:31:55ZCarsten Rosecarsten.rose@math.uzh.ch
<p>QFQ Version 24.3.0</p>
<a name="In-v1-funktioniert-die-Anzeige-des-Tooltips"></a>
<h2 >In 'v1' funktioniert die Anzeige des Tooltips<a href="#In-v1-funktioniert-die-Anzeige-des-Tooltips" class="wiki-anchor">¶</a></h2>
<pre>
downloadButton = t:Download|o:check file
</pre>
<p><img src="https://project.math.uzh.ch/attachments/download/9401/clipboard-202403032329-8x1vp.png" alt="" /></p>
<a name="In-v2-funktioniert-die-Anzeige-des-Tooltips-nicht-nicht-als-Tooltip"></a>
<h2 >In 'v2' funktioniert die Anzeige des Tooltips nicht (nicht als Tooltip)<a href="#In-v2-funktioniert-die-Anzeige-des-Tooltips-nicht-nicht-als-Tooltip" class="wiki-anchor">¶</a></h2>
<p>Es wird der ganze Text gerendert - d.h. vermutlich werden die Angaben wie tooltip, glyphicon nicht ausgewertet. Aktuell weiss ich nicht was noch alles verwendet werden kann - am besten bei V1 nachschauen.</p>
<p><img src="https://project.math.uzh.ch/attachments/download/9402/clipboard-202403032330-ki9qk.png" alt="" /></p>
<p>Laut Doku (<a class="external" href="https://docs.qfq.io/en/master/Form.html#id14">https://docs.qfq.io/en/master/Form.html#id14</a>):</p>
<p><img src="https://project.math.uzh.ch/attachments/download/9403/clipboard-202403032331-l8bqw.png" alt="" /></p> QFQ - Support #17880 (New): QFQ Exception: a) stacktrace not in support, b) Underline SQL error https://project.math.uzh.ch/issues/178802024-02-12T19:56:47ZCarsten Rosecarsten.rose@math.uzh.ch
<p><img src="https://project.math.uzh.ch/attachments/download/9220/clipboard-202402122055-9vcu4.png" alt="" /></p> QFQ - Bug #16965 (New): Unhandled exception on SQL queryhttps://project.math.uzh.ch/issues/169652023-09-28T12:36:23ZCarsten Rosecarsten.rose@math.uzh.chQFQ - Bug #16506 (In Progress): Error sendmail failed: Umlaute in FROM ADDRESShttps://project.math.uzh.ch/issues/165062023-06-30T07:34:07ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Wenn QFQ Mails sendet und in der FROM Adresse im Realname ein Umlaut vorkommt, verweigert Oultook die Annahme.</li>
<li>QFQ anpassen das alles Felder (TO, CC, BCC, From) auch UTF8 kodiert werden.</li>
</ul>
<pre>
UniqId:: 6486fd7720bd5
------------------------------------------------
toUser:: "Error sendmail failed
support:: [cmd=/var/www/html/typo3conf/ext/qfq/Classes/External/sendEmail -f "Universitäre Lehrförderung <lehrkredit-smtp@math.uzh.ch>" -t "sabine.schneider@ds.uzh.ch" -o message-charset="utf-8" -l "/var/www/html/fileadmin/protected/log/mail.log" -u "=?UTF-8?Q?Bitte=20um=20Best=C3=A4tigung:=20=20Antrag=20Lehrkredit?=
=?UTF-8?Q?=20durch=20Frau=20Dr.=20Daniela=20Fuhrmann?=" -m "Sehr geehrte Frau/Herr Sabine Schneider
Wir möchten Sie bitten den Lehrkredit Antrag von Frau Dr. Daniela Fuhrmann zu begutachten und zu bestätigen oder abzulehnen.
Bitte loggen Sie sich dazu auf der Lehrkredit Homepage ein unter:
</pre> QFQ - Bug #16345 (ToDo): TinyMCE: size / min-height scheint in QFQ V23.3.0 nicht zu funktionierenhttps://project.math.uzh.ch/issues/163452023-06-02T15:15:54ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Bitte anschauen / fixen:</p>
<ul>
<li>TinyMCE / Codemirror</li>
<li>Gibt es eine Moeglickeit 'autogrow' zu implementieren?</li>
<li>In der Doku bei Editor (TinMCE, CodeMirror) ist gar nichts zur Groesse bechrieben (zumindest habe ich es nicht gefunden) - dort bitte dokumentieren. Ggfs. muss dann bei 'FE.typ=Text' eine Anmerkung gemacht werden falls sich die Notation unterscheidet.</li>
</ul>
<p><img src="https://project.math.uzh.ch/attachments/download/7997/clipboard-202306021607-rahke.png" alt="" /></p> QFQ - Bug #16343 (New): QFQ/GMX: smtp recjects if subject contains umlaut and is not proper encodedhttps://project.math.uzh.ch/issues/163432023-06-02T14:50:23ZCarsten Rosecarsten.rose@math.uzh.ch
<p><img src="https://project.math.uzh.ch/attachments/download/7998/clipboard-202306021647-yhc8l.png" alt="" /></p>
<p><img src="https://project.math.uzh.ch/attachments/download/7999/clipboard-202306021647-sv9ak.png" alt="" /></p> QFQ - Bug #15794 (Feedback): Tablesorter filter funktionieren nach Reload nicht mehrhttps://project.math.uzh.ch/issues/157942023-03-14T10:08:07ZNicola Chiapolini
<p>Wenn ich in meinen Filtern eine Suche eintrage funktioniert zuerst alles korrekt.</p>
<p><img src="https://project.math.uzh.ch/attachments/download/7489/screenshot1.png" alt="" /></p>
<p>Wenn ich danach aber die Seite neu Lade, verschwinden die view-saver funktionen und die Suche hat keinen Effekt mehr.<br />Das Problem scheint der unten markierte Eintrag im local storage. Wird dieser Gelöscht, funktioniert wieder alles korrekt.</p>
<p><img src="https://project.math.uzh.ch/attachments/download/7490/screenshot2.png" alt="" /></p> QFQ - Bug #14530 (New): Variables: Action 'X' does not output Type messagehttps://project.math.uzh.ch/issues/145302022-07-26T18:41:06ZNicola Chiapolini
<p>Subject says it all - makes debugging really annoying...</p>
<p><code>4.sql = SELECT "{{la_supervisr:R::X::hallo}}"</code></p>
<p>gives<br /><img src="https://project.math.uzh.ch/attachments/download/6414/clipboard-202207262040-ssmzv.png" alt="" /></p> QFQ - Bug #12974 (New): Sanitize Queries in Action-Elementshttps://project.math.uzh.ch/issues/129742021-08-31T18:29:16ZNicola Chiapolini
<p>I just waisted an hour because qfq does not complain at all if the value after <code>sqlXXX = </code> is invalid. This should not happen.</p>
<p>QFQ should never silently ignore bad input unless it has been explicitly told to.</p> QFQ - Bug #12545 (New): sql.log not created / updatedhttps://project.math.uzh.ch/issues/125452021-05-13T11:58:36ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Auf <a class="external" href="https://webwork16.math.uzh.ch/vorkurs/">https://webwork16.math.uzh.ch/vorkurs/</a> gab es kein Verzeichnis `/var/www/html/vorkurs/fileadmin/protected/log`.</li>
<li>Es gab auch keine logfiles sql.log, qfq.log, mail.log</li>
<li>Obwohl die Datei sql.log nicht existiert, sieht man in `Login > Setup > Log` immer eine Zeile (pro Sekunde neu/uberschrieben):<br /><pre>
<p><em>2021.05.13 13:55:04 +0200, Reference: 609d139857048</em></p><p>Error open &#039;fileadmin/protected/log/sql.log&#039;: fopen(fileadmin/protected/log/sql.log): failed to open stream: No such file or directory</p>
</pre></li>
<li>Wird das Verzeichnis angelegt (sollte automatisch passieren) <code>mkdir /var/www/html/vorkurs/fileadmin/protected/log; chown www-data:www-datat /var/www/html/vorkurs/fileadmin/protected/log</code> verschwindet der Fehler, die Datei sql.log ist aber trotzdem nicht da.</li>
<li>Wird eine leere Datei angelgt und ein Formular gespeichert, bleibt die Datei leer.</li>
</ul> QFQ - Bug #12513 (New): Implement server side check of maxlengthhttps://project.math.uzh.ch/issues/125132021-05-08T15:11:36ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Bei der Implementierung von <a class="issue tracker-2 status-2 priority-2 priority-default" title="Feature: TinyMCE Paste from Word & Character Count/Limit (In Progress)" href="https://project.math.uzh.ch/issues/12439">#12439</a> ist aufgefallen das es kein MaxLength Check auf der Server Seite gibt.</p>
<p>Ziel ist das ein Fehler ausgegeben wird, wenn die maximale Laenge ueberschritten ist.<br />Grund: der User muss informiert werden das seine Angaben nicht vollstaendig gespeichert werden konnten.</p> QFQ - Bug #12395 (Priorize): QFQ Function: Result two times shownhttps://project.math.uzh.ch/issues/123952021-04-16T06:35:55ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Bei QFQ-Function scheint es so zu sein, das das result set zweimal ausgegben wird wird function und sql in einem Level vorkommen:</p>
<pre>
# Individual application
70 {
function = FtgApplicationPdf(apId) => commandPdf
sql = SELECT CONCAT('p:{{pageAlias:T}}&form=ap_ftg_dekanat&r=', ap.id, '|s|b|t:<span class="badge">', ap.id, '</span>') AS _page
# Action
, CONCAT( 'z'
, CONCAT('||p:{{pageAlias:T}}&form=ap_ftg&r=', ap.id, '&formModeGlobal=requiredOff|t:Edit|s|q:Really Edit the Application?')
# , CONCAT('||{{commandPdf:R}}|b:0')
, CONCAT('||p:printview_ftg&type=1&apId=', ap.id, '|s|t:PrintView (debug)', IF({{isDev:R}}, '','|r:5'))
) AS _link
, CONCAT(p.lastName, ', ', p.firstName)
</pre><br /> QFQ - Bug #11237 (New): Radiobutton / parameter.buttonClass= btn-default - kein dirty Triggerhttps://project.math.uzh.ch/issues/112372020-09-30T16:10:08ZElias Villiger
<p>Bei Radio buttons mit buttonClass=btn btn-default wird kein dirty-Event (mehr) getriggert (d.h. Save-Button wird nicht aktiviert). Ohne class="btn" funktioniert es.</p> QFQ - Bug #10508 (New): Multi Form broken on Multi DB Instancehttps://project.math.uzh.ch/issues/105082020-05-07T18:38:54ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Aufgefallen auf der RemoteExam Seite</p> QFQ - Bug #9975 (Priorize): Dropdown Menu: 'r:3' brokenhttps://project.math.uzh.ch/issues/99752020-01-27T15:22:50ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Werden in dem Dropdown Menu Links (Menupunkte) mit '|r:3' geredent, so sind diese kaputt.</p>
<p>Der Text/Link ist zu weit links</p> QFQ - Bug #9947 (Priorize): Unwanted error message if missing 'typeAheadSqlPrefetch'https://project.math.uzh.ch/issues/99472020-01-23T12:22:57ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Hat ein Feld ein typeahead, und wird ein bestehender Record geladen und ist kein 'typeAheadSqlPrefetch' definiert: dann erscheint beim tippen 'missing typeAheadSqlPrefetch'.</p>
<p>Das macht bei key/value translation noch Sinn, bei reinen 'Value' Betrieb ist das ueberfluessig.<br /><pre>
typeAheadSql = SELECT m.location FROM Meeting AS m WHERE m.location LIKE ? GROUP BY m.location ORDER BY m.location LIMIT 40
typeAheadSqlPrefetch = SELECT m.location FROM Meeting AS m WHERE m.location LIKE ? LIMIT 1
typeAheadMinLength = 1
</pre></p> QFQ - Bug #9898 (Feedback): Formular trotz Timeout gespeicherthttps://project.math.uzh.ch/issues/98982020-01-17T09:02:45ZNicola Chiapolini
<p>In den letzten Monaten ist es schon zwei mal vorgekommen, dass ein Formular gespeichert wurde, obwohl das Frontend-Login scheinbar abgelaufen war. Scheinbar, weil ich das nur aus Hinweisen schliesse: zum Einen wurde der Report auf der "Forward URL" des Formulars nicht ausgeführt (der feuert ein weiteres UPDATE query und sendet ein E-Mail) und zum Anderen zeigt das sql.log einen neuen Login direkt nach dem speichern (vgl. unten)</p>
<p>Ich verstehe aber auch nicht wirklich, weshalb das Frontend-Login abläuft. Die Typo3 Config ist <br /><pre>
[FE][lifetime] = 0
[FE][sessionDataLifetime] = 86400
[FE][permalogin] = 0
</pre><br />und auch <code>session.gc_maxlifetime=86400</code></p>
<p>das annonymisierte SQL Log:<br /><pre>
[2020.01.16 11:45:59 +0100][130.60.95.112][FE:SHORT,Page:84,tt:171,level:40.10][UPDATE typo3_studentadmin.fe_users SET usergroup='4,1' WHERE username='SHORT' AND deleted='0' LIMIT 1]
[2020.01.16 11:45:59 +0100][130.60.95.112][FE:SHORT,Page:84,tt:171,level:40.10][Affected rows: 1]
[2020.01.16 11:48:06 +0100][130.60.95.112][FE:SHORT,form:phd_check-head][INSERT INTO Dirty (`sip`, `tableName`, `recordId`, `expire`, `recordHashMd5`, `feUser`, `qfqUserSessionCookie`, `dirtyMode`, `remoteAddress`, `created`) VALUES ( '5e203efef41d2','phd_graduation','400','2020-01-16 12:03:05','c4472b22659d70b6861455db23ca999c','SHORT','s6kua7c734irt5f2mhsi7m1k7t','exclusive','130.60.95.112','20200116114806' )]
[2020.01.16 11:48:06 +0100][130.60.95.112][FE:SHORT,form:phd_check-head][ID: 13539 - affected rows: 1]
[2020.01.16 12:03:07 +0100][130.60.95.112][FE:SHORT,form:phd_check-head][DELETE FROM Dirty WHERE id='13539' LIMIT 1]
[2020.01.16 12:03:07 +0100][130.60.95.112][FE:SHORT,form:phd_check-head][Affected rows: 1]
[2020.01.16 12:03:07 +0100][130.60.95.112][FE:SHORT,form:phd_check-head][INSERT INTO Dirty (`sip`, `tableName`, `recordId`, `expire`, `recordHashMd5`, `feUser`, `qfqUserSessionCookie`, `dirtyMode`, `remoteAddress`, `created`) VALUES ( '5e203efef41d2','phd_graduation','400','2020-01-16 12:18:06','c4472b22659d70b6861455db23ca999c','SHORT','s6kua7c734irt5f2mhsi7m1k7t','exclusive','130.60.95.112','20200116120307' )]
[2020.01.16 12:03:07 +0100][130.60.95.112][FE:SHORT,form:phd_check-head][ID: 13546 - affected rows: 1]
[2020.01.16 15:53:01 +0100][130.60.95.112][FE:SHORT,form:phd_check-head][DELETE FROM Dirty WHERE id='13546' LIMIT 1]
[2020.01.16 15:53:01 +0100][130.60.95.112][FE:SHORT,form:phd_check-head][Affected rows: 1]
[2020.01.16 15:53:01 +0100][130.60.95.112][FE:SHORT,form:phd_check-head][INSERT INTO Dirty (`sip`, `tableName`, `recordId`, `expire`, `recordHashMd5`, `feUser`, `qfqUserSessionCookie`, `dirtyMode`, `remoteAddress`, `created`) VALUES ( '5e203efef41d2','phd_graduation','400','2020-01-16 16:08:00','c4472b22659d70b6861455db23ca999c','SHORT','s6kua7c734irt5f2mhsi7m1k7t','exclusive','130.60.95.112','20200116155301' )]
[2020.01.16 15:53:01 +0100][130.60.95.112][FE:SHORT,form:phd_check-head][ID: 13574 - affected rows: 1]
[2020.01.16 15:55:46 +0100][130.60.95.112][FE:SHORT,Page:19,tt:48,form:phd_check-head][DELETE FROM Dirty WHERE id='13574' LIMIT 1]
[2020.01.16 15:55:46 +0100][130.60.95.112][FE:SHORT,Page:19,tt:48,form:phd_check-head][Affected rows: 1]
[2020.01.16 15:55:46 +0100][130.60.95.112][FE:SHORT,Page:19,tt:48,form:phd_check-head][INSERT INTO FormSubmitLog (formData, sipData, clientIp, feUser, userAgent, formId, recordId, pageId, sessionId, created)VALUES ('{"email":"","username":"","password":"","recordHashMd5":"c4472b22659d70b6861455db23ca999c","nodb_check-student-400":"1","nodb_check-committee-400":"1","nodb_student-info-400":"STUDENT","colloquium_start-400":"2020-03-05 15:00","colloquium_duration-400":"01:00","colloquium_place-400":"WAD P106a","disputation_start-400":"2020-03-05 16:00","disputation_duration-400":"01:00","disputation_place-400":"WAD P106a","_sipForTypo3Vars":"5e203efef412a"}', '{"__dbIndexData":"1","check_head_done":"2020-01-16 11:46:22","form":"phd_check-head","r":"400","s":"5e203efef41d2","urlparam":"__dbIndexData=1&check_head_done=2020-01-16 11:46:22&form=phd_check-head&r=400"}', '130.60.95.112', 'SHORT', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36', '1002', '400', '19', 's6kua7c734irt5f2mhsi7m1k7t', NOW())]
[2020.01.16 15:55:46 +0100][130.60.95.112][FE:SHORT,Page:19,tt:48,form:phd_check-head][ID: 31466 - affected rows: 1]
[2020.01.16 15:55:46 +0100][130.60.95.112][FE:SHORT,Page:19,tt:48,form:phd_check-head][UPDATE `phd_graduation` SET `check_head_done` = '2020-01-16 11:46:22', `colloquium_start` = '2020-03-05 15:00', `colloquium_duration` = '01:00', `colloquium_place` = 'WAD P106a', `disputation_start` = '2020-03-05 16:00', `disputation_duration` = '01:00', `disputation_place` = 'WAD P106a' WHERE id = '400']
[2020.01.16 15:55:46 +0100][130.60.95.112][FE:SHORT,Page:19,tt:48,form:phd_check-head][Affected rows: 1]
[2020.01.16 15:55:50 +0100][130.60.95.112][FE:SHORT,Page:84,tt:171,level:40.10][UPDATE typo3_studentadmin.fe_users SET usergroup='4,1' WHERE username='SHORT' AND deleted='0' LIMIT 1]
[2020.01.16 15:55:50 +0100][130.60.95.112][FE:SHORT,Page:84,tt:171,level:40.10][Affected rows: 1]
</pre></p>
<p><code>UPDATE typo3_studentadmin.fe_users</code> feuert beim Login</p>
<p>Any Ideas wo das Problem herkommt und wie ich das vermeiden kann? (und betrifft das wirklich nur uns?)</p> QFQ - Bug #9862 (Priorize): Failed writing to sql|mail|qfq.log should throw an exceptionhttps://project.math.uzh.ch/issues/98622020-01-09T15:41:37ZCarsten Rosecarsten.rose@math.uzh.chQFQ - Bug #9855 (New): Required Checkhttps://project.math.uzh.ch/issues/98552020-01-09T10:28:50ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Bitte fuer alle Input Typen (inkl. 'File'), ueberpruefen das ein Form Save unmoeglich ist (resp. markiert wird), wenn required aktiv ist, das Feld aber leer ist.</p>
<p>Das Attribute 'acceptZeroAsRequired' auch testen.</p>
<p>Bei 'fe.mode=<via dynamic update veraendert>' bitte alle Varianten testen (n=normal, r=required, FL=Form Load, FDU=Form Dynamic Update):<br /><pre>
FL FDU
--------
n n
n r
r n
r r
</pre></p> QFQ - Bug #9773 (New): form.parameter.formModeGlobal=requiredOffhttps://project.math.uzh.ch/issues/97732019-12-16T13:37:31ZMarc Egger
<p>When form parameter formModeGlobal is set to requiredOff then the required fields should not be marked orange, if they are not filled out. But they are marked orange.</p> QFQ - Bug #9535 (Feedback): Report: ... AS '_vertical' - column to wide - vertical >> rot45, rot90https://project.math.uzh.ch/issues/95352019-11-09T10:46:50ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Evtl. hatten wird das schon diskutiert - ich finde aber kein Ticket dazu.</p>
<p>Beispiel: <a class="external" href="http://webwork16.math.uzh.ch/crose/qfq/index.php?id=93">http://webwork16.math.uzh.ch/crose/qfq/index.php?id=93</a></p>
<p>In Report gibt es den special column name '_vertical'. Damit koennen z.B. Spaltenueberschriften rotiert werden. Das passiert via CSS.</p>
<p>Das Problem: Die Tabellenspalte bekommt die Breite des Textes bevor er gedreht wurde. D.h. Spalten mit breiten Titel werden trotzdem breit, obwohl genau das durch 'hochstellen' verhinder werden soll.</p>
<p>Kann man das tweaken, so das (die Spalte dynamisch die Breite des breitesten Textes (inkl. Umbruch) bekommt?</p> QFQ - Bug #9534 (New): FE.type=upload: 'Unknown Mode: ID"https://project.math.uzh.ch/issues/95342019-11-08T15:41:41ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Haengt evtl. mit <a class="issue tracker-1 status-5 priority-4 priority-high2 closed" title="Bug: FE.type=upload: '{{fileDestination}}' saved (Closed)" href="https://project.math.uzh.ch/issues/9532">#9532</a> zusammen.</li>
</ul>
<p>1. User oeffnet neuen Record, das Form hat ein Upload Element, laesst das Upload Element aber leer.' und speichert. Es wird '{{fileDestination}}' (Bug) gespeichert. Das Form wird geschlossen.<br />2. User oeffnet den Record mit dem gleichen Form. <br />3) User klickt auf 'clear upload' (fake Filename '{{fileDestination}}')<br />4) User klickt auf 'Save' - es erscheint die Fehlermeldung 'Unknown Mode: ID"</p> QFQ - Bug #9347 (New): FE.type=upload with dynamic show/hidden: required not detectedhttps://project.math.uzh.ch/issues/93472019-10-11T12:50:57ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Bei Stefan gibt es ein Form das dynamisch ein/ausgeblendet wird.</p>
<p>Wenn es eingeblendet ist, soll es required sein.</p>
<p>Browser: Bei Save moniert der Browser nicht das das Feld leer ist.<br />Server: Bei Save moniert der Server nicht das das Feld leer ist.</p> QFQ - Bug #9173 (New): Stale Record Lock: Firefox https://project.math.uzh.ch/issues/91732019-09-18T21:42:34ZCarsten Rosecarsten.rose@math.uzh.ch
<p>a) Wird mit FF ein Candoc Antrag auf forkred18.math.uzh.ch/forkred wie folgt bearbeitet:</p>
<p>open, modify, save, close, open, modify, close: question 'save?' no > open</p>
<p>dann ist der Record anschliessend gesperrt.</p>
<p>Das Verhalten tritt nicht auf mit Opera. <br />Reproduzierbar mit FF unter Linux und MacOS X.</p>
<p>b) Es kann sein das der Effekt mit einem kleinen Form nicht auftritt.</p> QFQ - Bug #9121 (New): sip links have r and __dbIndexData sethttps://project.math.uzh.ch/issues/91212019-09-13T13:52:57ZNicola Chiapolini
<p>If a link is using SIP, the <code>r=0</code> and <code>__dbIndexData=1</code> are defined even if not specified.</p>
<p>Possible Problems:</p>
<ul>
<li>lazy coders like me do not change the lookup-order, so the r from SIP might hide r from the expected stores (especially when using r inside reused content elements).</li>
<li>if no data is passed on, removing the sip rendering is ok, but one needs to remember to add it back if one adds data later (I use sip for all links)</li>
</ul> QFQ - Bug #9024 (Some day maybe): QFQ Einarbeitunghttps://project.math.uzh.ch/issues/90242019-09-05T07:37:03ZAnonymous
<ul>
<li>Stores
<ul>
<li><a class="external" href="https://qfq.io/doc/Manual.html#store">https://qfq.io/doc/Manual.html#store</a></li>
</ul></li>
</ul>
<ul>
<li>Variable
<ul>
<li>Sanitize: <a class="external" href="https://qfq.io/doc/Manual.html#sanitize-class">https://qfq.io/doc/Manual.html#sanitize-class</a></li>
<li>Store (s.o.)
<ul>
<li>Mehrere Stores: Prio / Fallback</li>
</ul></li>
</ul></li>
</ul>
<ul>
<li>Aufgabe:
<ul>
<li>Eine T3 Beispielseite erstellen mit der Ausgabe einiger Variablen aus z.B. STORE_SYSTEM , STORE_RECORD, STORE_CLIENT, STORE_VAR</li>
</ul></li>
</ul>
<ul>
<li>Nested Query:
<ul>
<li>Parameter Uebergabe: Spaltenname >> {{id:R}}</li>
</ul>
<ul>
<li><a class="external" href="https://qfq.io/doc/Manual.html#qfq-keywords-bodytext">https://qfq.io/doc/Manual.html#qfq-keywords-bodytext</a></li>
<li>Wrap mit HTML Elementen: head, tail, rbeg, rend, renr, fbeg, fend</li>
</ul>
<ul>
<li>Aufgabe: geschaltete HTML Tabelle - Person, pro Person Tabelle mit Adressen</li>
</ul></li>
</ul> QFQ - Bug #9020 (Some day maybe): radio mit buttonClass und dynamicUpdate lassen sich nicht kombi...https://project.math.uzh.ch/issues/90202019-09-04T12:55:38ZNicola Chiapolini
<p>Wenn ich meinem Radio-Element eine buttonClass gebe um die Bootstrap-Buttons zu erhalten, funktioniert dynamic update nicht mehr.</p> QFQ - Bug #8106 (Some day maybe): Dynamic Update: Feld kann nicht auf empty zurückgesetzt werdenhttps://project.math.uzh.ch/issues/81062019-03-21T10:04:18ZElias Villiger
Beispiel-Szenario:
<ul>
<li>Im FormElement `address` soll bei Auswahl eines FormElements `person` die Adresse angezeigt werden.</li>
<li>Person 1 wird ausgewählt -> Adresse 1 wird mit dynamic update angezeigt</li>
<li>Beim FormElement `person` wird die Person abgewählt (emptyItemAtStart)
<ul>
<li>Der `value` von FormElement `address` gibt jetzt leeren String ('') zurück.</li>
<li><strong>Problem</strong>: das FormElement `address` wird nicht auf leeren String zurückgesetzt, sondern behält seinen Wert.</li>
</ul></li>
</ul> QFQ - Bug #8037 (Priorize): FE.type=upload (advanced mode): {{slaveId:V}} missing during dynamic ...https://project.math.uzh.ch/issues/80372019-03-13T16:48:26ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Ein Form hat ein FE.type=upload Element im 'advance mode' - (slaveId) wird berechnet.</li>
<li>Ein zweites FE ist 'dynamic update'.</li>
<li>Bei Aendereung des zweiten FE gibt es eine Fehlermeldung das 'slaveId' nicht ersetzt wurde.</li>
</ul> QFQ - Bug #7656 (Priorize): FE with required, 'pattern' and 'extraButtonLock': always complain ab...https://project.math.uzh.ch/issues/76562019-01-16T16:10:27ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>ORT: FE.id=1057</li>
<li>FE.type=text.</li>
<li>FE.mode=required</li>
<li>FE.parameter.extraButtonLock</li>
<li>FE.checkType=pattern</li>
<li>FE.checkPattern=^[a-zA-Z0-9-]*$</li>
</ul>
<p>Obwohl ein Wert angegeben ist, meldet QFQ das der required Wert fehlt. Als workaround temporare das 'extraButtonLock' entfernt, dann kann man speichern.</p> QFQ - Bug #7616 (Priorize): Selectlist with Enum & Dynamic Updatehttps://project.math.uzh.ch/issues/76162019-01-07T20:58:08ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Beim IK-Tool haben wir ein Enum FE das als Selectbox dargestellt wird. </li>
<li>Das FE ist ein Dynamic Update Element.</li>
<li>Enthaelt einer der Enumtexte ein '&', und wird ein solches Element angewaehlt, wird nach dem Wechsel eine leere Auswahl angezeigt.</li>
</ul>
<p>Das umshalten auf sanatize 'allbut' oder 'all' hilft nicht.</p>
<p>specialchar=off nicht ausprobiert.</p>
<p>Ein aehnliches Problem ist '>':</p>
<ul>
<li>FE ist Dynamic update</li>
<li>enum: ('Wesentliche Nutzungsdauer = Projektdauer','Wesentliche Nutzungsdauer > Projektdauer')</li>
<li>Wird der zweite Punkt ausgewaehlt, gespeichert, record neu geladen: es ist nicht gespeichert worden.</li>
</ul> QFQ - Bug #6574 (Priorize): qfq.log: Fehlermeldung wurde angezeigt, aber nicht geloggthttps://project.math.uzh.ch/issues/65742018-08-28T20:38:07ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Meldung von 'Lehrkredit' / einem User (#6528):</p>
<pre>
2018.08.15 18:51:04 +0200, Reference: 5b7459f89c753
SQL error
</pre>
<p>CHECK OB DAS PASSIEREN KANN -DAS SOLLTE NICHT SEIN!!!</p>
<p>Ausserdem: Es sollte unbedingt der FE User, page id, content record id, ip, qfq session gespeichert werden</p> QFQ - Bug #6116 (Priorize): value of checkbox not saved https://project.math.uzh.ch/issues/61162018-05-29T09:43:08ZNicola Chiapolini
<p>In one of our forms, we have the following checkbox:<br /><pre><code class="sql syntaxhl"><span class="k">INSERT</span> <span class="k">INTO</span> <span class="nv">`FormElement`</span> <span class="p">(</span><span class="nv">`id`</span><span class="p">,</span> <span class="nv">`formId`</span><span class="p">,</span> <span class="nv">`feIdContainer`</span><span class="p">,</span> <span class="nv">`dynamicUpdate`</span><span class="p">,</span> <span class="nv">`enabled`</span><span class="p">,</span> <span class="nv">`name`</span><span class="p">,</span> <span class="nv">`label`</span><span class="p">,</span> <span class="nv">`mode`</span><span class="p">,</span> <span class="nv">`modeSql`</span><span class="p">,</span> <span class="nv">`class`</span><span class="p">,</span> <span class="nv">`type`</span><span class="p">,</span> <span class="nv">`subrecordOption`</span><span class="p">,</span> <span class="nv">`encode`</span><span class="p">,</span> <span class="nv">`checkType`</span><span class="p">,</span> <span class="nv">`checkPattern`</span><span class="p">,</span> <span class="nv">`onChange`</span><span class="p">,</span> <span class="nv">`ord`</span><span class="p">,</span> <span class="nv">`tabindex`</span><span class="p">,</span> <span class="nv">`size`</span><span class="p">,</span> <span class="nv">`maxLength`</span><span class="p">,</span> <span class="nv">`bsLabelColumns`</span><span class="p">,</span> <span class="nv">`bsInputColumns`</span><span class="p">,</span> <span class="nv">`bsNoteColumns`</span><span class="p">,</span> <span class="nv">`rowLabelInputNote`</span><span class="p">,</span> <span class="nv">`note`</span><span class="p">,</span> <span class="nv">`adminNote`</span><span class="p">,</span> <span class="nv">`tooltip`</span><span class="p">,</span> <span class="nv">`placeholder`</span><span class="p">,</span> <span class="nv">`value`</span><span class="p">,</span> <span class="nv">`sql1`</span><span class="p">,</span> <span class="nv">`parameter`</span><span class="p">,</span> <span class="nv">`parameterLanguageA`</span><span class="p">,</span> <span class="nv">`parameterLanguageB`</span><span class="p">,</span> <span class="nv">`parameterLanguageC`</span><span class="p">,</span> <span class="nv">`parameterLanguageD`</span><span class="p">,</span> <span class="nv">`clientJs`</span><span class="p">,</span> <span class="nv">`feGroup`</span><span class="p">,</span> <span class="nv">`deleted`</span><span class="p">,</span> <span class="nv">`modified`</span><span class="p">,</span> <span class="nv">`created`</span><span class="p">)</span> <span class="k">VALUES</span>
<span class="p">(</span><span class="mi">164</span><span class="p">,</span> <span class="mi">1000</span><span class="p">,</span> <span class="mi">380</span><span class="p">,</span> <span class="s1">'no'</span><span class="p">,</span> <span class="s1">'yes'</span><span class="p">,</span> <span class="s1">'reg_done'</span><span class="p">,</span> <span class="s1">'Final'</span><span class="p">,</span> <span class="s1">'hidden'</span><span class="p">,</span> <span class="s1">'{{SELECT IF( title_hash != </span><span class="se">\'\'</span><span class="s1"> AND (SELECT SUM(head) FROM `phd_committee_members` WHERE phd_student=(SELECT id FROM phd_graduation WHERE shortname=</span><span class="se">\'</span><span class="s1">{{shortname}}</span><span class="se">\'</span><span class="s1"> )) = 1,</span><span class="se">\'</span><span class="s1">show</span><span class="se">\'</span><span class="s1">, </span><span class="se">\'</span><span class="s1">hidden</span><span class="se">\'</span><span class="s1">) FROM phd_graduation WHERE shortname=</span><span class="se">\'</span><span class="s1">{{shortname}}</span><span class="se">\'</span><span class="s1"> }}'</span><span class="p">,</span> <span class="s1">'native'</span><span class="p">,</span> <span class="s1">'checkbox'</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">'specialchar'</span><span class="p">,</span> <span class="s1">'alnumx'</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="mi">200</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">'row,label,/label,input,/input,note,/note,/row'</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">'{{!SELECT IF(reg_done, reg_done, NOW()) FROM phd_graduation WHERE id=</span><span class="se">\'</span><span class="s1">{{id:RE}}</span><span class="se">\'</span><span class="s1"> }}'</span><span class="p">,</span> <span class="s1">'checkBoxMode = single</span><span class="se">\r\n</span><span class="s1">label2 = Submit this form and start the process.'</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">'no'</span><span class="p">,</span> <span class="s1">'2018-05-29 09:34:25'</span><span class="p">,</span> <span class="s1">'2018-03-09 10:06:26'</span><span class="p">);</span>
</code></pre></p>
<p>This checkbox gets correctly displayed with all the values of <code>mode sql</code> below, but only saved to the DB for some of them:</p>
<p><strong>good</strong><br /><pre><code>
{{SELECT IF( title_hash != '' ,'show', 'hidden') FROM phd_graduation WHERE shortname='{{shortname}}' }}
{{SELECT IF( title_hash != '' AND (SELECT SUM(head) FROM `phd_committee_members` WHERE phd_student=(SELECT id FROM phd_graduation WHERE shortname='{{shortname}}' )) = 1,'show', 'hidden') FROM phd_graduation WHERE shortname='{{shortname}}' }}
</code></pre></p>
<p><strong>bad</strong><br /><pre><code>
{{SELECT IF( title_hash != '' ,'show', 'hidden') FROM phd_graduation WHERE id='{{id}}' }}
{{SELECT IF( title_hash != '' ,'show', 'hidden') FROM phd_graduation WHERE shortname='{{shortname:R0}}' }}
{{SELECT IF( title_hash != '' ,'show', 'hidden') FROM phd_graduation WHERE shortname='{{shortname:FR0}}' }}
{{SELECT IF( title_hash != '' AND (SELECT SUM(head) FROM `phd_committee_members` WHERE phd_student='{{id:R0}}') = 1,'show', 'hidden') FROM phd_graduation WHERE id='{{id:R0}}' }}
</code></pre></p>
<p><code>shortname</code> is a nativ / extra field in the form, <code>id</code> is not part of the form.</p>
<p>In any case, a displayed field should also be saved ;-)</p> QFQ - Bug #4756 (New): Form dirty even nothing changeshttps://project.math.uzh.ch/issues/47562017-10-13T15:09:33ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Bei GRC und anderen Seiten, faellt auf das ein Form als 'dirty' markiert wird (beim verlassen des Forms ohne zu speichern wird nachgefragt ob man speichern moechte) obwohl nichts veraendert wurde. 'Einfache' Formulare sind ok.</li>
</ul>
<p>Evtl. hat es etwas mit Typeahead zu tun.</p>
<ul>
<li>Das gleiche passiert beim IK Tool 'Applciation' wenn man es im 'Read Only' Mode aufruft (im Archiv).</li>
</ul> 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 - Bug #4293 (Some day maybe): Download broken if token 'd:' is missing - but no error messagehttps://project.math.uzh.ch/issues/42932017-08-23T22:08:02ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Es gab einen kompletten PHP Crash wenn im Form Subrecord eine Spalte wie folgt definiert war:<br /><pre>
# OK
... CONCAT('d:file.pdf|s|t:Download|f:',n.pathFileName) AS 'Download|100|link', ...
# Crash
... CONCAT('s|t:Download|f:',n.pathFileName) AS 'Download|100|link', ...
</pre></p>
<p>CR hat dann eine Fake 'buildFile()' Funktion in Link.php eingesetzt.</p>
Topics:
<ul>
<li>Evtl. tritt der Fehler auch in Report/Link auf.</li>
<li>Es sollte eine Fehlermeldung geben wenn 'd' fehlt.</li>
<li>Evtl. kann das Token 'f:' in der calltable (buildFile) entfernt werden - bis anhin wurde es auch nicht gebracht.</li>
<li>Gibt es 'isFunc()' um zu testen ob man eine Funktion aufrufen kann? Das sollte implementiert werden.</li>
</ul> QFQ - Bug #4138 (Some day maybe): _style fehlthttps://project.math.uzh.ch/issues/41382017-07-31T08:50:53ZBenjamin Baerbenjamin.baer@math.uzh.ch
<p>Wir haben auf der Math Seite noch eintraege mit _style (UL|Text) die es noch nicht gibt im QFQ.</p>
<p>Beispiel waere Vita:<br /><a class="external" href="https://webwork16.math.uzh.ch/math/work/index.php?professur&key1=8882">https://webwork16.math.uzh.ch/math/work/index.php?professur&key1=8882</a></p>
<p>Der ganze Block of text ist eine Reihe in der Auswertung, urspruenglich: "UL| ganzer Text" und ich nehme an das UL hat dann die einzelnen \n in listen items eingeteilt.</p> QFQ - Bug #4122 (Some day maybe): _file: Render Mode hat keinen Effekthttps://project.math.uzh.ch/issues/41222017-07-24T08:50:09ZBenjamin Baerbenjamin.baer@math.uzh.ch
<p>Siehe: <a class="external" href="https://webwork16.math.uzh.ch/math/work/index.php?preprint&key1=2010">https://webwork16.math.uzh.ch/math/work/index.php?preprint&key1=2010</a></p>
<p>Download Button wird auch mit leerem File gerendert.</p> QFQ - Bug #3895 (Some day maybe): typeahead pedantic: on lehrkredit ldap webpass - if only one pe...https://project.math.uzh.ch/issues/38952017-06-12T06:57:39ZCarsten Rosecarsten.rose@math.uzh.chQFQ - Bug #3882 (Some day maybe): templateGroup: disable 'add' if limit is reached - funktionier...https://project.math.uzh.ch/issues/38822017-06-09T10:45:11ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Bei einer Templategroup, in der z.B. 7 elemente max. erlaubt sind, und diese 7 Elemente angelegt wurden (non primary records), dann werden die records korrekt geladen, allerdings kann man den add button noch anklicken . der sollte auf 'disabled' stehen. Der Klick hat scheinbra keine folgen, ist aber nciht schoen.</p> QFQ - Bug #3811 (Some day maybe): Dynamic Update: extraButtonInfo - Text aktualisierenhttps://project.math.uzh.ch/issues/38112017-05-26T12:08:55ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Vermutlich wird der Text fuer 'extraButtonInfo' bei 'dynamicUpdate' nicht angepasst.</p> QFQ - Bug #3782 (Priorize): Bei fehlerhafter Eingabe (z.B. Datum) sollte das erwartete Format ang...https://project.math.uzh.ch/issues/37822017-05-22T10:39:56ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Gut waeren sinnvolle (dateilliertere) Defaults als jetzt.</li>
</ul> QFQ - Bug #3750 (Some day maybe): FE in a row: if one violates check, all are redhttps://project.math.uzh.ch/issues/37502017-05-18T06:56:59ZCarsten Rosecarsten.rose@math.uzh.ch
<p>RO: class 'form-group' at the moment wrapped around whole row. this is wrong. apply it to each input individually - multiple 'form-group' per row should be ok.</p> QFQ - Bug #3682 (Some day maybe): Dynamic update: Radio buttonshttps://project.math.uzh.ch/issues/36822017-05-05T17:08:23ZElias Villiger
<p>Das dynamic update greift nicht im sql1 Feld eines FormElements vom Typ radio button.</p> QFQ - Bug #3588 (Some day maybe): templateGroup: versteckte Elemente werden weiterhin gespeichert.https://project.math.uzh.ch/issues/35882017-04-17T14:51:51ZElias Villiger
<p>TemplateGroup:<br /> feld1 = test1<br /> feld2 = test2</p>
Neben feld2 wird auf "Remove" geklickt, ohne vorher den Text zu löschen
<ul>
<li>feld2 verschwindet (wie erwartet)</li>
<li>Beim Speichern bleibt aber feld2 = test2</li>
<li>Wenn die Form neu geladen wird, erscheint feld2 wieder</li>
</ul>
<p>Erwartetes Verhalten: Wenn auf "Remove" geklickt wird, wird auch der entsprechende Inhalt gelöscht (spätestens beim Speichern)</p> QFQ - Bug #3349 (Some day maybe): config.qfq.ini: a) vertraegt keine '=' im Value (z.B. Passwort)...https://project.math.uzh.ch/issues/33492017-03-13T16:24:32ZCarsten Rosecarsten.rose@math.uzh.chQFQ - Bug #3130 (Some day maybe): Debug Info's nicht korrekt nach 'New > Save'.https://project.math.uzh.ch/issues/31302017-01-30T23:14:41ZCarsten Rosecarsten.rose@math.uzh.ch
<p>EV/30.1.17: Es handelt sich um den Fix <a class="issue tracker-3 status-5 priority-2 priority-default closed" title="Support: QFQ: aftersave macht kein 'update' falls master record uerspruenglich 0 war. (Closed)" href="https://project.math.uzh.ch/issues/2914">#2914</a>. Funktioniert alles, ausser dass die<br />kleinen Informations-Felder zu den Angaben, wie die Queries ausgeführt<br />wurden, nicht geupdated wurden. Diese Felder zeigen immer noch den alten<br />Stand an, also z.B. dass die xId (welche sich auf einen mit afterSave<br />neu erstellten Record bezieht) nicht gefunden wurde.</p> QFQ - Bug #2643 (Some day maybe): Zend / PHP Webinars anschauenhttps://project.math.uzh.ch/issues/26432016-10-12T06:41:31ZCarsten Rosecarsten.rose@math.uzh.ch
<p><a class="external" href="http://www.zend.com/en/resources/webinar/building-the-perfect-php-app-for-the-enterprise">http://www.zend.com/en/resources/webinar/building-the-perfect-php-app-for-the-enterprise</a></p> QFQ - Bug #2063 (Some day maybe): Pills auf 'inaktiv' setzen falls keine Element auf dem Pill sic...https://project.math.uzh.ch/issues/20632016-05-31T14:48:34ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Wenn durch dynamicUpdate alle Elemente eines Pills ausgeblendet werden, sieht das wie ein Fehler aus.</li>
<li>Gut waere wenn das Pill irgendwie symbolisieren wuerde 'alles ok, zeige nur nichts an'. </li>
<li>Z.B. das der Pill Button grau ist.</li>
</ul>