<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="http://www.majordojo.com/projects/FeedManager/atom.xsl" type="text/xsl" media="screen"?>
<feed xmlns="http://www.w3.org/2005/Atom" 
      xmlns:thr="http://purl.org/syndication/thread/1.0">
  <link rel="alternate" type="text/html" href="http://www.majordojo.com/2006/04/the-plugin-of-all-plugins.php" />
  <link rel="self" type="application/atom+xml" href="http://www.majordojo.com/2006/04/the-plugin-of-all-plugins.php" />
  <id>tag:www.majordojo.com,2010://3/tag:www.majordojo.com,2006://3.1195-</id>
  <updated>2010-02-26T09:30:42Z</updated>
  <title>Comments for The Plugin of All Plugins</title>
  <subtitle>A blog about Movable Type, technology, geek-dom, science-fiction and yes, sometimes my personal life.</subtitle>
  <generator uri="http://www.sixapart.com/movabletype/">Movable Type 4.261</generator>
  <entry>
    <id>tag:www.majordojo.com,2006://3.1195</id>
    <link rel="alternate" type="text/html" href="http://www.majordojo.com/2006/04/the-plugin-of-all-plugins.php" />
    <link rel="service.edit" type="application/atom+xml" href="http://www.majordojo.com/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=3/entry_id=1195" title="The Plugin of All Plugins" />
    <published>2006-04-17T20:59:25Z</published>
    <updated>2007-01-15T22:33:42Z</updated>
    <title>The Plugin of All Plugins</title>
    <summary>I am the author of some relatively popular plugins for Movable Type, which is both a blessing and a curse. The &#8220;curse&#8221; comes from having to do the one thing most developers probably hate: support. And where do you think...</summary>
    <author>
      <name>Byrne</name>
      <uri>http://www.majordojo.com/</uri>
    </author>
    
    <category term="Announcements" />
    
    <category term="Movable Type" />
    
    <category term="Open Source" />
    
    <content type="html" xml:lang="en" xml:base="http://www.majordojo.com/">
      <![CDATA[<p>I am the author of some relatively popular <a href="http://www.majordojo.com/projects.php">plugins</a> for <a href="http://www.sixapart.com/movabletype/">Movable Type</a>, which is both a blessing and a curse. The &#8220;curse&#8221; comes from having to do the one thing most developers probably hate: support. And where do you think all my time is spent in supporting these plugins? Fixing bugs? I wish. </p>

<p>The majority of my time goes into helping users fix broken installation issues. A valuable service, but to those who have already installed the plugins, I am certain they would rather me fix the bugs or add new features. But alas, there is no time.</p>

<p>So I wrote <a href="http://www.majordojo.com/projects/PluginManager/">Plugin Manager</a> - a new Movable Type plugin that completely automates the installation and upgrade process of other Movable Type plugins.</p>

<p><a href="http://www.majordojo.com/projects/PluginManager/images/screenshots/plugin_intro.png"><img alt="pm-screen-sm.png" src="http://www.majordojo.com/images/screenshots/pm-screen-sm.png" border="0" class="photo" /></a></p>
]]>
      <![CDATA[<p>Once the plugin is <a href="http://www.majordojo.com/projects/PluginManager/downloads/index.php">installed</a>, it works just like <a href="http://www.getfirefox.com">Firefox</a>&#8217;s extension manager by providing a console where you can view currently installed plugins, and then automatically search for and install updates to those plugins.</p>

<p><a href="http://www.majordojo.com/images/screenshots/firefox.png"><img class="photo" alt="firefox.png" src="http://www.majordojo.com/images/screenshots/firefox-thumb.png" width="300" height="297" /></a></p>

<p>But while the user benefits I think speak for themselves, one cannot overlook the audience this plugin was really created for: developers.</p>

<p>Any <a href="http://www.sixapart.com/pronet/plugins/">Movable Type plugin developer</a> can include with their plugin a single file, adhering to a <a href="http://www.majordojo.com/projects/PluginManager/documentation/packaging_forma.php">special XML format</a> and instantly automate the installation process for their plugin. Why is this important? Not only does it make your users&#8217; lives easier, but it makes <em>your</em> life easier.</p>

<p>With Plugin Manager developers no longer need to provide installation support for their users. In stead, developers can focus on critical bug fixes, and of course: feature requests. So you tell me, what would you rather spend your time doing: implementing a new feature, or helping a customer solve a permissions problem on their server? </p>

<p>Facilitating the upgrade process is handled by <a href="http://www.majordojo.com/projects/PluginManager/documentation/plugin_version_1.php">publishing a file on your webserver</a> that points Plugin Manager to the latest version of your plugin. Plugin Manager will then automatically detect when newer versions of your plugin are available and prompt users to install available updates.</p>

<p><em>Ok, I am sold. How do I install Plugin Manager?</em></p>

<p>It would be sad if a plugin whose job it was to make easy to install plugins was difficult to install itself! So installation is accomplished by <a href="http://www.majordojo.com/projects/PluginManager/downloads/index.php">uploading a single file</a> in your MT installation, and then accessing it. The installation script will ensure that you have all the <a href="http://www.majordojo.com/projects/PluginManager/documentation/plugin_manager.php">prerequisites</a> installed, and if everything checks out, it will install all the files into your system automatically.</p>

<p>Why delay, install Plugin Manager today and then install one of <a href="http://www.majordojo.com/projects/PluginManager/archives/supported_plugins/">the many plugins already compatible with Plugin Manager</a>!</p>
]]>
    </content>
  </entry>

  <entry>
    <id>tag:www.majordojo.com,2006://3.1195-comment:12340</id>
    <thr:in-reply-to ref="tag:www.majordojo.com,2006://3.1195" type="text/html" href="http://www.majordojo.com/2006/04/the-plugin-of-all-plugins.php"/>
    <link rel="alternate" type="text/html" href="http://www.majordojo.com/2006/04/the-plugin-of-all-plugins.php#c12340" />
    <title>Comment from Viking KARWUR on 2006-04-17</title>
    <author>
        <name>Viking KARWUR</name>
