Skip to content
This repository was archived by the owner on Feb 26, 2024. It is now read-only.

feat: fast-forward the tutorial to the post-1.5.0 era #326

Merged
merged 0 commits into from
May 24, 2016

Conversation

gkalpak
Copy link
Member

@gkalpak gkalpak commented Apr 11, 2016

This PR constitutes a major re-structuring of the tutorial app's codebase, aiming at applying established best practices (in terms of file naming/layout and code organization) and utilizing several new features and enhancements (most notably components) introduced in recent versions of Angular (especially v1.5).

Apart from the overall changes, two new chapters were introduced: one on components and one on code organization.

In the process, several other things were (incidentally) taken care of, including:

  • Dependencies were upgraded to latest versions.
  • Animations were polished.
  • Outdated links were updated.
  • The app's base URL was changed to / (instead of /app/).
  • ...etc...

BTW, I have tested with the following versions on Node (on Windows 10) and everything seems to work fine:

  • 0.11.16
  • 4.2.6
  • 4.4.2
  • 5.10.0

This was inspired by (and loosely based on) #289.
Mad props to @teropa for leading the way :)

Note:
The old version of the tutorial, that is compatible with Angular version 1.4 or older, has been saved in the pre-v1.5.0-snapshot branch. The v1.4.x version of the tutorial should be pointed to that branch instead of master.

Related to angular/angular.js#14416.
Related to angular/angular-seed#341.


Fixes #198
Fixes #214
Fixes #224
Fixes #230
Fixes #243
Fixes #246
Fixes #252
Fixes #277
Fixes #286
Fixes #295
Fixes #303
Fixes #304
Fixes #323
Fixes #324

Closes #268
Closes #270
Closes #278
Closes #280
Closes #289
Closes #309
Closes #311
Closes #319

@googlebot
Copy link

We found a Contributor License Agreement for you (the sender of this pull request) and all commit authors, but as best as we can tell these commits were authored by someone else. If that's the case, please add them to this pull request and have them confirm that they're okay with these commits being contributed to Google. If we're mistaken and you did author these commits, just reply here to confirm.

@gkalpak
Copy link
Member Author

gkalpak commented Apr 11, 2016

This has to get merged simultaneously with corresponding PRs on:

Repo PRs
angular.js #14416
angular-seed #341
angular.io #1106 (see Upgrading from 1.x)

Things that should/could be considered (potentially after this PR has been merged merged):

  • Make sure the static app on the gh-pages branch still works as expected.
  • Adding an "advanced" section at the end, either pointing to resources (e.g. relevant Developer Guide sections) or as subsequent steps. Example topics:
    • Directives/DDO, 2-way/1-way/1-time bindings
    • Forms (+ ngMessages)
    • ngComponentRouter
    • (multi-slot) transclusion
    • Task runners/Build tools and best practices
    • Testing animations
  • Update Travis to Node v5.
  • To discuss: Is it better to import the core module from the main phonecatApp module only, or on a per-view basis ?
  • To discuss: Is it better to split up the CSS per component or keep it in a couple top-level files (e.g. one for animations and one for the rest) ? What about animation-related JS code ?
  • To discuss: Do we want to mention/use Protractor's directConnect: true config option ?

