I'm been trying to get my hands on the source of current php zip_open/close/etc functions so I can rewrite for ImageMagick convert instead of unzip. 'convert' simply outputs many files from a single one (as if it was an archive) and then the rest of the current code would pick the files up and get them into imagefield. Anyone with me on this one? Should this be another module?

elizzle

Comments

spelcheck’s picture

Okay, I modified imagefield_zip.module to do the following:

- allow PDF to be uploaded (instead of zip)
- run the pdf through ghostscript to extract the pages (instead of unzip)
- run each extracted page through imagemagick to rescale and correct antialiasing (added)

My content type page template is written to display a flash FlipBook swf that reads an config.xml file for what images to display. The path to the config file just points to a page view with the node argument built into the path. I created a view with a wildcard path 'nid' argument that uses Views Datasource to produce the XML. I styled the xml view to format exactly as PageFlip expects it and everything is working. User creates a 'magazine' content, names it and save it, under Imagefield Zip tab uploads a PDF. A few seconds (or minutes) later they are looking at the same pdf and flipping through it as if it was a magazine in front of them. yep I used the pending patch to just place Upload Zip into the tabs :P

The problem I'm running into is upload/processing time and no indication of progress. I've uploaded 100 page magazine pdfs and it does just fine, only the user sits there thinking it's frozen for a few minutes. I can look at the tmp files and progress but I have no way of displaying that to the screen.

Just looking for some input.. who thinks this 'module'/'workflow'/whatever would be helpful, and what should be the next step? I know Imagefield Zip would benefit from a progress bar, but for this mod I believe it's necessary. Thanks for any input and help on this!

elizzle

spelcheck’s picture

http://api.drupal.org/api/group/batch

maybe an upload progress indicator isn't necessary, but what about something like in ImageField Import module, it creates the job as a batch and uses drupal built in batch api to show progress. Just throwing out some ideas.