ContentMetadataExtracter
is the action executer which does the work of getting the proper MetadataExtracter
from the MetadataExtracterRegistry
, then calls its extract method to fill in a properties map.AbstractMappingMetadataExtracter
, which is what most metadata extractors extend from, allows you to map incoming metadata fields to Alfresco properties.cm:taggable
property inside the cm:taggable
aspect. A type of category node is created for each tag (or linked to if it already exists) and is associated with the tagged content as a property by the TaggingService
.cm:taggable
as it's expecting a nodeRef to perform that property linking.MalformedNodeRefExceptions
related to tags in AbstractMappingMetadataExtracter
, and if enableStringTagging=true
the raw string values will be passed on as is to the next step. There may be some cases where you actually have a tag's nodeRef as a metadata field in your binary file, in which case no MalformedNodeRefException
would be thrown and your content would be linked to that existing tag.ContentMetadataExtracter
the properties modified by the metadata extractor are iterated and set by the NodeService
. It's during that process that we look for cm:taggable
and use the TaggingService
to create or link the raw string tags, provided enableStringTagging=true
and the TaggingService
is set.taggingService
property on ContentMetadataExtracter
and set enableStringTagging=true
. Your overriding bean definition might look like this:<bean id='extract-metadata' class='org.alfresco.repo.action.executer.ContentMetadataExtracter' parent='action-executer'>
<property name='nodeService'>
<ref bean='NodeService' />
</property>
<property name='contentService'>
<ref bean='ContentService' />
</property>
<property name='dictionaryService'>
<ref bean='dictionaryService' />
</property>
<property name='taggingService'>
<ref bean='TaggingService' />
</property>
<property name='metadataExtracterRegistry'>
<ref bean='metadataExtracterRegistry' />
</property>
<property name='applicableTypes'>
<list>
<value>{http://www.alfresco.org/model/content/1.0}content</value>
</list>
</property>
<property name='carryAspectProperties'>
<value>true</value>
</property>
<property name='enableStringTagging'>
<value>true</value>
</property>
</bean>
dc\:subject=cm:taggable
Ask for and offer help to other Alfresco Content Services Users and members of the Alfresco team.
Related links:
By using this site, you are agreeing to allow us to collect and use cookies as outlined in Alfresco’s Cookie Statement and Terms of Use (and you have a legitimate interest in Alfresco and our products, authorizing us to contact you in such methods). If you are not ok with these terms, please do not use this website.