Help wanted with an experimental FAQ facility

Folks:

It seems time to me that the FAQ was overhauled, so I decided to cheat
and let you al help out :slight_smile:

I’ve written an Iowa-based FAQ application. It lets you search using
boolean queries and browse by section. Any user can add comments to
any FAQ entry, and any user can post a question as a potential FAQ item.

FAQ maintainers (who have to log in) can edit and create FAQ entries,
and can answer questions.

It’s online at http://www.rubygarden.org/iowa/faqtotum (which is at
the end of a fairly slow pipe, so be gentle…)

Anyway, I’m looking for some help here.

  1. Feedback is gratefully received. My life is about to get
    complicated for a while, so I may not be able to respond
    immediately, but it’ll all be looked at.

  2. Design help is desperately needed. If someone wants to volunteer to
    put together a look that will may all the other language FAQ user’s
    jealous, I’d welcome it.

  3. FAQ maintainers wanted: I’m looking for two or three folks with a
    good knowledge of Ruby to help answer questions, edit entries, and
    so on.

Cheers

Dave

Great start, Dave.

Here is an obligatory nit just to demonstrate I did use the FAQ. I
never know whether it’s mixin or mix-in and the FAQ doesn’t either.

BTW The Cocoa spelling dictionary prefers the latter.

···

On Friday, October 18, 2002, at 03:30 PM, Dave Thomas wrote:

Folks:

It seems time to me that the FAQ was overhauled, so I decided to cheat
and let you al help out :slight_smile:

I’ve written an Iowa-based FAQ application. It lets you search using
boolean queries and browse by section. Any user can add comments to
any FAQ entry, and any user can post a question as a potential FAQ
item.


There are two kinds of fool. One says, "This is old, and therefore
good."
And one says, “This is new, and therefore better.”
-John Brunner, science fiction writer (1934-1995)

Nice, the first link I see points to:

http://www.rubygarden.org/iowa/faqtotum/ab2fN4hpnjwek/a/1.15.3.2.5

Call me paranoid, but those URL’s don’t look very useful, especially for
something people will want to copy and paste to others. This is the
primary reason I won’t touch Iowa with a barge pole, I don’t care how
much state it saves :slight_smile:

The tag soup needs looking at too. For instance, that abuse of tables
to produce an ordered list is, I’m afraid, sending you to markup hell :slight_smile:

Other than that, it’s looking good. The design’s light and fluffy
(unless you’re anal like me, in which case you’ll feel an overwhelming
urge to rewrite it) and it’s well structured in that it doesn’t flood
you with links.

···

I’ve written an Iowa-based FAQ application.

It’s online at http://www.rubygarden.org/iowa/faqtotum


Thomas ‘Freaky’ Hurst - freaky@aagh.net - http://www.aagh.net/

Afternoon very favorable for romance. Try a single person for a change.

It’s not apparent to me how I can post a question as a potential FAQ item
from the FAQ page. Perhaps you meant that potential questions should be
posted on this mailing list.

···

----- Original Message -----
From: “Dave Thomas” Dave@PragmaticProgrammer.com
To: “ruby-talk ML” ruby-talk@ruby-lang.org
Sent: Friday, October 18, 2002 5:30 PM
Subject: Help wanted with an experimental FAQ facility

I’ve written an Iowa-based FAQ application. It lets you search using
boolean queries and browse by section. Any user can add comments to
any FAQ entry, and any user can post a question as a potential FAQ item.

“Dave Thomas” Dave@PragmaticProgrammer.com wrote in message
news:m2vg3zbcsn.fsf@zip.local.thomases.com

I’ve written an Iowa-based FAQ application. It lets you search using
boolean queries and browse by section. Any user can add comments to
any FAQ entry, and any user can post a question as a potential FAQ item.

How did you solve your search problem?

Yesterday searching on two words worked fine, but generally the FAQ didn’t
work as well as today due to the IE issue. Today it looks better, but
search doesn’t appear to be working.

Is the source available? I realize this is experimental, but it could be a
good icebreaker to get Ruby into organizations.

Mikkel

[…]

It’s online at http://www.rubygarden.org/iowa/faqtotum (which is at
the end of a fairly slow pipe, so be gentle…)
[…]

Hi. This is for the wishlist :slight_smile:

Maybe you can add the tags , etc.,
so the FAQ can be browsed using mozilla’s navigation bar.

Greetings.

Chris Gehlker canyonrat@mac.com writes:

Here is an obligatory nit just to demonstrate I did use the FAQ. I
never know whether it’s mixin or mix-in and the FAQ doesn’t either.

BTW The Cocoa spelling dictionary prefers the latter.

And now so does the FAQ!

Cheers

Dave

Thomas Hurst tom.hurst@clara.net writes:

Nice, the first link I see points to:

http://www.rubygarden.org/iowa/faqtotum/ab2fN4hpnjwek/a/1.15.3.2.5

Call me paranoid, but those URL’s don’t look very useful, especially for
something people will want to copy and paste to others. This is the
primary reason I won’t touch Iowa with a barge pole, I don’t care how
much state it saves :slight_smile:

I’ll be producing a flat version when I get the chance, and you
paranoid folks will be able to point to it.

I have to say that Iowa was a joy to work with.

The tag soup needs looking at too. For instance, that abuse of
tables to produce an ordered list is, I’m afraid, sending you to
markup hell :slight_smile:

Ah - but it isn’t an ordered list. It’s just coincidence that the
numbers go up by ones…

The main reason for the table there is to make the text part line up,
something that seems to be hard to do when the leading numbers change
length. However, I’m an HTML ignoramus, so I’m sure there must be a
better way.

Cheers

Dave

“Mark Volkmann” volkmann2@charter.net writes:

It’s not apparent to me how I can post a question as a potential FAQ item
from the FAQ page. Perhaps you meant that potential questions should be
posted on this mailing list.

The intent was that you’d push the ‘Ask New Question’ button down the
bottom of the index page. Do you feel that should appear on all the
pages?

“MikkelFJ” mikkelfj-anti-spam@bigfoot.com writes:

Yesterday searching on two words worked fine, but generally the FAQ didn’t
work as well as today due to the IE issue. Today it looks better, but
search doesn’t appear to be working.

Could you send me privately an example of searching that doesn’t work:
I don’t believe that anything changed in the code between yesterday
and today: all I changed was the HTML for the main page.

Is the source available? I realize this is experimental, but it
could be a good icebreaker to get Ruby into organizations.

I’m planning to make it available once I get the chance to document
things like the installation procedures.

Cheers

Dave

Carlos angus@quovadis.com.ar writes:

Maybe you can add the tags , etc.,
so the FAQ can be browsed using mozilla’s navigation bar.

That would be cool, but I’d have to get added as a dynamic
tag to Iowa.

Cheers

Dave

Thomas Hurst tom.hurst@clara.net writes:
[icky Amazonish URL’s]
I’ll be producing a flat version when I get the chance, and you
paranoid folks will be able to point to it.

Heh, goodo.

And the word isn’t “Paranoid”, it’s “Anal”, or “Obessive-Compulsive”,
or, if you like, “Insomniac” :wink:

I have to say that Iowa was a joy to work with.

I’ll have to get my barge pole out and see if it can be persuaded to use
cookies… and then, only if it really needs to save state :slight_smile:

The tag soup needs looking at too. For instance, that abuse of
tables to produce an ordered list is, I’m afraid, sending you to
markup hell :slight_smile:

Ah - but it isn’t an ordered list. It’s just coincidence that the
numbers go up by ones…

Yes… actually, it did occur to me that the default rendering of lists
would not result in the leading number in the individual sections.

The main reason for the table there is to make the text part line up,
something that seems to be hard to do when the leading numbers change
length. However, I’m an HTML ignoramus, so I’m sure there must be a
better way.

Well, lists are designed to handle this for you. It is rather
unfortunate that they are not particularly aimed at rendering exactly
like how you use them… hm.

I think the best way to do it without being able to use the CSS content
generation model (because IE doesn’t support it) and CSS generated lists
(because Mozilla doesn’t support it), is to use a definition list:

<dl>
    <dt>1.1.</dt>
    <dd>Answer 1.1</dd>
    <dt>1.10.</dt>
    <dd>Answer 1.10</dd>
</dl>

Not quite there, since the default rendering is something like:

1.1.
    Answer 1.1
1.10.
    Answer 1.10

So we float the term to the left of the content, like so:

dt {
    float: left;
}

Resulting in:

1.1.  Answer 1.1
1.10. Answer 1.10

Then to make sure there’s enough room for at least 1000 questions
without the elements shifting:

dd {
    padding-left: 1em;
}

Leaving:

1.1.    Answer 1.1
1.10.   Answer 1.10

See, HTML has design methodologies too :slight_smile:

Now, add a few more headings (make that

into a

or so, for instance) and use in the forms, add a doctype, and fix the validation errors, and you're most of the way to a pretty decent document that satisfies quite a few of the WAI guidelines.

After that… XHTML and pure CSS layout. .

···


Thomas ‘Freaky’ Hurst - freaky@aagh.net - http://www.aagh.net/

Enjoy your life; be pleasant and gay, like the birds in May.

“Mark Volkmann” volkmann2@charter.net writes:

It’s not apparent to me how I can post a question as a potential FAQ
item

