Download & Extend

Maximum picture size help text in profile no longer needed

Project:Drupal core
Version:7.x-dev
Component:user.module
Category:task
Priority:normal
Assigned:Unassigned
Status:closed (fixed)
Issue tags:Usability, user pictures

Issue Summary

This change removes the maximum dimensions and file size text appears in the description for uploading user profile images (avatars). Drupal appears to handle the resizing of images automatically now so text is not needed.

AttachmentSizeStatusTest resultOperations
user_22.patch1.06 KBIdleFAILED: [[SimpleTest]]: [MySQL] Unable to apply patch user_22.patch.View details

Comments

#1

Bug in above patch (missing paren) fixed.

AttachmentSizeStatusTest resultOperations
user_23.patch1.06 KBIdleFAILED: [[SimpleTest]]: [MySQL] Unable to apply patch user_23.patch.View details

#2

The maximum width and height dimensions still apply when there is no image library installed (see user_validate_picture()). Maybe we could detect if an image library is present and inform the user their picture will automatically be resized to dimension x and y, otherwise the text is displayed as it presently is.

#3

I didn't even know we could run without an image library installed. Is that a valid scenario, or more of a left-over from the Drupal 4.5 era? If possible, I'd prefer having one way of doing things, rather than having a new and old way of doing things.

#4

I am all for a image-toolkit-only system. But I am a bit concerned that that will rule out a lot of people who have no access to the server/php set up.

So, would it be worth it, for sake of usability and ease-of use to demand a toolkit for thumbs, and leave those who have no server softwar efor hendling images without avatars?

#5

-1 on this.

For one thing, it still makes sense to inform people what the maximum avatar size is. Don't underestimate how many avatars are custom made for a particular site.

Secondly, it is important to know the maximum size for animated avatars... if they go over the maximum size, they are resized and come out as static images. Without this info you would need trial and error to figure it out.

#6

The big problem with displaying the dimensions and maximum size is that if people have an image that exceeds those limits, they will not bother to upload the image because they think they will have to open their image editing software to do that. Those instructions serve as an image upload deterrent, not a help at all.

#7

Here's a compromise patch to address Steven's objection. I don't know the best way to detect if an image library is installed. Someone else will have to write that or at least save me time and give me a hint on how to do it.

AttachmentSizeStatusTest resultOperations
user_24.patch1.3 KBIdleFAILED: [[SimpleTest]]: [MySQL] Unable to apply patch user_24.patch.View details

#8

You can use image_get_toolkit() to check if an image library is installed. Here's some sample code taken from user.module.

<?php
if (image_get_toolkit()) { // Imaging library exists
 
image_scale($file->filepath, $file->filepath, $maxwidth, $maxheight);
}
?>

Once the profile help text is based on the existence of an image library, this patch would be good to go.

#9

You can use image_get_toolkit() to check if an image library is installed. Here's some sample code taken from user.module.

<?php
if (image_get_toolkit()) { // Imaging library exists
 
image_scale($file->filepath, $file->filepath, $maxwidth, $maxheight);
}
?>

Once the profile help text is based on the existence of an image library, this patch would be good to go.

#10

Thanks for the hand, Mathias. Here's a new patch.

AttachmentSizeStatusTest resultOperations
user_26.patch1.38 KBIdleFAILED: [[SimpleTest]]: [MySQL] Unable to apply patch user_26.patch.View details

#11

+1 for this patch and the additional help text it provides.

#12

The patch applies and works.

But I find the text: Your image will be automatically resized to fit the maximum dimension of 100x100 and maximum file size of 200 k
strange. how can something be resized under the maximum file size of 200 k ?

#13

On second thought: I (personally) dislike giving this kind of information. These are exactly the texts that scare people away, or at least make them not even read a text.

But I will not object against this patch on that basis, since I can change it, using locales. I will change it to "If your image is too big, it will be resized". For me, that is more then enought information. And for Joe Average it s too.

#14

I agree with Ber, there is no need to scare or bore end users with this kind of info.

#15

Here is what I want you to do: go for a image toolkit only approach -- that is what we introduced toolkits for. If I'm not mistaken, there are several toolkits available in contrib so people should be able to find a working toolkit.

This means, you'll have to simplify/test user_validate_picture() and the surrounding code. While testing, I'd modify image_get_toolkit() to return NULL to 'simulate' the absense of a toolkit.

Can you investigate that?

#16

Dries, who are you addressing here?

#17

nysus: mainly you but also the other developers who want to see this fixed.

#18

Yeah, I'll take a look into it when I get a chance.

#19

Status:needs review» needs work

#20

Patch per Dries request.

AttachmentSizeStatusTest resultOperations
user_35.patch3.12 KBIdleFAILED: [[SimpleTest]]: [MySQL] Unable to apply patch user_35.patch.View details

#21

patching file user.module
Hunk #1 FAILED at 241.
Hunk #2 FAILED at 1161.
2 out of 2 hunks FAILED -- saving rejects to file user.module.rej

