Slide 1

Slide 1 text

Asset Meta Data Management

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

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 …

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

Neos.MetaData.Extractor EXIF DTO IPTC DTO

Slide 8

Slide 8 text

Neos: MetaData: metaDataMapping: title: '${asset.Title || iptc.Title || exif.ImageDescription}' caption: '${asset.Caption || iptc.Description}' tags: '${Array.concat(asset.tags, iptc.Keywords)}' Neos.MetaData

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

prototype(Neos.NodeTypes:Image) { imageMetaDataNode = ${MetaData.find(q(node).property('image'))} imageTitle = ${q(this.imageMetaDataNode).property('title')} } Neos.MetaData.ContentRepositoryAdapter Enrich Images wit MetaData

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

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