from the FAQ page. Perhaps you meant that potential questions should be
posted on this mailing list.

The intent was that you’d push the ‘Ask New Question’ button down the
bottom of the index page. Do you feel that should appear on all the
pages?

When I go to http://www.rubygarden.org/iowa/faqtotum there is no “Ask New
Question” button. Am I going to the wrong URL?

···

----- Original Message -----
From: “Dave Thomas” Dave@PragmaticProgrammer.com
To: “ruby-talk ML” ruby-talk@ruby-lang.org
Sent: Saturday, October 19, 2002 9:22 AM
Subject: Re: Help wanted with an experimental FAQ facility

Thomas Hurst wrote:

I have to say that Iowa was a joy to work with.

I’ll have to get my barge pole out and see if it can be persuaded to use
cookies… and then, only if it really needs to save state :slight_smile:

One thing I found really neat about IOWA, is that I don’t have to follow
a linear usage of the web application developed. So I can log in, and
open several links in different windows and shuffle my work between
them, without losing any state in either.

I’m not too knowledgable on cookies, but I thought cookies was “per
computer” as opposed to “per session”, and would make the above unlinear
usage rather difficult to achieve?

On a side note, I’ve been wondering how easy it is to catch extra URL
information (either path or CGI parameters) and setting up state based
on it. I’d like to be able to send people to somewhat specified URLs and
bypassing the Main.html. I.e. giving them something like
/iowa/myapp/username/ or /iowa/myapp?username=username
I’m sure its pretty straightforward to hack it into IOWA, but I was
hoping someone had a cleaner, neater approach. This sounds like it might
make the Ruby FAQ URLs prettier too, atleast as an access point.

…just thinking out loud…

···


