We have been using uSiteBuilder on several larger sites, and the code-first experience is quite addicting…
BUT a problem with uSiteBuilder is that ALL properties are eager-loaded, so when listing node as typesafe instances, all properties are pulled from the node, even though, lets say, only the “Name” and “Url” properties are used.
Furthermore, using a CustomTypeConverter for converting a “multiple node picker” (csv of ids) to a list of typesafe PageType instances (e.g. List<TextPage>), will result in all these picked nodes getting fetched and instanciated as typesafe objects (here is also a possible endless loop). Again, even if we are just looping through some nodes, only using the “Name” and “Url”.
I’m sad to say that eager-loading of properties renders larger uSiteBuilder projects extremely slow (especially if the site requires a web of relations in term of node-pickers, and CustomTypeConverter have been set up for these pickers). Unfortunately we have in several occasions been forces back to working with nodes directly.
My question is, are there any plans of uSiteBuilder fetching properties in a lazy-loading manner?
I know that PageTypeBuilder (http://pagetypebuilder.codeplex.com/) for EPiServer by Joel Abrahamsson (which I believe you know?) are using Castle Project’s DynamicProxy (http://www.castleproject.org/dynamicproxy/index.html) to accomplish just that.
Yes, this is one of the features that we are planning to implement. But I'm not sure if it makes sense to implement this on Umbraco 4.x or just move straight to Umbraco 5.x.
As I cannot guaranty when this will be implemented (after all, it is free and open source and we do this in our free time) I suggest that you adjust your coding :)
Lazy-loading of properties ?
We have been using uSiteBuilder on several larger sites, and the code-first experience is quite addicting…
BUT a problem with uSiteBuilder is that ALL properties are eager-loaded, so when listing node as typesafe instances, all properties are pulled from the node, even though, lets say, only the “Name” and “Url” properties are used.
Furthermore, using a CustomTypeConverter for converting a “multiple node picker” (csv of ids) to a list of typesafe PageType instances (e.g. List<TextPage>), will result in all these picked nodes getting fetched and instanciated as typesafe objects (here is also a possible endless loop). Again, even if we are just looping through some nodes, only using the “Name” and “Url”.
I’m sad to say that eager-loading of properties renders larger uSiteBuilder projects extremely slow (especially if the site requires a web of relations in term of node-pickers, and CustomTypeConverter have been set up for these pickers).
Unfortunately we have in several occasions been forces back to working with nodes directly.
My question is, are there any plans of uSiteBuilder fetching properties in a lazy-loading manner?
I know that PageTypeBuilder (http://pagetypebuilder.codeplex.com/) for EPiServer by Joel Abrahamsson (which I believe you know?) are using Castle Project’s DynamicProxy (http://www.castleproject.org/dynamicproxy/index.html) to accomplish just that.
Yes, this is one of the features that we are planning to implement. But I'm not sure if it makes sense to implement this on Umbraco 4.x or just move straight to Umbraco 5.x.
I understand why you would be looking forward and only implement new features on the new umbraco 5 platform.
But just to be clear, should I understand it so that it’s not going to be implemented on umbraco 4.x ?
Just so I can adjust my coding accordingly :)
As I cannot guaranty when this will be implemented (after all, it is free and open source and we do this in our free time) I suggest that you adjust your coding :)
is working on a reply...