The EXIF module should rather be named "embeddedmetadata" module or so, since it's supposed to handle all embedded meta data. Embedded means in this context embedded in the binary image file.
Since the module could do a lot more and there are a lot of related feature requests as well as a general interest in these features, we have created this page to coordinate the development of the improvements of this module.
The exif module currently handles embedded EXIF and IPTC data in jpg and tiff images. It does the following:
We need to evaluate alternatives to the now unmaintained exifixer library for robustness, features, active development, etc.
G2's metadata / exif module should be able to use one or more of them. Multiple metadata toolkits (exiftool, exifixer, ...) could be registered and used by G2.
This is discussed in detail in the above linked forum threads. We need 1 or 2 Map tables to map itemId, field and the field value.
Once the data is stored in the database, we can implement the SearchInterface_1_0 in the exif module to add search support for all exif / iptc / ... values. See the comments module on how to implement and expose search support. It's also discussed a little in the above linked forum discussions.
Our plan is to have a number of such parsers / libraries and the user can choose between them since not all can use a perl tool. First add support for exiftool. Then maybe look at the other alternatives mentioned in the above links.
Extend the exif interface to expose write capability to other modules. Also note that most libraries can only write if there is already an EXIF section in the image (they can only edit), most can't create a new EXIF section. exiftool can do everything :)
Once exiftool is used, we can add support for XMP, ... too.