We currently run our Plone site across two servers, one (our DB server) that hosts the Data.fs & blobstorage and only runs the Zeoserver, and another (our App server) that runs four clients which are pointed to the DB server.

We are looking to move to 2 App servers. Our goal is to have all users browse our site using App1, and then anytime a content manager needs to modify their content they will be directed to App2. This way all content management activity is on a separate server from user's and will not affect speed for them during our peak hours.

Does anyone have any suggestions on the best way to approach this or if there is a better strategy for Plone site to keep the management stress from bogging down the user speed?

We are using Windows Server 2008 running IIS 7 with Isapi Rewrite 3 to set the domain/rewrite rules, do SSO with Active Directory, and so on. Then our Plone servers are running on Linux boxes on RedHat running the configuration described above. We are setting up a 2nd URL through DNS for the 2nd App server as well (something like edit.example.com)

We would like to make it as easy on the content managers as possible. So our idea is, everyone goes to our site (example.com), then if they choose Edit, Check-out, Workflow, etc... it points that activity to the 2nd App server (edit.example.com). This way the managers don't have to keep up with 2 URLs, and when they are just browsing the site and not editing, they will be using the first server so it will be faster. We have something like 200+ content managers, and thousands of users, and the content managers are users for 90% of the site and only manage 10% of the site each....hope that made sense.

Sorry for the long question, this is my first question here and I wanted to provide as much information as possible. Let me know if I can provide any additional information. Your time and help is much appreciated!

  • After further discussion among our department and with a Plone developer, we have found a better solution. We will simply make App1 clients Read-Only, and use some scripting conditionals to disable/hide the edit features, and simply provide an INFO message for content managers letting them know if they are in Edit or Read Only based on the site they are at. This seems to have resolved itself. Sorry for wasting anyone's time.
    – rain2o
    May 16, 2014 at 16:13
  • Thanks for letting us know it was resolved. If you think that might be a helpful answer for others, perhaps you can post it below and accept it when you can (otherwise you can just delete the question).
    – dan
    May 16, 2014 at 20:28

1 Answer 1


The solution that we found to be the most simple and effective was a simple CSS and template hack. We are using our own custom template so modifying it was not a problem.

In short, I hid the Edit bar and any other content manager features using a CSS file that only loads when on the main website (www.example.com), and provided a message on those pages for the CM's advising them where to go to edit the content. This way everyone, including content managers, can browse our site as an end-user at all times. Then when they want to manage content they follow the link provided and edit there (edit.example.com). Now all user activity is on one server, and all content management activity is on another.

Since our Content Managers each only have edit rights over certain sections of our site, we provided a conditional redirect function in the main template that forwards anyone who tries to access the edit site and does not have edit rights on that content back to the standard site. We had to do it this way because of the single sign-on feature on our site, there wasn't a good way to deny access to one site and not the other.

Hopefully this helps someone someday.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.