Ticket #373 (closed task: fixed)

Opened 2 years ago

Last modified 17 months ago

Remodel execution flow

Reported by: david Owned by: david
Priority: high Milestone: 0.11
Component: _OTHER_ Version:
Severity: blocker Keywords:
Cc: Patch attached:

Description (last modified by david) (diff)

  • R.I.P. ActionStack?
  • ExecutionContainer? contains info about action, instances, parameters, response etc (pretty much identical to the current ActionStackEntry?)
  • Controller::forward() expects a container instance as first argument
  • container ctor gets module name, action name, params; action instance is created in initialize()
  • forward() calls return a response?
  • filter chains, filters, actions, views get this container (instead of the context)
  • this should allow decorators inside slots
  • if all goes well, we can move decorating out of the renderer back into the view, thus allowing users to do things their way (e.g. use old-style action chaining)
  • TBD: how do we store forwards (e.g. when and how is the next action returned by a view executed)

Attachments

Change History

Changed 2 years ago by david

  • description modified (diff)

Changed 2 years ago by david

  • description modified (diff)

Changed 23 months ago by david

(In [1448]) work in progress: new execution flow, action stack is gone, decoration doesn't require special abilities of the renderer anymore, but still needs further abstraction. decorators in decorators (for slots) should work now, and slots are available in the main content template. also, caching for execution filter is in place, albeit not enabled/complete yet. refs #373, #377, #287 and #290

Changed 23 months ago by david

(In [1451]) threw out action stack completely, made execution container factory configurable, refs #373, #290

Changed 23 months ago by david

TODO: port all renderers

Changed 23 months ago by david

TODO: find a smart way to make security filter work again

Changed 23 months ago by david

TODO: figure out if we need a global response or not

Changed 23 months ago by david

TODO: and the response merging stuff

Changed 23 months ago by david

  • status changed from new to assigned

Changed 23 months ago by david

(In [1454]) more execution flow cleanup, refs #373, #290

Changed 23 months ago by david

(In [1477]) more work on execution flow changes, next works now again, security filter forwards etc have been figured out. we still have to eliminate some of the wonkiness with the global response, that's gonna be rather difficult, I imagine. refs #373

Changed 23 months ago by david

(In [1494]) more execution flow refactoring: removed merge/export/import/lock nonsense from responses. execution containers can now be created with an output type, forwards done now by returning an array from the view instead of an exec container (not sure if we'll keep that). slots and global response stuff todo. refs #373

Changed 23 months ago by david

(In [1495]) first take on response merging stuff, refs #373

Changed 22 months ago by david

  • status changed from assigned to closed
  • resolution set to fixed

(In [1568]) merging in changes from david-execution flow branch. contains remodeled execution flow system, totally new templating stuff, request data holders including painless header and file handling, new redirect system, and improved file validators. closes #373, #389, #184, #287, #377, #391

Changed 22 months ago by david

(In [1609]) added 'more'-assigns for the template that are resolved at rendering time, these are 'container', 'view' and 'inner' (for the previous, wrapped layer's output). can be changed via 'assigns' parameter for the renderer, of course. container response gets now cleared prior to view execution. refs #287 and #373

Add/Change #373 (Remodel execution flow)

Author



Action
as closed
Next status will be 'reopened'
 
Note: See TracTickets for help on using tickets.