1

I can get latest WP using latest.tar.gz http://wordpress.org/latest.tar.gz How to get latest plugins? I checked about svn i need to know when new version is out and in command svn sw put latest link so thats bad option. Trunk is bad couse its development so that means it can be not be stable therefore not called stable version. So for WP ill use link latest.tar.gz But what to do with plugins? They have one more problem. They dont have latest. I could use svn if there would be a way to auto get latest without checking all plugins im using do they have new version number and entering it in svn external file. So whats best solution? Is there autochecker? Autodownloader? In website i know but its slow and my server has time limits witch is too small for update to finish.

2 Answers 2

2

If you know Subversion basics and can work with it (and write at least some bash-code), it will be feasible task

All plugins placed in common repo http://plugins.svn.wordpress.org, each plugin is subdir of the root plugins.svn.wordpress.org/PLUGINNAME, published versions (all, not only releases) stored as directories in tags: plugins.svn.wordpress.org/PLUGINNAME/tags/

In order to check new versions of plugins, you have to

  • Know monitored URL
  • Find, install and configure commit-monitor (I know none for *Buntu) or perform svn ls plugins.svn.wordpress.org/PLUGINNAME/tags/ + ... + in cron (when ls output will change - you have new version)
  • Checkout latest tag of lugin
  • Save it to correct server's location
0

I've recently forked a python script to do this, see https://github.com/nikdow/wordpress_plugins

  1. The script follows WP plugin guidelines and parses /trunk/readme.txt to find out the Stable Tag (or trunk) that is the current release. It will switch to a new tag only when /trunk/readme.txt indicates it is the latest stable release. It will sync from trunk under the same conditions that WP will do so when checking for updates, i.e. Stable Tag is set to "trunk" or the tag mentioned in Stable Tag does not exist.

  2. If it's trunk, the script does an svn update without checking whether it's needed.

  3. If it's a tag, it will only execute an svn switch if the Stable Tag has changed from the tag currently fetched.

The reason for using SVN to update plugins (and themes) is to avoid giving apache write access to the directories, which creates a security issue. Most of the hacks I've seen involve getting apache to write or modify a .php file in the plugin, theme or core directory.

I run the script from root cron:

13 6,18 * * * /home/lamp/wordpress/update_plugins/update_plugins.py

Occasionally because of PHP OPcache it needs service apache2 reload to clear the cache, so you could add that to the end of the script to be on the safe side.

Not the answer you're looking for? Browse other questions tagged or ask your own question.