Shared documentation system
Shaun McCance
shaunm at gnome.org
Sun Jan 4 00:11:03 EET 2004
I hope you've all had a nice holiday. Let's get this discussion fired
back up.
At this point, I've basically agreed on desktop files as the metadata
format. KDE already uses this format, and I don't see any objections
from any other parties.
Given the problems with managing multiple copies in a single metadata
file, we should probably have a single metadata file for each copy of
documentation installed (translation, formatting, version, etc.) This,
however, has a disadvantage in not having a single file that references
some piece of documentation.
I had originally hoped that opening the documentation for an application
could just involve opening the metadata file. This would allow a user's
preferred help browser setting to be set with the same system used for
any other preferred applications. I think we may still be able to work
something to that effect in. And if not, it's not a huge loss.
So first we need to standardize on keys. The desktop entry spec has a
Type key. I think this should be used and set to "Documentation". We
can probably all agree on the keys Name, Comment, Icon, DocPath, and
Lang. I think we should have a ContentType key, which would give the
MIME type of the referenced documentation.
I've said a few times that I'd like to work with something like the menu
spec, so of course I'd like Categories, OnlyShowIn, and NotShowIn, as in
http://freedesktop.org/Standards/menu-spec/0.8/ar01s03.html
And, of course, we need something like Identifier, what KDE currently
uses X-DOC-Identifier for. I rather like the identifier scheme that I
outlined earlier:
https://listman.redhat.com/archives/xdg-list/2003-December/msg00160.html
As a recap, identifiers would use a slash-separated string as a simple
namespacing mechanism. Every identifier is under one of a couple of
standard top-level namespaces. Additional namespaces can be introduced
below that.
Applications would put their documentation under apps/ and then use
their application name, such as apps/kmail or apps/evolution. If an
application has more than one piece of documentation, it can use its
application name as an additional namespace, such as
apps/glade-2/faq
apps/glade-2/turbo-start
apps/glade-2/user-guide
GNOME desktop documentation would be under gnome/ and KDE desktop
documentation would be under kde/. Or perhaps there should be an
additional desktop/ top-level namespace, and then we could have
desktop/gnome/, desktop/kde/, desktop/xfce/, etc. That would really
make it easier to handle more desktops. Other possible top-level
namespaces are libs/, system/, and vendor/.
There could also be man/, info/, kde/, and scrollkeeper/ top-level
namespaces. No document installed with this system would use those.
Rather, if a help browser pulls in stuff from another system, it can
automatically assign an ID. This way every document can be referenced
the same way, regardless of where it came from.
I would like a Replaces key in the metadata that gives a list of IDs of
documents that this document replaces.
All right, this list isn't exhaustive. I want to get some foundation
first, and then we can build. In particular, I want to hear people's
thoughts on the proposed identification system. I think it's simple and
effective. It also makes it pretty simple to map existing help systems
into this one.
If we can get some agreement on the basics, I can start to write up a
specification for this. It'll need a place to live on the web, of
course.
--
Shaun
More information about the xdg
mailing list