Bad Behavior Behaves Badly

Permalink

Well, that was fun.  I’ve been having some issues recently with a couple of my WordPress installations.  In a nutshell, every form that has anything to with communication to the database was choking.  Data wasn’t being saved to the database, screens weren’t loading properly, functions weren’t… functioning.  It took me a little while of searching (and no little amount of stress and worry) but I finally stumbled across a solution that just felt right.  I’ve been using Bad Behavior for awhile now in conjunction with Akismet to catch and filter out spam.  Between the two, they’ve done a fabulous job, making it a rare occurrence when even a single spam item slips through the cracks. 

Unfortunately, apparently Bad Behavior has failed before, prompting an upgrade from 2.0.7 to the current version of 2.0.10.  Trouble is, now 2.0.10 is malfunctioning and it blocking all scripts that had anything to do with communicating with the database.  My guess is that something has gone wrong with Bad Behavior servers, potentially causing some sort of “feedback” loop.  I – and a couple of others – have left comments notifying the author of the problem, so hopefully we’ll see a new version released in the near future.  In the meantime, problem solved and everything seems to be functioning properly again.

openID, dp.SyntaxHighlighter, and LaTeX

Permalink

As much as I love my hosted version of WordPress and the power I have to customize it however I see fit, there are some drawbacks to the system that I have yet to be able to hurdle.

  • openID. I’ve wanted to set up an openID server for my blog for quite awhile now.  The idea of being able to use my domain to securely log into other websites that use openID, rather than having to hassle with different usernames and passwords, was very appealing to me.  However, the technology was initially so new that it was difficult to incorporate openID into WordPress without some hefty file hacking to make it work.  Then plugins started coming out, some of which worked better than others.  Unfortunately, I’ve never been able to get openID to work here, despite a nice little WordPress plugin that’s supposed to take all the hardship right out of installing it.  I suspect that problem lies with inadequate support from my webhost, and all my attempts to contact the plugin’s author have been met with the silent treatment.  The plugin itself hasn’t even undergone any changes, additions, or revisions since it was first published, so I suspect that it’s probably no longer being supported.  This, then, continues to leave me in an openID black hole until something changes either with my webhost or with a plugin developer that can produce an openID plugin that works so well that almost anyone can use it on any hosting package.
  • dp.SyntaxHighlighter. I work enough with CSS in the occasional WordPress or bbPress theming project that I do like to share snippets of code when the situation demands it.  There’s a host of good code sharing plugins out there for WordPress, but the WordPress.com developers have incorporated a syntax highlighting package into the .com blogs that’s really slick.  The thing that I like so much about it is that it has a little button that will automatically copy all the code to your clipboard for easy pasting into a text editor.  Gone is the need to highlight and copy and then have to manually remove the numbers from the beginning of each line.  Unfortunately, dp.SyntaxHighlighter has not yet been bundled as a WordPress plugin, and not being terribly adept yet at coding in PHP, I’m not sure where I’d even start to create a plugin to incorporate it into hosted versions of WordPress.  I may try tackling the project here at some point and learn much more, I’m sure, about PHP in the process, but that will have to wait for another time when I don’t have quite so much on my plate. I suspect, though, it’s only a matter of time before else beats me to it.
  • LaTeX. The WordPress.com blogs also have LaTeX installed on them for the uber math geeks.  I had a brief introduction to LaTeX when I took Calculus from my father-in-law during my undergraduate education (though I hadn’t yet then met his daughter).  I’ve always been somewhat intrigued by coding and markup languages, and LaTeX seemed similar in many ways to HTML and C.  The beauty of LaTeX, though, lies in its ability to allow you to easily and attractively put complex mathematical formulas and diagrams on a page.  The downside to LaTeX, though, is that the software necessary to make it work is rather complicated to install and somewhat less complicated to use.  It’s gotten better in recent iterations, of course, but it’s still somewhat cumbersome to set up.  The brains over at WordPress.com actually took the time and effort to make LaTeX work with their blogs and to allow anyone who wants to do so to render LaTeX formulas on their WP.com blogs.  There are a couple of plugins that allow you to use LaTeX on hosted versions of WordPress, as well, but they depend heavily on all the LaTeX software being installed on your server.  Most webhosts do not have these software packages installed, and it is incredibly difficult, if not impossible, to install these packages yourself or to get tech support to install them for you.  So, unfortunately, I have yet to get LaTeX installed on this blog.  This does, however, providing a major driving motivation for me to use my WordPress.com blog a bit more, especially since I intend to spend some time working my way through my old Calculus textbook (yes, I did keep it) in an attempt to learn Calculus again and learn it better this time.  So, I may end up referring you back and forth between the two blogs, at least until I can find a way to get LaTeX installed here.

wp_tag_cloud() - WordPress 2.3

Permalink

Small Potato covered one of the new tag functions that will be appearing in WordPress 2.3 – <?php the_tags(); ?>.  I was pleased to find, though, that the WordPress development team had included the new tag cloud function, as well, since I currently use UTW’s tag cloud as an enhanced site index.

The documentation on <?php wp_tag_cloud(); ?> is currently incomplete, so I had to do some digging into the core code to find out how to adjust the parameters.  <?php wp_tag_cloud(); ?> takes a string of parameters that adjust how your tag cloud displays.  For example, <?php wp_tag_cloud('number=20&order=desc'); ?> will display a tag cloud of your top 20 tags and sort them in descending order.

