Project @ iMath: Issueshttps://project.math.uzh.ch/https://project.math.uzh.ch/favicon.ico?16668783892023-09-28T12:36:23ZProject @ iMath
Redmine 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 #16736 (Closed): QFQ destroys it own confighttps://project.math.uzh.ch/issues/167362023-08-20T17:15:22ZCarsten Rosecarsten.rose@math.uzh.ch
<p>In #16717 zeigt sich teilweise taeglich das die QFQ Config kaputt geht.</p>
<ul>
<li>Es sollte eine Option geben die QFQ davon abhaelt die Config selber neu zu schreiben.</li>
<li>Es sollte ein Check eingebaut werden, der sicherstellt das nur ein Prozess gelichzeitig schreibt.</li>
<li>Es scheint so als wenn die config mehrmals pro Minute neu geschrieben wird - was ist da los?</li>
</ul> QFQ - 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 #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 - Feature #16303 (New): Restrict mail sendinghttps://project.math.uzh.ch/issues/163032023-05-27T13:42:07ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Um versehentliches massenhaftes versenden von Mails zu verhindern sollten vor jedem Mailversand Checks durchgefuehrt werden:</p>
<ul>
<li>Checks greifen nur wenn production='yes'</li>
<li>Wenn Check aktiv ist: QFQ Prozess vollstaendig beenden: Damit ist sichergestellt das keine Records als 'done' markiert werden.</li>
<li>Vor dem beenden eine Warnmail versenden an Support: Empfaenger ist konfigurierbar. Pro Minute maximail eine Warnmail.</li>
</ul>
<ul>
<li>Schutz individuelle Emailadresse: Wurden in den letzten 24h mehr als 10 Mails an die gleiche Adresse gesendet?</li>
<li>Schutz gegen Massenmail: Wurden in den letzten 24 Stunden mehr als 500 Mails versendet?</li>
</ul> QFQ - Feature #16219 (New): Security: IPs von Hacking Angriffen sperren - Integration voin Fail2Ban https://project.math.uzh.ch/issues/162192023-05-13T12:32:06ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Setup machen damit Fail2Ban automatisiert IPs sperrt.</li>
<li>Setup in qfq.io/doc unter Security dokumentieren.</li>
<li>Gewisse Fehler, z.B. 'Security: attack detected' werden via syslog gemeldent (konfigurierbar in QFQ). Fail2Ban agiert dann entsprechend</li>
<li>In den QFQ/T3 Instanzen eine Seite einrichten die gesperrte IPs anzeigt, damit man schnell testen kann ob eine IP betroffen ist.</li>
<li>Whitelist: IPs die nie gesperrt werden - z.B. UZH.</li>
<li>Greylist: IPs die umgeleitet werden auf eine Seite 'Your IP has been blocked' - z.B. alle Schweizer IPs</li>
<li>Integration eines IP/Geolocations Services.</li>
<li>Neu gesperrte IPs sollen via Mail gemeldet werden.</li>
<li>Bestehende Logfiles analysieren: klassische Versuche auf WP Dateien fuehren automatisch zu einer Sperrung der IP - da koennte z.B. ein cron job oder inotify daemon via fail2ban die IP sperren.</li>
</ul>
<p>Beispiel Angriff:</p>
<pre>
[2022-10-23 03:48:38 / 45.227.253.6 / &lt;no session cookie&gt;] Security: attack detected
Problem: Post/Get Honeypot variable 'email' detected: 1 UNION ALL SELECT NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL#
Post/Get Honeypot variable 'username' detected: 1
Post/Get Honeypot variable 'password' detected: 1
[2022-11-23 16:17:30 / 216.131.108.251 / 23r2ldp832obrii5t0oblg3i09] Security: attack detected
Problem: Value of GET variable 'sOIQ' too long. Allowed: 50, Length: 172. Value: '2408 AND 1=1 UNION ALL SELECT 1,NULL,'&lt;script&gt;alert(&quot;XSS&quot;)&lt;/script&gt;',table_name FROM information_schema.tables WHERE 2&gt;1--/**/; EXEC xp_cmdshell('cat ../../../etc/passwd')#'
[2022-12-28 02:21:54 / 45.81.39.101 / 2q5m8frmlchk9b0lndt3b00b1h] Security: attack detected
Problem: Value of GET variable 'CDRC' too long. Allowed: 50, Length: 172. Value: '4935 AND 1=1 UNION ALL SELECT 1,NULL,'&lt;script&gt;alert(&quot;XSS&quot;)&lt;/script&gt;',table_name FROM information_schema.tables WHERE 2&gt;1--/**/; EXEC xp_cmdshell('cat ../../../etc/passwd')#'
</pre> QFQ - Support #13432 (Rejected): Dynamic Update / Checkbox / r=... in QFQ Record: brokenhttps://project.math.uzh.ch/issues/134322021-11-25T15:20:08ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Wenn eine Checkbox mit dynamic update konfiguriert ist, und das Form statisch, mit einer fixen r=... im T3/QFQ Record aufgerufen wird, dann funktioniert das Dynamic Update nicht.</p>
<p>Gemeldet von ES in medtool</p> 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 #12468 (Closed): Form: update Form.title after savehttps://project.math.uzh.ch/issues/124682021-04-30T06:19:11ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Aktuell wird der Titel nicht neu gerendert bei einem Save. Das sollte sein.</p> QFQ - Support #11849 (Rejected): Wizard: Form2 zu QFQhttps://project.math.uzh.ch/issues/118492021-01-14T09:10:10ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Wizard implementieren der einzelne oder alle form2 Forms nach QFQ kopiert.</li>
<li>Vermutlich via QFQ Query.</li>
<li>Absprechen mit MArc wie sich das mit FormAsFile verhaelt.</li>
</ul> QFQ - Bug #10505 (Closed): Drag'n'Drop broken on Multi DB Instancehttps://project.math.uzh.ch/issues/105052020-05-07T15:53:41ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Beim FormEditor funktioniert das Drag'n'Drop nicht.</p>
<p>Vermutlich hat es mit dem MultiDB Setup auf my/exam zu tun.</p>
<p>Check:</p>
<p>1) dbIndexQfq=1, dbIndexData=2:<br />[Check: OK] FormEditor<br />[Check: OK] Pure Data Form</p>
<p>2) dbIndexQfq=2, dbIndexData=1:<br />[Check: OK] FormEditor<br />[Check: OK] Pure Data Form</p>
<p>3) dbIndexQfq=1, dbIndexData=1: aber im Form ist dbIndexData=2<br />[Check: fail] FormEditor<br />[Check: fail] Pure Data Form<br />vermutlich ist das ok: QFQ initialisert keine zweite DB, daher ist dbIndexData=2 nicht vorhanden.</p>
<p>4) dbIndexQfq=2, dbIndexData=2:<br />[Check: OK] FormEditor<br />[Check: OK] Pure Data Form</p> QFQ - Support #9924 (Closed): fullCalendar: events do not start on full hourhttps://project.math.uzh.ch/issues/99242020-01-21T21:26:47ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Bei LSZGS sind die Events gegenueber dem Grid verschoben (vermutlich 15") (fc2.png).</li>
<li>In der FullCalendar Demo (V3) (fc1.png) ist das nicht der Fall - <a class="external" href="https://fullcalendar.io/docs/v3/vertical-resource-standard-demo">https://fullcalendar.io/docs/v3/vertical-resource-standard-demo</a></li>
</ul>
<p>Kannst Du das fixen?</p>
<pre>
# Calendar
20.sql = SELECT '<div class="qfq-calendar"
data-config=\'{
"themeSystem": "bootstrap3",
"height": "auto",
"header": {
"left": "title",
"center": "",
"right": ""
},
"defaultDate": "{{firstDate:R}}",
"now": "1999-12-31",
"allDaySlot": false,
"weekends": false,
"defaultView": "agenda",
"dayCount": 3,
"minTime": "08:00:00",
"maxTime": "18:00:00",
"businessHours": { "daysOfWeek": [ 1, 2, 3, 4 ], "startTime": "10:00", "endTime": "18:00" },
"events": [
{{meetings:R0}}
]}\'>
</div>'
</pre> QFQ - Bug #9734 (Closed): Missing call 'api/dirty.php' on a) window/tab close, b) page reload, c)...https://project.math.uzh.ch/issues/97342019-12-08T19:32:43ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Vermutlich seit kurzen wird api/dirty.php nicht mehr aufgerufen, wenn ein Form 'dirty' ist und ein</p>
<ul>
<li>Browser Window/Tab geschlossen wird,</li>
<li>oder man die Seite mit F5 neu laedt,</li>
<li>oder das dirty Form einfach verlassen wird in dem man auf einen Link im Menu klickt / ein Bookmark aufruft.</li>
</ul> QFQ - Bug #9532 (Closed): FE.type=upload: '{{fileDestination}}' savedhttps://project.math.uzh.ch/issues/95322019-11-08T15:29:54ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Wird ein Form gespeichert, ist in einem FE.type=Upload immer ...{fileDestination}}..., auch wenn kein File ausgewaehlt wurde. pathFileNAme wird kaputt geschrieben!</li>
</ul> QFQ - Support #9512 (Closed): pdfunite: merge fails with encrypted pdfshttps://project.math.uzh.ch/issues/95122019-11-05T14:11:55ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>pdfunite bricht ab wenn ein PDF encrypted ist</li>
<li>es reicht z.B. (pdfinfo in.pdf):<br /><pre>
Encrypted: yes (print:yes copy:yes change:no addNotes:yes algorithm:RC4)
</pre></li>
<li>Drucken waere erlaubt.</li>
<li>Das kann leicht entfernt werden mit 'qpdf --decrypt in.pdf out/.pdf'</li>
<li>Anschliessend (pdfinfo in.pdf):<br /><pre>
Encrypted: no
</pre></li>
</ul>
<p>Implementierung:</p>
<p>Wenn ein pdfunite meldet 'Unimplemented Feature: Could not merge encrypted files ('fileadmin/financialrequests/2020/5256/r/8038.pdf')', wird die Orgirnaldatei umbeannnt, `qpdf` gestartet (auf die umbenannte Datei) und eine neue Datei unter dem Originalnamen abgelegt.</p> QFQ - Bug #9477 (Rejected): Click on 'more' of QMORE() triggers a refresh of a pagehttps://project.math.uzh.ch/issues/94772019-10-28T16:20:55ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Auf der forkred Instanz gibt es auf der 'Suche' Seite (<a class="external" href="https://webwork16.math.uzh.ch/forkred/work/index.php?sword=rose&id=64">https://webwork16.math.uzh.ch/forkred/work/index.php?sword=rose&id=64</a> ) einen unschoenen Effekt: wenn man in der Spalte 'Comment' auf 'more' klickt wird die ganze Seite neu geladen. Anschliessend ist der Text wieder eingklappt (man kann ihn also gar nicht lesen).</p>
<p>Auf einer sehr aehnlichen Seite (<a class="external" href="https://webwork16.math.uzh.ch/forkred/work/index.php?id=administrationfk">https://webwork16.math.uzh.ch/forkred/work/index.php?id=administrationfk</a>) tritt der Effekt nicht auf.</p> QFQ - Support #9424 (Closed): FE.modeSql: fired even it is a comment! Only during form save!https://project.math.uzh.ch/issues/94242019-10-22T08:21:23ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Wenn in einem 'modeSql' Feld ein Kommentar ist und dieser einen SQL Fehler enthaelt oder einen Parse Error (schliessende Klammer) gibt es (nur) beim speichern einen QFQ Fehler.<br /><pre>
# WHERE {{apId:SR0}}=ap.id AND ap.pIdOu=pOu.id AND p.uzhShortName='{{feUser:UT0}}' LIMIT 1}}
</pre></li>
</ul>
Ziel:
<ul>
<li>modeSql beim Form-Save genau so behandeln wie bei Form-Load.</li>
</ul> 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 - Support #8946 (Rejected): qbar broken, qifempty missinghttps://project.math.uzh.ch/issues/89462019-08-28T13:47:58ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Beim QFQ Update werden die prepared functions nicht mehr aktualisiert, resp. qbar() ist kaputt (backslash backslash | fehlt)</p> QFQ - Bug #8933 (Closed): Record lock: lock extend always failhttps://project.math.uzh.ch/issues/89332019-08-27T19:05:55ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Das 'auto extend' bei einem Record Lock funktioniert nicht mehr, wenn timeout Sekunden lang getippt wird.</p>
<p>a)</p>
<ul>
<li>User oeffnet einen Record.</li>
<li>Editiert solange bis der Timeout eintritt.</li>
<li>Bei Timeout geht ein Pop Up (siehe Screenshot) auf und zwingt den User zu einem Reload: Das sollte nicht sein - stattdessen muss der Lock verlaengert werden.</li>
</ul>
<p>b)</p>
<ul>
<li>Hinweis: wird nach der ersten Aenderung nicht weiter geaendert ist alles ok. Nach Timeout Sekunden kommt von rechts die Infobox das der Lock verlaengert wird. Bei der dann folgenden naechsten Aenderung wird der Lock erfolgreich verlaengert.</li>
<li>D.h. abgelaufene Locks werden verworfen und ein neuer erfolgreich ausgestellt.</li>
</ul> QFQ - Bug #7044 (Closed): Alert 'really delete?' might lock while browser tabhttps://project.math.uzh.ch/issues/70442018-10-19T07:22:52ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Reproduzieren (es ist 99% deterministisch)</p>
<ul>
<li><a class="external" href="http://webwork16.math.uzh.ch/crose/qfq/index.php?id=1">http://webwork16.math.uzh.ch/crose/qfq/index.php?id=1</a></li>
<li>Den ersten Button 'aa' aufrufen (Personenmaske mit 2 Uploads)</li>
<li>Schleife:
<ul>
<li>Upload (Picture) loeschen</li>
<li>Speichen (Form bleibt offen)</li>
<li>Neue Datei (Picture) auswaehlen</li>
<li>Upload (Picture) loeschen -- hier bleibt der Tab oft schon locked.</li>
</ul></li>
</ul> QFQ - Bug #7011 (Rejected): Button 'Einreichen' erscheint doppelt - Rahmen Pill falsch - GRC / Fo...https://project.math.uzh.ch/issues/70112018-10-16T06:32:47ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Button einreichen doppelt (FF) - wir (SW/CR) koennen das Problem mit den zwei Buttons nciht reproduzieren.</li>
<li>Ueber dem Button ist eine waagerechte Linie - die hat CR schoen oefter in letzter Zeit gesehen.</li>
</ul> QFQ - Bug #6345 (Closed): Second delete of a subrecord: page is blocked/darkhttps://project.math.uzh.ch/issues/63452018-07-02T21:06:47ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Wird in einem Form ein Subrecord geloescht, und sofort danach ein weiteres, so wird der Browsertab dunkel (=fehlermeldung) und man muss den Tab neu laden damit der Tab wieder hell wird.</p> QFQ - Bug #6232 (Closed): Missing required: Pill/Input not 'bring to front'https://project.math.uzh.ch/issues/62322018-06-14T11:28:14ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Auf dem Antragsformular fuer IK (<a class="external" href="https://webwork16.math.uzh.ch/mi/index.php?id=application">https://webwork16.math.uzh.ch/mi/index.php?id=application</a> > Neuer Antrag) gibt es einige Pflichtfelder, teilweise abhaengig vom Inhalt anderer. Fehlen 'required' Angaben auf den ersten 3 Pills, springt der Browser dort hin, bei den restlichen Pills funktioniert das nicht.</p>
<p>Achtung: die Required wird nur geprueft bei 'Einreichen' nicht bei 'save'.</p> QFQ - Bug #6176 (Closed): ExtraButtonInfo: Icon not aligned when error texthttps://project.math.uzh.ch/issues/61762018-06-07T05:29:07ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Wenn ein pattern error erscheint, rutschen die extraButtons nach unten. Wie ist denn da die Option ob sie nach oben auszurichten?</p>
<p><a class="external" href="https://webwork16.math.uzh.ch/crose/qfq/index.php?id=extrabutton">https://webwork16.math.uzh.ch/crose/qfq/index.php?id=extrabutton</a></p>
<p>Die ersten 3 Felder sind neu auch chektype=email eingestellt.</p> QFQ - Bug #6023 (Closed): File Upload: Client (Browser) zeigt keine Fehlermeldung anhttps://project.math.uzh.ch/issues/60232018-05-16T19:33:24ZCarsten Rosecarsten.rose@math.uzh.ch
Wird versucht eine Datei hochzuladen (QFQ FormElemnt 'Upload'), die einen Fehler ausloest (z.B. unerlaubter Mime Type), sendet QFQ eine JSON Status. Z.B.:<br /><pre>
{"message":"<table class='table table-hover qfq-table-80'><thead><tr><th colspan='2'>Error<\/th><\/tr><\/thead><tr><td>Timestamp<\/td><td>2018.05.16 21:11:10 +0200<\/td><\/tr><tr><td>Code<\/td><td>1502<\/td><\/tr><tr><td>Message<\/td><td>Filetype not allowed. Allowed: application\/pdf<\/td><\/tr><\/table>","status":"error"}
</pre>
<ul>
<li>Das JSON ist in QFQ 0.25.11a und 18.4.4 sehr aehnlich.</li>
<li>In 0.25.11a kommt noch der alte drop down Dialog (upload.message.ok.png) - ok.</li>
<li>In 18.4.4 kommt kein Dialog, dafuer wird ein spinning gear angezeigt - error.</li>
</ul>
<p>Koenntest Du Dir das mal anschauen?</p>
<ul>
<li>Ich koennte mir vorstellen das alle Versionen mit den 'neuen' Alerts betroffen sind.</li>
<li>Es ist relativ dringend, es gab schon einige Beschwerden (PT2, LK, GRC).</li>
</ul>
<p>URLs zum testen:<br />1) OK: <a class="external" href="https://webwork16.math.uzh.ch/lehrkredit/cr/">https://webwork16.math.uzh.ch/lehrkredit/cr/</a><br />2) Broken: <a class="external" href="https://webwork16.math.uzh.ch/lehrkredit/work/">https://webwork16.math.uzh.ch/lehrkredit/work/</a><br />3) Broken: <a class="external" href="https://webwork16.math.uzh.ch/my">https://webwork16.math.uzh.ch/my</a></p>
<p>Bei 1 & 2: einloggen mit shortname Password > Admin / Pool > Status: 95 > Request > Uploads to request: Applicant, Admin - NEW > Upload > Filetype: ALL > 'file das kein PDF ist auswaehlen'> BANG</p> QFQ - Bug #5925 (Closed): Delete subrecord element: row remain visiblehttps://project.math.uzh.ch/issues/59252018-05-06T21:01:40ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Nach dem loeschen eines Subrecords bleibt dieser sichtbar.</li>
<li>Nach Reload der Seite wird der Record nicht mehr angezeigt.</li>
</ul> QFQ - Bug #5595 (Closed): Link 'Download' - only link, no buttonhttps://project.math.uzh.ch/issues/55952018-03-02T11:29:28ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>'...|b:0|...' sollte dazu fuehren das kein Button gerendert wird. Das funktioniert nicht.</li>
<li>Das sollte bei pagee, page.. usw auch der Fall sein.</li>
</ul> QFQ - Bug #5460 (Closed): New Alert: not visible on long pageshttps://project.math.uzh.ch/issues/54602018-02-18T16:04:29ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Wenn man auf einer Seite ist die laenger als eine Bildshirmseite ist und man einen Record loeschen moechte, kommt eine Sicherheitsabfrage. Dieser Dialog ist ganz oben auf der Seite. Hat man aber nach unten gescrollt, merkt man gar nicht das ein Dialog aufgegangen ist.</p> QFQ - Bug #5004 (Closed): FE Readonly - purges existing datahttps://project.math.uzh.ch/issues/50042017-11-27T12:28:58ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Enthaelt ein Form Readonly Elemente und wird das Form gespeichert, so sind anschliessend alle Spalten, derern FE readonly waren, leer.</p> QFQ - Feature #4766 (Closed): Report: fill STORE_RECORD with current row. Keep old valueshttps://project.math.uzh.ch/issues/47662017-10-15T09:17:19ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Wird eine Spalte (=Name der Variable) gesetzt, kann irgendwo im dem QFQ record darauf zugegriffen werden, ohne Angabe der Zeilennummer!!!</li>
<li>Es koennen die 'Escape' Qualifier verwendet werden!</li>
<li>Gut waere ein neuer 'Escape' Qualifier: XML - um XML Tags korrekt zu escapen - damit koennte sehr einfach XML Output erzeugt werden. </li>
<li>Gut waere ein neuer 'Escape' Qualifier: CSV - um das ';' korrekt zu escapen - damit koennte sehr einfach CSV Output erzeugt werden.</li>
</ul> QFQ - Support #4498 (Closed): Input Date / Datetime: a) width not 100%, b) Button Lock ist nach F...https://project.math.uzh.ch/issues/44982017-09-12T21:22:22ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>a) Wenn Input vom Typ 'date' oder 'datetime' in einem col-md-6 Div sind, sind sie nur halb so breit wie die regulaeren Inputs.
<ul>
<li>Wird das Attribut 'extraButtonLock' oder 'extraButtonInfo=test' gesetzt, haben die Elemente die gewuenschte 100% width in dem col-md-6.</li>
</ul>
</li>
<li>b) Mit Attribut 'extaButtonLock' ist das 'date'-Input, nach dem Form load, nicht gelockt. Das sollte aber sein.</li>
</ul> QFQ - Bug #4495 (Closed): Upload: Problem if mode is 'required'https://project.math.uzh.ch/issues/44952017-09-12T20:29:18ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Upload Feld mit mode='required'</li>
<li>Besthender Record wird geladen - dort existiert bereits ein Upload.</li>
<li>Beim Speichern gibt es eine Meldung das kein File angegeben ist:</li>
</ul>
<p>'Form is incomplete' und im Field: Please select a file.</p>
<p>Vermutlich ist das ein Client Problem.</p>
<p>Aktuell liegt das 'required' auf dem 'input / type=file'.</p>
<p>Der Upload Prozess ist beschrieben in 'CODING.md > upload'</p> QFQ - Support #4311 (Closed): Record Lock: expired lock wird nicht geloescht bei form reloadhttps://project.math.uzh.ch/issues/43112017-08-26T18:03:46ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Alice open a record and starts to edit.</li>
<li>Alice does nothing for more than 15 minutes</li>
<li>Alice gets a message 'lock timed out'</li>
<li>Alice reloads the page (form) - the record is still locked and can't be edited.</li>
</ul> QFQ - Support #4310 (Closed): Typeahead: Eingabe problematischhttps://project.math.uzh.ch/issues/43102017-08-26T16:53:11ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Wird in einem TypeAhead Feld ein Text eingetippt, dann mit der Maus irgendwo anders hin geklickt (lost focus), so steht der getippte Wert im Feld: ok</li>
<li>Wird dann der Record gespeichert, wird aber nicht der eingetippte Wert gespeichert, sondern der urspruenglich geladene.</li>
</ul>
<p>Sowohl der neue als auch der alte Value sind gueltige typeAhead Values.</p> QFQ - Support #4309 (Closed): typeahead: allow free entryhttps://project.math.uzh.ch/issues/43092017-08-26T16:29:45ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Problem: Bei typeahead koennen nur Werte gespeichert werden, die der Server findet.</p>
<ul>
<li>Das ist schlecht, denn im 'free' Modus kann man alles angeben, man bekommt beim speichern aber keinen Hinweis das der Wert nicht gespeichert wird.</li>
<li>Im POST ist der letzte gueltige Wert (also nicht die freie Eingabe).</li>
<li>Der Free Modus (non pedantic) sollte die freie Eingabe per Post senden. </li>
<li>Will man den User zwingen etwas aus den vorgegebenen Werten zu waehlen, gibt es 'pedantic'</li>
</ul> QFQ - Bug #4282 (Rejected): Dynamic Update: Update broken wenn mehrere Felder in einer Row sind.https://project.math.uzh.ch/issues/42822017-08-23T12:17:37ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Fehler konnte CR auf die Schnelle nicht reproduzieren.</li>
<li>Problem bei Karin
<ul>
<li>Feld A ist ein Dropdown</li>
<li>Feld B ist readonly und haengt von dem Wert in A ab.</li>
<li>Problem: Sind Felder A & B in einer Zeile, wird Feld A nach dem Update zurueck gesetzt (es sollte der gewaehlte Wert angezeigt werden)</li>
</ul>
</li>
<li>Es faellt auf das das zurueck gelieferte JSON zu viele Werte enthaelt (insbesonders an unsinnigen Stellen).</li>
<li>Im Test von CR mit A & B in einer Zeile scheint das Readonly bei FormLoad auch komisch zu sein.</li>
</ul> QFQ - Support #4278 (Closed): Language: Check that language settings are respectet a) during dyna...https://project.math.uzh.ch/issues/42782017-08-23T09:05:41ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Currently the FormElements overloaded at the beginnging - this is probably not sufficient for container.</p>
<p>SW: reported that the 'label' of 'pills' are still in default language.</p>
<p>Labels in FE also does not work.</p> QFQ - Feature #4049 (Closed): '{{...}}' with default valuehttps://project.math.uzh.ch/issues/40492017-07-05T05:38:23ZCarsten Rosecarsten.rose@math.uzh.ch
<p>{{<name>:<store>:<sanatize>:<escape>:<default value>}}</p> QFQ - Support #3980 (Closed): Client: Bei Form Submit den Status 'submit_reason=save|save,close' ...https://project.math.uzh.ch/issues/39802017-06-27T11:03:44ZCarsten Rosecarsten.rose@math.uzh.ch
Die Information soll verwendet werden fuer
<ul>
<li>Record Locking</li>
<li>Redirection Target auf Server Seite bestimmen.</li>
</ul> QFQ - Feature #3971 (Closed): Formular: Titel ist nicht schoen https://project.math.uzh.ch/issues/39712017-06-25T14:00:54ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Die Titel der QFQ Forms sehen ziemlich mickrig aus.</p>
<p>Sollen wir so wie 'navbar' einsetzen?</p>
<p><a class="external" href="http://getbootstrap.com/components/#navbar">http://getbootstrap.com/components/#navbar</a></p> QFQ - Support #3928 (Closed): chromedriver aus package.json entfernthttps://project.math.uzh.ch/issues/39282017-06-17T14:00:56ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Der Build der QFQ Packages lief nicht mehr durch. Er blieb beim chromedriver haengen. Ich habe ihn aus dem package.json rausgenommen. Anschliessend wurden die Pakete wieder gebaut.</p>
<ul>
<li>CR soll unter Anleitung von RO das Problem debuggen.</li>
</ul>
Weitere Punkte:
<ul>
<li>CR soll testweise einen neuen Buildjob installieren </li>
<li>Wo liegt das Verzeichnis w3.math.uzh.ch/qfq/... ?</li>
<li>Wie fuehrt man den Buildjob interaktiv aus (z.B.: ssh root@alfred14; su - jenkins; cd ~/workspace/...; make snapshot ), um zu schauen wo es hakt?</li>
</ul> QFQ - Support #3746 (Closed): Variable fuer Namen der T3 Datenbankhttps://project.math.uzh.ch/issues/37462017-05-17T13:38:32ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Mitunter wird von der QFQ-DB auf die T3-DB zugegriffen. Aktuell funktioniert das, in dem der tatsaechlice DB-Name mit '.' vor die Tabelle geschrieben wird.</p>
<p>Das hat den Nachteil, das wenn die T3 Datenabnnk mit den QFQ tt-content records kopiert wird, und die neue T3-DB einen anderen Namen hat, die Query nicht mehr funktioniert,</p>
<ul>
<li>Status Quo<br /><pre>
UPDATE Person AS p, lehrkredit_t3.fe_users AS fe
SET p.uzhShortName=fe.username
WHERE p.uzhShortName=fe.username AND p.uzhShortName='{{feUser:TE:alnumx:s}}' AND p.uzhShortName!=''
</pre></li>
</ul>
<ul>
<li>Ziel<br /><pre>
UPDATE Person AS p, {{T3_DBNAME:T}}.fe_users AS fe
SET p.uzhShortName=fe.username
WHERE p.uzhShortName=fe.username AND p.uzhShortName='{{feUser:TE:alnumx:s}}' AND p.uzhShortName!=''
</pre></li>
</ul> QFQ - Support #3569 (Closed): Input Optional '0' unterdrueckenhttps://project.math.uzh.ch/issues/35692017-04-13T11:08:39ZCarsten Rosecarsten.rose@math.uzh.ch
<pre>
FE.type=text
Fe.checktype=digit
FE.value={{SELECT IF('{{zoraSavedSearchId:RE}}' = 0, '', '{{zoraSavedSearchId:RE}}') }}
table.columntype: int
</pre> QFQ - Support #3465 (Closed): Save button: optional 'active after form load'https://project.math.uzh.ch/issues/34652017-03-30T05:02:16ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Aktuell gibt es ein Formular das nur eine Mail ausloesen soll. Dieses Form kann nicht ausgeloest werden, da der Save Button erst aktiv wird nach der ersten Aenderung.</p>
<p>Es waere gut wenn es eine Option geben wuerde, um beim Form load den Button gleich aktiv zu machen.</p> QFQ - Bug #2723 (Closed): QFQ: required Checkboxes - auch wenn etwas angegeben ist wird dies nich...https://project.math.uzh.ch/issues/27232016-10-27T06:39:45ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Checkboxes mit Status 'required' - wenn etwas angegeben, wird nicht erkannt das etwas angegeben ist. Es ist kein Save moeglich.</p>
<p><a class="external" href="http://qfq.math.uzh.ch/crose/qfq-jqw/index.php?id=form">http://qfq.math.uzh.ch/crose/qfq-jqw/index.php?id=form</a></p>
<p>Required Felder: Gender, Pet owner, Firstname</p> QFQ - Bug #2720 (Closed): QFQ: required Radio - werden nicht rot markiert, bekommen keinen Focushttps://project.math.uzh.ch/issues/27202016-10-27T06:07:58ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Radios mit Status 'required' - falls nichts angegeben ist:
<ul>
<li>werden nicht rot wenn 'Save' gedrueckt wird.</li>
<li>bekommen keinen Fokus wenn 'Save' gedrueckt wird.</li>
</ul></li>
</ul>
<ul>
<li><a class="external" href="http://qfq.math.uzh.ch/crose/qfq-jqw/index.php?id=form">http://qfq.math.uzh.ch/crose/qfq-jqw/index.php?id=form</a></li>
<li>Required Felder: Gender, Pet owner, Firstname</li>
</ul> QFQ - Support #1983 (Closed): Trigger QFQ Alert: via JS Code aus Reporthttps://project.math.uzh.ch/issues/19832016-05-12T09:33:32ZCarsten Rosecarsten.rose@math.uzh.ch
Wunsch: QFQ/Report gibt JS Code aus, der einen QFQ Alert anzeigen laesst.
<ul>
<li>Mit einem freien Text.</li>
<li>Mit Farbe/Status 'Success|Warning|Info|Danger' (ist die Bezeichnung gut?)</li>
<li>Mit einem oder zwei Buttons (Text sollte konfigurierbar sein). Bsp: 'ok', 'ok' / 'cancel', 'yes' / 'no'</li>
</ul>
<p>Bis anhin lag so etwas als Event auf onclick(). Wurde 'cancel' oder 'no' gedrueckt, hat der Browser den darunter liegenenden Text nicht aufgerufen.<br /><pre>
<a onclick="return confirm('Please confirm');" href="?datenloeschen&key1=pers_funktion&key2=3976"><img title="Delete" border=0 src="fileadmin/icons//trash.gif"></a>
</pre></p>
<p>Gebraucht wird das fuer 'delete'Links oder sonstige Aktionen, die der User sehr bewusst triggern soll.</p> QFQ - Support #1951 (Closed): Client: bei *allen* Formelementen wird 'required' gesetzt.https://project.math.uzh.ch/issues/19512016-05-03T16:18:06ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Direkt nach dem ausliefern des Forms haben im Client alle Formelemente das required Attribute gesetzt:</p>
<p>server: <input name="name:1" class="form-control" type="text" size="0" maxlength="128" value="Doe" data-hidden="no" data-disabled="no" data-required="no" ><br />client: <input required="" name="name:1" class="form-control" size="0" maxlength="128" value="Doe" data-hidden="no" data-disabled="no" data-required="no" type="text"></p> QFQ - Support #1896 (Closed): Enable Button 'Save' auf Tastendruck: <input, type=date / datetime-...https://project.math.uzh.ch/issues/18962016-04-24T15:47:26ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Bei Input Felder mit type = date | datetime-local | time wird der Save Button nicht beim ersten Keypress in dem Inputfeld aktiviert. <br />Bei Input Felder mit typ=text ist das der Fall - das ist sinnvoll damit der User nicht erst in das Form klicken muss um anschliessend 'save' druecken zu koennen.</p>