APF-Tracker

Adventure PHP Framework Issue Management


View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0000040Adventure PHP FrameworkNeues Feature // New Featurepublic2013-06-04 18:412016-10-11 13:16
ReporterScreeze 
Assigned To 
PrioritynormalSeverityfeatureReproducibilityN/A
StatusassignedResolutionopen 
Product Version1.17 
Target Version3.4Fixed in Version 
Summary0000040: Deaktivieren der Template Engine bei FC-Action-Requests
DescriptionEs fehlt eine Möglichkeit, um das Ausführen der Template-Engine sauber zu verhindern, wenn eine FC-Action z.b. AJAX requests behandeln soll.

Beispiel:
Es gibt eine FC-Action, die AJAX responses behandelt und JSON liefern soll.
Es ist ein OutputFilter registriert der die Ausgabe auf 1 Zeile shrinkt, oder Platzhalter on-the-fly setzt.
Die Action wird aufgerufen, baut ihren Response zusammen, und schreibt ihn in die Ausgabe.

Nun hat man 2 Möglichkeiten:

1. Man fügt ein exit(0); in die Action. Nun verhindert man die Ausführung des OutputFilters. Nicht schön.
2. Man lässt es mit dem exit. Nun wird die komplette Template Engine ausgeführt und html code nach das JSON geschrieben. Noch weniger schön.


Was man nun machen könnte, wäre folgendes:

Der FrontController stellt eine Methode zur Verfügung, um die Ausführung zu beeinflussen.

Beispiel:
$fC = & Singleton::getInstance('APF\core\frontcontroller\Frontcontroller');
$fC->disableTransformation();

Wenn disableTransformation() aufgerufen wurde, wird die Template Engine deaktiviert und kein transform() aufgerufen.
TagsNo tags attached.
Codereferenz: ([Datei]:[Zeile])
Namespacecore
Attached Files

- Relationships

-  Notes
(0000045)
jwlighting (administrator)
2013-08-20 19:40

Man erkläre mir, warum eine Ausführung des OutputFilters sinnvoll sein soll, wenn es keine Ausgabe gibt.

Der OutputFilter verarbeitet ja nur die Ausgabe von $page->transform();
(0000046)
jwlighting (administrator)
2013-08-20 19:55

Ist implementiert und zur Kontrolle: http://forum.adventure-php-framework.org/viewtopic.php?f=10&t=1474&start=15#p14597 [^]
(0000059)
jwlighting (administrator)
2013-10-20 19:59
edited on: 2013-10-20 20:00

Aus dem DEV-Chat:

[19:40:45] Christian Achatz: 0000040 würde ich gerne nochmal besprechen.
[19:41:03] Christian Achatz: hier gibt es mehrere ansätze, wie man das implementieren bzw. lösen könnte.
[19:41:50] Christian Achatz: insbesondere könnte ich mir vorstellen, dass man für eine solche ausgabe (z.B. JSON) dem FC ein eigenes root-template injizieren kann.
[19:42:10] Christian Achatz: dann musst du nix deaktivieren, sondern kannst das per action einfach dahin routen, wo du den request haben möchtest
[...]
[19:50:05] Jan Wiese: ok. was ich werd den eintrag dann in mantis erst mal auf rückmeldung setzen und schlage vor, dass du (bei gelegenheit) eine diskussion mit deinen vorschlägen im forum startest. dann können ralf und alle anderen, die da mitdiskutiert haben bisher, da auch mitreden
[19:58:06] Christian Achatz: klingt vernünftig.
[19:58:15] Christian Achatz: magst du mir einen kommentar posten und mir den zuweisen?
[19:58:38] Jan Wiese: mache ich. bin eh grad dran

(0000579)
ChristianAchatz (administrator)
2015-08-23 11:50

Vorschlag zur Umsetzung (ohne Prüfung auf Machbarkeit):

- Die Ausführung der Transformation wird zukünftig in einem eigenen Filter/einer eigenen Action im Front-Controller ausgeführt.
- Daneben wird auch das Parsen und andere Actions in einer Chain ausgeführt, die konfigurierbar ist.
- Das Verhalten kann dann analog zur Input- und Output-FilterChain manipuliert und ggf. selbst konfiguriert werden.
(0000599)
ChristianAchatz (administrator)
2015-09-05 17:10

Moved to 3.2 to shape scope for 3.1.
(0000754)
ChristianAchatz (administrator)
2016-10-11 13:16

Implemented POC code based on a separate filter chain executed by the front controller based on the current steps (e.g. input filters, pre page create actions, output filters). This change will generate a huge number of incompatibilities with current application.

Thus suggesting to move this to a 4.0 version.

- Issue History
Date Modified Username Field Change
2013-06-04 18:41 Screeze New Issue
2013-07-16 19:01 jwlighting Category Neues Feature => Neues Feature // New Feature
2013-08-20 19:31 jwlighting Assigned To => jwlighting
2013-08-20 19:31 jwlighting Status new => assigned
2013-08-20 19:40 jwlighting Note Added: 0000045
2013-08-20 19:55 jwlighting Note Added: 0000046
2013-08-20 19:55 jwlighting Status assigned => confirmed
2013-10-20 19:58 jwlighting Assigned To jwlighting =>
2013-10-20 19:58 jwlighting Priority high => normal
2013-10-20 19:58 jwlighting Status confirmed => feedback
2013-10-20 19:58 jwlighting Target Version 2.0 => 2.1
2013-10-20 19:58 jwlighting Assigned To => ChristianAchatz
2013-10-20 19:58 jwlighting Status feedback => assigned
2013-10-20 19:59 jwlighting Note Added: 0000059
2013-10-20 20:00 jwlighting Note Edited: 0000059 View Revisions
2014-05-05 23:22 ChristianAchatz Target Version 2.1 => 3.1
2014-05-05 23:22 ChristianAchatz Assigned To ChristianAchatz =>
2014-05-05 23:23 ChristianAchatz Target Version 3.1 => 3.0
2014-09-06 15:10 ChristianAchatz Target Version 3.0 => 3.1
2015-08-23 11:50 ChristianAchatz Note Added: 0000579
2015-09-05 17:10 ChristianAchatz Note Added: 0000599
2015-09-05 17:10 ChristianAchatz Target Version 3.1 => 3.2
2016-03-23 14:01 ChristianAchatz Target Version 3.2 => 3.3
2016-10-11 13:16 ChristianAchatz Note Added: 0000754
2016-10-11 13:16 ChristianAchatz Target Version 3.3 => 3.4


Copyright © 2000 - 2017 MantisBT Team
Powered by Mantis Bugtracker