Private and Public File Handling Love

Events happening in the community are now at Drupal community events on www.drupal.org.
theflowimmemorial's picture

So, my Summer of Code proposal was accepted and I figured I would start off with a post. For my project I'll be fixing up private vs public file handling in Drupal, which as I found out after awhile of talking to a handful of Drupal devs needed some work. I had originally been inspired by Wim Leer's proposal for a Drupal bittorrent tracker. It's a really cool proposal and I'm glad that it was picked up by someone else. That made me think, mirroring files must be a real pain, so automated mirroring with some metalink goodness would be pretty cool. After some discussion I found out that the file subsystem likely wouldn't be up to snuff. After talking to some more people it became clear that making a file public or private had some issues. So I guess my idea is like the idea for most startups, it changes 70% by the time something is settled on. That being said I should be able to fix some problems and get part of Drupal's file management headed in the right direction.

So right now Drupal handles public vs private file management like a sledgehammer, all files are private or they are all public. This can be problematic, and it isn't the most flexible solution. So I'll be trying to fix that up with the following:

  • Make public or private occur on a per file basis rather than a sitewide basis.
  • Make public and private files live peacefully so that they can occupy the same node.
  • Try and make node access rights and file access rights a little more congruent.
  • etc.

So in the next couple weeks I'll be getting everything figured out and getting the actual deliverables fleshed out too. It is pretty likely that I'll be working with fileAPI to get things done and it will be pretty interesting to here how things turn out. I'd be interested to here what everyone thinks.

Comments

mlncn's picture

Going from "this looks cool" to "this is what's needed" -- impressive!

Congratulations, and now let the feature requests begin ;-)

A friend wanted the ability to "check out a file" -- lock down downloading until a newer, replacement file is returned. This seems like a very useful feature for people working on any sort of document that can't be nodified (yet). I'd be interested if you think this fits in with your file handling improvement at all, in particular in the node and file access rights and etc. categories...

~ ben melançon

member, Agaric Design Collective
http://AgaricDesign.com - "Open Source Web Development"

benjamin, agaric

it'd be great to have a hook

drewish's picture

it'd be great to have a hook that modules can implement to determine which private files can be downloaded by which users. i ended up with sort of a hack on the audio module to do this.

feature freeze

gábor hojtsy's picture

As it seems now, the feature freeze is about to begin at 1st June, so if your improvements are about to get into Drupal 6 (which would be really nice as far as I see), you would need a functional version by then. After that you can work on refining, fixing some accidental bugs and so on, while the feature freeze is in (and you still have your SoC timeframe going). Otherwise this can only get into Drupal 7, which is still far-far away.

Doubtful

theflowimmemorial's picture

It's unlikely these features will get into Drupal 6 if the feature freeze is really June 1st. This is going to require quite a bit of development and testing and fileAPI is probably going to need a lot of work. So who knows when it will end up being available in Drupal.

better cleaner then sooner

gábor hojtsy's picture

Well, better do it cleaner then sooner. There are not many people understanding fileAPI, so a cleanup there is in order.

Ohh man this would be

anthonyoliver's picture

Ohh man this would be awesome. I've recently had to try to solve this type problem at work using groups and fileshare module.

An awesome feature would be able to specify granularity to the level of setting private access per node per user (or group for that matter).


http://xamox.NET

Actually...

theflowimmemorial's picture

I am actually planning on doing something like that or actually building it straight into fileAPI. I don't think it's summer of code timeframe, but I'm hoping to have something working by the end of 2007. Although maybe I can implement some hooks before then.

can't wait

elnate's picture

I'm needing this!

I would just love to have folders for each role. That would be soooo easy!

Perhaps a good start

owen barton's picture

...would be to make a public files directory available to system files (at least) in D6 - there is an issue for this at http://drupal.org/node/128876

This could then be extended for a more fine grained approach.

This should be high priority!

joeph's picture

I would really love to have this built in Drupal 6!
Any updates on the progress?

Thanks!

metalink goodness

antini's picture

was that part of the project worked on? that would be cool, we'd love to see something like that.

I know this is a year late, but if you're interested, join our list... http://groups.google.com/group/metalink-discussion

is there any info about these

dproger's picture

is there any info about these module? Where can I find it, or what alternative I can use to manage file access by each user?

SoC 2007

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: