Improving DevHub Code References

Today we deployedDeploy Launching code from a local development environment to the production web server, so that it's available to visitors. some changes to DevHub. These changes focused on making the code references easier to use, understand and navigate. You can read more about the changes in @tellyworth’s post Exploration: improving DevHub.

If you find any issues or have any feedback/suggestions on how we can further improve the code reference you can file a meta ticket or check out the GitHub repository.

Thanks!

cc +make.wordpress.org/docs/ +make.wordpress.org/core/

#docs #devhub

Exploration: improving DevHub

Recently some of us on the MetaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. team did some experimenting with hypothetical changes to the WordPress Developer Docs, especially the function reference. As developers and frequent users of the docs, we’re aware of its shortcomings and potential for improvement. In order not to risk breaking anything and give ourselves freedom to make significant changes, we forked the codebase into an experimental repo.

The changes we came up with turned out to be quite solid and sensible, and I think most of them are good enough for production. Since they were made as unilateral experiments, we’d like to hear feedback from the +make.wordpress.org/docs/ team and community in general as to what should happen next. You’ll find an outline of some of the most notable changes below.

A local development environment

We started by setting up a fresh repository with a fork of the necessary code, including the Handbook pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party, phpdoc-parser, and the current theme. The repo contains a complete local Docker environment, so you can run a copy on your local machine to develop and test changes. The local environment imports function reference content by parsing phpdocs just like in production; and it also imports some handbook content from GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/. It doesn’t import all handbook content, but there’s enough for testing purposes.

Visible changes

Here’s a typical function reference page you’ve probably seen before: get_posts(). I’ve highlighted some of the more visible things we changed:

Before
After

And below the fold on a function like wp_authenticate():

Before
After
Continue reading

#devhub, #docs

No DevHub chat this week

We won’t be having a DevHub chat this week. I will be unavailable to run the chat and it sounds like @coffee2code won’t be available either. Chats are normally held on Tuesdays at 18:00 UTC in the #meta-devhub channel.

We’ll pick up scrubbing the remaining tickets in the DevHub component report next week at the usual time and place.

#devhub, #meta-devhub

developer.WordPress.org Specification

developer.WordPress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ is a new portal for WordPress developers. It will provide educational tools to teach people about WordPress development (in the form of handbooks) and a reference for the WordPress codebase (the code reference).

Goals

developer.WordPress.org has several goals:

  • improve current resources for developers
  • encourage best practices in WordPress development
  • educate new developers

If the site succeeds at encouraging best practices in WordPress development, a potential side-effect is an improvement in users’ experience of third party plugins and themes.

Stakeholders

The primary team identified as a stakeholder is the docs team. However, three other teams are associated stakeholders and their input will be used in the development of the resources. They are: coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress., themes, and plugins. The net result of a successful implementation means improved documentation and educational information for new, intermediate, and experienced developers, ultimately affecting the entire project.

@siobhan has volunteered to own this project.

@samuelsidler will project manage and work with the above stakeholders (e.g., communicate with the team reps from each team).

Solutions

We’ve identified two features of the developer portal that will complete the goals of this project:

  1. developer handbooks
  2. code reference

To ensure we complete our goals, we’ll use the following metrics:

  • stats from the both the code reference and handbooks to ensure they’re being used
  • feedback from the development community by way of surveys, comments, and weekly meetings
  • full testing of handbooks by amateur developers; they should be able to work through the handbooks and achieve the individual handbook’s goal by the end.

Components

developer.WordPress.org can be broken up into three components, each with their own specific tasks.

Design

Designs need to be created for:

  • main landing page
  • handbook landing pages
  • individual handbook pages

Completed Steps:

Next Steps:

Handbooks

Two handbooks are currently in progress and are pivotal to the success of this project. Both are being spearheaded by @hanni.

Other handbooks have been proposed, but are not required to complete this project:

  • Introduction to WordPress Development
  • Server Configuration for WordPress
  • Building Networks with WordPress MultisiteMultisite Multisite is a WordPress feature which allows users to create a network of sites on a single WordPress installation. Available since WordPress version 3.0, Multisite is a continuation of WPMU or WordPress Multiuser project. WordPress MultiUser project was discontinued and its features were included into WordPress core.https://codex.wordpress.org/Create_A_Network.

developer.WordPress.org should launch with the theme and pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party developer handbooks complete. More contributors are needed in this area to assist with writing, developing, editing, and testing the handbooks.

Next Steps:

  • review current handbook content
  • push handbooks to developer.wordpress.org with basic design (as seen on core contributor handbook); starting with theme dev handbook which is furthest along
  • @hanni to draw up further plans

Code Reference

Development of the code reference is currently in progress.

Completed Steps:

Next Steps:

The inline docs are going to be updated by the core team in 3.7 to ensure that we get a good output. Once the alpha is up and running we’ll need a team around making improvements to it. This will include:

  • ongoing development of the parser
  • extending the functionality (we’ll use meta.tracTrac Trac is the place where contributors create issues for bugs or feature requests much like GitHub.https://core.trac.wordpress.org/. for features, enhancements, bugs, so people can upload patches)
  • testing the workflow to make sure that people can contribute explanations and examples
  • moving relevant information from the Codex
  • having a drive to get people to add information
  • ongoing curation and moderation

#devhub, #projects, #spec