Ok, I had some time to rewrite the NestedSet support in order to provide a better integration.
I tried to follow the Joe Simms proposal : integrate NestedSet support without add stub object and peer.

Henceforth, NestedSet support is something like transparent for stubs:
ex: you have a "menu" table.

Without NestedSet, you get
Menu < BaseMenu
MenuPeer < BaseMenuPeer

With NestedSet support, you get
Menu < BaseMenuNestedSet < BaseMenu
MenuPeer < BaseMenuNestedSetPeer <BaseMenuPeer

So, you can still use Menu object, the only difference is that you have more methods available.
To get a full Tree support, it remains to integrate Node (MaterializedPath type) object and peer in the same way with an common interface shared with NestedSet.

With MaterializedPath support, aim is to get
Menu < BaseMenuMaterializedPath < BaseMenu
MenuPeer < BaseMenuMaterializedPathPeer <BaseMenuPeer

Menu and MenuPeer are still used with same methods whatever Node and Trees are handled.

Hans, sorry for the way I provide patch, it is a svn diff between current branch and my modified one ;-)
In fact, the patch brings some new file (Builder, Iterator) and require some modification on the core to integrate new builder calls, schema reworking to read some added attributes.
How do you advise me to commit my patch ? I can commit in several times: new files (1), builder integration (2), schema addition (3), and then existing phing task update (4).
Would it be ok for you ?

And I really have to take some time to make documentation, you're right.
I hope, after new year, I will have a really stable Internet access to make it possible.

Thomas, I didn't work on a NestedSet specific caching system , because, I rely on BaseModelPeer class so, I consider its responsability to provide caching ... :-)
However, I agree with you caching is a need for performance...

Merry Xmas and Happy New Year.

On 12/24/06, Hans Lellelid < hans@velum.net> wrote:
Hi Eric,

Also, if you could expand any documentation on the wiki, that would be
very helpful! :)


Hans Lellelid wrote:
> Hi Eric,
> This all looks really great.  My only suggestion is that as you create
> this patch, if you could try to keep it clear which additions to the
> main peer/object are nested set-related.  That way, when we introduce
> something like "features" support, turning all these peer customization
> options into encapsulated add-ons, it will be easy to identify those
> components.
> Thanks for your contribution!
> Hans
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@propel.tigris.org
> For additional commands, e-mail: dev-help@propel.tigris.org

To unsubscribe, e-mail: dev-unsubscribe@propel.tigris.org
For additional commands, e-mail: dev-help@propel.tigris.org