docs icon indicating copy to clipboard operation
docs copied to clipboard

intro-to-rails without installation with c9

Open ultrasaurus opened this issue 8 years ago • 30 comments

In preparation for the workshop at Tenderloin Tech Lab on Saturday, I'd like to create a curriculum track that illustrates how to get started in that environment.

I took a bunch of screen shots when @MichelleGlauser and I tested the curriculum last week.

Work in progress can be seen here: https://shielded-mesa-4358.herokuapp.com/docs/ I'm checking off features as I go -- please add checkboxes or just comment on the issue if you think we should add stuff. Add comments if you test, and let me know if you find problems AND if you review sections and you don't find issues :smile:

  • [x] have students create a Rails app in c9.io called “suggestotron”
  • [x] getting to know the workspace
  • [x] resize windows
  • [x] http://docs.railsbridge.org/intro-to-rails/ Skip testing out irb for now -- moved to desktop section
  • [x] http://docs.railsbridge.org/intro-to-rails/getting_started should we teach command line here? skip everything before Step 7 -- Step 7 - review folder structure --- renamed "create-your-app"
  • [x] running_your_application_locally -> now Running Your App has C9 branch
    • [x] Step 1 - Instead of “rails s”, click on “Run project.”
    • [x] Step 2 - Click on link
    • [ ] Ctrl-C or Stop
  • [x] CRUD_with_scaffolding
    • [x] Step 1 - Instead of “rails s”, click on “Run project.”
    • [x] Step 2 - Click on link, add /topics to URL
    • [x] Make sure students are opening the app in a new window so the URL routes are shown
    • [x] Create some extras for later
  • [x] Skip Deploying to Heroku -- in deploying partial, show two paths
  • [ ] hooking_up_votes_and_topics
    • [ ] If the folder was already open, you have to close and re-open to see the new model.
  • [x] redirect_to_the_topics_list_after_creating_a_new_topic. Step 2 - already has notice in code, please remove -- changed to indicate that it's already there, suggest experimenting with moving it, so we leave the explanation in the docs.
  • [x] do a git commit right after setting_the_default_page (maybe, "Add topics resource and set default page"), before starting to add the votes resource. show the students how to use the git log command.
  • [ ] After allow_people_to_vote, we could do another git commit, say "Allow people to vote".
  • [ ] Have people change headline to have their name in it.
  • [ ] Have people open another student’s app so they can see that it’s online.

Do these in person:

  • [ ] ruby_language irb -- skip set operations?
  • [ ] step 10: == introduced for first time here, need to point it out, or skip this section cuz its a short day, ideally we would cover == earlier

ultrasaurus avatar Dec 01 '15 04:12 ultrasaurus

In Setup, I'm thinking of doing this: image

ultrasaurus avatar Dec 02 '15 08:12 ultrasaurus

image

So the browser setup section is its own "site" in the docs parlance. Equivalent with the installfest?

nuclearsandwich avatar Dec 02 '15 08:12 nuclearsandwich

ok, I've got the Browser Setup section basically working -- all the text needs a lot of editing, but the structure seems like a reasonable approach

Here it is in a temporary location on heroku: https://shielded-mesa-4358.herokuapp.com/docs/

I'd still like to have a hierarchical nav like this: image

in the intro-to-rails section, but I don't see how to do that in the DSL.

in intro-to-rails, there are a few sections that are all about the command line or setting up your desktop and I figure people could choose browser or desktop at those points. For example, the middle of Getting Started and Running Your App Locally

ultrasaurus avatar Dec 02 '15 09:12 ultrasaurus

These are the things that would need to be different about the browser-only curriculum:

have students create a Rails app in c9.io called “suggestotron”
getting to know the workspace
resize windows

http://docs.railsbridge.org/intro-to-rails/
Skip testing out irb for now

http://docs.railsbridge.org/intro-to-rails/ruby_language
irb
skip set operations?
step 10: ==

http://docs.railsbridge.org/intro-to-rails/getting_started
should we teach command line here?
skip everything before Step 7
Step 7 - review folder structure

http://docs.railsbridge.org/intro-to-rails/running_your_application_locally
Step 1 - Instead of “rails s”, click on “Run project.”
Step 2 - Click on link
Ctrl-C or Stop

http://docs.railsbridge.org/intro-to-rails/CRUD_with_scaffolding
Step 1 - Instead of “rails s”, click on “Run project.”
Step 2 - Click on link, add /topics to URL
Make sure students are opening the app in a new window so the URL routes are shown
Create some extras for later

