Phillip J. Eby:
At 03:08 PM 5/4/00 +0000, Jason Spisak wrote:
Phillip J. Eby:
Ty and I are working on fixing that. As of today, the Specialist+Rack subsystems of the ZPatterns library are now capable of managing objects with mixed-source attributes and property sheets.
Can you use that code and extend it to allow Zope to pull it's object data from multiple sources?
Not really. It operates at a different level of abstraction than that. It can, however, be extended to allow objects stored in a "primary" ZODB Folder or ObjectManager the ability to have mixed-source attributes and propertysheets. But there has to be some kind of object to "start with".
This does go a long way to solving the high-write and scalability problem just by itself. There is nothing wrong with the FileStorage for class data because most applcations don't change those very often. It's the instance data that get's huge and changed a lot. Maybe I'm trying to address an issue that gets addressed by ZEO. Maybe you are not the one to answer this, but with Racks and ZEO could I have 2 different Zope installations accessing the same Rack for the same object, as long as it's class definition was the same? For example I have a 2 Squishdots, one is in a Zope that has CyberCash in it, and one doesn't. Can I have the Squishdot's using the same Rack for their information?
But that level of extension may be all you need, since most "application"-oriented usages lend themselves well to using Racks directly, and "content"-oriented usages can still have some of their attributes and propertysheets handled elsewhere.
That may be true.
There are some key issues that are NOT dealt with in the Rack model yet, however. Chief amongst them is Undo management.
That's a hariy monster.
Jim Fulton made a change to ZODB to allow the use of a custom Undo manager, which would allow prevention of Undo for transactions that modified "outside" sources, or alternatively allow them to be rolled back if there was a source for the undo data. However, we have not yet begun to integrate this into the ZPatterns framework.
On step at a time.
Another, related issue is garbage collection, or making sure that objects are deleted in "both" places.
Doesn't ZEO have a facility for this in it's framework. Invalidation messages etc...?
I plan to add a GC function to Racks soon to allow them to clean up ZODB persistent data associated with non-ZODB objects which no longer exist, but that's only a beginning.
All my best, Jason Spisak CIO HireTechs.com 6151 West Century Boulevard Suite 900 Los Angeles, CA 90045 P. 310.665.3444 F. 310.665.3544 Under US Code Title 47, Sec.227(b)(1)(C), Sec.227(a)(2)(B) This email address may not be added to any commercial mail list with out my permission. Violation of my privacy with advertising or SPAM will result in a suit for a MINIMUM of $500 damages/incident, $1500 for repeats.