I believe that we need to have a good tutorial for the newcomers that describes the practical process of developing a web app using Yii 2.
I’m thinking of Larry Ullman’s Learning Yii Series and The Yii Blog Tutorial. Don’t you think that we have to have the Yii 2 versions of them?
The definitive guide for Yii 2 is a good thing without any doubt. But it is much larger than that of Yii 1 in its quantity … Yii 1 guide has 57 chapters, and Yii 2 guide has 101 (without counting those in the docs for yii2-gii, yii2-debug, … etc). “Read the guide”, we used to tell them, “at least twice”. Is it still possible with Yii 2?
Of course we have to read the guide, and also the newcomers should be recommend to do that. But in order to comprehend the guide, you must have a rough roadmap of the framework. Those who came from Yii 1 have already acquired it, but the newcomers haven’t. And they almost blindly dive into “yii2-app-advanced”
Before undertaking the huge undertaking, I would recommend having separate ones for the basic and advanced apps prefaced by the reasons we would use one over the other. Any concept that applies to both could be included in both but the reader would know from the get go that everything they are reading applies to the version they are using.
Also, with the basic version, it would be helpful to spell out exactly how to replace the demo/demo or admin/admin hardcoded login with a sound, secure user authentication system, at the very least how to install a proven extension for this purpose.
With Yii 1, one of the most helpful things I found as a newbie was http://www.yiiframework.com/wiki/48/by-example-chtml/ with little tidbits of how to do this and that. A smaller undertaking would be something like that, Html by example, how to do a link, a button, an image, etc.
I’m sure its been said before but I’d love to have a moderated comment system as part of the guide. Ideally it would function like the php comment system but it would be great to have ability upvote/downvote like stackoverflow.
I’m not sure if I will be able to spare much time on it.
But at the moment, I’d like to start so called feasibility assessment.
Yeah, it would be great, but might be of lower priority, IMO. We must have the content first.
I also think it should be source controlled on Github, just like other documents of Yii. It should be easy to be contributed.
That’s it.
What I have in mind is a turorial only for beginners that uses “yii2-app-basic” as the project template. Supposed users of “yii2-app-advanced” don’t need such a tutorial.
IMO, some beginners make wrong decision to choose "yii2-app-advanced" because of the absense of practical management system (authentication and authorization) in "basic". They might be expecting a CMS like feature in the framework, I guess. Anyway, they think that they need "backend" and jump at "advanced" even when they are using shared hosts.
Just as you have suggested, I believe the solution is to provide a sample code that describes how to implement a real-world user management system using "basic" template. It includes 1) authentication using a user table stored in db, 2) RBAC basics, and 3) an admin module that manages the users.
I’m skeptical about introducing some auth/user extension to the tutorial, needless to say introducing it to the template itself. User management can vary project to project.