Project

General

Profile

Actions

Bug #12094

closed

[Fluid] Ajax Widgets can't be used from within cachabele actions

Added by Thomas Maroschik over 13 years ago. Updated over 2 years ago.

Status:
Closed
Priority:
Should have
Assignee:
-
Category:
Fluid
Target version:
-
Start date:
2011-01-11
Due date:
% Done:

100%

Estimated time:
TYPO3 Version:
6.2
PHP Version:
Tags:
Complexity:
Is Regression:
No
Sprint Focus:

Description

Problem

When using a Fluid Ajax Widget on a cachable controller action, then fluid-widget-id is cached in template output. Since fluid-widget-id is bound to an individual fe_user, the fluid-widget-id won't get updated upon every request.

Sometimes you want be able to fetch cached data via Ajax.

Solution

Check if the stored action in Widget Context is cacheable. If yes, then save the context with AjaxWidgetContextHolder to a cache instead of the session.


Related issues 1 (0 open1 closed)

Related to TYPO3 Core - Task #92529: Remove fluid widgetsClosed2020-10-09

Actions
Actions #1

Updated by Thomas Maroschik over 13 years ago

Oops, perhaps this issue should be moved to fluid project.

Actions #2

Updated by Kevin Ulrich Moschallski over 13 years ago

Hi,

+1 on this. I noticed this behaviour yesterday.

Do you have a patch for that?

Actions #3

Updated by Marc Bastian Heinrichs about 13 years ago

  • Category set to 964
Actions #4

Updated by Stefan Neufeind almost 12 years ago

@Thomas: Have you solved or worked around this issue when you discovered it (back then long time ago)?

Actions #5

Updated by Ingo Pfennigstorf over 11 years ago

  • Status changed from New to Needs Feedback
Actions #6

Updated by Anja Leichsenring over 11 years ago

  • Project changed from 534 to 2559
  • Category changed from 964 to Fluid: Widgets
Actions #7

Updated by Viktor Livakivskyi over 10 years ago

Issue still exists in 6.0.
Any news regarding fix?

Actions #9

Updated by Helmut Hummel about 10 years ago

  • Status changed from Needs Feedback to Resolved
  • % Done changed from 0 to 100
Actions #10

Updated by Marc Bastian Heinrichs about 10 years ago

  • Status changed from Resolved to Accepted
Actions #11

Updated by Benjamin Franzke almost 10 years ago

The accepted commit 1629aea9afd7c11198763b0ec69d634cf7a32b63 is not yet in master.
Whats holding this up?

Ajax Widgets are quite useless without this.
Therefore: Do you think this could be cherry-picked to 6.0/6.1 TYPO3 versions, as this really fixes a major bug?

Actions #12

Updated by Stefan Dürrenberger almost 10 years ago

I tested the patch on 6.2.2 and it seems to work fine except for one detail. I get a 404 if the AJAX request doesn't go to index.php. In the patch, that is addressed for UriViewHelper, but not for LinkViewHelper.

I'm not sure if there's a reason for it, but otherwise line 111 in typo3/sysext/fluid/Classes/ViewHelpers/Widget/LinkViewHelper.php should be changed to:

                return '/index.php?' . http_build_query($arguments, NULL, '&');

Actions #13

Updated by Stefan Dürrenberger almost 10 years ago

After some more testing we were not able to use the patch in production. The string generated from the widget context can grow too large, resulting in a URL that is longer than supported by browsers and servers (> 2kb in our tests).

Actions #14

Updated by Alexander Opitz over 9 years ago

  • Project changed from 2559 to TYPO3 Core
  • Category changed from Fluid: Widgets to Fluid
  • Target version set to next-patchlevel
  • TYPO3 Version set to 6.2
  • Is Regression set to No
Actions #15

Updated by Mathias Schreiber over 8 years ago

  • Target version deleted (next-patchlevel)
Actions #16

Updated by Oliver Hader over 2 years ago

Actions #17

Updated by Oliver Hader over 2 years ago

  • Status changed from Accepted to Closed
Actions

Also available in: Atom PDF