Forum: RSpec Reorganize documentation for Cucumber at Github

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Fernando P. (Guest)
on 2009-01-17 19:39
Hi,

I actually just noticed that Cucumber has plenty good documentation on
its wiki at github. But the problems are:

- The homepage is badly designed as it doesn't really outline an order
to read other pages
- It is impossible to make the difference between internal links to the
wiki and links that will bring us some where else unless we hover over
the link
- Pages don't link to each other such as: read next page or previous
page, or related pages
- Pages are just sorted alphabetically which is not a proper way of
sorting

Would it be possible to at least number the pages in the order in which
we should read as if we were reading a book about cucumber?

The documentation seems excellent but is definitely not well marketed
for new comers :)
Tom C. (Guest)
on 2009-01-17 23:31
(Received via mailing list)
Fernando P. wrote:
> - Pages don't link to each other such as: read next page or previous
> page, or related pages
> - Pages are just sorted alphabetically which is not a proper way of
> sorting
>
> Would it be possible to at least number the pages in the order in which
> we should read as if we were reading a book about cucumber?
>
> The documentation seems excellent but is definitely not well marketed
> for new comers :)
>
Oh, I totally agree. Add in the fact that the Rails stuff is just a mess
for non-Rails people to read, and we really have two problems to solve.
That's how I, at least, have been experiencing it.

My own solution is to build my own procedural outline. I'm working on it
today, in fact - sort of a "Cucumber for dummies" document. In my
conception, liberal use will be made of links to existing pages, or to
sections thereof, as there's no need to attempt to redo what the experts
have already done well. I figure if I write what I wish I'd encountered
when I went to the wiki, and then see if I can get it there, it might
help other folks.

Your final sentence says it all - great documentation, but not for
newbies. Where's the starting point? Etc.

I'm working on this thing right now, and maybe it'll be far enough along
for some kind of review this weekend. Or...I could put it up, say on a
Google Sites wiki, and several of us could work on it. Any thoughts? I
actually prefer to work in a group, but have already started on my own.

Yeah, I like that idea - a temporary Google Sites wiki.

Tom




--

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Tom C., MS MA, LMHC - Private practice Psychotherapist
Bellingham, Washington, U.S.A: (360) 920-1226
<< removed_email_address@domain.invalid >> (email)
<< TomCloyd.com >> (website)
<< sleightmind.wordpress.com >> (mental health weblog)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Aslak H. (Guest)
on 2009-01-18 02:55
(Received via mailing list)
On Sat, Jan 17, 2009 at 10:10 PM, Tom C. <removed_email_address@domain.invalid>
wrote:

>> wiki and links that will bring us some where else unless we hover over
>> for new comers :)
> have already done well. I figure if I write what I wish I'd encountered when
> I went to the wiki, and then see if I can get it there, it might help other
> folks.
>
> Your final sentence says it all - great documentation, but not for newbies.
> Where's the starting point? Etc.
>

Where is the starting point! There is none! Haha. And the GitHub Wiki
Home
page is probably the worst page in the whole Wiki.

Honestly - I think what's needed is:

1) Move a lot of the random stuff from Home to separate pages
2) Make the Home page really short - with links to a few new pages:

* General Five Minute Introduction (Pure Cucumber/Ruby stuff - no Rails)
-
Narrative, sequential style, link to other specific pages - ideally most
of
them.
* Rails-specific Five Minute Introduction (to be read after the other 5
minute one). Cucumber Backgrounder is a very good start for this, but I
think it's a little rambling :-)

I'd like to write these intros myself, so please don't start doing
massive
edits. Instead, I'd love to get input of an outline for these
Introduction
pages.

How does that sound?

Aslak
Aslak H. (Guest)
on 2009-01-18 03:25
(Received via mailing list)
On Sun, Jan 18, 2009 at 1:34 AM, aslak hellesoy
<removed_email_address@domain.invalid>wrote:

>>>
>>> Would it be possible to at least number the pages in the order in which
>> My own solution is to build my own procedural outline. I'm working on it
>
> them.
> * Rails-specific Five Minute Introduction (to be read after the other 5
> minute one). Cucumber Backgrounder is a very good start for this, but I
> think it's a little rambling :-)
>
> I'd like to write these intros myself, so please don't start doing massive
> edits. Instead, I'd love to get input of an outline for these Introduction
> pages.
>
> How does that sound?
>

Ok, I'll give a stab at what a 5 minute introduction might contain.
Please
comment.

1) Who should use Cucumber, and what benefits can you get from it?
2) How Cucumber works (high level explanation without getting too
technical).
3) Learn the nomenclature - features, scenarios, steps (step definitions
later). Some style guidlines.
4) What does a Cucumber feature look like (plain - no outlines or
tables).
Learn how to write one in a simple text editor.
5) How to install and run Cucumber (using the one from 3 as example. No
Rake
yet - just the cucumber command)
6) What does the output from Cucumber mean? (Learn to read the deafault
console output. Colours and error messages. Mention other formatters)
7) Learn to write step definitions (they are similar to defining methods
in
most imperative languages like Ruby, Java, C, Pascal....). Mention
Regexps,
Rubular.com.
8) How to implement the body of a step definition. Learn about RSpec's
#should and #should_not - and matchers
9) How to fix a failing (red) step definition by writing some code (in
lib
for now since we're not doing any Rails)
10) Mention DTSTTCPW and refactoring - with some external links. TDD
basics.
11) Learn how to use Rake (useful when you have more than one feature
file).
Mention RCov.
12) Learn about the various command-line switches
13) Learn about more advanced Gherkin (Cucumber language) features such
as
Tables, PyString, Scenario Outlines and Background (coming soon)
14) Learn about hooks (Before, After etc)
15) Various other features (CUCUMBER_COLORS, AutoTest, cucumber.yml
(profiles)
16) IDE support
17) How to use other assertion tools like Test::Unit, Shoulda, etc.
18) How to use Cukes with non-Ruby platforms (Watir family, JRuby,
IronRuby,
FunFX/Flex)

The reader will gradually learn about the recommended file layout
structure.

Maybe this is more like a 10-15 minute intro. I'll try to keep it as
short
as possible without skipping important concepts.

What's missing? What's in the wrong order? What should I remove?

Aslak
Tom C. (Guest)
on 2009-01-18 03:58
(Received via mailing list)
aslak hellesoy wrote:
>         documentation on
>         - Pages don't link to each other such as: read next page or
>         The documentation seems excellent but is definitely not well
>     In my conception, liberal use will be made of links to existing
> Home page is probably the worst page in the whole Wiki.
> 5 minute one). Cucumber Backgrounder is a very good start for this,
>
>
>     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> --
> Aslak (::)
Aslak,

I can speak only for myself, but...

You're a genius. You nailed it, conceptually. You wrote exactly what
I've been thinking of. My own outline's going slowing, for the obvious
reason that I don't really know what I'm doing. So...

I especially like the part about your writing it, with feedback. There's
no one more qualified. And...it'll be right, from the beginning.

I'm really excited about this. I'm committed to getting myself launched
with Cucumber this weekend. Hey, you can help, if you want  :).

Many, many thanks. (understatement)

Tom

--

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Tom C., MS MA, LMHC - Private practice Psychotherapist
Bellingham, Washington, U.S.A: (360) 920-1226
<< removed_email_address@domain.invalid >> (email)
<< TomCloyd.com >> (website)
<< sleightmind.wordpress.com >> (mental health weblog)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Tom C. (Guest)
on 2009-01-18 04:48
(Received via mailing list)
aslak hellesoy wrote:
>         Fernando P. wrote:
>             - It is impossible to make the difference between internal
>
>         just a mess for non-Rails people to read, and we really have
>         help other folks.
>     1) Move a lot of the random stuff from Home to separate pages
>     massive edits. Instead, I'd love to get input of an outline for
> technical).
> 3) Learn the nomenclature - features, scenarios, steps (step
> definitions later). Some style guidlines.
Totally agree. This is the "shoehorn" I was looking for - partly. Having
YOU write it would be far far better than anyone else, because of your
knowledge and communication skills. People like me can best serve by
giving feedback, as the writing proceeds.
> 4) What does a Cucumber feature look like (plain - no outlines or
> tables). Learn how to write one in a simple text editor.
Absolutely.
> 5) How to install and run Cucumber (using the one from 3
you mean "4"?
> as example. No Rake yet - just the cucumber command)
Yeah. Keep it minimal, but something that will actually run and produce
results to study. Which leads us to...
> 6) What does the output from Cucumber mean? (Learn to read the
> deafault console output. Colours and error messages. Mention other
> formatters)
yes yes yes
> 7) Learn to write step definitions (they are similar to defining
> methods in most imperative languages like Ruby, Java, C, Pascal....).
> Mention Regexps, Rubular.com.
Would be very very helpful.
> 8) How to implement the body of a step definition. Learn about RSpec's
> #should and #should_not - and matchers
Man, could I use this. Things go really dark for me at this point. Just
haven't gotten there yet.
> 9) How to fix a failing (red) step definition by writing some code (in
> lib for now since we're not doing any Rails)
Yes. Especially the part about excluding Rails. And this, to me looks
like the end of the beginning. What follows is very helpful, but by this
point the boat is launched. I DO dearly want the rest of what you've
written, however, so don't drop anything from the outline, if you have
the time to carry through to the end.
> 10) Mention DTSTTCPW and refactoring - with some external links. TDD
> basics.
> 11) Learn how to use Rake (useful when you have more than one feature
> file). Mention RCov.
Nos. 10-11 look especially interesting to me.
> 12) Learn about the various command-line switches
> 13) Learn about more advanced Gherkin (Cucumber language) features
> such as Tables, PyString, Scenario Outlines and Background (coming soon)
I'm not sure, but I'm thinking that Tables and Scenario Outlines (to the
extent that I understand them) might well come earlier in the outline.
On the other hand, those of us who want to could simple skip ahead to
grab the material when we need it.
> 14) Learn about hooks (Before, After etc)
> 15) Various other features (CUCUMBER_COLORS, AutoTest, cucumber.yml
> (profiles)
 From here on, I think we're into the "and it'd be nice if we had
something about..." territory. Dessert.
> 16) IDE support
Interesting. I work exclusively with the CLI, and love it. Used to work
with IDEs, but converted.
> 17) How to use other assertion tools like Test::Unit, Shoulda, etc.
> 18) How to use Cukes with non-Ruby platforms (Watir family, JRuby,
> IronRuby, FunFX/Flex)
Terrific outline, I'd say. I cannot imagine not getting what I want,
from this material. It'll suck people like me into the process, and when
we get into trouble we can shout out, which will lead to possible
additions (but I don't think they'll be major).

