One of the great new additions to the composite application framework in Lotus Expeditor and Lotus Notes is the Generic Container Framework. Container components offer a very powerful means of assembling applications.
Container Configurations
A container component works off of an Eclipse extension called its containment configuration. These configurations provide information for the component in order for it to function properly. This information includes defined properties, landmark events and actions, and more. The configuration is mapped to the component by the primary view id. This allows multiple instances of the same type of container component to utilize the same configuration. By default, when dragging multiple instances of a container onto the layout in the Composite Application Editor, each container component has a different primary view id. However, it is entirely possible to have multiple instances of the same container exist within the page. Since component instances in a composite application are determined by the secondary view id, these containers can coexist. However, since the container configurations work off of the primary id, these instances will share this configuration. This means that any landmark changes I make to one component will show up in the other. Here are two landmark configurations for 2 components that share the same configuration.
Since these components share the same primary ID, any change made to the landmark configuration of one will be reflected in the other. However, it is also possible to differentiate these components and make them independent. This is done by modifying the container namespace preference. By adding the preference com.ibm.rcp.composite.container.namespace to one of the components I can now make changes to the landmark configuration of one component that will not show up in the other. This causes each container component to now have independent containment configurations. In other words, they are no longer shared.
Summary
In conclusion, if container components with the same primary view ID are placed on the same page, they will share the same configuration. Landmark configuration changes made to one component will be reflected in the others. This can be circumvented by changing the com.ibm.rcp.composite.container.namespace preference to an arbitrary value of the application assembler's choosing.