[wp-hackers] Plugin Management and Autoupdate System

Peter Westwood peter.westwood at ftwr.co.uk
Sat Jul 29 22:08:46 GMT 2006


Computer Guru wrote:
> I'm done with a framework that checks for the updates.
> Basically I'm going with an RDF RSS file that looks something like this:
> 
> 
> <?xml version="1.0" encoding="utf-8"?>
> <rss version="2.0">
>     <channel>
>         <title>CompleteRSS Download Bulletin</title>
>         <link>http://neosmart.net/dl.php?id=2</link>
>         <description>CompleteRSS is the best WP plugin ever!</description>
>         <lastBuildDate>20 Jul 2006 12:34:56 GMT</lastBuildDate>
>         <item>
> 	        <title>Alpha 2</title>
> 	
> <link>http://neosmart.net/mint/pepper/orderedlist/downloads/download.php?fil
> e=http%3A//neosmart.net/downloads/software/WordPress/Plugins/CompleteRSS/Com
> pleteRSS_0.2.phps</link>
> 	        <guid isPermaLink="false">0.3</guid>
> 	        <pubDate>20 Jul 2006 12:34:56 GMT</pubDate>
> 	        <description>Upgrade immediately to win a cool
> million!</description>
>         </item>       
>         <item>
> 	        <title>Alpha 1</title>
> 	
> <link>http://neosmart.net/mint/pepper/orderedlist/downloads/download.php?fil
> e=http%3A//neosmart.net/downloads/software/WordPress/Plugins/CompleteRSS/Com
> pleteRSS_0.1.phps</link>
> 	        <guid isPermaLink="false">0.1</guid>
> 	        <pubDate>03 Jul 2006 13:14:15 GMT</pubDate>
> 	        <description>This version is the first
> release!</description>
>         </item>
>     </channel>
> </rss>

What about support for multiple WP Versions?

Some plugins exists at different versions for different WP Versions -
for example taking advantage of new features with a rewrite while still
keeping the old version available for people using old WP Versions.

> 
> 
> It is saved as a plaintext (.xml or .rdf preferable) file on any server
> anywhere. In the plugin itself:
> /* 
> Plugin Name: CompleteRSS 
> Plugin URI: http://neosmart.net/dl.php?id=2 
> Update URI: http://neosmart.ath.cx/CompleteRSS.xml 
> Description: CompleteRSS makes sure your RSS Feeds contain full article text
> and are fully valid - because your readers deserve it! 
> Version: 0.2 
> Author: Computer Guru 
> Author URI: http://neosmart.net/blog/
> */
> 
> Notice the line of added meta data: "Update URI"
> 
> On the server-side I've finished a script that cycle through all installed
> plugins, search for "Update URI" metadata, and if found, query the XML/RDF
> file, check if a new version is available, and return the result.
>

I assume this will be users trigged or will it run via the builtin cron.


> Before I take this any further:
> Is this OK or not? I don't want to put weeks into it and find out there is
> no interest.
> 

It is interesting, as have been the other update methods.

I would prefer to see the option of multiple different types of update
uri so as to support formats other than rdf.

This post from the last time we discussed auto-updating sums up my ideas
in this area
(http://comox.textdrive.com/pipermail/wp-hackers/2006-February/004637.html)


> I can prolly really soon get a working version of this that has _very_ basic
> auto-update and auto-install and auto-remove features included. It'll simply
> grab a remote plain-text file, save it as a PHP file on the local server in
> the plugins DIR.
> On update it will delete the old file and save the new.
> On uninstall it will delete the old file.
> 

What do you mean by auto-remove?  Your not suggesting WordPress
automatticly disables plugins based on information from an external
source are you - that's a surefire way to break sites!

> I don't have anything in my head yet as to the best way of creating an
> (un)install routine for anything more complex than this; such as
> (un)installing database tables or multiple file plugins.
>

Surely uninstall should use the builtin deactivate-plugin hooks???


> Source code available on demand, ask and you shall receive. And no, it's not
> a plugin, it's a wp-core file.
> 

Why not attach it to a ticket on trac as a patch for all to see?

westi
-- 
Peter Westwood
http://blog.ftwr.co.uk



More information about the wp-hackers mailing list