Resource Plugin

RL2 Resource Plugin Development Process

I recently wrote a resource plugin for WordPress called rl2. I made this plugin to provide a database of community resources for a non-profit called Traditional Nutrition Guild (TNG). The idea is to provide listings of vendors, practitioners and businesses, individuals or organizations of interest to the users of the site. This plugin could be a database for any number of other applications with only slight modifications. I want to talk about the process of coming up with the plugin and the possibilities it exposes.

Wikinews - database size 2

Wikinews - database size 2 (Photo credit: Wikipedia)

The idea came from the web of relationships around this community organization. It has a website and a lot subscribers who are keenly interested in a particular style of nutrition. There are vendors in the community who provide relevant food and other products as well as health practitioners, educational support and cooking services. There are also other non-profits doing related work. The members of the TNG and some of the relevant businesses asked for a way to expose community resources to the membership.

In my discussions with some of the interested people of TNG, we decided that they needed a system that had categorized display of listings. A listing could be either a physical addresses, a URL or both. The users in the community needed to be able to submit the listing and each listing needed to be reviewed and approved by a moderator before being publically visible.

I investigated to see if there was a plugin that really matched the need and I couldn’t find one I was really comfortable with. I cobbled together a sort of a mashup using a forms processor to collect information and email it to an administrator who would then create a page or post. The administrators were already overloaded, so this scheme didn’t seem right.

Another idea was to modify an existing plugin. I found one called ‘interesting links’ for which modification into what TNG needed seemed plausible. I made a modified version of it that did most of what I wanted. However, I found that this plugin modified the database by creating its own tables. I recalled discussion at a WordPress meetup that indicated leaving the database structure alone was considered a good idea.

A Entity Relationship Diagram (ERD) for the pa...

A Entity Relationship Diagram (ERD) for the part of the WordPress database schema that deals with referencing files in the filesystem. For use on Wikiversity:Web application file-reference methods. (Photo credit: Wikipedia)

So, I started over. Over the years of programming, I’ve become much more accepting of just starting over along with the notion of prototyping and mocking up things in order to learn as early as possible if I needed to start over on a design. My earliest programming was characterized by trying to sit down and come up with a ‘perfect’ design out of the gate, one that could not only do all the possible needed things, but that would anticipate future needs. I’d have huge investments of time and energy before I ever produced a single byte of code. Because of that investment, I could really loathe tossing something it out and starting over.

It took me a long time to make peace with the idea that I couldn’t see into the future and that great unanticipated ideas would often materialize as I went along; that I should
preserve some budget for those opportunities. In agile programming research I really changed my approach. The idea was to decide upfront the most essential thing(s) the
software had to do and create a pass-fail test that would tell if the software actually did that thing. Then the programmer would work out the simplest way to do that thing and write software that passed the test, and only did that one thing. I still like that and I think it applies to much more than software development.

So, I worked on the newest resource plugin. I borrowed the display from the ‘interesting links’ package and modified it. I used WordPress’s custom post types and custom taxonomies to create a new post type called an rl2_resoure. It worked beautifully. There are was a lot that I didn’t have to program at all by relying on WordPress. The administrative tools, categorization and so on were done for me. I made a user form that uses ajax for submission. The rest of the work, really, was gluing together the pieces that WordPress offers to developers.

The whole process, including the initial discussions, the throw away versions, the building the resource plugin and testing took about about a week and a half of my time. There are some more features and options to add and WordPress itself was upgraded since I put my package into the plugin repository, so I’ll be doing more work on it.

RL2 resource plugin Development Environment

My development environment consists of my laptop which runs Ubuntu studio Linux. I run Apache and MySQL on this machine. That allows me to run my pluging locally. I use the error log for lots of debugging tasks as I can tail the local Apache error log in one window, while I run my browser in another. For front-end debugging and develpment, I use Firebug on a Firefox browser.

Posted in Articles, Technology | Tagged , , , , , , , , , , | Comments Off on Resource Plugin

The WordPress Message

What’s the WordPress message?

Marshall McLuhan coined the phrase ‘The Medium is the Message“. The medium you are currently reading is WordPress or more generically, a blog. The idea that a medium has certain characteristics to it seems reasonable. If I were talking to you on a movie screen in a theater, instead of here in text on a blog, you’d probably have a much different experience, even if I used the same words.

