Project @ iMath: Issueshttps://project.math.uzh.ch/https://project.math.uzh.ch/favicon.ico?16668783892019-12-04T13:45:31ZProject @ iMath
Redmine QFQ - Feature #9704 (Some day maybe): Thumbnails Generieren beim Splitten von PDF Fileshttps://project.math.uzh.ch/issues/97042019-12-04T13:45:31ZBenjamin Baerbenjamin.baer@math.uzh.ch
<ul>
<li>Im moment werden Thumbnails auf Anfrage generiert (Mit parameter |W:900x)</li>
<li>Gut waere wenn diese direkt beim Upload nach dem Splitten generiert werden</li>
<li>Da die Devices unterschiedliche Pixeldichte haetten, waeren ein bisschen groessere Thumbnails wuenschenswert</li>
<li>Meine Empfehlung waere einfach mal alle auf die Width 800 zu skalieren (fuer 4k Devices) - und diese so abzulegen.
<ul>
<li>Wenn der User groessere Thumbnails braucht, kann er dies manuell mit dem W parameter setzen</li>
<li>Wenn dies nicht der Fall ist muss kein |W parameter mitgegeben werden und das 800 width thumbnail wird geliefert</li>
<li>Der User kann dann mittels css/style/etc die Anzeige groesse des Thumbnails bestimmen</li>
</ul></li>
</ul> 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 #7108 (Some day maybe): QFQ Wrap Elementshttps://project.math.uzh.ch/issues/71082018-10-27T10:01:32ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>erklaeren wie welche elemente gewrapped werden.</li>
<li>Screenshots
<ul>
<li>static: untereinander, hinteinander</li>
<li>dynamicUpdate: innerhalb einer Zeile ein/ausblenden</li>
</ul></li>
</ul>
<ul>
<li>Optionen
<ul>
<li>BS Columns. Insbesondere was passiert wenn bscolumns=0</li>
<li>row, label, /label, input, /input, note, /note, /row</li>
<li>FE.parameter: FE_WRAP_ROW, FE_WRAP_LABEL, FE_WRAP_INPUT, FE_WRAP_NOTE</li>
</ul></li>
</ul>
<ul>
<li>Unit Test ob ALLE Kombinationen funktioneren.</li>
</ul> QFQ - Feature #7107 (Some day maybe): Showcase Registration Tool: Anmeldung / Administration : Li...https://project.math.uzh.ch/issues/71072018-10-27T09:23:23ZCarsten Rosecarsten.rose@math.uzh.chQFQ - 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 - Feature #7104 (Some day maybe): Manual: hint about escaping if '\r' appears in mail bodyhttps://project.math.uzh.ch/issues/71042018-10-27T09:16:26ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Werden Mails versendet und der Body durch einen Record geladen und via {{body:R}} eingesetzt, erscheinen im Text '\r' an den Zeilenenden.</p>
<p>Problem: {{body:R}} wird escaped</p>
<p>Abhilfe: {{body:R::-}}</p>
<p>Das in der FAQ Sektion erklaeren.</p> 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 #6515 (Some day maybe): Formular: Felder dynamisch ein/ausblendenhttps://project.math.uzh.ch/issues/65152018-08-15T09:23:42ZCarsten Rosecarsten.rose@math.uzh.ch
1) New Record
<ul>
<li>Feld 1 ist leer</li>
<li>Feld 2 ist ausgblendet</li>
</ul>
2) Edit Record
<ul>
<li>Feld 1 = A</li>
<li>Feld 2: Dropdownliste mit Werten die zu 'A' passen</li>
</ul>
3) Edit Record
<ul>
<li>Feld 1 = B</li>
<li>Feld 2: Dropdownliste mit Werten die zu 'B' passen</li>
</ul> 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 #6083 (Some day maybe): Dynamic Update: Value Check via SQLhttps://project.math.uzh.ch/issues/60832018-05-26T16:39:52ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Um z.B. die Eingabe eines Start/Ende Datums via 'dynamic update' kontrollieren zu koennen, waere es gut wenn man eine SQL query dafuer definieren koennte.</p>
<p>Bsp: projektStart und projektEnde duerfen nur maximal 24 Monate umfassen.</p>
Implementierungsidee:
<ul>
<li>Es gibt einen neuen FormElementTyp 'dynamicUpdateCheck' mit type='action'.</li>
<li>Im zu ueberpruefenden FE gibt es im Parameterfeld<br /><pre>
dynamicUpdateCheckFeId = 123 # FormElement.id eines FE mit type='dynamicUpdateCheck'
</pre></li>
<li>Die Notation ist identisch zu 'beforeSave'.</li>
</ul> 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 - Feature #5160 (Some day maybe): QFQ collaborative / together.js, ShareJS, y-js, collaborati...https://project.math.uzh.ch/issues/51602017-12-23T16:04:11ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li><a class="external" href="https://togetherjs.com">https://togetherjs.com</a></li>
<li><a class="external" href="https://github.com/josephg/ShareJS">https://github.com/josephg/ShareJS</a></li>
<li><a class="external" href="http://y-js.org/#!/examples">http://y-js.org/#!/examples</a> (incl. RTE)</li>
<li><a class="external" href="https://www.npmjs.com/package/collaborative">https://www.npmjs.com/package/collaborative</a></li>
<li><a class="external" href="https://blog.pusher.com/build-collaborative-text-editor-javascript/">https://blog.pusher.com/build-collaborative-text-editor-javascript/</a></li>
</ul> QFQ - Feature #5129 (Some day maybe): Reports: SQL fuer x Achse und y Achsehttps://project.math.uzh.ch/issues/51292017-12-15T14:08:56ZBenjamin Baerbenjamin.baer@math.uzh.ch
<p>Moeglichkeit x und y Achse in einer SQL Stufe zu generieren und Kinder dann beide Values zu vererben</p>
<p>Nuetzlich fuer Tabellen die Horizontal und Vertikal generiert werden, bsp. Overview Points</p>
<p>Beispiel:<br /><pre>
10 {
xsql = SELECT id FROM Exercises
ysql = SELECT id FROM Students
rbeg = <tr>
xhead = <thead>
yhead = <tbody>
xfbeg = <th>
xfend = </th>
yfbeg = <td>
...
20 {
sql = SELECT grade FROM Grades WHERE idExercise = {{10x.id}} AND idStudent = {{10y.id}}
}
</pre></p> QFQ - Feature #4974 (Some day maybe): Long polling - inform all listening clients of changeshttps://project.math.uzh.ch/issues/49742017-11-21T08:23:46ZBenjamin Baerbenjamin.baer@math.uzh.ch
<p><a class="external" href="https://stackoverflow.com/questions/333664/how-do-i-implement-basic-long-polling">https://stackoverflow.com/questions/333664/how-do-i-implement-basic-long-polling</a></p>
<pre>
<?php
if(rand(1,3) == 1){
/* Fake an error */
header("HTTP/1.0 404 Not Found");
die();
}
/* Send a string after a random number of seconds (2-10) */
sleep(rand(2,10));
echo("Hi! Have a random number: " . rand(1,10));
?>
</pre>
<p>Note: With a real site, running this on a regular web-server like Apache will quickly tie up all the "worker threads" and leave it unable to respond to other requests.. There are ways around this, but it is recommended to write a "long-poll server" in something like Python's twisted, which does not rely on one thread per request. cometD is an popular one (which is available in several languages), and Tornado is a new framework made specifically for such tasks (it was built for FriendFeed's long-polling code)... but as a simple example, Apache is more than adequate! This script could easily be written in any language (I chose Apache/PHP as they are very common, and I happened to be running them locally)</p>
<p>Javascript:</p>
<pre>
<script type="text/javascript" charset="utf-8">
function addmsg(type, msg){
/* Simple helper to add a div.
type is the name of a CSS class (old/new/error).
msg is the contents of the div */
$("#messages").append(
"<div class='msg "+ type +"'>"+ msg +"</div>"
);
}
function waitForMsg(){
/* This requests the url "msgsrv.php"
When it complete (or errors)*/
$.ajax({
type: "GET",
url: "msgsrv.php",
async: true, /* If set to non-async, browser shows page as "Loading.."*/
cache: false,
timeout:50000, /* Timeout in ms */
success: function(data){ /* called when request to barge.php completes */
addmsg("new", data); /* Add response to a .msg div (with the "new" class)*/
setTimeout(
waitForMsg, /* Request next message */
1000 /* ..after 1 seconds */
);
},
error: function(XMLHttpRequest, textStatus, errorThrown){
addmsg("error", textStatus + " (" + errorThrown + ")");
setTimeout(
waitForMsg, /* Try again after.. */
15000); /* milliseconds (15seconds) */
}
});
};
$(document).ready(function(){
waitForMsg(); /* Start the inital request */
});
</script>
</pre> QFQ - Feature #4956 (Some day maybe): Sendmail: Benutzerdefinierte Headershttps://project.math.uzh.ch/issues/49562017-11-16T18:52:39ZElias Villiger
<p>Manchmal ist es hilfreich, wenn man eigene Mail-Headers angeben kann.</p> QFQ - Feature #4839 (Some day maybe): qfq-handle in <head> Abschnitthttps://project.math.uzh.ch/issues/48392017-10-28T12:31:24ZElias Villiger
<p>Manchmal wäre es praktisch, wenn man per qfq-ContentElement Code im <head> Abschnitt einer HTML-Seite einfügen könnte (Bsp. <meta> tags, welche die Seite beschreiben)</p> QFQ - Feature #4444 (Some day maybe): FE.type=upload: detect mime typehttps://project.math.uzh.ch/issues/44442017-09-09T15:04:53ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Falls kein 'file' installiert ist: Fallback auf filename extension</p>
config.qfq.ini:
<ul>
<li>mimetype=file (default)</li>
<li>mimetype= (detection off)</li>
</ul>
<ul>
<li>persoenliche notiz
<ul>
<li>-b (brief)</li>
<li>--extension</li>
<li>--mime</li>
<li>--keep-going</li>
</ul></li>
</ul> QFQ - Feature #4440 (Some day maybe): Manual.rst: explain how to. expand PHP Session to 4hhttps://project.math.uzh.ch/issues/44402017-09-09T14:33:37ZCarsten 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 - Feature #4349 (Some day maybe): _link|download: downloaded external URL to deliver/concaten...https://project.math.uzh.ch/issues/43492017-09-02T11:41:00ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>It might be usefull, to download via web, specific attachements like PDF files. (lean > lean-gate) </li>
<li>A additional parameter, like 'w:', might be used to download an external reference.</li>
<li>It should be possible to check the downloaded file for a mime type and handle it in a correct way.</li>
<li>E.g. if the download is a PDF, it could be delivered directly or concatenated.</li>
</ul> QFQ - 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 #3941 (Some day maybe): sqlAfter: es sollten mehrere moeglich seinhttps://project.math.uzh.ch/issues/39412017-06-21T09:53:29ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Bei dem Formular 'importWebpassUser' waere es extrem hilfreich wenn man mehrere sqlAfter angeben koennte.</li>
<li>z.B.:
<ul>
<li>sqlAfter, sqlAfter1, sqlAfter2</li>
</ul></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 #3900 (Some day maybe): Extend documentation of 'Copy / Paste'https://project.math.uzh.ch/issues/39002017-06-12T21:00:20ZCarsten Rosecarsten.rose@math.uzh.ch
Manual
<ul>
<li>Neuen FE.type='paste' erklaeren.</li>
<li>Erklaeren wie CopyFormulare funktionieren.</li>
<li>recordDestinationTable / recordSourceTable</li>
<li>STORE_CLIENT: cookieQfq</li>
<li>Elemente im Parentstore erklaeren wie da Werte reinkommen und wofuer man sie brauchen kann.</li>
<li>Beispiel 'copyForm' genau beschreiben</li>
</ul> QFQ - Feature #3879 (Some day maybe): Form 'FormElement': Beim Feld 'name' rechts in der Notiz ei...https://project.math.uzh.ch/issues/38792017-06-08T20:30:15ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>User gibt einen Spaltennamen ein.</li>
</ul>
<ul>
<li>Falls der Spaltennamen existiert:
<ul>
<li>Anzeige der aktuellen Defintion in der Tabelle</li>
</ul></li>
</ul>
<ul>
<li>Falls der Spaltennamen noch nicht existiert:
<ul>
<li>wird im Notizbereich ein Link eingblendet der auf ein 'Column Create' Form zeigt.</li>
<li>In Form 'Column Create' kann man Typ, Laenge, ... einstellen und die Spalte anlegen.</li>
</ul></li>
</ul> QFQ - Feature #3878 (Some day maybe): Form 'FormElement': Spalte 'name' typeAhead mit Spaltenname...https://project.math.uzh.ch/issues/38782017-06-08T20:19:35ZCarsten Rosecarsten.rose@math.uzh.chQFQ - Feature #3877 (Some day maybe): FormEditor: die Felder die aktuell nicht gebraucht werden n...https://project.math.uzh.ch/issues/38772017-06-08T20:17:34ZCarsten Rosecarsten.rose@math.uzh.chQFQ - Feature #3692 (Some day maybe): QFQ Webseitehttps://project.math.uzh.ch/issues/36922017-05-08T16:27:10ZBenjamin Baerbenjamin.baer@math.uzh.ch
<p>Webseite zur Praesnetation von QFQ.</p>
<p><a class="external" href="http://user.math.uzh.ch/baer/qfq/">http://user.math.uzh.ch/baer/qfq/</a></p> QFQ - Feature #3677 (Some day maybe): wkhtmltopdf: FE User access prohibited, if client IP change...https://project.math.uzh.ch/issues/36772017-05-04T17:57:12ZCarsten Rosecarsten.rose@math.uzh.ch
<p>To forward FE_USER privileges to wkhtmltopdf, it's necessary to switch off the IP check for FE_USER ($TYPO3_CONF_VARS[FE][lockIP]). This lowers the security level - it would be good not to do that.</p>
Extension for user specific `$TYPO3_CONF_VARS[FE][lockIP]` <a class="external" href="https://www.typo3.net/forum/thematik/zeige/thema/61123/">https://www.typo3.net/forum/thematik/zeige/thema/61123/</a>
<ul>
<li>This might help to offfer `$TYPO3_CONF_VARS[FE][lockIP]` together with an IP whitelist (=localhost).</li>
<li>The idea is to develop a separate Extension or to integrate that feature in QFQ.</li>
<li>There are already different IP based checks for debugging functions or BE Logging access.</li>
</ul>
Some notes:
<ul>
<li><a class="external" href="http://typo3blog.at/blog/artikel/typo3-ausreichend-absichern/">http://typo3blog.at/blog/artikel/typo3-ausreichend-absichern/</a></li>
<li><a class="external" href="https://docs.typo3.org/typo3cms/SecurityGuide/GuidelinesIntegrators/GlobalTypo3Options/Index.html">https://docs.typo3.org/typo3cms/SecurityGuide/GuidelinesIntegrators/GlobalTypo3Options/Index.html</a></li>
</ul> 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 #3646 (Some day maybe): Moeglichkeit HTML Tags in Reports auszugeben (zu enkodieren...https://project.math.uzh.ch/issues/36462017-04-28T13:44:35ZBenjamin Baerbenjamin.baer@math.uzh.ch
<p>Siehe als Beispiel:<br /><img src="https://project.math.uzh.ch/attachments/download/650/qfq_tags_ausgabe.png" alt="" /></p>
<p>Sollte moeglich sein das mittels htmlspecialchars in html zu kodieren.</p> QFQ - Feature #3617 (Some day maybe): Load javascripts at bottomhttps://project.math.uzh.ch/issues/36172017-04-24T07:41:17ZBenjamin Baerbenjamin.baer@math.uzh.ch
<p>Ist Zustand:</p>
<pre>
<script>
$(function () {
'use strict';
QfqNS.Log.level = 0;
var qfqPage = new QfqNS.QfqPage({
tabsId: 'qfqTabs',
formId: 'qfq-form-58fda8ec26d14',
submitTo: 'typo3conf/ext/qfq/qfq/api/save.php',
deleteUrl: '',
refreshUrl: 'typo3conf/ext/qfq/qfq/api/load.php',
fileUploadTo: 'typo3conf/ext/qfq/qfq/api/file.php?action=upload',
fileDeleteUrl: 'typo3conf/ext/qfq/qfq/api/file.php?action=delete'
});
var qfqRecordList = new QfqNS.QfqRecordList('typo3conf/ext/qfq/qfq/api/delete.php');
})
</script>
</pre>
<p>Soll: Keine scripts mehr im HTML.</p>
<p>Umesetzungsvorschlag:</p>
<ul>
<li>HTML Seite<br /><pre>
<form class="qfq-setup" data-log="0" data-tabs-id="qfqTabs" data-form-id="qfq-form-58fda8ec26d14" data-submit="typo3conf/ext/qfq/qfq/api/load.php"
data-delete="" data-refresh="typo3conf/ext/qfq/qfq/api/load.php" data-file-upload-to="typo3conf/ext/qfq/qfq/api/file.php?action=upload"
data-delete-url="typo3conf/ext/qfq/qfq/api/file.php?action=delete" data-initialize="typo3conf/ext/qfq/qfq/api/delete.php"> ... </form>
</pre></li>
</ul>
<ul>
<li>Script<br /><pre>
$(".qfq-setup").each(function () {
'use strict';
QfqNS.Log.level = $(this).data("log");
var qfqPage = new QfqNS.QfqPage({
tabsId: $(this).data("tabs-id"),
formId: $(this).data("form-id"),
submitTo: $(this).data("submit"),
deleteUrl: $(this).data("delete"),
refreshUrl: $(this).data("refresh"),
fileUploadTo: $(this).data("upload-to"),
fileDeleteUrl: $(this).data("delete-url")
});
var qfqRecordList = new QfqNS.QfqRecordList($(this).data("initialize"));
});
</pre></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 #3537 (Some day maybe): SHOW COLUMNS FROM tableName - Extend '{{!...' definitionhttps://project.math.uzh.ch/issues/35372017-04-09T08:09:34ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Ziel war urspruenglich ein TypeAhead fuer Spaltennamen im Form 'FormElement' zu implementieren.<br />Bei der folgenden Beschreibung ist nicht klar ob sich der Aufwand lohnt das zu implementieren:</p>
<pre>
{{!'%s',1,'id'|'%s %s %s',1,2,3,'value'|SHOW COLUMNS FROM {{SELECT f.tableName FROM Form AS f WHERE f.id={{formId:S0}} LIMIT 1}} }}
</pre><br />Erklaerung:
* Kommt nach dem '{{!' kein SQL Schluesselwort, wird der String nach '|' explodiert.
* Ab dem ersten Einzelelement welches mit einem SQL Schluesselwort beginnt, werden alle folgende Einzelelemente wieder zu einem Element zusammengesetzt.
* Die vorderen Einzelelemente sind printf() Anweisungen, mit der Ergaenzung das falls der letzte Parameter (z.B. 'id') in Ticks steht, dies der neue Spaltenname ist.
* Die Nummern nach dem Formatstring sind die Spaltenindizes des Resultsets. QFQ - Feature #3495 (Some day maybe): Predifined Parameter werden nicht in '+' (add new record) S...https://project.math.uzh.ch/issues/34952017-04-03T21:24:21ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Problem: Auf der Lehrkredit Seite 'Setup' koennen Ggroup Records angelegt werden. In dem '+' auf der Seite ist ein grId=22 als Predefined Parameter definiert, der jeweils im Record zur Klassifizierung mit gespeichert werden muss. Bis dahin ok. Wird nun bestehender Record via Edit aufgerufen und auf dem bestehenden Record das '+' gedrueckt, bekommt der neue Record KEIN grId=22. D.h. die vordefinierten Werte fehlen.</p>
<p>Beispiel</p> QFQ - 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 - Feature #3457 (Some day maybe): LDAP: concat multi values to one single entryhttps://project.math.uzh.ch/issues/34572017-03-28T19:45:40ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>webpass<br /><pre>
dn: uid=crose,ou=People,ou=WebPass,ou=id,dc=uzh,dc=ch
uzhuuid: u1001518
sn: Rose
uid: crose
cn: crose
groupMember: Mitarbeitende
groupMember: i_s_math
givenName: Carsten
title: Herr
mail: carsten.rose@math.uzh.ch
objectClass: idWebPassAccount
objectClass: top
objectClass: uzhSapAccount
</pre></li>
<li>Soll 'groupMember' ausgegeben werden gibt es vermutlich nur den ersten Wert. </li>
<li>Am besten alle Werte zusammen mit ', ' getrennt.</li>
</ul> QFQ - Feature #3415 (Some day maybe): FE Login Box Templatefile https://project.math.uzh.ch/issues/34152017-03-23T21:16:57ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Hallo Benj</p>
<p>1) koenntest Du bitte das Templatefile aus lehrkredit anhaenden an:</p>
<p><a class="external" href="https://wikiit.math.uzh.ch/it/spick/web/typo3/typoscript#FE_Login_Box">https://wikiit.math.uzh.ch/it/spick/web/typo3/typoscript#FE_Login_Box</a></p>
<p>2) Im UZH-CD Readme.md einen entsprechenden Hinweis machen</p>
<p>3) Ist der Hinweis auf die QFQ Installation beim UZH CD sinnvoll?</p>
<p>Vielen Dank</p>
<p>CU<br />Carsten</p> QFQ - Feature #3402 (Some day maybe): Syntax Highlighting via CodeMirrorhttps://project.math.uzh.ch/issues/34022017-03-22T14:20:56ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Requirement: Texarea Feld mit Syntax Highlight</p>
<ul>
<li><a class="external" href="https://codemirror.net/">https://codemirror.net/</a></li>
<li>Min. SQL, optional weitere</li>
<li>Konfiguration wie bei TinyMCE via `data-...` - d.h. der Redakteur kann in QFQ Einfluss nehmen auf die diversen Optionen von CodeMirror.</li>
</ul> QFQ - Feature #3385 (Some day maybe): templateGroup: insert/update/delete non primary recordshttps://project.math.uzh.ch/issues/33852017-03-19T22:12:42ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Haben die FE in einer templategroup kein %d im 'name', werden bei einem submit alle Elemente mit dem gleichen 'name' Attribut ubertragen - das ist nicht gut.
<ul>
<li>Auch non-primary TG sollten also %d im Namen haben.</li>
<li>Der FormEditor sollte das beim Speichern des FE ueberpruefen</li>
</ul>
</li>
<li>Fuer Dynamic Update waere es gut, wenn alle Elemente unterschiedliche IDs haben - das muss auf dem Server bei vorgefuellt Werten passieren, aber auch im Client wenn 'Add' gedrueckt wird.</li>
</ul> QFQ - Feature #3350 (Some day maybe): FormEditor: Hilfetext hinter 'checktype'https://project.math.uzh.ch/issues/33502017-03-13T16:25:40ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Erklaerung welche Zeichen in welcher Klasse erlaubt sind.</li>
<li>Erklaerung in der Note Spalte</li>
</ul> QFQ - Feature #3332 (Some day maybe): Uploads: Thumbnails, Details zum hochgeladenen Filehttps://project.math.uzh.ch/issues/33322017-03-10T16:49:59ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Es waere gut wenn man von einem ausgewaehlten File instantly eine Thumbnail anzeigen koennte. Das sollte einfach moeglich sein, denn das File wird direkt nach der Auswahl im Browser auf den Server hochgeladen. Entsprechend koennte nach dem Abschluss des Uploads (solange ist das turning wheel zu sehen) ein Ajax Request abgesetzt werden der entsprechende Info's anzeigt. Der Record ist zu dem Zeitpunkt noch nicht zwingend gespeichert worden. Als Response von dem Uploadreequest koennte eine SIP (oder das Thumbnail mit allen File Details) geliefert werden.</p>
Zusaetzlich zu dem Thumbnail sollten auch Dateidetails anzeigbar sein:
<ul>
<li>Size</li>
<li>Typ</li>
<li>Anzahl Seiten (bei PDF)</li>
<li>Thumbnail bei doc, excl, pdf von der ersten Seite oder ein Typ Icon.</li>
</ul> QFQ - 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 #3285 (Some day maybe): Zeichenlimit pro Feld: textarea / editorhttps://project.math.uzh.ch/issues/32852017-03-06T10:21:58ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Es sollte moeglich sein bei 'textarea' und 'editor' ein Zeichenlimit definieren zu koennen.</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>