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

Learning Pathway: Intermediate Plugin Developer #2044

Open
jonathanbossenger opened this issue Nov 29, 2023 · 71 comments
Open

Learning Pathway: Intermediate Plugin Developer #2044

jonathanbossenger opened this issue Nov 29, 2023 · 71 comments

Comments

@jonathanbossenger
Copy link
Collaborator

jonathanbossenger commented Nov 29, 2023

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 #2044 (comment)).

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

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

@jonathanbossenger
Copy link
Collaborator Author

Related: Custom Database Tables

@jonathanbossenger
Copy link
Collaborator Author

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

@jonathanbossenger
Copy link
Collaborator Author

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

Consider adding an advanced WP REST API module covering

@jonathanbossenger
Copy link
Collaborator Author

Consider including #2461

@jonathanbossenger
Copy link
Collaborator Author

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

@jonathanbossenger
Copy link
Collaborator Author

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

@eirichmond
Copy link

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

@jonathanbossenger
Copy link
Collaborator Author

@eirichmond great question.

I would greatly appreciate any and all help I can get 😁

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 jonathanbossenger pinned this issue Jul 19, 2024
@jonathanbossenger
Copy link
Collaborator Author

jonathanbossenger commented Jul 20, 2024

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

jonathanbossenger commented Jul 20, 2024

Module: Administration Menus

Objective:

Lessons

Module: Settings

Objective:

Lessons

Module: Shortcodes

Objective:

Lessons

  • Basic Shortcodes
  • Enclosing Shortcodes
  • Shortcodes with Parameters

@jonathanbossenger
Copy link
Collaborator Author

jonathanbossenger commented Jul 20, 2024

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

jonathanbossenger commented Jul 24, 2024

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.

@courtneyr-dev
Copy link
Collaborator

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.

@CrochetFeve0251
Copy link

CrochetFeve0251 commented Jul 30, 2024

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.

@jonathanbossenger
Copy link
Collaborator Author

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?

@courtneyr-dev
Copy link
Collaborator

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

@thisismyurl
Copy link

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

@DevinWalker
Copy link

Hey hey! I'm also interested in contributing.

@tarecord
Copy link

tarecord commented Aug 1, 2024

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

@jonathanbossenger
Copy link
Collaborator Author

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

jonathanbossenger commented Oct 7, 2024

Hi folks, a quick project management update.

The WordPress GitHub organization has been enrolled in the Evolving GitHub Issues (Public Beta). These features add some cool new things to GitHub issues, including the ability to use sub-issues instead of tasks.

Sub-issues are great for managing something like a learning pathway because we can create a sub-issue for each module and then nest lesson modules underneath the module sub-issue. This allows for a better overall view of tasks that make up the main tracking issue (who's assigned, which lessons still need to be assigned), the ability to assign contributors to modules, and the ability to mark a module as closed.

It's a small improvement, but I needed help to keep track of who was working on what, and I'm hopeful these new tools will make that process easier.

I've started migrating this tracking issue to use sub-issues (I'm about halfway there so far), and I'll finish that process in the coming weeks. For now I've assigned all modules to myself, but I'll change those assignments once all the module sub issues are complete. The process has also delayed my weekly update comment, so I'll post one again this Friday.

If anyone needs the original task list, you can find it in this Gist.

@eirichmond
Copy link

Oh, that looks neat! Looking forward to seeing this in action 👍

@jonathanbossenger
Copy link
Collaborator Author

Two quick updates

  1. I've completed the update from tasks to sub issues. I'll be working on issue assignment next.
  2. To make this easier, I've sent invites to everyone assigned to this issue to join the Learn GitHub team. This should make it easier to assign folks to issues going forward, instead of needing to ask you all to comment on an issue. Please accept that invite.

Thanks

@jonathanbossenger
Copy link
Collaborator Author

Production update - 2024-10-14

This is a high-level update of the course progress.

Project management update

The management of this pathway has successfully been migrated from tasks to sub-issues. All modules now also have their own tracking issue.

Module 1: Plugin Development Practices

Script writing and audio recording: @jonathanbossenger, video creation @agiljulio