<!--        <uri>http://www.vikingkarwur.com</uri> -->
    </author>
    <content type="html" xml:lang="en" xml:base="http://www.vikingkarwur.com">
	<![CDATA[<p>This is cool plugins I waiting for... Thanks...</p>
]]>
    </content>
    <published>2006-04-18T05:17:03Z</published>
    <updated>2006-04-18T05:17:03Z</updated>
  </entry>

  <entry>
    <id>tag:www.majordojo.com,2006://3.1195-comment:12341</id>
    <thr:in-reply-to ref="tag:www.majordojo.com,2006://3.1195" type="text/html" href="http://www.majordojo.com/2006/04/the-plugin-of-all-plugins.php"/>
    <link rel="alternate" type="text/html" href="http://www.majordojo.com/2006/04/the-plugin-of-all-plugins.php#c12341" />
    <title>Comment from Neil T. on 2006-04-18</title>
    <author>
        <name>Neil T.</name>
<!--        <uri>http://www.neilturner.me.uk/</uri> -->
    </author>
    <content type="html" xml:lang="en" xml:base="http://www.neilturner.me.uk/">
	<![CDATA[<p>Looks great, but I'm having a devil of a job installing Archive::Extract. I've uploaded it and (I think) all of its missing pre-requisites to MT_CGI/extlib, but PM still doesn't say it is installed. It also says my static path isn't writeable, when actually it is.</p>

<p>Unfortunately I have to do this over FTP as I don't have shell access to the server that my site uses.</p>
]]>
    </content>
    <published>2006-04-18T07:02:13Z</published>
    <updated>2006-04-18T07:02:13Z</updated>
  </entry>

  <entry>
    <id>tag:www.majordojo.com,2006://3.1195-comment:12342</id>
    <thr:in-reply-to ref="tag:www.majordojo.com,2006://3.1195" type="text/html" href="http://www.majordojo.com/2006/04/the-plugin-of-all-plugins.php"/>
    <link rel="alternate" type="text/html" href="http://www.majordojo.com/2006/04/the-plugin-of-all-plugins.php#c12342" />
    <title>Comment from Neil T. on 2006-04-18</title>
    <author>
        <name>Neil T.</name>
