[Seaside] magma as a multimedia database backend for seaside application

Martin Schubert mtin79 at googlemail.com
Fri Sep 8 14:55:59 UTC 2006


hey will,
thanks for your hints. i will try out your suggestions with rewriting 
the contents method of MIMEDocument to the Filesystem, although i don`t 
like this approach but could`nt really find something better. if it 
works i will post some feedback on it.
best regards
maritn
>
> 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 ....
>
>    contents
>     | file contents |
>
>     file := ((FileDirectory on: fileLocation)  fileNamed: (pxxOID 
> asString)).
>     contents :=  file binary; contents.
>     file close.
>     ^contents.
>
> There also might be a way to tell the Magma driver to forget about an 
> ivar until it is accessed again.
>
> Will
>
>> 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?
>>
>> martin
>> _______________________________________________
>> Seaside mailing list
>> Seaside at lists.squeakfoundation.org
>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>
> _______________________________________________
> Seaside mailing list
> Seaside at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>



More information about the Seaside mailing list