From freedesktop-xdg Tue Oct 31 20:31:14 2006 From: Frans Englich Date: Tue, 31 Oct 2006 20:31:14 +0000 To: freedesktop-xdg Subject: Perhaps use OASIS Catalogs? [was Re: Help System Spec] Message-Id: <200610312131.14448.frans.englich () telia ! com> X-MARC-Message: https://marc.info/?l=freedesktop-xdg&m=117278196412340 MIME-Version: 1 Content-Type: multipart/mixed; boundary="--Boundary-00=_SK7RFCbjlAa0vqV" --Boundary-00=_SK7RFCbjlAa0vqV Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline On Tuesday 31 October 2006 16:51, Don Scorgie wrote: > Hi, > > I'm forwarding this to the xdg list as recommended. As you know, this is interesting and needed work. OSDL has also been looking into improving documentation interoperability. Perhaps these two projects should be merged so we can solve two problems in one blow. Here's some background(see comments for IRC log, and links): http://englich.wordpress.com/2006/10/17/open-source-documentation-framework/ > A little while ago, Cornelius Schumacher sent me an old draft of a spec > for a joint help system between GNOME and KDE. Since then, I've been > looking through, adapting it slightly and adding various bits needed by > GNOME [1]. > > I feel its in something approaching a decent state (well, enough for > people to look over and comment on), so I'm not attaching it to this > email. Instead, you can get it from [2]. It's in docbook format, so > you can view it in you're favourite help browser at you're leisure. Attached is a XHTML rendering for those not into Docbook(extract with bunzip2). > You will notice a lot of Note boxes within the file. In these cases, > they're where I wasn't sure about something, wanted to add some thoughts > (but didn't seem to fit properly) or I got bored and wrote garbage ;) > > Hopefully, this won't disappear into the ether and instead something > will come of it. Any feedback and comments much appreciated. I did one quick read-through and here's my quick comments(will send separate mails). According to my opinion the spec is in general vague and have editorial issues(about one on average in each paragraph), as typical for Free Desktop specifications. But that's quite expected considering it's early in the development process. So, it will need a rewrite when that time comes. A significant size of the spec is spent on a mapping/URI-resolver system(which I don't fully get yet). My initial reaction is that it would be a gigantic improvement to use OASIS XML Catalogs here: 1. Installed catalogs would be registered with the help system 2. The help system computes an URI that identifies the topic of interest 3. The help system resolves this URI through the catalogs for a URI to dereference for a physical resource for user consumption. It would re-use a powerful, generic, implemented, well-spec'd mechanism that provides all one needs for mapping URIs. Cheers, Frans --Boundary-00=_SK7RFCbjlAa0vqV Content-Type: application/x-bzip2; name="help-spec-0.1.5.xhtml.bz2" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="help-spec-0.1.5.xhtml.bz2" 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 --Boundary-00=_SK7RFCbjlAa0vqV--