I'll stay glued to me email inbox (and the wiki) to watch this develop.
This is a gift I simply didn't expect, and especially not right when I
most need it.

This is going to be very very helpful, and to an increasing number of
people, I'll predict.

I'm excited about this development. Thanks so much.

Tom
>
> The reader will gradually learn about the recommended file layout
> structure.
>
> Maybe this is more like a 10-15 minute intro. I'll try to keep it as
> short as possible without skipping important concepts.
>
> What's missing? What's in the wrong order? What should I remove?
>
> Aslak


--

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Tom C., MS MA, LMHC - Private practice Psychotherapist
Bellingham, Washington, U.S.A: (360) 920-1226
<< removed_email_address@domain.invalid >> (email)
<< TomCloyd.com >> (website)
<< sleightmind.wordpress.com >> (mental health weblog)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Tom C. (Guest)
on 2009-01-18 08:13
(Received via mailing list)
aslak hellesoy wrote:
> definitions later). Some style guidlines.
> 4) What does a Cucumber feature look like (plain - no outlines or
> tables). Learn how to write one in a simple text editor.
> 5) How to install and run Cucumber (using the one from 3 as example.
> No Rake yet - just the cucumber command)
> 6) What does the output from Cucumber mean? (Learn to read the
> deafault console output. Colours and error messages. Mention other
> formatters)
I just thought of a possible addition. Might go here, or possibly
earlier.

"Starting points" - how to implement Cucumber, starting from where you
are now with your coding project.

1. Group One: Haven't started yet; just getting organized. How to use
this tool to Do It Right.
2. Group Two: HAVE started, and some thing are already working, but have
no testing in place, and significant coding to launch. What to do to
bring in cucumber most efficiently.
3. Group Three: Have working code. Want to bring in testing. It is it
too late to use Cucumber? If not, how do I do it?

What's needed isn't so much detailed instructions as is a priority list,
and a clear starting point. Details can be worked out using the
discussion list, I imagine. A top-down approach. For amateurs like me,
it's hard for me to do top-down, when I know so little.

For example: I'm in Group Two, with my most important project, and I'm
my own customer, as it were. What I'm doing (tonight, in fact), is
simulating a fresh start, starting with a few simple classes, which I
haven't written yet (because I don't write classes - I'm totally
procedural, but that's changing immediately), working to move ahead
quickly by adapting existing code to the new framework, as it were. But,
of course, I'm not at all sure I'm going about it right. I'll fumble
through, until things get clearer, but a little recipe of sorts would be
very helpful, and I don't have one.

I hope this helps!

Tom
> file). Mention RCov.
>
>
>
>         << removed_email_address@domain.invalid 
<mailto:removed_email_address@domain.invalid> >> (email)
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> rspec-users mailing list
> removed_email_address@domain.invalid
> http://rubyforge.org/mailman/listinfo/rspec-users


--

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Tom C., MS MA, LMHC - Private practice Psychotherapist
Bellingham, Washington, U.S.A: (360) 920-1226
<< removed_email_address@domain.invalid >> (email)
<< TomCloyd.com >> (website)
<< sleightmind.wordpress.com >> (mental health weblog)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Andrew P. (Guest)
on 2009-01-18 19:31
(Received via mailing list)
I'd just like to point out that the Github wiki tool is somewhat
challenged
by a project with so much good documentation like cucumber has. The lack
of
search, and the layout is really poor. Might it be better to host a more
able wiki on another site, and use the github wiki to point to this
external
documentation?

