paperclip Image Versioning

Hello. I'm hoping to hear your recommendations on using paperclip for images with versioning.

Anyone know of any elegant paper_clip image, versioning implementation solutions?

Thank you

Not elegant, but I did manage to get Paperclip to stop deleting or overwriting the previous versions' attachments (I am using vestal_versions here for that part). The path I took was to patch attachment.rb and storage.rb from Paperclip. In attachment, I look to see if the instance was versioned, and if it was I would inject the version number into the filename before Paperclip saved it. In the same file, I patched the clear method to never delete an instance that was versioned.

In storage.rb, I did the reverse, and let the flush_deletes method remove a non-empty folder.

Both of these changes are fairly risky, in that they require the parent model to have a version method, which I ended up having to provide like this:

   def version      false    end

in anything that had a file attachment but didn't have versions. I'm pretty sure this could be improved on a lot.

Walter

Thanks Walter, I appreciate the quick reply...

To your points, would highly like to avoid messing with paperclip or vestal_versions.

What about creating a customer model to store photo versions like PHOTO_VERSIONS

And then on any update, manually copy the previous photo record over to PHOTO_VERSIONS?

Only thing I'm not sure about is paperclip would still delete the photo from S3, so I'd have to recreate the photo? idk, it's getting messy.

Thoughts anyone?