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 - Bug #17945 (New): Values given to the parameters: typeAheadLimit and typeAheadMinLength are...https://project.math.uzh.ch/issues/179452024-02-19T09:12:49ZShweta Dayal
<p>typeAheadLimit and typeAheadMinLength are not showing the values defined in first layer of form parameters</p>
<p>Precondition:<br />Have type head field in the form</p>
<p>Steps: <br />1. open form <br />2. edit parameter in layout pill<br />3. Assign values: <br />typeAheadLimit=3<br />typeAheadMaxLength=11<br />4. Save</p>
<p>Expected results: The assigned values should be applied i.e. data-typeahead-limit=11 and data-typeahead-minlength=3</p>
<p>Actual results: The assigned values are not applied, it still shows the default values data-typeahead-limit=20 and data-typeahead-minlength=2</p>
<p>/scratch/share/system/projekte/qfq/selenium/image/typeaHeadLimit&MaxLength.png<br /><img src="https://project.math.uzh.ch/attachments/download/9273/clipboard-202402191001-lmust.png" alt="" /><br />/scratch/share/system/projekte/qfq/selenium/image/inspect.png<br /><img src="https://project.math.uzh.ch/attachments/download/9274/clipboard-202402191004-6tq6k.png" alt="" /></p> QFQ - Bug #17785 (New): undefined: Download::$storeSystemhttps://project.math.uzh.ch/issues/177852024-02-01T17:06:09ZCarsten Rosecarsten.rose@math.uzh.chQFQ - 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 - Bug #16965 (New): Unhandled exception on SQL queryhttps://project.math.uzh.ch/issues/169652023-09-28T12:36:23ZCarsten Rosecarsten.rose@math.uzh.chQFQ - Bug #16620 (New): wkhtml: PDF shows QFQ FE editing form if BE User is logged inhttps://project.math.uzh.ch/issues/166202023-07-17T08:41:32ZJan Haller
<p>Wenn aus dem Inhalt des tt-content mit dem Parameter 'type=2' ein PDF generiert wird, enthält dieses Informationen von Typo3, wenn der User im BE eingeloggt ist.</p>
<p>Code QFQ:</p>
<p><img src="https://project.math.uzh.ch/attachments/download/8174/clipboard-202307171039-wwgit.png" alt="" /></p>
<p>PDF (eingeloggt in T3 BE):</p>
<p><img src="https://project.math.uzh.ch/attachments/download/8175/clipboard-202307171040-wut50.png" alt="" /></p>
<p>PDF (ausgeloggt in T3 BE):</p>
<p><img src="https://project.math.uzh.ch/attachments/download/8176/clipboard-202307171040-gutam.png" alt="" /></p> QFQ - Bug #16348 (New): Typeahead + extraButtonInfo: no rendered as Button Grouphttps://project.math.uzh.ch/issues/163482023-06-02T21:19:16ZCarsten Rosecarsten.rose@math.uzh.ch
<p><img src="https://project.math.uzh.ch/attachments/download/8008/clipboard-202306022317-89gfi.png" alt="" /></p>
<p>Vermutlich passiert bei <code>extraButtonInfo</code> und vermutlich auch bei <code>extraButtonLock</code></p> 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 - Bug #15108 (New): Wert in Note nach speichern nicht aktualisierthttps://project.math.uzh.ch/issues/151082022-12-05T15:46:11ZJan Haller
<p>Testformular: Medtool>Admin>Setup>Form>note_test</p>
<p>Text in Note (Notiz) wird mit Query abgefragt. Liefert die Query kein Resultat, bleibt nach dem Speichern der vorherige Wert erhalten. Die Seite muss neu geladen werden, damit der Inhalt entfernt wird.</p> QFQ - Bug #14530 (New): Variables: Action 'X' does not output Type messagehttps://project.math.uzh.ch/issues/145302022-07-26T18:41:06ZNicola Chiapolini
<p>Subject says it all - makes debugging really annoying...</p>
<p><code>4.sql = SELECT "{{la_supervisr:R::X::hallo}}"</code></p>
<p>gives<br /><img src="https://project.math.uzh.ch/attachments/download/6414/clipboard-202207262040-ssmzv.png" alt="" /></p> QFQ - Bug #14508 (New): _exec: output will not be passed downhttps://project.math.uzh.ch/issues/145082022-07-12T10:48:54ZBenjamin Baerbenjamin.baer@math.uzh.ch
<p>The output of _exec can't be passed down to fields below, even with AS '_exec|column'</p>
<p>{{column}} will return the command, not the output
{{&column}} will return empty, not the output</p>
<p>BTW: folgender Code verhaelt sich korrekt</p>
<pre>
10.sql = SELECT 'echo "Hello World"' AS '_exec'
20.sql = SELECT '{{10.exec}}'
</pre> QFQ - Bug #13706 (New): Wrong CheckType in FieldElement LastStatus of Form Cronhttps://project.math.uzh.ch/issues/137062022-01-21T17:20:57ZNicola Chiapolini
<p>The Check Type of LastStatus is configured as <code>alnumx</code> - but the displayed table column contains sanitized HTML, so lots of <code>&</code>.<br />(Trying to switch the value to fails with a warning "Encode 'specialchar' is not completely compatible with Check Type 'allbut': certain user input will be converted to its HTML representation (e.g. "), which makes use of a non-supported character (&)" which wrong, as according to docs, & is valid for allbut. However this message is missing for alnumx, where it would be correct...</p>
<p>Changing Check Type to <code>all</code> allows me to see the source retrieved by the lastrun.</p> QFQ - Bug #13659 (New): wrong sanitize class applied to R-storehttps://project.math.uzh.ch/issues/136592022-01-14T16:32:23ZNicola Chiapolini
<pre><code class="sql syntaxhl"><span class="mi">11</span><span class="p">.</span><span class="k">sql</span> <span class="o">=</span> <span class="k">SELECT</span> <span class="nv">"hallo"</span> <span class="k">AS</span> <span class="k">type</span>
<span class="mi">11</span><span class="p">.</span><span class="n">content</span> <span class="o">=</span> <span class="n">hide</span>
<span class="mi">20</span><span class="p">.</span><span class="k">sql</span> <span class="o">=</span> <span class="k">SELECT</span> <span class="s1">'{{type:R0}}'</span>
</code></pre>
<p>output:<br /><code>!!digit!!</code></p>
<p>(any other name then <code>type</code> works :-)</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 #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 - Bug #12187 (New): Trigger FormAsFile() via Report: probably problem with multi DB setuphttps://project.math.uzh.ch/issues/121872021-03-20T20:15:10ZCarsten Rosecarsten.rose@math.uzh.ch
<p>In <code>Report->triggerReport()</code> gibt es einen Aufruf <code>FormAsFile::importAllForms($this->db, false, true);</code> der vermutlich ein MultiDB Setup nicht beruecksichtigt:</p>
<ul>
<li>Report arbeitet bei Default auf `dbData`. </li>
<li>Form arbeitet immer auf `dbQfq`.</li>
<li>Bei einem MultiDB knallt es jetzt.</li>
</ul>
<p>Des weiteren:</p>
<ul>
<li>Es ist nicht klar warum Report() jede einzelne Query `formAsFile::isFormQuery($sql)` jedes mal vor dem feuern uberprueft, ob eine der Tabellen Form/FormElement vorkommt und falls ja, ein `FormAsFile::importAllForms()` ausfuehrt.</li>
<li>BTW: angenommen 10.sql hat 100 Records, dann wird 10.20.sql hundertmal auf Form/FormElement geprueft und bei Treffer 100 mal alle Forms importiert!</li>
<li>Es kommt zwar super selten vor das Form/FormElement verwendet wird, aber gibt es hier keine bessere Loesung?</li>
<li>Evtl. ist hier das Problem mit der MY Instanz zu suchen, das manchmal alle Formulare verschwunden sind.</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 - Bug #10704 (New): wkhtml problem rendering fullCalendar.js / fabric.js >> successor: puppe...https://project.math.uzh.ch/issues/107042020-06-03T15:26:51ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li><a class="external" href="https://github.com/puppeteer/puppeteer">https://github.com/puppeteer/puppeteer</a></li>
<li>Vergleich: <a class="external" href="https://www.paperplane.app/blog/modern-html-to-pdf-conversion-2019/">https://www.paperplane.app/blog/modern-html-to-pdf-conversion-2019/</a></li>
</ul>
<p>puppeteer hat angeblich ein CLI replacement fuer wkhtml ...</p> QFQ - Bug #10661 (In Progress): Typo3 Warnungenhttps://project.math.uzh.ch/issues/106612020-05-27T17:12:58ZNicola Chiapolini
<p>Hoi Carsten</p>
<p>Ich habe heute mal wieder Extensions aktualisiert (deshalb auch den Bug mit <br />processReadOnly). Da ig_ldap Probleme gemacht hatte, habe ich dann auch im <br />Install Tool alle Warnungen angeschaut und bin auf die unten gestossen.</p>
<p>Muss ich da irgend etwas unternehmen?</p>
<p>härzlichi Grüäss<br />Nicola</p>
<p>TCA Migrations<br />--------------<br />Checks whether the current TCA needs migrations and displays applied <br />migrations.</p>
<p>TCA migrations need to be applied<br />Check the following list and apply needed changes.</p>
<p>The 4th parameter 'specConf' of the field 'showitem' with fieldName = <br />'bodytext' has been migrated, from TCA table "tt_content['types']['qfq_qfq']<br />['showitem']"to "tt_content['types']['qfq_qfq']['columnsOverrides']<br />['bodytext']['defaultExtras']".</p>
<p>The defaultExtras setting 'nowrap' in TCA table tt_content['types']['qfq_qfq']<br />['columnsOverrides']['bodytext'] has been migrated to TCA table <br />tt_content['types']['qfq_qfq']['columnsOverrides']['bodytext']['config']<br />['wrap'] = 'off'</p>
<p>TCA in ext_tables.php check<br />----------------------------<br />Check if an extension changes $GLOBALS['TCA'] in ext_tables.php.</p>
<p>Extensions change TCA in ext_tables.php<br />Check for ExtensionManagementUtility and $GLOBALS["TCA"].</p>
<p>- qfq<br />- uzh_cd_template</p> QFQ - Bug #10640 (New): TypeAhead Tag: FE editierbar trotz readOnlyhttps://project.math.uzh.ch/issues/106402020-05-25T08:09:04ZStefan Willi
<p>Das FormElement für das TypeAhead Tag bleibt editierbar, wenn man das Fomular im readonly Modus öffnet.</p> QFQ - Bug #10588 (New): typeahed Tag: Doku anpassenhttps://project.math.uzh.ch/issues/105882020-05-15T13:24:44ZCarsten Rosecarsten.rose@math.uzh.ch
<p>SW via RocketChat:<br /><pre>
Ich habe die Tags nun im Mode 'Glue' zum laufen bekommen. Mein Fazit:
1. In der Doku sollte im Beispiel erwähnt sein, wie man neue Tags anlegt. Also typeAheadTagInsert und typeAheadPedantic=0 sollte vermerkt sein.
2. Ich habe es im Mode 'Tag' nicht geschafft.
3. Ist es normal, dass jeweils nur 1 neuer Tag gespeichert wird? Ich hatte den Fall, dass ich 2 neue Tags erstellte und auswählte. Beim Speichern des Formular wurde dann nur der letzte hinzugefügte Tag gespeichert.
PS: Ich arbeite am Montag wieder.
</pre></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 #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 - Bug #9947 (Priorize): Unwanted error message if missing 'typeAheadSqlPrefetch'https://project.math.uzh.ch/issues/99472020-01-23T12:22:57ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Hat ein Feld ein typeahead, und wird ein bestehender Record geladen und ist kein 'typeAheadSqlPrefetch' definiert: dann erscheint beim tippen 'missing typeAheadSqlPrefetch'.</p>
<p>Das macht bei key/value translation noch Sinn, bei reinen 'Value' Betrieb ist das ueberfluessig.<br /><pre>
typeAheadSql = SELECT m.location FROM Meeting AS m WHERE m.location LIKE ? GROUP BY m.location ORDER BY m.location LIMIT 40
typeAheadSqlPrefetch = SELECT m.location FROM Meeting AS m WHERE m.location LIKE ? LIMIT 1
typeAheadMinLength = 1
</pre></p> QFQ - Bug #9077 (New): typeAheadSql: report broken SQLhttps://project.math.uzh.ch/issues/90772019-09-10T08:27:15ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Status Quo: ist die Query kaputt, gibt es keine Fehlermeldung.</p>
<p>Vorschlag: wenn ein BE User eingeloggt ist wird als Result die Fehlermeldung ausgegeben.</p> 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 - Bug #7456 (Some day maybe): Todos in Code: solve or make tickethttps://project.math.uzh.ch/issues/74562018-12-11T09:23:08ZMarc EggerQFQ - Bug #7219 (New): typeSheadSql / typeAheadSqlPrefetch: change to curly braceshttps://project.math.uzh.ch/issues/72192018-11-09T07:10:27ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Scheinbar werden 'typeSheadSql' / 'typeAheadSqlPrefetch' ohne Curly Braces definiert. Das ist inkonsequent.</p>
<ul>
<li>Anpassen das alt und neu funktioniert</li>
<li>Doku</li>
</ul> 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 - Bug #6116 (Priorize): value of checkbox not saved https://project.math.uzh.ch/issues/61162018-05-29T09:43:08ZNicola Chiapolini
<p>In one of our forms, we have the following checkbox:<br /><pre><code class="sql syntaxhl"><span class="k">INSERT</span> <span class="k">INTO</span> <span class="nv">`FormElement`</span> <span class="p">(</span><span class="nv">`id`</span><span class="p">,</span> <span class="nv">`formId`</span><span class="p">,</span> <span class="nv">`feIdContainer`</span><span class="p">,</span> <span class="nv">`dynamicUpdate`</span><span class="p">,</span> <span class="nv">`enabled`</span><span class="p">,</span> <span class="nv">`name`</span><span class="p">,</span> <span class="nv">`label`</span><span class="p">,</span> <span class="nv">`mode`</span><span class="p">,</span> <span class="nv">`modeSql`</span><span class="p">,</span> <span class="nv">`class`</span><span class="p">,</span> <span class="nv">`type`</span><span class="p">,</span> <span class="nv">`subrecordOption`</span><span class="p">,</span> <span class="nv">`encode`</span><span class="p">,</span> <span class="nv">`checkType`</span><span class="p">,</span> <span class="nv">`checkPattern`</span><span class="p">,</span> <span class="nv">`onChange`</span><span class="p">,</span> <span class="nv">`ord`</span><span class="p">,</span> <span class="nv">`tabindex`</span><span class="p">,</span> <span class="nv">`size`</span><span class="p">,</span> <span class="nv">`maxLength`</span><span class="p">,</span> <span class="nv">`bsLabelColumns`</span><span class="p">,</span> <span class="nv">`bsInputColumns`</span><span class="p">,</span> <span class="nv">`bsNoteColumns`</span><span class="p">,</span> <span class="nv">`rowLabelInputNote`</span><span class="p">,</span> <span class="nv">`note`</span><span class="p">,</span> <span class="nv">`adminNote`</span><span class="p">,</span> <span class="nv">`tooltip`</span><span class="p">,</span> <span class="nv">`placeholder`</span><span class="p">,</span> <span class="nv">`value`</span><span class="p">,</span> <span class="nv">`sql1`</span><span class="p">,</span> <span class="nv">`parameter`</span><span class="p">,</span> <span class="nv">`parameterLanguageA`</span><span class="p">,</span> <span class="nv">`parameterLanguageB`</span><span class="p">,</span> <span class="nv">`parameterLanguageC`</span><span class="p">,</span> <span class="nv">`parameterLanguageD`</span><span class="p">,</span> <span class="nv">`clientJs`</span><span class="p">,</span> <span class="nv">`feGroup`</span><span class="p">,</span> <span class="nv">`deleted`</span><span class="p">,</span> <span class="nv">`modified`</span><span class="p">,</span> <span class="nv">`created`</span><span class="p">)</span> <span class="k">VALUES</span>
<span class="p">(</span><span class="mi">164</span><span class="p">,</span> <span class="mi">1000</span><span class="p">,</span> <span class="mi">380</span><span class="p">,</span> <span class="s1">'no'</span><span class="p">,</span> <span class="s1">'yes'</span><span class="p">,</span> <span class="s1">'reg_done'</span><span class="p">,</span> <span class="s1">'Final'</span><span class="p">,</span> <span class="s1">'hidden'</span><span class="p">,</span> <span class="s1">'{{SELECT IF( title_hash != </span><span class="se">\'\'</span><span class="s1"> AND (SELECT SUM(head) FROM `phd_committee_members` WHERE phd_student=(SELECT id FROM phd_graduation WHERE shortname=</span><span class="se">\'</span><span class="s1">{{shortname}}</span><span class="se">\'</span><span class="s1"> )) = 1,</span><span class="se">\'</span><span class="s1">show</span><span class="se">\'</span><span class="s1">, </span><span class="se">\'</span><span class="s1">hidden</span><span class="se">\'</span><span class="s1">) FROM phd_graduation WHERE shortname=</span><span class="se">\'</span><span class="s1">{{shortname}}</span><span class="se">\'</span><span class="s1"> }}'</span><span class="p">,</span> <span class="s1">'native'</span><span class="p">,</span> <span class="s1">'checkbox'</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">'specialchar'</span><span class="p">,</span> <span class="s1">'alnumx'</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="mi">200</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">'row,label,/label,input,/input,note,/note,/row'</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">'{{!SELECT IF(reg_done, reg_done, NOW()) FROM phd_graduation WHERE id=</span><span class="se">\'</span><span class="s1">{{id:RE}}</span><span class="se">\'</span><span class="s1"> }}'</span><span class="p">,</span> <span class="s1">'checkBoxMode = single</span><span class="se">\r\n</span><span class="s1">label2 = Submit this form and start the process.'</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">'no'</span><span class="p">,</span> <span class="s1">'2018-05-29 09:34:25'</span><span class="p">,</span> <span class="s1">'2018-03-09 10:06:26'</span><span class="p">);</span>
</code></pre></p>
<p>This checkbox gets correctly displayed with all the values of <code>mode sql</code> below, but only saved to the DB for some of them:</p>
<p><strong>good</strong><br /><pre><code>
{{SELECT IF( title_hash != '' ,'show', 'hidden') FROM phd_graduation WHERE shortname='{{shortname}}' }}
{{SELECT IF( title_hash != '' AND (SELECT SUM(head) FROM `phd_committee_members` WHERE phd_student=(SELECT id FROM phd_graduation WHERE shortname='{{shortname}}' )) = 1,'show', 'hidden') FROM phd_graduation WHERE shortname='{{shortname}}' }}
</code></pre></p>
<p><strong>bad</strong><br /><pre><code>
{{SELECT IF( title_hash != '' ,'show', 'hidden') FROM phd_graduation WHERE id='{{id}}' }}
{{SELECT IF( title_hash != '' ,'show', 'hidden') FROM phd_graduation WHERE shortname='{{shortname:R0}}' }}
{{SELECT IF( title_hash != '' ,'show', 'hidden') FROM phd_graduation WHERE shortname='{{shortname:FR0}}' }}
{{SELECT IF( title_hash != '' AND (SELECT SUM(head) FROM `phd_committee_members` WHERE phd_student='{{id:R0}}') = 1,'show', 'hidden') FROM phd_graduation WHERE id='{{id:R0}}' }}
</code></pre></p>
<p><code>shortname</code> is a nativ / extra field in the form, <code>id</code> is not part of the form.</p>
<p>In any case, a displayed field should also be saved ;-)</p> QFQ - Bug #5991 (Some day maybe): URLs with '|' or long parameter are problematichttps://project.math.uzh.ch/issues/59912018-05-14T05:45:44ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Mitunter werden URLs in der DB gespeichert.</li>
<li>By default werden sie waehrend der Eingabe htmlspecialchar kodiert - damit funktionieren sie dann spaeter bei der Ausgabe nicht mehr.</li>
<li>Werden sie unencoded gespeichert, kann es sein das sie '|' enthalten. Das irritiert QFQ und funktioniert nicht. Bsp.:<br /><pre>
u:http://www.springer.com/west/home/engineering/electronics?SGWID=4-191-22-33358459-detailsPage=ppmmedia|toc|t:Springer site of volume
</pre></li>
<li>Evtl. hilft ein spezieller Kodierungsmodus.</li>
<li>Allgemein waere es wuenschenswert das Problem zu loesen.</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 - Bug #5706 (Some day maybe): upload: fileDestination needs to be sanatizedhttps://project.math.uzh.ch/issues/57062018-03-19T15:39:19ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Falls in einem FE.type=upload die 'fileDestination' mit einem unerlaubten Zeichen berechnet wird, wird dieses Zeichen nicht entfernt.</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 - Bug #5305 (New): Upload FormElement: nicht disabled by readonly Formhttps://project.math.uzh.ch/issues/53052018-01-27T12:39:23ZElias Villiger
Das Problem:
<ul>
<li>By Dynamic Update sollte der Button enabled/disabled werden koennen.</li>
<li>D.h. der Server muss immer das eine SIP mitliefern, kann ja sein das der Button spaeter aktiv wird.</li>
<li>Auch bei 'disabled' button (visuell korrekt als disabled dargstellt) wird ein Klick ausgefuehrt und der Dateiauswahldialog oeffnet sich und der ganze Prozess (Auswahl, Upload, Delete) funktioniert.</li>
</ul> 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 #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 - Bug #3895 (Some day maybe): typeahead pedantic: on lehrkredit ldap webpass - if only one pe...https://project.math.uzh.ch/issues/38952017-06-12T06:57:39ZCarsten Rosecarsten.rose@math.uzh.chQFQ - 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 #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> QFQ - Bug #3061 (Some day maybe): winstitute: mysql connection durcheinander - nmhp17 (ag7)/QFQ a...https://project.math.uzh.ch/issues/30612017-01-12T14:05:37ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Auf winstitute gibt u.a. die Instanzen:</p>
<p>a) <a class="external" href="http://www.biostat.uzh.ch/">http://www.biostat.uzh.ch/</a> >> winstitute: ag_7</p>
<pre><code>T3: 'database' => 't3_ag7','username' => 't3_ag7',</code></pre>
<pre><code>QFQ Extension QFQ Extension<br /> DB User: t3_ag7 (/srv/www/ag_7/typo3conf/ext/qfq/config.ini)</code></pre>
<pre><code>form2 Extension form2 Extension<br /> DBQ2 Extension DBQ2 Extension <br /> DB User: dbquser (/srv/www/ag_7/typo3conf/dbq2.config.ini)</code></pre>
<p>b) <a class="external" href="http://www.math.uzh.ch/nmhp17">http://www.math.uzh.ch/nmhp17</a> >> winstitute: conferences_7<br /> math.inc.conf:Alias /conferences_7 /srv/www/conferences_62</p>
<pre><code>T3: database' => 't3_zss', 'username' => 't3_zss'</code></pre>
<pre><code>QFQ Extension QFQ Extension<br /> DB_USER = zgsm, DB_NAME = zgsm (/srv/www/conferences_62/typo3conf/config.qfq.ini)<br /> DBQ2 Extension DBQ2 Extension <br /> DB_USER = zgsm, DB_NAME = zgsm (/srv/www/conferences_62/typo3conf/config.qfq.ini)</code></pre>
Das Problem:
<ul>
<li>je nachdem welche Website, nach einem Apache restart als erstes auferufen wird, gilt diese fuer a) <em>und</em> b).</li>
</ul>
<p>Folgenen Code zum debuggen<br /><pre>
sql1 = SELECT USER()
rend1 = <br><br>
sql2 = SHOW tables;
rend2 = <br>
tail2 = <br>
sql2a = SHOW databases;
rend2a = <br>
tail2a = <br>
</pre></p>
<a name="Test"></a>
<h1 >Test<a href="#Test" class="wiki-anchor">¶</a></h1>
<p>Biostat Seite:</p>
<ul>
<li>Apache restart</li>
</ul>
<ul>
<li>ok (dbquser) <a class="external" href="http://www.biostat.uzh.ch/?id=350">http://www.biostat.uzh.ch/?id=350</a></li>
<li>ok (QFQ Formular) <a class="external" href="http://www.biostat.uzh.ch/anmeldung/">http://www.biostat.uzh.ch/anmeldung/</a></li>
</ul>
<ul>
<li>fail (t3_ag7) <a class="external" href="http://www.math.uzh.ch/nmhp17/index.php?id=51">http://www.math.uzh.ch/nmhp17/index.php?id=51</a></li>
</ul> QFQ - Bug #2643 (Some day maybe): Zend / PHP Webinars anschauenhttps://project.math.uzh.ch/issues/26432016-10-12T06:41:31ZCarsten Rosecarsten.rose@math.uzh.ch
<p><a class="external" href="http://www.zend.com/en/resources/webinar/building-the-perfect-php-app-for-the-enterprise">http://www.zend.com/en/resources/webinar/building-the-perfect-php-app-for-the-enterprise</a></p>