Switching Themes after 8 years

Since 2005 I have used K2, a really nice minimalistic theme for WordPress. I especially liked the spacing and the fonts used. But alas I had two people tell me that it was hard to read posts on my blog. I set out to find a new theme which was more reader friendly (especially since I am having a few longer posts). I settled with Twenty Eleven.

The Journeyler moving from K2

So in a last adieu. Good bye K2. It has been good knowing you.

Drupal – The conversion….

I have been a WordPress fan since 2005. I have run several sites using WordPress simultaneously since then. Running WordPress is dead easy. I can wrap my head around it. This past January, a colleague was ecstatic about the release of Drupal 7. I was a bit less ecstatic. (More the I'm glad you are excited, kind of guy.) Then I saw the new admin interface and my interest piqued. So I downloaded a few modules and bam! I saw the power. Amazing. Totally a reckless learning curve but still something beautiful.
Drupal Learning Curve Text
My story was much the same as Kevin Dees. [1] Kevin Dees. 9 November 2011. Is WordPress an Anti-Pattern?. http://kevindees.cc/2011/11/is-wordpress-an-anti-pattern . [Accessed: 27 November 2011] [Link] This fall I went to Drupal Camp Austin and was able to wrap my head around a few more things. (Mostly things which showed me there was still a lot to learn.) So from time to time you will see that I will post some things I am learning about Drupal.

Drush for WordPress

While I was at Austin I kept hearing about Drush. Then when I got back home I resized that I needed to download a lot of modules to work on a particular web site. I could do this several times or I could learn to use Drush with Drush Make. Drush is a command line shell and scripting interface for Drupal. Once I found the power of it I started looking for something similar in WordPress. I don't think there is anything exactly like Drush but there are two projects [2] Leo Nelson. 24 October 2011. Drush for WordPress. http://www.leonelson.com/2011/10/24/drush-for-wordpress . [Accessed: 27 November 2011] [Link] worth checking out check out:

  1. WP-CLI or WordPress Command Line
  2. WPshell

However it does not seem that there is a Drush Make for WordPress. Although there has been some thought about how to make Drush Make "cross-platform" and work with other CMSes like WordPress. Wouldn't it be nice if WordPress developers got handed a tool from the Drupal community....


1 Kevin Dees. 9 November 2011. Is WordPress an Anti-Pattern?. http://kevindees.cc/2011/11/is-wordpress-an-anti-pattern . [Accessed: 27 November 2011] [Link]
2 Leo Nelson. 24 October 2011. Drush for WordPress. http://www.leonelson.com/2011/10/24/drush-for-wordpress . [Accessed: 27 November 2011] [Link]

Importing Facebook Status

I have a thing for wanting to know what I have said all in one place… But I would like to be able to see it by location of the comment. So I have thought about bringing my FaceBook comments into my WordPress install. The problem has been that if I bring them in as a post I have to not send them back to FaceBook (Like I do with all my other posts). So I now import them as a custom post type. But my current theme does not support custom post types out of the box. Too bad for K2 (It seems that as a theme K2 is not keeping up with WordPress.). To do this I looked FeedWordPress as recommended here.

Widget Area in WordPress Admin

I run a website, wycliffe.me, for redirecting traffic (URL redirector). But I need it to have a CRM sort of component to it. So I added some custom fields to the Posts using Just Custom Fields. (I am using Posts, but I could just as well use a custom post type Custom Post Type UI.) But now I want a summary of some of those fields in a special panel on the back-end. So I have collected some links to read and start hacking.
First I need to create an options page in the admin area: http://buildinternet.com/2010/01/create-custom-option-panels-with-wordpress-2-9/.
Next I need a way to collect the data. So I look for a plugin which can search my database and return fields…. sorta like views for Drupal. And wala there is such a plugin: Query Wrangler. (Query Posts might be another option, but I did not try it.) However, this plugin is not powerful enough. I can not search all the fields created by my other plugins, only my custom fields and content types. More power would be ideal.

Next I need to be able to see the widget in my admin area… so I need to widgetize my options panel. Here is where the Reading is a little fuzzy, ’cause I am not sure if many people do this. (Possibly indicating that there is a better way.)

TM in the URL for WordPress

I like my URLs to be semantic, it helps with SEO and it helps users to know what a page is about based on the URL. Today I was looking over one of my old posts and found that the TM is added to the URL. In the admin UI the title looks like this:


Title in the Admin UI

Notice that I have used the & in html in the tiled. This is stripped out by the automatic URL generating engine of WordPress. However the ™ as a unicode character is not removed. Some languages with non-roman scripts need Unicode in the titles, so not all unicode characters should be disallowed in the titles. In fact, all Unicode characters should be allowed in the title field. Sometimes unicode in the URL is allowed, however it is not always best practice (unicode above the ASCII range). I in this case it should not be allowed by WordPress. I have my permalink settings set to custom. I do /%year%/%postname%/.

permalink settings

permalink settings

However, when a unicode character is put into the postname, it is not necessarily striped out. My contention is that some characters should be, or that more characters should be. The problem for users is that the unicode character gets processed to the browser’s URL bar and looks like the following:
https://hugh.thejourneyler.org/2010/selected-works™-bepress/ .
However, when the user selects the url to copy it they do not get a URL which is paste able the same as when they saw it in the URL bar, they get something like the following:
https://hugh.thejourneyler.org/2010/selected-works%E2%84%A2-bepress/ .

One solution might be for authors to use the following HTML markup in the title:

  • ™
  • ™

But this is not user intuitive or presenting a “thoughtless process for end users/authors”.

Using google Docs with WordPress

I have a reason to use WordPress as a front end and Google Spreadsheet as a backend. I have been looking high and low for a plugin which would allow me to pull content from the spreadsheet and then edit it in the WordPress interface, save it back to the Google Spreadsheet. The advantage to this would be that as record in my spreadsheet would go into a single row, that I could then spice up the UI a bit to make things logical for users. – No luck.

  • Inline Google Docs http://wordpress.org/extend/plugins/inline-google-docs/

    Many people maintain dynamic content on Google Documents or hold volatile data on Google Spreadsheets. These change when collaborators save an update or users submit a form. Occasionally, one may wish to embed the contents of one’s Google Documents or Spreadsheets in a post or page to reflect the latest updates on one’s blog. This plugin seeks to provide this functionality without using an <iframe>. In addition, it caches contents of the Google Documents or Spreadsheets to speed up page loading.

  • Google Docs Viewer http://wordpress.org/extend/plugins/google-docs-viewer/
    This plugin provides multiple viewing functions related to Google Docs.

    First of all it can allow you to easily convert a link to a document so that it uses Google Docs as the viewer. Secondly, it provides a method of embedding certain document types directly into your post or page.

  • Inline Google Spreadsheet Viewer http://wordpress.org/extend/plugins/inline-google-spreadsheet-viewer/

    Fetches a published Google Spreadsheet using a [gdoc key=""] WordPress shortcode, then renders it as an HTML table, embedded in your blog post or page. The only required parameter is key, which specifies the document you’d like to retrieve. Optionally, you can also strip a certain number of rows (e.g., strip=”3″ omits the top 3 rows of the spreadsheet) and you can supply a table summary,

    and customized class value.
  • Google Doc Embedder http://wordpress.org/extend/plugins/google-document-embedder/
    Google Doc Embedder lets you embed several types of files into your WordPress pages using the Google Docs Viewer – allowing inline viewing (and optional downloading) of the following file types, with no Flash or PDF browser plug-ins required.

None of these things did what I really wanted. So, I kept looking. Eventually I found this Publishing Google docs to your blog, which talks about taking a GoogleDocs Writer document and letting it be the data for your post. But I wanted Spread sheet stuff.

Then I found HOW TO: USE GOOGLE SPREADSHEETS AS A DATA SOURCE IN WORDPRESS from 2008 (part 2). That is like a century ago. I am not sure there were even WP Custom Posts around then. But this source only tells one how to get data out of Google Spread Sheets (and I think that Google Spread Sheets have updated since then too).

There was one hopeful solution. That is PhpGrid and the phpGrid Lite WordPress Plugin (on Extend). I think I could take my whole data model and apply it inside of PhpGrid and not need Google Spread sheet.

phpGrid Lite WordPress Plugin is based on phpGrid Lite, a free version of phpGrid. phpGrid is a simple and fully customizable PHP control for generating data-bound, AJAX, PHP datagrid.

Grid-based editing, create, read, update and delete (CRUD), are the most common operations for web developers. With phpGrid web-based data editing is easy. Even with little programming background, one can develop professional looking, AJAX-enabled PHP datagrids in just a few minutes.

Finally, I did find out about GoogleDoc’s Data APIby reading Saving Form Data to Google Spreadsheets Using PHP and the Google Docs API by far IN space WEB+, but I just want to plug something in and it to work. So this solution got pushed no further. (And they were using an older, depreciated version of the API).