Erik Brakkee wrote:
As I see it it just revolves around usability issues. See below.
OK, I'll reread and summarise from a user perspective...
I have recently introduced Forrest at my work to generate documentation
and it is really a big hit, with especially the include feature being
really useful. Some of our documents tend to get big and splitting them
up makes it so much easier. If I would force my users to write the
<xi:include> markup above, I would have had a great problem getting it
accepted.
I'm still not convinced of the whole value of this extension, but I am
convinced of some of the usability issues you raise. This makes the
extension valuable in some use cases.
My biggest concern is that it is yet another processing step that every
single document must go through before being output. This is going to
have quite an impact on our performance, something we are taking more
notice of as we get closer to a 1.0 release.
From a usability perspective the automatic fallback is not a good thing
in my opinion. Most users do not want Forrest to hide the fact that
there is a problem with their generated site. Quite the reverse, they
rely on Forrest to validate that all content is present and correct.
However, I guess this could be made configurable:
<include src="myfile.xml" fallback="false"/>
The easier specification of what is to be included is nice and I see
extensions to it, for example, include only a section:
<include src="myfile.xml" section="sectionID"/>
Not requiring paths relative to root is a great enhancement of current
functionality.
However...
These advantages only apply to the small number of users wishing to
include external documents I don't think these advantages are worth the
performance hit we would get if we put it into core. That being said, I
think this is a great candidate for an internal plugin. This will make
it much easier for users who do lots of inclusion work to get this
functionality, whilst leaving those concerned about performance to use
the existing XInclude functionality.
I'm +1 on this becoming an internal plugin, so that it can be used by
those who need it, but -0 on it being a core part of Forrest.
WDOT?
Ross