Learn icon indicating copy to clipboard operation
Learn copied to clipboard

Learning Pathway: Intermediate Plugin Developer

Open jonathanbossenger opened this issue 2 years ago • 68 comments

Learning Pathway: Intermediate Plugin Developer

The intermediate plugin developer has the fundamental knowledge needed to develop for WordPress gained in the Beginner Developer Learning Pathway and has decided to focus on plugin development.

See the all the Developer pathways outlined in this document.

It is estimated that a single content creator working full-time on this content, at an average of 2.5 video lessons per week, will take approximately 21 weeks to complete all the lessons in this learning pathway.

The estimated date for completion is 28 February 2025 (see https://github.com/WordPress/Learn/issues/2044#issuecomment-2426732529).

Call for contributors post: https://make.wordpress.org/training/2024/07/30/call-for-contributors-intermediate-plugin-developer-learning-pathway/

Public GitHub repository for all lesson scripts: https://github.com/wptrainingteam/learn-wp-content/ Location of scripts for this learning pathway: https://github.com/wptrainingteam/learn-wp-content/tree/main/plugin-developer-learning-pathway

Production status

7/51 lessons published (13.72%)

jonathanbossenger avatar Nov 29 '23 08:11 jonathanbossenger

Note: Once the Interactivity API has landed in core, add it to this learning pathway

jonathanbossenger avatar Jan 22 '24 13:01 jonathanbossenger

Related: Custom Database Tables

  • https://github.com/WordPress/Learn/issues/1867
  • https://github.com/WordPress/Learn/issues/1940

jonathanbossenger avatar Feb 11 '24 10:02 jonathanbossenger

Consider adding a new module on advanced WP REST API Authentication covering

jonathanbossenger avatar Mar 13 '24 14:03 jonathanbossenger

Update, moved the Roles and Capabilities module from the beginner pathway to here. Moved the lesson on enqueuing CSS and JS to the Introduction to plugin development module in the beginner pathway.

jonathanbossenger avatar Mar 14 '24 11:03 jonathanbossenger

Consider adding an advanced WP REST API module covering

jonathanbossenger avatar Mar 17 '24 19:03 jonathanbossenger

Consider including #2461

jonathanbossenger avatar Jun 13 '24 08:06 jonathanbossenger

How can we include The Storybook into the module on advanced block development

jonathanbossenger avatar Jun 18 '24 11:06 jonathanbossenger

Note to self, once #1984 is launched, re-review the modules/lessons in this pathway, to ensure the content is still relevant.

jonathanbossenger avatar Jun 18 '24 11:06 jonathanbossenger

@jonathanbossenger I believe I've seen a response to my question in another Learning Pathway issue, but I would like to clarify it here as well. Firstly, I must say that this proposal appears to be a comprehensive and valuable Learning Pathway for plugin development. My question is: are you proposing to complete this project individually, or is there an opportunity for others, like myself, to contribute a single module collaboratively? Apologies if this seems like a basic question; I just want to ensure I understand the commitment required.

eirichmond avatar Jun 18 '24 11:06 eirichmond

@eirichmond great question.

I would greatly appreciate any and all help I can get :grin:

As a team, one of our primary goals for the Learning Pathways project is to create "clear, user-friendly pathway for learners of different levels, roles, and use-cases.".

This, and the other developer-focused pathways, form part of that goal.

As you may have seen from the beginner and theme developer , the more folks we can onboard to help us create this content, the faster it gets created.

an opportunity for others, like myself, to contribute a single module collaboratively?

I also wanted to highlight this point. I think it's important for each module to be self-contained. This means it would be ideal if the design and presentation of all the lessons in any specific module were the same. You will see this in the Introduction to WordPress themes module that Cynthia created for the beginner pathway and any of the modules she worked on in the theme developer pathway.

So if possible, it would be great if individual collaborators were able to take ownership of a specific module, instead of only working on specific lessons.

Final note, the planned deadline for this learning pathway is the end of 2025, so we do have some time. Please only take on that which you feel you have time for, it's important to me that contributors are able to balance life, work, and their volunteer contributions.

jonathanbossenger avatar Jun 18 '24 12:06 jonathanbossenger

  • Consider removing Administration Menus and Settings, with the upcoming admin overhaul, these might be redundant soon
  • Consider removing module Shortcodes for v1 of this learning pathway

jonathanbossenger avatar Jul 20 '24 11:07 jonathanbossenger

Module: Administration Menus

Objective:

Lessons

  • [ ] #2713
  • [ ] #2714

Module: Settings

Objective:

Lessons

  • [ ] #2732
  • [ ] #2715
  • [ ] #2716
  • [ ] #2717

Module: Shortcodes

Objective:

Lessons

  • [ ] Basic Shortcodes
  • [ ] Enclosing Shortcodes
  • [ ] Shortcodes with Parameters

jonathanbossenger avatar Jul 20 '24 11:07 jonathanbossenger

Content creation resources

Documentation

Example Module/lessons

Beginner Developer Module 4: WordPress Hooks

Title GitHub Issue Script URL Lesson URL
WordPress Hooks #2079 Script Lesson
WordPress Action Hooks #2080 Script Lesson
WordPress Filter Hooks #2081 Script Lesson
Working with hooks #2209 Script Lesson

jonathanbossenger avatar Jul 20 '24 11:07 jonathanbossenger

To anyone interested in contributing to this learning pathway, please share in which of the areas listed in the original post you think you'd be able to help out with?

  1. Scriptwriting: Research lesson topics and write draft scripts that meet the lesson’s learning outcomes.
  2. Voice recording: Taking an existing script and recording the audio portion of a video lesson.
  3. Video editing: Merging a script with a voice recording and compiling a clear and engaging video lesson.
  4. Content creation: Taking an existing script (or researching and writing your own) and producing an entire video lesson
  5. Reviewing: Watching a completed video lesson and reviewing it for technical accuracy.

jonathanbossenger avatar Jul 24 '24 13:07 jonathanbossenger

Hey @olafleur-godaddy when you are back, tagging you in based upon some of our chats at WordCamp Canada and thinking you might be interested in some of this area.

courtneyr-dev avatar Jul 30 '24 15:07 courtneyr-dev

Hey @jonathanbossenger ,

I saw you were looking for some contributors.

I would be glad to help.

Concerning module 2 about custom hooks, I am wondering about something. Should we talk about the fact filters are not returning a guaranteed type? (I didn't saw it mentioned anywhere in the documentation)

I think that could help them adopt good practices from the standard and not spend hours trying to figure out what is the problem in their code when it comes from a wrong callback on the website from a client.

I also did some page about that topic here which explains the issue and how we are currently solving this at WP Media. Maybe it could inspire us for this tutorial.

CrochetFeve0251 avatar Jul 30 '24 18:07 CrochetFeve0251

Hey @CrochetFeve0251

Thanks for your interest. Perhaps you could leave the comment on the issue for the Custom Hooks lesson, and we can discuss it further there?

jonathanbossenger avatar Jul 30 '24 19:07 jonathanbossenger

I've asked the plugin review team to especially take a peek at Modules 15 & 16 https://wordpress.slack.com/archives/C1LBM36LC/p1722373446911739

courtneyr-dev avatar Jul 30 '24 21:07 courtneyr-dev

@jonathanbossenger, I'd be interested in contributing if you're still looking for a developer with a background in plugin development.

thisismyurl avatar Jul 31 '24 16:07 thisismyurl

Hey hey! I'm also interested in contributing.

DevinWalker avatar Jul 31 '24 22:07 DevinWalker

Hey @jonathanbossenger, I'm totally down, this sounds right up my alley 🤘🏼

tarecord avatar Aug 01 '24 01:08 tarecord

Thanks for your interest @thisismyurl @DevinWalker @tarecord

To anyone interested in contributing to this learning pathway, please share in which of the areas listed in the original post you think you'd be able to help out with?

  1. Scriptwriting: Research lesson topics and write draft scripts that meet the lesson’s learning outcomes.
  2. Voice recording: Taking an existing script and recording the audio portion of a video lesson.
  3. Video editing: Merging a script with a voice recording and compiling a clear and engaging video lesson.
  4. Content creation: Taking an existing script (or researching and writing your own) and producing an entire video lesson
  5. Reviewing: Watching a completed video lesson and reviewing it for technical accuracy.

Please also indicate if there are any modules above that you have a strong desire to collaborate on.

jonathanbossenger avatar Aug 01 '24 08:08 jonathanbossenger

@jonathanbossenger

For my part, I can help on:

  1. Scriptwriting: Research lesson topics and write draft scripts that meet the lesson’s learning outcomes.
  2. Reviewing: Watching a completed video lesson and reviewing it for technical accuracy.

For Voice recording: Taking an existing script and recording the audio portion of a video lesson I can try to make as well, but I am not sure about the quality so far.

Concerning modules, I think I would be more useful in theses:

I can help on other parts, but I think that it is where I have the most experience.

CrochetFeve0251 avatar Aug 01 '24 09:08 CrochetFeve0251

@CrochetFeve0251, that all sounds great to me.

For Voice recording: Taking an existing script and recording the audio portion of a video lesson I can try to make as well, but I am not sure about the quality so far.

I understand, we can experiment with this, and see how it goes.

For now, shall we start with you scriptwriting the lessons in Module 2: Advanced hooks? I'd rather focus on assigning one set of lessons at a time, that try to overload you with too many lessons at once.

jonathanbossenger avatar Aug 03 '24 10:08 jonathanbossenger

For me, I can help with either of the following, whatever is needed.

  • Video editing: Merging a script with a voice recording and compiling a clear and engaging video lesson.
  • Content creation: Taking an existing script (or researching and writing your own) and producing an entire video lesson
  • Reviewing: Watching a completed video lesson and reviewing it for technical accuracy.

In terms of modules preferred, I think I can start with whatever module has scripts ready so that there's some form of order.

Let me know how this sounds!

Cheers!

webcreativeng avatar Aug 06 '24 13:08 webcreativeng

Thank you to everyone who's shown interest in helping create this plugin developer learning pathway.

Throughout the rest of this week, I will update all lesson issues with more detailed lesson information, including prerequisite knowledge, learning outcomes, and any relevant documentation or external links.

Once that is done, we can start assigning lessons to folks. Please make sure to review all the modules and lessons and indicate your interest. The most straightforward way to do this is to comment on the lesson issues directly. This is also a great place to ask questions.

I will also be hosting a Content Creator Coffee hour on Tuesday, the 13th of August, at 14:00 UTC (see details in the training team calendar). This is an informal session where we meet to chat about content creation for Learn WordPress. I am planning to share a short overview of my content creation process in that call, so if you are free, please consider joining.

jonathanbossenger avatar Aug 07 '24 08:08 jonathanbossenger

Hi, I'm interested in working on Module 1 👍

agiljulio avatar Aug 08 '24 11:08 agiljulio

Thank you to everyone who's shown interest in helping create this plugin developer learning pathway.

Throughout the rest of this week, I will update all lesson issues with more detailed lesson information, including prerequisite knowledge, learning outcomes, and any relevant documentation or external links.

Once that is done, we can start assigning lessons to folks. Please make sure to review all the modules and lessons and indicate your interest. The most straightforward way to do this is to comment on the lesson issues directly. This is also a great place to ask questions.

I will also be hosting a Content Creator Coffee hour on Tuesday, the 13th of August, at 14:00 UTC (see details in the training team calendar). This is an informal session where we meet to chat about content creation for Learn WordPress. I am planning to share a short overview of my content creation process in that call, so if you are free, please consider joining.

@jonathanbossenger I will be there to talk, starting to working on the script made me discover I am not 100% sure what to produce. (How long should it be, which tone to use, etc ) Btw that might be good practice to have an example from a script, so we all respect more or less the same standards when creating our own scripts.

CrochetFeve0251 avatar Aug 08 '24 18:08 CrochetFeve0251

@CrochetFeve0251 100%. I will share some links with you on the first lesson, we have both handbook pages you can follow, and I can share some example scripts from previous lessons I've worked on.

jonathanbossenger avatar Aug 12 '24 07:08 jonathanbossenger

Hey @olafleur-godaddy when you are back, tagging you in based upon some of our chats at WordCamp Canada and thinking you might be interested in some of this area.

Yes @courtneyr-dev , I would be glad to help however I can! :)

olafleur-godaddy avatar Aug 12 '24 17:08 olafleur-godaddy