Forum OpenACS Development: Re: File Storage and Relative Links

Collapse
Posted by Ola Hansson on
Ernie, Tilmann et. al,

I am also looking into Carl's (main) problem with file storage, namely relative linking of uploaded files, and unfortunately I can't say I agree with you Tils when you say it's trivial 😟

BTW, how far have you come? (I have only been trying to do some thinking as of now)

In order to satisfy the need Carl and others have when it comes to this "linking problem" (which Ernie illustrated very clearly) I think there are a few things to consider and agree upon.

The point of departure for upgrading FS, IMHO, ought to be to try to simulate (emulate?) an FTP server, except over HTTP. If we can do fancier stuff than that as well, cool, but it should *at least* do that.

Here are the things I thought of:

Folders that you create and files that you upload must (or, at least, should be able to) get the *same* names as they have on the desktop from which they were uploaded. Otherwise links between files will be broken (as pointed out by Ernie). The index.vuh for any given FS instance would have to pull the full path for a file relative the FS mount point. It is not enough to assemble folder ids or "folder pretty-names" to build a unique URL. It must be the original composition...

That is, we can't have this:

"http://example.com/fs-mount-point/view/2345/3456/readme.txt"

or this:

"http://example.com/fs-mount-point/view/My_Folder/Another_Folder_Pretty_Name/readme.txt"

In Ernie's example:

/index.html
/page2.html
/images/img1.jpg
/images/img2.jpg

...we should have:

"http://example.com/fs-mount-point/view/index.html"
"http://example.com/fs-mount-point/view/page-2.html"
"http://example.com/fs-mount-point/view/images/img1.jpg"
"http://example.com/fs-mount-point/view/images/img2.jpg"
That way collections of html (DocBook stuff, etc.) whould "just work", no? (as long as the folks who upload keep track of the subdirs of thier local content, at least.)

The actual index.vuh should be pretty easy to write once all the "user stories" have been worked out😊

/Ola