Bug 3745 - Add plugin install / management tool
Add plugin install / management tool
Status: RESOLVED FIXED
Product: PKP-LIB
Classification: Unclassified
Component: General
2.0
PC Linux
: P1 normal
Assigned To: PKP Support
: 3785 (view as bug list)
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2008-08-22 10:55 PDT by Alec Smecher
Modified: 2009-07-29 15:59 PDT (History)
2 users (show)

See Also:
Version Reported In:
Also Affects:


Attachments
Patch against OJS/OCS Pre-2.3 CVS (1.06 KB, patch)
2008-10-03 13:16 PDT, Matthew Crider
Details | Diff
Patch against PKP-lib Pre-2.3 CVS (10.21 KB, patch)
2008-10-03 13:19 PDT, Matthew Crider
Details | Diff
Patch against OJS Pre-2.3 CVS (76.47 KB, patch)
2008-10-16 11:26 PDT, Matthew Crider
Details | Diff
Additional patch against PKP-lib Pre-2.3 CVS (1.42 KB, patch)
2008-10-16 12:18 PDT, Matthew Crider
Details | Diff
Patch against OJS Pre-2.3 CVS (27.14 KB, patch)
2008-10-20 12:27 PDT, Matthew Crider
Details | Diff
Patch against OCS Pre-2.3 CVS (28.69 KB, patch)
2008-10-20 14:03 PDT, Matthew Crider
Details | Diff
default operation handling: patch pre 2.3 CVS (678 bytes, patch)
2008-10-29 15:51 PDT, Juan Pablo Alperin
Details | Diff
added default operation handling: patch against pre-2.3 CVS (677 bytes, patch)
2008-10-29 15:52 PDT, Juan Pablo Alperin
Details | Diff
Patch against Harvester Pre-2.3 CVS (27.53 KB, patch)
2008-11-03 17:45 PST, Matthew Crider
Details | Diff
Patch against OJS pre-2.3 CVS (91.42 KB, patch)
2009-07-16 14:48 PDT, Matthew Crider
Details | Diff
Patch against OMP pre-2.3 CVS (31.28 KB, patch)
2009-07-16 14:48 PDT, Matthew Crider
Details | Diff
Patch against OCS pre-2.3 CVS (58.24 KB, patch)
2009-07-16 14:49 PDT, Matthew Crider
Details | Diff
Patch against Harvester pre-2.3.1 CVS (27.60 KB, patch)
2009-07-16 14:49 PDT, Matthew Crider
Details | Diff
Patch against Harvester pre-2.3.1 CVS (20.62 KB, patch)
2009-07-20 10:49 PDT, Matthew Crider
Details | Diff
Patch against OCS pre-2.3 CVS (49.90 KB, patch)
2009-07-20 10:49 PDT, Matthew Crider
Details | Diff
Patch against OJS pre-2.3 CVS (84.13 KB, patch)
2009-07-20 10:49 PDT, Matthew Crider
Details | Diff
Patch against OMP pre-2.3 CVS (25.66 KB, patch)
2009-07-20 10:49 PDT, Matthew Crider
Details | Diff
Patch against PKP WAL CVS (758 bytes, patch)
2009-07-20 10:50 PDT, Matthew Crider
Details | Diff
Patch against OMP pre-2.3 CVS (14.22 KB, patch)
2009-07-29 15:57 PDT, Matthew Crider
Details | Diff
Patch against OJS pre-2.3 CVS (43.46 KB, patch)
2009-07-29 15:57 PDT, Matthew Crider
Details | Diff
Patch against OCS pre-2.3 CVS (28.43 KB, patch)
2009-07-29 15:58 PDT, Matthew Crider
Details | Diff
Patch against Harvester pre-2.3.1 CVS (10.91 KB, patch)
2009-07-29 15:58 PDT, Matthew Crider
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Alec Smecher 2008-08-22 10:55:17 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.
Comment 1 Matthew Crider 2008-10-03 13:16:33 PDT
Created attachment 1005 [details]
Patch against OJS/OCS Pre-2.3 CVS
Comment 2 Matthew Crider 2008-10-03 13:19:15 PDT
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.
Comment 3 Matthew Crider 2008-10-16 11:26:42 PDT
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.
Comment 4 Matthew Crider 2008-10-16 12:18:21 PDT
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.
Comment 5 Matthew Crider 2008-10-20 12:27:07 PDT
Created attachment 1040 [details]
Patch against OJS Pre-2.3 CVS

