Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Imported From: http://groups.google.com/group/in-portal-dev/browse_thread/thread/258bf8fc5b451688#

It's obvious, that users upload images in a higher resolution, then
actually is needed on a website and they needs to be resized.

Right now to speed up uploading process In-Portal don't resize image right
after uploading, but only at time, when it's displayed in a different
resolution on a website.
This seems to be very good solution when:

   - small amount of users tries to view a page with image thumbnails
   displayed;
   - images were originally uploaded in low resolution (smaller then 1MB on
   size).

But in case when a lot of users tries to see page with resized images at a
same time and original images are ~4MB+ in size, then it will take a lot of
memory and will attempt to resize same image multiple times.

In-Portal don't pre-resize images in background, because it can't guess
what image dimensions would be requested in actual theme, user set's as
primary.

But I have an idea, how to overcome that:

Create new column in Theme table, called ImageResizeRules, where per-path
image resize rules will be written in following format:

   - /system/path/one/:format1
   - /system/path/two/:format2

Usually each line would look something like this:

/system/images/manufacturers/:resize:100x75;default:img/no_picture.gif

Actual data to place in ImageResizeRules field of the theme database table
will be retrieved from <image_resize_rules> node in
/_install/theme.xmlfile of individual theme.

Then CRON script would scan all rules from each theme and pre-resize images
according to them.

Even more, if we would consider using Message Queuing servers, like ZeroMQ,
then we could schedule resize jobs right after image was uploaded.

--
Best Regards,

http://www.in-portal.com
http://www.alex-time.com

  • No labels