Skip Deploying to Heroku

http://docs.railsbridge.org/intro-to-rails/hooking_up_votes_and_topics
If the folder was already open, you have to close and re-open to see the new model.

http://docs.railsbridge.org/intro-to-rails/redirect_to_the_topics_list_after_creating_a_new_topic
Step 2 - already has notice in code, please remove

Have people change headline to have their name in it.
Have people open another student’s app so they can see that it’s online.

MichelleGlauser avatar Dec 02 '15 18:12 MichelleGlauser

Since we are skipping the Heroku step (which includes some git housekeeping within it), I suggest that after the following step (adding votes), we make another git commit (say, "Added topics and votes") and show the students how to use the git log command. Then we can go on to the hooking_up_votes_and_topics step. [Gotta go now, but I can look at this again later today - and again next week, after the Tenderloin class.]

slhaines avatar Dec 04 '15 17:12 slhaines

Or maybe better, do a git commit right after setting_the_default_page (maybe, "Add topics resource and set default page"), before starting to add the votes resource. After allow_people_to_vote, we could do another git commit, say "Allow people to vote".

I feel that since git is such an important part of developing and it is so hard to learn and remember, it would be good for the beginner's class to repeat the basic git cycle several times during the class.

slhaines avatar Dec 04 '15 21:12 slhaines

hello, hope it's okay for volunteers to chime in here. I haven't tested this out yet, but C9's docs have a section on deploying via the CLI. Heroku is on that list: https://docs.c9.io/docs/deploying-via-cli

wuworkshop avatar Dec 04 '15 22:12 wuworkshop