<!--        <uri>http://www.neilturner.me.uk/</uri> -->
    </author>
    <content type="html" xml:lang="en" xml:base="http://www.neilturner.me.uk/">
	<![CDATA[<p>And trying to run it on Mac OS X produced this error in my Apache error log:</p>

<p>Prototype mismatch: sub main::head: none vs ($) at /Library/WebServer/CGI-Executables/mt/pm-install.cgi line 6
Can't locate object method "instance" via package "MT::App" (perhaps you forgot to load "MT::App"?) at /Library/WebServer/CGI-Executables/mt/pm-install.cgi line 30.
[Tue Apr 18 09:06:37 2006] [error] [client 127.0.0.1] Premature end of script headers: /Library/WebServer/CGI-Executables/mt/pm-install.cgi</p>

<p>The script was in the MTCGI/ folder.</p>
]]>
    </content>
    <published>2006-04-18T07:19:46Z</published>
    <updated>2006-04-18T07:19:46Z</updated>
  </entry>

  <entry>
    <id>tag:www.majordojo.com,2006://3.1195-comment:12346</id>
    <thr:in-reply-to ref="tag:www.majordojo.com,2006://3.1195" type="text/html" href="http://www.majordojo.com/2006/04/the-plugin-of-all-plugins.php"/>
    <link rel="alternate" type="text/html" href="http://www.majordojo.com/2006/04/the-plugin-of-all-plugins.php#c12346" />
    <title>Comment from Steffen M. Boelaars on 2006-04-18</title>
    <author>
        <name>Steffen M. Boelaars</name>
<!--        <uri>http://www.white-russian.nl/</uri> -->
    </author>
    <content type="html" xml:lang="en" xml:base="http://www.white-russian.nl/">
	<![CDATA[<p>Neil T.: remove '::App' from line 30 and it should work, and also create a writeable 'plugins' folder inside your mt-static folder. This should solve your problems.</p>

<p>Anyone: When using postgresql, right after finishing the installation, but before going to the pluginmanager screen for the first time (or when you get the error screen :P ) go into the database and execute the following 2 commands:</p>

<p>CREATE SEQUENCE mt<em>pluginmanager</em>id<em>seq;
ALTER TABLE mt</em>pluginmanager ALTER COLUMN pluginmanager<em>id SET DEFAULT nextval('mt</em>pluginmanager<em>id</em>seq');</p>
]]>
    </content>
    <published>2006-04-18T12:33:54Z</published>
    <updated>2006-04-18T12:33:54Z</updated>
  </entry>

  <entry>
    <id>tag:www.majordojo.com,2006://3.1195-comment:12347</id>
    <thr:in-reply-to ref="tag:www.majordojo.com,2006://3.1195" type="text/html" href="http://www.majordojo.com/2006/04/the-plugin-of-all-plugins.php"/>
    <link rel="alternate" type="text/html" href="http://www.majordojo.com/2006/04/the-plugin-of-all-plugins.php#c12347" />
    <title>Comment from staggernation on 2006-04-18</title>
    <author>
        <name>staggernation</name>
<!--        <uri>http://www.staggernation.com/</uri> -->
    </author>
    <content type="html" xml:lang="en" xml:base="http://www.staggernation.com/">
	<![CDATA[<p>Neil, here are all the modules I had to install to get Archive::Extract working:</p>

<p>IPC::Cmd
Params::Check
Module::Load
Module::Load::Conditional
Locale::Maketext::Simple</p>

<p>Hope that helps...</p>
]]>
    </content>
    <published>2006-04-18T13:16:21Z</published>
    <updated>2006-04-18T13:16:21Z</updated>
  </entry>

  <entry>
    <id>tag:www.majordojo.com,2006://3.1195-comment:12348</id>
    <thr:in-reply-to ref="tag:www.majordojo.com,2006://3.1195" type="text/html" href="http://www.majordojo.com/2006/04/the-plugin-of-all-plugins.php"/>
    <link rel="alternate" type="text/html" href="http://www.majordojo.com/2006/04/the-plugin-of-all-plugins.php#c12348" />
    <title>Comment from Neil T. on 2006-04-18</title>
    <author>
        <name>Neil T.</name>
