[Seaside] magma as a multimedia database backend for seaside
seaside at harford.org
Fri Sep 8 14:02:46 UTC 2006
On Sep 8, 2006, at 8:37 AM, Martin Schubert wrote:
My first suggestion would be to store the files on the file system.
If you are dealing with files bigger than thumbnails speed might be a
problem. I for one would love to see storing files in a database be
practical but it rarely is.
I am not sure what you mean by as more "and more sessions are used".
You should only have one session per user.
I am assuming you are storing a MIMEDocument in the database. While I
am not sure how the Magma drivers work I am going to assume that
Magma brings in MIMEDocument's ivar content once MIMEDocument is
referenced. content then , most likely, will stay in memory until
MIMEDocument is not referenced anywhere in your image and/or you
clean Magma's caches.
Again I am not sure how the Magma drivers work in this case someone
else on this list might be better able to fill you in.
You might want to subclass MIMEDocument and change the way #content
and #privateContent: work so that they store the contents of the file
somewhere else (like a file on the filesystem) and not in a ivar.
That way you can read the contents when #content is called and
quickly forget about it like ....
| file contents |
file := ((FileDirectory on: fileLocation) fileNamed: (pxxOID
contents := file binary; contents.
There also might be a way to tell the Magma driver to forget about an
ivar until it is accessed again.
> hello out there,
> i a struggling with using the magma-seaside extension as a
> multimedia database backend for my seaside application.
> i don`t want the files to be located on the os filesystem. as
> anybody can imagine: when i am loading a list of entries (whereas
> each entry has a mimeDocument instance) into the WAMagmaSession the
> image size explodes as more and more sessions are used.
> there is especially one problem i am facing :
> i need a possibillity that the mimeDocument instance of each
> listed entry is only loaded into the local cache (or
> WAMagmaSession) when there is an explicit request in doing so. when
> an anchor is clicked or something like that.
> any suggestions or experience on a topic like that?
> Seaside mailing list
> Seaside at lists.squeakfoundation.org
More information about the Seaside