• WordPress

last modified November 12, 2007 by rmarianski

The Plan for WordPress

This describes architecture .

WordPress will running in Apache, mod_php. The Apache process will be dedicated to only WordPress, it will not host anything else. The Apache process has a similar place in the stack to the Zope process -- it is a container for this one application, and HTTP requests are proxied to the process from the front-end intermediaries (cache, transcluder, Deliverance, etc).

We will be basing our system off of MU WordPress, which is a WordPress layout for "farming" -- hosting large numbers of blogs with automatic blog setup.

We will customize WordPress in the following ways:
  1. We will pick up authentication (usernames) from the Zope environment. The Login screen will be the Zope login screen. This is a simple WordPress plugin (auth is carefully kept separate in WordPress).
  2. Permissions will be handled natively to WordPress. We may base the defaults upon the project's permission setting, but it is more likely that all systems will have similar permissions. We will not be supporting "closed" blogs.
  3. We will create one WordPress template that all projects will share. This template will be fairly minimal. Real styling will happen in Deliverance. We will try to hide most customization in WordPress, though any styling that applies only to WordPress can't be done too easily in Deliverance (though optional blocks like sidebars can still be handled in Deliverance).
  4. We will enable the Xinha WordPress plugin for an authoring experience that feels like the wiki. We may be enabling some of the wiki-oriented Xinha plugins (like the Linker extensions with its Repo integration).
  5. We will select the WordPress plugins we think are neat or useful.

Tasks

  1. Get the authentication system up and running.
  2. Rewrite our Python client code for said system in PHP.
  3. Put that into a WordPress auth plugin.
  4. Get a separate Apache instance up and running (separate httpd.conf basically).
  5. Get MU WordPress up and running. Make sure it is aware of our project mappings.
  6. Create a private RESTful API for creating blog instances, unless MU WordPress already has such a thing.
  7. Create the template we want.
  8. Get the Xinha plugin working how we want.
  9. Select plugins.
  10. Profit!

 

Random Notes

To reset the wordpress database:

  1. Use mysql to get a connection to the wordpress database
  2. Drop the database
  3. Create it again
  4. In the wordpress directory (not wordpress-mu, one level up from here) create a wp-setup-database.txt file
  5. Now hit wordpress-root/index.php (should recreate all the tables)