Project @ iMath: Issueshttps://project.math.uzh.ch/https://project.math.uzh.ch/favicon.ico?16668783892023-01-12T11:48:36ZProject @ iMath
Redmine QFQ - Feature #15362 (Some day maybe): Add button to text inputs in Form (Element) Editor to swit...https://project.math.uzh.ch/issues/153622023-01-12T11:48:36ZJan Haller
<p>Neben bestimmten Textinputs (z.B. Title) im Form (Element) Editor soll ein Button eingebaut werden, der das Umschalten des entprechenden Inputfelds von type=input zu type=editor (und zurück) ermöglicht. Für SQL Abfragen steht dann die entsprechende Syntax zur Verfügung.</p> QFQ - Feature #13608 (Some day maybe): Automatic Browser Language Redirecthttps://project.math.uzh.ch/issues/136082022-01-04T11:09:34ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>In forked #13439 gibt es ein Problem wenn die Sprache gewechswelt wird, wenn man bereits in einem Formular ist. Das Problem wuerde sich vermutlich entschaerfen, wenn von Anfang an die richtige Sprache selektiert ist.</li>
<li>Laut Recherche von BB gibt es
<ul>
<li>Keinen T3 nativen Support.</li>
<li>min. zwei einigermassen aktuelle Extensions (<a class="external" href="https://extensions.typo3.org/extension/site_language_redirection/">https://extensions.typo3.org/extension/site_language_redirection/</a>, ??) - koennen aber beide kein T3 V11.</li>
</ul></li>
</ul>
<p>Nach Diskussion BB/CR scheint folgendes sinnvoll zu sein:</p>
<ul>
<li>Die oben genannte Extension kann als Vorlage dienen.</li>
<li>Es wird in QFQ implementiert - damit vermeiden wir eine weitere Extension.</li>
<li>Das Feature kann via QFQ Config an/ausgeschaltet werden.</li>
</ul>
<p>Page Aufruf:</p>
<ul>
<li>Ist ein Language Cookie gesetzt und unterscheidet sich dieses von der aktuellen Seite: Redirect</li>
<li>Ist kein Language Cookie gesetzt:
<ul>
<li>Wird anhand der Browser Sprache entschieden ob ein Redirect (vermutlich via JS) auf die gleiche Seite mit der Zielsprache gemacht wird.</li>
<li>Das Language Cookie wird auf die automatisch selektierte Sprache gesetzt (DE_auto, EN_auto).</li>
</ul></li>
</ul>
<ul>
<li>Existiert ein FE User (eingeloggt) - Check ob Language Cookie '.._auto' gesetzt ist.
<ul>
<li>Ja: Gibt es eine Language in T3.fe_user?
<ul>
<li>Ja: das Cookie auf "DE" , "EN" setzen (ohne auto). Wenn noetig ein Redirect machen.</li>
<li>Nein: Sprache in t3.fe_user auf den aktuellen Wert setzen.</li>
</ul></li>
</ul>
<ul>
<li>Nein: Sprache in t3.fe_user auf den aktuellen Wert setzen.</li>
</ul></li>
</ul>
<p>Page Wechsel:</p>
<ul>
<li>Wird die Sprache gewechselt: <strong>keine Idee wie wir jetzt das Language Cookie setzen, damit beim PageLoad der Redirect nicht zugschlaegt</strong>. Vermutlich JS das auf dem Language Select Link klebt.</li>
<li>FE_User: neue Sprache speichern. Klappt hoffentlich durch den Mechanismus von oben.</li>
</ul> QFQ - Feature #12337 (Some day maybe): Database.php: better cachinghttps://project.math.uzh.ch/issues/123372021-04-07T16:40:55ZMarc Egger
<p>Currently only the mysqli handle is cached but the Database object is recreated often.</p>
<p>Possible changes</p>
<ul>
<li>switch to singleton pattern for Database class (call Database::getInstance() instead of new Database)</li>
<li>make Database a static class (?)</li>
</ul>
<p>Both changes need a lot of refactoring.</p> QFQ - Feature #10738 (Some day maybe): CORS headers for external API requestshttps://project.math.uzh.ch/issues/107382020-06-10T12:00:34ZMarc Egger
<p>Optionally allow setting the CORS headers inside a QFQ API Form such that the API may be called from a website hosted under a different domain.</p>
<p>Working example: <a class="external" href="https://stackoverflow.com/a/9866124">https://stackoverflow.com/a/9866124</a><br /><pre><code class="php syntaxhl"><span class="cd">/**
* An example CORS-compliant method. It will allow any GET, POST, or OPTIONS requests from any
* origin.
*
* In a production environment, you probably want to be more restrictive, but this gives you
* the general idea of what is involved. For the nitty-gritty low-down, read:
*
* - https://developer.mozilla.org/en/HTTP_access_control
* - http://www.w3.org/TR/cors/
*
*/</span>
<span class="k">function</span> <span class="n">cors</span><span class="p">()</span> <span class="p">{</span>
<span class="c1">// Allow from any origin</span>
<span class="k">if</span> <span class="p">(</span><span class="k">isset</span><span class="p">(</span><span class="nv">$_SERVER</span><span class="p">[</span><span class="s1">'HTTP_ORIGIN'</span><span class="p">]))</span> <span class="p">{</span>
<span class="c1">// Decide if the origin in $_SERVER['HTTP_ORIGIN'] is one</span>
<span class="c1">// you want to allow, and if so:</span>
<span class="nb">header</span><span class="p">(</span><span class="s2">"Access-Control-Allow-Origin: </span><span class="si">{</span><span class="nv">$_SERVER</span><span class="p">[</span><span class="s1">'HTTP_ORIGIN'</span><span class="p">]</span><span class="si">}</span><span class="s2">"</span><span class="p">);</span>
<span class="nb">header</span><span class="p">(</span><span class="s1">'Access-Control-Allow-Credentials: true'</span><span class="p">);</span>
<span class="nb">header</span><span class="p">(</span><span class="s1">'Access-Control-Max-Age: 86400'</span><span class="p">);</span> <span class="c1">// cache for 1 day</span>
<span class="p">}</span>
<span class="c1">// Access-Control headers are received during OPTIONS requests</span>
<span class="k">if</span> <span class="p">(</span><span class="nv">$_SERVER</span><span class="p">[</span><span class="s1">'REQUEST_METHOD'</span><span class="p">]</span> <span class="o">==</span> <span class="s1">'OPTIONS'</span><span class="p">)</span> <span class="p">{</span>
<span class="k">if</span> <span class="p">(</span><span class="k">isset</span><span class="p">(</span><span class="nv">$_SERVER</span><span class="p">[</span><span class="s1">'HTTP_ACCESS_CONTROL_REQUEST_METHOD'</span><span class="p">]))</span>
<span class="c1">// may also be using PUT, PATCH, HEAD etc</span>
<span class="nb">header</span><span class="p">(</span><span class="s2">"Access-Control-Allow-Methods: GET, POST, OPTIONS"</span><span class="p">);</span>
<span class="k">if</span> <span class="p">(</span><span class="k">isset</span><span class="p">(</span><span class="nv">$_SERVER</span><span class="p">[</span><span class="s1">'HTTP_ACCESS_CONTROL_REQUEST_HEADERS'</span><span class="p">]))</span>
<span class="nb">header</span><span class="p">(</span><span class="s2">"Access-Control-Allow-Headers: </span><span class="si">{</span><span class="nv">$_SERVER</span><span class="p">[</span><span class="s1">'HTTP_ACCESS_CONTROL_REQUEST_HEADERS'</span><span class="p">]</span><span class="si">}</span><span class="s2">"</span><span class="p">);</span>
<span class="k">exit</span><span class="p">(</span><span class="mi">0</span><span class="p">);</span>
<span class="p">}</span>
<span class="k">echo</span> <span class="s2">"You have CORS!"</span><span class="p">;</span>
<span class="p">}</span>
</code></pre></p> QFQ - Feature #10716 (Some day maybe): Business Logic mit Externen Skriptenhttps://project.math.uzh.ch/issues/107162020-06-04T17:52:19ZMarc Egger
<p>Auführen von separaten Skripten und Programmen via _exec ist Fehleranfällig. Hauptsächlich weil das Character Encoding und das Sanitizen Probleme machen kann.</p>
<p>Schön wäre eine Möglichkeit, um Programme oder Funktionen in Skripten dirkekt auszuführen, ohne die Argumente Sanitizen oder encoden zu muessen.</p>
<p>Eine Möglichkeit wäre auch, dass man PHP als Skriptsprache für kompliziertere business-logic einbinden könnte.</p>
<p>Dieses feature ist nach verwandt mit QFQ Funktionen und Conditions und würde diese allenfalls ersetzen. >>> Brainstormen!</p>
<p>Varianten</p>
<ul>
<li>PHP als Skriptsprache einbinden</li>
<li>Javascript mit node.js oder deno.land ausführen</li>
</ul> QFQ - Bug #9669 (Some day maybe): Checkbox / Template Group: radio/checkbox visible broken after ...https://project.math.uzh.ch/issues/96692019-11-28T20:37:24ZCarsten Rosecarsten.rose@math.uzh.ch
<p><a class="external" href="http://webwork16.math.uzh.ch/crose/qfq/index.php?id=templategroup">http://webwork16.math.uzh.ch/crose/qfq/index.php?id=templategroup</a> > max tg (4548) > add</p>
<p>Wenn man mit 'add' einen neue TG oeffnet werden Symbole fuer die Checkboxen und Radios nicht dargestellt (seit Umstellung von Browser Native auf 'Font Awesome'?).</p>
<p>Wird der Record gespeichert und neu aufgerufen sind die Checkboxen ok.</p>
<p>Via Inspect sehe ich keinen HTML/DOM Unterschied.</p> QFQ - Feature #8894 (Some day maybe): Documentation Tags Usable in QFQ Applicationhttps://project.math.uzh.ch/issues/88942019-08-23T10:51:03ZMarc Egger
<p><strong>Simple:</strong></p>
<ul>
<li>In the Form Editor one can deposit tags which link to the a specific entry inside the wiki of the application.</li>
<li>The same should be possible within a QFQ report.</li>
<li>The links to the wiki entries are only rendered for developers</li>
</ul>
<p><strong>Advanced:</strong></p>
<ul>
<li>QFQ implements its own documentation page which also supports the tag feature explained above.</li>
<li>On the QFQ documentation page we could also render the sql table and column comments.</li>
<li>When hovering over a dokumentation-tag-link (e.g. inside form editor) then a preview of the respective documentation text is shown.</li>
</ul>
<p><strong>BPMN:</strong></p>
<ul>
<li>On the qfq documentation page a BPMN editor is integrated. </li>
<li>Documentation tags may also be used inside a BPMN bubble which is then automatically linked to the respective documentaiton</li>
</ul> QFQ - Feature #8892 (Some day maybe): Display and Edit SQL Comments in Form Editorhttps://project.math.uzh.ch/issues/88922019-08-23T10:33:34ZMarc Egger
<p>In the Form Editor:<br />If a Table is chosen, the table comments are displayed in the form inside an editable textfield</p>
<p>In the Form Element Editor:<br />If the Form Element has the name of a table column the respective column comment is displayed in the form inside an editable textfield</p> QFQ - Feature #8520 (Some day maybe): Bring QFQ to Composerhttps://project.math.uzh.ch/issues/85202019-06-12T08:01:36ZCarsten Rosecarsten.rose@math.uzh.chQFQ - 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 - Feature #7452 (Some day maybe): automate deployment new QFQ versionhttps://project.math.uzh.ch/issues/74522018-12-11T08:38:37ZCarsten Rosecarsten.rose@math.uzh.ch
<p>a) Es waere gut wenn wir die Erstellung der Releasenotes mehr automatisieren koennten.</p>
<p>Aktuelles Procedere:</p>
<ul>
<li>Alle Commit Messages seit der letzen Version zusammen stellen.</li>
<li>Messages die keinen Nutzen fuer die Releasenotes haben loeschen.</li>
<li>Messages aufteilen nach Feature und Bug.</li>
</ul>
<p>Idee:</p>
<ul>
<li>Commit Messages die in die Releasenotes sollen 'taggen'.</li>
<li>Solche getaggten Messages, gefiltert nach Bug und Feature, in die Releasenotes kopieren.</li>
</ul>
<p>b) Besteht die Moeglichkeit die neue Version voll automatisch zu erstellen?</p> QFQ - Feature #7106 (Some day maybe): Beispiel Nummerierung von Rows in Reporthttps://project.math.uzh.ch/issues/71062018-10-27T09:21:06ZCarsten Rosecarsten.rose@math.uzh.ch
<p>In Report Nummerierung von Zeilen:</p>
<ul>
<li>via SQL Variable<br />∘ via Report: line.count</li>
</ul> QFQ - Feature #7105 (Some day maybe): Beispiel wie man in einer zweiten Tabelle speichert.https://project.math.uzh.ch/issues/71052018-10-27T09:18:24ZCarsten Rosecarsten.rose@math.uzh.chQFQ - Bug #7101 (Some day maybe): 'form' in SIP and 'report' - breakshttps://project.math.uzh.ch/issues/71012018-10-27T08:47:43ZCarsten Rosecarsten.rose@math.uzh.ch
<p>falls in der SIP ein form ist und um qfq record ein form defineirt ist (wrid dynamisch berechnet) kommt qfq beim defintinve laden des form durcheinander.</p> QFQ - Feature #7100 (Some day maybe): Download: log access, max downloads, time limithttps://project.math.uzh.ch/issues/71002018-10-27T08:45:40ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Logging wer/wann von wo zugegriffen hat</li>
<li>max anzahl an downloads begrenzen</li>
<li>zeitlich begrenzen.</li>
<li>anonymer download</li>
<li>kann theoretisch via qfq/report geloest werden</li>
<li>vermutlich praktischer wenn eine logtabelle angegben werden kann</li>
<li>in SIP logtabelle angeben</li>
</ul> QFQ - Feature #6992 (Some day maybe): DB exception: Syntax Highlight https://project.math.uzh.ch/issues/69922018-10-13T09:12:32ZCarsten Rosecarsten.rose@math.uzh.ch
<p>siehe punkt 2 <a class="issue tracker-2 status-5 priority-2 priority-default closed" title="Feature: DB Exception: highlight problematic text position, SQL syntax highlight (Closed)" href="https://project.math.uzh.ch/issues/5450">#5450</a></p> QFQ - 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 #6299 (Some day maybe): Attack detection: log table with invalid SIP access https://project.math.uzh.ch/issues/62992018-06-23T16:32:22ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Die Abwehrmassnahmen fuer SIP brute force sollen wie folgt verbessert werden.</p>
<ul>
<li>Es gibt eine Tabelle die alle mis-hit auf SIP oder Persistent SIP notiert:
<ul>
<li>IP</li>
<li>PHP Session</li>
<li>feUser</li>
<li>UserAgent</li>
<li>pageId</li>
<li>Zeitpunkt</li>
</ul></li>
</ul>
<ul>
<li>QFQ prueft bei jedem Start ob ein Full Stop (Attack detected) noetig ist:
<ul>
<li>Hits pro Sekunde, pro Minute, pro 5 Minuten, pro Stunde, pro Tag, pro Monat</li>
<li>Count pro IP, count pro PHP Session, count pro feUser</li>
<li>Fuer jede 'Hit/pro Zeit'-Klasse gibt es einen Schwellwert.</li>
<li>Ist der Schwellwert ueberschritten, wird die IP gesperrt, resp. die PHP Session gesperrt. </li>
<li>Eintraege aelter als einen Monat werden geloescht.</li>
</ul></li>
</ul>
<ul>
<li>Es wird nicht erwartet das viele Daten in der Tabelle stehen.</li>
</ul> QFQ - Feature #6288 (Some day maybe): Best Practice: Erklaeren wie man ein Formular ganz in 'weis...https://project.math.uzh.ch/issues/62882018-06-20T16:35:27ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Mit den Klassen classPill, classBody, classTitle kann man ein Formular ganz in weiss machen</p>
<p>Lehrkredit/Form: requestApprove</p>
<p>classBody=qfq-color-white</p> QFQ - Feature #5850 (Some day maybe): Deployment: In QFQ Doc best practice fuer zeitgemaesses Dep...https://project.math.uzh.ch/issues/58502018-04-21T11:37:16ZCarsten Rosecarsten.rose@math.uzh.ch
<p><a class="external" href="https://docs.typo3.org/typo3cms/TellMeSomethingAbout/Topics/Deployment.html">https://docs.typo3.org/typo3cms/TellMeSomethingAbout/Topics/Deployment.html</a><br /><a class="external" href="https://docs.typo3.org/typo3cms/TellMeSomethingAbout/Topics/Docker.html">https://docs.typo3.org/typo3cms/TellMeSomethingAbout/Topics/Docker.html</a><br /><a class="external" href="https://blog.chriwo.de/tagged/PhpStorm">https://blog.chriwo.de/tagged/PhpStorm</a> (PhpStorm / composer)<br /><a class="external" href="https://github.com/martin-helmich/docker-typo3">https://github.com/martin-helmich/docker-typo3</a></p> QFQ - Feature #5783 (Some day maybe): BPMN View/Edithttps://project.math.uzh.ch/issues/57832018-04-05T14:50:40ZCarsten Rosecarsten.rose@math.uzh.ch
<p>QFQ soll BPMN Workflows anzeigen und editieren koennen:</p>
<ul>
<li>BPMN Edit:
<ul>
<li><a class="external" href="https://github.com/bpmn-io/bpmn-js">https://github.com/bpmn-io/bpmn-js</a></li>
<li><a class="external" href="https://github.com/bpmn-io/bpmn-moddle">https://github.com/bpmn-io/bpmn-moddle</a> </li>
<li><a class="external" href="https://github.com/bpmn-io/diagram-js">https://github.com/bpmn-io/diagram-js</a></li>
</ul></li>
</ul>
<ul>
<li>Beispiel fuer BPMN Anzeige via JQuery: <a class="external" href="https://www.pleus.net/blog/?p=2142">https://www.pleus.net/blog/?p=2142</a></li>
</ul> QFQ - Bug #5768 (Some day maybe): '{{pageLanguage:T}}' missing if QFQ is called via api https://project.math.uzh.ch/issues/57682018-03-30T08:08:18ZCarsten Rosecarsten.rose@math.uzh.ch
<p>save() und download() haben keine Zugriff auf {{pageLanguage}}.</p>
<p>Das sollte gesetzt werden wie feUser und feGroup.</p> QFQ - Feature #5548 (Some day maybe): 801 Textfiles/Scriptfiles als Thumbnailhttps://project.math.uzh.ch/issues/55482018-02-26T17:10:35ZBenjamin Baerbenjamin.baer@math.uzh.chQFQ - Feature #4719 (Some day maybe): Custom Message in Client in case of 'Browser tab close, mod...https://project.math.uzh.ch/issues/47192017-10-05T18:53:50ZCarsten Rosecarsten.rose@math.uzh.chQFQ - Bug #4651 (Some day maybe): "Loading document" Modal wird angezeigt bei uzhcd type=2 Ansichthttps://project.math.uzh.ch/issues/46512017-09-28T08:39:55ZElias Villiger
Beim UZH CD gibt es verschiedene Ansichten:
<ul>
<li>&type=1 -> eine Print-Ansicht</li>
<li>&type=2 -> eine text-only Ansicht (evtl. auch als Print-Ansicht gedacht)</li>
</ul>
<p>Wenn eine Seite mit type=2 aufgerufen wird und die entsprechende Seite einen qfq PDF-Link hat, wird zuletzt auf der Seite das qfq-File-Download-Modal angezeigt:<br /><img src="https://project.math.uzh.ch/attachments/download/928/FileModal.PNG" alt="" /></p> QFQ - Feature #4650 (Some day maybe): Convert html to doc/rtfhttps://project.math.uzh.ch/issues/46502017-09-28T08:30:33ZElias Villiger
<p>Die Möglichkeit, analog zu wkhtmltopdf ein .doc oder .rtf zu erstellen.</p>
<p>Mögliche Option: <a class="external" href="https://pandoc.org/">https://pandoc.org/</a> (kann so ziemlich alle Formate)</p>
<p><del>(Wird gebraucht für lean-gate/Generate Cover)</del></p> QFQ - Feature #4627 (Some day maybe): dbupdate: all tables - check 'create', 'modified' if it is ...https://project.math.uzh.ch/issues/46272017-09-24T07:52:22ZCarsten Rosecarsten.rose@math.uzh.chQFQ - Bug #4583 (Some day maybe): Dynamic Update bei TypeAhead Feldernhttps://project.math.uzh.ch/issues/45832017-09-19T14:07:12ZStefan Willi
<p>Bei Feldern mit TypeAhead Funktion werden bei einem Dynamic Update die Werte falsch gespeichert.<br />Es wird jeweils der vorherige und nicht der aktuelle Wert gespeichert.</p> QFQ - Bug #4441 (Some day maybe): $_SERVER Vars sollten nur aus dem Store genommen werden - Code ...https://project.math.uzh.ch/issues/44412017-09-09T14:34:35ZCarsten Rosecarsten.rose@math.uzh.chQFQ - Feature #4420 (Some day maybe): Client: Local Storage - store the changes of a form, local...https://project.math.uzh.ch/issues/44202017-09-08T12:24:24ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Es waere gut wenn ein Form Aenderungen durch den User, die noch nicht submittet wurden, bei erneutem Aufruf des Forms wieder herstellen wuerde.</p>
<p>Die SIP sollte nicht verwendet werden, sondern die HTML ID des Forms.</p> QFQ - Bug #4293 (Some day maybe): Download broken if token 'd:' is missing - but no error messagehttps://project.math.uzh.ch/issues/42932017-08-23T22:08:02ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Es gab einen kompletten PHP Crash wenn im Form Subrecord eine Spalte wie folgt definiert war:<br /><pre>
# OK
... CONCAT('d:file.pdf|s|t:Download|f:',n.pathFileName) AS 'Download|100|link', ...
# Crash
... CONCAT('s|t:Download|f:',n.pathFileName) AS 'Download|100|link', ...
</pre></p>
<p>CR hat dann eine Fake 'buildFile()' Funktion in Link.php eingesetzt.</p>
Topics:
<ul>
<li>Evtl. tritt der Fehler auch in Report/Link auf.</li>
<li>Es sollte eine Fehlermeldung geben wenn 'd' fehlt.</li>
<li>Evtl. kann das Token 'f:' in der calltable (buildFile) entfernt werden - bis anhin wurde es auch nicht gebracht.</li>
<li>Gibt es 'isFunc()' um zu testen ob man eine Funktion aufrufen kann? Das sollte implementiert werden.</li>
</ul> QFQ - Bug #4279 (Some day maybe): config.linkVars losthttps://project.math.uzh.ch/issues/42792017-08-23T10:20:50ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Clicking on a 'AS _Pagee' link looses the 'L' parameter.</p>
<p>In general not only 'type' and 'L' should be appended but all Parameter configured in 'config.linkVars'.</p> QFQ - Bug #4092 (Some day maybe): 1) Logging verbessern wann welches FE warum ausgefuehrt wird, 2...https://project.math.uzh.ch/issues/40922017-07-11T05:28:22ZCarsten Rosecarsten.rose@math.uzh.ch
<a name="Logging-verbessern-wann-welches-FE-warum-ausgefuehrt-wird"></a>
<h1 >Logging verbessern wann welches FE warum ausgefuehrt wird<a href="#Logging-verbessern-wann-welches-FE-warum-ausgefuehrt-wird" class="wiki-anchor">¶</a></h1>
<ul>
<li>In SQL Log muss stehen welches Statement durch welches FE getriggert wird.</li>
<li>Evtl. eigenes Log fuer das abarbeiten der FE. Warum wird wann was wo gemacht. Evtl. reicht es immer nur ein Form Save zu loggen. Bsp.: aus allen FE wird das primary save gebaut. Anschliessend werden die before save und dann die after save gebaut.</li>
</ul>
<p>h2 Documentation: Best Practice Template Group</p>
<p>Schritt fuer Schritt erklaeren was beim speichen von template groups passiert und wie man das schrittweise debuggen kann. welcher logeintrag ist wo zu erwarten?</p> QFQ - Feature #3990 (Some day maybe): custom class definition: add space automaticallyhttps://project.math.uzh.ch/issues/39902017-06-27T17:42:13ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>There various places where the user can add CSS classes to any element via QFQ defintions.</li>
<li>At least for '_Page' the following misses a space between custm CSS und QFQ provided:<br /><pre>
sql = SELECT '{{pageId:T}}&form=personFromWebpass|UZH Webpass|||btn btn-default' as _Page
</pre></li>
</ul> QFQ - Feature #3947 (Some day maybe): Attack detectect: logout current userhttps://project.math.uzh.ch/issues/39472017-06-21T14:04:45ZCarsten Rosecarsten.rose@math.uzh.chQFQ - Feature #3942 (Some day maybe): Action Elemente: neu generierte IDs via FE weitergebenhttps://project.math.uzh.ch/issues/39422017-06-21T10:00:36ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Im Formular 'importWebpassUser' (LI) werden beim Import aus dem UZH Webpass LDAP via action/afterSave 3 Records angelegt: person, account, adresse.</li>
<li>Um die neu erzeugten IDs von einem Action Element zum naechsten zu transportieren waere es gut wenn Element 2 auf die ID von Element 1 zugreifen koennte und Element 3 auf die IDs von 2 und 1.</li>
<li>SlaveIds konnten z.B. im Store Extra abgelegt werden, mit dem Feldenamen des FE.</li>
<li>Alternativ sind sie im STORE_FORM, ebenfalls unter dem Feldnamen.</li>
</ul> QFQ - Feature #3905 (Some day maybe): Documentation: Best Practice anhand eines Online Bewerbungs...https://project.math.uzh.ch/issues/39052017-06-14T07:40:06ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>onlineRectuiting.sql erstellen</li>
<li>Tabellen erstellen</li>
<li>Formulare anlegen.</li>
<li>Funktion
<ul>
<li>Zwei Forumlare fuer unterschiedliche Stellenarten</li>
<li>Referee Formulare</li>
<li>Halbautomatische Einladung der Referees</li>
<li>Zuweisen an Pools</li>
<li>Reviewer zuweisen</li>
<li>Reviewer kann bewerten, und Gesamt PDF runterladen</li>
<li>Admin Zugriff</li>
</ul></li>
</ul> QFQ - Feature #3848 (Some day maybe): Antivirus check fuer Upload files in qfq?https://project.math.uzh.ch/issues/38482017-06-02T19:36:15ZCarsten Rosecarsten.rose@math.uzh.chQFQ - Bug #3811 (Some day maybe): Dynamic Update: extraButtonInfo - Text aktualisierenhttps://project.math.uzh.ch/issues/38112017-05-26T12:08:55ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Vermutlich wird der Text fuer 'extraButtonInfo' bei 'dynamicUpdate' nicht angepasst.</p> QFQ - Feature #3666 (Some day maybe): a) Performance Messung: mysql_real_escape_string() im Vergl...https://project.math.uzh.ch/issues/36662017-05-02T10:56:09ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Check wie gross der Performance Unterschied zwischen mysql_real_escape_string() im Vergleich zu str_replace() ist.</li>
<li>Was passiert wenn mysql_real_escape_string() mehrfach mit dem gleichen String aufgerufen wird? Bleiben bereits escape ticks so wie sie sind (nur einmal escaped)?</li>
</ul>
<ul>
<li>Falls Performance gut ist und doppeltes escapen kein Problem ist, kann mysql_real_escape_string() der neue default werden.</li>
</ul> QFQ - Feature #3567 (Some day maybe): 'Save', 'Close', 'New' als FormElementhttps://project.math.uzh.ch/issues/35672017-04-13T10:47:15ZCarsten Rosecarsten.rose@math.uzh.chQFQ - Feature #3458 (Some day maybe): Display 'Edit Form Element'-Checkbox on form: should depend...https://project.math.uzh.ch/issues/34582017-03-29T09:05:38ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Idea: If a Fe-User is member of an FE-Group, e.g. 'edit-form', he will see the 'Edit Form'-wrench as well as the 'Edit Form Element'-Checkbox on top of the form.</p> QFQ - Bug #3349 (Some day maybe): config.qfq.ini: a) vertraegt keine '=' im Value (z.B. Passwort)...https://project.math.uzh.ch/issues/33492017-03-13T16:24:32ZCarsten Rosecarsten.rose@math.uzh.chQFQ - Feature #3331 (Some day maybe): Default Tooltip fuer _page? Links: mit Form und Record IDhttps://project.math.uzh.ch/issues/33312017-03-10T12:10:11ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Wenn in den SIP Parametern fuer einen Link (=PageX) eine Form und/oder eine Record ID angegben ist, kann diese zusaetzlich zu 'Edit', 'Delete', 'View' angezeigt werden.</p>
<p>Bsp.: Fuer Form=Person, RecordID=123 >> Tooltip: 'Edit: Person/123'</p> QFQ - Feature #3291 (Some day maybe): AutoCron websiteTokenhttps://project.math.uzh.ch/issues/32912017-03-07T12:43:07ZElias Villiger
<p>Es könnte einen neuen AutoCron-Typ geben (genannt z.B. websiteToken oder websiteFeedback oder ...)</p>
<p>Dieser erwartet von der aufgerufenen Seite bestimmte Tokens wie</p>
<blockquote>
<p>#DB Connected (erste Zeile)<br />#DB OK (letzte Zeile)</p>
</blockquote>
<p>Wenn diese Tokens nicht vorhanden sind, liefert der AutoCron Job einen Fehler-Status zurück (statt OK).</p> QFQ - Feature #3273 (Some day maybe): Dirty Flag in Formhttps://project.math.uzh.ch/issues/32732017-03-04T13:30:44ZElias Villiger
<p>Gewünscht ist die Möglichkeit, innerhalb eines FormElements abzufragen, ob der aktuelle Record Änderungen enthält, die noch nicht gespeichert wurden. Das entsprechende dirty flag muss natürlich dynamic update tauglich sein.</p>
<p>Gebraucht für HMS:</p>
<blockquote>
<p>Der "Submit" button einer application sollte nur dann aktiv sein, wenn der Record gespeichert wurde. Andernfalls wird eine Notiz angezeigt, dass der Record zuerst gespeichert werden muss.</p>
</blockquote> QFQ - Feature #3267 (Some day maybe): 2 Forms auf einer Seite: real + Read onlyhttps://project.math.uzh.ch/issues/32672017-03-03T12:05:46ZElias Villiger
<p>- oben ist eine Form das bearbeitet / gespeichert werden soll.<br />- Unten ist ein Form das nur Informationen enthaelt.</p>
<p>Das untere Form benoetigt eine andere recordId als das obere (oben=Reviewm, unten=Application).<br />Wird im QFQ element r={{appId:S}} verwendet, ercheint trotzdem die record ID von oben.</p>
<p>Die Seite wird via QFQ report aufgerufen - d.h. es ist ein links via _Pagee auf die Seite erzeugt worden.</p>
<p>Vermutlich muss die Prioriater veraendert werden, das im zweiten QFQ Reord auf der Seite wirklich recordID im QFQ Record genommen wird und nciht aus dem SIP store.</p> QFQ - Feature #3216 (Some day maybe): dynamic update für checkbox label2https://project.math.uzh.ch/issues/32162017-02-15T15:12:26ZElias VilligerQFQ - Bug #3130 (Some day maybe): Debug Info's nicht korrekt nach 'New > Save'.https://project.math.uzh.ch/issues/31302017-01-30T23:14:41ZCarsten Rosecarsten.rose@math.uzh.ch
<p>EV/30.1.17: Es handelt sich um den Fix <a class="issue tracker-3 status-5 priority-2 priority-default closed" title="Support: QFQ: aftersave macht kein 'update' falls master record uerspruenglich 0 war. (Closed)" href="https://project.math.uzh.ch/issues/2914">#2914</a>. Funktioniert alles, ausser dass die<br />kleinen Informations-Felder zu den Angaben, wie die Queries ausgeführt<br />wurden, nicht geupdated wurden. Diese Felder zeigen immer noch den alten<br />Stand an, also z.B. dass die xId (welche sich auf einen mit afterSave<br />neu erstellten Record bezieht) nicht gefunden wurde.</p> QFQ - Feature #2995 (Some day maybe): Dropdown JQuery Plugin: 'chosen' - Moeglichkeit um Select L...https://project.math.uzh.ch/issues/29952016-12-16T08:51:39ZCarsten Rosecarsten.rose@math.uzh.ch
<p><a class="external" href="https://harvesthq.github.io/chosen/">https://harvesthq.github.io/chosen/</a></p>
<p>Vorgeschlagen von Elias</p>