Filter Configuration Debugger
The Idea
is to provide a generic Configuration-UI for Filter Services (see
ProjectBar).
DIVE supports this Idea by integrating this Config-UI.
The Implementation form DIVE's viewpoint
Prerequisites
- there exists one Service which provides the appropiate GUI for dooing the Configuration, based on its Service-Description. (to be implemented by the BAR-SEP-Team)
- there are Filter-Services who advertise Needs for Configuration. (to be implemented by the BAR-SEP-Team)
If a Configurable Filter is clicked on in DIVE, DIVE provides a Button "Configurate this Service". Pushing this Button triggers the follwing chain of events:
What DIVE provides
- a new Service-Description wtih the Attribute "providindDataFor" set to the Filter-ID is created.
- for each "Configuration-Need" an Ability with the apropriate Data-Type is created.
- The Predicated of the "Configuration-Needs" are set to (providingDataFor=), to ensure correct connection establishment.
- The Service which is intended to do the Configuration is executed and assosiated with the newly generated Service-Description (this is done by the Service-Manager).
FAQ
- How are configurable Services recognized? By setting the Attribute thisServiceIsConfigurable=true!
- How are "Configuration-Needs" recognized? By setting the Attribute ConfigurationNeed?=true!
- Now, what is the Service intended to do the Configuration? By default it is "ManualContext.py". If you want another Executable, insert the Attribute configuratorExecutable, set to your favourite Executabele, into the Service-Desc of the Sevice that is to be configurated!
- What is the Configurator supposed to do? It has to analyse his Service-Description and then construct a GUI that generates suitible Data for each of the Abilities.
--
MarkusGeipel - 19 Jan 2004