We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 46580
    • 167 Posts
    As photographer, former image archivist and MODX developer I wish to get the following features for a MODX gallery :

    - EXIF extraction capabilities
    - IPTC extraction capabilities
    - Geotagging capabilities

    Please post your ideas & suggestions here.
    If some image gallery extra developer planed to add this feature, I'm ready to spend time for tests & debugging...

    This question has been answered by gissirob. See the first response.

      MODX lover
      -
      Développeur MODX / Webdesign / Solutions web
      • 46580
      • 167 Posts
      ExifTool by Phil Harvey:
      http://www.sno.phy.queensu.ca/~phil/exiftool/

      PHP-Exiftool
      PHPExiftool provides an intuitive object oriented interface to read and write metadatas.
      https://github.com/romainneutron/PHPExiftool

      This library works fine with Resourcespace DAM
      http://www.resourcespace.org/knowledge-base/user/exif

      Maybe a starting point to implement EXIF / IPTC ? [ed. note: johnxx last edited this post 9 years, 1 month ago.]
        MODX lover
        -
        Développeur MODX / Webdesign / Solutions web
        • 44580
        • 189 Posts
        John, as photographer, (becoming) image archivist and MODX developer I have also been giving this a lot of thought. This is a brief summary:

        1. A given: all image metadata needs to exist first and foremost in the image.
        2. Metadata in the image can not be easily manipulated (exiftool is by far the best way of doing this but it is complex).
        3. A web app (gallery etc) that uses image metadata should get that data from a database rather than the image (for efficiency reasons).
        4. If a web app allows changes to metadata it must be written back to the original image.
        5. There should be 3 versions of an image: the original (hi-res), the web display version (low-res) and the thumbnail (tiny). If the web app allows sharing then all three versions need to be available.

        With this in mind, I have started on a proof of concept - taking a slightly different approach:

        1. Image metadata is created using a defined process. Because so many applications use their own metadata "extensions" I have determined that (the free app) Daminion adheres closest to standards and should therefore be used for metadata creation.
        2. Hi res images containing defined metadata are uploaded to the server.
        3. A number of database tables are created to hold the image metadata (still fine tuning the schema but happy to share down the track).
        4. A script is run (via cron as I am on Linux) that performs the following tasks (using exiftool and shell scripting):
        - creates a thumbnail
        - creates a display resolution version (that also contains the image metadata)
        - extracts all the relevant metadata (still determining what is "standard")
        - loads this metadata into the database tables.

        I have an incomplete version of this working. Notice no mention of MODX. So far everything runs independent of the web app and in the background. But what you have is all your metadata in a DB schema that can be easily integrated into MODX using (for example) MIGX, Class Extender or even roll your own using xPDO. And in theory it should be relatively simple to extend Gallery (or similar) to handle the front-end and the uploading of images.

        Very early days (and this is a side-project) but it seems to be working for my needs.
        • With MoreGallery 1.3 (premium extra from us at modmore: https://www.modmore.com/extras/moregallery/) those boxes are basically ticked.

          - EXIF extraction capabilities => EXIF data is retrieved during the upload, and made available through [[+exif.ExifKeyHere]] in the imageTpl chunks, so you can show those or do other stuff with it.

          - IPTC extraction capabilities => On upload, MoreGallery will see if the image has a caption embedded in the IPTC data. If so, it sets the image name (a general meta data attribute on the images) to that caption. Not yet sure wether we should do the same with the description and tags, open to feedback on that one.

          - Geotagging capabilities => Sort of part of EXIF, isn't it? If I recall correctly, EXIF is where the location the photo was taken is stored.
            Mark Hamstra • Developer spending his days working on Premium Extras and a MODX Site Dashboard with the ability to remotely upgrade MODX and extras to make the MODX world a little better.

            Tweet me @mark_hamstra, check my infrequent blog at markhamstra.com, my slightly more frequent ramblings at MODX.today or see code at Github.
            • 46580
            • 167 Posts
            MoreGallery doesn't import IPTC metadata during upload process
            http://demo.modmore.com/manager/?a=30&id=2



            Drag & Drop upload is really great...
              MODX lover
              -
              Développeur MODX / Webdesign / Solutions web
            • Mark Hamstra Reply #6, 9 years ago
              Hi John,

              Sorry for taking so long to get back to you. As I mentioned, it imports only the image name from IPTC currently, not the keywords or a longer description. I'm thinking we could also add that though, so I've opened an issue for that so we can track it for upcoming releases.
                Mark Hamstra • Developer spending his days working on Premium Extras and a MODX Site Dashboard with the ability to remotely upgrade MODX and extras to make the MODX world a little better.

                Tweet me @mark_hamstra, check my infrequent blog at markhamstra.com, my slightly more frequent ramblings at MODX.today or see code at Github.
                • 32678
                • 290 Posts
                @gissirob @johnxx, very curious to know where this development stands. I develop photography websites and this capability is really important for photographers who manage large portfolios. Any update to share? I would love to integrate this...I don;t ave the dev skills to do it on my own, unfortunately.
                  • 44580
                  • 189 Posts
                  wpicotte, I have started work on a site incorporating most of the ideas I discussed above. As it is for personal use, I am happy to make the results available for others to use. I also plan on documenting some of the key areas. I'll post back here once I have something worth sharing.
                    • 46580
                    • 167 Posts
                    Just started to play with ResourceSpace (RS) API Search + phpthumbsup :
                    http://itchiweb.com/lab/resourcespace/rs-xrs-search/
                    (try: nature, tokyo)

                    - phpthumbsup is just for convenience, as it also possible to add additional image format to RS.

                    - Pluggable Remote API Architecture : http://wiki.resourcespace.org/index.php?title=Pluggable_Remote_API_Architecture

                    - RS Api search: http://wiki.resourcespace.org/index.php/Api_search


                    ExifTools is really impressive...

                    api_resource_types_fields should allow to retrieve All metadata fields (not yet tested)


                    ...And try to handle ResourceSpace with JSONderulo extra, without success for the moment.. [ed. note: johnxx last edited this post 8 years, 4 months ago.]
                      MODX lover
                      -
                      Développeur MODX / Webdesign / Solutions web
                      • 44580
                      • 189 Posts
                      As promised, an update. I have a prototype image archive site up and running. For uploading, I'm using dropzone.js (http://www.dropzonejs.com/) and for image display I'm using slider pro (https://github.com/bqworks/slider-pro).

                      When an image (or group of images) is uploaded, a snippet is called that does the following:

                      1. Make both a thumbnail and various screen sized version of the image using imagemagick.
                      2. Create a unique image id (using exiftool) and store this id in the image as well as using it to rename the image (thus making file names completely agnostic).
                      3. Extract all the available metadata from the image and store it in the database for ease of searching and display.

                      To display images, another snippet is used to initially get a random set of images from the database and display both the image and the metadata on the page. A series of search filters can then be used to view specific sets of images.

                      I'm contemplating whether to build the capability to update metadata via the site. I still believe the best tool for creating the metadata in the first place is Daminion (http://www.daminion.net/download). The main problem is that it is Windows only.

                      The only extra I'm using is Login and there will not be any back-end management capability as this is a personal project. But this could be added if needed.

                      I'm not quite ready to share code yet (still debugging and adding features) but I will do so soon if people are interested.