Site Cleanup after Upgrade / Migration - plone

I am going to prepare a migration from our existing Plone site hosted on a windows machine to a linux host.
Hereby i got a few problems i didnt get resolved by mysef, and I would be really glad if someone could give me a few hints about how to get my new instanze runnig in a clean manner.
Here a short summary of the steps taken during migration and upgrade to the current version.
i did a fresh install on debian jessy with the installer (4.3.4.r1).
to test the installation i also created a new instance and also got
the buildout process running without errors
copied the filestorage
and blobstorage of the existing instanze to the new server
after first login i started the upgrade process form 4305->4309. this
finished successfully, but with a few hints to non existing extensions
Step ploneboard-various has an invalid import handler
Step simpleattachment has an invalid import handler
We tested these addons a few years ago, and it seems they didn't get cleaned up correct.
I tried to install a current version, so i can do a uninstall, but as they dont seem to be official supported under current plone versions i didn't succeed with this. Does anyone have a good hint how to remove such expired addons?
In Zope Management Interface i reinstalled the addons, so that the
correct versions get listed
This are:
Plone Classic Theme 1.2.5 1.3.3
Plone JQuery Tools Integration 1.5.5 1.6.2
Plone True Gallery 3.3.1b1 3.4.5
Workflow Policy Support (CMFPlacefulWorkflow) 1.5.9 1.5.10
Working Copy Support (Iterate) 2.1.10 2.1.12
As soon as i reinstall the extension Plone Classic Theme to version 1.3.3 the tinymce editor stops working (no control bar from tinymcebody and text shows up just as plain text), and i get the following errors when i try to save a new article
Traceback (innermost last):
Module ZPublisher.Publish, line 138, in publish
Module ZPublisher.mapply, line 77, in mapply
Module ZPublisher.Publish, line 48, in call_object
Module Products.CMFPlone.FactoryTool, line 478, in __call__
Module ZPublisher.mapply, line 77, in mapply
Module ZPublisher.Publish, line 48, in call_object
Module Products.CMFFormController.FSControllerPageTemplate, line 91, in __call__
Module Products.CMFFormController.BaseControllerPageTemplate, line 28, in _call
Module Products.CMFFormController.ControllerBase, line 231, in getNext
Module Products.CMFFormController.Actions.TraverseTo, line 35, in __call__
ValueError: Unable to find update_version_before_edit.
When i switch the theme to "old plone classic theme" everything seems to work as before.
I solved the errors following this post:
Unable to add content to new Plone site: ValueError: Unable to find update_version_before_edit exception
But TinyMce doesn't work any more.
So, is this behavior correct, and do i have to stay with the old Plone classic theme, or is there something weird with my installation s should try correct?
Thanks in advance for your help

About Ploneaboard: why you say it's not supported anymore? Latest versions works properly in Plone 4.3.
However: you can manually removed those invalid import handlers by going into ZMI -> portal_setup -> "Manage" tab
About TinyMCE: this issue affects a lot of users recently. If you don't see TinyMCE editor it means you have some JavaScript errors (check your browser console log). Commonly this is fixed by manually run upgrade steps.
Go again to ZMI -> portal_setup -> "Upgrades" tab -> select "Products.TinyMCE:TinyMCE" then look for upgrade steps to be run.

Thanks for you reply
I suspected it wasnt supported because compatibility under https://plone.org/products/ploneboard is just up to v4.1 an it wasn't available as a default egg via buildout.
But as you explained, i removed the import handlers throug zmi, and also deleted related entries under portal-controlpanel and Portal-types
After that it seems that the buildout and site upgrade process works without any ploneboard related errors.
About tinymce:
I did the upgrade step as suggested, but that didn't solve the problem. TinyMce Editor is only visible if i select the "Old Plone 3 Classic Theme"
I am sorry, but I didn't find useful information about this. As you said that many users were affected, can you please tell me some ressource where this problem is currently handled?
But another question to the upgrades:
I saw a few other upgrades, that i could perform:
Products.TinyMCE:TinyMCE
plone.app.discussion:default
plonetheme.sunburst:default
plone.app.dexterity:default
plone.app.theming:default
Is it generally recommended to perform this steps manually, or shouldn't this be handled by the regular site upgrade after a version change?
For now i started the upgrade process manually, and excepts the "plone.app.theming:default" everything seems to have gone ok.
For plone.app.theming:default the upgrade step looks like this:
The profile "plone.app.theming:default" is currently upgraded to version unknown.
The filesystem version for the "plone.app.theming:default" profile is currently 1001.
Available upgrades:
Update registry
(all → 1000)
Combine Theming control panels
(1000 → 1001)
But after upgrade i get following error when i enter site setup - theming
ComponentLookupError: (, 'persistent')

Related

Openstack placement-status upgrade check giving not initialized error

I am trying to install openstack Wallaby on Ubuntu 20.04. I already installed Keystone and Glance and they work as expected. But after I installed Placement and tried to verify it using 'placement-status upgrade check' I constantly get the same error.
Error:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/oslo_upgradecheck/upgradecheck.py", line 196, in run
return conf.command.action_fn()
File "/usr/lib/python3/dist-packages/oslo_upgradecheck/upgradecheck.py", line 104, in check
result = func_name(self, **kwargs)
File "/usr/lib/python3/dist-packages/oslo_upgradecheck/common_checks.py", line 41, in check_policy_json
policy_path = conf.find_file(conf.oslo_policy.policy_file)
File "/usr/lib/python3/dist-packages/oslo_config/cfg.py", line 2543, in find_file
raise NotInitializedError()
oslo_config.cfg.NotInitializedError: call expression on parser has not been invoked
Is this normal at this stage or am I doing something wrong here?
I already checked the database connections (user and password work and database is made). And I also checked the username, password and url options in keystone_authtoken in placement.conf but I can't find what's wrong.
I also encountered this problem with Wallaby on Ubuntu 20.04. I solved it with installing Placement from PyPI instead of Ubuntu package manager so far. You should consider how implement starting Placement automatically if you install Placement from this instruction.
Install and configure Placement from PyPI
https://docs.openstack.org/placement/wallaby/install/from-pypi.html
I had the same problem so changed to Victoria, same issue. Digging about in the docs though I found the issue. The command that populate the database looks similar for Keystone, Glance and Placement but for placement the command should be 'su -s /bin/sh -c "placement-manage db sync" placement'. Notice that for placement it is 'db sync' not 'db_sync' as it is for the others. I created scripts, well actuall am using ansible and just cut and pasted between them and my guess is you have done the same. Basically as it does not run the database is empty hence the error.
Guy

Wordpress failed update plugins after core upgrade in a new server