Of course it's okay! I'm a volunteer too. I think Michelle suggested eliminating deploying to Heroku because Cloud9 has a native way of deploying with a single click. (And then you share the URL it supplies just like you would share your Heroku app's URL.) So our beginners wouldn't have to remember arcane command-line configurations or wonder how to interpret the various CLI notations.

slhaines avatar Dec 05 '15 00:12 slhaines

Note that in the /redirect_to_the_topics_list_after_creating_a_new_topic Step 2, to add the line <p id='notice'><%= notice %></p> that line is already present in the file that Rails creates. (This glitch came up in the last workshop that I TAed at.)

slhaines avatar Dec 05 '15 00:12 slhaines

Don't let them leave without committing to git one last time!

slhaines avatar Dec 05 '15 00:12 slhaines

I'm going to be working on this tonight. Anyone up for a Google Hangout later? Maybe after dinner around 8p? I'm going to try to fix up some more steps, but will likely be working on it late. We could coordinate and other folks could make edits on my repo. We'll probably deploy from the fork, then do a PR after the workshop.

ultrasaurus avatar Dec 05 '15 01:12 ultrasaurus

I'll be out till about 10:30pm tonight. But I'll check in when I get back to see if you need me.

slhaines avatar Dec 05 '15 02:12 slhaines

@wuworkshop that's cool! We can probably add that to the Heroku section later. We discovered that with C9 when you "Run Project" it deploys it on a URL that is accessible from other computers!

ultrasaurus avatar Dec 05 '15 03:12 ultrasaurus

Ill be online in about 30 minutes and can help.

Sent from my iPhone

On Dec 4, 2015, at 5:49 PM, Sarah Allen [email protected] wrote:

I'm going to be working on this tonight. Anyone up for a Google Hangout later? Maybe after dinner around 8p? I'm going to try to fix up some more steps, but will likely be working on it late. We could coordinate and other folks could make edits on my repo. We'll probably deploy from the fork, then do a PR after the workshop.

— Reply to this email directly or view it on GitHub.

aneyzberg avatar Dec 05 '15 04:12 aneyzberg

thanks @aneyzberg -- I think there is enough done that it would be okay, but will be nicer if we can fix up a few more things!

ultrasaurus avatar Dec 05 '15 04:12 ultrasaurus

@aneyzberg I gave you write access to my fork: https://github.com/ultrasaurus/docs/ feel free to check it out and work on stuff. See checklist above. I'm not wed to anything I've done, just work on whatever you think is most important.

I'm going to grab dinner and will be back online after.

ultrasaurus avatar Dec 05 '15 04:12 ultrasaurus

@ultrasaurus sounds good. I'll take a look and see where I can be helpful.

aneyzberg avatar Dec 05 '15 04:12 aneyzberg

forgot to mention, I've been working in https://github.com/ultrasaurus/docs/tree/browser-setup branch

ultrasaurus avatar Dec 05 '15 05:12 ultrasaurus

sounds good. Getting started now.

aneyzberg avatar Dec 05 '15 05:12 aneyzberg

I'm back, so if you want any help with feedback or whatever, let me know. -Shauna

slhaines avatar Dec 05 '15 06:12 slhaines

@slhaines would be great if you could test the latest that I've pushed to here: https://shielded-mesa-4358.herokuapp.com/docs/ -- compare against what I checked off the list at the top of this issue. Thx!

ultrasaurus avatar Dec 05 '15 06:12 ultrasaurus

@ultrasaurus just fyi - working on this section from above - do a git commit right after setting_the_default_page (maybe, "Add topics resource and set default page"), before starting to add the votes resource. show the students how to use the git log command.

aneyzberg avatar Dec 05 '15 06:12 aneyzberg

  • https://shielded-mesa-4358.herokuapp.com/intro-to-rails/add_the_project_to_a_git_repo' goes back to 'getting_started instead of to your-new-app.
  • I like! the new running-your-app-from-c9.
  • explore-your-app-in-c9 goes back to explore-your-app-locally instead of to CRUD_with_scaffolding.

I think the "Intro to Rails" docs are stellar, easy to follow and show. I was thinking of making a recommendation at the end of the class: Since so much is covered in one day, that as a next step at home, students could go through the curriculum again step by step, but this time typing in all the commands by hand rather than copying/pasting them. (That way if syntactic surprises come up, they now know what they were aiming for and it may be less frustrating than if they tried an altogether new thing. I wish I had thought of this when I was first learning on my own.)

slhaines avatar Dec 05 '15 07:12 slhaines

@ultrasaurus I am not sure if this is what you had in mind - but here is a pr - https://github.com/ultrasaurus/docs/pull/1 - will probably head to bed soon..but will take a look and see if there is anything else i can do.

aneyzberg avatar Dec 05 '15 08:12 aneyzberg

I fell asleep on the couch! Work up early and merged @aneyzberg 's lovely PR. Also added a note in "consider_deploying" that we can 'Run Project' with C9.

@slhaines thanks so much for testing. The back behavior is really weird -- I haven't looked for where that is in the code, but I think its actually the intended behavior, it seems to be somehow hooked into the browser back functionality and points to whatever page you were previously browsing

ultrasaurus avatar Dec 05 '15 17:12 ultrasaurus

I just tested this out yesterday, independent of Railsbridge, and will be using C9 with students next semester at an alternative High School. I absolutely love this approach. It solidified my will to do it after reading this! What an excellent community!

AlliVaughn avatar Dec 14 '15 16:12 AlliVaughn

Yay, @AlliVaughn!

MichelleGlauser avatar Dec 14 '15 17:12 MichelleGlauser

@ultrasaurus Hi Sarah, can we allow volunteers to use this alternate version in the upcoming workshop for beginners who are having severe installation problems? That way they can at least start out with the Cloud version. We'd also have to make sure that those students who got started on Cloud9 on Friday would also use the alternate docs version on Saturday.

slhaines avatar Jan 20 '16 21:01 slhaines

This is so cool! I've been pointing C9 at students from our monthly Rails beginners meetup, who don't have a lot of installation and development experience, or who have loaners, netbooks, or even tablets, to get a development environment up quickly. I'm quite glad to see this in RailsBridge!

tamouse avatar Jan 23 '16 08:01 tamouse

@ultrasaurus @tamouse No students (that I know of) at this weekend's workshop needed to use c9, but another of the TA's in my class wanted to try it in c9 because he had used c9 for other projects. I pointed him to the heroku deployment of these revised docs and he was able to follow it through in spare moments while still actively TAing for the class! (I hope it was okay to share them, Sarah.)

I helped a Windows user in the Installfest and another in the Saturday class who both had long wait times for Windows on their computers to accomplish install steps both locally and on heroku. Even though they were able to complete all steps (except the final heroku deployment - bummer), it certainly detracted from their experience and did hold up the class at points. I think it would be nice to be able to offer c9 as a legitimate alternative in that case as well (extreme slowness), now that we know the doc revisions do work.

slhaines avatar Jan 24 '16 06:01 slhaines