Skip to Content
Nov 19, 2010 at 01:33 AM

Using component configuration in FPM stops cross-component context sharing



Has anyone come across this before - and have a solution?

I have an FPM GAF app. I use the IF_FPM_GAF_CONF_EXIT interface in one component to control the overall flow of the app.

This has links to the contexts of one of the components use in the FPM app. this component (Component A) is a IF_FPM_SHARED_DATA component.

in the "vanilla" FPM app I use this to read a specific context attribute from this component - it reads it fine.

in another version I use the same display component, same controller component, but within the GAF config I select a different component configuration for the component A. (I do this to simply change a text of the component).

When I do this I no longer get access to the same context within the controller component. but a different instance.

It seems that the instance of component A that my controller component is binds to and the instance that is created by the FPM are different when I use a configuration ID in the FPM config.

Perhaps this is why these shared data components should be faceless! The FPM doesn't handle the sharing of the instances well if it has to recreate the instance with a new configuration id.

I know I'd not have the same issue if I shared data using a singleton class - please don't suggest that!

I'm going to try creating a faceless component to share the data - although that seems like a needless abstraction to me. But at least it means I should be able to use the component configuration.

If you have any ideas, please let me know.