No offense Bas but that seems like a major hassle, especially considering 
with an ORM its a simple update/delete/find.  When it comes time to build 
out new servers now you have to shuffle around 300k photos instead of 
simply replicating a database.  Also sounds like it would make debugging 
more difficult when your images are three or more folders deep.  And what 
if you want to store attributes along with the photos?  Like say user 
comments, or flag them for inappropriate content, copyright infringement, 
etc.  What if there is an open file handle when you try to delete the 
image?  Just seems to me a much smoother solution to put in a db.  But 
with that I'm bowing out because as you said it's a heated debate and 
comes down to personal preference.




From:   Bas Gooren <b...@iswd.nl>
To:     users@wicket.apache.org
Date:   03/15/2011 02:10 PM
Subject:        Re: mountSharedResource() on huge amount of images



Now you're talking about rendering them, which is a different topic than 
mounting a resource which serves said images.

You'll only need to mount a single shared resource which serves all the 
images. However, given the amount of images you can consider allowing 
your front-end (e.g. apache httd) or a dedicated webserver serve the 
images.

Since you mention that the amount of images can be potentially large 
(>250), I'd suggest removing the "show all" option, or using an ajax 
viewport (max 20-50 images on-screen at a time, when the user scrolls 
you load new images over ajax).

Someone else just suggested storing images in the database. While there 
is usually heated debate about this topic (files on disk vs in the 
database), let me just say that simply having lots of images is no 
reason to move images into the database. For starters, you can always 
store your files in a hashed folder structure, e.g. when the ID is 1234, 
store the image in a file/folder called /1/2/3/4.jpg

Bas

Op 15-3-2011 18:00, Ladislav DANKO schreef:
> Imagine this situation: users have accounts on photo album where they 
upload
> images. System from uploaded images create thumbnails. Users can browse
> their photo - there is combo "show 25", "show 50"... "show all" images. 
On
> page
> I render thumbnails on a page which are shadowbox clickable images.
> All images ("show all") I do in way described below.
> Works fine but in extreme situation there is user with more than 3.000
> images
> in one photoalbum.
>
> Or -how to do it better way?
>
> Thanks,
>
> Laco
>
>
>
>> -----Original Message-----
>> From: Bas Gooren [mailto:b...@iswd.nl]
>> Sent: Thursday, March 10, 2011 11:32 PM
>> To: users@wicket.apache.org
>> Subject: Re: mountSharedResource() on huge amount of images
>>
>> The general idea is to mount a single handler, which takes
>> the filename from the url.
>> There is no reason to mount all images by such a handler one-by-one.
>>
>> Bas
>>
>> Op 10-3-2011 23:01, Ladislav DANKO schreef:
>>> Hi all,
>>>
>>> what is the recommended way to mount huge amount of an images
>>> (thousands) in app? Does mountSharedResource() has any bottleneck?
>>> Simplified code look
>>> like:
>>>
>>> Folder folder = ((Start) Application.get()).getUploadFolder();
>>> File[] files = folder.getFiles();
>>> List<File>   lList = Arrays.asList(files);
>> Collections.sort(lList); int
>>> i = 0; Iterator<File>   iterator = lList.iterator();
>>> while(iterator.hasNext())
>>> {
>>>              iterator.next();
>>>              String fileName = lList.get(i).getName();
>>>              mountSharedResource("/images/" + fileName, new
>>> ResourceReference(Images.class, fileName).getSharedResourceKey());
>>>              i++;
>>> }
>>>
>>> But what if in folder is for example 100.000 photos?
>>>
>>> Thanks for pointing,
>>>
>>> --
>>> Ladislav DANKO
>>>
>>>
>>>
>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>





Notice: This communication, including any attachments, is intended solely 
for the use of the individual or entity to which it is addressed. This 
communication may contain information that is protected from disclosure 
under State and/or Federal law. Please notify the sender immediately if 
you have received this communication in error and delete this email from 
your system. If you are not the intended recipient, you are requested not 
to disclose, copy, distribute or take any action in reliance on the 
contents of this information.

Reply via email to