@gkalpak gkalpak force-pushed the post-v1.5.0-update branch 2 times, most recently from c20f6e7 to 38d05fe Compare April 11, 2016 19:04
gkalpak added a commit to gkalpak/angular-seed that referenced this pull request Apr 12, 2016
….conf.js`)

This brings the config files on par with the tutorial (see angular/angular-phonecat#326).

Related to angular#329.
gkalpak added a commit to gkalpak/angular.js that referenced this pull request Apr 12, 2016
This is a major re-structuring of the tutorial app's codebase, aiming at applying established best
practices (in terms of file naming/layout and code organization) and utilizing several new features
and enhancements (most notably components) introduced in recent versions of Angular (especially
v1.5).

Apart from the overall changes, two new chapters were introduced: one on components and one on code
organization.

--
In the process, several other things were (incidentally) taken care of, including:

* Dependencies were upgraded to latest versions.
* Animations were polished.
* Outdated links were updated.
* The app's base URL was changed to `/` (instead of `/app/`).

BTW, this has been tested with the following versions of Node (on Windows 10) and everything worked
fine:

* 0.11.16
* 4.2.6
* 4.4.2
* 5.10.0

--
This was inspired by (and loosely based on) angular#13834.
Again, mad props to @teropa for leading the way :)

--
**Note:**
The old version of the tutorial, that is compatible with Angular version 1.4 or older, has been
saved on the `pre-v1.5.0-snapshot` branch of
[angular-phonecat](https://github.com/angular/angular-phonecat). The `v1.4.x` version of the
tutorial should be pointed to that branch instead of `master`.

--
Related to angular/angular-phonecat#326.
Related to angular/angular-seed#329.
Related to angular/angular-seed#333.

---
Fixes angular#12755
Fixes angular#13312
Fixes angular#13623
Fixes angular#13632

Closes angular#8952
Closes angular#11726
Closes angular#12946
Closes angular#12947
Closes angular#13198
Closes angular#13284
Closes angular#13834
Closes angular#14178
Closes angular#14223
@gkalpak gkalpak force-pushed the post-v1.5.0-update branch from 38d05fe to 1af7e49 Compare April 12, 2016 10:31
gkalpak added a commit to gkalpak/angular-seed that referenced this pull request Apr 12, 2016
…rotractor)

This brings the config files on par with the tutorial (see angular/angular-phonecat#326).
It also updates Node used on Travis to version 4.4 and switches to Chrome for testing.

Related to angular#329.
gkalpak added a commit to gkalpak/angular-seed that referenced this pull request Apr 12, 2016
…rotractor)

This brings the config files on par with the tutorial (see angular/angular-phonecat#326).
It also updates the version of Node used on Travis to `4.4`.

Related to angular#329.
teropa added a commit to IdeaBlade/angular.io that referenced this pull request Apr 16, 2016
teropa added a commit to IdeaBlade/angular.io that referenced this pull request Apr 18, 2016
@teropa
Copy link

teropa commented Apr 18, 2016

@gkalpak @petebacondarwin The corresponding PR for angular.io is angular/angular.io#1106 where all the relevant changes have been done.

@gkalpak gkalpak force-pushed the post-v1.5.0-update branch 3 times, most recently from 8fbcb9d to 1f04989 Compare April 29, 2016 12:14
teropa added a commit to IdeaBlade/angular.io that referenced this pull request May 12, 2016
@rleir
Copy link

rleir commented May 13, 2016

gkalpak:post-v1.5.0-update works nicely for me. But first I have to change bower.js; it still calls for angular 1.4.x in some steps (I must be doing something wrong).

Would it make sense to merge the 16 commits, then sort out the minor glitches?

@gkalpak
Copy link
Member Author

gkalpak commented May 16, 2016

@rleir, if you can point out in what steps you see 1.4.x versions being called, I could look into it.

This (and the related PRs) are still under review - it is important to get them right, because it will be very frustrating for people trying to learn Angular running into random issues (because of a tutorial bug). Plus, this is a little more complicated than usual, because there are several repos affected (angular.js, angular-seed, angular-phonecat and even angular2 docs have a chapter that relies on this), so we need to coordinate.
That said, we are pretty close (although I am sure there will be glitches we will need to sort out later anyway 😛 )

@rleir
Copy link

rleir commented May 16, 2016

Hi Georgios
In the bower.json. There are 12 versions of this, one for each tutorial step. This confused me, I wanted to do a pull but did not see how to get these versions in git. Explain it to me and I can do a pull.

Yes it is important to get it bug free! It is also important to get it up to date. Newcomers like myself trip up on the changes.
Thanks
Rick

On May 16, 2016 8:28:48 AM EDT, Georgios Kalpakas notifications@github.com wrote:

@rleir, if you can point out in what steps you see 1.4.x versions
being called, I could look into it.

This (and the related PRs) are still under review - it is important to
get them right, because it will be very frustrating for people trying
to learn Angular running into random issues (because of a tutorial
bug). Plus, this is a little more complicated than usual, because there
are several repos affected (angular.js, angular-seed, angular-phonecat
and even angular2 docs have a chapter that relies on this), so we need
to coordinate.
That said, we are pretty close (although I am sure there will be
glitches we will need to sort out later anyway 😛 )


You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
#326 (comment)

Sent from my Android device with K-9 Mail. Please excuse my brevity.

@gkalpak
Copy link
Member Author

gkalpak commented May 16, 2016

@rleir, phonecat uses an unusual setup, where each step is represented by a separate commit. This is cool when studying the tutorial - not so cool when trying to update it :(
(In a nutshell, you have to rebase and amend the X last commit.)

BTW, we just decided to drop bower in favor of npm (with a post-install script to copy the necessary files from node_modules/ into app/lib/ or something).
So, there will be one less tool to worry about.

@rleir
Copy link

rleir commented May 16, 2016

Good plan. I will help by testing.

On May 16, 2016 9:50:01 AM EDT, Georgios Kalpakas notifications@github.com wrote:

@rleir, phonecat uses an unusual setup, where each step is represented
by a separate commit. This is cool when studying the tutorial - not so
cool when trying to update it :(
(In a nutshell, you have to rebase and amend the X last commit.)

BTW, we just decided to drop bower in favor of npm (with a post-install
script to copy the necessary files from node_modules/ into app/lib/
or something).
So, there will be one less tool to worry about.


You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
#326 (comment)

Sent from my Android device with K-9 Mail. Please excuse my brevity.

@gkalpak gkalpak force-pushed the post-v1.5.0-update branch from 1f04989 to 9bf94e0 Compare May 23, 2016 19:48
@gkalpak gkalpak changed the title WIP - feat: fast-forward the tutorial to the post-1.5.0 era feat: fast-forward the tutorial to the post-1.5.0 era May 23, 2016
@gkalpak
Copy link
Member Author

gkalpak commented May 23, 2016

I ran into several bumps trying to use npm instead of bower, so we deferred that for a later time.

@gkalpak gkalpak merged commit 9bf94e0 into angular:master May 24, 2016
@gkalpak gkalpak deleted the post-v1.5.0-update branch May 24, 2016 09:38
gkalpak added a commit to gkalpak/angular.js that referenced this pull request May 24, 2016
This is a major re-structuring of the tutorial app's codebase, aiming at applying established best
practices (in terms of file naming/layout and code organization) and utilizing several new features
and enhancements (most notably components) introduced in recent versions of Angular (especially
v1.5).

Apart from the overall changes, two new chapters were introduced: one on components and one on code
organization.

--
In the process, several other things were (incidentally) taken care of, including:

* Dependencies were upgraded to latest versions.
* Animations were polished.
* Outdated links were updated.
* The app's base URL was changed to `/` (instead of `/app/`).

BTW, this has been tested with the following versions of Node (on Windows 10) and everything worked
fine:

* 0.11.16
* 4.2.6
* 4.4.2
* 5.10.0

--
This was inspired by (and loosely based on) angular#13834.
Again, mad props to @teropa for leading the way :)

--
**Note:**
The old version of the tutorial, that is compatible with Angular version 1.4 or older, has been
saved on the `pre-v1.5.0-snapshot` branch of
[angular-phonecat](https://github.com/angular/angular-phonecat). The `v1.4.x` version of the
tutorial should be pointed to that branch instead of `master`.

--
Related to angular/angular-phonecat#326.
Related to angular/angular-seed#329.
Related to angular/angular-seed#333.

---
Fixes angular#12755
Fixes angular#13312
Fixes angular#13623
Fixes angular#13632

Closes angular#8952
Closes angular#11726
Closes angular#12946
Closes angular#12947
Closes angular#13198
Closes angular#13284
Closes angular#13834
Closes angular#14178
Closes angular#14223
gkalpak added a commit to angular/angular.js that referenced this pull request May 24, 2016
This is a major re-structuring of the tutorial app's codebase, aiming at applying established best
practices (in terms of file naming/layout and code organization) and utilizing several new features
and enhancements (most notably components) introduced in recent versions of Angular (especially
v1.5).

Apart from the overall changes, two new chapters were introduced: one on components and one on code
organization.

--
In the process, several other things were (incidentally) taken care of, including:

* Dependencies were upgraded to latest versions.
* Animations were polished.
* Outdated links were updated.
* The app's base URL was changed to `/` (instead of `/app/`).

BTW, this has been tested with the following versions of Node (on Windows 10) and everything worked
fine:

* 0.11.16
* 4.2.6
* 4.4.2
* 5.10.0
* 6.2.0

--
This was inspired by (and loosely based on) #13834.
Again, mad props to @teropa for leading the way :)

--
**Note:**
The old version of the tutorial, that is compatible with Angular version 1.4 or older, has been
saved on the `pre-v1.5.0-snapshot` branch of
[angular-phonecat](https://github.com/angular/angular-phonecat). The `v1.4.x` version of the
tutorial should be pointed to that branch instead of `master`.

--
Related to angular/angular-phonecat#326.
Related to angular/angular-seed#341.

Closes #14416
gkalpak added a commit to angular/angular.js that referenced this pull request May 24, 2016
This is a major re-structuring of the tutorial app's codebase, aiming at applying established best
practices (in terms of file naming/layout and code organization) and utilizing several new features
and enhancements (most notably components) introduced in recent versions of Angular (especially
v1.5).

Apart from the overall changes, two new chapters were introduced: one on components and one on code
organization.

--
In the process, several other things were (incidentally) taken care of, including:

* Dependencies were upgraded to latest versions.
* Animations were polished.
* Outdated links were updated.
* The app's base URL was changed to `/` (instead of `/app/`).

BTW, this has been tested with the following versions of Node (on Windows 10) and everything worked
fine:

* 0.11.16
* 4.2.6
* 4.4.2
* 5.10.0
* 6.2.0

--
This was inspired by (and loosely based on) #13834.
Again, mad props to @teropa for leading the way :)

--
**Note:**
The old version of the tutorial, that is compatible with Angular version 1.4 or older, has been
saved on the `pre-v1.5.0-snapshot` branch of
[angular-phonecat](https://github.com/angular/angular-phonecat). The `v1.4.x` version of the
tutorial should be pointed to that branch instead of `master`.

--
Related to angular/angular-phonecat#326.
Related to angular/angular-seed#341.

Closes #14416
teropa added a commit to IdeaBlade/angular.io that referenced this pull request May 28, 2016
This is a major reorganization of the Upgrade guide.

* Compatible with the new version of the AngularJS 1 PhoneCat
  tutorial.
* No longer switching Angular 1 code to SystemJS for PhoneCat,
  to allow beginning Angular 2 migration with fewer preparation
  steps. SystemJS switch now happens simultaneously with upgrade.
  (This is based on input from @joeeames)
* Testing moved to an appendix to make the main narrative
  shorter and easier to follow.
* Use component methods to do phone filtering and ordering
  instead of introducing pipes to replace filterFilter and orderByFilter.
* Cover issue with camelCase inputs on downgraded components.

For authors:

* All examples now fully integrated with the example boilerplate. Uses the
  same Angular 2 version as all other guides. E2E tests are executed
  along with all the others.
* Reduced number of PhoneCat versions from five to three.
* Each directory has a README explaining how to run it and what might
  be peculiar about it.

Closes angular/angular#8622
Relates to angular/angular.js#14416
Relates to angular/angular-phonecat#326
wardbell pushed a commit to angular/angular.io that referenced this pull request May 28, 2016
closes #1538
This is a major reorganization of the Upgrade guide.

* Compatible with the new version of the AngularJS 1 PhoneCat
  tutorial.
* No longer switching Angular 1 code to SystemJS for PhoneCat,
  to allow beginning Angular 2 migration with fewer preparation
  steps. SystemJS switch now happens simultaneously with upgrade.
  (This is based on input from @joeeames)
* Testing moved to an appendix to make the main narrative
  shorter and easier to follow.
* Use component methods to do phone filtering and ordering
  instead of introducing pipes to replace filterFilter and orderByFilter.
* Cover issue with camelCase inputs on downgraded components.

For authors:

* All examples now fully integrated with the example boilerplate. Uses the
  same Angular 2 version as all other guides. E2E tests are executed
  along with all the others.
* Reduced number of PhoneCat versions from five to three.
* Each directory has a README explaining how to run it and what might
  be peculiar about it.

Closes angular/angular#8622
Relates to angular/angular.js#14416
Relates to angular/angular-phonecat#326
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants