Hi all,
This proposition from Darrel seems interesting and he surely has spent some
time thinking about this. Has any progress been made in this direction?
Best regards,
Tiago
On Mon, Jan 2, 2012 at 8:38 PM, Darrell Anderson <humanreadable(a)yahoo.com>wrote;wrote:
A while back we discussed Trinity user guides. My
schedule now looks good
for digging deeper into providing that support. I also have reconsidered
some elements of our past discussion.
A proposed outline/table of contents will follow in another email.
This is a lengthy read. I hope to receive commentary and discussion, but
take your time to read and digest. :)
====================
Recap:
====================
We wanted to use a format that was easy to merge revisions into the GIT
tree, which meant some kind of text based file system. We leaned toward
ODF/ODT because the underlying file format is XML. Additionally that format
lends well to anybody who wants to get involved because any word processor
supporting ODT could be used.
We want to support two output formats: PDF and HTML. PDF is important for
portability. HTML is important to host online versions of the guides.
Further, I envision us adding a TDE Handbook "device icon" that is a link
to a local copy of the TDE user guide (kdebase?). A default new profile
would have that icon on the desktop. We could have a T-Menu option for the
guide too.
KWord supports ODT, which supports the "eat your own dog food" philosophy.
(We discussed that KWord's ODT support needs updating, but that is a
different discussion.) Using KWord allows community members to participate
with helping with documentation. I don't anticipate serious problems with
contributors using the current KWord ODT "as is" because they will not be
using complicated formatting. Further, we are not concerned with
compatibility with other word processors. (Would somebody use Abiword to
contribute to Trinity documentation?)
Any user wanting to report typographical errors can copy and paste into
their email client.
If we use KWord to maintain the documentation, we noted that PDF output
was not an issue because of the built-in PDF printing that comes with TDE.
(Use File/Print rather than look for any 'PDF Export' or 'Save As'
feature.)
We more or less left the discussion with maintaining the guides in ODT
format.
Is that a good decision?
I have been involved with technical writing for more than two decades.
Word processors succeed in that environment only when custom templates are
used along with a robust set of style tags. Allowing any manual formatting
at all is a management and editorial nightmare.
Although most people are familiar with using a word processor, only a
minority of people outside of technical writers are familiar with templates
and style tags. In the past whenever I designed templates for customers, I
removed the manual formatting buttons from the toolbars and respective menu
options. No manual formatting is allowed in any serious tech writing
project.
Further, there is a well known challenge with using a word processor to
maintain our guides: generally, HTML output is awful and gets cluttered
with useless tags. Any HTML we generate must validate all the time. I never
have used a word processor that can provide that kind of HTML. There always
is cleanup required. Certainly we could do that: maintain the guides in
KWord and use some scripting to scrub the HTML.
All of this sounds messy and labor intensive. Is there another way?
We discussed the idea of using a markup language. Generally we were not in
favor of using a markup language. One reason is the simpler markup
languages do not support complicated features such as tables, text flows
around graphics, etc. Another reason is we want to encourage community
involvement and markup languages do not provide a familiar WYSIWYG
interface.
====================
Proposal:
====================
There is one markup language that supports our GIT goals as well provide
formatting flexibility: DocBook. DocBook is a subset of XML and popular in
the free/libre world.
A challenge with DocBook is few everyday users are going to use a markup
language to contribute to documentation efforts. That should not be a
problem because we agreed in our discussions that non team contributors can
use whatever they want to submit revisions. They submit revision changes to
the Trinity documentation team. Somebody on the documentation team would
edit those submissions according to a Trinity style guide, convert those
submissions into whatever format we use, and then merge to GIT.
Sounds much like our first discussion: markup or word processor?
Both.
For community members who want to help with documentation, we create a
KWord ODT template with known style tags. If possible we design the
template toolbar and menus to prevent manual formatting. A premade template
will satisfy our desire to make the process easier for community members. A
template and style tags provides consistency.
Because many people are unfamiliar with using style tags, we write a
how-to. Using style tags is easy and after people see how style tags
operate they wonder why anybody would use manual formatting for any serious
project.
Because the document template is based on style tags and not manual
formatting, we use some scripting to convert that ODT/XML document to our
DocBook templates. By the way, KWord 1.6 provides only nominal exporting
support for DocBook (
http://userbase.kde.org/Kword/1.6/DocBook). Some
scripting attention would be needed to convert such documents.
Yes, we could use that same template for our documentation team and
maintain our user guides in that format. But we lose flexibility and we
still have to scrub the files to validate any HTML output.
But guess what? We have to use DocBook anyway --- for our Handbook help
files. :)
All of the TDE Handbook help files are in DocBook. Yes, all of them need
serious revision attention, but that too is another discussion. The point
is one way or another we will get our feet wet with DocBook. Why not
include our user guides too?
I envision down the road where we establish an ability to create user
guides, help files, and other small "job aid" all from the same source
files. Using such document sources means we could one day host all of our
documentation on our web site in real time from the GIT tree. Using KWord
for that kind of single sourcing would be cumbersome.
KWord should be a stop gap only for community members who want to help but
don't want to deal with DocBook.
When done correctly, DocBook files can be massaged into high quality
professional documentation, both PDF and HTML. As evidence, I recommend
anybody interested in this topic to browse the OpenSuse KDE3 user guides (
http://www.novell.com/documentation/opensuse103/). Both the PDF and HTML
versions of their documentation are maintained with DocBook.
As far as I can tell, just about all of the documentation teams working
for the big distros use DocBook.
Our user guide discussion reduces to what people on the Trinity
documentation team want to use. I want to consider DocBook. In addition to
making revisions with GIT easy, DocBook is neutral about outputs because
that is controlled by backend processing.
DocBook provides longevity. DocBook files are not affected should KWord no
longer be supported in Trinity, which has been discussed.
We have to deal with DocBook anyway because of the Handbook help files.
Most of what we need is already available. All we need is to learn the
processes. Oh, and document them too. :)
====================
Challenges:
====================
1. Editing.
Ideally we find a free/libre XML/DocBook editor that supports WYSIWYM
(What You See Is What You Mean). WYSIWYM is different from WYSIWYG (What
You See Is What You Get). The latter includes actual final page formatting
directly on the screen. WYSIWYM does not. The focus with WYSIWYM is
structure, which is exactly what DocBook supports.
Yet an attractive feature about using a WYSIWYM interface is the writer
sees some sort of visual representation of the text structure rather than
raw markup. Think of WYSIWYM as a pseudo WYSIWYG. The visual feedback
helps. Without a WYSIWYM interface, writers work in raw markup, which is
not easy for many writers to do.
There is the debate about eating one's own dog food. Trinity provides
Quanta Plus. Quanta Plus supports DocBook (
http://l10n.kde.org/docs/doc-primer/quanta.html) and is a well regarded
tool for web development. Yet unlike HTML, Quanta Plus provides no WYSIWYM
interface or display feedback for DocBook. That means writers on the
documentation team learn to work in raw markup mode. Probably not a huge
obstacle because the number of people on the Trinity documentation team
will be but a few.
I will ensure we have good documentation to use that tool for our specific
needs. Yet with Quanta Plus we have a tool to claim we eat our own dog
food. I'm not sure, but I think the KDE3 documentation team used Quanta
Plus. I don't know what the OpenSuse documentation people use. (I'm curious
to know.)
I'm willing to overlook that Quanta Plus does not provide a WYSIWYM
interface or display. Perhaps I'll add an enhancement request for that. :)
Basically, most, if not all of these WYSIWYM interfaces use some kind of
style sheet to interpret the underlying DocBook into basic HTML for the
visual presentation and vice-versa. Remember that WYSIWYM is not a
representation of final formatting but a visual representation of the
document structure. Working in WYSIWYM is easier for most people than
direct markup. Would be nice if we could add that feature to Quanta Plus.
Although writing in raw markup --- even with Quanta Plus --- has a geek
aspect that appeals to some, in the long term a WYSIWYM interface would be
a great asset. Anybody up to the challenge? :)
If we don't eat our own dog food, there are several commercial XML editors
that provide a WYSIWYM interface. Some provide free-to-use versions but are
closed source. However, one such editor is GPL(3): Syntext Serna Free (
http://www.syntext.com/products/serna-free/). For professional reasons I
intend to look at that tool. Serna Free is the only professional XML editor
supporting DocBook I know that is free/libre. The sources are available
online. Serna Free uses Qt4. :( Deb and rpm packages are available as well
as a generic install script.
Quanta Plus should be our first choice. We make do until Quanta Plus
receives a WYSIWYM display like that provided for HTML. :) Quanta Plus
provides some validation tools. Quanta Plus does not provide the full
backend support that Syntext Serna Free provides, but we'll learn that
backend processing support, which I discuss next. :)
2. Backend processing.
Minimally, Docbook backend processing requires xmllint and xsltproc. The
former to validate the code and the latter to convert to HTML and PDF. Both
tools are available on all distros that TDE can run. Yet we do not have our
own style sheets or DTD (Document Type Definition).
A challenge with any generic default xslt backend support is the resulting
documents are bland --- ugly and seldom flow correctly. For example,
paragraph headings often get split across pages from the first paragraph.
To produce professional documents requires serious hand tweaking of the
xslt backend. I haven't done that but I want to learn.
The OpenSuse folks use the Novell novdocx.dtd. The license is free/libre.
Fortunately I found a copy of the Novell backend package containing the DTD
and style sheets, XSLT scripts, etc. I haven't any idea yet how to install
or use the tool chain, but I have them downloaded.
Because the backend processing scripts are available in that package, with
a learning curve we should be able to use them to produce both professional
PDF and HTML documents and avoid the xslt tweaking process. :)
Although I understand the principles of all that is involved, I never have
used this tool chain. Maybe we can find an OpenSuse documentation team
member who still has a soft spot for the KDE3 tradition and is willing to
help us bootstrap our documentation project? Anybody using OpenSuse know
such a person? :)
3. Content.
I have copies of some excellent KDE3 user guides, which include the last
OpenSuse KDE3 guides.
I found and downloaded the DocBook sources for the OpenSuse 10.3 guides,
which was the last guide to address KDE3. All of the guides I have are
under free/libre licenses. We can use the content of those guides for a
significant portion of our own user guides. I need to learn how to install
those DocBook sources in a way to use Quanta Plus for editing.
We will need to replace many of the screen grabs.
We lack a style guide. Style guides provide guidance for formatting,
syntax, etc. I see no reason to reinvent wheels here. The OpenSuse KDE3
guides are quite professional. I also have a copy of the KDE style guide
and author's guide. All of that documentation is free/libre. We should
adopt those style guides and DTD.
I started an outline/table of contents for our guides. My initial effort
will be to plug-and-chug existing content into that outline. Then replace
screen grabs. Then edit and proofread, something I have been doing for
years.
After the Docbook files are ready, they can be uploaded to GIT. From then
on anybody can make changes. Further, we should be able to adapt all of the
backend scripting support so we can produce guides in real time.
====================
Summary
====================
I propose we use DocBook to maintain our user guide sources. We use the
OpenSuse DTD and processing scripts. Familiarity with DocBook allows us to
also start revising the Handbook help pages, which is much needed.
We use the OpenSuse and KDE style guides.
We use existing free/libre KDE3 user guides as a foundation for our
guides. We provide full credit to all in our Credits section.
Like the OpenSuse guides, I recommend we provide both a Quick Start Guide
and a comprehensive user's guide.
For community users who want to help with documentation, we design a KWord
template with a set of style tags. We provide a how-to for using the
template. We create some scripts to convert those documents to DocBook.
I already have stated I am ready to be the grunt person to get our
documentation started.
Please add to this conversation! :)
Darrell
---------------------------------------------------------------------
To unsubscribe, e-mail:
trinity-devel-unsubscribe(a)lists.pearsoncomputing.net
For additional commands, e-mail:
trinity-devel-help(a)lists.pearsoncomputing.net
Read list messsages on the Web archive:
http://trinity-devel.pearsoncomputing.net/
Please remember not to top-post:
http://trinity.pearsoncomputing.net/mailing_lists/#top-posting