WordPress / Learn

WordPress.org Learn - The canonical source for the code and content behind https://learn.WordPress.org
274 stars 101 forks source link

Course Creation Proposal: Developing with WordPress #1487

Open caraya opened 1 year ago

caraya commented 1 year ago

I've been working on this for a while and wanted feedback if this is something that would work as a course or would work better as a learning path

The TODO comments are notes I've left during the development


Needs Assessment

There are many courses about developing content with WordPress with different techniques and tools. Some of these courses conflict with each other or have not been updated to newer versions of WordPress where the techniques or the code have changed.

This course will cover several different ways to build content with WordPress along with some auxiliary material that is necessary to prepare assets to upload to your WordPress site.

Each module will have a companion code repository with both beginning and final versions of the code so participants have a common starting point and a model to compare their work against.

[[TODO: Exact location TBD]]

Personas

The course is geared to different audiences with varying degrees of technical knowledge represented by the following personas:

Rebecca is a developer interested in WordPress but without much prior knowledge. She's created content with Laravel and Angular before.

Peter has developed with WordPress before using PHP in classic themes. He's had limited experience with React.

General Objectives

By the end of this course, participants will be able to:

Proposed modules

  1. Tooling (being worked on as a separate lesson plan)
  2. Setting up a local development server (already available)
  3. Classic Themes
  4. Block Themes
  5. Full Site Editing
  6. Headless WordPress
  7. Creating Blocks (Optional)
  8. WordPress CLI (Optional)
  9. Custom Post Types and how to make them work in Gutenberg

[[TODO: Are the optional modules worth including as separate modules/courses or are they better of included in other modules?]]

[[TODO: I'm not 100% sure that these are modules or a separate course. I'm keeping them together for now to make my life easier when writing them.]]

jonathanbossenger commented 1 year ago

@caraya I think this is a great idea for a course, I look forward to seeing it developed. If there's anything I can do to assist, please let me know.

I have two pieces of feedback.

I'm wondering if it makes sense to include other tooling options besides Gulp, perhaps also include Grunt, and discuss options like webpack, or npm's scripts? For example, given that you might be considering including a module on creating blocks, it might be useful to discuss webpack early on.

The other piece of feedback (and please accept my apologies if you had already planned this) is that it would be great to see the proposed course modules further broken down into individual lessons (similar to this) as it would help with understanding exactly what content you're proposing for each module.

caraya commented 1 year ago

@jonathanbossenger

Thank you for the feedback.

The tooling module is for working outside of WordPress, that's why I did not cover WebPack (Rollup is easier to configure) or NPM scripts... might consider adding them, but they would be replacing using Gulp for individual tasks and my assumption for most of this material is that if people need to use it they know how... The personas I created for the course are representative of the users I'm targeting.

The reason I didn't include any other task runner is simplicity. If you include other task runners then it becomes a never-ending game of answering why we didn't include . Part of the design is to teach the modules as an instructor-led course or in webinars which require some limits to what we can or should do.

The submission is a high-level overview of the proposal. The version I'm working on has an outline and objectives for each module that go deeper into what I am looking to build.

wcmsk commented 1 year ago

In my view, It seems like your material could work well as a learning path rather than a course. Why?

Your material covers several different ways to build content with WordPress, along with some auxiliary material. This suggests that there are many different paths a learner could take through the material, depending on their interests and needs.

You also mention that each module will have a companion code repository with both beginning and final versions of the code, which is well-suited to a self-guided learning path where learners can explore the material at their own pace.

Finally, your proposed modules include some optional ones, which suggests that learners may want to skip some of the material if they already have experience in certain areas. A learning path would be more conducive to this type of flexible, self-directed learning.

Pressmentor commented 1 year ago

In my view, It seems like your material could work well as a learning path rather than a course. Why?

Your material covers several different ways to build content with WordPress, along with some auxiliary material. This suggests that there are many different paths a learner could take through the material, depending on their interests and needs.

You also mention that each module will have a companion code repository with both beginning and final versions of the code, which is well-suited to a self-guided learning path where learners can explore the material at their own pace.

Finally, your proposed modules include some optional ones, which suggests that learners may want to skip some of the material if they already have experience in certain areas. A learning path would be more conducive to this type of flexible, self-directed learning.

kaitohm commented 1 year ago

@caraya I've moved this topic to "in progress". Feel free to start working on this content. Feel free to reach out in the Training Team in Slack if you need assistance along the way.