Login | Register
My pages Projects Community openCollabNet

propel
Reply to message

* = Required fields
* Subject
* Body
Attachments
Send reply to
Topic
Author (directly in email)
Please type the letters in the image above.

Original message

Author Eric Fredj <eofredj@gmail.com>
Full name Eric Fredj <eofredj@gmail.com>
Date 2006-12-25 03:40:17 PST
Message Hi,

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 at velum dot net> wrote:
>
> Hi Eric,
>
> Also, if you could expand any documentation on the wiki, that would be
> very helpful! :)
>
> Hans
>
> 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@prop​el.tigris.org
> > For additional commands, e-mail: dev-help at propel dot tigris dot org
> >
>
> --------------------​--------------------​--------------------​---------
> To unsubscribe, e-mail: dev-unsubscribe@prop​el.tigris.org
> For additional commands, e-mail: dev-help at propel dot tigris dot org
>
>