MetadataExtracters
, and are responsible for writing properties into content.MetadataEmbedder
interface has just two methods, isEmbeddingSupported
, and embed
.MetadataExtracterRegistry
was extended with a getEmbedder(String sourceMimetype)
method. Note that currently only embedders which are also extractors can be registered, but in the future support may be added for explicitly registering embedders. You'd usually implement both in the same class anyway. Speaking of...AbstractMappingMetadataExtracter
now implements the MetadataEmbedder
interface and contains:supportedEmbedMimetypes
collection that's used in the isEmbeddingSupported
callembedMapping
that defines the mapping from Alfresco properties to metadata fieldsembedInternal
method to be overridden by extending classesAbstractMappingMetadataExtracter
, the embed mapping can be defined in a properties file in the same location as the extract mapping properties but with an embed suffix, i.e. classpath:/x/y/z/MyExtracter.embed.properties
(note that the preferred location for mapping files for extractors and embedders has changed after 4.2.c, see ALF-17891). If no embed properties are found a reverse mapping of the extract mapping is used by default, cool right?TikaPoweredMetadataExtracter
builds on that and overrides the embedInternal
method defined in its parent AbstractMappingMetadataExtracter
to convert Alfresco properties to Tika metadata fields and passes that on to a Tika Embedder
's embed
method, which then passes back the new binary with the metadata embedded.ContentMetadataEmbedder
action executor which shows up as a standard 'Embed properties as metadata in content' action that can be used in a rule on a folder or executed in a workflow. (After 4.2.c you can find this in alfresco/extension/metadata-embedding-context.xml.sample
)Parser
and Embedder
for image files.TikaPoweredMetadataExtracter
that uses the Tika Embedder
defined in the tika-exiftool project to enable IPTC embedding in image files.