Open jonathanbossenger opened 11 months ago
Note: Once the Interactivity API has landed in core, add it to this learning pathway
Related: Custom Database Tables
Consider adding a new module on advanced WP REST API Authentication covering
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.
Consider adding an advanced WP REST API module covering
Consider including #2461
How can we include The Storybook into the module on advanced block development
Note to self, once #1984 is launched, re-review the modules/lessons in this pathway, to ensure the content is still relevant.
@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 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.
Objective:
Objective:
Objective:
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 |
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?
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.
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.
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?
I've asked the plugin review team to especially take a peek at Modules 15 & 16 https://wordpress.slack.com/archives/C1LBM36LC/p1722373446911739
@jonathanbossenger, I'd be interested in contributing if you're still looking for a developer with a background in plugin development.
Hey hey! I'm also interested in contributing.
Hey @jonathanbossenger, I'm totally down, this sounds right up my alley 🤘🏼
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?
- Scriptwriting: Research lesson topics and write draft scripts that meet the lesson’s learning outcomes.
- Voice recording: Taking an existing script and recording the audio portion of a video lesson.
- 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.
Please also indicate if there are any modules above that you have a strong desire to collaborate on.
@jonathanbossenger
For my part, I can help on:
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, 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.
For me, I can help with either of the following, whatever is needed.
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!
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.
Hi, I'm interested in working on Module 1 👍
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 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.
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! :)
I wanted to share that the Content Creator Coffee hour planned for today has been moved to next Tuesday, August 20, at 14:00 UTC. (see details in the training team calendar)
Thank you for your interest @olafleur-godaddy
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?
- Scriptwriting: Research lesson topics and write draft scripts that meet the lesson’s learning outcomes.
- Voice recording: Taking an existing script and recording the audio portion of a video lesson.
- 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.
Please also indicate if there are any modules above that you have a strong desire to collaborate on.
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 thanks for the update.
At the moment, @agiljulio has shown interest in working on video editing for module 1, and @CrochetFeve0251 is keen to work on research and script writing for module 2. How would you feel about collaborating on module 2 with @CrochetFeve0251?
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 thanks for the update.
At the moment, @agiljulio has shown interest in working on video editing for module 1, and @CrochetFeve0251 is keen to work on research and script writing for module 2. How would you feel about collaborating on module 2 with @CrochetFeve0251?
@jonathanbossenger as the meeting was moved up by a week, feel free to share the links you were talking about here, so I can take a lot at them, and we won't be waiting an extra week.
@jonathanbossenger as the meeting was moved up by a week, feel free to share the links you were talking about here, so I can take a lot at them, and we won't be waiting an extra week.
@CrochetFeve0251 100%. To make it easily accessible to everyone, I've added it in a comment in this issue: https://github.com/WordPress/Learn/issues/2044#issuecomment-2241092736.
The comment contains links to the Lessons section of the Training Team handbook, a Google doc summarising my personal lesson creation process, and an example module from the Beginner Developer Learning Pathway. The table includes links to the GitHub issues where the content was created for each lesson in the example module, links to my lesson scripts, and the final lesson on Learn WordPress.
My suggestion is that you start on your first script for the #2700 lesson and share your first draft in the comments of that lesson issue. I'll happily review it and provide feedback.
In order to help with notifying folks of updates to the development of this learning pathway, I have assigned everyone who indicated their interest to this tracking issue. If you don't want to be notified of updates to this issue, please let me know, and I will unassign you.
Today, I created an unplanned lesson on PHP code structure, which aims to introduce beginners to using classes in PHP.
The main reason behind this lesson is to introduce the concept of classes in PHP, as one of the examples of avoiding naming collisions in plugins is to use a class with static methods.
The Advanced developer learning pathway has an entire module on Object Oriented PHP development for WordPress, (which still needs to be fleshed out) and so it's probably best to leave the bulk of that learning in that module, but introduce some basic concepts here.
If anyone would like to review the script, it's linked in the lesson issue. Please feel free to leave your feedback in the comments on that issue.
Today, I created an unplanned lesson on PHP code structure, which aims to introduce beginners to using classes in PHP.
The main reason behind this lesson is to introduce the concept of classes in PHP, as one of the examples of avoiding naming collisions in plugins is to use a class with static methods.
The Advanced developer learning pathway has an entire module on Object Oriented PHP development for WordPress, (which still needs to be fleshed out) and so it's probably best to leave the bulk of that learning in that module, but introduce some basic concepts here.
If anyone would like to review the script, it's linked in the lesson issue. Please feel free to leave your feedback in the comments on that issue.
Mmmm while it is a good idea to actually teach them how to prevent clashes between plugins or themes, I am wondering if teaching them to use namespaces wouldn't be a better option rather than using a unique class name.
That would make them learn only one notion instead of learning a first one then having to change it with another which is the modern way of doing it.
Just realised I might have put my comment on the wrong thing >< it's been a while since revisiting this and there has been some awesome work done here, it's great 👍 I'd be more than happy to take on one of these modules to show an example of how I would create a video with graphic elements to demonstrate what I can contribute to this?
Mmmm while it is a good idea to actually teach them how to prevent clashes between plugins or themes, I am wondering if teaching them to use namespaces wouldn't be a better option rather than using a unique class name.
@CrochetFeve0251 I agree with you there. While I was working on the script for #2696 I realised that the documentation on doesn't even include namespaces, probably because it was written in a time before namespaces were common place. So I'm going to include namespaces as a solution in #2696, and look at getting the docs updated at the same time.
Just realised I might have put my comment on the wrong thing >< it's been a while since revisiting this and there has been some awesome work done here, it's great 👍 I'd be more than happy to take on one of these modules to show an example of how I would create a video with graphic elements to demonstrate what I can contribute to this?
Thanks @eirichmond. At the moment we do have video creators paired with script writers for the first two modules, but I will certainly reach out to you if we have more scripts that need video creation.
I want to share an update on the proposed deadline for this learning pathway.
In the original description of this issue, I indicated it would take approximately 20 weeks to complete all the lessons in this learning pathway. With the original call for contributors post shared on 30 July 2024, 20 weeks would mean aiming for completion on 13 December 2024.
Since then, additional lessons have been added to the pathway, bringing the total up to 53 lessons (from the original 50). This means we need approximately another week, pushing the deadline to 20 December 2024.
From now on, I will ask all contributors to share their ETAs for whatever they are working on in the individual GitHub issues so that we can plan specific tasks and work towards completion by this date. I will also post monthly updates on progress here at the end of every month. These updates will be shared with the training team during weekly training meetings at the start of every new month.
Including myself here on the main thread. 👋
I'm happy to help with reviewing for technical accuracy, proper language, typos, offering suggestions, and maybe even writing scripts for any lessons as needed to help us meet the December deadline.
If you need anything, just @ me.
This is my first time contributing to Training, but I'm excited to finally have the chance to help!
Cheers!
@jonathanbossenger I just realized there's no mention of making plugins compatible with WordPress multisite installations, unless I'm missing something.
Should a lesson be added to quickly note some considerations that plugin developers should be aware of? There's particularly considerations when it comes to custom database tables and uninstalling data across all subsites, so maybe it could be a lesson under that module.
Hi @MichelleBlanchette thanks for your interest.
I'm happy to help with reviewing for technical accuracy, proper language, typos, offering suggestions, and maybe even writing scripts for any lessons as needed to help us meet the December deadline.
Currently, modules 1-3 have script writers, so feel free to comment on any of the lessons from module 4 onward, if you'd like to write scripts for them.
I just realized there's no mention of making plugins compatible with WordPress multisite installations, unless I'm missing something.
There is a lesson on developing for multisite in the Multisite module on the Beginner developer learning pathway
If there's anything you feel is missing from those lessons, you're welcome to suggest it. However, it might have to wait until there's an available content creator or once this learning pathway's content wraps up.
Content update: 2024-09-12
I've moved two lessons, #2708 and #2764 into a TBD (to be determined) section.
Once these modules/lessons are fleshed out better, we could perhaps add them to the learning pathway later.
There seems to be a limit to how many contributors can be assigned to a single GitHub issue. Therefore, I will only assign people to this tracking issue who are currently actively working on individual lesson content. If you want to receive updates on this issue, please consider subscribing.
A note to all contributors to this (and any other developer-focused content for learn.wordpress.org): for the past year or so, I've been maintaining a GitHub repository of all my notes and scripts (online workshops, lessons, courses, etc). I find it easier to maintain these scripts in markdown in GitHub to allow for better collaboration.
Today I moved this repository to the wptrainingteam GitHub organisation, so that it's available more publicly. If you are working on content for learn.wordpress.org, and you'd like to use this repository as well, please go ahead and fork it, and start creating PRs.
https://github.com/wptrainingteam/learn-wp-content
If you want to add your lessons in this pathway to that repository, all the plugin developer lesson scripts are available here https://github.com/wptrainingteam/learn-wp-content/tree/main/plugin-developer-learning-pathway
@jonathanbossenger I'd like to claim Module 7: Custom Databases if it's available. I can do all the writing and video recording for it—possibly even the video editing, too. But I'll definitely be happy to receive any feedback and reviews along the way.
I'm actually interested in several of the other module topics, too, but I'll just have to see how long it takes me and how much time I have to work on these, so I'll just claim the one for now. 🙂
I'd like to claim Module 7: Custom Databases if it's available.
@MichelleBlanchette it's yours! 🎉 I will assign you to the first lesson.
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%)