I think I had the same confusion when I was getting started.  It  
probably helps to have a mental model of the rendering pipeline.  The  
widgets form a tree where branches are formed by the dispatcher/ 
selector/navigation architecture.

1) Actions - actions modify the widget slots and persistent database;  
all side effects should happen here

2) URL processing - the url defines the path through the widget tree  
to be rendered

3) Rendering - the tree should be considered immutable in this phase,  
and is simply rendered based on the current widget and DB state.

It is possible to use URL parameters to configure widgets (REST-style  
URLs) by implementing your own dispatcher or ensuring that your leaf  
widgets render based on the state of those URLs.  But you can view the  
URL parameters are equivalent to another element of static state  
equivalent to widget and database state.

Flows are then supposed to be invoked by actions which can either be  
AJAX calls from the client or new URL requests.  AJAX calls restricts  
the rendering pipeline behavior; it runs actions, ignores URL  
processing, and then renders only the widgets that have changed.

I hope that helps.

Ian

On Feb 3, 2009, at 1:21 PM, Benjamin Collins wrote:

>
> On Feb 3, 3:36 am, "Leslie P. Polzer" <[email protected]>
> wrote:
>> You're calling a flow-modifying function from a rendering function.
>
> If I'm reading correctly, then what's happening is the lambda is being
> evaluated as an argument to the make-navigation function, the result
> of which isn't renderable, but the side effects are to replace the
> current widget, but only after the current widget has already been
> rendered, right?  That would explain why navigating back to the "/"
> path shows the dialog.  I suppose then that the reason anything at "/
> info" is displayed at all is because of the behavior of the functions
> associated with the selector-mixin class (i.e, the function selector-
> mixin-canonicalize-pane) allows the navigation widget to be re-
> rendered with "info" as the name and nil as the widget (...or
> something like that.  I'm still not clear on exactly what happens to
> the evaluated result of the lambda).
>
> Am I close?
> >


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"weblocks" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/weblocks?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to