Project @ iMath: Issueshttps://project.math.uzh.ch/https://project.math.uzh.ch/favicon.ico?16668783892024-03-17T11:04:14ZProject @ iMath
Redmine 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 #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 - Feature #17579 (New): UZH CD: Anpassungen fuer FE Edit Codemirrorhttps://project.math.uzh.ch/issues/175792024-01-13T19:01:55ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>typo3conf/ext/uzh_cd_template/Configuration/TypoScript/constants.txt</li>
</ul>
<pre>
#cd.qfq.js.file11 = typo3conf/ext/qfq/Resources/Public/JavaScript/codemirror.min.js
cd.qfq.js.file11 = typo3conf/ext/qfq/Resources/Public/JavaScript/codemirror/codemirror-qfq.min.js
#cd.qfq.js.file12 = typo3conf/ext/qfq/Resources/Public/JavaScript/code-mirror-mode/sql/sql.min.js
</pre> QFQ - Feature #17515 (New): TYPO3_STORE: ttcontentUid - insertRecord keep original uidhttps://project.math.uzh.ch/issues/175152023-12-24T10:18:30ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Wird ein Content Record via 'Insert Records' eingebunden, zeigt `{{ttcontentUid:Y}}` erwartungsgemaess die UID des finalen tt-content Records an, und nicht die des urspruenglichen.</p>
<p>Fuer QFQ Wiki waere es gut das wenn Seiten verschoben werden (pageSlug aendert sich), der Content mit wandert.</p>
<p>Das koennte erreicht werden in dem</p>
<p>a) anstelle des `{{pageSlug:T}}` die `{{pageId:T}}` verwendet wird,<br />b) die `{{ttcontentUid:Y}}` des T3 tt-content records.</p>
<p>Variante (b) hat den Nebenenenffekt, das ein verschieben des tt-content QFQ-Wiki Records den Inhalt mit verschiebt. <br />Da die QFQ Wiki Records aber immer den gleichen tt-content QFQ Code haben, werden solche Records typischerweise mit 'Insert Record' erzeugt - genau dann funktioniiert allerdings `{{ttcontentUid:Y}}` nicht mehr.</p>
<p>Gibt es eine Moeglichkeit herauszufinden welches die urspruengliche `ttcontentUid` ist?</p> QFQ - Feature #17401 (New): Upload PDF: deny if it is protected / convert to unprotect if possible.https://project.math.uzh.ch/issues/174012023-12-04T10:43:20ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Falls ein PDF hochgeladen wird und dieses geschuetzt ist:</p>
<p>- versuchen es auf 'unprotect' zu konvertieren (Original muss erhalten bleiben).<br />- wenn das nicht moeglich ist den Upload ablehnen.<br />- Generic & Custom Fehlermeldung<br />- Check optional machen, by default aktiv.</p> QFQ - Feature #17266 (New): Upgrade TinyMCE V6https://project.math.uzh.ch/issues/172662023-11-10T22:00:51ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Das Paste Plugin ist nun im Core: B16064_dynamic_update_checkbox_and_missing_form_variable</li>
<li>Die Defaults (welche Elemente angezeigt weden) sind nun anders.
<ul>
<li>Doku anpassen</li>
</ul></li>
</ul> QFQ - Feature #17146 (ToDo): Ticket Apphttps://project.math.uzh.ch/issues/171462023-10-20T14:03:31ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Ruth empfiehlt Grit dringend ein Ticketsystem um Reminder/History beim Finanztool zu haben.</li>
<li>Medtool waere sicher auch ein Kandidat die gut Tickets einsetzen koennen.</li>
<li>Frage ist nach einen Konzept wie eine 'QFQ Ticket App' aussehen koennte?</li>
<li>Das neue I-MATH Mega Tool 'Notez' (manage) hat ebenfalls Ticket Character. </li>
<li>In Notez soll auch eine Emailintegration vorhanden sein. Emailintegration wird auch von Medtool angefragt.</li>
</ul>
<p>Gedanken:</p>
<ul>
<li>Ticket App sollte direkt aus dem Tool erreichbar sein: Tickets anlegen (Content uebernehmen), per Click auf bestehende Tickets zugreifen, Verlinkung zu Ticket loeschen koennen.</li>
<li>Option 'internal': QFQ Appstore - Integration direkt in MY, Finanztool, usw...
<ul>
<li>+ Fuer uns Tool Entwickler die gewohnte Vorgehensweise</li>
<li>- Es gibt noch keinen QFQ App Store/ Konzept. D.h. wir koennen aktuell nicht via einem App Store verteilen.</li>
</ul></li>
</ul>
<ul>
<li>Option 'external': Eigenstaendige T3 Instanz, Kommunikation via REST
<ul>
<li>+ Mehrere Tools reporten in eine Ticket-App - ein User der in mehreren Tools aktiv ist hat so eine bessere Gesamtuebersicht.</li>
</ul></li>
</ul> QFQ - Feature #17113 (New): TinyMCE: paste Plugin in Doku beschreibenhttps://project.math.uzh.ch/issues/171132023-10-14T18:18:51ZCarsten Rosecarsten.rose@math.uzh.ch
<p><img src="clipboard-202310091733-ou70r.png" alt="" /></p> QFQ - Feature #16172 (New): Tablesorter: Update {{10.10.line.count}} after every sorthttps://project.math.uzh.ch/issues/161722023-05-10T08:41:01ZBenjamin Baerbenjamin.baer@math.uzh.ch
<p>renumber rows after every sort:</p>
<p><a class="external" href="https://stackoverflow.com/questions/6549518/jquery-tablesorter-with-row-numbers">https://stackoverflow.com/questions/6549518/jquery-tablesorter-with-row-numbers</a></p>
<p>To make it apply everytime, we either need some rules (ie., row numbers always on first column + add a class to table with qfq-renumber) or mark the row in some way (for instance, having # as the title row)</p> QFQ - Feature #16037 (New): Update 'make bootstrap'https://project.math.uzh.ch/issues/160372023-04-18T09:43:35ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Wird im QFQ Projektverzeichnis `make bootstrap` ausgefuehrt gibt es diverse Hinweise/Warnungen.</li>
</ul>
<a name="Teil-1"></a>
<h1 >Teil 1<a href="#Teil-1" class="wiki-anchor">¶</a></h1>
<ul>
<li>Bitte die Warnungen anschauen und optimalerweise loesen.</li>
<li>Bei denen die wir nicht angehen koennen, bitte eine Erklaerung (am besten in Documentation-Development/SETUP.md) was das Problem ist</li>
<li>Bitte check ob Documentation-Development/SETUP.md aktuell ist</li>
</ul>
<a name="Teil-2"></a>
<h1 >Teil 2<a href="#Teil-2" class="wiki-anchor">¶</a></h1>
<ul>
<li>Bitte das <code>Makefile</code> durchgehen und alles was wir nicht brauchen raus damit.</li>
<li>Rafi hat sehr viel Develop Kram reingenommen, das wir nicht mehr verwenden: lint, phpdoc, docutils, jinja, sphinx, ...
<ul>
<li>Aam besten eine Liste machen was raus kann und kurz mit CR anschauen.</li>
<li>plantuml bitte drin lasses.</li>
</ul></li>
</ul>
<ul>
<li>Bitte alle JS Lib anschauen was raus kann - fuer jQWidgets siehe <a class="issue tracker-2 status-1 priority-2 priority-default" title="Feature: Remove JS: jQWidgets (New)" href="https://project.math.uzh.ch/issues/16036">#16036</a>.</li>
<li>Composer is operating significantly slower than normal because you do not have the PHP curl extension enabled.
<ul>
<li>Check das das min. auf alfred20, alfred22 aktiv ist, am besten auch auf den Thinlinc (/etc/php/cli/...) und den webwork20, webwork22. </li>
<li>Aenderungen bitte im Ansible Playbook nachfuehren (Ticket fuer Levin machen)</li>
</ul></li>
</ul>
<a name="Teil-3"></a>
<h1 >Teil 3<a href="#Teil-3" class="wiki-anchor">¶</a></h1>
<ul>
<li>Die verlinkten Tickets nach Moeglichkeit schliessen.</li>
</ul>
<a name="Meldungen"></a>
<h1 >Meldungen<a href="#Meldungen" class="wiki-anchor">¶</a></h1>
<pre>
$ make bootstrap
...
# update npm at persistent location and copy node_modules (to speed up process)
mkdir -p /var/tmp/qfq_crose1/npm
/bin/cp package.json /var/tmp/qfq_crose1/npm/
cd /var/tmp/qfq_crose1/npm; npm update
npm WARN deprecated popper.js@1.16.1: You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1
npm WARN deprecated phantomjs-prebuilt@2.1.16: this package is now deprecated
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.81.0: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated har-validator@4.2.1: this library is no longer supported
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 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 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 mkdirp@0.5.1: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)
npm WARN deprecated json3@3.3.2: Please use the native JSON object instead of JSON 3
...
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN notsup Unsupported engine for grunt@1.6.1: wanted: {"node":">=16"} (current: {"node":"13.12.0","npm":"6.14.4"})
npm WARN notsup Not compatible with your version of node/npm: grunt@1.6.1
npm WARN qfq@1.0.0 No description
...
found 43 vulnerabilities (5 low, 18 moderate, 15 high, 5 critical)
run `npm audit fix` to fix them, or `npm audit` for details
...
# cd extension/Resources/Private; composer update
cd extension; composer update
Composer is operating significantly slower than normal because you do not have the PHP curl extension enabled.
</pre> QFQ - Feature #15903 (New): UZH CD: T3 V12 Compatibilityhttps://project.math.uzh.ch/issues/159032023-03-30T07:00:25ZEnis Nuredini
<p>UZH CD ist aktuell nicht kompatibel mit T3 V12. Hier gibt es Handlungsbedarf.</p>
<p>Verfügbare Testseite: <a class="external" href="http://webwork22.math.uzh.ch/typo12/typo3/">http://webwork22.math.uzh.ch/typo12/typo3/</a></p>
<p>Extension ist schon mal auf der Testseite hinzugefügt, damit es in Typo3 keine Fehlermeldung (Access denied) gibt mussten in folgenden Files (ext_tables.php) Zeilen Code auskommentiert werden:<br /><pre>
if (!defined('TYPO3_MODE')) {
# die('Access denied.');
}
</pre></p>
<p>Upload über T3 Backend ist aktuell nicht mehr möglich, nur das einfügen ins Verzeichnis typo3conf/ext/</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 #14495 (New): Text above FormElement inputhttps://project.math.uzh.ch/issues/144952022-07-10T08:56:40ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Mitunter wird gewuenscht das der Input Bereich eines ganzen FE die ganze Breite eines Formulares einnehmen soll. Das Label soll dann darueber stehen (oder darunter mit label2).</p>
<p>Option 1: es gibt ein neues Parameter Feld (z.B. label1).<br />Option 2: wenn col-md fuer label auf 0 gesetzt wird, wird der Content in dasa Input Elemente gerednert.</p>
<p>Die zweite Option waere sauber, ist aber nicht so flexibel wie die erste.</p>
<p>Am besten mit Benj besprechen.</p>
<p><img src="https://project.math.uzh.ch/attachments/download/6380/clipboard-202207101056-up6mw.png" alt="" /></p> QFQ - Feature #13354 (New): Using Websocket in QFQhttps://project.math.uzh.ch/issues/133542021-11-10T14:47:23ZBenjamin Baerbenjamin.baer@math.uzh.ch
<ul>
<li>Usage for Chat / Forum like application</li>
<li>Editing records concurrently (like Google Docs)</li>
<li>Less page reloads / current information in reports / forms</li>
<li>Needs alternative to nchan, either php, python or javascript endpoint in qfq without need of webserver configuration (similar to APIs)</li>
</ul> 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 - Feature #12439 (In Progress): TinyMCE Paste from Word & Character Count/Limithttps://project.math.uzh.ch/issues/124392021-04-23T12:24:50ZPhilipp Gröbelbauer
<a name="Character-Count-amp-Limit"></a>
<h1 >Character Count & Limit<a href="#Character-Count-amp-Limit" class="wiki-anchor">¶</a></h1>
<p>Der TinyMCE soll ein Character Count & Limit Feature bekommen, welches auch mit Paste (von Word oder sonstwo) funktioniert.</p>
<p>Es gibt ein Wordcount Plugin, welches per JS auch den Character Count ausgeben kann: <a class="external" href="https://www.tiny.cloud/docs/plugins/opensource/wordcount/">https://www.tiny.cloud/docs/plugins/opensource/wordcount/</a><br />Verwendung dieses Plugins scheint aber nachteilhaft - man kann den default nicht auf Character Count setzen, ausser man nimmt das Plugin in den (sichtbaren) Editor Toolbar auf und simuliert nach Laden einen Klick auf das 'Count' Icon. (Beschrieben in einer Antwort auf <a class="external" href="https://stackoverflow.com/questions/34481959/tinymce-show-character-count-instead-of-word-count">https://stackoverflow.com/questions/34481959/tinymce-show-character-count-instead-of-word-count</a> ) Zudem handelt es sich nur um Count und nicht um Limit.</p>
<p>Vielversprechendste Lösung wäre ein neuer selbst erstellter Param editor-character-limit. (Kein Limit wenn nicht definiert, sonst wird eine Zahl als Character Limit zugewiesen).<br />Das Javascript für den Count und Limit sollte grösstenteils aus der ersten Antwort von hier übernommen werden können: <a class="external" href="https://stackoverflow.com/questions/11342921/limit-the-number-of-character-in-tinymce">https://stackoverflow.com/questions/11342921/limit-the-number-of-character-in-tinymce</a><br />Das Paste-Plugin muss sehr wahrscheinlich aktiv sein, damit dies funktioniert, aufgrund der Verwendung von paste_preprocess.</p>
<a name="Exkurs-Paste-Ab-hier-nicht-relevant-für-Beni-nur-für-CarstenMedtool"></a>
<h2 >Exkurs Paste (Ab hier nicht relevant für Beni, nur für Carsten/Medtool)<a href="#Exkurs-Paste-Ab-hier-nicht-relevant-für-Beni-nur-für-CarstenMedtool" class="wiki-anchor">¶</a></h2>
<p>Paste from Word kann verbessert werden mit dem Paste Plugin ( <a class="external" href="https://www.tiny.cloud/docs-4x/plugins/paste/">https://www.tiny.cloud/docs-4x/plugins/paste/</a> ).</p>
<p>Dieses kann bereits verwendet werden mit Editor.parameter:<br /><strong>editor-plugins= paste [..other plugins...]</strong></p>
<p>Damit wird bereits einiges an unbrauchbarem Word-Steuercode entfernt. Evt reicht es nicht (?), denn es gibt noch das Premium Powerpaste Plugin <a class="external" href="https://www.tiny.cloud/docs-4x/plugins/powerpaste/">https://www.tiny.cloud/docs-4x/plugins/powerpaste/</a></p>
<p>Bilder aus Word werden by default als langer base64 string kopiert. Wenn das Paste Plugin aktiv ist, kann dies ausgeschalten werden mit:<br /><strong>editor-paste_data_images= false</strong><br />Falls gar keine Formattierung kopiert werden soll:<br /><strong>editor-paste_as_text=true</strong></p>
<p>Es gibt ein Drag & Drop Feature (Paste Drop Block), welches einfügen per drag & drop in den Tiny MCE erlaubt und das 'default' Pasting umgehen könnte. Evt in Betracht zu ziehen.</p> QFQ - Feature #12400 (New): Tutorial ist in QFQ Doku, Wird in der Suche gefunden, es gibt aber ke...https://project.math.uzh.ch/issues/124002021-04-17T14:45:24ZCarsten Rosecarsten.rose@math.uzh.chQFQ - Feature #12186 (New): TinyMCE Config für Objektehttps://project.math.uzh.ch/issues/121862021-03-20T07:50:24ZElias Villiger
<p>Es gibt einige TinyMCE Optionen, die nicht als String, sondern als Objekt angegeben werden. Mit QFQ werden jedoch alle Configs als String übergeben, wodurch diese Optionen nicht gesetzt werden können.</p>
<p>Beispiel: <a class="external" href="https://www.tiny.cloud/docs/configure/content-filtering/#exampleusinginvalid_stylesobject">https://www.tiny.cloud/docs/configure/content-filtering/#exampleusinginvalid_stylesobject</a></p>
<p>Z.B. im FE.parameter (deaktivieren von fixen Tabellengrössen):<br /><pre>
editor-invalid_styles: { 'td': 'width height', 'th': 'width height' }
</pre></p>
<strong>Mögliche Lösungen:</strong>
<ul>
<li>QFQ erkennt, wenn ein Parameter mit {} gewrapped ist und umgibt solche Parameter nicht mit Quotes.</li>
<li>Spezielle Notation in QFQ, um einen Parameter als Objekt zu markieren?</li>
</ul> QFQ - Feature #11850 (New): Wizard Form: basierend auf einer Tabelle eine Form anlegen.https://project.math.uzh.ch/issues/118502021-01-14T09:13:31ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Man waehlt eine Tabelle</li>
<li>Alternative: Neues Form anlegen, Primary Tabelle waehlen, in dem Moment erscheit ein Link im Notizfeld 'Create Form', ein Klick darauf legt alle FE fuer die gewaehlte Tabelle in dem neuen Form an.</li>
</ul>
<ul>
<li>Fuer jede Spalte wird ein Formularelement angelegt.</li>
<li>Enums koennen als Radio/Checkbox angeleget werden.</li>
</ul>
<p>Hinweis:</p>
<ul>
<li>In 'genericReport' (<a class="issue tracker-2 status-1 priority-2 priority-default" title="Feature: Generic Report Page (New)" href="https://project.math.uzh.ch/issues/15524">#15524</a>) koennen Formulare 'on the fly' gerendert werden: Diese soll neu im FormEditor angeboten werden, um ein komplettes Form mit einem Mausklick (a la template) zu erzeugen.</li>
</ul> QFQ - Feature #10345 (New): Templates - Patterns QFQ Stylehttps://project.math.uzh.ch/issues/103452020-04-02T21:10:52ZBenjamin Baerbenjamin.baer@math.uzh.ch
<p>Ein "Pattern" im Design ist eine Vorgabe wie etwas aussehen soll.</p>
<p>Nehmen wir mal als Beispiel das teachingtool:</p>
<pre><div class="item">
<div class="item-background"></div>
<a class="item-image" style="background-image: url('typo3conf/ext/qfq/Classes/Api/download.php?s=5e8651ff802ce')" href="?id=tool&amp;toolId=118"></a>
<div class="item-description">Hinweise für die Übertragung einer geplanten Multiple-Choice-Prüfung in ein alternatives digitales Format</div>
<span class="item-meta">1.4.2020 17:02 Uhr</span><a class="item-title" href="?id=tool&amp;toolId=118">MC-Prüfungen (Remote)</a>
<div class="item-tags">
Tags:
<a class="label label-primary" href="index.php?id=alltools&amp;tagId=104">Leistungsnachweise</a>
<a class="label label-primary" href="index.php?id=alltools&amp;tagId=126">Digitale Lehre</a>
</div>
</div></pre>
<p>Nun brauchen wir diesen Satz an mehreren Orten vom Teachingtool - und wenn man etwas am Grunddesign aendert, muss man an jeden Ort denken in dem es vorkommt.</p>
<p>Mit dingen wie _link machen wir es uns relativ einfach diese Dinge zu erstellen - ist in diesem Sinne bereits ein Pattern.</p>
<p>Nun, wandeln wir obigen Satz mal in ein Pattern um:<br /> <pre><div class="item">
<div class="item-background"></div>
<a class="item-image" style="background-image: url('{{backgroundImage:R}}')" href="{{toolLink:R}}"></a>
<div class="item-description">{{itemDescription:R}}</div>
<span class="item-meta">{{dateTime:R0}}</span><a class="item-title" href="{{toolLink:R}}">{{itemTitle:RE}}</a>
<div class="item-tags">
Tags:
{{@tagLoopStart}}<a class="label label-primary" href="{{itemTagLink:R}}">{{itemTagName:R0}}</a>{{@tagLoopEnd}}
</div>
</div></pre></p>
<p>Und dazu dann der SQL Aufruf:<br /><pre>10 {
sql = SELECT "blabla" AS _itemTitle, ....
pattern = item
20 {
sql = SELECT CONCAT('index.php?id=tag&tagId=", tag.id) AS _itemTagLink, tag.name AS _itemTagName ...
loop = tagLoop
}
}</pre></p>
<p>Die Designs selbst koennten dabei aehnlich wie System Variabeln definiert werden und seitenweit abgelegt sein. Oder besser wie Form direkt ueber eine Art editor im frontend erstellt (bzw. gleich als git datei - um die eigenen HTML Editoren verwenden zu koennen)</p>
<p>Pattern wird natuerlich hier immer quasi erst "renr" ausgefuehrt, da einzelne Teile aus subqueries kommen koennten (und mit loops sogar muessen). Neben Store :R koennte man auch die anderen Stores abfragen, vorallem Y und U.</p> QFQ - Feature #10116 (Some day maybe): TypeAhead: Tag - show inside 'input' elementhttps://project.math.uzh.ch/issues/101162020-02-13T09:36:36ZCarsten Rosecarsten.rose@math.uzh.chQFQ - 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 - Feature #9968 (Priorize): Tooltip in Links for Developerhttps://project.math.uzh.ch/issues/99682020-01-27T09:53:03ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Neben 'o:..' sollte es neue eine weitere Moeglichkeit geben Tooltips anzuzeigen, die nur sichtbar sind wenn eine Developer im Backend eingeloggt ist.</p>
<p>Damit koennten Debug Infos leicht ausgegeben werden, stoeren aber die regulaeren User nicht.</p> 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 #8056 (Some day maybe): Termin Organisation (Reservation)https://project.math.uzh.ch/issues/80562019-03-15T07:05:55ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Fuer das Consulting Tool <a class="external" href="https://project.math.uzh.ch/projects/as-consulting-rf/wiki">https://project.math.uzh.ch/projects/as-consulting-rf/wiki</a> waere eine unabhaengige Terminplanung gut.</p>
<p>Unter <a class="external" href="https://www.terminland.de/online-terminplaner/">https://www.terminland.de/online-terminplaner/</a> kann man kostenlos einen Kalender managen. Man kann auch Fragen stellen die beantwortet werden.</p>
<p>Erste Idee</p>
<ul>
<li>Ein Modul innerhalb von QFQ (Alternativ gibt es evtl. T3 Extensions?).</li>
<li>Es wird nur ein Kalender angezeigt und ein Form um den Termin einzutragen.</li>
<li>Reduzierung auf das noetigste, da nicht klar ist ob das wirlich ein Requirement ist (UZH verwendet Lotus).</li>
<li>Nice to have:
<ul>
<li>Owner traegt seine verfuegbaren Timeslots in einem dedizierten Zimbra Kalender ein.</li>
<li>Client kann aus diesen Terminen auswaehlen.</li>
<li>Das UI Reserviert den Termin im Zimbra Kalender</li>
<li>Falls alles mittels einer 'externen DB' (=Zimbra Kalender) laeuft, muesste QFQ nichts lokal speichern. Evtl. spiegelt Zimbra den Kalender in eine lokale Tabelle.</li>
</ul></li>
</ul>
<p>Zweite Idee</p>
<ul>
<li>Open source service selber hosten. Variante: <a class="external" href="https://demo.easyappointments.org/index.php">https://demo.easyappointments.org/index.php</a></li>
</ul>
<p>Use cases:</p>
<ul>
<li>Terminplanung fuer Prof / Studenten (nutzen i.d.R. keinen Lotus Kalender)</li>
<li>Heterogene Gruppen UZH, ETHZ, ... - typischerweise in einer 1:1 Beziehung (falls mehr als 2 Parteien involviert sind, ist doodle bessser).</li>
</ul> QFQ - Feature #8044 (Priorize): Transaction: a) Form, b) Reporthttps://project.math.uzh.ch/issues/80442019-03-14T15:35:25ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Es waere gut wenn ein Form automatisch/individuell alles in einer Transaction kapseln wuerde.</li>
<li>Es waere gut wenn man in QFQ start/ende einer Transaction definieren koennte.</li>
</ul>
<p>Ticket bleibt nur dann auf 'high' wenn es einfach zu implementieren ist.</p> QFQ - Feature #7850 (New): Upload records: non 'pathFileName' columnhttps://project.math.uzh.ch/issues/78502019-02-10T08:15:31ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Bei Forkred koennen wir fuer Uploads nur mit Aufwand eine Spalte mit dem Namen 'pathFileName' definieren. Besser waere wenn wir den bestehenden Spaltenamen 'note' verwenden koenenn.</p>
<p>Problem:</p>
<ul>
<li>Beim loeschen des Records via Formular muss geprueft werden ob eine Datei existiert die auch geloescht werden muss. Das muesste einfach sein, dann anhand des fe.type=upload weiss man welche Spalten einen pathFileName enthalten.</li>
<li>Bei Advanced Upload wird es schwieriger - evtl. ist ein neuer Bezeichner 'fileDelete=table|column|id' eine Alternative.</li>
<li>Bei '... AS _paged' muss ein Form angegeben werden das nach fe.type=upload elementen sucht. Diese Spalten werden dann auf Dateien geprueft.</li>
</ul> QFQ - Feature #7521 (New): TemplateGroup: fe.type=uploadhttps://project.math.uzh.ch/issues/75212018-12-20T16:45:56ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Aktuell werden in TemplateGroups keine File Upload Felder unterstuetzt.</p>
<p>Das sollte implementiert werden oder zumindest verhindert werden das man das im FormEditor konfiguieren kann.</p> QFQ - Feature #7175 (New): Upload: md5 hash as filenamehttps://project.math.uzh.ch/issues/71752018-11-05T16:59:00ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Fuer w3/my wird eine Funktion benoetigt, das ein Student nicht ausversehen zweimal die gleiche Datei hochlaedt.</li>
<li>Theoretisch koennte es auch moeglich, das Dateien mit unterschiedlichem Dateinamen identisch sind.</li>
<li>Eine Loesung waere ueber den Dateiinhalt einen MD5 Hash zu erzeugen und die Datei dann mit dem hash als Namen zu speichern (fileReplace=no).</li>
<li>Vorschlag:
<ul>
<li>Neue Option im Upload FE: `fileNameMD5= filename+TimeStamp | content`</li>
</ul></li>
</ul>
<ul>
<li>Netter Nebeneffekt: aus dem Dateinamen kann nicht erkannt werden worum es im Inhalt geht.</li>
<li>Es muesste eine neue STORE_VARS variable definiert werden: 'md5'</li>
<li>In fe.paramter.fileDestination = fileadmin/uploads/{{md5:V}}</li>
</ul> QFQ - Feature #7119 (New): Upload: scaleDownWidth, scaleDownHeighthttps://project.math.uzh.ch/issues/71192018-10-28T09:51:51ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Bei Pixel Bildern die hochgeladen werden, waere es gut wenn man eine maximale Breite/Hoehe angeben kann.</p> QFQ - Feature #6855 (New): With {{feUser:U}}!={{feUser:T}}: Save / Delete: only possible with {{...https://project.math.uzh.ch/issues/68552018-09-27T20:55:38ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Sollte {{feUser:U}}!='' UND {{feUser:U}}!={{feUser:T}} sein:</p>
<p>- Dann darf speichern nur moeglich sein wenn {{feUserSave:U}}='yes' gesetzt ist.<br />- Dann darf loeschen nur moeglich sein wenn {{feUserDelete:U}}='yes' gesetzt ist.</p>
<p>Hintergrund: damit kann einfach sichergestellt werden das man Dozenten, die die Identiaet eines Users uebernehmen, keine Daten veraendern koennen.</p>
<p>Das Form sollte dann einen disabled 'save', 'delete' Button haben, mit einem Hinweis warum das nicht geht.</p> QFQ - Feature #6704 (Some day maybe): Upload Mode: Bilder in Notizen rechts sollen aktuellen Uplo...https://project.math.uzh.ch/issues/67042018-09-14T11:11:06ZElias Villiger
<p><p><a href="{{pathFileName:FR0:allbut:d}}"><img style="height: 48px;" src="{{pathFileName:FR0:allbut:d}}" /></a></p></p> QFQ - Feature #5895 (Some day maybe): Tutorial: List of all QFQ Featureshttps://project.math.uzh.ch/issues/58952018-05-01T15:00:23ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Link to 'Best Practice' - Beispiel(e) im Tutorial.md.</li>
<li>Link zu Manual.rst an die Stelle wo das Feature vollstaendig beschrieben wird.</li>
</ul>
<ul>
<li><a class="external" href="https://git.math.uzh.ch/typo3/qfq/blob/master/Documentation/Tutorial.rst">https://git.math.uzh.ch/typo3/qfq/blob/master/Documentation/Tutorial.rst</a></li>
</ul> QFQ - Feature #5894 (Feedback): Typeahead in Report: show/hide rows dynamicallyhttps://project.math.uzh.ch/issues/58942018-05-01T14:31:24ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>evtl. aehnlich wie <a class="issue tracker-2 status-5 priority-2 priority-default closed" title="Feature: show 'sql.log' in FE (Closed)" href="https://project.math.uzh.ch/issues/5885">#5885</a> (show sql.log dynamically)</li>
<li>Es koennte ein einzelnes FE genommen werden und speziell gewrapped werden.</li>
<li>Oder ein Form mit einem Mode 'inline'. Siehe <a class="issue tracker-2 status-9 priority-2 priority-default" title="Feature: Edit on double-click (Some day maybe)" href="https://project.math.uzh.ch/issues/5893">#5893</a> (New): Formlet's: mini forms (single FE)</li>
</ul> QFQ - Feature #5805 (New): TypeAHead SQL value instead of key storedhttps://project.math.uzh.ch/issues/58052018-04-10T13:16:59ZNicola Chiapolini
<p>Ich habe ein Textfeld mit folgenden Parametern:</p>
<p><code><br />typeAheadSql = SELECT shortname AS 'id', CONCAT(firstname, ' ', lastname, ', ', shortname) AS 'value' FROM _right_to_confer_phd WHERE lastname LIKE ? OR firstname LIKE ? or shortname LIKE ? ORDER BY lastname<br />typeAheadSqlPrefetch = SELECT CONCAT(firstname, ' ', lastname, ', ', shortname) AS value FROM _right_to_confer_phd WHERE shortname=?<br />typeAheadMinLength = 1<br />typeAheadLimit = 20<br />typeAheadPedantic = 0<br /></code></p>
<p>Die Suche funktioniert, aber beim Speichern wird der Value (firstname lastname, shortname) statt der id (shortname) gespeichert.<br />Problem scheint, dass JS im hidden Feld den Value statt der id einfügt...</p> QFQ - Feature #5665 (Some day maybe): Versuch das '{{!' nicht mehr noetig ist.https://project.math.uzh.ch/issues/56652018-03-14T09:23:13ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Idee: aus dem Kontext heraus sollte es moeglich sein zu erkennen, ob '{{!' noetig ist. Damit sollte es moeglich sein auf das '!' zu verzichten.</p>
<p>Ggfs. wird '!' qfq <strong>intern</strong> nachwievor genutzt und durch QFQ in den SQL String eingesetzt.</p>
<p>Optional koennte '!' erlaubt bleiben.</p>
<p>Das Feature waere gut um Neueinsteiger die Arbeit zu erleichtern.</p>
<p>Liste erstellen wo ! alles verwendet wird.</p> QFQ - Feature #5452 (Some day maybe): Thumbnails from PDF: bad qualityhttps://project.math.uzh.ch/issues/54522018-02-16T09:34:55ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Wird ein Thumbnail von einem PDF gerendert (nur bei der ersten Seite) passiert das aktuell via GraphicsMagic.</p>
<p>Bei kleinen Thumbnails ist das kein Problem. Bei groesseren Bilder (width>500) sieht es nicht mehr gut aus.</p>
<p>Wird inkscape verwendet, sieht es anders schlecht aus: by default hat inkscape Probleme mit den LaTeX Schriften beim Import von PDF. Inkscape kann zusaetzlich importieren 'with poppler' - dann sieht es gut auch. Auf die schnelle haben BB,CR aber keine Commandline Option gefunden, das auch bei 'without-gui' zu aktivieren.</p> QFQ - Feature #5342 (Some day maybe): _link - with HTML Attributeshttps://project.math.uzh.ch/issues/53422018-02-02T17:50:28ZBenjamin Baerbenjamin.baer@math.uzh.ch
<p>data Attributes need to be set sometime.</p>
<p>Carsten proposed a general attribute option:</p>
<pre>
'p:...|c:someClass|a:data-target="www.google.ch" data-payload="stuff"' AS _link
</pre> QFQ - Feature #4816 (Some day maybe): Templates for QFQ Reports (Tables, Radios, ..)https://project.math.uzh.ch/issues/48162017-10-25T11:33:18ZBenjamin Baerbenjamin.baer@math.uzh.ch
<p>Easy way to create bootstrap tables and other template based fluff.</p>
<p>Now:<br /><pre>
10 {
sql = SELECT v.id AS _id, m.nr, CONCAT(v.name, ' (', v.gr_id, ')'), CONCAT('p:cassignment&grId=', v.gr_id, '&semId=',
v.sem_id, '|S|s') AS _link, CONCAT('p:exercisesheets&vId=', v.id, '&gr_id=', v.gr_id, '&semId=', v.sem_id,
'|E|s') AS _link
FROM vorlesung AS v, gruppe_member AS gm, modul AS m
WHERE v.sem_id = 35
AND v.v_typ = 'VL'
AND v.id = gm.x_id2
AND gm.gr_id = 896
AND m.id = gm.x_id
head = <table class="table table-condensed table-striped">
<thead>
<tr>
<th width="70">Modul</th>
<th>Name</th>
<th width="50"></th>
<th width="50"></th>
</tr>
</thead>
<tbody>
rbeg = <tr>
rend = </tr>
fbeg = <td>
fend = </td>
tail = </tbody></table>
}
</pre></p>
<p>Then:</p>
<pre>
10 {
sql = SELECT v.id AS _id, m.nr, CONCAT(v.name, ' (', v.gr_id, ')'), CONCAT('p:cassignment&grId=', v.gr_id, '&semId=',
v.sem_id, '|S|s') AS _link, CONCAT('p:exercisesheets&vId=', v.id, '&gr_id=', v.gr_id, '&semId=', v.sem_id,
'|E|s') AS _link
FROM vorlesung AS v, gruppe_member AS gm, modul AS m
WHERE v.sem_id = 35
AND v.v_typ = 'VL'
AND v.id = gm.x_id2
AND gm.gr_id = 896
AND m.id = gm.x_id
type = table
head = <th width="70">Modul</th>
<th>Name</th>
<th width="50"></th>
<th width="50"></th>
}
</pre>
<p>list</p>
<p>Now:<br /><pre>
10 {
sql = SELECT p.name, ', ', p.vorname
FROM person AS p
WHERE ....
head = <ul>
rbeg = <li>
rend = </li>
tail = </ul>
}
</pre></p>
<p>Then: <br /><pre>
10 {
sql = SELECT p.name, ', ', p.vorname
FROM person AS p
WHERE ....
type = list
}
</pre></p> QFQ - Feature #4757 (Some day maybe): Test subrecord: download links ok? Links ok?https://project.math.uzh.ch/issues/47572017-10-13T15:13:10ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Beim HIFO Tool sollen in einem Subrecord download links angeboten werden.</p>
<ol>
<li>es wird nur die erste Spalte vom Typ '_link' gerendert!</li>
<li>wenn auf den link geklickt wird, kommt die Meldung 'undefined index: path'</li>
</ol> QFQ - Feature #4652 (Some day maybe): UZH CD: Weiterleitung auf benutzerdefinierte 403/404 Seitehttps://project.math.uzh.ch/issues/46522017-09-28T08:44:02ZElias Villiger
<p>Bei Access Denied (403) oder Not Found (404) wird aktuell auf die Home-Seite weitergeleitet. Noch besser wäre, wenn man eine eigene Seite erstellen könnte, auf die dann umgeleitet wird.</p> QFQ - Feature #4606 (Some day maybe): _link: qualifier to render bootstrap buttonhttps://project.math.uzh.ch/issues/46062017-09-22T07:18:51ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Neu soll ein Bootstrap Button immer dann gerendert werden wenn ein Qualifier angegeben ist.</li>
<li>b | b:default | b:warning | b:disabled | ...</li>
</ul> QFQ - Feature #4445 (Some day maybe): template group: Option to simulate fieldsethttps://project.math.uzh.ch/issues/44452017-09-09T15:07:37ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Macht es Sinn das Label zu rendern ( so dass kein fieldset aufwendig angelegt werden muss)?</p>
<p>Man koennte eine Option setzen, um eine TemplateGroup das Verhalten eines Fieldsets zu geben.</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 #4343 (Some day maybe): _Link: Classifier to add 'attributes'https://project.math.uzh.ch/issues/43432017-08-31T21:47:11ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Additional attributes can't be specified.</p>
<p>E.g. it's not possible to add "disabled='disabled'" - needed to disable a button in Bootstrap.</p>
<p>An new attribute like A:<values> would be nice.</p> QFQ - Feature #4197 (Some day maybe): Unit Test fuer JSON Stream von QuickFormQuery.php > doForm()https://project.math.uzh.ch/issues/41972017-08-14T09:20:43ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Er soll getestet werden (am besten fuer alle Elemente) ob die Updates korrekt kommen.</p>
<ul>
<li>form-update
<ul>
<li>label, value, note</li>
</ul>
</li>
<li>element-update
<ul>
<li>diverse attribute, inkl. 'value'</li>
</ul></li>
</ul> 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 #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 #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 #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>