#22

Version:x.y.z» 7.x-dev

This feature request is it still valid ?

#23

Status:needs work» needs review

here's a current version of this.

AttachmentSizeStatusTest resultOperations
user_27234.patch1.73 KBIdleUnable to apply patch user_27234.patchView details

#24

Works like a charm, but has a different approach then #20. Was that intentionally (there have of course been some changes since 2005)?

#25

Status:needs review» needs work

I think the easier solution would be to not allow the site admin to enable user pictures if there is no image toolkit. I'd like to incorporate this issue into #305802: Improve default user picture interface since this issue seems like it's lost it's steam.

#26

Status:needs work» needs review

Dave Reid, no need to take such a simple help fix off topic. don't let the perfect be the enemy of the good. if i've got a single user site and i want my account to have a picture but don't have gd, it's much simpler for me to just scale one image by hand than to recompile php.

#27

Whoops. Sorry drewish! I'll continue in my issue and not bother you again here. :)

#28

Status:needs review» needs work

The last submitted patch failed testing.

#29

Status:needs work» needs review

No longer fails locally, so resetting.

#30

While we're here, can we split that really long array into multiple lines?

#31

Assigned to:Steve Dondley» Anonymous

Reroll per #30.
And I unassigned Steve, because he hasn't been in this thread since 2005.

AttachmentSizeStatusTest resultOperations
27234_help_text_picture_size.patch1.57 KBIdleFailed: Failed to apply patch.View details

#32

#33

Status:needs review» needs work

The last submitted patch failed testing.

#34

Status:needs work» needs review

Just stumbled on this. Here's my own wording change.

Do we even need the "max size" limitation in the admin interface any more?

AttachmentSizeStatusTest resultOperations
drupal.user_picture_text_27234_33.patch1.51 KBIdlePASSED: [[SimpleTest]]: [MySQL] 22,016 pass(es).View details

#35

Status:needs review» needs work

+++ modules/user/user.module
@@ -1115,7 +1115,7 @@ function user_account_form(&$form, &$form_state) {
+    '#description' => t('Your virtual face or picture. You may upload larger pictures, but they will be resized to %dimensions pixels.', array('%dimensions' => variable_get('user_picture_dimensions', '85x85'))) . ' ' . filter_xss_admin(variable_get('user_picture_guidelines', '')),

Larger than what?

Better wording something like:

'Your virtual face or picture. Pictures larger than %dimensions pixels will be scaled to fit.'

Powered by Dreditor.

#36

#37

Status:needs work» needs review

Here's another round with improved text - thanks, @joachim.

I did some study and debugging, and here's the scoop:

1. If the image library works at all (or even seems to work) then an upload image is downsized (if necesssary) to the provided image dimensions *before* the file size is checked.

2. The file size limit is therefore basically irrelevant or at least misleading, as long as it's properly proportional to the image dimensions. It's misleading for us to even call it the "file upload size" limit, when it's actually the "after resizing image size".

This text attempts to deal with those facts as well as it can. It would not be unreasonable to completely remove the image file size settings in the admin interface, since we do assume that a system with a broken image library is a broken system.

AttachmentSizeStatusTest resultOperations
drupal.user_picture_text_27234_37.patch2.12 KBIdlePASSED: [[SimpleTest]]: [MySQL] 22,024 pass(es).View details

#38

Maximum allowed file size for uploaded pictures. On a normal working system this only needs to be large enough for a file of size implied by "Picture upload dimensions" above because larger files will be rescaled to the dimensions above.'

This is kinda scary. How do I know if my system is 'normal working'??
And it's also a lot of verbiage to say the obvious -- of COURSE the dimensions restriction acts too.

Compare with the description text on image field size setting:

Enter a value like "512" (bytes), "80 KB" (kilobytes) or "50 MB" (megabytes) in order to restrict the allowed file size. If left empty the file sizes will be limited only by PHP's maximum post and file upload sizes (current limit 32 MB).

Your virtual face or picture. Pictures larger than @dimensions pixels will be scaled down to @dimensions.'

That's pretty ugly with the dimensions string twice.

#40

Would this do?

'Your virtual face or picture. Pictures larger than @dimensions pixels will be scaled down to fit.'

#41

We probably need to get this going. It's a tiny patch, shouldn't take that much work to get it RTBC. Doesn't deserve *so* much conversation. @joachim, do you want to roll a version with the text the way you'd like it?

#42

OK, I think this takes people's comments into account.

Let's get this silly thing done. If you want something different, post a patch. Otherwise, let's get it done.

AttachmentSizeStatusTest resultOperations
drupal.user_picture_text_27234_42.patch2.06 KBIdlePASSED: [[SimpleTest]]: [MySQL] 22,138 pass(es).View details

#43

Looks good.

#44

Status:needs review» reviewed & tested by the community

A much clear. Let's RTBC this.

#45

Status:reviewed & tested by the community» fixed

Committed to CVS HEAD. Thanks.

#46

Status:fixed» closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.