I have a condition on an attribute of a few inserted objects(all
same type) in the Split node of a ruleflow.
Basically rules that are used inside
split nodes are evaluated exactly the
same way as normal rules.
The condition looks like: Author( attribute == -1 )
and it holds for all objects if at least one of them has the attribute set
to -1. If none of them is -1 only then
the condition is not satisfied.
That is indeed correct: you could translate your
condition as "if there
exists an author with attribute equal to -1". This is not a bug and
actually is expected behaviour.
It is unclear to me what behaviour you are actually expecting here? Do you
want to execute the RuleFlow for each author object separately? If so, you
should probably start the ruleflow for each author object and use a variable
to store the reference to that one specific author (e.g. add the authorId as
a parameter when starting the process, where this authorId can then be
referenced in eval constraints in your process).
A solution I can think of is to insert objects one by one and fire
after every insertion and retract object every time you fire. Will it be
inefficient? I can potentially have 10s of thousand of such objects.
I suggest you
try to create a proof-of-concept solution that can be used to
evaluate performance. Based on those results, giving advice on how to
improve performance will be a lot easier.