http://www.perlmonks.org?node_id=568105

Greetings Monks,

In response to rinceWind's question Abstraction of FTP as a file system I did a little research and suggested using FuseFTP, which is a Perl script which allows you to mount a directory on an FTP server as a file system mount point. I think that this is a very useful program, others share my opinion. I emailed the program's author asking if he had plans to place this on CPAN. It transpires that this is not going to happen for a couple of reasons. I replied to the author asking if he had any objections to me creating a CPAN module along the lines of his program, he had none.

If you are not familiar with FUSE please take a look at the documentation. I would be interested in finding out which other protocols (webdav for example) people would be interested in having a Perl module for.

rinceWind has kindly offered me some mentoring around the whole Cpan process, and he has already offered me some help and support in a couple of other areas, for which I am very grateful. My current plan is to do some research on Cpan module authoring, more research into FUSE itself then a cycle of development and testing of the module before making it available to the public.

In an episode of Dilbert the PHB gets the order of slides mixed up in a presentation on the product development cycle: "Step 1, the name. After all if you don't know what something is called, how will do we know what to build?". The idea I have at the moment is FUSE::Remote::FTP, given that I want to leave scope for future modules to provide a Fuse interface to other protocols (FUSE::Remote::SFTP for arguments sake). I would appreciate any feedback or advice on the naming issue, and anything else I have mentioned in this post.

Thank you for your time.

References:

FUSE
FuseFTP

Update 19th August 2006 @ 00:27am changed Fuse to FUSE as per diotalevi's comment

Replies are listed 'Best First'.
Re: RFC Fuse::Remote modules
by talexb (Chancellor) on Aug 18, 2006 at 12:00 UTC

    For those not familiar, Fuse stands for Filesystem in Userspace.

    With regards to the name, I would just call it Fuse::FTP. If you're connecting to an ftp site, it's assumed that it's going to be remote. If it's not remote, wouldn't you just use the local filesystem instead?

    Alex / talexb / Toronto

    "Groklaw is the open-source mentality applied to legal research" ~ Linus Torvalds

      Do'h!

      (slaps forehead)

      This is of course true, a great point well made.

      Thanks for your input talexb.

      Martin

      "Linux" in the title would be nice too. "FUSE" is an acronym isn't it? Shouldn't it be capitalized?

      ⠤⠤ ⠙⠊⠕⠞⠁⠇⠑⠧⠊

        '"Linux" in the title would be nice too.'

        Actually I read the Supported Operating Systems section of the wiki which lists FreeBSD also, so I did not feel adding Linux to the title was ideal. I have updated the post changing Fuse to FUSE where appropriate.

        Thanks for your input.

        Martin
Re: RFC FUSE::Remote modules
by rinceWind (Monsignor) on Aug 21, 2006 at 10:09 UTC

    For the particular needs of my question, I am lookng at adapting (and comaintaining) Tie::FTP, and I am in correspondence with the author via RT. But, I still think converting FuseFTP to a CPAN distribution is worthwhile, though I am not familiar with Fuse, and I may well have applications for this going forward.

    My advice regarding where to start with a brand new module, is to install and familiarise yourself with a module boilerplating kit such as ExtUtils::ModuleMaker or Module::Starter. You could use h2xs, but the other kits are so much better (unless you are going to be using XS code. Even so, you are better using a starter kit to create your directories and boilerplate files).

    Write pod for the module before writing any code. When you have something looking reasonably complete, post it to Perlmonks, either in your scratchpad or as a new node. Think very carefully about the module's interface. This is important, as you can't change it if you get it wrong, Once you have released a version of the distribution to CPAN, you will be maintaining it with the interface given.

    I'd also recommend reading the tutorials on CPAN modules.

    --

    Oh Lord, won’t you burn me a Knoppix CD ?
    My friends all rate Windows, I must disagree.
    Your powers of persuasion will set them all free,
    So oh Lord, won’t you burn me a Knoppix CD ?
    (Missquoting Janis Joplin)

Re: RFC FUSE::Remote modules
by Argel (Prior) on Aug 21, 2006 at 23:37 UTC
    SFTP would be really useful. We're trying to fade out FTP use where I work and I imagine others are running into similar situations.
      Hi Argel,

      I plan to create a FUSE::SFTP module after the FUSE::FTP module. I agree that others must be in the same situation, however from personal experience I know that FTP will be in use by my current employers (and I suspect many other similar places) for a very long time to come :) This is due to a combination of the collective idiocy of our UNIX team and a fear of change.

      Thanks for your input.

      Martin