[Elgg 1.5-1.12 & 2.X: Tidypics] v1.8.1beta11

Release Notes

Changelog:

  • Some general code cleanup,
  • Fix of river entries appearing twice on image uploads in case the Flash uploader is used and the plugin option is set to create separate entries for each uploaded image (issue introduced in beta10),
  • Added TidypicsBatch class (that extends ElggObject class) used for creation of objects of subtype "tidypics_batch" (used for handling "batches" of uploaded images) instead of creation the objects as ElggObject and assinging the subtype,

Improvements on slideshow:

  • a slideshow can be started on all pages that display a suitable list of images (but the slideshow feature is only available if the slideshow plugin option introduced in beta10 is enabled in the plugin settings),
  • start of slideshow via title menu button,
  • slideshow will include the next 64 images (i.e. 5 pages of images) of the current displayed image list taking into account the current page offset (i.e. on page 1 the slideshow will display pages 1-5 while on page 10 it will display the images of pages 10-14 etc.). (Longtime goal for future Tidypics versions: no limitation of number of images in slideshow and most likely replacing the PicLensLite slideshow by something else / something better. Currently, the number of images to be included in a slideshow is somewhat limited by avoiding running into memory issues. Also, the PicLensLite slideshow library requires the Flash plugin on client browsers which is annoying and the 3D wall feature does no longer work),

Improvements on image orientation correction at image uploading:

  • using best methods available depending on image library selected,
  • update orientation information saved in image file after a change of image orientation if the image library used supports this (GD library unfortunately does not support it but the exif info saved in the image file is lost on image orientation correction anyway),
  • support of orientation correction not only of rotated but also of mirrowed (and possibly additionally rotated) images,

