There is still a need for the ability to easily upload many images to a node without having to painstakingly attach them one at a time.
The most direct way to achieve this seems to be by allowing the user the option to upload a .ZIP archive. (similar to the way Typepad handles it - see attached screenshot)
With this powerful functionality, CCK nodes could easily house galleries/slideshows/etc.
(The image publishing module is great for bulk uploading, but of course it uses the image and image gallery modules, combined with taxonomy to group images. Can anyone think of a way a module like image publish could use actual CCK nodes instead?)
Comments
Comment #1
zach harkey commentedWilling to financially support the development of this feature. Just give me a $ figure.
Comment #2
bradlis7 commentedI might be interested in developing this. With the amount of time it would take, I'm not really sure what a reasonable price is, but I would estimate somewhere around $50-100. It would be leaning to $100 if I implemented a bulk edit form as well, where at least the title can be edited for the images all on one page. I'll take a look into implementation, and see what I can come up with.
Comment #3
zach harkey commentedDeal — in fact, I'll pay you $150.
Comment #4
bradlis7 commentedI've sent you a message through the contact form.
Comment #5
bradlis7 commentedI've run into a small problem... it seems as though imagefield will not allow image uploads unless the image was actually uploaded by the browser, because of the way file_check_upload() works. I'm trying to mess with the code in imagefield to see if I could add a way to get around that, but I'm not a uber-genius when it comes to drupal quite yet, so it'll take me a little bit longer to get that completed.
Once I get this to work, the module should be to a working state, with only a few things that need to be cleaned up.
Comment #6
bradlis7 commentedHere's what I've come up with. So far it uploads and extracts the zip file, or tar.gz file, and presents the user with image thumbnails, and a title field. Further than that won't work, because using imagefield without actually uploading the images hasn't worked yet. I think I could change some of the code from imagefield to do the trick, but I haven't figured out how to yet. If you imagefield guys (or anyone else) wants to take a shot at the code, be my guest...
imagefield.info:
Comment #7
bradlis7 commentedWell, I'll give this a last shot using SQL, which is more likely to need updating when the modules are updated... but it's the only thing I can do to get the file connected right now.
Comment #8
bradlis7 commentedThere you go. The codes a little ugly, but it's the only method I could get to work.
A Few Limitations: The imagefield can't be required on the node, with the way drupal_execute works. Also, right now, the tmp directory needs to be in the files directory, so that thumbnails can be accessed.
I can do a little more work on it, and add better documentation, but it should be at a working state for right now.
Don't forget to create a imagefield_bulkupload.info file. I put them both in the imagefield folder.
Comment #9
dopry commented@bradlis7,
You can get the previews working without the files being stored in tmp, see hook_menu in imagefield.module and upload.module for examples. I'm working on making this kind of work easier, but on a lower level in core. There are a couple things about upload handling that can be changed to make this much easier to deal with. I applaud your effort. Its no simple task.
Comment #10
sgriffin commentedI uploaded both, files into the imagefield directory, created and chown the tmp direction, enabled the modules, updated the schema, and now what?
Zip files are supposed to be able to be uploaded in place of images?
I can't get it to work.
Comment #11
sgriffin commentedFound a menu link. Uploaded a zip and was whisked away into a blank page. It doesn't appear that this is compatible with cck.
Comment #12
bradlis7 commentedAs I said in the reply to my email, there seems to be webpage timeout issues, as processing zip files and images takes time. You could try uploading a zip file of 1 or 2 small images to see if that's really the problem.
I kind of hit a brick wall I suppose, and didn't know where to go.
Comment #13
astroboy commentedHello there.
Timeout is definitely going to be a problem with zip uploading, wether in the upload time, unzip time or processing time.
Since Drupal is used in shared hosting also, upping the timeout values is not an option, and because of the way PHP is implemented, you can't have feedback while uploading or processing.
the only option then becomes fractionned uploads, image by image.
doing that manually for 100's of images is not possible, but with Flash now, you can upload files in a batch.
SWFUpload, already existing as a project for drupal (http://drupal.org/project/swfupload) does that really nicely for upload.
if it could be adapted for Imagefield multiple uploads, you would solve:
1 - batch uploading
2 - processing time
3 - user feedback
4 - the lesser problem (but still a problem in cybercafes and such) of zip file creation, and creation time. size isn't gonna change much since jpegs are already compressed
I hope to have time to do such research, but wouldn't bet on it, but it would solve all the problems we have.
Combine that with the fileview module for editing-time previews (drupal.org/project/fileview) and you have a winner gallery.
Comment #14
jpetso commentedHaving triaged multiple duplicates of this issue (including #203933: Multiple file upload), I think this title should fit better. Also, astroboy hasn't posted any progress for more than half a year, which I believe is a good reason to unassign this issue from him.
Comment #15
byteslinger commentedCheck out the imagex module: http://drupal.org/project/imagex. It uses an applet, written by the same author (thank you sdrycroft!) It's not perfect (I had a slight hiccup with FireFox on the Mac), but it does get the job done, multiple image files uploaded, with drag and drop too.
My only issue is that it seems to load the images in the opposite order from what I dragged into the drop box.
Comment #16
jjh commentedWhat is the current status of development concerning this issue? Is there anybody working on it? Will this be implemented in imagefield for D6?
In my eyes, not being able to upload multiple images at once makes the imagefield module close to not being useful at all for image galleries - which is why I set the priority of the issue to 'critical', hoping to thereby catch more attraction...
Comment #17
jpetso commentedMore attention will be paid if there's a good clean patch, preferably for file handling in Drupal core instead of imagefield. More attention will also be paid if the "critical" issue is actually one that cripples the module, like a PHP error on enabling imagefield or something that makes uploading images impossible.
More attention will NOT be paid by raising an issue to "critical" when great numbers of people have done just fine without that feature in the past two years or so. "critical" is not a way to get your favorite feature implemented, it's a means to mark an issue as "blocker", such that the maintainer should not even *try* to release a new stable version without getting it done.
This issue is not "critical", and the only gain you get from setting it to "critical" is
1. me setting it back to "normal", and
2. me being annoyed by a lack of sense for responsibility towards the maintainers.
Don't do that.
Comment #18
cs8c commentedMulti upload was overlooked! I wish it was a feature too!
Comment #19
jpetso commentedOh, and one more thing: while it's true that imagefield is not really usable for image galleries without a mass uploader, it does have a lot of other use cases other than that. Just try to think outside your own narrow set of requirements.
Comment #20
Anonymous (not verified) commentedIt isn't the thing imagefield can do (in relation to image galleries here). It can do a LOT more, allowing images to be added to any CCK content type is equally useful.
Multiple uploads would be a nice feature, there is already a working module for it, in fact two.
See: http://drupal.org/node/216177 for imagefield import. It is a CVS module, but my preliminary testing seems to prove it works. Its not perfect, hopefully it'll get more work done on it to improve it even further as it is very simple thus far imo.
The other option: http://drupal.org/project/emfield - it has a media import sub-module. Currently it can only import from flickr, but i've tested that too, and it works flawlessly, even better than imagefield import. Bad thing, Yahoo!'s terms of service.
So, there are two (maybe more) methods to do this.
Maybe they'd be best used as the basis for anything wished for here?
Comment #21
Dimm commentedUpload multiple images at once - I did it!
Now you can upload *.zip and *tar.gz files with images.
http://drupal.org/node/251096
Comment #22
jjh commented@jpetso: sorry for setting the issue to critical - I was not aware of the field's different intended usage.
@kellyharding, dimm: thank you for the info! I think I'll give these options a try!
Comment #23
sunComment #24
jax commentedCould you please state which issue this is a duplicate of? Kind of difficult to find the issue that is being worked on without a link.
Comment #25
mandclu commentedGoing back to the original start of this discussion, uploading a zip file and then having the server unzip and process all the images could be very demanding on the server. Personally, I'd much rather the multiple upload implemented through integration with something like ImgUpload. The main benefit is that the heavy lifting is done by the local machine, not the server, so it should be more more scalable.
Comment #26
caktux commentedI think this might be worth checking out for the future of multiple file uploads : http://code.google.com/p/noswfupload/
Comment #27
ccshannon commentedJust want to throw in my 2 cents about this ability.
I work with large corporate clients. I push Drupal as a CMS solution because of how quickly powerful features can be added, without me having to write much code. The code that I do write, is for really specific little things the customer wants, not so much typical functionality.
They see batch file uploading as a necessity, and it's unfortunately a mark against Drupal as a CMS solution, when they find out it can't be done well. They can upload multiple attachments in Gmail, so why can't they upload multiple images at once in this supposedly wonderful Drupal thing I keep pushing on them? So, though it is not a universally needed feature, it is one that is expected to be just 'built-in' to a CMS, expected by customers ... and like it or not, they are always right. I sometimes want to mow them down with a giant street sweeper, but I concede to them on this issue.
Given how advanced CCK/Filefield/Imagefield/etc. all are, I hope and pray that such a feature can be integrated into the Imagefield widget, rather than trying to develop a 3rd party solution.
I've tried the following solutions to batch upload images into a multi-value Imagefield: jUpload for Imagefield, Aurigma Uploader for Imagefield, Image FUpload, and ImageField zip support
I'm using Drupal 6.10, CCK 6.x-3.x-dev and Imagefield 6.x-3.0. In cases where the experimental CCK 3 version causes conflict, I uninstalled it and reverted to CCK 6.x-2.5.
NONE of the above solutions are satisfactory:
My point of all this is, wouldn't it be better for this functionality to be a per-content-type option in the Imagefield widget? It would be integrated, no java or activex or flash, no extra screens, etc.
Here's how I imagine it would look to the editor-user:
- node/add form: empty multi-value Imagefield widget with one empty input visible
- Click 'Browse', get local file window
- Allow ctl-click multiple items (cmd-click for mac users)
- Click 'Open' or 'OK' or whatever the main button is in your file window
- The imagefield widget refreshes with an input box filled in with the path for each image you selected, non-images don't appear, they are not uploaded yet
- No different from current widget, each image still has an Upload button
- New button at bottom of widget 'Upload All'. Press this and each input item uploads, any inputs that still have the path filled in, one at a time.
- The differences (on the surface) btwn this and current widget:
- mutliple select file in window
- automated 'add another item' upon selecting multiple image files
- automated filling in of input fields of added items with paths of selected items
- New button 'Upload All'
- Sequential upload of multiple items (one at a time) upon Upload All submit
Does this sound plausible with the Imagefield widget? I don't think this could be done through a contrib module. It would have to be done within the Imagefield widget OR the Filefield widget.
Sorry for long post, just wanted to get my thoughts into what I see as the most pertinent issue thread.
Comment #28
nakouzia commentedHello
I need the same solution for my system.
If you are interested to do it, please send me a message to my email and then I will provide full list of my needs.
Note: not for Drupal...
A.Nakouzi
>>>>>>>>>>>>>>
#2
bradlis7 - January 22, 2007 - 05:23
I might be interested in developing this. With the amount of time it would take, I'm not really sure what a reasonable price is, but I would estimate somewhere around $50-100. It would be leaning to $100 if I implemented a bulk edit form as well, where at least the title can be edited for the images all on one page. I'll take a look into implementation, and see what I can come up with.
>>>>>>>>>>>>>>>
Comment #29
adr_p commentedSubscribing.
Comment #30
mattiasj commentedsubscribe
Comment #31
narongwit12 commentedsubscribing
Comment #32
Gaperville commentedI don't see anything for D7 and have searched in multiple areas.
Comment #33
Gaperville commentedAnything for D7 yet? Thanks.
Comment #34
quicksketchImageField has entirely been moved into core. I don't think that either the ImageField module in Drupal 6 nor the Image module in Drupal 7 will have this feature built-in. You should try installing add-on modules that enhance ImageField, such as Plupload or Image FUpload.