I want to have the plugin manager to be able to
1) download and install plugin archives that are created by github
tags (and others)
Problem: Automatically created downloads at Github contain some badly
named root directory, so this directory has to be renamed to the
correct name (but how to determine it?).
2) install new templates (and list existing templates)
Problem: There is no easy way to recognize if something is a template
or a plugin currently.
3) make plugin info handling a bit easier
Problem: When a plugin contains several components, each has it's own
getInfo() function that needs to be updated
All 3 tasks are related and would be solved by the same idea:
I propose to add a control file into the plugin/template folder
similar to what some plugin authors already use for solving the
The file would be named 'plugin.info.txt' or 'template.info.txt' depending on
if it is a plugin or template -> solves problem 2
The contents would be simple text, parsable with conf2hash(). One key
would be the name of the plugin (called id below) -> solves problem 1
Here's an example:
author Andreas Gohr
name ImageShack Uploader
desc Integrates uploading to ImageShack into the Media Manager
For supporting this without much change we could put the conf2hash
call into the plugin base class.
Of course the whole thing would need to be backward compatible. When
no *.info.txt file is found it is assumed to be a correctly packed plugin
with its own getInfo() method.