Extend the plugin meta-data set

Registered by Netcarver on 2008-07-16

Add new entries to Xpattern plugin's meta-data that add missing fields or can be used by XP to improve the service to end users when handling plugins

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
Netcarver
Direction:
Needs approval
Assignee:
Netcarver
Definition:
Discussion
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

All of the following will become reserved meta-data entries for xpattern plugins (in addition to existing Textpattern ones)...

* A 'revision' entry.
    Allows the plugin author to specify a revision from their favorite VCS ... Bazaar, SVN, Git etc.

    Authors are advised to make their local plugin compiler automatically complete this field by fetching the latest revision of the file(s) used to compile the plugin.

* Add 'requires' entry.
    This entry will allow the plugin to express it's requirements to the xpattern plugin loader in a way that allows them to be tested before the plugin is installed into the system.

For example: $plugin['requires']='php >= 5.2; xpattern > 1.5.1; plugin.gbp_admin_library *; plugin.mem_form >= 1.2'
On trying to upload this plugin, xpattern will evaluate each part of the statement. If any one of them should fail, xpattern could take one of several actions. Here are two examples, of which I personally prefer option b)...

a) not install the plugin but warn the user that the plugin's requirements are not met in this installation. ** Implemented rev 1254. Screenshot at http://txp-plugins.netcarving.com/images/35.png
b) warn but install the plugin; but don't allow it to be enabled until the 'requires' field evaluates as completely satisfied.

Possible relations; '>' , 'gt' , '>=', 'gte' , '=' , '==' , 'eq' , '!=' , '<>' , 'neq' , '<=' , 'lte' , '<' , 'lt' , '*' (any version)

* Add a richer set of URLs (all optional)...
    'author_url' a link the author can use to point to info about themselves ,
    'plugin_url' a link to a site or page about this plugin ,
    'forum_url' a link to a discussion forum thread about this plugin,

* Add a reserved url for possible future automatic updates...
    'update_feed' (optional)

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.