Marshall McLuhan caused wide irritation with h...

Marshall McLuhan caused wide irritation with his statement that the traditional, book-oriented intellectuals had become irrelevant for the formulation of cultural rules in the electronic age. (Photo credit: Wikipedia)

However, if I were authoring this communication for presentation on a big screen, I think I would write is differently… much differently. I would also expect a different audience, a different promotional strategy and a different business model.

The WordPress blog, as a medium, is very inexpensive to produce. Almost everyone who has a computer and internet access can write a blog. The financial barrier is extremely low and the software is easy to use. Contrast that to the barriers to producing a TV station or publishing a newspaper. Freedom of the press belongs to those who have a WordPress.

People sometimes talk about the sweeping changes created by innovations in media. McLuhan spoke of how each new medium causes something to become obsolete and retrieves something else from obsolescence. WordPress, it seems to me, might render some newspaper editorial pages obsolete. Certainly, the letter to the editor and much of opinion has been replaced along with the gate-keeping function of the editorial descision makers at newspapers.

This idea of gate-keeper is an intermediary who sits between a consumer and the un-winnowed masses of consumables. This gate keeper chooses only the ‘best’ material to proffer to that person who will consumer. The better gate-keeper also finds out what that consumer wants and passes that information back to the producers. The better gate-keeper may also go to some length to cultivate and reward better products in order to insure availability. There are other valuable things an intermediary does.

The downside of intermediaries is that, as a consumer, you have to depend on someone else to select for you and they may not always serve your particular interests well. As a producer, you may not find an intermediary who is will to give you access to consumers on a desirable basis.

In the information world, the search engine has come along and given consumers a better information selector. Having a search engine is like having your own personal newsdesk editor trying to fill your personal ‘news hole’ with absolutely whatever your momentary whim might wish for at whatever level of detail you might desire. The search engine is the new editor and producers are in fierce competition jockying for access to consumers via search engines.

The Panel on Search Engine Marketing during Q&A

The Panel on Search Engine Marketing during Q&A (Photo credit: MikeSchinkel)

There are some things that the Internet have not eliminated the need for. We still need producers, journalists gathering news and organizing its presentation. We need ways to pay for that. Perhaps we don’t need fleets of delivery trucks, printing presses or even editors.

People who own gas stations found out some time back that people do not want gas jockeys. The self serve gas station came was developed over time. Now, you have the pay-at-the-pump gas station. In this gas station evolution there are a loss of jobs and a loss of social interaction between gas jockeys and customers.

Filling Station

Filling Station (Photo credit: anyjazz65)

A WordPress blog creates a ‘newshole’. The blogger must find a way to fill that hole regularly or traffic will dry up. I have found it useful to have an ‘editorial calendar’ which is just a list of topics and suggested dates when I can  do a write up on the topic.

But there is more to a blog, or any informational art form. McLuhan also said  ‘The Medium is the Massage‘ in that it massages or stimulates the intellect or the senses. WordPress, then, is also a masseuse of the brain.





Posted in Articles, Technology | Tagged , , , , , , , | Comments Off on The WordPress Message

Backup and Restore WordPress

English: The logo of the blogging software Wor...So, you want to know how to backup and restore WordPress. Most webhosting services do make complete backups of the entire server, but it can take a fair amount of time to reconstruct your site from the webhost backups and if you ever need to restore, you will probably want to do it quickly. The solution to that is do regular backups yourself. These backups can also be used to migrate your WordPress installation from one webhosting provider to another.

WordPress keeps much of its information in a MySQL database rather than in files, though you need to backup both the database and the files. For example, the text of your posts are all in the database. Much of this database information is stored as ‘serialized’ php objects. For a straight
database backup (and restore), you can use a database manager program to execute a database dump. phpMyAdmin is an example of such a program that is often available on your webhosting service.

Image representing cPanel Inc as depicted in C...

A database ‘dump’, despite its shabby name, is a series of executable database programming statements. phpmyadmin can execture these statments to recreate the database structures and data if you need to restore your site. When you run phpmyadmin to make a backup, you’ll use the ‘export’ function. There are a number of options that you’ll need to set in order to create a database when you restore you WordPress site.In order to get a database dump in phpMyAdmin, you need to know the name of the database used by your mysql installation. You will also need to know the password and userid for loging into phpMyAdmin. If you don’t know these, ask your webhosting service for them.

In phpMyAdmin, you first switch into the database used by WordPress, and then go to the ‘Export’ menu. On the systems I have encountered, the ‘quick’ options for the phpMyAdmin export have not needed to be changed. So, you would click on the Export functionn’s ‘go’ button and that would create and download an ‘SQL‘ file to store on your local computer. This is your database backup.

To restore your database, use the phpMyAdmin ‘import’ function. Just use the browse box to locate and upload the SQL file you saved in the previous step.

There are also some files associated with your site, including WordPress program files, themes, plugins and uploads. A backup of these item is made separately from the database backup. You may use an ftp client or the like to download those files directly to your local hard drive.

I use a file manager that comes with my hosting account that is accessible from cPanel. Using that file manager, I ‘compress’ the ‘public_html’ folder in my webhosting account. This creates a ‘zip’ or ‘tar.gz’ archive in my home directory on the webhosting server. Then I use the file manager to download that file to my local hard-drive.

To restore, I upload the archive to my home directory on the webhosting server and ‘extract’ the archive. That will recreate my public_html folder from the archive.

These backups are ‘complete’ backups as opposed to incremental backups that your webhosting service might do. Your complete backup can restore your site very quickly, while it may take the webhosting service some time to restore from its backups.

You should also be aware that there are several plugins that handle backup and restore tasks. I’ll cover some of those in later articles. I’ll also cover migrating your WordPress site.



Posted in Articles | Tagged , , , , , , , , , , | Comments Off on Backup and Restore WordPress

WordPress and Authority

One of the ‘uses’ of a blog for the blogger is to establish his or her expertise on a particular topicWordPress and Authority do go together well.  I reveal what I know, what I am learning and you can form some sort of judgement of my expertise.  Authority contains the word author.  Let’s say for the sake of argument that expertise and authority are often the same thing, except expertise may exist in a person without anyone else knowing about it.  But authority occurs when others believe a person has this expertise.  Authority also implies power, but I am not speaking of power here.

Young people have no respect for authority now...

Young people have no respect for authority nowadays (Photo credit: Alexandre Dulaunoy)

It is possible to ‘borrow’ authority and it is possible to express inherent authority.  Borrowed authority can come from authority granting institutionslike schools, licensing bodies or hierarchical organizations.  For example, a degree from a University is an attempt to transfer authority from a faculty to a person who has been granted the degree.  A church can bestow authority on a person by way of ordainment.  Borrowed authority is also granted by democracies, monarchs, dictators, tyrants, warlords and crime syndicates.

A person who has inherent authority is like the person who assumes leadership at the scene of an emergency. No one grants that authority. Sometimes people just obey it for lack of other options and at other times people just don’t think to question whomever acts like the authority.

Another meaning to the word authority has to do with the validity or truthfulness of a statement. An article might use borrowed authority in the form of references and quotes. A person reading the article might be more comfortable since the article is not merely a bald assertion, but seems to be corroborated by the referred-to authorities.

Starting in the 1950s Carl Rogers brought Pers...

Image via Wikipedia

Carl Rogers in his first book, On Becoming A Person (pg 23-24) said:
Experience is, for me, the highest authority. The touchstone of validity
is my own experience. No other person’s ideas, and none of my own ideas,
are as authoritative as my experience. It is to experience that I must
return again and again, to discover a closer approximation to truth as it is
in the process of becoming in me. Neither the Bible nor the prophets ~
neither Freud nor research – neither the revelations of God nor man –
can take precedence over my own direct experience. [….] My experience is
not authoritative because it is infallible. It is the basis of authority
because it can always be checked in new primary ways. In this way its
frequent error or fallibility is always open to correction.
The term “Authority Blog”, apparently coined by Chris Garrett, refers to a blog that aims to provide expertise on a particular

How does a person become an authority without borrowing? Here, I am speaking of an intellectual, social, cultural or spiritual authority and not so much power as a government might wield.

WordPress allows an indivdual to get into the discourse about a topic. It allows the person to reveal his or her experience, thinking and research on a topic and to present that in a coherent way so that others can test what is being said against their own experience or thought. Those “others” can post comments attached to the WordPress articles, they post related material on their own blogs or sites or they can do both.

In the beginning of this article, I put out the idea that expertise and  authority differ. Authority is a perception of others, while expertise can be harbored without anyone else knowing about it. So, it is for others to decide if a person is an authority on some topic, while it is that person’s role to accumulate experience and thought from which expertise can be built.

Thus, it appears that the greatest obstacle to authority is within. I suspect that this is true for many people and if you are one of those, like me, who faces self-doubt, my suggestion is that you write a WordPress blog and leave it open to comments. That’s how I see WordPress and Authority. What is your thinking?


Image by Getty Images via @daylife

Posted in Articles | Tagged , , , , , , , , | Comments Off on WordPress and Authority

Try Out Zemanta for WordPress – Your Bloggin Assistant

English: The logo of the blogging software Wor...

Zemanta for WordPress? Have you ever tried to attract traffic to your site by manipulating keywords to lift your location in search engines, putting in links to other relevant sites to improve your credibility and to attract reverse links. Have you looked for relevant images you can use with an article.. images that you can clearly use without violating someone’s license. Well a plugin called Zemanta can help.

The Zemanta for WordPress plugin sits in a sidebar on your ‘edit post’ page where it seems to watch you type. As you do, it searches some databases of articles, links and images to come up with recommendations relevant to the article as you type. There is a ton of detail work that Zemanta takes out of your way. I find that I can write and research much more efficiently using Zemanta.

Zemanta first entered the WordPress plugin repository in 2008 and since it has undergone many revisions as it developed in to what it is today. Now, it is really taking off. It is so useful that it is apparently to be included in Few of the plugins in the repository make it into For me the Zemanta for WordPress ability to locate of relevant articles helps me get a better idea of the dialogue that goes on among those who write about the particular topics that interest me. I like to ability to read the related articles that Zemanta finds and to use that in a way to participate in the dialogue. I believe that strengthens my own grasp of the topic.

Not every article is included in the Zemanta database. There is a lot of reliance on FreeBase, a sort of machine readable version of Wikipedia. That, plus the inclusion of images mostly with public licensing can create a bias toward open sources. That really doesn’t bother me as I am totally an open source freak already, but it might bother others who are not.

That said, Zemanta for WordPress does not prevent you from bringing in attributions or images form any source you want. You can place your own flickr archive and your own blog into the list of resources that Zemanta searches. You can also specify your own affiliation with so that any books you discuss can have your affiliate id attached to the outbound links.  As Zemanta continues to develop, perhaps there will be a more generalised affiliation tool that allows other affiliations to be tagged with appropriate data.

In order to install Zemanta for WordPress on a self-hosted WordPress site,  you need only navigate in your dashboard to Plugins->Add New. In the search box type in Zemanta and when the search is done, you can click on install. There are good instructions in the settings pages for setting up Zemanta.

I’m interested in hearing your experiences with Zemanta or with other ways to enhance the marketing or reach of your blog.

Posted in Articles | Tagged , , , , , , , , | Comments Off on Try Out Zemanta for WordPress – Your Bloggin Assistant

Facebook Integration

With Facebook Integration, your WordPress content can be driven to your Facebook page. I like the notion espoused by Neil Matthews on Wp Dude. The idea is that WordPress is your home base while Facebook, LinkedIn, Twitter, Google+ and other social media sites that you do not own are outposts. You want to focus your efforts on building the value of your home base and use the outposts to meet people.

Social media can be the ultimate time consumer. So, if you are like me, you’ll want to focus your time because there never seems to be enough of it and it can  be a real boon to write a blog post and have it pushed right out to your other social media accounts. There are several plugins that accomplish this task.

Those plugins that seem to get the most raves, are each aimed at individual social media.  For example, Simple Facebook Connect handles Facebook to WordPress connectivity very well, but doesn’t do anything for for LinkedIn or Twitter.

In this article I am going to focus on connecting your WordPress site to Facebook. In later articles, I’ll get into other social media.

I recommend the Simple Facebook Connect plugin.  In order to use this plugin, you’ll need to navigate to plugins->add new in your admin page and enter Simple Facebook Connect into the search box and then install and activate Simple Facebook Connect.  Note that this plugin require WordPress 2.9 or higher.

You will also need a Facebook account and you’ll need to create an application in Facebook. There are instructions on how to do this in the plugin’s option page. You’ll need to go through the options and decide which ones you’d like to implement on your site. I like to publish from my WordPress site to Facebook. If you elect to support this option, there will
be a button that will appear on the bottom right of your post editing screen that allows you to publish to Facebook.

I also like the Facebook like button widget. It is as simple as dragging the  widget to your sidebar and then entering the URL of your Facebook page.

Posted in Articles | Tagged , , , , , , , | Comments Off on Facebook Integration

Blog Watch Services

Update Service setting in Writing Settings

Update Service Setting

WordPress comes with an automatic update function through pingomatic. This service notifies a number of blog watchservices whenever you create or update posts on your site. You can turn this service off and on in the “writing” settings of your WordPress installation.

Technorati is probably the most well known blog watch service. It is rather like a search engine in that it looks at your blog and looks for what other blogs have linked to your site. It uses that information to rate blogs. There are a number of other blog directories, but I’ll single out Technorati for a closer look at why you’d want to use a blog watch service.

One of the main uses to Technorati is to determine how your site is doing in terms of inbound links. This is one important measure of how authoritative your blog is thought to be in its field. If credibility is important to you, it is a good idea to watch this measure. Of course, the inbound links will also bring traffic to your site so, it is always a good idea to try to increase them.

Technorati is also a research tool. You can find out who else is talking about whatever interests you, what they are saying and how much ‘buzz’ they have created. There really is a network of blogs out there and it a conversation can go on among bloggers. It can be useful if you read other blogs, quote them and link to them. This tends to be reciprocated. Allen Stern talks about these uses of Technorati in his lucid article on Center Networks. I also like Gina Chen’s article on why you should use Technorati.

Technorati Ranking & LinksHere are some other blog directories.

Posted in Articles | Tagged , , | Comments Off on Blog Watch Services

RSS Feeds for WordPress

English: A highly simplified version of the RS...

RSS (Really Simple Syndication) is way for you to get external content for your site. It is also a way to make your blog entries or comment available for uses to subscribe to. An RSS feedis an xml file that is automatically generated for your site. It is used by the subscriber to see what is new on the site.


Offering subscriptions to your site:
WordPress automatically generates some URLs for subscribing to RSS feeds for your site. You don’t have to do anything at all to generate these. However, in the default installations, these URLs are not obvious to users.


Text Widget containing the Subscribe Buttons

A typical text widget containg RSS subscribe code

Making it easy for Users to Subscribe:

  1. in your administrative dashboard navigate to Appearance->Widgets
  2. drag a text widget into your primary widget area.
  3. Open the text widget if it is not alread open.
  4. Then cut and paste the following into the body of the text widget.:
    <li><a href="?feed=rss2"><img
    src=""> Entries</A>
    <li><a href="?feed=comments-rss2"><img
  5. You can make the widget title ‘Subscribe’.
  6. Save the text widget. Now you’ll have RSS subscription links in your
    widget area.

Text Widget for RSS Subscribing

When a subscriber subscribes to RSS feed his or her browser (or RSS feed
handling software) records the URL to your RSS feed. From that URL, an xml
file is generated and sent, on request, to the subscriber. This give the
subscriber a set of link to your latest postings or comments with a text
excerpt from each.

RSS plugins:
You can get RSS plugins that allow you to offer not only the RSS feed for
your whole site or comments, but also feeds specific to your categories,
tags or authors.

Putting external content on your site with RSS:

External RSS feed widget

There is a standard RSS feed reader that comes with wordpress. It allows you
to put automated RSS links to external websites on your website. To find
external RSS feeds, you can browse the site you are interested in and look
for that standard RSS icon or some other link to the RSS feed from that site. That icon or link will lead to a URL, but don’t go there yet.

Instead in another browser tab:

  1. navigate in your admin dashboard to Appearance->widets
    and drag the RSS widget to your primary widget area.
  2. open the RSS widget if it is not already open.
  3. go to the tab that has the icon for your external RSS feed
  4. hover your cursor over the RSS feed icon, right click and choose
    to copy link location.
  5. go back to the tab with your RSS widget opened in it and paste
    the URL into the widget’s URL box.
  6. Give the widget an appropriate title, set the options to taste
    and save it.
  7. Now you have a list of external articles accessible directly from your

