We have extension points for pretty much everything (cf. archetype), except for inserting content into JSF pages at more or less arbitrary points. Facelets' <ui:include> allows something along these lines, which is why we used it for SceneNodeComponent UIs. The approach used here is similar, in that applicable view pages are queried from a registry and rendered.
So why didn't we just use the same mechanic? Most of all, this is much more concise. Just one tag wherever you want your extension point to go. The SceneNodeComponent approach takes 2 Tags and a mandatory call to a Facelet function to resolve the view page.
We have extension points for pretty much everything (cf. archetype), except for inserting content into JSF pages at more or less arbitrary points. Facelets'
<ui:include>
allows something along these lines, which is why we used it forSceneNodeComponent
UIs. The approach used here is similar, in that applicable view pages are queried from a registry and rendered. So why didn't we just use the same mechanic? Most of all, this is much more concise. Just one tag wherever you want your extension point to go. The SceneNodeComponent approach takes 2 Tags and a mandatory call to a Facelet function to resolve the view page.