Closed mhdirkse closed 2 years ago
This is how the Frank!Doc webapp becomes for page SenderPipe. Inheritance is shown:
And this is how the XSD will be become for SenderPipe:
<xs:group name="SenderPipeDeclaredChildGroup">
<xs:sequence>
<xs:group ref="MessageLogElementGroup" minOccurs="0" maxOccurs="1" />
<xs:group ref="InputWrapperElementGroup" minOccurs="0" maxOccurs="1" />
<xs:group ref="InputValidatorElementGroup" minOccurs="0" maxOccurs="1" />
<xs:group ref="SenderElementGroup" minOccurs="1" maxOccurs="1" />
<xs:group ref="ListenerElementGroup_2" minOccurs="0" maxOccurs="1" />
</xs:sequence>
</xs:group>
<xs:group name="SenderPipeCumulativeChildGroup">
<xs:sequence>
<xs:group ref="SenderPipeDeclaredChildGroup" />
<xs:group ref="OutputValidatorElementGroup" minOccurs="0" maxOccurs="1" />
<xs:group ref="OutputWrapperElementGroup" minOccurs="0" maxOccurs="1" />
<xs:group ref="AbstractPipeDeclaredChildGroup" />
</xs:sequence>
</xs:group>
To use the @Reintroduce annotation, please merge the following F!F PR: https://github.com/ibissource/iaf/pull/3529
The webapp page does not look correct, the SenderPipe has messageLog, inputWrapper, inputValidator, sender, listener but no outputValidator and outputWrapper.
I also think that it will confuse people if nested elements are repeated on the page, now the SenderPipe has a list of nested elements, and the MessageSendingPipe from which it inherits has a different list of nested elements. If I look at it as a Frank!Developer, I should not have to care about inheritance, I just want to know for an element which nested elements, attributes and parameters I can set, and ideally each list should be together and only once on the page, but your current print screen makes it look like it will be all over the page with this PR.
I had a phone call with @nielsm5. We decided that we will ignore @Reintroduce for the JSON. This will address Ricardo's comment. The @Reintroduce annotation will still have its effect on the XSDs.
I agree with @ricardovh that the screen shot above is confusing for developers, BUT this is in the 'show inheritance' view. The default 'hide inheritance' view is what the developer normally wants to see. There the child elements should be displayed in the right order. To enable this, a reintroduced-attribute must be added to the json for the attributes and config-childs that have the annotation.
Ik heb Gerrit's opmerking verwerkt.
ElementChild may be improved by merging isReintroduced tests with technical override. I will try it out.
TODO: