-
Notifications
You must be signed in to change notification settings - Fork 42
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
Promoting and supporting wp-now at WordCamp Europe #28
Comments
I want to think more about it, and I'll update the thread. Some ideas are:
|
I love this discussion! Two largest obstacles are:
Can we figure out a workflow that only involves wordpress-develop zipball? As in, I download the latest trunk, which is already much smaller than what I get by default with It is cumbersome, but teaching people about CLI, GIT, and NPM in a few hours is 10x more cumbersome. |
For the more advanced folks, that sounds great! We could reuse those videos in the docs. |
Oh – a "start contributing in 15 seconds" workflow is larger than WordCamp EU. It would be huge for WordPress as a whole. |
Building on this, one idea:
In the interest of not biting off more than we can chew, we may want to focus on 1-3 Make teams exclusively, and make sure we're successful with them first. |
Yup, sounds amazing. I'll be happy to chat with them once we can come up with such a workflow.
Do you mean "default to what they did a year ago" or something else? Running wp-now on I wonder if the plugin could run NPM is an npm package. Surely it exposes some API. We have a JavaScript runtime in VS Code. Maybe we can so somthing like |
Maybe we could add buttons to that default html page to let people run |
If the goal is to let people start developing without knowledge of Git, NPM, or Composer.. Perhaps one way to solve it is to prepare a zip download that already has all dependencies installed, including NPM modules, Composer modules, and |
@eliot-akira That would be fantastic, especially since we could just put it on a USB stick and not rely on the internet connection at all! The problem is npm might choose to install different versions of the packages depending on your OS and CPU, so a mac M1 user would get different prebuilt binaries than a intel windows user than a linux user. Some libraries have a portable wasm version, some don't. It boils down to the specific WordPress dependency tree – if we're lucky, it's all JavaScript. If we're not lucky, there's plenty of node-gyp stuff. Perhaps there's a way to force installing a portable WebAssembly builds of things, though? If isn't, Another issue is that we'd have to do it for every WordCamp since trunk continues moving forward. That's not that big of a deal, though. CI or GitHub actions could handle that. Actually that would be even better since new contributors could always download the prebuilt thing even outside of WordCamp, and not worry about |
That sounds useful for people with unreliable Internet, e.g., while travelling, or in rural areas. One way to achieve this and still support native binaries, could be to prepare releases for every major OS/CPU combination: Linux/Windows/macOS on x64 and ARM.
Another approach could be for
Given the time constraints, the shortest path may be to prepare a clear set of instructions: how to install everything, and what commands to run to get started. It certainly won't be "15 seconds" though. Git is probably already available on Linux, macOS, and Windows with WSL2. But Composer requires installing PHP, which can be complex and error prone.
Docker seems like the most reliable cross-platform way to ensure a consistent local dev environment with all dependencies ready to go. But then we're back to If we can assume that everyone is running VS Code, it has built-in support for editing within containers. Maybe we could prepare something like vscode-wordpress.
A leaner script could provide the minimum required setup: Git, Node/NPM, PHP, Composer, WP-CLI, and (EDIT: But then again, such a setup can run the dev scripts in |
@eliot-akira These are all great ideas, thank you for sharing! This may end up going in the direction of USB sticks, clearer instructions, and better support for the proper tooling in the end. I'd still like to give the "everything included" approach a shot and see where it takes us. It may not work out, but it should be a good source for insights for this and other Playground-related issues.
PHP.wasm from this repo works with Composer! Using npm, the library, to install packagesI got First, bad news. NPM removed the programmatic API and calling
Now the good news. You can remove the
This code actually installed express! Next step: bundle npm, the library, and run it in VS Code on a machine without node.js installed. Edit: I got it to run in VS Code! I got blocked on another error ( |
Assumptions:
These are the options: Basic: No Docker or npm, many limitations
Upsides:
Downsides:
Intermediate: No docker + bundled npm
Upsides:
Downsides:
Full: Docker-based
Upsides:
Downsides:
|
I'd recommend focusing on 1-2 contributor groups first. It will be difficult to solve everyone's workflow in this first phase. Gutenberg seems like the obvious place to start, without much additional consideration. |
Yeah that's the conclusions I'm reaching too @danielbachhuber. We have two separate topics here:
They may sound similar but are very distinct. Let's focus on 1 and defer to WordPress on 2. |
Increasing the awareness that using GitHub Codespaces is another option to contribute without installing any other tool, directly from the browser. wp-now-github-codespaces.mp4 |
@adamziel @sejas @kozer @wojtekn @katinthehatsite @adamwoodnz Getting https://github.com/WordPress/Learn running with Maybe y'all could focus on Gutenberg and the Themes table (Theme Review Team)? Here's the existing Theme Review Onboarding Guide. |
Gutenberg and Themes sound good @danielbachhuber |
Theme Review:
|
@sejas and I chatted today about the contributors guide he's working on. Here's my suggested structure for it:
With some additional thought, I think we should simply publish it as a Markdown document in this repo, and then Contributor Day team leads can point to it. Having a single document in a GitHub repo means: 1) we can improve upon it as the day goes on, and 2) folks will naturally get acquainted with where the code lives. Also, prior to Contributor Day, we should test our Getting Started guide with a contribution to each team. At Contributor Day, I'd suggest:
Generally, I expect we'll see these scenarios:
I'd suggest prioritizing efforts in this order:
cc @kozer @katinthehatsite @wojtekn and fyi @adamziel |
@adamziel Do you think it'd make sense to solve this with an even more generic 'Using WordPress Playground at Contributor Day' document that lives in https://github.com/WordPress/wordpress-playground ? It could mention testing Gutenberg PRs with the web interface, the Translation Playground, etc., in addition to wp-now and the VS Code extension. |
@danielbachhuber yes! It could also include a guide to translating WordPress using Live Translations and testing themes using online Playground - cc @akirk I’m worried about the windows issues and I’ll allocate some time to help debug them before wceu |
See #28 ## What? Refreshes the Known Issues list in preparation for WCEU ## Why? It's helpful to give new users some heads up about the more obvious issues we already know about.
Thank you all for your help and contribution! |
…ess#28) Load WASM in an iframe instead of a Webworker to work around a Google Chrome out of memory error. This commit enables defering the WASM workload to a configurable backend. It ships with three backends: `iframeWorkerBackend`, `webWorkerBackend`, `sharedWorkerBackend`. The `iframeWorkerBackend` is the default. See WordPress#1 for more details about the Google Chrome crash. **Important!** The iframe must be loaded from another domain to spin a new browser thread. If it's loaded from the same domain, WordPress "server" will run in the same thread that paints the user interface and dramatically slow down all user interactions.
It would be really neat if some WordCamp Europe Contributor Day attendees were able to successfully use
wp-now
or the VS Code extension. Let's use this issue to strategize how we can achieve this. We can create sub-issues as we go, too.cc @sejas @kozer @wojtekn @katinthehatsite @adamziel
Done is:
wp-now
or the VS Code extension as a part of their Contributor Day experience.The text was updated successfully, but these errors were encountered: