<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>everything flows &#187; plugins</title>
	<atom:link href="http://www.lukerodgers.ca/tag/plugins/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.lukerodgers.ca</link>
	<description>a celestial emporium of benevolent knowledge</description>
	<lastBuildDate>Wed, 11 Jan 2012 02:35:43 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Using Wordpress as a CMS &#8211; Part 3</title>
		<link>http://www.lukerodgers.ca/2008/08/using-wordpress-as-a-cms-part-3/</link>
		<comments>http://www.lukerodgers.ca/2008/08/using-wordpress-as-a-cms-part-3/#comments</comments>
		<pubDate>Fri, 15 Aug 2008 13:50:02 +0000</pubDate>
		<dc:creator>Luke Rodgers</dc:creator>
				<category><![CDATA[web and tech]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[dublin core]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[semantic web]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.lukerodgers.ca/?p=153</guid>
		<description><![CDATA[In the first two &#8220;wordpress as CMS&#8221; posts, I discussed the benefits of Wordpress as compared with other free, open source CMSs and how to take advantage of recent Wordpress improvements when using it as a CMS. In this installation, (&#8230;)</p><p><a href="http://www.lukerodgers.ca/2008/08/using-wordpress-as-a-cms-part-3/">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>In the first two &#8220;wordpress as <abbr title="Content Management System"><abbr title="Content Management System">CMS</abbr></abbr>&#8221; posts, I discussed the <a href="http://www.lukerodgers.ca/2008/07/using-wordpress-as-a-cms-part-1/">benefits of Wordpress as compared with other free, open source CMSs</a> and <a href="http://www.lukerodgers.ca/2008/07/using-wordpress-as-a-cms-part-2/">how to take advantage of recent Wordpress improvements when using it as a <abbr title="Content Management System">CMS</abbr></a>. In this installation, I&#8217;ll go into detail regarding a few plugins that are a &#8220;must&#8221; if you want to use Wordpress as a <abbr title="Content Management System">CMS</abbr>.</p>
<p>But first a word about plugin security. Unfortunately, Wordpress plugins have a bit of a <a href="http://www.securityfocus.com/vulnerabilities">reputation for being insecure</a>, due largely though not exclusively to the lack of proper sanitation of user input. Neglecting to check whether a user has entered malicious code into an input field into a form, for example, or tacked it onto the end of a query string can leave your server vulnerable to <abbr title="Structured Query Language">SQL</abbr> injection and similar attacks. With that in mind, it&#8217;s prudent to check around for any security issues with a plugin before you install. If you have the <abbr title="Pre-Hypertext Processing">PHP</abbr> skills, you perhaps check the plugin yourself for any code that might leave your system open to being compromised.</p>
<p>But that aside, there are many secure and well-tested Wordpress plugins, as well as many (perhaps most?) that do not introduce any user-interaction features beyond the Wordpress core and thus aren&#8217;t even really candidates for opening up additional security holes. The following is a list of just a few.</p>
<p><span id="more-153"></span></p>
<h4>Forms</h4>
<p>Whether you need a contact form, a form that allows prospective clients to get a quick sample quote, or even rudimentary e-commerce functionality, chances are your site is going to need a form somewhere along the line. Wordpress has a series of form plugins that all provide basically the same functionality, providing a simple <abbr title="Graphical User Interface"><abbr title="Graphical User Interface">GUI</abbr></abbr> allowing you to create form inputs, buttons, and some amount of validation logic without having to know any <abbr title="Hypertext Markup Language"><abbr title="HyperText Markup Language">HTML</abbr></abbr> or server-side programming language.</p>
<p>The two that I have some experience with (<a href="http://wordpress.org/extend/plugins/formbuilder/">FormBuilder</a> and <a href="http://wordpress.org/extend/plugins/cforms/">CFormsII</a>) both do what is mentioned above, but the similarities pretty much end there. In my experience, CFormsII not only provides much more functionality, but also generates nice, clean <abbr title="HyperText Markup Language">HTML</abbr> and has a helpful set of default <abbr title="Cascading Style Sheets">CSS</abbr> templates that can help layout your form pretty nicely without too much (or any at all) tweaking.</p>
<h4>Sitemap</h4>
<p>A sitemap is somewhat of an information architecture best practice. It can be a helpful last resort if primary navigation and search aren&#8217;t working for a user, or can even be a first resort for power users if they know how to use the sitemap to bypass several clicks through a deep navigation hierarchy.</p>
<p>I&#8217;m using <a href="http://wordpress.org/extend/plugins/sitemap-generator/">Dagon Design&#8217;s sitemap generator</a> for a site I&#8217;m currently working on and, while it doesn&#8217;t have a lot of functionality nor does it provide particularly fine-grained control over the output, it gets the job done (which is more than I can say for all the Joomla! 1.5 sitemap plugins I&#8217;ve tried, though my last effort at that was about 4 months ago).</p>
<h4>Page Order</h4>
<p>No doubt about it, if you&#8217;re running a <abbr title="Content Management System">CMS</abbr> you&#8217;re going to need to have control over the order in which your pages appear in lists and menus. Wordpress has a built in system for doing this, but it&#8217;s a very recent addition and is pretty unwieldy (though I&#8217;m sure they&#8217;ll be improving it in the near future). The <a href="http://wordpress.org/extend/plugins/my-page-order/">My Page Order</a> plugin provides a simple way of getting the control you need.</p>
<p>Incidentally, plugins aren&#8217;t the only way you can easily get more control over how pages are listed (or other core functionality). One way (hackish but it works) is to take the Wordpress function you want to tweak, copy+paste the file into your template&#8217;s <code>functions.php</code> file, change the function name (e.g. if your theme is called greattheme you could change the <code>wp_list_pages()</code> function to <code>gt_wp_list_pages()</code>) and make whatever little alterations you need.</p>
<p>For example, in a site I&#8217;m working on, the standard wp_list_pages() along with some key/value pairs (<code class="block">wp_list_pages(array('title_li' =&gt; '', 'meta_key'=&gt;'page-type', 'meta_value'=&gt;'global-nav'))</code>) was working for me, except I wanted to put a link to the homepage at the beginning of the list.</p>
<p>The easiest way for me to do this, without hard-coding the list into the template (and thereby losing Wordpress&#8217;s handy way of adding classes to the currently active page and its parent/ancestors) was to copy <code>wp_list_pages()</code> into my <code>functions.php</code> and insert the following line:</p>
<p><code class="block">$output .= '&lt;li class="page_item"&gt;&lt;a href="'.get_option('home').'"&gt;Home&lt;/a&gt;&lt;/li&gt;';</code></p>
<h4>Semantic Web</h4>
<p>There is a small but growing offering of Wordpress plugins that can add some Semantic Web goodness to your site. One of these is the <a href="http://www.brainonfire.net/resources/files/dublin-core-for-wordpress/">Dublin Core plugin</a>, which offers a no-nonsense implementation of a subset of the <a href="http://dublincore.org/documents/dcmi-terms/">Dublin Core Metadata Terms</a> for your Wordpress site.</p>
<p>While Wordpress is certainly not your best choice if you&#8217;re looking to create a complex site powered by a set of linking rules that relate pieces of content to each other via metadata, I think implementing the Dublin Core is a good idea even if you don&#8217;t find some clever way to directly take advantage of it: even small steps like this take us further towards the semantic web (or Semantic Web, if you like).</p>
<h4>That&#8217;s it</h4>
<p>That&#8217;s it for now. There probably won&#8217;t be another post in this mini-series, but I&#8217;m thinking of doing another comparing Wordpress, Joomla! and Drupal and discussing the situations in which they would be appropriate <abbr title="Content Management System">CMS</abbr> choices. That probably won&#8217;t happen for a while, though.</p>]]></content:encoded>
			<wfw:commentRss>http://www.lukerodgers.ca/2008/08/using-wordpress-as-a-cms-part-3/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

