Forum OpenACS Q&A: Extending File-Storage

Collapse
Posted by Nima Mazloumi on
Two file-storage improvements are currently discusses here at our university:

1. Publish States
------------------------------
Several request deal with the usage of file-storage in the context of university courses. Often communities are reused with all the contet but the professors want to hide content that is dealt with later in the class. So they would prefer to simply hide files/folders and make them visible once they are needed.

A feature like the publish states in xowiki (production, ready ...) could save users a considerable amount of work and improve notifications since often a professors don't want the users to receive notifications until everything is set up. Files are uploaded several times because something was forgotten or folders are moved until the professor has found the best folder structure. Thus the professor could configure notifications for file-storage to only consider elements that have 'ready' as their publish state.
Any comments?

2. Reuse of content
------------------------------
Reuse of content using references. Content is often reused in different communities because the subject is part of the curriculum of several bachelor or master degrees. Right now the content has to be uploaded several times. In LMS like Ilias the content belongs to the owner but nodes can be referenced in as many courses as you want. Any changes are available at once. Any idea if this would be possible with file-storage?

Collapse
2: Re: Extending File-Storage (response to 1)
Posted by Dave Bauer on
Publish state is a feature of the content repository so you would only need to add a user interface to manage the publish state.

Reuse is already supported via cr_symlinks. You just need to provide a user interface.

File storage supports resolving a symlink to the original object. I think building a centralized content library is out of scope for file storage. It seems like you really want a new package. Note that file storage is, or at least should be, a VERY thin layer over the tcl apis of the content repository. So to replicate the basic ability to upload files and organize them into folders should be very little work. Creating a coherent user interface for a reusable content library will be the challange.

Collapse
3: Re: Extending File-Storage (response to 2)
Posted by Don Baccus on
Publish state is a feature of the content repository so you would only need to add a user interface to manage the publish state.
But, please, let's not add this to our standard file-storage package. The package is already bloated beyond belief, and to continue bloating it for specialized stuff like "publication state" of a *file* in a *folder* is just too, too, much.

Nima - on HEAD (which will be 5.5/.LRN 2.5) there is the ability to EXTEND a package, which exists precisely to allow people to make their own custom extensions to base packages life file-storage without either 1) forking or 2) adding more and more custom changes to what are supposed to be generic, useful, maintainable packages.

This is probably the best way for you to think about doing what you want to do, unless you'd prefer to fork.

Collapse
4: Re: Extending File-Storage (response to 3)
Posted by Nima Mazloumi on
Don, is there a documentation on that feature in HEAD or an example?
Collapse
Posted by Rocael Hernández Rizzardini on
Nima, at Galileo we have a central application to copy content from ony community to the other, content from FS, ASM, Evaluation. If you are interested send me an email and we can share the code.
Collapse
6: Re: Extending File-Storage (response to 4)
Posted by Don Baccus on
I'm going to write documentation when I get home next week (and will also finish implementation for Oracle). Unfortunately, my DSL line went down a couple days after I left for Spain so I'm unable to access that server at the moment.
Collapse
7: Re: Extending File-Storage (response to 6)
Posted by Nima Mazloumi on
thank you very much. looking forward to use it.
Collapse
8: Re: Extending File-Storage (response to 6)
Posted by Nima Mazloumi on
Hi Don, any update regarding this feature?