https://project.math.uzh.ch/https://project.math.uzh.ch/favicon.ico?16668783892020-08-09T13:30:04ZProject @ iMathQFQ - Feature #10979: Ajax Calls an API - dataReporthttps://project.math.uzh.ch/issues/10979?journal_id=438862020-08-09T13:30:04ZCarsten Rosecarsten.rose@math.uzh.ch
<ul><li><strong>Subject</strong> changed from <i>Ajax Calls an API</i> to <i>Ajax Calls an API - dataReport</i></li><li><strong>Status</strong> changed from <i>New</i> to <i>In Progress</i></li></ul> QFQ - Feature #10979: Ajax Calls an API - dataReporthttps://project.math.uzh.ch/issues/10979?journal_id=438872020-08-09T14:23:41ZCarsten Rosecarsten.rose@math.uzh.ch
<ul></ul><ul>
<li>In einer ersten Version wird die regulaere Link Klasse genutzt. </li>
<li>Es wird kein HTML/ Javascript generiert, das muss explizit gemacht werden<br /><pre>
SELECT '<a href="typo3conf/ext/qfq/Classes/Api/dataReport.php?s='
, 'U:uid=159&arg1=Hello&arg2=World|s|r:8' AS _link
, '">Call 159 (this record)</a>',
</pre></li>
<li>Das '... AS _link' liefert `badcaffee1234`.</li>
</ul>
<p>Als Return von dem Aufruf kommt 1:1 der Code den der Report ausgibt (kein JSON).</p> QFQ - Feature #10979: Ajax Calls an API - dataReporthttps://project.math.uzh.ch/issues/10979?journal_id=438882020-08-09T15:20:21ZCarsten Rosecarsten.rose@math.uzh.ch
<ul><li><strong>File</strong> <a href="/attachments/3937">dataReport2.png</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/3937/dataReport2.png">dataReport2.png</a> added</li><li><strong>File</strong> <a href="/attachments/3938">dataReport.png</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/3938/dataReport.png">dataReport.png</a> added</li></ul><p><img src="https://project.math.uzh.ch/attachments/download/3937/dataReport2.png" alt="" /><br /><img src="https://project.math.uzh.ch/attachments/download/3938/dataReport.png" alt="" /></p> QFQ - Feature #10979: Ajax Calls an API - dataReporthttps://project.math.uzh.ch/issues/10979?journal_id=439072020-08-10T20:12:26ZCarsten Rosecarsten.rose@math.uzh.ch
<ul></ul><p>Diskussion PG, CR:</p>
<ul>
<li>Vorschlag von CR, mit 'JS Templates' zu arbeiten, scheint keine nennenswerte Vorteile zu bringen.</li>
<li>Vorschlag von PG, ein '... AS _link' der in den link Parametern CallBack fuer 'success', 'error' vorgibt, scheint keine nennenswerte Vorteile gegenueber der nativen JS Implemention zu bringen.</li>
<li>Auf folgendes geeinigt:<br /><pre>
20 {
sql = SELECT 'J:uid=100&xId=3|s' AS '_link|col1' # Output: 'typo3conf/ext/qfq/Classes/Api/dataReport.php?s=000000000'
}
30.head = <script>
function writeYourOwnAjax(){
$.ajax({
url: '{{col1:RE}}',
data: {a:30, b:430, c:0},
method: 'POST',
dataType: 'JSON',
success: function(response) {ajaxSuccess(response);},
error: function(jqXHR, textStatus, errorThrown) {ajaxError(jqXHR, textStatus, errorThrown);}
});
}
</script>
</pre></li>
<li>Neuer Hauptqualifier 'J' fuer Ajax.</li>
<li>`typo3conf/ext/qfq/Classes/Api/dataReport.php` wird hart reinkodiert.</li>
<li>Parameter koennen 'plain' oder 'SIP kodiert' uebergeben werden.</li>
<li>`r:8' ist nicht mehr noetig.</li>
<li>Der Output der QFQ-Records wird ausgegeben.</li>
<li>Es gibt zwei neue Variablen (ohne Zeilennummer, werden ersetzt nachdem Report durchgelaufen ist):<br /><pre>
statusCode = {{statusCode:R}} //200 404
statusMessage = missing value
</pre></li>
<li>Enthaelt der statusCode einen Wert !=200, wird JS den 'error' CallBack aufrufen.</li>
<li>statusMessage kann mehr Details enthalten.</li>
<li>Sollte es OS / PHP Probleme geben, sind diese Werte sowieso gestzt.</li>
<li>Neu kann zusaetzlich der User Code die Werte beeinflussen. Ein StatusCode !=200 koennte (wenn implementiert) eine Standard QFQ Error Box anzeigen.</li>
</ul> QFQ - Feature #10979: Ajax Calls an API - dataReporthttps://project.math.uzh.ch/issues/10979?journal_id=440302020-08-18T08:50:39ZCarsten Rosecarsten.rose@math.uzh.ch
<ul><li><strong>Assignee</strong> changed from <i>Carsten Rose</i> to <i>Marc Egger</i></li></ul> QFQ - Feature #10979: Ajax Calls an API - dataReporthttps://project.math.uzh.ch/issues/10979?journal_id=440312020-08-18T08:57:53ZMarc Egger
<ul><li><strong>Status</strong> changed from <i>In Progress</i> to <i>Priorize</i></li></ul> QFQ - Feature #10979: Ajax Calls an API - dataReporthttps://project.math.uzh.ch/issues/10979?journal_id=442812020-09-06T09:16:18ZCarsten Rosecarsten.rose@math.uzh.ch
<ul></ul><p>Unfinished implementation (already used by Teaching Tools) and small documentation under <a class="external" href="http://docs.qfq.io/en/develop/Report.html#api-call-qfq-report">http://docs.qfq.io/en/develop/Report.html#api-call-qfq-report</a>.</p> QFQ - Feature #10979: Ajax Calls an API - dataReporthttps://project.math.uzh.ch/issues/10979?journal_id=445482020-09-23T08:09:11ZMarc Egger
<ul><li><strong>Status</strong> changed from <i>Priorize</i> to <i>Closed</i></li></ul><p>Es ist nun moeglich, auch die header der antwort zu setzen.<br />Ich habe die Doku etwas ausgebessert.<br />Bis ein neuer Request kommt, wuerde ich die Implementation so lassen.</p> QFQ - Feature #10979: Ajax Calls an API - dataReporthttps://project.math.uzh.ch/issues/10979?journal_id=459912020-11-12T21:46:31ZCarsten Rosecarsten.rose@math.uzh.ch
<ul><li><strong>Target version</strong> changed from <i>next5</i> to <i>20.11.0</i></li></ul> QFQ - Feature #10979: Ajax Calls an API - dataReporthttps://project.math.uzh.ch/issues/10979?journal_id=574942022-05-11T10:15:27ZCarsten Rosecarsten.rose@math.uzh.ch
<ul><li><strong>Assignee</strong> changed from <i>Marc Egger</i> to <i>Carsten Rose</i></li></ul><p>Das Ticket wurde nicht fertig implementiert, es haette nicht geschlossen werden sollen.</p>
<ul>
<li>Doku zum Ajax Call ist unter <a class="external" href="http://docs.qfq.io/en/master/Report.html#api-call-qfq-report-e-g-ajax">http://docs.qfq.io/en/master/Report.html#api-call-qfq-report-e-g-ajax</a></li>
<li>Der Qualifier 'J' ist nicht implementiert - nicht klar ob es Gruende dafuer oder dagegen gab. Wenn er implementeirt wird:
<ul>
<li>Doku anpassen</li>
<li>Der alte Code mit r:8 sollte auch weiterhin funktioniren, oder alle QFQ Instanzen muessen angepasst werden.</li>
</ul></li>
</ul>
<ul>
<li>Check ob statusCode & statusMessage verwendet werden koennen. In der Doku Beispiele fuer die Benutzung machen.</li>
<li>Die Referenz <code>uid:...</code> sollte erweitert werden so dass auch Namen (Siehe QFQ Function) verwendet werden koennen. Es sollte einfach moeglich sein das umzustellen - damit wuerde dann auch vermutlich PDF-Downloads mit Namen (anstelle von Nummern) moeglich.
<ul>
<li>Weiteres Feature: bei den Namen wird aktuell nicht ueberprueft ob sie uniq sind. Falls noch nciht geschehen, eine Exception werfen falls ein Name mehr als ein einmal vorkommt.</li>
<li>Doku bei allen 'uid' Stellen anpassen, das auch Namen verwendet werden koennen.</li>
</ul></li>
</ul> QFQ - Feature #10979: Ajax Calls an API - dataReporthttps://project.math.uzh.ch/issues/10979?journal_id=574952022-05-11T10:15:46ZCarsten Rosecarsten.rose@math.uzh.ch
<ul><li><strong>Status</strong> changed from <i>Closed</i> to <i>New</i></li><li><strong>Target version</strong> changed from <i>20.11.0</i> to <i>355</i></li></ul> QFQ - Feature #10979: Ajax Calls an API - dataReporthttps://project.math.uzh.ch/issues/10979?journal_id=724152024-03-02T18:53:11ZCarsten Rosecarsten.rose@math.uzh.ch
<ul><li><strong>Target version</strong> changed from <i>355</i> to <i>24.10.0</i></li></ul>