Martijn Pieters escribió:
On 7/20/06, Garito <[EMAIL PROTECTED]> wrote:
> No, we need a use-case. Otherwise you have what we call a YAGNI, a "You > aint gonna need it" feature that noone will maintain because noone uses it.
>
> A vague notion that you'd like to see this for your application is not a
> use-case.
>
I use these feature then YAGNI converts to AGUT (at least Garito use
these) ;)
Again I know these way is a very particular way, nothing more


So, one isolated case doesn't make a generic use case. You still
haven't given us your particular application, only vague handwaving
about how the way you are implementing your ideas needs a catalog.

Until there is a clearly described general need for a feature like
generic catalog-awareness, there is no case for such a feature to go
into the core of Zope.

I must say that of what I have been able to understand of what you are
doing, it sounds to me as if you are approaching your problem in the
wrong way.

Page Templates and Python Scripts are there to implement application
code and presentation, not store application data. The catalog is a
means to find application data based on various aspects of that data.
So Zope provides you with framework code that makes it easy for your
data objects to re-catalogue themselves on changes, but all the
application support objects
don't implement this because they don't, normally, contain data.

If your implementation relies on Python Scripts or Page Templates to
contain application data, you are using the framework in a way it was
not designed to do (for a good reason)! If so, rethink your
application, instead of trying to make the framework fit.

Ok, a real case:

I'm working on a data system (I like the concept data system) for a friend
He is Dj for that I want to create a concept like

Session
   Form -> A formulator
   See -> Used to view the session on its default view
   Ask -> Used to view the session to change it data (to modify the object)
   Edit -> Used to change the properties (via Ask view)
   ...

Ask will be something like

<tal:b tal:repeat='field Form/get_fields'>
 <label tal:attributes='for field/getId' />
 <tal:b tal:replace='structure field/render' />
</tal:b>

As you can see a lot of entities will use the same Ask

I will create a container to store all these kind of functionality to use is as a generic Ask In a normal way I can use adquisition to make these way but I want to store things with some kind of order then I define something like

MyFriendsWeb (this is an entity)
   Forms (is not an entity but I use the same product to create it)
      Session -> Formulator
      Production -> Formulator
   Functionality (is not an entity but I use the same product to create it)
      Ask
      See
      Edit
   Session (this is an entity)
      Form -> points to MyFriendsWeb/Forms/Session
      See -> Will use the generic one
      Ask -> this one too (the generic one)
      ...
   Production (this is an entity)
      Form -> points to MyFriendsWeb/Forms/Production
      See -> Will use the generic one
      Ask -> this one too (the generic one)

MyFriendsWeb is an entity for that reason catalog everything that not in another entity like Session

Session is another entity for that catalog See (the pointer one not the real See), Ask (like See is a pointer) and so on

What I want is semantic structure not only usefull structure that makes that every entity will know everything it can do or be

With my model I use my product for every container, formulators/page templates/script pythons like functionality an so on

My product is about 300 lines of code but I can describe everything I need

Is like Plone but with 300 lines of code

My model works but I would like if its possible to use something like

<tal:b tal:replace='structure Session/Form/header' />

or

<tal:b tal:replace='MyFriendsWeb/Sessions' />

instead of

<tal:b tal:define='Form <some code to retrieve the form. First if here has Form, then in the acquisition context and finally searching on the catalog of the entity>'>
   <tal:replace='structure Form/header' />
</tal:b>

It works, its only a question of use it as simple as I can

For that my product is a ZCatalog with a property Entity (boolean)
If you mark Entity as true for an object every objects below these one are catalogued by my product

I use an override of __bobo_traverse__ and __call__

What do you think?

--
Mis Cosas
http://blogs.sistes.net/Garito


_______________________________________________
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope-dev )

Reply via email to