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
Tweet

More Decks by Daniel Lienert

Other Decks in Technology

Transcript

  1. Asset Meta Data Management

    View Slide

  2. View Slide

  3. View Slide

  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 …

    View Slide

  5. View Slide

  6. Neos.MetaData
    Neos.MetaData.ContentRepositoryAdapter
    Neos.MetaData.Extractor

    View Slide

  7. Neos.MetaData.Extractor
    EXIF DTO
    IPTC DTO

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  11. Query Assets Like Nodes
    mapData = Neos.Fusion:Collection {
    collection = ${q(assets).children('[instanceof Neos.MetaData:Image][gpsLatitude]').get()}
    }

    View Slide

  12. View Slide

  13. Links
    • https://github.com/neos/metadata
    • https://github.com/neos/metadata-extractor
    • https://github.com/neos/metadata-contentrepositoryadapter

    View Slide