This is the approach advocated by portlets too, in each portlet you have two methods :
- action(ActionRequest req, ActionResponse resp)
- render(RenderRequest req, RenderResponse resp)
action(...) is first called and then render is called. this is where you can hook the controller and then let the render dispatch to the appropriate view.
My idea is to extend the portlet interfaces to be able to convert nukes modules and blocks to that extended portlet.
The spec defines well some points that are missing or not in the good shape into nukes today :
- modules and blocks will fusion into the portlet
- the difference knowledge/operational is defined by the fact that you deploy a portlet and then add portlet instances and then add portlet windows.
- generic portlet preferences
- URL management
Nukes is a specialized portlet container that extends it. There are mainly two pluggable layers :
- The user state layer : this manages the user state at different levels : window mode, portlet mode and portlet preferences
- The instance layer : when you deploy a portlet that creates a Portlet object but it is not usable yet. This is where the instance layer plays a role. It is responsible to manage different instances.
Then the portlet container use these two layers to invoke the existing portlets and produce a result. The result is then passed to the theme that creates the HTML result.
So now, we don't want big changes in the current code. I still have some parts of the spec to implement. Then I will start to rebuild the infrastructure on top of that. I'll keep you informed of the changes, as soon as I have something I'll commit in the CVS. For those who wants to get a snapshot of my dev tree I can send it.
I don't think it will be difficult to migrate the current modules to the new format.
I'd be interested to see where you are at.
Julien, with the portlet piece being your focus now, should we tag a version 1.1 and get that out?
I share the same idea, but it can wait a little. I want to fix bugs (the search bugs you cited and some others) in addition I am not ready to commit something right now.
is there anything pressing that needs to be addressed? i wouldn't mind a small "break" from the news module...
and speaking of which, it is coming along nicely (slowly, but nicely) - i've pulled out about 60% of the html into templates and now i'm working on adding a small "framework" so we can support different types of news "formats" (fark style, slashdot style), one can only deal w/ html for so long. :)
Jae, nothing is pressing but if you want you can pause and work on the JSP taglib implementation for the portlets.
ooh - that sounds like fun. let me have a look at the spec later on today and i'll sync up w/ you after that.