Project @ iMath: Issueshttps://project.math.uzh.ch/https://project.math.uzh.ch/favicon.ico?16668783892024-03-22T08:35:18ZProject @ iMath
Redmine QFQ - Feature #18193 (Closed): SQL Query Performance Reporthttps://project.math.uzh.ch/issues/181932024-03-22T08:35:18ZElias Villiger
<p><strong>Context</strong>: On a page with long load time it is not always clear, which query(s) are responsible for the server response time. Potentially one inefficient query could slow a whole page down.</p>
<p><strong>Idea</strong>: QFQ can measure when a SQL query was started and when it ended, thus making it possible to calculate query execution time.</p>
<strong>Suggestion</strong>: There could be a QFQ Report keyword such as <code>performanceReport = 1</code> that, when given to a QFQ page content element, will print a performance report after having rendered the QFQ page content.<br />This will be a simple table, such as:
<table>
<tr>
<th>QFQ level name / number </th>
<th>Execution time </th>
</tr>
<tr>
<td> 10 </td>
<td> Execution time in ms </td>
</tr>
<tr>
<td> 10.10 </td>
<td> Sum of execution times in ms </td>
</tr>
<tr>
<td> labelName </td>
<td> Execution time in ms </td>
</tr>
<tr>
<td> Problem: how to handle no QFQ level name? </td>
<td> Execution time in ms </td>
</tr>
</table> QFQ - Bug #18186 (Closed): Autocron wird mehrfach ausgeführt, bevor nextRun erhöht wirdhttps://project.math.uzh.ch/issues/181862024-03-21T08:49:44ZElias Villiger
Setting:
<ul>
<li>AutoCron Job mit Frequency = 1 DAY</li>
<li>Wird zur korrekten Zeit einmal ausgeführt, allerdings auch die nächsten 60 Minuten ausgeführt, ohne dass nextRun auf den nächsten Tag erhöht wird.</li>
<li>nach 60 Minuten ausführen wird nextRun korrekt um einen Tag erhöht.</li>
</ul> QFQ - Bug #18093 (Closed): Passwort hashing broken: undefined constant errorhttps://project.math.uzh.ch/issues/180932024-03-06T13:22:57ZElias Villiger
<p><img src="https://project.math.uzh.ch/attachments/download/9424/clipboard-202403061420-qoaj0.png" alt="" /></p>
<p>Discovered while implementing the passwordSet form (described in the qfq docs)</p> QFQ - Bug #18058 (Ready to sync (develop)): Monitor not working: missing JS filehttps://project.math.uzh.ch/issues/180582024-03-05T07:39:47ZElias Villiger
<p>Console Error: Failed to load resource <code>/typo3conf/ext/qfq/Resources/Public/JavaScript/GetFileContent.js</code></p>
<p>Datei wird durch npm run build nicht in <code>Resources/Public/JavaScript</code> kopiert, vermutlich sonst irgendwo integriert oder gar nicht mehr eingebunden?</p> 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 - Feature #17393 (Closed): FE Report Editor: add CodeMirror qfq languagehttps://project.math.uzh.ch/issues/173932023-12-01T08:12:14ZElias Villiger
<p>write a new CodeMirror grammar/language</p>
<p>Ideally with qfq keyword syntax, but also recognizing<br />- SQL<br />- HTML<br />- Javascript</p> QFQ - Bug #17291 (New): FE CodeMirror nicht scrollable je nach Setuphttps://project.math.uzh.ch/issues/172912023-11-16T09:46:58ZElias Villiger
<p>Auf meiner eigenen Webseite war der FrontEnd Code Editor nicht scrollbar. Ursächlich scheint zu sein, dass bei der QFQ-eigenen Ausgabe der Seite keine volle Typo3-Seite aufgebaut wird und dadurch ein Teil des Typo3-Templating verloren geht. Konkret hat sich bei mir die parent height (body) bis über den Seitenrand erstreckt (4000px), sodass ein scrolling als nicht notwendig interpretiert wurde.</p>
<p>Durch setzen von<br /><pre><code class="css syntaxhl"><span class="nt">body</span> <span class="p">{</span> <span class="nl">height</span><span class="p">:</span> <span class="m">100vh</span><span class="p">;</span> <span class="p">}</span>
</code></pre><br />ist das Problem gelöst.</p>
<p>Evtl. ist das bisher nicht aufgefallen, da im UZH-CD schon entsprechendes CSS vorhanden.</p>
<p>Vorschlag: Zwischen body und dem gerenderten CodeMirror ein div einbauen:<br /><pre><code class="html syntaxhl"><span class="nt"><div</span> <span class="na">style=</span><span class="s">"height:100vh;"</span><span class="nt">></div></span>
</code></pre></p> QFQ - Bug #13084 (Closed): QFQ Dropdown Einträge auf iOS nicht anklickbarhttps://project.math.uzh.ch/issues/130842021-09-27T11:19:05ZElias Villiger
<p>Es geht um das Feature: <a class="external" href="http://docs.qfq.io/en/master/Report.html#dropdown-menu">http://docs.qfq.io/en/master/Report.html#dropdown-menu</a></p>
<p>Gemäss einigen geolean Usern lässt sich auf iOS das Dropdown zwar öffnen, die einzelnen Einträge aber nicht anklicken.<br />Gehe davon aus, dass es ein iOS-Problem ist. Frage: lässt sich der Code so ändern, dass es auf iOS trotzdem klappt?<br />Kann es mangels Gerät leider nicht selbst testen.</p> QFQ - Bug #12711 (Closed): Hiding _link disables rendering ithttps://project.math.uzh.ch/issues/127112021-06-26T15:19:27ZElias Villiger
<pre>
10.sql = SELECT 't:hello|r:6' AS '_link|linkText|_hide'
20.sql = SELECT '{{linkText:RE:all:s}}'
</pre>
<p>gibt als Output<br /><pre>
t:hello|r:6
</pre></p>
<p>anstatt<br /><pre>
hello
</pre></p> QFQ - Bug #12670 (Closed): Dropdown-Menu classes können nicht mehr angegeben werdenhttps://project.math.uzh.ch/issues/126702021-06-14T07:33:07ZElias Villiger
Aus der Doku:
<ul>
<li><em>Button: Via b the dropdown meny symbol will be rendered with a button. Also b:<style> might set the BS color.</em></li>
</ul>
<p>Das hat in QFQ 20.11.0 noch funktioniert:<br /><pre>'z|b:btn-primary||p:home|t:Home' AS _link</pre><br />hatte einen blauen Button erzeugt.</p>
<p>Aktuell (21.5.1) wird es immer als btn-default gerendert.</p> QFQ - Feature #12532 (New): SIP-Parameter bei Seitenaufruf in Browser-Console anzeigenhttps://project.math.uzh.ch/issues/125322021-05-11T15:50:24ZElias Villiger
<p>Idee: Wenn eine Seite mit SIP-Parameter aufgerufen wird und ein BE-User eingeloggt ist, werden in der Konsole automatisch die in der SIP mitgelieferten Parameter aufgelistet. Würde Debugging etwas vereinfachen.</p> QFQ - Bug #12268 (Closed): Form Submit Log Beispiel im Manual hat einen Bughttps://project.math.uzh.ch/issues/122682021-03-26T16:05:44ZElias Villiger
<p>Der aktuelle Beispielcode im Manual für die Seite "Form Submit Log" hat einen Bug.</p>
<p>Wenn ein Formular submitted wurde, bei dem ein %-Zeichen als Value vorkam, dann failt JSON.parse und es wird in der betroffenen Spalte nichts angezeigt.<br />Stattdessen kann sipData und formData direkt ins JS geschrieben werden (muss nicht als string geparst werden).</p>
<p>MergeRequest folgt gleich.</p> QFQ - Feature #12186 (New): TinyMCE Config für Objektehttps://project.math.uzh.ch/issues/121862021-03-20T07:50:24ZElias Villiger
<p>Es gibt einige TinyMCE Optionen, die nicht als String, sondern als Objekt angegeben werden. Mit QFQ werden jedoch alle Configs als String übergeben, wodurch diese Optionen nicht gesetzt werden können.</p>
<p>Beispiel: <a class="external" href="https://www.tiny.cloud/docs/configure/content-filtering/#exampleusinginvalid_stylesobject">https://www.tiny.cloud/docs/configure/content-filtering/#exampleusinginvalid_stylesobject</a></p>
<p>Z.B. im FE.parameter (deaktivieren von fixen Tabellengrössen):<br /><pre>
editor-invalid_styles: { 'td': 'width height', 'th': 'width height' }
</pre></p>
<strong>Mögliche Lösungen:</strong>
<ul>
<li>QFQ erkennt, wenn ein Parameter mit {} gewrapped ist und umgibt solche Parameter nicht mit Quotes.</li>
<li>Spezielle Notation in QFQ, um einen Parameter als Objekt zu markieren?</li>
</ul> QFQ - Feature #12183 (Closed): Tablesorter: Download table as csvhttps://project.math.uzh.ch/issues/121832021-03-19T08:50:17ZElias Villiger
<p>Hier die Doku: <a class="external" href="https://mottie.github.io/tablesorter/docs/example-widget-output.html">https://mottie.github.io/tablesorter/docs/example-widget-output.html</a></p>
<p><strong>Minimale/vorgeschlagene Änderungen, um es zum Laufen zu kriegen:</strong></p>
<pre>
<script src="js/widgets/widget-ouput.js"></script>
</pre><br />(siehe <a class="external" href="https://cdnjs.cloudflare.com/ajax/libs/jquery.tablesorter/2.25.4/js/widgets/widget-output.min.js">https://cdnjs.cloudflare.com/ajax/libs/jquery.tablesorter/2.25.4/js/widgets/widget-output.min.js</a>)
Tablesorter Config ergänzen mit:
<ul>
<li>"widgets":[ ... ,"output"]</li>
<li>"widgetOptions":
<ul>
<li>"output_delivery": "download" // Download statt Popup</li>
<li>"output_saveFileName": "tableExport.csv" </li>
<li>"output_separator": ";"</li>
</ul></li>
</ul>
<p>Auslösen des Downloads mittels<br /><pre>
$('table').trigger('outputTable');
</pre></p>
<strong>Mein Vorschlag:</strong><br />Die obigen Optionen in die Standard QFQ-Tablesorter-Konfig mit reinnehmen.<br />Das würde folgende Standard-Funktionalität ergeben:
<ul>
<li>Für jede tablesorter-Tabelle kann ein Button erstellt werden, der den Export triggert (mit obigem JS Code).</li>
<li>Standard-Export-Dateiname: tableExport.csv</li>
<li>Lässt sich in Excel als CSV öffnen (Separator ;)</li>
<li>Es werden nur die aktuell gefilterten Zeilen der Tabelle exportiert</li>
<li>Es wird nur Text exportiert, kein HTML</li>
<li>Falls ein Wert z.B. in anderer Formatierung exportiert werden soll, geschieht dies so: <td data-name="12345">CHF 12,345.-</td></li>
<li>Header und Footer werden mitexportiert.</li>
</ul> QFQ - Feature #12135 (New): Subrecord: Notizhttps://project.math.uzh.ch/issues/121352021-03-12T16:10:44ZElias Villiger
<p>Aktuell wird bei einem subrecords mit FE.note = test die Notiz ("test") unterhalb der Subrecord-Tabelle angezeigt.</p>
<p>Würde es Sinn machen, die Notiz bei den Subrecords direkt im Anschluss an das Label zu verschieben? (siehe Screenshot)</p> QFQ - Bug #12066 (Closed): enterAsSubmit: Forward wird nicht ausgeführthttps://project.math.uzh.ch/issues/120662021-02-26T15:43:50ZElias Villiger
<p>Wenn bei einem Formular Enter gedrückt wird, anstatt auf den Save- (oder Close-) Button zu klicken, dann wird nicht auf eine im Formular angegebene Forward URl weitergeleitet, sondern es geht immer - d.h. unabhängig vom Forward Mode - einen Schritt zurück in der Browser-History.</p>
<p>Gewünscht wäre, dass das Forward-Verhalten bei Enter dem Klicken des Save-Buttons entspricht.</p>
<p>Temporärer Workaround: Enter deaktivieren mit enterAsSubmit = 0</p> QFQ - Bug #12045 (New): templateGroup afterSave FE: Aufruf ohne sqlHonorFormElements funktioniert...https://project.math.uzh.ch/issues/120452021-02-18T15:01:59ZElias Villiger
<p><strong>Szenario</strong>:<br />templateGroup mit non-native FEs. Zum Speichern der Werte braucht es immer ein afterSave FE mit slaveId, sqlInsert, ...</p>
<p><strong>Beobachtetes Verhalten</strong><br />Wenn beim afterSave FE kein sqlHonorFormElements = sampleColumn%d definiert ist, wird der afterSave Record zwar korrekt oft (z.B. 5x) aufgerufen, jedoch ist %d jedesmal = 1 (bzw. %D = 0), statt inkrementell.</p>
<p><strong>Erwartetes Verhalten</strong><br />Erwartet wäre, dass bei fehlendem sqlHonorFormElements die sqlInsert/Update/Delete statements unabhängig von irgendwelchen TemplateGroup-FE-Werten ausgeführt werden, nur abhängig von der slaveId, wie auch bei anderen afterSave-FEs. Und zwar mit %d = 1, 2, 3, 4, 5, nicht jedesmal = 1.</p> QFQ - Bug #12040 (New): FE Mode 'hidden' für zwei FEs auf einer Zeilehttps://project.math.uzh.ch/issues/120402021-02-18T09:13:57ZElias Villiger
<p>Ich habe in einem Formular zwei FormElemente auf einer Zeile. Unter gewissen Bedingungen möchte ich diese ganze Zeile ausblenden. Mit dynamic update funktioniert das (!), wenn ich die FEs aber statisch (FE.Mode) oder beim Form Load aufgrund bestimmter Kriterien (FE.ModeSQL) auf 'hidden' stelle, wird nur der input-Bereich auf 'hidden' gestellt, Label und Note bleiben sichtbar.</p> QFQ - Feature #11998 (Closed): Custom QFQ-Functionhttps://project.math.uzh.ch/issues/119982021-02-11T16:25:30ZElias Villiger
<p>Einige Ids werden auf verschiedensten Seiten jedesmal neu berechnet. Das bedeutet 1) Code duplication und 2) ev. Performance-Einbusse</p>
<p>Beispiel: die person.id des eingeloggten Users:<br /><pre>
SELECT pId FROM account WHERE accountType='uzh shortname' AND username='{{feUser:UTE}}'
</pre><br />oder die geoleanAccess property ids für die aktuelle feUserGroups:<br /><pre>
SELECT GROUP_CONCAT(id) FROM gGroup WHERE name='geoleanAccess' AND gType='property' AND t1 IN({{feUserGroup:UT0}})
</pre></p>
<p>Wichtig: Zugriff auf den Typo3-Store.</p>
<p>Die Variabeln für meine Anwendungen müssten nur selten aktualisiert werden. Einmal pro Page Load oder allenfalls pro Session würde reichen.</p>
<strong>Mögliche Lösungen</strong>:
<ul>
<li>Bereits jetzt möglich: Die gewünschten Variabeln über QFQ im User-Store definieren, z.B. auf der Seite nach dem Login, oder über Einbinden eines QFQ-Records auf allen Seiten mittels template:<br /><pre>
// Einbinden des Records mit uid:96 auf allen Seiten
page.200 = RECORDS
page.200 {
tables = tt_content
source = 96
}
</pre></li>
<li>Neue Option, Custom QFQ-Code zu definieren. In Konfig, dynamisch gerendert? In tt_content Record?</li>
</ul> QFQ - Feature #11569 (Closed): Custom QFQ-Code pro Sessionhttps://project.math.uzh.ch/issues/115692020-11-21T13:34:07ZElias Villiger
<p>Gedacht als Erweiterung der Custom-Variablen im QFQ-Backend.</p>
<p><strong>Idee</strong><br />Es kann QFQ-Code definiert werden, der zu Beginn einer User-Session (vgl. User-Store) ausgeführt wird.</p>
<p><strong>Umsetzung</strong><br />In der QFQ-Config kann eine uid definiert werden, welche auf den gewünschten QFQ-PageContent zeigt. Dieser wird dann (einmalig) bei Beginn einer User-Session ausgeführt (render = api, d.h. nicht angezeigt)</p>
<p><strong>Anwendungsmöglichkeiten</strong><br />Ich habe einige Variablen, die ich auf vielen Seiten jedesmal neu definieren muss, insbesondere im Zusammenhang mit dem eingeloggten feUser. Mit dieser Lösung könnte ich diese Variabeln einmal definieren, im User-Store (AS '_=varName') ablegen und jederzeit abrufen ({{varName:U}})</p> QFQ - Bug #11239 (New): Radiobutton (plain): horizontales Rendern abhängig vom Datentyp in der Da...https://project.math.uzh.ch/issues/112392020-09-30T16:37:53ZElias Villiger
<p>a) Radiobutton <greeting> mit itemList=0:hi,1:hello, maxlength=10</p>
<p><ins>Erwartet</ins>: horizontales Rendering (bis 10 Elemente)</p>
<p><ins>Tatsächlicher Output:</ins></p>
<ul>
<li>Falls <greeting> in der DB als int definiert ist, dann vertikales Rendering (kann nicht verändert werden).</li>
<li>Falls <greeting> in der DB als enum definiert ist, dann korrekt horizontales Rendering.</li>
</ul>
<p>Noch 2 kleine related Items:</p>
<p>b) Doku sagt, dass maxlength='',0,1 -> vertikales Rendern. Dies ist jedoch nur bei maxlength=1 der Fall. Vermutlich wurde hier der Default umdefiniert und die Doku muss angepasst werden.</p>
<p>c) Schreibfehler Doku "The readios will be ..." statt "radio"</p> 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 #11146 (Closed): AS _sendmail: Versenden von generierten PDFs brokenhttps://project.math.uzh.ch/issues/111462020-09-10T15:09:45ZElias Villiger
<p>In QFQ 20.6.2 ist es nicht mehr möglich, on-the-fly generierte PDFs per _sendmail zu versenden.</p>
<pre><code>
10.sql = SELECT 't:evilliger@gmail.com|f:{{TECHNICAL_CONTACT:Y}}|s:test subject|b:test body|p:?id=form|d:Test.pdf' AS _sendmail
</code></pre>
<p>gibt folgende Fehlermeldung:</p>
<pre><code>
toUser unlink failed
support 2 - rename(/tmp/qfq.temp.QU1REK,/tmp/qfq.temp.DMecPR/Test.pdf): No such file or directory - rename(/tmp/qfq.temp.QU1REK ,/tmp/qfq.temp.DMecPR/Test.pdf)
</code></pre>
<table>
<tr>
<td> File </td>
<td> /var/www/html/prod/typo3conf/ext/qfq/Classes/Core/Helper/HelperFile.php </td>
</tr>
<tr>
<td> Line </td>
<td> 340 </td>
</tr>
<tr>
<td> CWD </td>
<td> /var/www/html/prod </td>
</tr>
<tr>
<td> IP Address </td>
<td> 89.206.112.12 </td>
</tr>
<tr>
<td> Stacktrace </td>
<td> #0 /var/www/html/prod/typo3conf/ext/qfq/Classes/Core/Report/SendMail.php(412): IMATHUZH\Qfq\Core\Helper\HelperFile::rename('/tmp/qfq.temp.Q...', '/tmp/qfq.temp.D...')<br />#1 /var/www/html/prod/typo3conf/ext/qfq/Classes/Core/Report/SendMail.php(212): IMATHUZH\Qfq\Core\Report\SendMail->attachmentsBuild(Array)<br />#2 /var/www/html/prod/typo3conf/ext/qfq/Classes/Core/Report/SendMail.php(99): IMATHUZH\Qfq\Core\Report\SendMail->sendEmail(Array)<br />#3 /var/www/html/prod/typo3conf/ext/qfq/Classes/Core/Report/Report.php(1153): IMATHUZH\Qfq\Core\Report\SendMail->process(Array)<br />#4 /var/www/html/prod/typo3conf/ext/qfq/Classes/Core/Report/Report.php(869): IMATHUZH\Qfq\Core\Report\Report->renderColumn(0, Array, 't:evilliger@gma...', '10', 1, true)<br />#5 /var/www/html/prod/typo3conf/ext/qfq/Classes/Core/Report/Report.php(573): IMATHUZH\Qfq\Core\Report\Report->collectRow(Array, Array, '10', 1)<br />#6 /var/www/html/prod/typo3conf/ext/qfq/Classes/Core/Report/Report.php(240): IMATHUZH\Qfq\Core\Report\Report->triggerReport()<br />#7 /var/www/html/prod/typo3conf/ext/qfq/Classes/Core/QuickFormQuery.php(1657): IMATHUZH\Qfq\Core\Report\Report->process('10.sql = SELECT...')<br />#8 /var/www/html/prod/typo3conf/ext/qfq/Classes/Core/QuickFormQuery.php(258): IMATHUZH\Qfq\Core\QuickFormQuery->doReport()<br />#9 /var/www/html/prod/typo3conf/ext/qfq/Classes/Controller/QfqController.php(47): IMATHUZH\Qfq\Core\QuickFormQuery->process() </td>
</tr>
</table> QFQ - Bug #11057 (ToDo): Checkboxes ohne span.checkmark im Report werden ausgeblendethttps://project.math.uzh.ch/issues/110572020-08-24T09:28:18ZElias Villiger
<p>Wenn in einem Report manuell eine Checkbox angelegt wird, z.B.<br /><pre><label class="checkbox-inline"><input type="checkbox">Check me</label></pre><br />dann blendet das QFQ CSS die Checkbox aus, ohne eine Ersatz-checkmark anzuzeigen. Funktioniert erst, wenn das <label> manuell mitt<br /><pre><span class="checkmark"></span></pre><br />ergänzt wird.</p>
<p>Mögliche Lösung: die entsprechenden CSS-selectors anpassen, dass sie nur innerhalb von qfq-forms gelten.</p> QFQ - Bug #10324 (New): Excel Export mit Template funktioniert nur, wenn Template vor uid kommthttps://project.math.uzh.ch/issues/103242020-03-30T09:20:24ZElias Villiger
<p>Bsp:</p>
<p>Dieser Link verwendet das Template:</p>
<pre>
CONCAT('d:final.xlsx|t:Excel (template)|F:fileadmin/template.xlsx|uid:54') AS _excel
</pre><br />Dieser Link verwendet das Template nicht:
<pre>
CONCAT('d:final.xlsx|t:Excel (template)|uid:54|F:fileadmin/template.xlsx') AS _excel
</pre> QFQ - Feature #10286 (Closed): Download Links: Glyphicon selbst wählen/ausblendenhttps://project.math.uzh.ch/issues/102862020-03-23T08:39:45ZElias Villiger
<p>Bei Download links ist es aktuell nicht möglich, das standardmässig angezeigte Icon anzupassen oder auszublenden (G:0 hat keinen Einfluss).</p>
<p>Das wäre insbesondere mit den Font-Awesome-Icons file-word-o und file-pdf-o interessant.</p>
<p>Bsp.: <code>'s:1|c:n|d:Document.docx|f:path/to/doc.docx|t:<i class="fa fa-file-word-o"></i>|G:0' AS _link</code><br />(zeigt aktuell zwei Symbole an)</p> QFQ - Bug #10257 (Closed): Delete _link funktioniert nur, wenn der Parameter x zuletzt kommt.https://project.math.uzh.ch/issues/102572020-03-14T10:57:11ZElias Villiger
<p>Betrifft Delete-Links per AS _link (nicht AS _paged):</p>
<p>Folgender Code rendert nur in den ersten zwei Fällen den Delete-Button, d.h. nur, wenn das Argument |x nach |U: aufgeführt wird!</p>
<pre><code>10.sql = SELECT 'D|U:form=person&r=303|x' AS _link, '/',
'U:form=person&r=303|x|D' AS _link, '/',
'D|x|U:form=person&r=303' AS _link, '/',
'x|D|U:form=person&r=303' AS _link
</code></pre> QFQ - Bug #9053 (Closed): Eingabe von tablesorter-filter in einem Formular aktiviert Save-Buttonhttps://project.math.uzh.ch/issues/90532019-09-07T09:46:01ZElias Villiger
<p>Bsp.: Wenn im FormEditor nach einem bestimmten FormularElement gesucht wird und man den entsprechenden Namen im Filter-Input eingibt, wird dadurch der Save-Button aktiviert, obwohl am Formular an sich nichts verändert wird. Der entsprechende Trigger müsste für tablesorter-filter Inputs deaktiviert werden.</p> QFQ - Bug #8577 (Closed): Text in SELECT statement, der mit underscore (_) beginnt, wird nicht an...https://project.math.uzh.ch/issues/85772019-06-18T16:47:14ZElias Villiger
<p>Bsp. Report:</p>
<pre>
10.sql = SELECT '_text'
</pre>
<p><strong>Problem</strong>: Es wird nichts angezeigt, da die Spalte von MariaDB den Spaltennamen _text erhält und dann von QFQ als auszublendende Spalte interpretiert wird.</p>
<strong>Mögliche Lösungen</strong>:
<ul>
<li>QFQ überprüft, ob das "AS" keyword verwendet wurde und blendet mit _ beginnende Spalten nur dann aus.</li>
<li>QFQ-seitig nichts anpassen, aber einen Hinweis im Manual hinzufügen, dass solche Spalten einen expliziten Namen erhalten sollten.</li>
<li>?</li>
</ul> QFQ - Bug #8431 (New): autocron.php with wrong pathhttps://project.math.uzh.ch/issues/84312019-05-30T08:29:40ZElias Villiger
<p>Elias hat qfq auf einem Mietserver laufen und kann cron Jobs nur via Webinterface konfigurieren. Die T3 Instanz ist im Verzeichnis '~/httpdocs'. Der Autocron Job wird mit '~/httpdocs/typo3conf/ext/qfq/external/autocron.php' gestartet. QFQ scheint fuer das logging den argv<sup><a href="#fn0">0</a></sup> von links an zu parsen. Das geht in diesem Fall schief. Folgende Tests waeren gut:</p>
<p>autocron.php/ save/ load: Aufruf mit</p>
<ul>
<li>absoluten Pfad</li>
<li>Pfad relativ zu 'Document Root'</li>
<li>Pfad relativ zu irgendwas</li>
</ul>
<p>Es waere gut eine zentrale Stelle zu haben:</p>
<ul>
<li>Die das CWD aut <T3 Installation Dir> setzt.</li>
<li>Den absoluten Pfad in config[] eintraegt.</li>
</ul> QFQ - Bug #8430 (Closed): QFQ Doc misinghttps://project.math.uzh.ch/issues/84302019-05-29T12:40:20ZElias Villiger
<p>Bei Aufruf der QFQ-Doku über den Typo3 TER ( <a class="external" href="https://docs.typo3.org/typo3cms/drafts/github/T3DocumentationStarter/Public-Info-053/">https://docs.typo3.org/typo3cms/drafts/github/T3DocumentationStarter/Public-Info-053/</a> ) kommt "Page not found 404".</p>
<p><a class="external" href="https://docs.typo3.org/m/typo3/docs-how-to-document/master/en-us/WritingDocForExtension">https://docs.typo3.org/m/typo3/docs-how-to-document/master/en-us/WritingDocForExtension</a><br />Example Code Documentation: <a class="external" href="https://github.com/TYPO3-Documentation/TYPO3CMS-Example-ExtensionManual.git">https://github.com/TYPO3-Documentation/TYPO3CMS-Example-ExtensionManual.git</a></p> QFQ - Feature #8335 (Closed): Form Close: Konfigurieren des "Save Changes?" Dialogfeldshttps://project.math.uzh.ch/issues/83352019-05-14T15:47:35ZElias Villiger
<p><strong>Szenario</strong>: Formular mit</p>
<pre>
submitButtonText = Submit Form
</pre>
<ul>
<li>User füllt das Formular (testweise) aus, klickt dann aber auf <em>Close</em> / <em>Cancel</em>.</li>
<li>Es erscheint das Popup "You have unsaved changes. Do you want to save first?" </li>
<li>User klickt <em>Ja</em> -> Form wird submitted.</li>
</ul>
<p><strong>Das Problem</strong>: User meint, das Formular wird nur zwischengespeichert. In Wirklichkeit ist aber <em>Close</em> -> <em>Ja</em> gleichbedeutend mit <em>Submit Form</em>.</p>
<p><strong>Gewünschtes Feature</strong>: Der Popup-Dialog kann konfiguriert werden: custom text (oder optional: ganz deaktivieren; Form wird nicht gespeichert).</p> QFQ - Feature #8272 (Closed): Formular > Save: Button save disable solange ein upload aktiv ist.https://project.math.uzh.ch/issues/82722019-05-02T18:30:33ZElias Villiger
<p>Das Hochladen einer grösseren Datei in einem Upload FormElement dauert eine Weile (erkennbar am drehenden Rädchen des Upload-Buttons). Wenn während dieser Zeit der Save-Button des Formulars geklickt wird, verschwindet die Datei im Nirwana und wird auch nicht verlinkt.</p>
<p>Mögliche Lösung: Beim Klicken auf Save werden ausstehende Uploads abgewartet.</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 #7903 (Closed): Delete mit table= als parameter funktioniert nicht mehrhttps://project.math.uzh.ch/issues/79032019-02-16T12:34:48ZElias Villiger
<p>Bsp: 'U:table=gGroupMember&r=1' AS _paged</p>
<p>Gibt einen recht generischen SQL Error (siehe Screenshot)</p>
<p>Getestet auf geolean und privater Webseite (QFQ 19.2.0).</p>
<p>Die Alternative 'U:form=FormName&r=1' AS _paged funktioniert nach wie vor.</p> QFQ - Bug #7795 (New): Readonly Form: Typeahead-Felderhttps://project.math.uzh.ch/issues/77952019-01-31T15:12:58ZElias Villiger
<p>Ein FormElement, das ein typeAheadSql definiert hat, zeigt weiterhin ein Dropdown-Menu an, auch wenn es auf Readonly gesetzt ist.</p>
<p>Bearbeitet werden kann das Input-Element aber nicht.</p> QFQ - Feature #7156 (Closed): Fehlermeldung, falls 10.sql doppelt definierthttps://project.math.uzh.ch/issues/71562018-11-02T08:55:00ZElias Villiger
<p>Manchmal definiert man aus Versehen z.B. 10.sql doppelt, was dann zu unerwarteten Effekten führt.</p>
<p>Beispiel:<br />10.sql = SELECT x<br />10.sql = SELECT y (statt 20.sql)</p>
<p>Da eine solche Definition nie Absicht ist, könnte es zu einer spezifischen Fehlermeldung führen, damit man nicht nach anderen Ursachen sucht.</p> QFQ - Feature #7135 (Closed): Sendmail: weitere Parameter (username, password)https://project.math.uzh.ch/issues/71352018-10-30T20:47:33ZElias Villiger
<p>Beim SendEmail Perl script möchte ich gerne zwei weitere Argumente angeben: -xu (USERNAME) und -xp (PASSWORD) (siehe <a class="external" href="http://caspian.dotconf.net/menu/Software/SendEmail/">http://caspian.dotconf.net/menu/Software/SendEmail/</a>)</p>
<p>Hintergrund: Sicherheitstechnisch kann/sollte der Mailserver externe Mails nur nach SMTP Authentifizierung verschicken können. (Aktuell erhalte ich beim Versuch, externe Mails zu verschicken, eine Fehlermeldung "Relay access denied")</p>
<p>Wie würde man das am besten implementieren? Als weitere sendMail Argumente, oder vlt allgemeiner halten, dass auch in Zukunft weitere Parameter angegeben werden könnten? Ich würde es mir auch überlegen, das auf eigene Zeit zu implementieren.</p> QFQ - Bug #7093 (Closed): Monitor.php: Fehler im Code für PHP 5https://project.math.uzh.ch/issues/70932018-10-26T12:54:29ZElias Villiger
<p>Beim Aufsetzen von AutoCron auf meiner privaten Seite gab es folgenden Fehler:</p>
<p>PHP Parse error: syntax error, unexpected '::' (T_PAAMAYIM_NEKUDOTAYIM) in /var/www/vhosts/villigerfamily.ch/httpdocs/typo3conf/ext/qfq/qfq/qfq/report/Monitor.php on line 85</p>
<p>Ich erstelle grad kurz einen Merge Request.</p> QFQ - Bug #6929 (Closed): AS _savePdf verschiebt (statt kopiert) Datei, wenn per F: angegebenhttps://project.math.uzh.ch/issues/69292018-10-08T14:17:10ZElias VilligerQFQ - Feature #6715 (Some day maybe): Code-Refactoring: dbArray vereinheitlichenhttps://project.math.uzh.ch/issues/67152018-09-15T13:57:00ZElias Villiger
<p>dbArray wird aktuell an vielen Stellen separat definiert. Würde es Sinn machen, dies z.B. in der Store class zu vereinheitlichen?</p> QFQ - Feature #6706 (Closed): MailLog: CC und BCC werden nicht geloggthttps://project.math.uzh.ch/issues/67062018-09-14T12:53:53ZElias Villiger
<p>Tabelle mit CC und BCC ergänzen</p> QFQ - Feature #6704 (Some day maybe): Upload Mode: Bilder in Notizen rechts sollen aktuellen Uplo...https://project.math.uzh.ch/issues/67042018-09-14T11:11:06ZElias Villiger
<p><p><a href="{{pathFileName:FR0:allbut:d}}"><img style="height: 48px;" src="{{pathFileName:FR0:allbut:d}}" /></a></p></p> QFQ - Feature #6653 (Closed): saveButtonClass greift nur, wenn der save button in der navbar oben...https://project.math.uzh.ch/issues/66532018-09-10T11:01:29ZElias Villiger
<p>Im Fall eines Submit buttons kann die Klasse nicht angepasst werden.</p> QFQ - Bug #6484 (Closed): Download-Links werden immer als Buttons gerenderthttps://project.math.uzh.ch/issues/64842018-08-09T13:16:29ZElias Villiger
<p>Es wird jeweils ein <button> innerhalb eines <a> gerendert.</p>
<p>Wird eine Klasse (z.B. c:btn-info) angegeben, wird diese Klasse nur auf das äussere <a>-Element angewendet.</p>
<p>Das innere Element (<button>) ist immer vom Typ button und mit class="btn btn-default"</p> QFQ - Feature #6481 (Closed): Unterstützung für Tabellen mit primary key != 'id'https://project.math.uzh.ch/issues/64812018-08-08T07:31:22ZElias Villiger
<p>Bei einem Lösungsansatz von <a class="issue tracker-2 status-5 priority-2 priority-default closed" title="Feature: Inline editing von Reports (Closed)" href="https://project.math.uzh.ch/issues/6255">#6255</a> (der sich dann nicht bewährt hat) bereits teilweise implementiert.</p>
<p>Konfiguration per Form.parameter:<br />`tableId = uid`</p>
<p>Dadurch können auch Tabellen bearbeitet werden, welche einen anderen primary key haben.</p>
<p><del>Implementierung von <a class="issue tracker-2 status-5 priority-2 priority-default closed" title="Feature: Inline editing von Reports (Closed)" href="https://project.math.uzh.ch/issues/6255">#6255</a> funktioniert bereits für Form LOAD und SAVE (merge request !66).</del></p> QFQ - Bug #6401 (Closed): sendmail: backtick muss escaped werdenhttps://project.math.uzh.ch/issues/64012018-07-10T18:09:20ZElias Villiger
<p>Wenn bei einer _sendmail column das Zeichen ` unpaarig vorkommt, kommt anstelle Mailversand die Fehlermeldung im Anhang.</p>
<p>Das Zeichen müsste wohl generell von qfq escaped werden.</p> QFQ - Support #6357 (Closed): Generiertes PDF auf Server abspeichernhttps://project.math.uzh.ch/issues/63572018-07-03T17:41:39ZElias Villiger
<p>Gibt es die Möglichkeit schon?</p>
<p>Ich möchte für geolean ein Masterarbeits-Titelblatt generieren (#6353) und abspeichern. Das Generieren ist kein Problem, aber ich kann das Resultat nur als Download anbieten. Macht natürlich keinen Sinn, wenn ich den User auffordere, die Datei runterzuladen nur um sie danach wieder hochzuladen.</p>
<p>Mit einer entsprechenden Abspeicher-Funktion könnte man z.B. auch bestehende PDFs zusammenfügen, in einem späteren Schritt falls gewünscht ev. auch split.</p>
<p>Mögliche Schreibweise: ähnlich wie download (AS _pdf), aber das Argument 'd:' ist nicht exportFilename sonder saveAsPath<br /><pre>
SELECT 'U:id=pageid&param=val|F:filename.pdf|d:fileadmin/folder/output.pdf' AS _savePdf
</pre></p> QFQ - Feature #6334 (Closed): QFQ Content Element: Backend Syntax Highlighting - t3editor in Typo...https://project.math.uzh.ch/issues/63342018-06-30T12:17:50ZElias Villiger
<p>Ideal wäre ein Syntax-Highlighting für QFQ-Syntax und SQL.</p>
<p>(aktuelles Highlighting im Rahmen von <a class="issue tracker-2 status-5 priority-2 priority-default closed" title="Feature: Typo3 Page Content qfq: Layout (Closed)" href="https://project.math.uzh.ch/issues/3294">#3294</a> für sparql ist nicht befriedigend)</p>
<p>Mit Typo3 9.0 sollte min. die SQL-Syntax relativ einfach machbar sein, da dem t3editor zusätzliche modes eingebunden werden können: <a class="external" href="https://docs.typo3.org/typo3cms/extensions/core/Changelog/9.0/Feature-81901-ExtendT3editor.html">https://docs.typo3.org/typo3cms/extensions/core/Changelog/9.0/Feature-81901-ExtendT3editor.html</a></p>
<p>Typo3 9.0 hat ausserdem zusätzliche hilfreiche Config-Optionen wie enableTabulator und fixedFont:<br /><a class="external" href="https://docs.typo3.org/typo3cms/TCAReference/ColumnsConfig/Type/Text.html">https://docs.typo3.org/typo3cms/TCAReference/ColumnsConfig/Type/Text.html</a></p>
<p>Eine andere Möglichkeit, vermutl. zu viel Aufwand: <a class="external" href="https://usetypo3.com/fs-code-snippet.html">https://usetypo3.com/fs-code-snippet.html</a></p> QFQ - Feature #6255 (Closed): Inline editing von Reportshttps://project.math.uzh.ch/issues/62552018-06-18T09:30:42ZElias Villiger
<p>Bsp: Im Front-End ist der Developer auf einer Seite und kann den aktuellen Report-Record mit Edit-Link bearbeiten.</p>