PKP Bugzilla – Bug 3745
Add plugin install / management tool
Last modified: 2009-07-29 15:59:59 PDT
Add a command-line tool to install and/or manage plugins. Also consider an installer in the plugin Management pages. This would help for users who are dropping plugins in after the system installation takes place, e.g. for syncing the database against plugin schema descriptors.
Created attachment 1005 [details] Patch against OJS/OCS Pre-2.3 CVS
Created attachment 1006 [details] Patch against PKP-lib Pre-2.3 CVS This is going to require that plugins have a version.xml file (much like in the OJS dbscripts/xml/ directory, but I'm realizing now that plugins won't need as many attributes, and so I will probably have to make some changes to the patches in 3781), and also supports optional install.xml and upgrade.xml files to synchronize database changes made by the plugin after OxS is installed.
Created attachment 1032 [details] Patch against OJS Pre-2.3 CVS Splits the plugin page into separate pages for each category, adds an 'install plugin' link to main plugin page, and 'delete plugin' and 'upgrade plugin' links to each plugin (next to its management verbs). Some caveats/concerns: -Each plugin from now on is going to need a version.xml file -I'm not sure I'm happy with how to package/upload plugins... *PHP cannot upload directories (without the help of, e.g., Java), so to install a new plugin it must be gzipped. *Additionally, with this code, the tarball must have the same prefix name as the plugin directory, and the plugin code must be in the root directory of the extracted tarball (which is unlike how plugins are packaged e.g. on the forums). *This code uses 'exec' to extract tarballs, and this is probably not the best thing--But there are really no other options, besides using the tar_archive library provided by PEAR PHP.
Created attachment 1034 [details] Additional patch against PKP-lib Pre-2.3 CVS Apparently, the copyDir() function was not added in the last PKP-lib patch i added to bug #3781. It is not necessary for that entry, so it is attached here.
Created attachment 1040 [details] Patch against OJS Pre-2.3 CVS Fixes a few bugs in the previous patch and localizes error strings
Created attachment 1041 [details] Patch against OCS Pre-2.3 CVS
Committed to ojs2 and ocs2 development branches.
*** Bug 3785 has been marked as a duplicate of this bug. ***
Created attachment 1063 [details] default operation handling: patch pre 2.3 CVS invalid URL's with path "pluginManagement" were resulting in a blank page. Defaulted to the manager/plugins page.
Created attachment 1064 [details] added default operation handling: patch against pre-2.3 CVS invalid URL's with path "pluginManagement" were resulting in a blank page. Defaulted to the manager/plugins page.
Created attachment 1079 [details] Patch against Harvester Pre-2.3 CVS
Committed attachment #1079 [details] to CVS.
Created attachment 2132 [details] Patch against OJS pre-2.3 CVS
Created attachment 2133 [details] Patch against OMP pre-2.3 CVS
Created attachment 2134 [details] Patch against OCS pre-2.3 CVS
Created attachment 2135 [details] Patch against Harvester pre-2.3.1 CVS
These patches fix delete functionality by adding stock plugins to version table on installation. All 4 have been committed.
Matt, the plugin version.xml files should refer to an external DTD rather than duping the definitions in each copy; also, the <tag> element isn't being used properly here; I'd suggest making it optional and not including it in plugin descriptors.
Created attachment 2147 [details] Patch against Harvester pre-2.3.1 CVS
Created attachment 2148 [details] Patch against OCS pre-2.3 CVS
Created attachment 2149 [details] Patch against OJS pre-2.3 CVS
Created attachment 2150 [details] Patch against OMP pre-2.3 CVS
Created attachment 2151 [details] Patch against PKP WAL CVS
Fixed.
Matt, the plugin version descriptors don't validate using xmllint -- it looks like there's still some old plugin settings cruft in there. I get e.g.: ./themes/vanilla/version.xml:14: element version: validity error : root and DTD name do not match 'version' and 'plugin_settings'
Created attachment 2212 [details] Patch against OMP pre-2.3 CVS Yup, it was a typo.
Created attachment 2213 [details] Patch against OJS pre-2.3 CVS
Created attachment 2214 [details] Patch against OCS pre-2.3 CVS
Created attachment 2215 [details] Patch against Harvester pre-2.3.1 CVS