Re: Re: [Zope3-Users] Re: zalchemy integration

2006-08-14 Thread Jeff Shell

On 8/14/06, Stephan Richter <[EMAIL PROTECTED]> wrote:

On Monday 14 August 2006 01:00, Jeff Shell wrote:
> If things slow down... uhm, ever... for us, I'd like to see if I can
> get us to open up some of the more generic toolkits we've built up in
> recent months, as they've been very empowering.

You should really do this as you code. Not only do you help out the
community, but also yourself, since people will be using the code and
make enhancements and help maintaining the code. Further, we are all
not duplicating the same stuff.


A lot of these are difficult to extract from customer libraries or
dependencies on toolkits (also built up internally) that we may not
really have license to re-distribute. I know it's probably possible to
extricate all of these, but it requires time which is a precious
precious precious resource around here lately.

I really admire people who share their work because there is a lot of
work involved, at least in the initial sharing.


Lovely Systems, Roger and I have all been in agreement to publish generic
components as we go; if you are subscribed to all check-in messages, you
probably saw already a bunch of packages landing in the z3c and lovely
namespace. We have tasks setup for this week to open/publish even more
packages and extensions.


Heh. This past weekend was the first time I actually even got to look
in the direction of the zope3-dev and zope3-users lists in two or
three months! And those are the only Zope lists I'm subscribed to.
Somwhere between working, walking the dog, and sleeping, my life has
disappeared. :\

--
Jeff Shell
___
Zope3-users mailing list
Zope3-users@zope.org
http://mail.zope.org/mailman/listinfo/zope3-users


Re: Re: [Zope3-Users] Re: zalchemy integration

2006-08-14 Thread Jeff Shell

On 8/14/06, Stephan Richter <[EMAIL PROTECTED]> wrote:

Right, so you fixed the problem with the provider TALES expression,
which has to do update()/render() at the same time. My question
is: How do you know which content providers are used by a view? Do you
manually list them?


A Page class (or any provider manager) may optionally list names. The
names also provide some ordering support (ensuring that provider A is
updated before provider B). If no names are listed in the class, then
all Content Providers registered for the page are looked up::

 self._content_providers = dict(zapi.getAdapters(
 (self.context, self.request, self), IContentProvider
 ))


I was thinking about implementing a way to inspect TAL code to determine all
the providers that should be looked up before rendering. I even talked to
Fred about it already; but it is non-trivial, if I understand him correctly.


I wouldn't want to be bound to TAL though. As I mentioned, we use a
STAN-inspired system for generating HTML in many places where there's
no desire to maintain a separate file just to render something simple
- or even moderately complex.

As we've also started implementing a system inspired by Rails Helpers
which eases some generation of common tasks from formatting to
link/URL generation, our need to TAL has decreased. It's still useful
in design heavy sites, but I'm really starting to wish for some
simplified expressions (even TALES expressions would be nice) to do
structured inserts with a helluva-lot-less typing.

We still use page templates fairly heavily. I just wouldn't want to
depend on TAL code so heavily that any other template/html/xml
generation system one wants to plug in really becomes a second or
third class citizen at that point.


Right, I see you use viewlets/providers heavily; at least we are not
the only ones. :-) I would be interested in a lot more dialog here to
share best practices and code.


We haven't gone into super-heavy usage, but that should start changing
this week as we push for the front end UI of this project. Then we'll
see if my theories worked :).


BTW, another part of the UI power tools is zc.table. I will publish a
bunch of extensions later this week.


I haven't had too much time to look at `zc.table`. It was a little
overwhelming last time I looked at it... I think because of the
'resource library' system being kindof scary. While I haven't pushed
my full-Page system concept to its extremes yet, I'm hoping that it
can - perhaps - deal with the issues of 'A widget in some form on the
page wants to add some javascript or css to the head' issue without
badgering the response; something similar to Seaside's `updateRoot`
method.

--
Jeff Shell
___
Zope3-users mailing list
Zope3-users@zope.org
http://mail.zope.org/mailman/listinfo/zope3-users