Some remarks regarding which image library to use for Tidypics:

  • if possible and available on your server use the "ImageMagick executable". Generally, this library has a much smaller memory requirement compared to the GD library both for image resizing (i.e. creation of thumbnail preview images) and orientation correction of images. Additionally, the exif information saved in an image file will be preserved both during resizing and orientation correction processing,
  • next best choice after "ImageMagick executable" is the "imagick PHP extension". It also has a low memory consumption compared to the GD library but you might lose exif information during image processing,
  • the GD library should be available on any server (as Elgg core requires it anyway). The memory requirement of the GD library can be quite high both for creation of thumbnails and image orientation corrections. The memory requirement is depending not on the image file size in the first place but on image resolution, color depth per pixel and color channels per pixel (so even a small sized image file might require more memory than available on the server). If you use the GD library for Tidypics on your server, your users might not be able to upload larger images. Additionaly, exif information saved in the image files might get lost during image orientation correction.
  • I apologize, but I need to correct my statement above about the Upload buttons.
    A normal user now only sees the Upload button that triggers the Lightbox, but when logged in as Admin, I see both buttons again.

    Still ongoing..:)

  • @wohpe: well, if you don't have the content of the site before the site update but started fresh instead it's of course not possible to check what would be with this content. I was not aware of this when suggesting to test it.

    If a 2.5 MB picture is a "small" image for you then you would need quite a high value for the php memory_limit if you need to use the GD php extension for image resizing. In this case you would need to increase the memory_limit from 64M (the default) to 128M or even more in Elgg's .htaccess file. But you would also need to ask your hoster what is allowed. Best would be to switch to ImageMagick library as the memory requirements are much, much smaller then.

    There are two error messages possible in connection with image sizes:

    • "too many pixels": the image resolution is too high to process the image due to memory limitations. The memory requirement is depending on image size (heigth x width) x image resolution (per channel) and can easily be many Megabytes when using the GD extension. The file size is not necessarily an indicator of memory requirement of resizing this image because the image itself is mostly compressed but during resizing an uncompressed copy of the image will be created in memory.
    • "too many bytes": the file size of the image is too large. This error message will depend on the image file size set up in Tidypic's plugin settings. Also, there are some general limits defined in Elgg's .htaccess file (upload_file_size and max_post_size) which might need to be increased to allow for uploading of larger image files.

    If you haven't got any of these error messages on your first attempt and also your site has been installed from scratch, the permissions of the data directory might indeed be wrong, i.e. no files can be saved. With the "files" plugin I was referring to the bundled Elgg "Files" plugin. If this plugin is enabled, you will have a "Files" section on your site where you can upload files of different types including image files. For image files there will also be resized thumbnails created. So, you can test image files uploads also for the Files section to see what happens then. If any errors occur on uploading files/images to the via the Files plugin, it might give some more insight of what might be wrong with uploading images via Tidypics, too.

  • @Daniel: maybe there's simply a lack of understanding on my side of what you exactly want to achieve. I was under the impression that you wanted to remove the "Upload photos" button (the "lightbox") or alternatively make the "Create album" option within the lightbox dialog only show up for admins. Also, you seemed to want to show the "Create album" button only to admins. I thought I explained how to achieve all this as detailed as I could.

    If you made some modifications in code that resulted in the "Upload photos to this album" button to vanish you will have to revert this modifications. As I don't know what you have changed exactly I can't points out where to look. How about comparing the original code of the plugin with your current code using a diff tool? Then you will see what files you changed and you can correct whatever necessary.

    If you don't want the lightbox, then simply comment out the piece of code you have cited in your posting. You will have to comment out this piece of code in all files where it is included to get rid of the "Upload photos" button everywhere (As a sidenote: there seems indeed some issue in connection with listing of group albums in the dialog that I will have to investigate).

    And again: the chosen uploader (basic or Flash) has no connection with what upload buttons will show up on the pages. There is no difference.

  • Hi IIonly,

    Part of your assumptions are right, so let me summarize it again...:)- For users, I want an "Upload" button on each group album that starts the basic uploader page without
       the Lightbox dialogue, but not on the main Albums page.
    - With your instruction, I removed the "Create Album" button for users from the main Albums page. It is
       shown to me as the Admin though, just as I wanted.
    - As explained, I want the Lightbox dialogue disabled, also for Admin. It serves no purpose in my setup.
    - Doing a "diff" will extend our mail trail much longer. I have no problem with re-installing the latest
      Tidypics plugin, and save my adjustments somewhere else for possible reference.
    - Don't want to offend you in any way, cause I think you are doing great work. I was happy with the
       original Tidypics that I used, being 1.80rc1. I recall that version had Upload buttons just as I
       wanted it, but can't get that back now. I do like all the River entries added since you picked this up
       though.

    No sweat if you quit on me now, I'did get much better understanding of the PHP code, and can thus work this out in some time.

    Thanks again, and I appreciate your dedication very much !!

  • elgg_register_menu_item('title', array('name' => 'addphotos',
                                           'href' => "ajax/view/photos/selectalbum/?owner_guid=$owner_guid",
                                           'text' => elgg_echo("photos:addphotos"),
                                           'link_class' => 'elgg-button elgg-button-action elgg-lightbox'));

    Basically, this is the function that adds the button that opens the lightbox. Search for it (or even better search for the them "selectalbum") and comment out / remove the lines to get rid of the lightbox dialog and the corresponding button. Depending on the context there might be some other variable used instead of $owner_guid and the function should be within an if-clause checking if the user is logged in or not. You would have to decide which lines to comment out exactly depending on each occurance of the elgg_register_menu_item() usage.

    You need to make sure that you don't comment out any other code within the if-clause that might still be needed elsewhere and not comment out any other functions that might be included in the if-clause. Only in case the if-clause does not contain other relevant code apart from the addition of the lightbox menu item you can completely comment out the whole if-clause.

    The other upload button that you are familiar with from earlier versions of Tidypics is still included in this version of Tidypics without any modfications regarding where it shows up. The only difference is that I changed the text that shows in the button (now "Upload photos to this album") to make it differ from the new lightbox upload button ("Upload photos"). If the "Upload photos to this album" button is missing on your site then you have modified the code wrongly (maybe commented out too much at trying to get rid of the lightbox button).

  • OK, let me try this over the weekend...

    Cheers

  • OK, I started with a fresh install of the TP module, and made the suggested changes, including the removal of the "Create Album" button for normal users. All "Upload" buttons are now directly loading the basic uploader page, while the group/group membership function is still working in Tidypics. With that I mean e.g. that the Upload button does not show if a user is not a member of a certain groep to which the album belongs.

    So, thanks very much for your directions and patience iionly !

    FYI, please remember my findings for future realeases:
    - For some reason I had both the Upload button for the lightbox and basic uploaders
    - When using Group albums, the Lightbox uploader doesn't show any albums on the main page, and only the selected album from with that album.
    - With hypeAlive active, Tidypics does not show the responses on photo's.

    I'm willing to help out on debugging these issues if needed.

    Cheers

  • @Daniel: I'm glad you got it working the way you want it.

    FYI, again as I said before: the lightbox selection has NOTHING to do with the selected type of uploader. It is fully intended to show up independently of the selected uploader on every Tidypics page to allow for a more direct (shorter) way of initiating an upload without the need to navigate to the desired album page first to be able to select the "Upload photos to this album" button.

    I've just fixed the issue with the lightbox dialog not showing all group albums when on a Tidypics group page. The fix will be included in the next release (though I can't say yet when the next release will be ready as I mainly want to get the watermarking fully working for the next release).

    The problem with comments not showing when the hypeAlive plugin is used sounds to me that there's rather an issue within the hypeAlive plugin that needs to be fixed than something in the code of the Tidypics plugin. Maybe it would help to point out the problem to the developer of the hypeAlive plugin.

  • iionly,

    Yes, I know you said that the lightbox selection has nothing to do with the selected type of uploader. However, like in my case, if one wants to have only one uploader active, like the basic uploader, by standard, the lightbox would still come up. I may have this wrong, but that's how I expierenced it.

    Anyway, the lightbox may soon show all albums after your action to fix that and publishing the new release, but would also show the option to create a new album, right? That is something that I didn't want either.

    Watermarking is working fine for me, but then I only added a few photo's since the upgrade of TP.

    I don't have a big no issue with hypeAlive being disabled, but will raise it with the owner.

    Cheers

  • i just noticed that the page that shows the albums for 'friends' (show when the 'friends' tab is clicked) is rendered with a missing style class for the <ul> element - there is no .tidypics-gallery class for that <ul> that contains the returned list of albums. the class is present for the 'all' and 'mine' views.

    this is a problem for me as i have used that class to theme the box.

    this is occuring for me when there is only one album in the list of friends' albums.

  • ah, my mistake.. the cause of my issue was with an ajax plugin i am finishing.

  • After upgrading to 1.8.16 and using the old rc version of tidy pics, members trying to upload pics would get only a file name uploaded, as in no pics. However... updating to this version and all problems are sorted. Great work on this. How can i recommend?

  • @Vextah: Nice to hear that it works for you on your site. As with all the plugins here on the community site there's a "Recommend" button directly right of the download button. ;-)

  • our webhost went in and changed some settings for me.... i now have imagemagick set up on tidypicks...the path test returned a successful line.... so, now the photo's are actually uploading and i get the option for editing and also for arranging....however.... there are no thumbnails in the upload or editing previews- only the photo file names.  when going to the album directly the same happens...only the names of the photo are displayed.  i tried using flash and also basic uploader in both a Group album and a personal album with the same results.  any suggestions at this stage is greatly appreciated.... (again  :)  )  thanks for the good support from this group.

  • I'm running into a weird one...
    I can always (to date) upload a single image and it will turn up in the right album and be visible with thumbnail, comments title etc... (running palemoon latest)

    However, one of the other people find that she can't upload _any images, one at a time or in batch. After the image is uploaded there is a "thumbnail" with no image, only the file name and clicking on teh thumbnail leads you to a corrupted page where all the layout is broken.

    config -
    PHP Version 5.4.20
    GD Enabled Elgg requires the GD extension to be loaded
    imagick Enabled
    exec() Enabled Required for ImageMagick command line
    Memory Available to PHP 64MB Change memory_limit to increase
    Memory Used to Load This Page 9.56 MB This is approximately the minimum per page
    Max File Upload Size 5.00 MB Max size of an uploaded photo file
    Max Post Size 8.00 MB Max post size = sum of photos + html form
    Max Input Time 60s Time script waits for upload to finish
    Max Execution Time 30 s Max time a script will run
    GD imagejpeg Enabled
    GD imagepng Enabled
    GD imagegif Enabled
    EXIF Enabled
    Cookie only sessions Enabled Cookie only sessions may affect the Flash uploader

    Any hints where to start? I'm not sure where to look in the file system to see if anything has been uploaded.

    Thanks

  • @w2f and @bret: are you using the latest version of Tidypics (beta11)? If yes I assume you are also both using Elgg 1.8.16. If you are not using the latest version of Tidypics yet, please upgrade - which will require for you to also update the site to Elgg 1.8.16. If you need to upgrade, please remove the old tidypics folder before copying the new version to the server. If you have upgraded Tidypics in the past, did you remove the old folder during the upgrade? If not, reinstall Tidypics.

    @w2f: do you also have selected ImageMagick as the image library to be used by Tidypics in Tidypics plugin settings? It won't be used automatically even if it is installed on the server (of course it needs to be installed to be able to select it as image library). Can you upload any files to your site at all, e.g. an image using the bundled files plugin? If not, it's quite likely that there's a permission issue with your data directory. For testing image upload with Tidypics I would suggest using the basic uploader with a single, small image.

    @bret: if the image upload works for you (and maybe others) and not for another user(s), it might be that they try to upload much larger images than you. What have you selected as image library in Tidypic's plugin settings? I see that the imagick php extension is installed on your server. Have you selected this image library to be used? Please try it out, if not. Imagick will have much lower memory requirements than the default GD library which allows for uploading (more precisely resizing) of larger images.

    Generally: Tidypics will save the images in the user's subdirectory in the data directory of your site. The structure within the data directory is year/month/day/user_guid with the date of join of the corresponding user. Within this directory there is an image directory containing the Tidypics images (one subdirectory with album_guid as directory name for each album of this user). Useful to find a user directory is this plugin: http://community.elgg.org/plugins/874298/1.8.4/elgg-18-lastlogin. It will display the join date and user_guid on a user's profile page so you will easily know where to look in the data directory for files of this user.

     

  • Hi @iionly,
    yes I'm running beta 11 on 1.8.16
    imagick php extension is what I have it set for.

    I've gotten hold of a pic that fails - and it fails at my end as well - basically it seems to timeout
    its (4,457,985 bytes) - from my settings above - is there anything I need to change so it can handle these big images?

    Thanks

  • The upload failing could be due to the limit of post_max_size to 8 megabyte. Try increasing this limit in Elgg's .htaccess file. It's the line

    php_value post_max_size 8388608

    Change it for example to

    php_value post_max_size 15M

    to see if it helps. In case it's really a timeout issue you would need to increase max_execution_time and/or max_input_time. Currently, these values are not changed in Elgg's .htaccess file but the default values of php are used (or whatever is defined in the server-wide php.ini). You could modify the values of these variables by adding lines in the mod_php5.c block in Elgg's .htacces file, for example

    php_value max_execution_time 60

    php_value max_input_time 120

    After changing values in the .htacces file check out the server info page to make sure the changed values are used by Elgg.

  • I changed the timeout values, but not the max post - which on a2hosting's default install is set to...1024M :)

    this seems to have worked.. I'll get my test pilot to have another run..

    Cheers

  • i just found where i had set the slideshow button to be hidden in the theme css.. ;)
    that was years ago... lol
    so now i can see the slideshow.. and it looks great except for the piclens 3d button that serves no function for site visitors.

     

  • ok - still not working, max size is set in settings to 10M, timeout and upload values set very high..

    Yet for some images we still get

    Upload of photos failed.
    IMG_3084.JPG: Photo is too large - too many bytes

    any ideas? Seems like the settings control is not having any efect

  • duh.. found it.. elgg's .htaccess overrides global php.ini to 5MB.. at least I think I have

  • yup - however... flashuploader still thinks the limit is 5M

    here is my server config now

    PHP Version 5.4.20  
    GD Enabled Elgg requires the GD extension to be loaded
    imagick Enabled  
    exec() Enabled Required for ImageMagick command line
    Memory Available to PHP 64MB Change memory_limit to increase
    Memory Used to Load This Page 9.56 MB This is approximately the minimum per page
    Max File Upload Size 9.00 MB Max size of an uploaded photo file
    Max Post Size 10.00 MB Max post size = sum of photos + html form
    Max Input Time 160s Time script waits for upload to finish
    Max Execution Time 130 s Max time a script will run
    GD imagejpeg Enabled  
    GD imagepng Enabled  
    GD imagegif Enabled  
    EXIF Enabled  
    Cookie only sessions Enabled Cookie only sessions may affect the Flash uploader
  • and some of my users still fail when they try and upload...

  • @Baradhill:

    Tidypics also has a plugin option to restrict the maximum allowed image file size. By default it's 5MB. If you want to allow upload of larger pics you would need to increase the maximum allowed size on the Tidypics plugin settings page.

    Next, I would suggest to increase post_max_size further in Elgg's .htaccess. I can't give you any exact value here unfortunately as the necessary post_max_size depends on size of sum of uploaded images + some overhead. If you intend to use the Flash uploader make post_max_size much larger as there's currently no limit on the number of photos allowed to be uploaded in one batch.

    At last, for processing the resizing of large images there would be very high memory requirements to be expected when the GD php extension is used as image library by Tidypics. Even increasing the memory limit from 64MB for example to 128MB might not be enough. I see that imagick is installed on your server. Therefore, I would suggest to use this image library, if you not already use it.

Stats

  • Category: Photos and Images
  • License: GNU General Public License (GPL) version 2
  • Updated: 2018-9-16
  • Downloads: 132153
  • Recommendations: 263

Other Projects

View iionly's plugins