<!--        <uri>http://www.neilturner.me.uk/</uri> -->
    </author>
    <content type="html" xml:lang="en" xml:base="http://www.neilturner.me.uk/">
	<![CDATA[<p>Thanks guys. Still not got Archive::Extract installed (I think its dependencies have some dependencies of their own which are not yet satisfied) on my main site but I have it working locally on my Mac thanks to Steffen's tip. It required a lot of time using cpan though.</p>
]]>
    </content>
    <published>2006-04-18T14:01:02Z</published>
    <updated>2006-04-18T14:01:02Z</updated>
  </entry>

  <entry>
    <id>tag:www.majordojo.com,2006://3.1195-comment:12349</id>
    <thr:in-reply-to ref="tag:www.majordojo.com,2006://3.1195" type="text/html" href="http://www.majordojo.com/2006/04/the-plugin-of-all-plugins.php"/>
    <link rel="alternate" type="text/html" href="http://www.majordojo.com/2006/04/the-plugin-of-all-plugins.php#c12349" />
    <title>Comment from Timothy Appnel on 2006-04-18</title>
    <author>
        <name>Timothy Appnel</name>
<!--        <uri>http://www.appnel.com</uri> -->
    </author>
    <content type="html" xml:lang="en" xml:base="http://www.appnel.com">
	<![CDATA[<p>Byrne: I appreciate the need and urgency to get this out, but I really think you need to reassess the prerequesites to get this working. If Neil is having trouble getting it installed what are the chances of the average MT user using FTP? I don't think trying to include every module in the MT distribution should always be the answer. Complicating matters is that some of these require compilation.</p>

<p>As we discuss privately I'm pretty sure a pure perl solution could be devised. I'm also pretty certain that a single (albeit a bit large) Atom file could be used instead of an XML file of your own making in addition to all of the file that make up the plugin. You'd need a developers tool to package up the plugin using </p>

<p>You'd need a developers tool to create the distrubtion in Atom compressed by Compress-Zlib form, but could use (fallback) on Compress::Zlib::Perl and XML::Atom::Syndication for the installation. Both packages are pure perl, and more readily distrubted and installed via FTP.</p>
]]>
    </content>
    <published>2006-04-18T15:30:54Z</published>
    <updated>2006-04-18T15:30:54Z</updated>
  </entry>

  <entry>
    <id>tag:www.majordojo.com,2006://3.1195-comment:12351</id>
    <thr:in-reply-to ref="tag:www.majordojo.com,2006://3.1195" type="text/html" href="http://www.majordojo.com/2006/04/the-plugin-of-all-plugins.php"/>
    <link rel="alternate" type="text/html" href="http://www.majordojo.com/2006/04/the-plugin-of-all-plugins.php#c12351" />
    <title>Comment from Steffen M. Boelaars on 2006-04-18</title>
    <author>
        <name>Steffen M. Boelaars</name>
<!--        <uri>http://www.white-russian.nl/</uri> -->
    </author>
    <content type="html" xml:lang="en" xml:base="http://www.white-russian.nl/">
	<![CDATA[<p>I do agree with Tim. Modules that need compiling can be quite a pain and I try to avoid them as much as possible. As a person who deals a lot with big-endian non-i386 servers, I quite often run into problems with modules like these breaking during compilation. Luckily it all worked fine with the Archive::Extract module.</p>
]]>
    </content>
    <published>2006-04-18T16:25:08Z</published>
    <updated>2006-04-18T16:25:08Z</updated>
  </entry>

  <entry>
    <id>tag:www.majordojo.com,2006://3.1195-comment:12352</id>
    <thr:in-reply-to ref="tag:www.majordojo.com,2006://3.1195" type="text/html" href="http://www.majordojo.com/2006/04/the-plugin-of-all-plugins.php"/>
    <link rel="alternate" type="text/html" href="http://www.majordojo.com/2006/04/the-plugin-of-all-plugins.php#c12352" />
    <title>Comment from Byrne Reese on 2006-04-18</title>
    <author>
        <name>Byrne Reese</name>
<!--        <uri>http://www.majordojo.com</uri> -->
    </author>
    <content type="html" xml:lang="en" xml:base="http://www.majordojo.com">
	<![CDATA[<p>Tim - you're such a kill joy. This is alpha software.</p>

<p>But yes, I agree with everyone's feedback. I will be working to make the prerequisites easier to resolve.</p>

<p>As for Atom vs my own XML schema. Please don't preach to me about the benefits of using Atom. Honestly. :) Atom is very extensible and <em>could</em> be used here. But just because it can, doesn't mean it should. I preferred creating my own semantics which were clearer to the developer than trying to overload the semantics of another protocol. And in the end, its just XML, what difference does it make if its an &lt;entry&gt; or &lt;file&gt;?</p>
]]>
    </content>
    <published>2006-04-18T17:28:44Z</published>
    <updated>2006-04-18T17:28:44Z</updated>
  </entry>

  <entry>
    <id>tag:www.majordojo.com,2006://3.1195-comment:12353</id>
    <thr:in-reply-to ref="tag:www.majordojo.com,2006://3.1195" type="text/html" href="http://www.majordojo.com/2006/04/the-plugin-of-all-plugins.php"/>
    <link rel="alternate" type="text/html" href="http://www.majordojo.com/2006/04/the-plugin-of-all-plugins.php#c12353" />
    <title>Comment from Jay Allen on 2006-04-18</title>
    <author>
        <name>Jay Allen</name>
<!--        <uri>http://www.jayallen.org</uri> -->
    </author>
    <content type="html" xml:lang="en" xml:base="http://www.jayallen.org">
	<![CDATA[<blockquote><p><em>Byrne: I appreciate the need and urgency to get this out, but I really think you need to reassess the prerequesites to get this working. If Neil is having trouble getting it installed what are the chances of the average MT user using FTP? I don't think trying to include every module in the MT distribution should always be the answer. Complicating matters is that some of these require compilation.</em></p></blockquote>

<p>Who are you and how in the hell did you get access to Tim's TypeKey account?</p>
]]>
    </content>
    <published>2006-04-18T17:59:53Z</published>
    <updated>2006-04-18T17:59:53Z</updated>
  </entry>

  <entry>
    <id>tag:www.majordojo.com,2006://3.1195-comment:12376</id>
    <thr:in-reply-to ref="tag:www.majordojo.com,2006://3.1195" type="text/html" href="http://www.majordojo.com/2006/04/the-plugin-of-all-plugins.php"/>
    <link rel="alternate" type="text/html" href="http://www.majordojo.com/2006/04/the-plugin-of-all-plugins.php#c12376" />
    <title>Comment from David Raynes on 2006-04-19</title>
    <author>
        <name>David Raynes</name>