Here are the various settings:

  • smallest – Adjusts the size of the smallest tags in the cloud.  Default is ‘8’.
  • largest – Adjusts the size of the biggest tags in the cloud.  Default is ‘22’.
  • unit – Sets the unit type for font size (i.e. point or em).  Default is ‘pt’.
  • number – How many tags will display in the cloud.  Default is ‘45’.
  • format – ‘Flat’ displays an inline cloud with each term separated by whitespace. ‘List’ generates an unordered list.  ‘Array’ lets you define an array of tags.  Default is ‘flat’.
  • orderby – Sort the cloud by ‘name’ or ‘count’.  Default is ‘name’.
  • order – Sort the cloud in ascending or descending order.  Default is ‘ASC’.

    The new native taxonomy isn’t as powerful as UTW was, but I’m sure it won’t be too long before there will be a host of new plugins to change that.

    WordPress 2.3 Beta 2 releases on Monday.  I’ll write about any new changes somewhere around then.

WordPress 2.3 Beta 1 Test

Permalink

I’ve been toying around with the WordPress 2.3 Beta 1 most of the day today.  I basically copied this site’s files and database to another location, uploaded the 2.3 files, and ran the upgrade script.  Then I spent the next several hours mucking about with the new system.  Here’s what I’ve discovered so far:

  • The only plugin that ‘broke’ upon re-activation was the Custom Write Panel.  And even then, I’m not sure it actually broke.  It generates a ‘Plugin could not be activated’ fatal error, yet it clearly showed as active in the list and seems to function just fine when I go to it to write up a new entry.  I have a feeling it has to do with the new tag field in the write screen that the Custom Write Panel plugin will obviously not be able to account for properly.
  • The UTW tagging conversion process works pretty well.  I have a massive database, though, and the tag importer counted just shy of 1200 tags that I’ve used in the past and nearly 4000 tag-to-post relationships.  Writing the UTW tags to the new WordPress taxonomy system took awhile, I think in part due to the size of the database as well as to the somewhat sluggish nature of my computer.  The conversion appears to have gone off without a hitch, though, and I’ve retired the UTW plugin on the beta test site in favor of the native taxonomy system.
  • The categories-to-tags conversion process failed tragically, however.  It’s been generating duplicate entry database errors, thus failing to convert category names to tags.  Of course, it did, for some reason, single out my Commentary category to convert properly, thus removing every entry from that category (and every other category), effectively removing them from my blog – unless they happened to also be filed under another category, in which case they got to stay.  I had similar problems with converting categories to tags with UTW, as well, so it could be something problematic with the whole system.  It matters little to me, in the long-run, since I prefer to keep my categories separate from my tags, but since I’m helping to beta-test the software, I wanted to see how badly I could break things.
  • The new tagging system has two new functions – <?php the_tags(); ?> and <?php wp_tag_cloud(); ?>.  The first takes three parameters and is most useful for displaying your tags at the end of entries.  The latter takes a string of options and is most useful for displaying a tag cloud of your specifications in the sidebar, on a page (say, as a site index), or in a post, if you prefer.  I’ll talk more about the tag cloud function in the following entry.
  • The plugins page in the dashboard also now displays when plugins have new versions (according to the wordpress.org plugins database).  It’s a slick little addition that I’m very pleased to see.

    By and large I’m happy with the new changes to the WordPress core.  I’m eager now to see what sort of new plugins will come out of the new tagging taxonomy. 

A Look at WordPress 2.3

Permalink

Small Potato has written up a preliminary review of WordPress 2.3 Beta 1, and I must say that the new features being introduced into this version are positively yummy.  I think I’m going to really like having tags native to the WordPress core.  I was worried about the need for a tag importer for those of us who use tagging plugins, so I’m pleased to see that the WordPress development team will be including an importer for UTW and are currently testing importers for a couple of other popular tagging plugins, as well.  It was also nice to get a closer look at the new template tag for tags – <?php the_tags('', '', ''); ?>.

The default blogroll has also been the source of much contention lately, in light of the debate over what constitutes sponsored links and what doesn’t.  Matt’s integrity has also been called into question over a number of issues lately, so it’s nice to see the development team taking the suggestions of the WordPress community seriously by replacing the legacy default blogroll links with others that point at WordPress development and documentation links.

I haven’t had a chance to install and test out the WordPress 2.3 Beta 1 yet, but I’m already liking what I’m hearing from those who have.  I can’t wait to take a look at a full feature list for the next version of WordPress.  I expect that some of my current plugins may break with 2.3, but I think the trade-off for new native features will be well worth the extra trouble.

WordPress Theme: BlueSands

Permalink

BlueSands for WordPress is finally ready for release.  It’s a 3-column, widget-ready theme with a fluid width main content area and is built on the famous Sandbox theme.  As a result, BlueSands has much of the powerful markup that Sandbox has become known for, including special classes for preformatted text, code, and definition lists. 

BlueSands also provides support for the Ultimate Tag Warrior plugin.  Once WordPress 2.3 with the UTW tag importer is released, I’ll update this theme to replace the UTW sections with the native WordPress tagging system.

BlueSands represents about 20-25 hours worth of work, about two-thirds of that simply troubleshooting a couple of unfamiliar Sandbox elements.  I’m very pleased with the final result, which receives a fair bit of inspiration from the Navigation theme, which I’ve always loved.  BlueSands uses the colors from the WordPress dashboard to create a clean, crisp look with a minimal design.

Since I also use and love bbPress, I’ll be making a version of BlueSands for bbPress soon, as well.  Once it’s ready, it will be available for download from the BlueSands page, along with the WordPress version, both individually and bundled together.

BlueSands

You can check out the full demo or download the theme from its home page.  Bug reports, problems, or questions about BlueSands should be directed to my support forum.

BlueSands is released under a GNU General Public License.