Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Asset Meta Data Management With Neos CMS

Asset Meta Data Management With Neos CMS

Extract EXIF / IPTC IIM Meta Data and map it to Content Repository Nodes.


Daniel Lienert

April 01, 2017

More Decks by Daniel Lienert

Other Decks in Technology


  1. Asset Meta Data Management

  2. None
  3. None
  4. Title: Neos team group photo Description: A group photo of

    the news core team at the stage of the inspiring conference. Tags: Neos, Conference, Core Team, Inspiring Conference Author: Daniel Lienert Capture Date: 22.04.2016 Faces: Florian, Martin, Robert, Johannes, Daniel, Tobias, Christian, Sebastian, … Technical Details: Camera, ISO, Aperture, Lens, Make, Zoom, fNumber …
  5. None
  6. Neos.MetaData Neos.MetaData.ContentRepositoryAdapter Neos.MetaData.Extractor

  7. Neos.MetaData.Extractor EXIF DTO IPTC DTO

  8. Neos: MetaData: metaDataMapping: title: '${asset.Title || iptc.Title || exif.ImageDescription}' caption:

    '${asset.Caption || iptc.Description}' tags: '${Array.concat(asset.tags, iptc.Keywords)}' Neos.MetaData
  9. type: Neos\Media\Domain\Model\AssetInterface mapping: '${asset.assetObject}' 'Neos.MetaData:Exif': … properties: dateTime: type: DateTime

    mapping: '${exif.DateTime}' ui: label: DateTime help: message: 'The date and time of image creation' Neos.MetaData.ContentRepositoryAdapter
  10. prototype(Neos.NodeTypes:Image) { imageMetaDataNode = ${MetaData.find(q(node).property('image'))} imageTitle = ${q(this.imageMetaDataNode).property('title')} } Neos.MetaData.ContentRepositoryAdapter

    Enrich Images wit MetaData
  11. Query Assets Like Nodes mapData = Neos.Fusion:Collection { collection =

    ${q(assets).children('[instanceof Neos.MetaData:Image][gpsLatitude]').get()} }
  12. None
  13. Links • https://github.com/neos/metadata • https://github.com/neos/metadata-extractor • https://github.com/neos/metadata-contentrepositoryadapter