[TYPO3-doc] DocBook: repository structure and release processes
François Suter
fsu-lists at cobweb.ch
Tue Feb 22 22:10:59 CET 2011
Hi all,
Although we haven't finished exploring the previous topics that I
started, there's another one that I would like to tackle early on. It's
about all the processes related to rendering the manuals (but *not*
about the rendering process itself, this does not need to be discussed
right now IMO) and how the whole repository is structured to enable
simple cross-linking as much as possible.
I think we all agree that easy cross-linking (using just id attributes)
is ideal. As far as I understand it to achieve this all manuals would
have to grouped under a single set. This begs already the following
questions:
1) what do we want "all manuals" to mean in our context? Should it
really be all, i.e. all v4-related official manuals, all FLOW3 + v5
official manuals, all extensions/packages manuals? Or should we have a
v4 and a v5 set, or even some finer-grained sets?
The answer to this question will certainly have implications on the
repository structure, as we will then want to have all manuals under the
same hierarchy, maybe through the use of SVN:externals or its Git
equivalent (hoping there's one).
BTW this is the opportunity to finally gather the stuff that's included
in the sysext manuals, which cannot found online in the current state of
affairs.
2) what is the exact implication of having a global set? I imagine that
all books would be referenced using includes, but I guess they still
need to be in the same file hierarchy. What's the implication on the
file structure?
3) also what is the implication of having sets on the rendering process?
Do all the books in the set have to be rendered at the same time? Can a
given book still be rendered individually? If so how does the
cross-linking work (I mean how does a book know that it belongs to a set)?
Another important issue is how we organize "releases" of manuals.
Currently the process is quite clear: we work in manuals stored inside
extensions and a new version of a manual is released whenever we decide
to publish the wrapping extension. Version numbers are managed when
uploading the extension to the TER.
I have been unconvinced by that way of doing for official manuals for a
long time. Furthermore if we add sysext manuals to that, we can't rely
on an extension being published to trigger the rendering of its manual.
Additionally I don't think FLOW3/v5 follows the same logic.
What I would envision is that manuals would be rendered straight off the
repository. But of course we don't want to render *all* manuals in
*every* format *every night* (or something). Version number would be
taken from the DocBook code anyway (productnumber in the first info
block). For an extension author, publishing his/her extension would add
a trigger for the rendering of the relevant manual...
OTOH it would be great if official manuals (or at lease core manuals)
were rendered to HTML every night, as we could have a "nightly build"
for manuals that follows trunk development. Indeed if you assume that
developers would be encouraged to submit DocBook patches for documenting
new or changing features in the code instead of adding text to the
Pending Documentation page, we could have reference documentation that
is nearly in sync with Core development.
Rendered manuals would be available at a central place and links to the
various formats could be assembled automatically, for example from the
TER when looking at an extension or from the Extension Manager inside
the TYPO3 backend.
It's all a bit helter-skelter because there's actually so much to think
of and so many ideas emerge when doing such thinking.
So please consider this mail as a form of brainstorming, with some
important questions in it :-)
(Credits: some ideas from Ingo Renner).
Cheers
--
Francois Suter
Cobweb Development Sarl - http://www.cobweb.ch
More information about the TYPO3-project-documentation
mailing list