I'm currently migrating existing components to use the HST-2 Spring Bean Bridge to integrate better with the Spring IOC container.
I followed the Hippo documentation and everything works as advertised, at least in the running site. I can now define my component beans in my spring configuration and use DI for my component dependencies.
However, I learned that now I cannot modify the parameters on those component's in the Channel Manager's Template Composer. Before migrating those catalog components to use the SpringBridgeHstComponent I could click in the component item area in the Template Composer and get the pop up dialog which let me view and edit all the parameters to that component item
(hst:parameternames, hst:parametervalues).
Now the pop up dialog just shows a message that
"No editable properties found for this component."
I should mention that the component parameter values that were already set on the components are still available during request processing/execution. But those values are now effectively "hard-coded" because the webmaster cannot view/change them in the Template Composer.
Is this a known issue with the SpringBridgeHstComponent? Or is there a workaround configuration or something to make those component parameters available again in the Channel's Template Composer?
The Hippo CMS Channel manager can only scan annotations in the component class configured by the hst:componentclassname property. SpringBridgeHstComponent class itself, which is used in your component configuration now, cannot be annotated by a domain-specific parameters info annotation. As a result, it's not shown in the channel manager properly.
If you want to enable the parameters setting window for the SpringBridgeHstComponent-bridged component, then you should extend the class only for the annotation. e.g, ContactSpringBridgeHstComponent extends SpringBridgeHstComponent with a specific annotation in that extending class for contact component for instance. See the docs for detail.
This is needed at the moment because channel manager recognizes the parameters information only by class annotation, which makes you extend a new class for each component.