Sidnei da Silva wrote:
| >Is there any special trick to such script? Provided some pointers of
| >what the script should do, I wouldn't mind writing and testing it.
| | There are lots of special tricks to such a script. Otherwise, I would
| have written it already. :)


Obviously.

/me slaps his forehead

| OK, here's how I think it needs to happen, with some, hopefuly helpful | notes.
| | 1. The script needs to be run under Zope 2.6 or 2.7. There should
| be a product that people can install that installs some method to
| be run. People should be able to run this method in a running zope.
| They should not need to shut down their site to do the conversion.
| | 2. The method should walk the object tree, converting:
| | - old-style BTrees to modern BTrees
| - old-style buckets to modern buckets
| - intSets to IITreeSets.


Just to check:

+----------+-----------+
|   Old    |    New    |
+----------+-----------+
|  BTree   |  OOBTree  |
+----------+-----------+
| IIBTree  |  IIBtree  |
+----------+-----------+
| OIBTree  |  OIBTree  |
+----------+-----------+
| IOBTree  |  IOBTree  |
+----------+-----------+
|  intSet  | IITreeSet |
+----------+-----------+
| bucket?  |  bucket?  |
+----------+-----------+

No, this isn't quite right. I don't remember the details off hand.


Think of it in terms of modules:

objects from BTree -> objects from BTrees.OOBTree
objects from IOBTree -> objects from BTrees.IOBTree
objects from OIBTree -> objects from BTrees.OIBTree
objects from IIBTree -> objects from BTrees.IIBTree
objects from intSet -> objects from BTrees.IIBTree


| The individual conversions should be pretty simple. At worst involving
| a for loop, but, in many cases, the constructors for the new types will
| be able to accept the old types.
| | 3. The hard part is walking the object tree. You will need a function that,
| given an object, will return the oids of the objects it references.
| Perhaps Jeremy can help you with that.


I hope so *wink*.

Me too. He's pretty busy. If he can't, I'll try to help.


Jim

--
Jim Fulton           mailto:[EMAIL PROTECTED]       Python Powered!
CTO                  (540) 361-1714            http://www.python.org
Zope Corporation     http://www.zope.com       http://www.zope.org


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

Reply via email to