Project @ iMath: Issueshttps://project.math.uzh.ch/https://project.math.uzh.ch/favicon.ico?16668783892024-03-28T11:41:14ZProject @ iMath
Redmine QFQ - Feature #18236 (New): MultiForm re order via drag&drophttps://project.math.uzh.ch/issues/182362024-03-28T11:41:14ZZhoujie Li
<p>MultiForm wie subrecord per drag&drop neu anordnern</p> QFQ - Feature #18235 (Priorize): MultiForm add rowshttps://project.math.uzh.ch/issues/182352024-03-28T10:18:34ZZhoujie Li
<p>Es sollte möglich sein in einem Multiform neue Rows hinzuzufügen als button, die Record = 0 sind.(ähnlich wie subrecord einfach das button unterhalb) Die Motivation dahinter ist die Implementierung eines 'Form Wizard', der es ermöglichen schnell neue Formulare zu erstellen. Aber könnte auch für andere use case nützlich sein.</p> QFQ - Feature #18164 (Feedback): Merge datahttps://project.math.uzh.ch/issues/181642024-03-18T07:56:45ZEnis Nuredini
<p>Neues Feature um vereinfacht Duplizierte Daten zu mergen. Soll relativ generisch und Einsatzbereit für verschieden Projekte sein.</p>
<p>Eine automatische Erstellung von Merge Rules in einer eigenen Tabelle ist vorgesehen. Das manuelle Erfassen von Rules sollte ebenfalls möglich sein.<br />Beim mergen sollten drei Optionen zur Verfügung stehen: Datensatz belassen, Datensatz mergen, Datensatz löschen</p>
<p>Auch sollte die Primary ID auswählbar sein.</p>
<p>Ein Switch zwischen Rules und compared Data würde die Benutzerfreundlichkeit erhöhen.</p> QFQ - Feature #18162 (New): Form / Select List: save outdated key/value even it no longer exist i...https://project.math.uzh.ch/issues/181622024-03-17T14:56:05ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Szenario:</p>
<ul>
<li>Fuer eine Masterarbeit wird ein Betreuer eingetragen. </li>
<li>Die Liste der potentiellen Betreuer veraendert sich. Z.B. koennte eine Person von frueher heute nicht mehr den Status 'Betreuer' haben.</li>
<li>Wird eine solche MA aufgerufen wird nicht mehr der urspruengliche Betreuer angezeigt und beim erneuten Speichern gibt es ein Problem.</li>
</ul>
<p>Vorschlag:</p>
<ul>
<li><code>FE.parameter.sqlGetItemSaved = {{SELECT p.id, p.name FROM Person AS p WHERE p.id={{pId:R}}</code></li>
<li>Wird die ItemList gebaut, wird überprüft ob die gespeicherte Id (oder Value falls es keine ID gibt) noch existiert.</li>
<li>Ja: all done, no further action</li>
<li>Nein:
<ul>
<li>Evaluate <code>FE.parameter.sqlGetItemSaved</code></li>
<li>Fuege Key/Value an der richtigen Stelle (Sortierung) ein.</li>
<li>Falls moeglich stelle den Eintrag 'kursiv' dar ('muted' waere schlecht, denn das suggeriert das der Eintrag nicht ausgewaehlt werden koennte).</li>
</ul></li>
</ul>
<ul>
<li>Die Situation koennte auftreten bei: SELECT, CHEKBOX, RADIO</li>
</ul> QFQ - Feature #18161 (New): QFQ Variable: New escape/action class 'strip_tags'https://project.math.uzh.ch/issues/181612024-03-17T11:21:55ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Mitunter werden Variablen ausgegeben und koennen potentiell HTML Tags enthalten die an der Stelle unerwuenscht sind.</p>
<p>Vorschlag 'r' fuer 'remove tags' (c=clean & s=striptags, p=purge sidn schon benutzt) - <a class="external" href="https://docs.qfq.io/en/master/Variable.html#variable-escape">https://docs.qfq.io/en/master/Variable.html#variable-escape</a></p>
<pre>
{{label:R::r}}
</pre>
<p>Koennte verwendet werden in <a class="issue tracker-2 status-1 priority-2 priority-default" title="Feature: Title of 'FormElement'-form: shortened, link to form (New)" href="https://project.math.uzh.ch/issues/18160">#18160</a> damit keine HTML Tags im Titel ausgegeben werden.</p> QFQ - Feature #18160 (New): Title of 'FormElement'-form: shortened, link to formhttps://project.math.uzh.ch/issues/181602024-03-17T11:04:14ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>a) Mir passiert es haeufig das ich ein FormElement bearbeite und dann gerne das ganze Form bearbeiten moechte.</li>
<li>b) Der Titel des FormElement-Forms enthaelt Elemente die wenig Informationsinhalt haben</li>
</ul>
<a name="Aktuell"></a>
<h2 >Aktuell:<a href="#Aktuell" class="wiki-anchor">¶</a></h2>
<p><img src="https://project.math.uzh.ch/attachments/download/9516/clipboard-202403171125-ffl17.png" alt="" /></p>
<a name="Vorschlag"></a>
<h2 >Vorschlag:<a href="#Vorschlag" class="wiki-anchor">¶</a></h2>
<p><img src="https://project.math.uzh.ch/attachments/download/9517/clipboard-202403171202-1quit.png" alt="" /></p>
<p><img src="https://project.math.uzh.ch/attachments/download/9518/clipboard-202403171203-bzxni.png" alt="" /></p>
<a name="Neue-Definition"></a>
<h2 >Neue Definition<a href="#Neue-Definition" class="wiki-anchor">¶</a></h2>
<pre>
{{ "{{SELECT 'p:form?form=form&r=', f.id, '|E|b:btn-small btn-default|s|o:Form: ', f.id, ' / ', f.name, CHAR(10), 'DB: {{dbNameQfq:Y}}' FROM Form AS f WHERE f.id = {{formId:SR0}} }}" AS _link}} <span style="font-weight: 100;">FE:</span> {{name:R:::New}} / {{label:RE}}
</pre> QFQ - Feature #18141 (New): In Config/Dynamic neue fill store 'SYSTEM' by SQL ROW mit variablen ...https://project.math.uzh.ch/issues/181412024-03-14T07:18:20ZZhoujie Li
<p>Es wurde herausgestellt, dass man eine neue Config/Dynamic input möchte, indem man den fillstore 'SYSTEM'-Speicher durch SQL-ROW die variablen ersetzt, um beispielsweise pIdUser aus dem system store zu holen anstatt {{feUser}}.</p>
<p>Beispiel<br />SELECT p.id AS pIdUser FROM Person AS p WHERE p.account = '{{feUser:T}}'</p>
<p>pIdUser ist dann im Systemstore gespeichert.</p> QFQ - Feature #18085 (New): FE Input Email Adressbook: a) Typeahead, b) check valid and markhttps://project.math.uzh.ch/issues/180852024-03-06T09:07:34ZCarsten Rosecarsten.rose@math.uzh.ch
<a name="Request"></a>
<h2 >Request<a href="#Request" class="wiki-anchor">¶</a></h2>
<ul>
<li>Im IK Tool werden beim Antrag Email-Adressen von weiteren verantwortlichen Personen erfasst.</li>
<li>Es kommt regelmaessig vor das die Adressen einen Typo enthalten.</li>
<li>Ziel
<ul>
<li>Bei der Eingabe TypeAhead vom UZH Adressebook anbieten.</li>
<li>Bei 'Focus Lost' Emailadressen pruefen und markieren ok/fail.</li>
</ul></li>
</ul>
<a name="Vorschlag"></a>
<h2 >Vorschlag<a href="#Vorschlag" class="wiki-anchor">¶</a></h2>
<ul>
<li>Wird erkannt dass die Email Adresse eine <code>uzh.ch</code> Adresse ist, kann ein LDAP Lookup gemacht werden um zu ueberpruefen ob die Adresse im UZH AD vorhanden ist.</li>
<li>Ist die Adresse bekannt, wird sie gruen, sonst gelb (Tooltip: Address not found in UZH adress book).</li>
<li>Non uzh.ch Adressen werden so nicht geprueft.</li>
<li>Option 'internal check': es koennen Tabellen, Spalten spezifiziert werden (Tool intern),ob die Adresse bereits benutzt wurde. Falls gefunden wird sie ebenfalls gruen.</li>
<li>Der Check gegen das Adressbuch muss erst gemacht werden bei Focus Lost.</li>
<li>Der Check sollte vom Server gestartet werden: Zugriff auf den AD ist beschraenkt (Firewall, Credentials)</li>
<li>Wir brauchen einen neuen API Call der SIP protected ist.</li>
<li>Beim Laden des Forms ist der Check vermutlich nicht so wichtig, kann erstmal weggelassen werden.</li>
<li>Die Credentials sollten in der zentrallen QFQ config Datei sein (wie UZH webpass)</li>
<li>Die LDAP Abfrage sollte zentral in der QFQ Extension Config konfigurierbar sein, pro FE kann das Setting uberschrieben werden.</li>
<li>Option: mehrere Emailadressen in einem FE-Input Elemente erfassen (space, komma separiert) und individuell pruefen & markieren.</li>
</ul>
<p>EmailAdressbookVerify=<br />EmailAdressbookTypeahead=</p>
<a name="Check"></a>
<h2 >Check<a href="#Check" class="wiki-anchor">¶</a></h2>
<p>Beispiel via Commandline:</p>
<pre>
$ ldapsearch -LLL -x -H "ldap://iduzhz2dc01.d.uzh.ch ldap://iduzhz2dc02.d.uzh.ch" -b "DC=d,DC=uzh,DC=ch" -D "srv-math-sync@d.uzh.ch" -W "proxyAddresses=smtp:carsten.rose@math.uzh.ch" proxyAddresses
Enter LDAP Password:
dn: CN=Rose Carsten (crose),OU=Users,OU=Users UZH,DC=d,DC=uzh,DC=ch
proxyAddresses: smtp:crose@access.uzh.ch
proxyAddresses: X500:/o=ExchangeLabs/ou=Exchange Administrative Group (FYDIBOH
F23SPDLT)/cn=Recipients/cn=d99ada2cb78c406ea039453c26f86dab-Rose Carste
proxyAddresses: smtp:caro@math.uzh.ch
proxyAddresses: smtp:m200143@access.uzh.ch
proxyAddresses: smtp:carsten.rose@uzh.ch
proxyAddresses: smtp:crose@uzh.mail.onmicrosoft.com
proxyAddresses: SMTP:carsten.rose@math.uzh.ch
# refldap://DomainDnsZones.d.uzh.ch/DC=DomainDnsZones,DC=d,DC=uzh,DC=ch
# refldap://ForestDnsZones.d.uzh.ch/DC=ForestDnsZones,DC=d,DC=uzh,DC=ch
# refldap://d.uzh.ch/CN=Configuration,DC=d,DC=uzh,DC=ch
</pre>
<ul>
<li>Bei der Abfrage koennen mehrere LDAP Server angegeben werden.</li>
<li>Liefert die Abfrage min. einen Treffer zurueck, ist die Adresse ok.</li>
<li>Die obige Abfrage geht auf 'proxyAddresses', da dort scheinbar auch die weiteren Adressen angegeben sind.
<ul>
<li>Bei 'proxyAddresses' muss ein 'smtp:' vorangestellt werden fuer einen 100% match</li>
</ul></li>
</ul> 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 #18042 (New): Download dynamic ZIP: missing meaningful default save as filenamehttps://project.math.uzh.ch/issues/180422024-03-02T15:41:52ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Mit `<abbr title="'d|F:', p.pathFileName, '|s:1|M:zip'">CONCAT</abbr> AS _link` wurde ein ZIP zum Download angeboten und hatte als Dateinamen 'qfq.temp.RcGnwV'</p>
<p>Bug: es sollte mindestens '.zip' am Ende stehen. Am besten 'data.zip' oder 'data_<timestamp>.zip'</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 #18022 (Feedback): Filepond colors / element size / font size (new UZH CD) / borderhttps://project.math.uzh.ch/issues/180222024-02-29T07:59:26ZEnis Nuredini
<ul>
<li>Einheitliche Farbe Filepond Elements - Defaultfarbe die auch die anderen Input Elemente haben (am besten die Browser Vorgabe)</li>
<li>Höhe des Elements: wie reguläre Inputfelder.</li>
<li>Drag&Drop Feld Farbe anpassbar(?) - Defaultfarbe die auch die anderen Input Elemente haben</li>
<li>Font Size: Check UZH CD 2012 & 2023 (bei 2023 stimmt es nicht, siehe Screenshot)</li>
<li>Border wie bei Inputelementen.</li>
</ul>
<p><img src="https://project.math.uzh.ch/attachments/download/9368/clipboard-202403010917-nkqii.png" alt="" /></p>
<p><img src="https://project.math.uzh.ch/attachments/download/9369/clipboard-202403010919-yunhd.png" alt="" /></p>
<p><img src="https://project.math.uzh.ch/attachments/download/9370/clipboard-202403010919-6ldbb.png" alt="" /></p> QFQ - Feature #17993 (New): filepond: Color for message 'file is of invalid type'https://project.math.uzh.ch/issues/179932024-02-25T11:01:50ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Falls <strong>einfach</strong> moeglich:</p>
<ul>
<li>Bitte Farbe 'rot' ersetzen durch BS-warning.</li>
<li>Der Text fuer die Fehlermeldung wird dann unleserlich (weiss). Bitte die BS Farben nehmen (2. Screenshot).</li>
<li>Text 'file is of invalid type' hoert sich fuer mich eher technisch an, was haeltst du von 'unexpected file type'?</li>
</ul>
<p><img src="https://project.math.uzh.ch/attachments/download/9332/clipboard-202402251207-zajfs.png" alt="" /></p>
<p><img src="https://project.math.uzh.ch/attachments/download/9331/clipboard-202402251205-lrxpj.png" alt="" /></p> QFQ - Feature #17984 (New): SQL Firewallhttps://project.math.uzh.ch/issues/179842024-02-23T12:55:31ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Artikel lesen: <a class="external" href="https://www.heise.de/tests/Datenbanken-schuetzen-Drei-freie-SQL-Firewalls-im-Test-9625335.html?wt_mc=intern.red.plus.newsticker.7-tage-news.teaser.teaser">https://www.heise.de/tests/Datenbanken-schuetzen-Drei-freie-SQL-Firewalls-im-Test-9625335.html?wt_mc=intern.red.plus.newsticker.7-tage-news.teaser.teaser</a></li>
<li>Falls Kosten/Nutzen Verhaeltnis gut:
<ul>
<li>In QFQ Doku beschreiben wie man das einsetzen koennte.</li>
<li>Ggfs. Anpassungen in QFQ fuer die Nutzung</li>
</ul></li>
</ul> QFQ - Feature #17972 (In Progress): Javascript in Forms for Dynamic Update (among others)https://project.math.uzh.ch/issues/179722024-02-22T07:17:18ZBenjamin Baerbenjamin.baer@math.uzh.ch
<ul>
<li>New textfield in form for javascript per formelement</li>
<li>QFQ Variables inside the javascript get replaced (ex: {{id:R0}} = 25, {{SELECT name FROM person WHERE vorname = "Benjamin"}} = Baer)</li>
<li>New variables for references to make dynamic update possible. Bsp: Form Element: name%d, im Javascript block ref returns a css selector: {{ref:name}} = [data-reference="name%d"]</li>
<li>All Javascript text get added after the form</li>
</ul>
<pre>
<form class="qfq-form">
...
</form>
<script>
[insert here]
</script>
</pre>
<p>Beispiel script im form:<br /><pre>
// document.querySelectorAll("{{&name%d:V}}") # no jquery
if($("{{&name%d}}").value === "{{SELECT name FROM person WHERE vorname = "Benjamin"}}") {
$("{{&matrikelnr}}").hide()
}
</pre></p>
<p>Beispiel Ausgabe:<br /><pre>
// document.querySelectorAll("[data-reference='name%d']") # no jquery
if($("[data-reference='name%d']").value === "Baer") {
$("[data-reference='matrikelnr']").hide()
}
</pre></p>
<p>Anmerkung:</p>
<ul>
<li>Fuer die Referenzvariable war urspruenglich <code>{{ref:<name>}}</code> vereinbart und nichts gesagt zum Store.</li>
<li>Das Zeichen ':' hinter 'ref' kollidiert mit dem Delimiter fuer Store, Escape, Action ... - nicht gut.</li>
<li>Neu: Anstelle von <code>{{ref:...</code> wird vorgeschlagen (und ist implementiert) <code>{{&<name>:V}}</code></li>
<li>Das '&' ist in C als Adressoperator bekannt - das passt hier ziemlich gut.</li>
<li>Der STORE_VAR wurde gewaehlt weil bereits andere System Angaben wie RANDOM, MIMETYPE usw. enthaelt. Der STORE_FORM ist mehr fuer Content gedacht, der STORE_RECORD passt hier gar nicht.</li>
<li>Mit dem '&' am Anfang sollten Kollisionen sehr unwahrscheinlich sein.</li>
</ul> QFQ - Feature #17958 (New): Screenshare via QFQ / jitsi or ms-teamshttps://project.math.uzh.ch/issues/179582024-02-20T15:00:41ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Auf der post.ch Seite wird ein Screenshare fuer Support angeboten:</p>
<p><img src="https://project.math.uzh.ch/attachments/download/9290/clipboard-202402201547-6x5e3.png" alt="" /></p>
<p>Idee:</p>
<ul>
<li>Wir bieten das gleiche an via jitsi.</li>
<li>Koennte interessant sein fuer alle Tools, wenn die User Probleme mit einem Antrag haben.</li>
<li>Es geht nicht darum um 24/7 erreichbar zu sein, sondern dem User eine Moeglichkeit zu geben zu einem vereinbarten Zeitpunkt eine Verbindung herzustellen, ohne das eine Jitsi URL abgesprochen werden muss.</li>
<li>Ggfs. ist es auch via Teams moeglich.</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 #17829 (New): QFQ Add/Remove classes in parameterhttps://project.math.uzh.ch/issues/178292024-02-06T13:25:19ZEnis Nuredini
<p>Über das Parameter Feld sollten Klassen hinzufügbar oder entfernbar sein.</p> QFQ - Feature #17828 (New): Tablesorter disable saved filterhttps://project.math.uzh.ch/issues/178282024-02-06T12:48:40ZEnis Nuredini
<p>Per Default werden Eingaben in einem Tablesorter Filter im Browser Storage abgespeichert und bei Page Reload mitgeladen.</p>
<p>Es gibt Situationen oder Seiten bei denen man das nicht möchte.<br />Dafür gibt es beim Tablesorter folgende Konfiguration unter <strong>widgetOptions</strong> :<br /><pre>
"widgetOptions":{"filter_saveFilters":false}
</pre></p>
<p>In QFQ müsste man dafür die komplette default Konfiguration im Report angeben:<br /><pre>
data-tablesorter-config='{"theme":"bootstrap","widthFixed":true,"headerTemplate":"{content} {icon}","dateFormat":"ddmmyyyy","widgets":["uitheme","filter","saveSort","columnSelector","output"],"widgetOptions":{"filter_saveFilters":false,"filter_columnFilters":true,"filter_reset":".reset","filter_cssFilter":"form-control","columnSelector_mediaquery":false,"output_delivery":"download","output_saveFileName":"tableExport.csv","output_separator":";"} }'
</pre></p>
<p>Es wäre von Vorteil wenn dieser eine Parameter durch ein eigenes Attribut gesteuert werden könnte und nicht die ganze Config angegeben werden muss.</p>
<p>Selbiges würde für den Sorter gelten. Dort wäre auch ein eigenes Attribut von Vorteil.<br /><pre>
"widgetOptions":{"saveSort":false}
</pre></p> QFQ - Feature #17821 (New): Check projects export/autocron access templatehttps://project.math.uzh.ch/issues/178212024-02-05T13:07:58ZEnis Nuredini
<p>Es muss bei allen Projekten das Typo3 Template für den Zugriff auf den Autocron überprüft werden. Für den Zugriff über Production muss noch die jeweilige IP Adresse entnommen werden:<br /><pre>
hostname -I
</pre></p>
<p>Template vom Medtool:<br /><pre>
*Constants*
----------------
# List of IP addresses to grant access: webwork22, medtool
site.allowIP.list = 127.0.0.1,::1,130.60.244.239
*Setup*
-----------
# Layout neu aufbauen
page = PAGE
page.typeNum = 0
# Show content
[ ip('{$site.allowIP.list}') || frontend.user.isLoggedIn]
# Access granted
page.10 < styles.content.get
[else]
page.10 = TEXT
page.10.value = Please log in or access this page from an authorized host. Your current IP address:&nbsp;
page.20 = TEXT
page.20.data = getenv : REMOTE_ADDR
[end]
</pre></p>
<p>Das Template muss auch bei den Options konfiguriert werden:<br /><img src="https://project.math.uzh.ch/attachments/download/9158/Clipboard%20-%20February%205,%202024%202_05%20PM.png" alt="" /></p>
<p>Ebenfalls noch hinzuzufügen bei Includes:<br /><img src="https://project.math.uzh.ch/attachments/download/9161/includes.png" alt="" /></p> 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 - Feature #17790 (New): QFQ Chat V1.3https://project.math.uzh.ch/issues/177902024-02-02T10:08:04ZEnis Nuredini
<p>Priorisierung anpassen zwischen 1.3 und 1.4.</p>
<p>Umsetzung der Features von 1.3:<br /><a class="external" href="https://git.math.uzh.ch/typo3/qfq/-/blob/develop/Documentation-develop/CHAT.md">https://git.math.uzh.ch/typo3/qfq/-/blob/develop/Documentation-develop/CHAT.md</a></p> QFQ - Feature #17670 (New): WeasyPrint (instead of wkhtml) for PDF with header/footer/toc/...https://project.math.uzh.ch/issues/176702024-01-21T11:03:47ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Unter <a class="external" href="https://wkhtmltopdf.org/status.html">https://wkhtmltopdf.org/status.html</a> weist wkhtml eindringlich daraufhin das wenn wkhtml fuer nicht vertrauenswuerde HTML content verwendet wird, der Server uebernommen werden kann.</p>
<p>Das ist bei uns zwar nicht der Fall, aber weasyprint sollte einen Blick wert sein.</p>
<p>Das Hauptproblem bei wkthml ist, das sobald eine Datei (js, css, png, jpg,...) nicht geladen werden kann, es sofort einen Abbruch gibt, aber keinen Hinweis auf die Ursache.</p>
<ul>
<li><a class="external" href="https://weasyprint.org/">https://weasyprint.org/</a></li>
<li><a class="external" href="https://github.com/Kozea/WeasyPrint/">https://github.com/Kozea/WeasyPrint/</a></li>
</ul> QFQ - Bug #17257 (New): Migrate QFQ system tables: set default valuehttps://project.math.uzh.ch/issues/172572023-11-09T20:42:54ZCarsten Rosecarsten.rose@math.uzh.chQFQ - 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 #16580 (New): custom.css Typo3 handlinghttps://project.math.uzh.ch/issues/165802023-07-07T10:44:36ZEnis Nuredini
<p>Dies ist ein Beispiel der Einbindung vom custom.css in LSZGS. Folgender Eintrag erfolgt in Constants vom Template:</p>
<pre>
# Instance Dependent: absolute path to custom css and images
[request.getNormalizedParams().getHttpHost() == 'webwork22.math.uzh.ch']
cd.stylesheet = https://webwork22.math.uzh.ch/lszgs/fileadmin/template/cd/lszgs.custom.css
[end]
[request.getNormalizedParams().getSiteUrl() == 'https://join.lszgs.uzh.ch/']
cd.stylesheet = https://join.lszgs.uzh.ch/fileadmin/template/cd/lszgs.custom.css
[end]
[request.getNormalizedParams().getSiteUrl() == 'https://join.lszgs.uzh.ch/preview/']
cd.stylesheet = https://join.lszgs.uzh.ch/preview/fileadmin/template/cd/lszgs.custom.css
[end]
</pre>
<p><strong>Achtung</strong> : Der Pfad sollte sein `fileadmin/template` (template, nicht templates).</p>
<p>Falls weitere spezielle Elemente mit einem fileadmin beginnenden relativen Pfad gibt, dann kann in Setup die gleiche Abfrage verwendet werden.</p>
<p>Anpassungen müssen noch bei diversen Tools umgesetzt werden. Checkliste im Anschluss:</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 #15528 (Ready to sync (develop)): Form/subrecord: Design for 'no record'https://project.math.uzh.ch/issues/155282023-02-12T10:12:52ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Neue Option (SYSTEM, FORM, FORM_ELEMENT): <code>subrecordEmpty=hide|mute|show:<text></code>
<ul>
<li>hide: wenn keine Records selektiert sind und es kein 'NEW' gibt - kein subrecord Element anzeigen (auch keinen Subrecord Titel).</li>
<li>mute: wenn keine Records selektiert sind und es kein 'NEW' gibt - Titel 'muted' anzeigen.</li>
<li>show:<text> - den <text> hinter dem Titel anzeigen falls keine Records selektiert sind.
<ul>
<li>Titel 'muted' anzeigen, '<text>' normal.</li>
</ul></li>
</ul></li>
</ul>
<ul>
<li>Zur Diskussion (bin nicht sicher ob das gut ist): Anzahl der Records vor dem Batch im Titel anzeigen. Auch das konfigurierbar (SYSTEM, FORM, FORM_ELEMENT).</li>
</ul>
<p><img src="https://project.math.uzh.ch/attachments/download/7254/clipboard-202302121120-djvuw.png" alt="" /></p>
<ul>
<li>Aktuell ist das Rendering unterschiedlich, je nachdem ob 'Edit,Delete=off' oder 'Edit'=on ist. Es waere gut wenn auch bei 'Edit=on' keine Extra Zeile gerendert wird.</li>
</ul>
<p><img src="https://project.math.uzh.ch/attachments/download/7253/clipboard-202302121108-951zm.png" alt="" /></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 #15013 (New): Excel Import does not work with multiple importRegionhttps://project.math.uzh.ch/issues/150132022-11-10T15:56:12ZPhilipp Gröbelbauer
<p>Aus einem Excel sollen die Spalten A,B und D importiert werden.</p>
<p>A soll in die Spalte 'klasse', B in die Spalte 'stufe' und D in die Spalte 'grundlohn'.<br />Formelement.parameter wurde wie folgt gesetzt:</p>
<p>importToTable = lohn<br />importToColumns = klasse, stufe, grundlohn<br />importRegion = 1,A,6,B,904|1,D,6,D,904<br />importMode = append <br />importType = auto<br />accept = *<br />fileDestination = fileadmin/protected/imports/pay_regulations.xlsx<br />fileReplace = always</p>
<p>Spalten A und B funktionieren korrekt. Die Spalte D, welche in einer zweiten 'importRegion' angegeben wurde, wird jedoch nach 'klasse' importiert, anstatt nach 'grundlohn'.<br />Wenn eine 2. importRegion angegeben wird, dann sollte nicht auf die 1. angegebene DB-Spalte zurückgesprungen werden!</p> QFQ - Feature #13330 (In Progress): Multi Form: Uploadhttps://project.math.uzh.ch/issues/133302021-11-07T08:32:33ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Fuer das medtool (EN) wird ein Multi Upload benoetigt.</p>
<p>Gut waere wenn man ein Multi Form nehmen koennte.</p> QFQ - Feature #12632 (New): TinyMCE: Prepare CSS classes for imageshttps://project.math.uzh.ch/issues/126322021-06-04T06:26:51ZPhilipp Gröbelbauer
<p>Ziel: es soll einfach sein (Mausklick) Images mit einer CSS Klasse spezielle Eigenschaften zuzuweisen. Z.B. einen Rahmen, damit sich das Bild vom Hintergrund abhebt oder mit einer Transparenz, um deutlich zu machen das bei einem Screenshot die Buttons keine aktiven Elemente sind sondern nur zur illustration dienen.</p>
<p>Scheinbar hat TinyMCE schon etwas vorbereitet:</p>
<ul>
<li><a class="external" href="https://stackoverflow.com/questions/16221704/tinymce-add-class-to-img-tag">https://stackoverflow.com/questions/16221704/tinymce-add-class-to-img-tag</a></li>
<li><a class="external" href="https://www.tiny.cloud/docs/plugins/opensource/image/">https://www.tiny.cloud/docs/plugins/opensource/image/</a></li>
<li><a class="external" href="https://www.tiny.cloud/docs-4x/plugins/image/#image_class_list">https://www.tiny.cloud/docs-4x/plugins/image/#image_class_list</a></li>
</ul> 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 #10115 (New): TypeAhead: static listhttps://project.math.uzh.ch/issues/101152020-02-13T09:34:27ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Neues Attribute: data-typeahead-list.</p>
<p>Inhalt JSON kodiert, genau wie die bisherige AJAX Response.</p> QFQ - Bug #9789 (New): Record Lock: release to early on 'leave page'https://project.math.uzh.ch/issues/97892019-12-17T19:58:55ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Form oeffnen</li>
<li>Record veraendern - lock wird angefordert: ok</li>
<li>Auf irgendeinen Link klicken (Form verlassen)</li>
<li>Sofort wird ein 'Release Lock' gesendet (und ausgefuehrt), obwohl der User via Dialog gefragt wird ob er die Daten verlieren moechte: BAD</li>
</ul>
<ul>
<li>Anschliessend arbeitet das Form ohne Lock weiter - das ist nicht gut!</li>
<li>Min. in der Version 19.7.0 war das Verhalten noch ok (w16.math.uzh.ch/ort)</li>
<li>Die Screenshots zeigen das Verhalten bei 19.7.0 und 19.12.0. In der 19.7.0 ist der Dialog 'leave site' offen, ohne das 'dirty release' getriggert wurde, bei 19.12.0 wurde dirty release faelschlicherweise getriggert.</li>
</ul> QFQ - Bug #9691 (Priorize): Checkbox: dynamic update > readonlyhttps://project.math.uzh.ch/issues/96912019-12-03T09:27:55ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Die Klasse 'qfq-disabled' muss auf dem Label liegen.</li>
<li>readonly sollte weiterhin auf den Options sein.</li>
</ul>
<p>Das ganze testen fuer <br /><pre>
checkbox
single
plain
button
multi
plain
button
radio
plain
button
</pre></p> QFQ - Feature #9517 (Priorize): Input multiple tags with typeaheadhttps://project.math.uzh.ch/issues/95172019-11-06T16:27:58ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Fuer Suchfilter waere es gut wenn man Tags eingeben koennten, die via Typeahead vorgeschlagen werden.</li>
<li>Die Vorschlagsliste wird gebaut mit den tags die zuvor mal eingegben wurden.</li>
</ul>
<p>Folgende Libs koennten intressant sein:</p>
<ul>
<li><a class="external" href="https://maxfavilli.com/jquery-tag-manager">https://maxfavilli.com/jquery-tag-manager</a> (Twitter Typeahead)</li>
<li><a class="external" href="https://soliantconsulting.github.io/tagmanager/">https://soliantconsulting.github.io/tagmanager/</a></li>
<li><a class="external" href="https://vuejsfeed.com/blog/add-tags-using-an-input-with-typeahead-support">https://vuejsfeed.com/blog/add-tags-using-an-input-with-typeahead-support</a></li>
</ul> QFQ - 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 - Feature #8522 (Some day maybe): build QFQ - npm warningshttps://project.math.uzh.ch/issues/85222019-06-12T09:18:03ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Wenn auf CI ein Build angestossen wird gibt es folgende Meldungen in der Console:<br /><pre>
npm install
npm WARN deprecated hawk@3.1.3: This module moved to @hapi/hawk. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.
npm WARN deprecated sntp@1.0.9: This module moved to @hapi/sntp. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.
npm WARN deprecated boom@2.10.1: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
npm WARN deprecated cryptiles@2.0.5: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
npm WARN deprecated hoek@2.16.3: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
npm WARN deprecated json3@3.3.2: Please use the native JSON object instead of JSON 3
npm WARN prefer global coffeescript@1.10.0 should be installed with -g
npm WARN prefer global jshint@2.9.7 should be installed with -g
</pre></p> QFQ - Bug #7456 (Some day maybe): Todos in Code: solve or make tickethttps://project.math.uzh.ch/issues/74562018-12-11T09:23:08ZMarc EggerQFQ - Feature #6609 (New): Formlet: JSON API erweiternhttps://project.math.uzh.ch/issues/66092018-09-04T08:28:51ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Im QFQ 'PROTOCOL.md' ist ein Standard QFQ API mit einigen wenigen Feldern definiert.</p>
<p>Gut waere wenn die folgenden supported waeren:</p>
<p>"status": "success"|"error",<br />"message": "<message>" <br />"redirect": "no" | "url" | "url-skip-history" | "auto" | "close" <br />"redirect-url": "<url>"</p>
<p>Die waeren dann also auf der gleichen (obersten) Ebene wie 'elements'.</p> QFQ - Bug #3613 (Some day maybe): note /note unchecked -> note div (col-md) wird weiterhin gerenderthttps://project.math.uzh.ch/issues/36132017-04-21T16:41:23ZElias Villiger
<p>FormElement - Tab Layout:</p>
<p>Wenn z.B. die Checkboxes note und /note deaktiviert werden, wird der note-div weiterhin gerendert, ausser man setzt die "BS Note Columns" explizit auf 0.</p>
Erwartet wäre:
<ul>
<li>Deaktivierung von note führt dazu, dass <div class='col-md-x qfq-note'> nicht gerendert wird</li>
<li>Deaktivierung von /note führt dazu, dass der entsprechende </div> nicht gerendert wird</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 #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 #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 #1623 (Some day maybe): RealURLhttps://project.math.uzh.ch/issues/16232016-02-05T12:44:23ZCarsten Rosecarsten.rose@math.uzh.ch
URL Path:
<ul>
<li>Language</li>
<li>Type: standard, print, wide (wie standard, nur breiter), pure (kein HTML), xml</li>
<li>koennen die DBQ2 / FORM2 Parameter genauso verwendet werden wie bisher: GET & POST</li>
<li>Optional: Gibt es Aenderungen wie DBQ2 interne Links bauen muss? Bsp.: bisher "index.php?id=1234". Mit Real URL soll der Link zeigen auf "www.math.uzh.ch/vorleseung/mat123"</li>
</ul>