Upgrading 2.4.4 to 2.5.1: data migration problem with invisible Python Scripts
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, Control_Panel, QuickStart) - 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 Extensions folder 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 sources). 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. Problem persists. - 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 this problem. -- Milos Prudek
Hi Milos, Try this: http://your.site/manage_addProduct/PythonScripts/recompile This should recompile all of your PythonScripts with a newer Python version. - C On Mon, 2002-06-24 at 04:45, Milos Prudek wrote:
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, Control_Panel, QuickStart) - 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 Extensions folder
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 sources).
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. Problem persists.
- 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 this problem.
-- Milos Prudek
_______________________________________________ Zope maillist - Zope@zope.org http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
Chris McDonough wrote:
Hi Milos,
Try this:
http://your.site/manage_addProduct/PythonScripts/recompile
This should recompile all of your PythonScripts with a newer Python version.
I already did that (I forgot to mention it). I verified that scripts are recompiled: No Scripts were found that required recompilation. This did not help. Any ideas what's wrong? -- Milos Prudek
Geez, no, sorry... maybe you can export a .zexp file that containing a folder that has a script with the problem and attach it to a bugreport in the the Zope Collector? On Tue, 2002-06-25 at 04:14, Milos Prudek wrote:
Chris McDonough wrote:
Hi Milos,
Try this:
http://your.site/manage_addProduct/PythonScripts/recompile
This should recompile all of your PythonScripts with a newer Python version.
I already did that (I forgot to mention it). I verified that scripts are recompiled:
No Scripts were found that required recompilation.
This did not help. Any ideas what's wrong?
-- Milos Prudek
_______________________________________________ Zope maillist - Zope@zope.org http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
Chris McDonough wrote:
Geez, no, sorry... maybe you can export a .zexp file that containing a folder that has a script with the problem and attach it to a bugreport in the the Zope Collector?
I will do that after I fix it on the production server. Time pressure :-) -- Milos Prudek
participants (2)
-
Chris McDonough -
Milos Prudek