Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Course Creation Proposal: Developing with WordPress #1487

Open
caraya opened this issue Apr 11, 2023 · 5 comments
Open

Course Creation Proposal: Developing with WordPress #1487

caraya opened this issue Apr 11, 2023 · 5 comments
Assignees

Comments

@caraya
Copy link

caraya commented Apr 11, 2023

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:

  • Build a tooling system using Gulp and associated plugins
  • Explain the differences between classic and block themes
  • Describe situations when you would use classic and block themes
  • Identify cases when PHP is necessary to enhance block sites

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
Copy link
Collaborator

@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
Copy link
Author

caraya commented Apr 15, 2023

@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

This comment was marked as duplicate.

1 similar comment
@Pressmentor
Copy link

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.

@bsanevans
Copy link
Contributor

@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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: 🚧 Drafts in Progress
Development

No branches or pull requests

5 participants