[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