[Lazarus] FPDoc tracker
Hans-Peter Diettrich
DrDiettrich1 at aol.com
Fri Jul 15 16:53:38 CEST 2011
I'm about to write kind of a content management system for the Lazarus
and FPC docs (FPDoc xml format). This system shall allow to track
changes to the source documentation, so that updates can be applied e.g.
to the FPDocs in other languages. I need such a CMS for updating my
personal documentation, that is widely different from the "official"
documentation. Another use may be the import of the Delphi
documentation, that in D7 was near perfect. [as far as legal]
The idea behind this CMS is:
The CMS is based on LazDE (see lazarus/doceditor), with some adds to
allow for remote control of the editor form(s).
Multiple versions of the docs are kept in separate directories, referred
to as *primary* (SVN, English) and *secondary* versions. On start of the
new project two instances of the LazDE editor form are shown, which
allow to show corresponding files (by unit name) from two directories.
Another CMS form contains two file lists, which can be populated by
selecting XML document directories (e.g. lazarus/docs/xml/), which then
are scanned for all files, including subdirectories. A dblclick on an
file opens both versions, from the two file lists, in the LazDE editor
forms.
No technical problems, so far :-)
For the remaining functionality I need some inspiration, how changes to
the docs can be tracked. One useful tool can be Git, which allows to
switch quickly between revisions of the XML files, and (possibly) can
allow to find commits with updates of the docs.
Since translated or otherwise modified docs do not correspond closely to
the primary docs, I intend to track the "last compared" version of the
primary docs along with every secondary doc file, so that a "What's New"
feature can show all modifications to the primary files. For that
purpose I need ideas, how changes can be detected at all.
One solution were another directory, holding all "old" versions of the
primary files, so that these files can be compared to the current
versions. The comparison can be improved by checksums or similar means,
so that a direct file-by-file comparison can be avoided. Perhaps also a
"diff" tool can be used to find and report all differences between the
files in these directories?
Furthermore the found differences must be mapped into file, item, entry
(etc.) references, which allow to navigate in the editor forms to every
modified item. Here it should be possible to remember the exact doc
entries, whose changes have been reflected (updated...) in the secondary
files. Perhaps a ToDo list should be produced, from which all handled
changes can be deleted? The list can contain all undocumented items as
well...
Does there exist common interest in such a documentation tool?
Who can help to implement it, be by suggestion or concrete code?
DoDi
More information about the Lazarus
mailing list