I have implemented a Form Filter and register it within my module-context.xmlThe filter is correctly invoked for each forms in share interface, however it is not fired when I need it, which is when I invoke a custom action in doclib and a form is displayed.This is the form definition in share-config-custom.xml of my share module, nothing special, I have removed the fields (text and date field type) for clarity:
<config evaluator="string-compare" condition="myCustomShareAction">
<forms>
<form>
<field-visibility>
<show id="…." />
</field-visibility>
<appearance>
<field></field>
…….
</appearance>
</form>
</forms>
</config>
This is the action
<action id="${project.artifactId}_MyCustomShareAction"
type="javascript" label="message.title" icon="invoice-modify-aspect">
<param name="action">myCustomShareAction</param>
<param name="function">onActionFormDialog</param>
<param name="itemKind">action</param>
<param name="itemId">myCustomShareAction</param>
<param name="mode">edit</param>
<param name="destination">{node.nodeRef}</param>
<param name="successMessage">…</param>
<param name="failureMessage">…</param>
<evaluator>isMyCustomShareActionVisible</evaluator>
</action>
Then the filter in module-context.xml of my AMP repo project:
<bean id="actionShareFormFilterNode" class="…ActionShareFormFilter" parent="baseFormFilter">
<property name="filterRegistry" ref="nodeFilterRegistry" />
</bean>
<bean id="actionShareFormFilterType" class="…ActionShareFormFilter" parent="baseFormFilter">
<property name="filterRegistry" ref="typeFilterRegistry" />
</bean>
I am not reporting the ActionShareFormFilter because it has nothing special in it just a log statement.Everything is working, but to reassume, when I click the action in doclib the form is correctly displayed, but the filter is never invoked. If instead I click "modify content", or just viewing a datailst I can see the filter being invoked.I have removed few lines of code for clarity, so there's probably some syntax error in the lines above.