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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.