Another alternative could even be to control the import to point the desired 
flow:

<flowController key="[String]">
    <import location="${xxx}"/>
</flowController>

That would completely remove the need for any skipping attributes and work 
without dynamically generated descriptors.

-- Richard

On 26.09.2013, at 23:00, Richard Eckart de Castilho <[email protected]> wrote:

> Not the controller, but its configuration. The skipping is clearly affecting 
> the flow. So why not add something to the flowConstraints, e.g.:
> 
> <flowConstraints>
>  <fixedFlow>
>    <node>[String]</node>
>    <node>[String]</node>
>    ...
>  </fixedFlow>
>  <skip>
>    <node>[String]</node>
>    <node>[String]</node>
>    ...
>  </skip>
> </flowConstraints>
> 
> or 
> 
> <flowConstraints>
>  <fixedFlow>
>    <node skip="true">[String]</node>
>    <node>[String]</node>
>    ...
>  </fixedFlow>
> </flowConstraints>
> 
> Personally, I'd not make any modifications to the descriptor at all, but 
> rather would just skip the delegate when programmatically creating the 
> descriptor. We do that all the time in our experiments. But if that is for 
> some reason not an option and the extension is a strong requirement, the 
> change should at least be made at the location that conceptually makes most 
> sense (imho). 
> 
> @Marshall: do you want to provide some more background why you do not simply 
> create the descriptors programmatically and externalize this skipping, 
> including, etc. into your experimental setup?
> 
> -- Richard
> 
> On 26.09.2013, at 22:53, Peter Klügl <[email protected]> wrote:
> 
>> Am 26.09.2013 22:51, schrieb Richard Eckart de Castilho:
>>> I believe this is a concern of the flow controller and should not be 
>>> configured on the delegates, but rather within the flow controller 
>>> configuration.
>> 
>> That was also my first guess, but do you really wanna touch or change the 
>> flow controller for just skipping a component?
>> 
>> Peter
>> 
>>> -- Richard
>>> 
>>> On 26.09.2013, at 17:23, Marshall Schor <[email protected]> wrote:
>>> 
>>>> To handle the use cases briefly described on the user list for selectively
>>>> skipping some annotators in an aggregate, based on some externally supplied
>>>> configuration data, I'd like to propose something along these lines:
>>>> 
>>>> * Add to the existing element <delegateAnalysisEngine key="[String]"> one 
>>>> or two
>>>> additional attributes.  One would be "skip=${xxx}" and the other would be 
>>>> its
>>>> inverse (for improved readability, only, not logically needed): 
>>>> "run=${xxx}",
>>>> where the value of the parameter would need to be "true" or "false" (or 
>>>> "yes" or
>>>> "no").
>>>> 
>>>> The parameter could be written literally as "true", etc., but also could be
>>>> written using the standard variable naming syntax used elsewhere in the
>>>> descriptors, and would be resolved by settings in the now-standard 
>>>> "external
>>>> overrides" files used by UIMA.  This means that the external overrides 
>>>> would
>>>> continue to be a place where all of the specific configuration info for a
>>>> particular "run" could be placed, together.
>>>> 
>>>> The implementation would do nothing new if the parameters were indicating 
>>>> to run
>>>> the delegate, but if they were indicating it should be skipped or not run, 
>>>> then
>>>> the effect would be as if the delegate had been edited out of the xml 
>>>> descriptor.
>>>> 
>>>> This would satisfy some pleas from some user groups for help in managing 
>>>> their
>>>> descriptors across various related experiments.
>>>> 
>>>> An example: a user might have a delegate which came in two forms: one to 
>>>> run
>>>> "locally", and the other to run "remote".
>>>> 
>>>> They could then include both descriptors in the aggregate, and have only 
>>>> one of
>>>> them "active", by coding:
>>>> 
>>>> <delegateAnalysisEngine key="NE-detector"  run="NE-Detector-local"> ...
>>>> </delegateAnalysisEngine>
>>>> <delegateAnalysisEngine key="NE-detector" skip="NE-Detector-local"> ...
>>>> </delegateAnalysisEngine>
>>>> 
>>>> WDYT?
>>>> 
>>>> -Marshall

Reply via email to