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 [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
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 > [hidden email] > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside _______________________________________________ Seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
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 >> [hidden email] >> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > > _______________________________________________ > Seaside mailing list > [hidden email] > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > _______________________________________________ Seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
Free forum by Nabble | Edit this page |