discuss@mandoc.bsd.lv
 help / color / mirror / Atom feed
From: Kristaps Dzonsons <kristaps@bsd.lv>
To: discuss@mdocml.bsd.lv
Subject: Re: man.cgi in "online" mode
Date: Fri, 25 Nov 2011 00:15:00 +0100	[thread overview]
Message-ID: <4ECECFF4.8050000@bsd.lv> (raw)
In-Reply-To: <20111124223550.GA9283@iris.usta.de>

> Yes, and we'll have to resync, i hope to do a bit of that this weekend,
> let's see how far i can get.

Ingo,

Keep me posted.  I've made some changes here and there, but 
directory-diff'ing between OpenBSD's and mdocml's doesn't cause too many 
issues.  Your nice ignore-certain-files bits are still unmerged (I'd 
noted on tech@) and I don't see much beyond that.

>> What's not mentioned much is man.cgi, which is similar to existing
>> man.cgi scripts but with the power of our apropos(1) and mandoc(1)
>> as a renderer.
>
> The biggest problem with that currently is that the interface
> is incompatible.  Yes, the old interface is horrible (sektion=,
> anyone?), but we can't break existing links.  I hope to work on
> that at one point, but one thing at a time, i first have to get
> mandocdb(8) and apropos(1) ready for production in base.
> Probably, in some way or another, man.cgi will have to support
> both the traditional man.cgi syntax and the new apropos(1) syntax.
> I haven't thought about the details yet.

Compat isn't difficult -- I've designed man.cgi with an eye for this 
support (ok, I didn't, but it naturally grew that way).  The only 
headache part is the old manuals, but let's talk about that later.

>> To date, I've designed man.cgi to run in "secure" and "insecure"
>> mode.
>
> In general, secure and insecure mode tend to make very little
> sense.  You want to have one mode that's secure *and* works,
> not two (one securely non-working and one working insecurely).
>
>> "Insecure" mode is for non-jailed CGI processes, scanning the
>> system's mandocdb(8) (like apropos(1)) and formatting output with
>> mandoc(1).  The "secure" mode uses mandocdb(8) databases and a cache
>> of pre-formatted manpages, both kept fresh with the new-born
>> manup(8) utility.
>
> The so-called secure mode makes more sense to me, also regarding
> efficiency.
>
> If we need to serve from source code, which i'm not yet sure we
> really have to, but maybe i'm missing something, then i'd probably
> try to just link both the parsers and the -Thtml formatter right
> into the man.cgi executable.  Not sure whether that would fly, but
> it might be worth a try.
> Of course, it's not urgent.  First, what matters is a system
> that serves the manuals at all, with the right interface.

This (linking man.cgi with the mandoc(1) frontends) was my first 
thought, and in thinking about it twice, may prove the winner in the 
end.  I opted for fork/exec because it took fewer keystrokes at the 
time.  But manup(8) (or whatever the name) can be trivially fitted to 
copy in manual sources, at which point both "modes" would do the same 
thing.  Yes, I like it.

In fact, I think I'll slather some elbow-grease over this idea and see 
what comes of it.

> I tend to think that the so-called secure mode is sufficient
> and running one command for setup seems acceptable (i don't like
> the name "manup", but that's not a crucial point).  Ultimately,
> i think giving a working, compatible system and setup instruction
> to Bob Beck and seeing what happens will be the test to see whether
> what we built is usable, and only when that has run for some time
> in public and -current snapshots have been sucessfully installed
> for a few times (without Bob complaining about having to do tedious
> work) should we consider the design finished and proven good.
> Until then, we should be ready to implement tweaks that practice
> might teach us.

I agree.  Again, the "old versions" bothers me, but I don't really have 
any idea how that's maintained even now.  I'm guessing the man.cgi 
server has a forest of manpage trees in there somewhere.  Ugh.

>> My thought is to write a Firefox add-in to do this instead,
>
> I think this has nothing to do with browsers at all, and
> writing Firefox plugins is a complete waste of time no matter
> what the purpose might be.

Perhaps, although I really like the idea of a no-server, browser-based 
interface.  But just using Firefox is painful enough: writing a plugin 
for it might damage me forever!  Think of the wee manuals!

Take care,

Kristaps
--
 To unsubscribe send an email to discuss+unsubscribe@mdocml.bsd.lv

  reply	other threads:[~2011-11-24 23:15 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-11-24 21:34 Kristaps Dzonsons
2011-11-24 22:02 ` Paul Onyschuk
2011-11-24 22:06   ` Kristaps Dzonsons
2011-11-24 22:15     ` Kristaps Dzonsons
2011-11-24 22:35 ` Ingo Schwarze
2011-11-24 23:15   ` Kristaps Dzonsons [this message]
2011-11-24 23:49     ` Ingo Schwarze

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4ECECFF4.8050000@bsd.lv \
    --to=kristaps@bsd.lv \
    --cc=discuss@mdocml.bsd.lv \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).