Module 2: Advanced Hooks

Script writing: @CrochetFeve0251, video creation @webcreativeng

Module 3: Advanced Blocks

Script writing and video creation @jonathanbossenger

This module has been published 🎉

Module 4: Advanced WP REST API

Script writing and video creation @jessecowens

Module 7: Custom database tables

Script writing and video creation @MichelleBlanchette

Module 15: Publishing Plugins

Script writing @jonathanbossenger, video creation @eirichmond

Thank you to all contributors involved.

@kaitohm
Copy link
Contributor

kaitohm commented Oct 18, 2024

@jonathanbossenger The following issues were previously created and mentioned in this issue, but they're not listed as sub-issues. Can they be closed?
#2717
#2716
#2715
#2714
#2713
#2708

@jonathanbossenger
Copy link
Collaborator Author

@kaitohm those issues are part of a group of lessons that I originally envisioned for this learning pathway, but moved out during pre-planning (see #2044 (comment)).

I still see a value in creating these lessons in the future, but if you'd prefer to close them out now, that's fine, and we can reopen/recreate them later if needed.

@kaitohm
Copy link
Contributor

kaitohm commented Oct 18, 2024

No problem. They're all marked as "ready to create" right now. Let's leave them there for any contributor who comes along and wants to work on something.

@jonathanbossenger
Copy link
Collaborator Author

jonathanbossenger commented Oct 21, 2024

Production update - 2024-10-21

This is a high-level update on the course progress.

Timeline update

Due to various factors, including contributors' work responsibilities and more advanced lessons requiring more time to research/write and produce, I reviewed the current state of progress with @kaitohm this morning. We have agreed to move the publishing date to 28 February 2025 to give contributors enough time to complete this learning pathway. We do not anticipate another publishing date shift.

Module 1: Plugin Development Practices

Script writing and audio recording: @jonathanbossenger, video creation @agiljulio

Module 2: Advanced Hooks

Script writing: @CrochetFeve0251, video creation @jonathanbossenger

Module 3: Advanced Blocks

Script writing and video creation @jonathanbossenger

This module has been published 🎉

Module 4: Advanced WP REST API

Script writing and video creation @jessecowens

Module 7: Custom database tables

Script writing and video creation @MichelleBlanchette

Module 15: Publishing Plugins

Script writing @jonathanbossenger, video creation @eirichmond

Thank you to all contributors involved.

@jonathanbossenger
Copy link
Collaborator Author

Production update - 2024-10-28

This is a high-level update on the course progress.

Module 1: Plugin Development Practices

Script writing and audio recording: @jonathanbossenger, video creation @agiljulio

Module 2: Advanced Hooks

Script writing: @CrochetFeve0251, video creation @jonathanbossenger

Module 3: Advanced Blocks

Script writing and video creation @jonathanbossenger

This module has been published 🎉

Module 4: Advanced WP REST API

(TBC)

Module 7: Custom database tables

Script writing and video creation @MichelleBlanchette

Module 15: Publishing Plugins

Script writing @jonathanbossenger, video creation @eirichmond

Thank you to all contributors involved.

@jonathanbossenger
Copy link
Collaborator Author

Production update - 2024-11-05

This is a high-level update on the course progress.

Module 1: Plugin Development Practices

Script writing and audio recording: @jonathanbossenger, video creation @agiljulio

Module 2: Advanced Hooks

Script writing: @CrochetFeve0251, video creation @jonathanbossenger

Module 3: Advanced Blocks

Script writing and video creation @jonathanbossenger

This module has been published 🎉

Module 4: Advanced WP REST API

(TBC)

Module 7: Custom database tables

Script writing and video creation @MichelleBlanchette

Module 15: Publishing Plugins

Script writing @jonathanbossenger, video creation @eirichmond

Thank you to all contributors involved.

@MichelleBlanchette
Copy link

Audio + video first draft for Module 07, Lesson 01: Creating & Managing Custom Tables is ready for review:
wptrainingteam/learn-wp-content#17

Welcoming all collaborators' feedback! 🌟

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

No branches or pull requests