Navigation Menu

Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a pluggable action phase continuation #680

Closed
GoogleCodeExporter opened this issue Mar 25, 2015 · 2 comments
Closed

Add a pluggable action phase continuation #680

GoogleCodeExporter opened this issue Mar 25, 2015 · 2 comments

Comments

@GoogleCodeExporter
Copy link

Many people try to use callbacks to implement:
 - URLs that can be sent out by email for account verification, etc.
 - URLs that can be given to external service (credit card verification, external authentication, etc)

This isn't ideal because if you are in a callback or a task, you do not have 
access to a renderContext, which is required to create callbacks. People have 
various ugly workarounds like setting something up during rendering, storing it 
in a temp, and then using it in the callback.

Also, the callback (a) expires when the page expires and (b) requires all the 
other callbacks and so on to be kept around in memory.

Registering a separate continuation configured with a block or other valuable 
allows it to be executed more directly and possibly even configured to expire 
later, get registered in a different cache, or whatever. And, it can be done 
during the action phase without difficulty.

I suggest a pluggable action continuation that will redirect to a render 
continuation afterwards, unless a response is returned.

Original issue reported on code.google.com by jfitz...@gmail.com on 23 Aug 2011 at 2:04

@GoogleCodeExporter
Copy link
Author

Name: Seaside-RenderLoop-jf.74
Author: jf
Time: 23 August 2011, 12:10:03 pm
UUID: 8d767523-331e-4b83-9070-ebb6dd67fd80
Ancestors: Seaside-RenderLoop-lr.73

WAActionPhaseContinuation now has two subclasses:
 + WACallbackProcessingActionContinuation
 + WAPluggableActionContinuation

People who were previously subclasses WAActionPhaseContinuation probably wany 
to subclass WACallbackProcessingActionContinuation instead. You'll need to 
clear the configuration cache aftert upgrading to ensure your applications are 
using the correct default continuation type.

Original comment by jfitz...@gmail.com on 23 Aug 2011 at 2:07

  • Changed state: Fixed
  • Added labels: ****
  • Removed labels: ****

@GoogleCodeExporter
Copy link
Author

Related work below, though note that this is probably temporary as I'm 
imagining having a dedicated continuation for setting up the root presenter as 
part of Issue 681.

Name: Seaside-RenderLoop-jf.76
Author: jf
Time: 23 August 2011, 4:38:54 pm
UUID: 9bea2ff3-2cc7-4bbf-a99f-924aa6b5a496
Ancestors: Seaside-RenderLoop-jf.75

Get rid of lazy initialization in session continuations.

Also implement WARenderLoopMain>>#start using a WAPluggableActionContinuation  
instead of duplicating the render continuation creation and state snapshotting 
code that is already contained in WAActionPhaseContinuation>>#continue.

Original comment by jfitz...@gmail.com on 23 Aug 2011 at 3:41

  • Added labels: ****
  • Removed labels: ****

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant