At 04:10 PM 5/4/00 -0400, Kevin Dangoor wrote:
I assume that one difference between the Rack and my existing set up is that if I have a Specialist called "products" and go to products/manage I'm not going to see the standard Zope management interface listing out the products. Correct?
Correct. You'd see the management interface for editing the specialist, specifically the "Methods" tab. Other tabs exist for "Racks", "Sheet Providers", and "Attribute Providers".
I understand that Racks are meant to solve some of the issues with having "too many" items in one Folder, in which case you wouldn't *want* the standard Zope management interface. If/when the API defines search methods, it might be nice to create a standard "management interface" for Racks that would let you add instances, search for instances and delete them.
Currently that sort of interface is all spec'd by the builder (you). Just add methods on the methods tab for what you want. That also lets you make it more application domain-specific. Specialists are *supposed* to be domain-specific, not merely a place like a folder where you stash your data. Indeed, in your products application, I'd put my front-page menu as the specialist's index_html, with all my add/search/reporting methods there as well. Anything that is like a product method, but which is more a "class" method than an instance method, would go on the Methods tab of the Specialist. The Specialist thus becomes a one-stop-shop for an application building block. Way-in-the-future releases may have some more ability to set up defaults of such things for you, and after we figure out indexing plugins there may be some kind of built-in search capabilities. Meanwhile to implement searching, just use a Catalog, SQL methods, LDAP methods, or whatever else works for you, on the Methods tab of either the Rack (if its a storage-specific mechanism) or on the Specialist (if it works across all the Specialist's racks).
I see the difference you're getting at, as well. So, I wouldn't try to stuff a Specialist into another Specialist or onto a Rack. The ProductGroups Specialist just asks the Products Specialist for a given item. Makes sense.
Right. Nobody should ever talk to a Rack except the Specialist who owns it. In fact, you can't even add a Rack to a folder, you can only add one to a Specialist.
I agree that this flexibility would be nice... But, I don't mind having to put things in Racks in order to be able to flexibly store information in the ZODB and RDBMSes.
Keep in mind that at the moment, you'll have to write your own SQL providers for sheets and attributes. There will be two examples of each kind of provider available in 0.3.0, but they don't do much interesting because they're ZODB and acquisition-based. We'll probably also be implementing LDAPRack and LDAP-attribute/sheet providers before the SQL stuff, because we need the LDAP stuff sooner for company projects.