I’ve become so caught up in the comradery of the WordPress effort, that someone only need mention something and I’m off coding it. However, I can’t put all my time into ‘tweaking’–much as I’d like to. I have other things demanding immediate attention, and the rest of the LAMP essays and code tweaks will have to wait a few days.
I do this reluctantly, afraid someone else will ‘do the code’ first for the modifications and add-ons I want to build. However, I forget that in a community driven project such as WordPress, someone else may ‘do the code’ first, but this doesn’t mean I can’t also ‘do the code’, or that there aren’t other things to do, and other code to write. So, the rule is have fun, and no need to rush. Besides I don’t want to hurry the LAMP essays and do a poor job in the writing.
Speaking of the LAMP essays, O’Reilly was kind enough to point out the series in their subscriber email list, and I appreciate both the kind words and attention. Of course, I realized in one of the essays that I made a statement about existing books on MySQL and PHP and how they aren’t focusing on the ‘teach by tweak’ approach; I then go on to mention how ‘teach by tweak’ is the better approach in my opinion. My, my – as someone who was once a dear friend said to me, why do I do this? All I can say is, I guess that’s just the way I am, and this is part of the total package that is me. Love me, love the package.
However, ‘learn by tweak’ isn’t for everyone, and for others the excellent books on MySQL and PHP that may or may not fully incorporate this concept put out by O’Reilly are the better options. And did I happen to mention how extremely attractive and intelligent O’Reilly people are?
Anyway, back to WordPress 1.2. The modifications I plan on making, or have already made, to my version of WordPress 1.2 are:
- Multiple weblog support: By this I mean written procedures for installing multiple weblogs, with scripts to help in the process, in addition to my multi-weblog emulation to the WordPress interface that allows a person to switch around among the weblogs.
- Static rendering of pages: This includes a WordPress plugin that can be activated and will render static pages of the syndication feeds and the main weblog page when a new post is created. In addition, an ‘on-demand’ static rendering item can be added to the existing WordPress menu that allows for on-demand rendering of any given page. I may also add this as a checkbox in the Edit page.
- Postmeta wrapper functions: WordPress 1.2 allows you to specify name-value pairs for a specific post. This means that you can attach information about the post, such as PHOTOGRAPH-FLOWER or STORY-CAT. You can see some key-value pairs I’ve added to recent posts in the test site; in the first couple of posts, at the bottom of each. At this time, there are functions to get this data, but not present it as one would like, and one of the wrapper functions I’m writing will allow you to ‘wrap’ the returned value in XHTML tags. Other functions will hopefully allow you to build lists of posts based on their key values.
- Full page preview: WordPress 1.2 has preview at the bottom of the page for the edit page. However, I like my full page preview hacked for the 1.02 version and will port this over to 1.2.
- Full comment preview: this is an iffy one. There is a inline comment preview workaround already implemented in WordPress that I can just include in my posts. I was going to do a full page preview, just as Movable Type implements for WordPress, but I’m not sure it’s a good use of my time. I think what I’ll do is implement the inline preview for now, and lower the priority for the full page preview. However, I will add my throttle code to that built into WP to ensure my comments don’t get crapflooded.
- Adjust the interface to allow on demand moderation: I edited WordPress 1.02 to allow me to turn moderation on, post by post. This has made an enormous difference in the handling of comment spam on older posts. Because of this, I was able to open the older posts for comments, and have received some lovely ones, while still keeping out the garbage. I am porting my code changes for on-demand moderation over to WordPress 1.2. In addition, I’m incorporating an existing modification that turns moderation on for all posts over thirty days, automatically.
- Bulk management of comments: WordPress 1.2 has the loveliest bulk comment management of any weblogging tool I’ve seen. I’ve been asking for this for over a year, and WordPress gave it to me. However, I am making one small change. In addition to the ability to search for comments by name, URI, email, text, and IP address, I’m also going to add the ability to pull in all comments for a particular time range. Once I have this, bulk deletion of comment spam will be trivial.
If you have other modifications you’d like to see, you can always add them to the comments. I may not be able to get to them, but I bet someone else will. Other than these items, though, I don’t have any other modifications I want to make. WordPress 1.2 really is a very good, straight from the box product. All I’m doing is ‘tweaking’ a bit to fit my needs, and possibly the needs of others (all of this code will be packaged and documented).
My plan is to go ahead and do the code and LAMP essays, but to ‘release’ the final version of the code only after WordPress 1.2 is released. This way those who want to play now, can now; but those who want stable can wait.
Once finished with the modifications, I have one more thing I’m going to do: I’m going to create a specialized version of WordPress to be the core element of the RDF Poetry Finder.
I’ve never forgotten the RDF Poetry Finder, nor the concept of building intelligence into metadata in order to not depend on fancy algorithms and luck to find complex semantic objects such as a poem. However, I’m a tweaker not necessarily a build from scratch person. If I was happy creating the Poetry Finder RDF/OWL vocabulary, and the processes to work with this data, I wasn’t happy about building the rather involved infrastructure that allows people to write about poetry, annotate it with their impressions, and then generate the RDF/XML searchable by external agents.
It was someone asking about WordPress’s postmeta data ability today that made me realize that for all intents and purposes, WordPress can form the core infrastructure of the RDF Poetry Finder. And since WordPress is GPL, I can make the modifications necessary to support the Finder functionality in the code, and then package it for others to use, as is, out of the box. After all, the more people using this application, the more data available; the more data available, the faster the spread of the data and the functionality; the faster the spread, the more people using this app….well, you see the cycle. Semantic web software doesn’t get distributed; it spreads, like a friendly fungus. Kind of like a mushroom you can eat and it won’t kill you.
So that’s one last thing on my to-do list, this long promised but never delivered functionality. It will be a relief to finish it.