[Zope] Upgrading 2.4.4 to 2.5.1: data migration problem with invisible Python
Mon, 24 Jun 2002 10:45:03 +0200
To copy data from Zope 2.4.4 to Zope 2.5.1, I decided against moving
Data.fs, and instead relied on the following procedure which somehow
brought much pain as it created "invisible" Python Scripts:
- Create a folder in 2.4.4. called 'export'.
- Copy almost all content from root to 'export' (except acl_users,
- Export the 'export' folder to a file 'export.zexp'
- Export my ZClasses to a .zexp file
- Shutdown Zope 2.4.4
- Install and run Zope 2.5.1
- Import the 'export.zexp'
- Move files from the 'export' folder to root.
- Import the ZClasses.
- Copy external methods from Zope 2.4.4 Extensions folder to Zope 2.5.1
This worked OK on my local setup (heavily patched RedHat 7.1, Python
2.1.3 compiled from sources), and it APPEARED to work well on the
production server (some sort of Slackware, Python 2.1.3 compiled from
All ZODB content appeared to be OK, but calling any of many Python
Scripts from a DTML method ended in an error "Global name <script_name>
not found". Of course <script_name> was right there, and it was possible
to access it through direct URL (http://myserver/<script_name>), but
when it was called from a DTML method it always failed with "Global name
<script_name> not found".
I tried the following:
- rename <script_name> to a different name, and use that change in the
calling DTM method. Problem persists.
- delete <script_name>, and push it from local server using ZSyncer.
- delete <script_name>, create an empty Python Script with ZMI, and
copy&paste source from local Zope ZMI. Problem disappears!
The above was true for at least five Python Scripts that have exhibited