<!--        <uri>http://www.rayners.org/</uri> -->
    </author>
    <content type="html" xml:lang="en" xml:base="http://www.rayners.org/">
	<![CDATA[<p>Actually, Steffen, all that is necessary to get the sequences working correctly in postgres is to name them appropriately (MT has a sequence naming scheme).  In this case (I don't have the plugin installed yet so I cannot verify it), the following SQL code should be sufficient.</p>

<pre>CREATE SEQUENCE mt_pluginmanager_id START 1;
</pre>

<p>SQL code similar to that were enough to get MediaManager (and MTAmazon) working for me.</p>
]]>
    </content>
    <published>2006-04-19T15:30:00Z</published>
    <updated>2006-04-19T15:30:00Z</updated>
  </entry>

  <entry>
    <id>tag:www.majordojo.com,2006://3.1195-comment:12411</id>
    <thr:in-reply-to ref="tag:www.majordojo.com,2006://3.1195" type="text/html" href="http://www.majordojo.com/2006/04/the-plugin-of-all-plugins.php"/>
    <link rel="alternate" type="text/html" href="http://www.majordojo.com/2006/04/the-plugin-of-all-plugins.php#c12411" />
    <title>Comment from Yudel on 2006-04-21</title>
    <author>
        <name>Yudel</name>
<!--        <uri>http://www.shmoozenet.com/yudel</uri> -->
    </author>
    <content type="html" xml:lang="en" xml:base="http://www.shmoozenet.com/yudel">
	<![CDATA[<p>I want to report that I've successfully installed it -- and it looks quite cool!</p>

<p>Something to think about: How to handle already-installed-plugins? I'm already using the Sidebar manager. What would happen if I were to try to install it again using Plugin Manager?</p>
]]>
    </content>
    <published>2006-04-21T14:49:51Z</published>
    <updated>2006-04-21T14:49:51Z</updated>
  </entry>

  <entry>
    <id>tag:www.majordojo.com,2006://3.1195-comment:12412</id>
    <thr:in-reply-to ref="tag:www.majordojo.com,2006://3.1195" type="text/html" href="http://www.majordojo.com/2006/04/the-plugin-of-all-plugins.php"/>
    <link rel="alternate" type="text/html" href="http://www.majordojo.com/2006/04/the-plugin-of-all-plugins.php#c12412" />
    <title>Comment from Byrne Reese on 2006-04-21</title>
    <author>
        <name>Byrne Reese</name>
<!--        <uri>http://www.majordojo.com</uri> -->
    </author>
    <content type="html" xml:lang="en" xml:base="http://www.majordojo.com">
	<![CDATA[<p>Assuming that (in your case) Sidebar Manager's directories are writable, then Plugin Manager will re-install Sidebar Manager over the old files, and then enable Plugin Manager to check for Sidebar Manager updates.</p>
]]>
    </content>
    <published>2006-04-21T17:30:54Z</published>
    <updated>2006-04-21T17:30:54Z</updated>
  </entry>

  <entry>
    <id>tag:www.majordojo.com,2006://3.1195-comment:44085</id>
    <thr:in-reply-to ref="tag:www.majordojo.com,2006://3.1195" type="text/html" href="http://www.majordojo.com/2006/04/the-plugin-of-all-plugins.php"/>
    <link rel="alternate" type="text/html" href="http://www.majordojo.com/2006/04/the-plugin-of-all-plugins.php#c44085" />
    <title>Comment from eric on 2006-12-01</title>
    <author>
        <name>eric</name>
<!--         -->
    </author>
    <content type="html" xml:lang="en" xml:base="">
	<![CDATA[<p>I keep getting this eroor message:
Error initializing Plugin Manager: Insertion test failed on SQL error Table 'mt_pluginmanager' doesn't exist .
Can anyone help me?Shoudl I write a sql command to create this table manually?if so, can you help me in writing one?</p>
]]>
    </content>
    <published>2006-12-01T18:23:34Z</published>
    <updated>2006-12-01T18:23:34Z</updated>
  </entry>

  <entry>
    <id>tag:www.majordojo.com,2006://3.1195-comment:55508</id>
    <thr:in-reply-to ref="tag:www.majordojo.com,2006://3.1195" type="text/html" href="http://www.majordojo.com/2006/04/the-plugin-of-all-plugins.php"/>
    <link rel="alternate" type="text/html" href="http://www.majordojo.com/2006/04/the-plugin-of-all-plugins.php#c55508" />
    <title>Comment from winson on 2007-03-06</title>
    <author>
        <name>winson</name>
<!--         -->
    </author>
    <content type="html" xml:lang="en" xml:base="">
	<![CDATA[<p>Hi,</p>

<p>I have the same problem. Could you please post SQL command to create mt_pluginmanager table??</p>
]]>
    </content>
    <published>2007-03-06T12:53:16Z</published>
    <updated>2007-03-06T12:53:16Z</updated>
  </entry>

  <entry>
    <id>tag:www.majordojo.com,2006://3.1195-comment:64578</id>
    <thr:in-reply-to ref="tag:www.majordojo.com,2006://3.1195" type="text/html" href="http://www.majordojo.com/2006/04/the-plugin-of-all-plugins.php"/>
    <link rel="alternate" type="text/html" href="http://www.majordojo.com/2006/04/the-plugin-of-all-plugins.php#c64578" />
    <title>Comment from ed on 2007-06-15</title>
    <author>
        <name>ed</name>
<!--         -->
    </author>
    <content type="html" xml:lang="en" xml:base="">
	<![CDATA[<p>hi, plugin manager is cool. thanks bryne! for those who had trouble installing please see the forums page.</p>

<p>specifically, if you had trouble installing Archive::Extract, check if you have simple.pm installed in /extlib/Locale/Maketext. if you had trouble initializing Plugin Manager, running mt.cgi should fix things. have fun!</p>
]]>
    </content>
    <published>2007-06-15T14:54:58Z</published>
    <updated>2007-06-15T14:54:58Z</updated>
  </entry>

</feed>

