The Kyd Framework is a basic set of classes that make data retrieval, processing and display easier for WordPress plug-in developers. Currently incomplete, I don’t expect this to be much use to anybody just yet.

The main reason for this framework is to add extra lower-level hooks to WordPress that are currently unavailable, to make plugins more interoperable and play nicely together.

The only plugin currently using the framework is meCloud.

Rationale

There’s several items I consider important that are missing from WordPress, which makes developing multiple plug-ins both wasteful and prone to conflicts. I’m developing a framework to help alleviate this, which will perform several functions

Features

  • Facilitate debugging in a less obtrusive way.
  • Provide a global runtime variable/configuration object, to facilitate inter-plugin communication & configuration without the mess.
  • Allow for a base library of common objects to be shared between plugins, and used for content caching and manipulation. Specifically, HTTP/XML content such as RSS, ATOM etc.
  • Register paths to autoload objects
  • Register paths to load content templates (currently there is no plans for a templating engine further than this, although admin page generation is on the to-do list)
  • “Daemonisation” which lets the output of your function override the normal WordPress operation for specified urls. Particularly useful for developing the server-side of AJAX applications.

The system aims to run in a similar manner to the existing WordPress hooks & filters system.

I’m presently looking into ways to let plug-ins bundle the framework without introducing further conflicts between different versions of the software, because it’s unappealing for production software to require obscure dependencies.

I’m also looking into ways to manage cross-domain blogs, to allow content to be hosted on different (sub)domains. I’m thinking this may be better suited to a stand-alone plug-in, but I haven’t really looked into it too deeply yet.

Download

Download the latest version

This is the latest reversion from the Git repository, and may not work as advertised.

No official builds will be provided until a stable version is available.

Post a Comment

Your email is never shared.

*
*