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 - Feature #18040 (New): Checkbox Custom-Listehttps://project.math.uzh.ch/issues/180402024-03-02T12:00:47ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Ziel: Checkbox Listen zum abarbeiten - eigenstaendig erweiterbar</p>
<p>Beispiel aus Redmine:</p>
<p><img src="https://project.math.uzh.ch/attachments/download/9382/clipboard-202403021239-n2k4h.png" alt="" /></p>
<p>Wichtig: die Reihenfolge kann via Drag'n'Drop geaendert werden. Check welchen Code wir schon haben (Subrecord, Benj).</p>
<p><code>FormElement.parameter.itemList</code> ist bereits genau die Checkbox-Liste</p>
<ul>
<li>static</li>
<li>Values werden Komma-separiert im String abgelegt. Bei Komma im Value haben wir vermutlich ein Problem.</li>
</ul>
<a name="Moegliche-Umsetzung"></a>
<h2 >Moegliche Umsetzung<a href="#Moegliche-Umsetzung" class="wiki-anchor">¶</a></h2>
<ul>
<li><code>FormElement.parameter.checkBoxType = static|custom</code>
<ul>
<li><code>static</code> ist das bisherige und der default.</li>
<li><code>custom</code> ist dieses Ticket.</li>
</ul></li>
</ul>
<a name="Itemliste-und-Status-pro-Item"></a>
<h3 >Itemliste und Status pro Item<a href="#Itemliste-und-Status-pro-Item" class="wiki-anchor">¶</a></h3>
<ul>
<li>Soll der User die Moeglichkeit haben selber Items zu erfassen muessen diese irgendwo gespeichert werden.</li>
<li>Der Status eines jeden Items muss gespeichert werden.</li>
<li>Sections waeren nett.</li>
<li>Drag'n'Drop muss nicht in 1.0 sein, ist aber definitiv gefordert.</li>
</ul>
<p>Vorschlag: Labels und Values (inkl. 'sections') in einem JSON struct</p>
<ul>
<li>Das JSON wird genau in der Spalte des FE gespeichert (muss also ein String sein).</li>
<li>Wird das JSON zu gross zum speichern (Bsp varchar 128), gibt es bereits im Client eine Fehlermeldung damit der User nicht viele Items anlegt und dann enttaeuscht ist das sie nicht gespeichert werden koennen.</li>
<li>Ein 'Template' kann also einfach angeboten werden, in dem das JSON in FE.value steht.</li>
<li>Nach Moeglichkeit sollte das JSON so gesepichert werden das wir es mit den MariaDB JSON Funktionen verwenden koennen.</li>
</ul> QFQ - Feature #18037 (New): Auto BPMN Update: QFQ/rclonehttps://project.math.uzh.ch/issues/180372024-03-02T09:37:05ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Ziel: BPMN Workflows verbinden mit Ticketsystem, ist ein Ticket / Milestones abgearbeitet wird das im BPMN visuell markiert.</p>
<p>Moegliches Konzept:</p>
<ul>
<li>BPMN ist im Switchdrive</li>
<li>QFQ bekommt via 'rclone' Nextclod, OwnCloud, Dropbox, OneDrive, GDrive Support und kann so auf Dateien zugreifen.</li>
<li>In QFQ ist die PathFilename-Referenz auf das BPMN hinterlegt</li>
<li>Es gibt eine API (Redmine, QFQ Notez) um den Status von Tickets abzufragen.</li>
<li>QFQ ruft (on request, periodically) ein Skript auf welches:
<ul>
<li>Fuer jedes im BPMN referenzierte Ticket den Status via API abruft.</li>
<li>Den Status visuell im BPMN eintraegt (z.B. Hintergrundfarbe des Elements setzen)</li>
<li>Dadurch dass das File via rclone im Sync gehalten wird, haben sofort alle User das aktuelle File.</li>
</ul></li>
</ul> QFQ - Feature #17868 (New): Automatisierte Security Testshttps://project.math.uzh.ch/issues/178682024-02-12T12:44:12ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Bei Heise wird ein Workshop zum Thema angeboten.</li>
<li>Die Topics (siehe PDF) koennen helfen selber in dem Bereich Checks aufzubauen.</li>
</ul> QFQ - Feature #17813 (New): bsColumns - bisher: col-md-12 col-lg-10 / neu: col-md-12 col-lg-8https://project.math.uzh.ch/issues/178132024-02-03T16:40:19ZCarsten Rosecarsten.rose@math.uzh.ch
<p>bsColumns:</p>
<a name="Neu-1680px-col-md-12-col-lg-8"></a>
<h2 >Neu 1680px (col-md-12 col-lg-8)<a href="#Neu-1680px-col-md-12-col-lg-8" class="wiki-anchor">¶</a></h2>
<p><img src="https://project.math.uzh.ch/attachments/download/9140/clipboard-202402031737-pag4g.png" alt="" /></p>
<p><img src="https://project.math.uzh.ch/attachments/download/9143/clipboard-202402031811-a3aus.png" alt="" /></p>
<a name="Alt-1680px-col-md-12-col-lg-10"></a>
<h2 >Alt 1680px (col-md-12 col-lg-10)<a href="#Alt-1680px-col-md-12-col-lg-10" class="wiki-anchor">¶</a></h2>
<p><img src="https://project.math.uzh.ch/attachments/download/9141/clipboard-202402031739-hnb8a.png" alt="" /></p>
<p><img src="https://project.math.uzh.ch/attachments/download/9142/clipboard-202402031809-ae1ib.png" alt="" /></p> QFQ - Feature #17791 (New): Checkbox: copy default texthttps://project.math.uzh.ch/issues/177912024-02-02T12:16:07ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Bei einer Liste von Checkboxen soll es moeglich sein hinterlegte Texte mit einem Mausclick in die Zwischenablage zu kopieren.</p>
<ul>
<li>Die 'action' Button kommt hinter das letzte Feld in die Kommentarspalte.</li>
<li>Click kopiert die Texte in die Zwischenablage, oder es wird eine HTML ID / CLASS angegeben und dort hinkopiert (z.B. das Chat Input Fenster)</li>
</ul>
<p>Bsp:</p>
<pre>
[] rot
[] gruen
[] gelb
</pre>
<ul>
<li>rot: erdbeere, radieschen, paprika rot</li>
<li>gruen: erbse, apfel gruen, </li>
<li>gelb: zitrone</li>
</ul>
<pre>
{{!SELECT id, label, copytext FROM gruppe ....}}
'copytext' wird nicht angezeigt, sodnern ist der Text der in die Zwischenablage kopiert wird.
!clipboard-202402021310-orpas.png!</pre> 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 #17647 (New): Chat Ratchet Websocket Server: a) start on boot, b) multiple racthet ...https://project.math.uzh.ch/issues/176472024-01-18T12:28:35ZCarsten Rosecarsten.rose@math.uzh.ch
<p>a) start on boot</p>
<ul>
<li>Ratched soll beim Boot automatisch starten. </li>
<li>Es gibt kein Stop mehr</li>
</ul>
<p>b) multiple racthet instances,</p>
<ul>
<li>Pro Host koennen mehere Ratchets gestartet/beendet werden.</li>
<li>Ratchet Config Datei entsprehcend anpassen.</li>
<li>Optionale Check ob nginx/apache entsprechende Proxy Anweisungen enthalten</li>
</ul>
<p>c) update QFQ not to start/stop</p>
<ul>
<li>Aus dem Controller das 'start' und aus QFQ das 'stop' entfernen.</li>
</ul>
<p>d) Update installation doc</p>
<ul>
<li>NGINX/Apache Config Beispiel</li>
<li>Start Script fuer Ratched in QFQ mit verteilen.</li>
</ul> QFQ - Feature #17539 (New): Check if stored procedures exist - if not, createhttps://project.math.uzh.ch/issues/175392024-01-05T11:55:23ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>CR passiert es regelmaessig das neue T3 Instanzen erstellt werden und diese via mysqldump restauriert werden.</li>
<li>Dabei gehen die 'stored procedures' haeufig vergessen.</li>
<li>Es waere gut wenn die dann einfach angelegt werden wuerden.</li>
</ul>
<p><img src="https://project.math.uzh.ch/attachments/download/8957/clipboard-202401051252-pjznw.png" alt="" /></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 #17466 (New): BS5 list 'suggestions / topics / discuss'https://project.math.uzh.ch/issues/174662023-12-12T09:45:31ZPhilipp Gröbelbauer
<p>Add Suggestions and discuss ideas around the future BS5 layout.</p>
<ul>
<li>Suggestion: Display Form Control Buttons at the bottom of the form, sticky. (<a class="issue tracker-2 status-1 priority-2 priority-default" title="Feature: Rearrange form buttons (New)" href="https://project.math.uzh.ch/issues/17442">#17442</a>)</li>
</ul> QFQ - Bug #17361 (New): Annotate FE doesnt initialize/showhttps://project.math.uzh.ch/issues/173612023-11-27T16:59:16ZEnis Nuredini
<p>The annotate form-element doesn't get initialized. Defined formId variable which is used for initialization is undefined. Somehow the form id handlings have been changed.</p>
<p>Could be an issue for other elements too.</p> QFQ - Feature #16635 (New): Config: allowedFromAdresseshttps://project.math.uzh.ch/issues/166352023-07-20T15:24:05ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Die ZI bestehen darauf das wir nur Emails versenden duerfen mit einer FROM Adresse die eine Share Emailbox entspricht (keine persoenlilchen Adressen).</li>
</ul>
<p>Damit das sichergestellt ist, neue Config Option einfuehren 'allowedFromAdresses'.</p>
<p>CSV Liste mit Emailadressen.</p> QFQ - Bug #16344 (New): 'M:file' hat keinen Einfluss im sendmail (.xlsx / .docx kommt als .zip an)https://project.math.uzh.ch/issues/163442023-06-02T14:50:47ZPhilipp Gröbelbauer
<p>Auf webwork16/grc wurden Mail Templates angelegt mit mehreren Attachments.<br />Wird das Mail versendet, dann kommt ein .docx Attachment als .zip Datei an. <br />Das M:file hat dabei keinen Einfluss.<br />Das verarbeitete sendmail lautet:</p>
<pre>
'f:Marco Toscano
|t:philipp.groebelbauer@math.uzh.ch
||s:Travel Grant accepted!
|b:Dear Mr. Gröbelbauer...
|d:DecisionLetter.pdf
|p:id=letterbody&noId=9397&pdIdReceiver=1982&reId=1309&_sip=1&--margin-top=50mm&--margin-bottom=20mm&--header-html=https://webwork16.math.uzh.ch/grc/dev/?id=letterheade&--footer-right="Page: [page]/[toPage]"&--footer-font-size=8&--footer-spacing=10
|d:Expenses_Form_Travel_Grant.xlsx
|M:file
|F:fileadmin/protected/mailing/travelgrants/9394_10569_Expenses_form_Travel_Grant.xlsx
|d:Flightrecord_Travel Grant
|M:file
|F:fileadmin/protected/mailing/travelgrants/9395_10584_Flightrecord_Travel_Grant.docx
|d:Instructions_expense_form_extern
|M:file
|F:fileadmin/protected/mailing/travelgrants/9396_10589_Instructions_expense_form_extern.png
|g:615
|x:1309' AS _sendmail
</pre> QFQ - Feature #15992 (New): Block IP for failed loginshttps://project.math.uzh.ch/issues/159922023-04-12T12:14:58ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Min in Typo3 V11 ist das bereits implmentiert:</p>
<p><a class="external" href="https://docs.typo3.org/c/typo3/cms-core/main/en-us/Changelog/11.3/Feature-93825-RateLimitingForFailedLogins.html">https://docs.typo3.org/c/typo3/cms-core/main/en-us/Changelog/11.3/Feature-93825-RateLimitingForFailedLogins.html</a></p>
<p>Allerdings ist nicht klar wie lange das Block anhaelt und ob sich das auf die IP bezieht oder ob sich dann niemand mehr einloggen kann.</p>
<p>Am besten genauer anschauen. Im besten Fall kann dann auf eine eigene QFQ Loesung verzichtet werden.</p>
<p>Loesung in der QFQ Doku unter Secrurity beschreiben.</p> QFQ - Feature #15969 (New): Auto Update Stored Procedurehttps://project.math.uzh.ch/issues/159692023-04-06T07:58:57ZEnis Nuredini
<p>Wird eine QFQ Instanz als ganzes kopiert und ein SQL Dump von einer DB zur anderen importiert, so fehlen die Stored Procedures. Bisher wurden diese manuell übertragen.</p>
<p>1) Neu braucht es in der QFQ Extension Config unter dem Tab Debug bei database.update eine dritte Option 'autoDb'. Es gibt schon 'auto' und 'always'. 'auto' würde alles triggern beim DB Update inkl. einem Check ob Stored Procedures existieren und diese erstellen falls nicht (sollte bestehender Code existieren). 'autoDb' führt alles aus wie bisher mit Ausnahme der Stored Procedures. Bei 'always' wird sowieso alles ausgeführt und das bei jedem Load wie gewohnt. Permissions werden vorausgesetzt damit Typo3 die Stored Procedures erstellen kann.</p>
<p>2) Was noch ein Thema war: Triggern der Create Stored Procedures falls QFQ Fehlermeldung erscheint dass eine aufzurufende SQL Function nicht gefunden wurde (Idee wurde wieder verworfen.). Danach ein Check ob das Create Stored Procedures erfolgreich ausgeführt wurde.</p> QFQ - Feature #15812 (New): Upload: download button appears after uploading filehttps://project.math.uzh.ch/issues/158122023-03-16T12:01:35ZJan Haller
<p>Weiterentwicklung von <a class="issue tracker-1 status-1 priority-2 priority-default" title="Bug: Upload: download button not shown after pressing save (New)" href="https://project.math.uzh.ch/issues/15795">#15795</a>:<br />Nach dem Upload (Datei auswaehlen, noch kein Save gedrueckt) soll ein Downloadbutton erscheinen, um die Datei direkt wieder herunzerzuladen.</p>
<p><img src="https://project.math.uzh.ch/attachments/download/7532/clipboard-202303161301-3ezmi.png" alt="" /></p> QFQ - Feature #15428 (New): Calendar: create new event with mouse clickhttps://project.math.uzh.ch/issues/154282023-01-24T13:55:00ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Aktuell koennen wir keine Termine durch einen Klick in den Kalender anlegen - gewuenscht waere:</p>
<ol>
<li>Termine anlegen, Werte sind vorbelegt mit dem wo die Maus geklickt hat. </li>
<li>Termine koennen per Maus verschoben / verkuerzt/verlaengert werden.</li>
</ol>
<p>Bei Anlegen/Veraenderung sollte ein QFQ Form aufgehen.</p>
<p>Wir verwenden <a class="external" href="https://fullcalendar.io/">https://fullcalendar.io/</a>, scheinbar noch V3 - aktuell ist V6</p>
<p>Hier ist eine Doku zu Move/Reseize: <a class="external" href="https://fullcalendar.io/docs/event-dragging-resizing">https://fullcalendar.io/docs/event-dragging-resizing</a></p>
<p>Bei uns sieht es aktuell so aus:</p>
<p><img src="https://project.math.uzh.ch/attachments/download/7194/clipboard-202301241448-0j9fk.png" alt="" /></p>
<p>Anwendung: I-MATH Raumreservation</p> 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 - Feature #15321 (New): Checkbox with more than 2 states - like doodle 'yes', 'no', 'maybe', ...https://project.math.uzh.ch/issues/153212023-01-05T14:26:09ZCarsten Rosecarsten.rose@math.uzh.ch
<p>[ ] yes,no,maybe,...</p>
<p>key, value (grafik)</p> QFQ - Bug #15050 (New): Farbe Textfeld grau bei Wechsel von readonly auf show https://project.math.uzh.ch/issues/150502022-11-18T15:05:39ZJan Haller
<p>Textfeld mit TypeAhead bleibt grau, wenn mit Dynamic Update von readonly auf show gewechselt wird. Ursache <input background-color:"transparent"> (siehe Screenshot).</p> QFQ - Bug #15047 (New): {{allRequiredGiven:V}} = 0, wenn Note Formelement auf required isthttps://project.math.uzh.ch/issues/150472022-11-18T10:11:34ZPascal Rössler
<p>Wenn ein Note Formelement auf mode=required hat, ist {{allRequiredGiven:V}} immer = 0. Da man ein Formelement vom Typ Note gar nicht ausfüllen kann.</p> QFQ - Bug #14077 (New): As _link: Attribute 'class' missing by r:1 and r:3 - but should sethttps://project.math.uzh.ch/issues/140772022-04-15T08:11:37ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>In #13350 beshreibt Benj das 'class' scheinbar nicht gesetzt wird bei r:1 und r:3.</li>
<li>Frage: in welchem Render Mode sollen Attribute gesetzt werden? <a class="external" href="http://docs.qfq.io/en/master/Report.html#render-mode">http://docs.qfq.io/en/master/Report.html#render-mode</a></li>
<li>Ganz sicher immer wenn 'text' ausgegeben werden soll.</li>
<li>Vorschlag: 1,2,3,4,6</li>
</ul> QFQ - Bug #13647 (New): Autofocus funktioniert nicht auf Chromehttps://project.math.uzh.ch/issues/136472022-01-11T16:14:52ZBenjamin Baerbenjamin.baer@math.uzh.ch
<p>Beispiel:</p>
<p>Forked: <a class="external" href="https://webwork16.math.uzh.ch/forkred/">https://webwork16.math.uzh.ch/forkred/</a> > Gesuch UZH Candoc / Postdoc Grant > Neues Gesuch - wenn das Form aufgerufen wird springt der vert scrollbalken gleich nach unten.</p>
<p><img src="https://project.math.uzh.ch/attachments/download/5764/forkred.png" alt="" /></p>
<p>Das tritt auf Chrome und Chromebasierten Browser auf.</p>
<p>Firefox hingegen scrollt korrekt zum gesetzten Autofokus:</p>
<p><img src="https://project.math.uzh.ch/attachments/download/5762/betterScroll.gif" alt="" /></p>
<p>autofocus="1" ist im Element gesetzt.</p> QFQ - Feature #13467 (New): ChangeLog Generatorhttps://project.math.uzh.ch/issues/134672021-12-04T20:06:43ZCarsten Rosecarsten.rose@math.uzh.ch
<p>git-cliff: A highly customizable Changelog Generator that follows Conventional Commit specifications</p>
<p><a class="external" href="https://github.com/orhun/git-cliff">https://github.com/orhun/git-cliff</a></p>
<blockquote><blockquote>
<p>Anschauen ob das was ist fuer uns</p>
</blockquote></blockquote> QFQ - Bug #13451 (New): Character Counter / Max Character: Problem in Safarihttps://project.math.uzh.ch/issues/134512021-11-30T19:43:10ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Mitunter ist der Character Counter in Textarea Feldern ungenau. Der Fehler scheint bei Safari aufzutreten. In Firefox oder Google Chrome (Linux & Mac) kann der Effekt nicht beobachtet werden.</p>
<p>Werden z.B. bei dem unten genannten Feld 2500 Zeichen (nur Ziffern) aus der Zwischenablage eingefuegt, kann man unter Safari immer noch Zeichen (>100) eingeben.</p>
<pre>
{
"dynamicUpdate": "no",
"enabled": "yes",
"name": "project_description",
"label": "Zusammenfassung<\/div><div class=\"col-md-9\"><small><i>max. 2'500 Zeichen inkl. Leerzeichen<\/i><\/small>",
"mode": "required",
"modeSql": "",
"class": "native",
"type": "text",
"subrecordOption": "",
"encode": "specialchar",
"checkType": "auto",
"checkPattern": "",
"onChange": "",
"ord": 490,
"tabindex": 0,
"size": "62,25",
"maxLength": "2500",
"labelAlign": "default",
"bsLabelColumns": "3",
"bsInputColumns": "9",
"bsNoteColumns": "0",
"rowLabelInputNote": "row,label,\/label,input,\/input,note,\/note,\/row",
"note": "",
"adminNote": "",
"tooltip": "",
"placeholder": "",
"value": "",
"sql1": "",
"parameter": "characterCountWrap = <small><i><span class=”qfq-cc-style”>Zeichen: | <\/span><\/i><\/small>",
"parameterLanguageA": "label = Summary<\/div><div class=\"col-md-9\"><small><i>max. 2'500 characters, including spaces<\/i><\/small>\r\n\r\ncharacterCountWrap = <small><i><span class=”qfq-cc-style”>Count: | <\/span><\/i><\/small>",
"parameterLanguageB": "",
"parameterLanguageC": "",
"parameterLanguageD": "",
"clientJs": "",
"feGroup": "",
"deleted": "no",
"modified": "2019-11-11 23:40:45",
"created": "2018-07-26 09:33:33",
"containerName_ff": "Projektangaben"
},
</pre> QFQ - Feature #12476 (New): clearMe: a) should trigger 'dirty', b) sticky on textarea resizehttps://project.math.uzh.ch/issues/124762021-05-02T14:31:20ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Es waere gut wenn bei Click auf 'clearMe' das Form Dirty wird, so dass man es direkt speichern kann.</li>
<li>Wenn man bei einem Textarea Feld die Groesse veraendert bleibt das 'x' an der alten Stelle stehen. Schoen waere es wenn es am rechten Rand kleben wuerde.</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 - Feature #12163 (New): Checkbox: table wraphttps://project.math.uzh.ch/issues/121632021-03-16T23:33:32ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>PG haette gern fuer ein LSZGS in einem Mailing Form die Moeglichkeit Checkboxen in einer Tabelle darzustellen. Diese Darstellungsmoeglichkeit ist eine gute Erweiterung.</li>
<li>Anwendung in dem Mailingform: das Formularelement enhaelt dann alle pId der markierten Personen, an diese werden dann Emails versendet. Das versenden funktioniert aktuell noch nicht im Form (<a class="issue tracker-2 status-1 priority-2 priority-default" title="Feature: FE.type=sendmail: personalized mailing (several mails) via template (New)" href="https://project.math.uzh.ch/issues/12162">#12162</a>) - er loest es in dem nach dem submit auf eine Seite weitergeleitet wird die pId SIP verschluesselt ueber geben werden.</li>
</ul>
<p>Konzept:</p>
<ul>
<li><code>fe.parameter.checkboxTableWrap = <table class="table tablesorter"><thead><tr><th>col1</th>...</head><tbody>|</tbody></table></code></li>
<li>Wenn der Parameter leer ist (default) wird wie bis anhin gerendert, sonst als Tabelle.</li>
<li>fe.sql1 wird aehnlich wie bei subrecord behandelt. </li>
<li>Unterschied: die Column '_checkbox' wird als Checkbox dargstellt, mit der bekannten Notation 'id:value:tooltip'. </li>
<li>Ansonsten jede Queryspalte ist eine HTML Table column.</li>
<li>Bsp: fe.sql1<br /><pre>
{{! SELECT p.age, CONCAT(p.id, ':', p.name, ', ', p.firstName, ':Click me') AS _checkbox, adr.street, adr.city FROM Person AS p, Address AS adr ...}}
</pre><br /></pre></li>
</ul> QFQ - Feature #12146 (New): Autocron Job: Anzeigen wann der naechste Job ausgefuehrt wird, resp d...https://project.math.uzh.ch/issues/121462021-03-15T14:23:17ZCarsten Rosecarsten.rose@math.uzh.chQFQ - 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 - Feature #11893 (New): Broken SIP: a) only report one time, b) only report in main columnhttps://project.math.uzh.ch/issues/118932021-01-25T06:42:51ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Wenn eine SIP kaputt/abgelaufen ist und man die Seite erneut aufruft, sieht man fuer jeden QFQ Record eine Fehlermeldung. Das sieht sehr unprofessionell aus.</p>
<p>Vorschlag:</p>
<ul>
<li>Es gibt eine neue Konfigurationsoption 'Report broken SIP', das broken SIPs 'always','once', 'once in main column' angezeigt werden. Default ist: 'once in main column'</li>
<li>Erkennung ob eine SIP bereits reported wurde:
<ul>
<li>Wenn es keinen Timestamp {{_broken_sip_detected:U}}' gibt oder dieser aelter als 3 Sekunden ist, </li>
<li>Die konfigurierte Spalte die des QFQ Records ist.</li>
<li>TRUE: Exception mit Fehlermeldung werden & Timstamp setzen.</li>
<li>FALSE: Exception, aber keine Fehlermeldung zum User.</li>
</ul></li>
</ul> QFQ - Bug #11752 (New): checkbox renders multiple input elements with same namehttps://project.math.uzh.ch/issues/117522020-12-17T13:58:59ZMarc Egger
<p>The checkbox form element intentionally renders an additional hidden input element with the same name.<br />This leads to issues in the frontend where input elements are selected by name. see <a class="issue tracker-1 status-5 priority-4 priority-high2 closed" title="Bug: Checkbox does not work together correctly with required fields (Closed)" href="https://project.math.uzh.ch/issues/11750">#11750</a></p>
<p>The reason for the double input element is a workaround produced by Carsten in the PHP funciton AbstractBuildForm->buildCheckbox<br />It would be best if the hidden input element had a different unique name.</p> QFQ - Bug #11715 (New): acceptZeroAsRequired and requiredOffButMark do not coincidehttps://project.math.uzh.ch/issues/117152020-12-08T11:13:30ZSimon Grüning
<p>A 0 is marked as accepted by requiredOffButMark in the front-end, but not by acceptZeroAsRequired=0 in the allRequiredGiven:V variable.</p>
<p>To reproduce, a required enum list:</p>
<pre>
emptyItemAtStart
itemList='0:0,1:1,2:2,3:3,4:4,5:5,6:6'
acceptZeroAsRequired=0
</pre> QFQ - Feature #11535 (New): Ability to create SQL columns in frontend QFQ formshttps://project.math.uzh.ch/issues/115352020-11-17T11:11:11ZSimon Grüning
<p>It would be very great for developers working or maintaining QFQ projects in the front-end, if they could create not only form elements but also the respective table columns / data structures going along with them. Unsure where/how to integrate this button/feature/ability.</p> QFQ - Bug #11522 (New): Aus/Einblenden von Reiternhttps://project.math.uzh.ch/issues/115222020-11-13T13:58:13ZChristoph Fuchs
<p>Ist beim Laden eines Formulars ein Reiter ausgeblendet und wird dieser abhängig von einem Feld dynamisch eingeblendet, so sind alle Felder dieses Reiters unsichtbar.</p>
<p>QFQ Version 20.4.0</p> QFQ - Bug #11195 (New): Dynamic Update: Note not updated if new text is empty (v20.4)https://project.math.uzh.ch/issues/111952020-09-25T09:14:05ZNicola Chiapolini
<p>We had a dynamic updated note-Element with value</p>
<p><code>#!report<br />10.sql = SELECT notes FROM rooms WHERE building = '{{building:FSRD:alnumx}}' AND room = '{{room:FSRD:alnumx}}'<br />10.twig = {{ result.0.notes }}<br /></code></p>
<p>The note-Element is not updated, if the notes is empty or the query does not return a row.<br />The following code works:</p>
<p><code>#!report<br />10.sql = SELECT notes, RAND() AS dummy FROM rooms WHERE building = '{{building:FSRD:alnumx}}' AND room = '{{room:FSRD:alnumx}}'<br />10.twig = <span>{{ result.0.notes }}</span><br /></code></p>
<p>(Since we only update via T3 Extension store, we are still running 20.4 so this might be fixed by now.)</p> QFQ - Feature #10979 (New): Ajax Calls an API - dataReporthttps://project.math.uzh.ch/issues/109792020-08-07T10:25:35ZPhilipp Gröbelbauer
<p>- QFQ Page Content per AJAX ausführen<br />- Über API, sodass kein Performance Verlust durch Typo3<br />- return Resultat des QFQ Page Contents</p>
<p>(HTML Snippet zum Testen hängt an diesem Ticket)</p> QFQ - Bug #10890 (New): AutoCron hangshttps://project.math.uzh.ch/issues/108902020-07-20T11:56:03ZChristoph Fuchs
<p>Wenn in der Tabelle "Cron" ein Wert in >0 "inProgess" definiert ist, werden für deisen Record keine Mails mehr versandt.<br />Selbst ein Neustart ändert nichts daran. Der Tooltip "inProgress > 10mins" sollte vielleicht mit einem Vermerk versehen werden.</p>
<p>Noch schöner wäre, wenn "inProgress > 10mins" automatich einen neuen Button zu Anzeige brächte, mit dem "inProgess" auf 0 zurückgesetzt werden könnte.<br />Viele Grüsse<br />c</p> QFQ - Feature #9853 (New): Check das SQL / QFQ / Mail Logfile geschrieben wirdhttps://project.math.uzh.ch/issues/98532020-01-09T10:15:45ZCarsten Rosecarsten.rose@math.uzh.chQFQ - Feature #9781 (New): Button: CSS class to make buttons smallerhttps://project.math.uzh.ch/issues/97812019-12-16T17:59:37ZCarsten Rosecarsten.rose@math.uzh.chQFQ - Bug #9275 (New): autcron: t3 page, which takes to long to respond, is not reported properlyhttps://project.math.uzh.ch/issues/92752019-10-01T18:09:29ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Auf w16 werden ueber ein AutoCron Skript gitlab Berechtigungen erzeugt. Dieses Script benoetigt mehrere Minuten. Scheinbar hat der CLI PHP Interpreter einen Timeout, der das Skript hart abbrechen laesst.<br />Der System Cron sendet dann eine Mail:<br /><pre>
FROM: root@math.uzh.ch
TO: www-data@math.uzh.ch
SUBJECT: Cron <www-data@w16> /usr/bin/php /var/www/html/my/typo3conf/ext/qfq/Classes/External/autocron.php
DATE: 01.10.2019 - 13:03:01
PHP Warning: file_get_contents(https://w16.math.uzh.ch/my?id=updateGitlabPrivileges&token=secret....&nId=all): failed to open stream: HTTP request failed! in /var/www/html/my/typo3conf/ext/qfq/Classes/Core/Helper/DownloadPage.php on line 73
</pre></p> QFQ - Bug #9177 (New): Bug? QFQ tries to save an action FE, which has real existing column namehttps://project.math.uzh.ch/issues/91772019-09-19T15:47:35ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Aufgetreten bei</p>
<ul>
<li><a class="external" href="http://webwork16.math.uzh.ch/mi">http://webwork16.math.uzh.ch/mi</a></li>
<li>Form.name: applicationReview</li>
<li>FE.id: 5443</li>
<li>FE.name: finalReviewTimestamp</li>
<li>Review.finalReviewTimestamp = datetime</li>
<li>FE.value= ''</li>
<li>Beim speichern feuert QFQ: "Update Review set finalReviewTimestamp = WHERE id = ?" - d.h. es fehlt die Angabe vor 'Where'</li>
</ul>
<p>Frage</p>
<p>1) ist es gewollt das ein Action Element auf den Spaltenname schreibt - ich denke nein: check das Action Element kein UPDATE triggern.<br />2) Warum wird ein UPDATE Statement gebaut das in der WHERE Bedingung Prepare Statement benutzt, nicht aber bei den Parametern?<br />3) Es sollte abgefangen werden wenn der Parameter leer ist - das gibt immer einen Fehler.<br />4) Kann die Fehlermeldung besser werden, so dass klar wird das nciht das sqlAfter die Ursache ist?</p> 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 - Feature #7342 (New): add content = hide_thishttps://project.math.uzh.ch/issues/73422018-11-23T10:19:19ZNicola Chiapolini
<p>When using a super-/subquery combination as an if-then construct, I want to hide the content of the super-query but show the result of sub-queries. At the moment this is not possible with the <code>content</code>-keyword. It would be nice to have the option to not hide the subqueries.</p>
<p>Personlly I would think it most logical to make this the default for <code>hide</code> and use e.g. <code>hide_all</code> to include subqueries. For backwards compatibility however, the new behaviour should probably get the new keyword. I suggest something like <code>hide_this</code></p> QFQ - Feature #7102 (New): Comment sign in report: '#' and '--'https://project.math.uzh.ch/issues/71022018-10-27T08:55:24ZCarsten Rosecarsten.rose@math.uzh.ch
<p><a class="external" href="https://www.w3schools.com/Sql/sql_comments.asp">https://www.w3schools.com/Sql/sql_comments.asp</a></p>
<ul>
<li>Laut SQL Spec kann '--' am Zeilenanfang, aber auch mitten in der Zeile stehen.</li>
<li>Wenn es im SQL Statement steht, wird SQL das haendeln und alles richtig machen</li>
<li>Steht es am Zeilenanfang, sollte QFQ den Rest gar nicht parsen.</li>
<li>Atom unterstuetzt mit Ctl-/ das auskommentieren via '--' am Zeilenanfang</li>
<li>'/*' ist fuer den QFQ Parser schwer umzusetzen - es SQL daher ueberlassen. In QFQ Doku darauf eingehen.</li>
</ul> QFQ - Bug #5576 (New): Using MySQL 'DROP' requires privilege - wich is not really necessary.https://project.math.uzh.ch/issues/55762018-02-28T17:40:58ZNicola Chiapolini
<p>Auf unserer neuen Installation hat das Anlegen der System-Tabellen (wieder) nicht geklappt. Dieses Mal habe ich das Problem identifiziert.</p>
<p>Die Datei <code>qfq/sql/formEditor.sql</code> enthält ein nicht auskommentierten DROP-Befehl. Entweder muss der auskommentiert werden (patch im Anhang) oder dann muss in der Doku DROP als nötiges Recht für den QFQ-DB-User erwähnt werden.</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 - Feature #4250 (New): AutoCron in QFQ via PHPhttps://project.math.uzh.ch/issues/42502017-08-17T20:23:25ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Die AutoCron Features in PHP implementieren, ohne das eine T3 Seite benoetigt wird.</p>
Verbesserungen:
<ul>
<li>Massiv einfacheres Setup.</li>
<li>Evtl. koennte das PHP Skript durch Typo3 Cron aufgerufen werden - dann entfaellt sogar System Console Eintrag.</li>
<li>Aus dem PHP Skript koennen auch Mails versendet werden (kein dediziertes Skript noetig) - damit koennen einfach grId und xId gesetzt werden.</li>
<li>DB Credentials sind in PHP bekannt (zentrale Konfiguration).</li>
</ul>
Neu:
<ul>
<li>AutoCron Formular wird by default mit ausgeliefert.</li>
<li>In T3 Doku ist ein Beispiel QFQ Report fuer CrontEdit aufgefuehrt.</li>
<li>Es gibt Cron.grIdTyp, die im Beispiel aber nicht benutzt wird um Croneintraege zu klassifizieren.</li>
</ul>