Jason Hildebrand wrote:
Good point Ian. I think this is an important distinction to make.
We've talked before about wanting to make it possible to use
pre-fabricated components in Webware which weren't necessarily written
to be aware of each other, enabling Webware developers to factor general functionality out of their apps and share them with each other. Obviously
we need extensibility as you describe above if we expect multiple components
to play together nicely.


I've been thinking more about the idea of using signals/events as a
metaphor for this, as you suggested.  This idea certainly appears to
have been a breakthrough in the gui toolkit world (specifically GTK).
I looked at your Component/CPage stuff a while back (in the sandbox).
Have you been using that model for much Webware development?  Have you
been happy with it?

Unfortunately, my professional life has been moving away from Webware, though I hope to bring it back at some point (Zope hasn't really grown on me, even if I've learned to cope). So I haven't had a chance to use these things as much as I'd like. (For others, the code in question is in Sandbox/ianbicking/Component, and is just a compatible subclass of Page that doesn't require any other Webware support)


Part of Component/CPage was the idea of providing services or functionality to a servlet, which is a lot like Mixins, only slightly more formal. Events were also necessary, since Mixins (either as done in Component, or in MixIn) are unfriendly with each other -- and even if you can use them together, it's overly clever and feels fragile to me. I think PyDispatcher would probably be a better solution than the ad hoc events I implemented.

I think for the small tests I've done -- user management, a user notification pattern, and a form processor -- that it works fairly well. It's not magical or particularly complex, but it provides convenience. I think the resulting components are also easy to document and explain, which is something I particularly value. So even if the components mostly just remove some boilerplate that would otherwise be needed, I think that's valuable.

Ian


------------------------------------------------------- SF.Net is sponsored by: Speed Start Your Linux Apps Now. Build and deploy apps & Web services for Linux with a free DVD software kit from IBM. Click Now! http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click _______________________________________________ Webware-discuss mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/webware-discuss

Reply via email to