http://www.flickr.com/photos/phattangent/2455905428/

This is a screenshot, mostly showing off the UI, of one of my current projects. Just wondering if anyone has any suggestions? Oh, and in case the screenshot didn't say it all, this module aims to create a frontend to PEAR similar to go-pear.

Comments

mepcotterell’s picture

Regardless, I've got my module working internally pretty well. When the module is installed, certain PEAR files are fetched from the pear.php.net CVS site and saved in /modules/pear/core. These files include PEAR.php, Archive_Tar.php, etc... At the moment, my module implements its own little REST client for use with channel communication. Since I can fetch stuff durring install, I will probably change this to use PEAR's rest client.

I don't use the PEAR Installer.php interface to manage packages. Everything is done internally. This will likely change because doing so will make everything more automated. My best bet is to have this module somehow implement a ui for PEAR Frontend.

Anyway, despite the fact that this module isn't using PEAR's own package manager, it can still do some pretty cool things. for instance:

When you want to add the latest version of a package from a channel, it:
- makes a REST request to the channel for the greatest release that matches your chosen release state (ex: stable)
- downloads the tar.gz file for that release to /modules/pear/PEAR/download
- extracts the file into /modules/pear/PEAR
- keeps track of all the files
- updates the database accordingly

mepcotterell’s picture

http://drupal.org/node/253907

------
私かマイケルです。はじめあして! 
"[Διηνέκης said] εἰ ἀποκρυπτόντων τω̂ν Μήδων τὸν ἥλιον ὑπὸ σκιῃ̂ ἔσοιτο πρὸς αὐτοὺς ἡ μάχη καὶ οὐκ ἐν ἡλίῳ." - Ἡρόδοτος