[geeklog-devel] Plugin help --- Package Extractor
Mark R. Evans
mevans at ecsnet.com
Wed Jun 13 11:46:43 EDT 2007
Joe,
I'll be happy to give it a go in a Unix environment and also a
WinSrv/IIS setup.
Thanks!
Mark
Joe Mucchiello wrote:
> I've just about finished a new plugin called Package Extractor for
> Geeklog. I consider it only Alpha level code at the moment. In a
> nutshell, it presents an upload form for plugin tarballs. You upload
> the tarball and it extracts the files to the proper directories (admin
> to /public_html/admin/plugins/$plugin_name, public_html to
> /public_html/plugins/$plugin_name, and the rest to
> /plugins/$plugin_name). Assuming nothing goes wrong it redirects you
> to the plugin.php where the install link for the new plugin should be
> available in lower part of the page.
>
> Features (and Limitations):
> * Appears on the Admin menu only to members of Root as "Package
> Extractor (N/A)".
> * It only works with tar, tar.gz, tar.bz2 and tgz files as it is using
> PEAR::ARCHIVE::TAR to do the extractions. Plans for zip and rar
> support as they become available.
> * Likewise, it is pretty strict about the file name being
> $plugin_$plver_$glver.tar.
> * If there is a file named package.inc in the tarball, it will attempt
> to execute the function plugin_postpackageupload_$plugin (if it
> exists) after it moves the files. This is a place where plugins with
> weird file location requirements can move more stuff around. (Like
> Blaine's lib-portalparts.php file.) If the function returns false, the
> upload is aborted (though I still need to make it clean up.
> * Each major step of the process executes in its own request using
> redirects to avoid long processing time limitations made by some
> webhosts.
> * Files are placed in /data/packages before extraction. On success
> they are moved to /data/packages/installed. (Automatic cleanup of
> installed is a future feature.)
> * If the plugin is already installed, it compares plugin versions. If
> they match, it aborts the extraction. If they don't match it disables
> the current plugin, extracts and re-enables. This should activate the
> "upgrade" button in the plugins.php admin screen.
> * It logs much of its activity to a file called /logs/package.log
>
> Future Ideas:
> * Well, some kind of
> SOAP/XML-RPC/Web20/whatever-it's-called-these-days interface to a
> public website which would allow you to download the package from the
> web rather than uploading from the browser would be really cool.
> Probably include a support URL API like plugin_support_site_$plugin so
> plugins can reveal their "official" website to the package extractor
> (this would go in functions.inc of course).
> * It's called Package Extractor because I expect it to also work with
> Theme installation someday.
> * package.inc could have lots of cool functions. Like,
> plugin_final_instructions_$plugin, a function that would display an
> informative page about last minute things you MUST take care before
> hitting that install link. It would end on that page instead of
> plugins.php page if the function returns a string. Or,
> plugin_home_server_$plugin which, with the web20 interface could allow
> the plugin to verify it is up to date.
> * Oh, yeah. It needs a good icon.
>
> As I said, it's at the Alpha stage. It works in my test environment
> for most simple plugins (autotags, nettools, faq, glutil). More
> complex plugins really need that package.inc file but that's up to the
> plugin writers to support. And that's why I'm posting here. This thing
> needs testing in alternate environments (I've only got Win XP, Apache
> 2, PHP 5, GL 1.4.1). I'm looking for a few testers and for a few
> plugin writers to support the package.inc extensions.
>
> I'll have a tarball available to those who request it by the end of
> the week (although originally I was going to post this Sunday so who
> knows). I just need to test installing the package extractor plugin
> itself as it's been an active plugin in my test system for a while
> now. I also need to make a sample package.inc file.
>
>
> ----
> Joe Mucchiello
> Throwing Dice Games
> http://www.throwingdice.com
> _______________________________________________
> geeklog-devel mailing list
> geeklog-devel at lists.geeklog.net
> http://eight.pairlist.net/mailman/listinfo/geeklog-devel
>
More information about the geeklog-devel
mailing list