Tide is a series of automated tests run against every pluginPluginA 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 and theme in the directory and then displays PHPPHPPHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. https://www.php.net/manual/en/preface.php. compatibility and test errors/warnings in the directory.
Reminder that the current Tide focus is integrating PHPPHPPHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. https://www.php.net/manual/en/preface.php. Compatibility data from Tide into WordPress.orgWordPress.orgThe 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/. Once PHP Compatibility is integrated into WordPress.org, we’ll assess the next focus to provide the biggest impact to the community.
1.0.0 planning
As noted last week (and the week before), the GitHubGitHubGitHub 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/ repo is setup with 1.0.0 and Future Release release labels, will continue to work through the 1.0.0 items and appreciate any additional contributions on those labeled issues
Repo decommissioning + deleting
As noted previously, we decommissioned several repos for the alpha version of Tide from WCUS 2017 and have opened issues noting that we’ll be actually deleting those repos shortly, namely:
Note that none of those repos are still relevant to the 1.0.0-betaBetaA pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. version of Tide and can cause confusion when people view those repos while trying to setup and run Tide locally
Please call out any questions or concerns about fully deleting those repos here or on the issues linked above
Setup + testing feedback
When testing the Tide local setup, use this branch as it addresses the issue where the Lighthouse image was failing to build
Looking for feedback from anyone who has been able to attempt the setup and running of Tide locally
For those who get the time to run through the local setup and can provide feedback (positive or negative), then we’d appreciate the contribution!
Next meeting
The next meeting will take place on October 2, 2018 at 20:00 UTC in the #tide Slack channel. Please feel free to drop in with any updates or questions. If you have items to discuss but cannot make the meeting, please leave a comment on this post so that we can take them into account.
Reminder that the current Tide focus is integrating PHPPHPPHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. https://www.php.net/manual/en/preface.php. Compatibility data from Tide into WordPress.orgWordPress.orgThe 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/. Once PHP Compatibility is integrated into WordPress.org, we’ll assess the next focus to provide the biggest impact to the community.
1.0.0 planning
Looking for feedback on people setting up / using v1.0.0-betaBetaA pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process.
With GitHubGitHubGitHub 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/ issues fully scrubbed, looking to see who is able to contribute to items labeled as 1.0.0
Challenge issued to those following along to try setting up Tide v1.0.0-beta locally and providing feedback
Next meeting
The next meeting will take place on September 25, 2018 at 20:00 UTC in the #tide Slack channel. Please feel free to drop in with any updates or questions. If you have items to discuss but cannot make the meeting, please leave a comment on this post so that we can take them into account.
Reminder that the current Tide focus is integrating PHPPHPPHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. https://www.php.net/manual/en/preface.php. Compatibility data from Tide into WordPress.orgWordPress.orgThe 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/. Once PHP Compatibility is integrated into WordPress.org, we’ll assess the next focus to provide the biggest impact to the community.
1.0.0 planning
1.0.0 and Future Release labels now added to GitHubGitHubGitHub 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/ issues in the wptide repos
Issues opened noting the intent to delete repos that have been deprecated with the 1.0.0-beta release (tide-local, audit-server, sync-server, lighthouse-server, api) and will be deleted during the 1.0.0-beta2 release
Theme ruleset
Discussion with @joyously on being able to utilize Tide and the WPThemeReview repo and ruleset to help automate Theme Reviews
Update from @jrf that Theme Review will become a stand-along project consisting of a Theme Review specific PHPCSPHP Code SnifferPHP Code Sniffer, a popular tool for analyzing code quality. The WordPress Coding Standards rely on PHPCS. ruleset WPThemeReview using sniffssniffA module for PHP Code Sniffer that analyzes code for a specific problem. Multiple stiffs are combined to create a PHPCS standard. The term is named because it detects code smells, similar to how a dog would "sniff" out food. from PHPCS, WPCSWordPress Community SupportA public benefit corporation and a subsidiary of the WordPress Foundation, established in 2016., PHPCompatibility (probably) and some Theme Review native sniffs
@jrfcleaning the repo out, when done the repo can be pulled in using Composer and the WPThemeReview ruleset could be used by Tide for themes
Next meeting
The next meeting will take place on September 11, 2018 at 20:00 UTC in the #tide Slack channel. Please feel free to drop in with any updates or questions. If you have items to discuss but cannot make the meeting, please leave a comment on this post so that we can take them into account.
Reminder that the current Tide focus is integrating PHPPHPPHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. https://www.php.net/manual/en/preface.php. Compatibility data from Tide into WordPress.orgWordPress.orgThe 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/. Once PHP Compatibility is integrated into WordPress.org, we’ll assess the next focus to provide the biggest impact to the community.
1.0.0 planning
1.0.0-beta announced earlier this summer, beginning discussion on items worth including in release candidateRelease CandidateA beta version of software with the potential to be a final product, which is ready to release unless significant bugs emerge.(s) and an eventual release of Tide 1.0.0
Likely to include upgrade to WPCSWordPress Community SupportA public benefit corporation and a subsidiary of the WordPress Foundation, established in 2016. v1.0+, polish docs, complete APIAPIAn API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. to integrate with .ORG, update API to note which version of the standard the audit used
Will use next week tidechat time slot to scrub GitHubGitHubGitHub 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/ issues and label items ideally within the 1.0.0 release
Theme and pluginPluginA 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 rulesets
Important to begin working on expanding to specific rulesets for plugins and themes so that we’re not just using the full WordPress CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. ruleset when auditing plugins and themes
This is something we’re looking to the community to help with and hope that we can get direct feedback and assistance from the Plugin and Theme Review teams
If you have interest and availability to assist on this, then please reach out in #tide or pingPingThe act of sending a very small amount of data to an end point. Ping is used in computer science to illicit a response from a target server to test it’s connection. Ping is also a term used by Slack users to @ someone or send them a direct message (DM). Users might say something along the lines of “Ping me when the meeting starts.”@jeffpaul or @valendesigns directly
In order to release Tide 1.0.0 we want to include a custom ruleset
Next meeting
The next meeting (note focus on bugscrub) will take place on August 21, 2018 at 20:00 UTC in the #tide Slack channel. Please feel free to drop in with any updates or questions. If you have items to discuss but cannot make the meeting, please leave a comment on this post so that we can take them into account.
Reminder that the current Tide focus is integrating PHPPHPPHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. https://www.php.net/manual/en/preface.php. Compatibility data from Tide into WordPress.orgWordPress.orgThe 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/. Once PHP Compatibility is integrated into WordPress.org, we’ll assess the next focus to provide the biggest impact to the community.
Contributors mostly discussed what Tide is and the GCP setup and capacity over AWS
There we a couple PR’s that came out of Contributor Day
@grapplerulrich did a great job leading the team while @valendesigns had focus split getting the final GCP issues ironed out
GCP migrationMigrationMoving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. & .ORG integration
The migration to GCP is for the most part complete. Now that we’re in v1.0.0-beta we only have a couple of issues to fix.
There are docs that need to be tested and updated, a duplicate audits issue where Firestore is not locking the message quick enough and other kubernetes pods are running the same audits more than once (not on every item but enough to be an issue), and the endpoint for .ORG that allows a push instead of pull architecture (this code is written but @valendesigns need to test and merge).
Seeing a lot more capacity over AWS, maybe 8-10 times more. We were doing at peak around 1.3-1.8k an hour on AWS and on GCP we were doing 12-13.4k an hour.
When all of the issues mentioned above are sorted we will release v1.0.0 and plan to do a few RCRelease CandidateA beta version of software with the potential to be a final product, which is ready to release unless significant bugs emerge.’s until they are addressed
@jeffpaul to open issue for item that @grappIerulrich found that is not working, if anyone else runs into issues, please open issues in GitHub
Theme and pluginPluginA 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 rulesets
This was discussed some at WCEU, but the idea is to create a ruleset for auditing WordPress themes and another for WordPress plugins. The complete WPCSWordPress Community SupportA public benefit corporation and a subsidiary of the WordPress Foundation, established in 2016. ruleset isn’t quite the best approach for plugins and themes individually, so we’re considering creating a ruleset specific to each.
@grapplerulrich looking to run the subsets instead of the whole `WordPress` ruleset? These would be `WordPress-CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress.`, `WordPress-Docs` and `WordPress-Extra`. This would give us more fine tuned results and exclude `WordPress-VIP`. If we make the change now then we will have a few plugin version to be able to understand the trend.
We had a conversation with roughly 10 or so contributors on Saturday and the work @jrf has done could be used as the base for targeting plugins/themes. It’s going to need a lot of discussion but some of the heavy technical lifting has already been done.
We’ll likely look to open upstream issues with WPCS to further the discussion on this topic, we’ll share those issue links here once they’re created.
General announcements
In order to accommodate a wider audience, we’ll be moving the Tidechat one hour earlier starting next week, so we’ll now meet weekly at 20:00 UTC.
Next meeting
The next meeting will take place on July 3, 2018 at 20:00 UTC in the #tide Slack channel. Please feel free to drop in with any updates or questions. If you have items to discuss but cannot make the meeting, please leave a comment on this post so that we can take them into account.
At WordCampWordCampWordCamps are casual, locally-organized conferences covering everything related to WordPress. They're one of the places where the WordPress community comes together to teach one another what they’ve learned throughout the year and share the joy. Learn more. US last December we introduced Tide. Tide was our reaction to what we, and many other in the WordPress community, believe is critical to the future of the Open Web. A future where the standard of code in WordPress is high and its users can be confident in its performance, security, reliability, and accessibilityAccessibilityAccessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility). Tide is a very practical solution to achieving this, ultimately improving the quality of code across the web. The WordCamp US announcement represented the proof of concept stage for Tide and helped highlight ways in which updating WordPress plugins and themes based on WordPress Coding StandardsWordPress Coding StandardsThe Accessibility, PHP, JavaScript, CSS, HTML, etc. coding standards as published in the WordPress Coding Standards Handbook.
May also refer to The collection of PHP_CodeSniffer rules (sniffs) used to format and validate PHP code developed for WordPress according to the PHP coding standards. could make the open web more performant, secure, reliable, and accessible. Since then, we’ve been spending time reviewing feedback from WCUS, meeting weekly with the community, and enhancing Tide based on what we’ve learned.
Tide’s vision is inspired by the proverb “A rising tide lifts all boats”, when we lower the barrier of entry to writing and choosing quality code for enough people, it will lift the quality of code across the whole WordPress ecosystem. Tide helps to make it easier to improve the quality of code throughout the WordPress ecosystem and help WordPress site owners make better choices about plugins and themes.
As of today, we’re excited to announce Tide 1.0.0-betaBetaA pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process., now available on GitHub and at wptide.org. This version adds Google Cloud Platform (“GCP”) and local-only infrastructure support, integrates Lighthouse performance analysis, and provides documentation for the entire platform to help onboard contributors and developers looking to improve their own code. Please update any forked repositories or local instances of the previous version of Tide as it will be deprecated later this month.
GCP migrationMigrationMoving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies.
The prototype version of Tide from WordCamp US was based on Amazon Web Services (“AWS”), but with the release of Tide 1.0.0-beta we’ve migrated to GCP and have rewritten the Tide services in the Go programming language. This helps to provide a better integration point with WordPress.orgWordPress.orgThe 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/ as the GCP environment and Go services are more performant and cost effective. This is the first step towards WordPress.org integration.
You can find the code for Tide on GitHubGitHubGitHub 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/ at https://github.com/wptide/wptide.
Local-only option
In order to minimize the needs for developers or contributors to setup GCP or AWS infrastructure to use Tide, we’re providing a local-only option. This way you can run all the Tide services locally on your computer and not need to rely upon or pay for anything additional. Note that for now we’ve only fully tested on MacOS, so non-MacOS setup and usage will vary a bit until we can test across non-MacOS platforms and provide resolutions to any issues there. In order to run Tide locally, you’ll need Composer, Docker, Go, and Glide; additionally for Windows you’ll need Make installed based on our testing so far. Full setup instructions are available in the Tide documentation (see below).
Lighthouse integration
Along with the WordPress Coding Standards and PHP Compatibility results for plugins and themes in the Tide APIAPIAn API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways., we’ve also added support for Google’s Lighthouse auditing to include performance, accessibility, and other results for themes in the Tide API.
Documentation
The prototype version of Tide from WordCamp US was built as a proof-of-concept and had limited documentation; what did exist then was mainly within the README file for setup instructions on AWS. For 1.0.0-beta, we’ve significantly extended the documentation to include installation instructions for GCP and the local-only option, details on the various Tide services (API, Sync Server, PHPCSPHP Code SnifferPHP Code Sniffer, a popular tool for analyzing code quality. The WordPress Coding Standards rely on PHPCS. Server, Lighthouse Server), working examples of the Tide API, as well as how to contribute to better utilize and improve Tide.
The next step on the Tide roadmap is working with the WordPress.org systems team to integrate the PHPPHPPHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. https://www.php.net/manual/en/preface.php. Compatibility results from the Tide API into the WordPress.org repository database so that it can be displayed on pluginPluginA 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 and theme pages. You can follow along via the roadmap we’re establishing at https://github.com/wptide/wptide/wiki/Roadmap. Note that we’re using ZenHub to manage Tide’s product development process and that you may need to install the ZenHub Browser Extension to see all the details within the Tide roadmap.
This plan represents what will take Tide from concept to practical application for the WordPress community. If you have feedback for the WordPress.org integration, then please comment in GitHub or ZenHub. If you have ideas or feedback on future Tide roadmap ideas, then please add those as GitHub Issues at https://github.com/wptide/tide-issues/.
Contributions
Thank you to everyone who contributed to Tide 1.0.0-beta:
Please join us for our weekly meeting on Tuesday’s at 21:00 UTC in the #tide channel in WordPress SlackSlackSlack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/.. See you then!