Side Bar with RSS widgets

Side Bar with Subcriber and an External RSS Feed.

A sidebar with the RSS subscriber widget and the RSS external feed widget will typically looklike the picture to the left.

Next week I plan to write about blog watch and update services.

Posted in Articles | Tagged , , , , , , , , | Comments Off on RSS Feeds for WordPress

Writing Voice in blogs

The Internet is not a broadcast.

The Internet is not a Broadcast Station

A personal or professional blog, I believe, needs a particular writing voice. A blog is a part of what we refer to as social media and as such it needs to be more personal than commercial speech but less personally revealing than a therapy session.

People are turned off by the pushiness and manipulativeness that have characterized marketing copy of the past. The Internet is a conversation rather than a personal broadcast station. Even if your main desire is to get customers, you won’t succeed with a Buy Me Cuz I’m the Best approach. This is more like a social gathering where you mingle and contribute your own thoughts and ideas to the conversations at hand. At a social gathering, certainly, you have business cards in your wallet and you can hand them out to those who might have a need you can serve professionally or with your products, but that is not the only thing you do.

The Internet is a Conversation

The Internet is a Conversation

By the same token, there are people who’ve been bitten by being a bit too revealing on the internet. For example, the drunken frat house members who pose for photos by mooning the camera only to find that some prospective employer looking for a responsible employee has googled and found that photo!

So take some risks and don’t hide yourself, and particpate thoughtfully in the conversation, but don’t push people commercially and don’t get into the sort of exhibitionsim that can come back 20 years from now to haunt you.

Writing Voice links:

Posted in Articles | Tagged , , , , | Comments Off on Writing Voice in blogs

LinkBacks: Ping Backs, Track Backs

So, you’ve put up a very smart looking WordPress site with Pages that clearly articulate your mission, give a good sense of what you offer, posts that educate and inspire the reader, all of which contain a clear call to action, but the phone is still not ringing. You check the traffic logs at you Webhosting service and see that you’ve had 390 Unique Visitors for the past month and over 1000 unique page views. You’re thinking, “Wow, 390 different people. That’s a lot and 1000 page views…. well, I’m certainly getting traffic aren’t I?”

No, you are not. If you have less than 10,000 visitors per month, your site is not being found. You can easily get much more traffic. WordPress comes with several ways to help you with this task. In this article, I’m going to talk about PingBacks and trackbacks, but this is only one small part of a suite of marketing tools available to you.

The idea is that referrals from other bloggers and search engines are the primary way that people discover websites of interest. You can advertise your website, if you have deep pockets and it will increase traffic, at least somewhat. You can even buy a TV ad for the Rose Bowl, one of the most expensive ads on the planet. But it will not match that value you get for time spent getting search engines to convey visitors to your site. 95% or more of your traffic will come from search engines.

If someone posts a search with the term that most closely resemble what you do and which you should be appearing, you do not want to appear on the 23rd page of search results. But that’s what happens all the time.

Part of how google determine the order of website to list as the answer to a search is that it weights each possible listing according to how many other sites link to the site in question. The more popular the site, the more of an authority the page is thought to be. There are many other parts of this complex and ever changing ranking formulas, but bloggers have formed networks in order to bring up the numbers of links among themselves with mtrackbacks and pingbacks.

TrackBack is a mechanism first created in 2002 by
Six Apart
, the developers of the “Moveable Type” bloggin software. Basically, Trackback is an acknowledgement sent via a network signal (ping) from the originated site to the receiving site. The receptor often publishes a link back to the originator indicating its worthiness. Both site must be trackback enabled in order to do the.

PingBack is another mechanism for one website to notify another of a link within an article. When you post a blog with pingback enabled, WordPress parses your artcle and for each hyperlink that it finds, it send out a special XML-RPC “ping” to the linked-to site. If that site is pingback enabled, that site will retrieve the article listed in the ping and parse it to verify that is does have the stated link, and (with administrative approval) the a link will be made back to the ping sending site.


Posted in Articles | Tagged , , , , , , , , | Comments Off on LinkBacks: Ping Backs, Track Backs