MultiComponent FGC Enablement (archived) - quality-manager/onboarding GitHub Wiki
Development Environment
This describes how to get a development environment running. The steps are:
- Edit your launch for both QM Init and Server startup
- Create an FGC.activate file
- Apply patches as needed
- Run QM Init with modified launch
- Start the server with modified launch
- Enable full configuration management (not the single-stream version) as you usually do
1. Edit your launch for both QM Init and Server startup
Add lines like this to your launches (your path for JAZZ_HOME may differ!):
<listEntry value="com.ibm.team.repository.service.internal.fineGrainedComponents.enable|value=true"/>
<listEntry value="com.ibm.team.repository.service.internal.configurationAware|value=true"/>
<listEntry value="com.ibm.team.repository.provision.context.path|value=conf"/>
<listEntry value="JAZZ_HOME|value=/Users/frankmcgrath/Documents/dev/play/jazz_home"/>
2. Create an FGC.activate file
-
In the directory referenced by JAZZ_HOME above add a folder "conf"
-
In the "conf" folder create a text file called FGC.activate.
-
The contents of FGC.activate are:
activation.code=22222222-2222-2222-2222-222222222222
3. Apply patches as needed
In WorkItem 447221 Frank initially created a fix and Gary delivered an improved version. Without this fix, saving configuration aware items in RQM does not work properly, as the vtable is populated with the aggregate configuration UUID not the subconfiguration. Gary has delivered this to 6.0.6
4. Run QM Init with modified launch
Based on code Jing created in Workitem 144952 when the project area is initialized, a collection of components, aggregate configurations, and subconfigurations is created in each project area.
5. Start the server with modified launch
6. Enable full configuration management (not the single-stream version) as you usually do
Pre-defined SubComponents and Configurations
There are 4 predefined Aggregate Configurations, with the following components. Note that you should be able to test for broken references. For example use the Quality Manager Initial Stream to create an item in SubComp Quality Manager that references an item in SubComp2. Switch to AggregateStream2 and SubComp2 is not accessible, so the reference should be broken.
- Quality Manager Initial Stream
- SubComp Quality Manager
- SubComp2
- SubComp3
- AggregateStream1
- SubComp Quality Manager
- SubComp2
- AggregateStream2
- SubComp Quality Manager
- SubComp3
- AggregateStream3
- SubComp2
- SubComp3
Known limitations
Switching configurations from the toolbar
Currently, the web UI for selecting a configuration does not work properly, as it initially just finds subconfigurations. I will take a look at it. It should really find just the aggregate configurations. A workaround is to open the "Manage Components and Configuration" dialog box, and then navigate to one of the aggregate configurations.
Manage Components and Configurations
The UI shows all components and subcomponents, and all configurations and subconfigurations. You should only switch to an aggregate configuration. The UI lets you switch to a subconfiguration but it is a bad idea to do so. You have been warned.
Broken References
An initial pass was made to guard against broken references. We will be looking for more
Version skew
We do not guard against this, and I do not recommend triggering it for now unless you are explicitly trying to do so. To do so would require making use of the merge code, and I am not certain what would happen.