A follow-up to the original post, with more questions and answers, problems and solutions.
Why can’t people edit published objects?
I ran into this problem a few weeks ago, where nobody but me, as a Plone admin user, could do anything on a site except for add folders: they could add as many new folders as they wanted, nested as deep as they liked, but they couldn’t create anything but folders, nor edit any other objects.
This is a two-part answer, and I can only explain how half of it came to pass in my case. Upgrading a site from 2.x to 3.x introduces a new Plone workflow, which separates the workflow of Folder objects from that of any other object in a site. This means you can set up rules and permissions for folders and their transitions, without affecting the way these behave for other objects. This also can be both a blessing and a curse, especially if you’re not aware of the new workflow or of the differences between workflows for folders and other objects.
To get a quick look at these workflows, in your Site Settings, click Types to see the workflow settings for all Plone object types by clicking the first pull-down and choosing a type, at which point the page will reload to display the current permissions, policies, and workflow settings for that object. Feel free to explore all the types and their workflow differences, but do not click Apply Changes unless you are sure you want to make whatever changes you’ve made; otherwise, you can really screw things up! There’s another pull-down that displays the list of workflows:
You can see in this list that in addition to the default Plone workflow, which is generally applied to most objects by default, there’s a “new” workflow specifically for folders.
Figuring this out was the first part of solving the problem in my case. The second was realizing that someone had been playing around with permissions on certain transitions and states on the site, and those could be examined in detail only by exploring the portal_workflow settings in the ZMI:
/portal_workflow/manage_main lists all the available workflows in the site, just like the pull-down in Site Setup, shown above. Clicking any of these workflows brings you to its details in the ZMI; click the States or Transitions tab for the states and transitions available for the workflow.
In my case, I needed to compare the permissions for published objects between the Folder Workflow and the Default Workflow, which can be seen in these locations:
As it turned out, in the Plone Workflow, the permission Modify Portal Content had been altered and disabled, which prevented users from changing any objects (aside from folders) that had already been created and published. Enabling this check box, and clicking Apply Changes, solved the problem.
Of course, you’ll want to be careful not to make inadvertant or trivial changes to permissions in order to maintain proper control over workflows, objects, users, and groups.
Update: as I just found with a recent change to EDT time, this “fix” requires a Zope restart with each timezone change in order for Zope/Plone to keep up with the local change.
Why does Plone display the wrong timezone?
Zope should be able to pick up the timezone setting of the local system, but it doesn’t always seem to do so. I noticed during a recent timezone change (EDT to EST) that some of my Plone sites displayed the proper time on edits, while others posted a time an hour into the future (consistent with the EDT zone that should have changed). Even worse: the History tab showed some strange time stamping:
The “Last modified” time and the “Date and Time” entry for the last edit seem to indicate that something in Zope or Plone (or both) may using two different timezones at once!
This was an incredibly difficult solution to find, especially for such a simple fix: in order to ensure that Zope picks up the proper timezone, you need to specify your timezone locale (
TZ) in an
environment tag in the zope.conf for your instance:
<environment> TZ America/New_York </environment>
Why doesn’t Plone display external RSS feeds on my Plone site?
Plone says it can render RSS feeds in a stock ‘RSS feed portlet’ right out of the box. This includes feeds external to your site, or URLs to RSS feeds on other sites. However, I can’t get this to work: I click Manage Portlets, add an RSS feed portlet, enter an external URL to an RSS feed, save my changes, and I expect to see a new RSS feed portlet on my site. But it doesn’t happen: the portlet box never even appears.
Still looking for answers. It appears that Zope/Plone doesn’t except some environment variables, and since my sites are behind a firewall/proxy, it’s likely that the URL can’t be resolved by Zope, so the portlet just fails. But there are no errors, and the portlet box is invisible. I would expect some kind of feedback on the failure if it doesn’t work due a network problem.
It may help to specify a proxy setting explicitly to Zope in in an
environment tag in zope.conf, as discussed above for the timezone fix:
<environment> http_proxy http://your.proxy.here:port# </environment>
More detail here.