All best

Andrew


2009/1/18 aslak hellesoy <removed_email_address@domain.invalid>
Tim W. (Guest)
on 2009-01-18 21:23
(Received via mailing list)
This is great news. One possible way to do this incrementally on the
github wiki would be to create a subwiki (page?) called "the cucumber
book" (TCB) which has an organization and a little governnace around
change that is further defined just like what Aslak has so generously
created. From there the sections in TCB can grow in a controlled way,
the other stuff is just there as supporting information and special
subjects, etc. Just a thought. T
Fernando P. (Guest)
on 2009-01-19 01:01
Andrew P. wrote:
> I'd just like to point out that the Github wiki tool is somewhat
> challenged
Yeah I also think that the github wiki is showing its limits. It works
when the project only requires a few pages of documentation, but not for
Cucumber.

Github should only be used for what Git is meant to be: a distributed
SCM and no more, i.e: cloning, pulling, pushing, forking.

For documentation and other stuff a dedicated website is more
appropriate, like cukes.info, in fact I was surprised to see that the
documentation was still hosted at github, it adds more confusion to
newbies. One size doesn't always fits all.
Aslak H. (Guest)
on 2009-01-19 05:09
(Received via mailing list)
On Mon, Jan 19, 2009 at 12:01 AM, Fernando P.
<removed_email_address@domain.invalid>wrote:

> For documentation and other stuff a dedicated website is more
> appropriate, like cukes.info, in fact I was surprised to see that the
> documentation was still hosted at github, it adds more confusion to
> newbies. One size doesn't always fits all.


To paraphrase DrNic:
http://drnicwilliams.com/2008/12/21/migrating-proj...

The purpose of cukes.info is to *sell* Cucumber.
The purpose of the GitHub wiki is to *educate* people who have decided
to
give it a spin.

Why 2 sites? GitHub wikis have their own visual style - they are not
suited
to brand anything.
On the other hand, I don't have time or even desire to create a wiki
that is
as good as the GitHub wiki and put it on cukes.info.

Aslak
James B. (Guest)
on 2009-01-19 17:15
Aslak Hellesøy wrote:
.
> On the other hand, I don't have time or even desire to create a wiki
> that is as good as the GitHub wiki and put it on cukes.info.
>

My only addition is that there is nothing preventing a community effort
to add a standard navigation page to the front of the Cucumber GitHub
wiki, comb through and classify all of the existing pages according to
essential topic, and update or supplement the links on each page to
point to related information.
Aslak H. (Guest)
on 2009-01-23 10:59
(Received via mailing list)
On Sun, Jan 18, 2009 at 2:24 AM, aslak hellesoy
<removed_email_address@domain.invalid>wrote:

>>>> Hi,
>>>> page, or related pages
>>> Oh, I totally agree. Add in the fact that the Rails stuff is just a mess
>>>
>> 2) Make the Home page really short - with links to a few new pages:
>> pages.
> 3) Learn the nomenclature - features, scenarios, steps (step definitions
> 8) How to implement the body of a step definition. Learn about RSpec's
>
13.5) Learn about how to substitute <variable> in steps and multiline
args
(table, pystring) from examples tables.

>
> 14) Learn about hooks (Before, After etc)
> 15) Various other features (CUCUMBER_COLORS, AutoTest, cucumber.yml
> (profiles)
> 16) IDE support
> 17) How to use other assertion tools like Test::Unit, Shoulda, etc.
> 18) How to use Cukes with non-Ruby platforms (Watir family, JRuby,
> IronRuby, FunFX/Flex)
>
18.5) Pure Java via JBehave
aidy lewis (Guest)
on 2009-01-23 13:16
(Received via mailing list)
Hi
On 23/01/2009, aslak hellesoy <removed_email_address@domain.invalid> wrote:

> > 18) How to use Cukes with non-Ruby platforms (Watir family, ....

I will gladly put something together on Cucumber and Watir.

Aidy
Aslak H. (Guest)
on 2009-01-23 13:26
(Received via mailing list)
On Fri, Jan 23, 2009 at 12:14 PM, aidy lewis
<removed_email_address@domain.invalid>wrote:

> Hi
> On 23/01/2009, aslak hellesoy <removed_email_address@domain.invalid> wrote:
>
> > > 18) How to use Cukes with non-Ruby platforms (Watir family, ....
>
> I will gladly put something together on Cucumber and Watir.
>

Be my guest! Please also link to the Watir examples in the sources at
GitHub

Aslak
This topic is locked and can not be replied to.