([ Kent Dahl ]/)_ ~ [ http://www.stud.ntnu.no/~kentda/ ]/~
))_student
/(( _d L b_/ NTNU - graduate engineering - 5. year )
( __õ|õ// ) )Industrial economics and technological management(
_
/ö____/ (_engineering.discipline=Computer::Technology)

“Mark Volkmann” volkmann2@charter.net writes:

When I go to http://www.rubygarden.org/iowa/faqtotum there is no “Ask New
Question” button. Am I going to the wrong URL?

The URL is correct. Could you do me a favor and look at the source
HTML for the page and see if the <Input…>'s in there. Right now I
see it in the reddish bar that contains the text ‘Pending
Questions…’ Below this bar are current two questions that folks have
added.

I’m wondering if my HTML is incompatible with your browser.

Dave

It’s there for me. Could be a browser issue. I’m using OmniWeb 4.1.1.

···

On Saturday, October 19, 2002, at 07:38 AM, Mark Volkmann wrote:

----- Original Message -----
From: “Dave Thomas” Dave@PragmaticProgrammer.com
To: “ruby-talk ML” ruby-talk@ruby-lang.org
Sent: Saturday, October 19, 2002 9:22 AM
Subject: Re: Help wanted with an experimental FAQ facility

“Mark Volkmann” volkmann2@charter.net writes:

It’s not apparent to me how I can post a question as a potential FAQ
item

from the FAQ page. Perhaps you meant that potential questions should
be
posted on this mailing list.

The intent was that you’d push the ‘Ask New Question’ button down the
bottom of the index page. Do you feel that should appear on all the
pages?

When I go to http://www.rubygarden.org/iowa/faqtotum there is no “Ask
New
Question” button. Am I going to the wrong URL?


In the midst of great joy, do not promise anyone anything. In the midst
of great anger, do not answer anyone’s letter.
-Chinese proverb

When I go to http://www.rubygarden.org/iowa/faqtotum there is no “Ask
New Question” button. Am I going to the wrong URL?

The URL is correct. The “Ask New Question” button is just to the right of
the “Pending Questions” at the bottom of the page. I’m using mozilla 1.2.

So we float the term to the left of the content, like so:

dt {
    float: left;
}

---- 8-< – 8-< – 8-< – 8-< – 8-< – 8-< – 8-< – 8-< – 8-< ----

dd {
    padding-left: 1em;
}

---- 8-< – 8-< – 8-< – 8-< – 8-< – 8-< – 8-< – 8-< – 8-< ----

For some browsers like w3m (w3-miru),

would be
helpful…

Josef ‘Jupp’ Schugt

···

On Sat, 19 Oct 2002 16:34:11 +0900, Thomas Hurst tom.hurst@clara.net wrote:

Thomas Hurst wrote:

I have to say that Iowa was a joy to work with.

I’ll have to get my barge pole out and see if it can be persuaded to
use cookies… and then, only if it really needs to save state :slight_smile:

One thing I found really neat about IOWA, is that I don’t have to
follow a linear usage of the web application developed. So I can log
in, and open several links in different windows and shuffle my work
between them, without losing any state in either.

Provided you have identifiable start and end points to transactions,
that’s fairly trivial to achieve.

Basically, when you hit “Edit” or whatever, you get allocate a unique ID
for that form task, which is encoded in a hidden form variable, or the
URL; you then edit to your heart’s content. When you’re done, you hit
Finish, the data in the transaction is committed, and the ID is deleted.

Hit edit in another browser window, you get a different ID and a
completely different transaction, while the first works completely
independently.

Different user accounts are a little more tricky, since your start and
end points are through the entire application; the basic premise is the
same, though; all you need to do is track the start (login) and end
(logout/expire), and encode enough information in the request that you
can tell them apart.

One way you might do this without impacting the URL too badly would be
to allocate one cookie per login, ala:

User[0] - user’s first logon
User[1] - user’s second logon

Each time you hit logon, it checks the cookies you’ve already got, and
picks the next one up, or reuses an old one; it sets the cookie, saves
the ID to the database linked to your state information, then makes all
the links on that page (or gives forms a hidden field) identify that
index.

You end up with /article/foo/bar/baz/?sid=1 or so, and a totally clean
URL if you only have one login to track.

Actual sessions are a little more tricky, since the start and end points
are less well defined. You’re probably not terribly interested in
saving much state for them, though.

Of course, people with cookies disabled don’t get tracking at all, which
is kind of the entire point of disabling cookies, so bully for them :slight_smile:

I’m not too knowledgable on cookies, but I thought cookies was “per
computer” as opposed to “per session”, and would make the above unlinear
usage rather difficult to achieve?

Not really. Don’t forget you don’t often really need much state
information; it’s mostly for when you’re interacting with the system,
rather than fetching data.

GET’s aren’t even supposed to have side-effects, and POST’s can encode
as much crap as you like without messing up with the user interface:
things like editing where you get a form to fill in to change stuff can
be concurrent easily.

The thing with Iowa is it is basically creating a whole OO application
per session; links are method calls, and the state is saved each request
so the objects can track them. Although this is a nice approach in the
editing phase, for the majority of GET’s it is major overkill; you’re
not likely to be changing much state, you’re more likely just to be
pumping out mostly static resources to the user based on the object they
requested and quietly forgetting about it.

Er, anyway,

/iowa/myapp/username/ or /iowa/myapp?username=username

<points out that if you ever want to migrate myapp from iowa, that URL
will at worst break, at best look pretty silly>.

Ideally, I’d like to see the Ruby FAQ URL’s look something like:

/faq/1/2

For faq section 1, answer 2. Imagine if you found yourself learning the
numbers for specific questions which are asked a lot; it’d be trivial to
construct the above URL for a user. Plus the user can look at the URL
and quickly see they can remove the /2 and get a list for that section,
etc.

URI == UI :slight_smile:

···


Thomas ‘Freaky’ Hurst - freaky@aagh.net - http://www.aagh.net/

If you pick up a starving dog and make him prosperous, he will not bite
you. This is the principal difference between a dog and a man.
– Mark Twain

I think your suspicion that it’s a browser issue is correct. The input tag
for the button is in the source, but it doesn’t display in IE 6. In fact,
the title bar at the bottom doesn’t even display the text “Pending
Questions…” in IE 6.

If I save the source locally and display that then the button appears. This
leads me to think it’s a CSS issue because when I display it locally the
faqtotum.css file is not available (since I didn’t save that locally too).

···

----- Original Message -----
From: “Chris Gehlker” canyonrat@mac.com
To: “ruby-talk ML” ruby-talk@ruby-lang.org
Sent: Saturday, October 19, 2002 10:05 AM
Subject: Re: Help wanted with an experimental FAQ facility

On Saturday, October 19, 2002, at 07:38 AM, Mark Volkmann wrote:

----- Original Message -----
From: “Dave Thomas” Dave@PragmaticProgrammer.com
To: “ruby-talk ML” ruby-talk@ruby-lang.org
Sent: Saturday, October 19, 2002 9:22 AM
Subject: Re: Help wanted with an experimental FAQ facility

“Mark Volkmann” volkmann2@charter.net writes:

It’s not apparent to me how I can post a question as a potential FAQ
item

from the FAQ page. Perhaps you meant that potential questions should
be
posted on this mailing list.

The intent was that you’d push the ‘Ask New Question’ button down the
bottom of the index page. Do you feel that should appear on all the
pages?

When I go to http://www.rubygarden.org/iowa/faqtotum there is no “Ask
New
Question” button. Am I going to the wrong URL?

It’s there for me. Could be a browser issue. I’m using OmniWeb 4.1.1.