I moved a WordPress site from a cpanel server to plesk server. Then, i upgraded manualy the site from 3.5.1 version to 4.8.3. Afterwards i tried to upgrade plugins (fancy box) as well as to intall new plugins (contact form 7).
The issue i have is that i get the following error message "Update Failed: Download failed. Destination directory for file streaming does not exist or is not writable.".
In the server's log file i can see few warning like the following one
mod_fcgid: stderr: PHP Warning: file_exists(): open_basedir restriction in effect. File(/home/dentist/domains/dentist.com.gr/public_html/newsite/wp-content/uploads//easy-fancybox.1.6.2-Vlaovu.tmp) is not within the allowed path(s): (/var/www/vhosts/ggeorgiou.gr/ggeorgiou.work/:/tmp/) in /var/www/vhosts/ggeorgiou.gr/ggeorgiou.work/wd/dentist.com.gr/wp-includes/functions.php on line 2085, referer: http://www.ggeorgiou.work/wd/dentist.com.gr/wp-admin/plugins.php
Finally, note that in "Settings --> Media" menu in "
Store uploads in this folder" field i have put the following path of the current server: "/var/www/vhosts/ggeorgiou.gr/ggeorgiou.work/wd/dentist.com.gr/wp-content/uploads".
Any idea please what is wrong about?
Thank you
From what you posted, your exact error message is "open_basedir restriction in effect". You can read more about how to solve it here How can I relax PHP's open_basedir restriction?
Also,
Assuming you have a backup of the previous version, I would start by restoring that.
Secondly, there are many versions between 3.5.1 and 4.8.3. It is advisable to upgrade in increments of one version at a time. It is long but safer.

After upgrading to Plone 4.3 from 4.0.1 KeyError search_rss_enabled

After a series of upgrades and migrations (the site was originally Plone 3 and them moved to 4, 4.1, 4.2 and now 4.3.3). I'm getting the following errors on some of the folders I visit for my site:
KeyError('Interface `Products.CMFPlone.interfaces.syndication.ISiteSyndicationSettings` defines a field `search_rss_enabled`, for which there is no record.',) (Also, the following error occurred while attempting to render the standard error message, please see the event log for full details: Interface `Products.CMFPlone.interfaces.syndication.ISiteSyndicationSettings` defines a field `search_rss_enabled`, for which there is no record.)
It seems that for some reason an upgrade step was missed, as pointed out by Mathias in his comment.
I had to force it to run by doing the following:
Go to ZMI > portal_setup ({site}/portal_setup/manage) > upgrade
Then I selected all upgrade steps from 4300 (which included the
syndication step) up to 4308 (the profile version that corresponds
to 4.3.3)
This fixed the error. I didn't try only running the syndication upgrade step because I figured there might have been other steps that had not been run. Thanks again Mathias, your comment helped to guide me to the solution.

Products.ATSuccessStory in Plone 4.1.3, Zope ConfigurationExecutionError

I'm trying to install Products.ATSuccessStory in a fresh Plone 4.1.3 instance on OS X Lion using Python 2.6.7. Buildout runs fine but when I try to get my instance started I get the following error:
zope.configuration.config.ConfigurationExecutionError: : (, u'cmf.ManagePortal')
in:
File "/Users/keith/Documents/plone-sites/caches/4.1.3/Products.ATSuccessStory-4.0.0-py2.6.egg/Products/ATSuccessStory/browser/configure.zcml", line 8.5-17.11
<plone:portlet
name="atss.rotating.portlet"
interface=".portlets.successstory.ISuccessStoryPortlet"
assignment=".portlets.successstory.Assignment"
view_permission="zope2.View"
edit_permission="cmf.ManagePortal"
renderer=".portlets.successstory.Renderer"
addview=".portlets.successstory.AddForm"
editview=".portlets.successstory.EditForm"
/>
I'm not as in tune with zope's inner working, but as far as I know there is absolutely nothing wrong with this portlet block in the configuration. Any guidance on how I should fix this would be greatly appreciated.
Thanks
Judging from the date of its last release, the product has likely not been updated for Plone 4.1, which requires a few very minor tweaks. These are documented at https://plone.org/documentation/manual/upgrade-guide/version/upgrading-plone-4.0-to-4.1/updating-add-on-products-for-plone-4.1/changing-dependencies-from-plone-to-products.cmfplone
ATSuccessStory 4.1.1 has just been released that includes the fix to this issue.
The source egg for this version is available on pypi but not yet (eventually will be) on plone.org

Hosting Mercurial on IIS7

Note, this might perhaps be best suited on serverfault.com, but since it is about hosting a programmer source code repository, I am not entirely sure. I'm posting here first, trusting that it'll be migrated if necessary.
I'm attempting to host clones of my Mercurial repositories on my own server (I have the main repo somewhere else), and I'm attempting to set up Mercurial under IIS.
I followed the guide here, but I get an error message.
Solved: See bottom of this question for details.
The error message is:
mercurial.error.RepoError: repository /path/to/repo/or/config not found
Here's what I did.
I installed Mercurial 1.5.2
I created c:\inetpub\hg
I downloaded the hg source as per the instructions of the webpage, and copied the hgweb.cgi file into c:\inetpub\hg (note, the webpage says hgwebdir.cgi, but this particular file does not exist, hgweb.cgi does, however, can this be the source of the problem?)
I added a hgweb.config, with the following contents:
[paths]
repo1 = C:/hg/**
[web]
style = monoblue
I created c:\hg, created a sub-directory test, and created a repository inside it
I installed python 2.6.5, latest 2.6 version from the website (the webpage mentions I need to install the correct version or I'll get a specific error message, since I don't get an error message that looks remotely like the one mentioned, I assume that 2.6.5 is not the problem)
I added a new virtual host hg.vkarlsen.no, pointing it to c:\inetpub\hg
For this host, I added a script mapping under the Handler Mappings section, mapping *.cgi to c:\python26\python.exe -u %s %s as per the instructions on the website.
I then tested it by navigating to http://hg.vkarlsen.no/hgweb.cgi, but I get an error message.
To make it easier to test, I dropped to a command prompt, navigated to c:\inetpub\hg, and executed the following command (error message is part of the text below):
C:\inetpub\hg>c:\python26\python.exe -u hgweb.cgi
Traceback (most recent call last):
File "hgweb.cgi", line 16, in <module>
application = hgweb(config)
File "mercurial\hgweb\__init__.pyc", line 12, in hgweb
File "mercurial\hgweb\hgweb_mod.pyc", line 30, in __init__
File "mercurial\hg.pyc", line 82, in repository
File "mercurial\localrepo.pyc", line 2221, in instance
File "mercurial\localrepo.pyc", line 62, in __init__
mercurial.error.RepoError: repository /path/to/repo/or/config not found
Does anyone know what I need to look at in order to fix this?
Edit: Ok, I think I managed to get one step closer to the solution, but I'm still stumped.
I realized the .cgi file is a python script file, and not something compile, so I opened it for editing, and these lines was sitting in it:
# Path to repo or hgweb config to serve (see 'hg help hgweb')
config = "/path/to/repo/or/config"
So this was my source for the specific error message.
If I change the line to this:
config = "c:\\hg\\test"
Then I can navigate the empty repository through the Mercurial web interface.
However, I want to host multiple repositories, and seeing as the line says that I can also link to a hgweb config file, I tried this:
config = "c:\\inetpub\\hg\\hgweb.config"
But then I get the following error message:
mercurial.error.Abort: c:\inetpub\hg\hgweb.config: not a Mercurial bundle file
Exception ImportError: 'No module named shutil' in <bound method bundlerepository.__del__
of <mercurial.bundlerepo.bundlerepository object at 0x0260A110>> ignored
Nothing I've tried for the config variable seems to work:
config = "hgweb.config"
config = "c:\\hg\\hgweb.config"
various other variations I don't remember.
So, still stumped, pointers anyone?
Hopefully this question will give others some information if they're stumped as I was.
I ended up having to edit the hgweb.cgi file:
from: from mercurial.hgweb import hgweb, wsgicgi
application = hgweb(config)
to: from mercurial.hgweb import hgweb, hgwebdir, wsgicgi
application = hgwebdir(config)
Note the added hgwebdir parts there. Here's my hgweb.config file, located in the same directory as hgweb.cgi file:
[collections]
C:/hg/ = C:/hg/
[web]
style = gitweb
This now serves my repositories successfully.

Resources