Fixes a few bugs in the previous patch and localizes error strings
Comment 6 Matthew Crider 2008-10-20 14:03:02 PDT
Created attachment 1041 [details]
Patch against OCS Pre-2.3 CVS
Comment 7 Matthew Crider 2008-10-20 14:03:33 PDT
Committed to ojs2 and ocs2 development branches.
Comment 8 Juan Pablo Alperin 2008-10-29 15:02:38 PDT
*** Bug 3785 has been marked as a duplicate of this bug. ***
Comment 9 Juan Pablo Alperin 2008-10-29 15:51:44 PDT
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.
Comment 10 Juan Pablo Alperin 2008-10-29 15:52:22 PDT
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.
Comment 11 Matthew Crider 2008-11-03 17:45:45 PST
Created attachment 1079 [details]
Patch against Harvester Pre-2.3 CVS
Comment 12 Matthew Crider 2008-11-03 17:53:44 PST
Committed attachment #1079 [details] to CVS.
Comment 13 Matthew Crider 2009-07-16 14:48:18 PDT
Created attachment 2132 [details]
Patch against OJS pre-2.3 CVS
Comment 14 Matthew Crider 2009-07-16 14:48:46 PDT
Created attachment 2133 [details]
Patch against OMP pre-2.3 CVS
Comment 15 Matthew Crider 2009-07-16 14:49:02 PDT
Created attachment 2134 [details]
Patch against OCS pre-2.3 CVS
Comment 16 Matthew Crider 2009-07-16 14:49:29 PDT
Created attachment 2135 [details]
Patch against Harvester pre-2.3.1 CVS
Comment 17 Matthew Crider 2009-07-16 14:51:51 PDT
These patches fix delete functionality by adding stock plugins to version table on installation.  All 4 have been committed.
Comment 18 Alec Smecher 2009-07-17 10:30:49 PDT
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.
Comment 19 Matthew Crider 2009-07-20 10:49:06 PDT
Created attachment 2147 [details]
Patch against Harvester pre-2.3.1 CVS
Comment 20 Matthew Crider 2009-07-20 10:49:24 PDT
Created attachment 2148 [details]
Patch against OCS pre-2.3 CVS
Comment 21 Matthew Crider 2009-07-20 10:49:38 PDT
Created attachment 2149 [details]
Patch against OJS pre-2.3 CVS
Comment 22 Matthew Crider 2009-07-20 10:49:53 PDT
Created attachment 2150 [details]
Patch against OMP pre-2.3 CVS
Comment 23 Matthew Crider 2009-07-20 10:50:11 PDT
Created attachment 2151 [details]
Patch against PKP WAL CVS
Comment 24 Matthew Crider 2009-07-20 10:50:33 PDT
Fixed.
Comment 25 Alec Smecher 2009-07-29 14:42:43 PDT
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'
Comment 26 Matthew Crider 2009-07-29 15:57:25 PDT
Created attachment 2212 [details]
Patch against OMP pre-2.3 CVS

Yup, it was a typo.
Comment 27 Matthew Crider 2009-07-29 15:57:43 PDT
Created attachment 2213 [details]
Patch against OJS pre-2.3 CVS
Comment 28 Matthew Crider 2009-07-29 15:58:03 PDT
Created attachment 2214 [details]
Patch against OCS pre-2.3 CVS
Comment 29 Matthew Crider 2009-07-29 15:58:21 PDT
Created attachment 2215 [details]
Patch against Harvester pre-2.3.1 CVS
Comment 30 Matthew Crider 2009-07-29 15:59:59 PDT
Fixed.