New Feature: Insights & Metrics

In December, we announced the availability of our Insights & Metrics panel. Thanks to your feedback, we have diligently improved the experience and are proud to announce new features and improvements today.

Your site is vital to your business. That’s why you partner with WordPress VIP. Application Insights & Metrics gives you the visibility and tools you need to accurately assess the performance and stability of your applications.

Many of you have used this feature in beta to better understand how your application performs directly from the VIP Dashboard. Here is a short demo of what both new and returning users can expect with the official release of Insights and Metrics.

You may have noticed significant improvements to time selection in the demo. We frequently heard the need for more precise controls, and now you have them–including the ability to share a link to a specific time period for improved collaboration.

There are hundreds of metrics you can look at to access your site. The Insights & Metrics panel is designed by our WordPress experts to put the most important numbers at your fingertips. 

The Insights & Metrics panel shows metrics for:

  • Origin response time – measure how fast your application responds.
  • Origin and Edge response codes – quickly track down any application errors.
  • PHP Process – understand application load.
  • Slow MySQL queries – zero in on queries slowing down your users.
  • Cache hit rate – ensure that your application takes full advantage of the VIP’s edge CDN.

To get started, log in to your account on the VIP Dashboard and select “Performance” then “Insights & Metrics” for any application. 

Read our documentation on the Insights & Metrics panel.

And we aren’t done yet. In the coming weeks, we will begin a closed beta of anomaly detection to highlight when important metrics move beyond historical norms.

Important Update: Changes to Email Sending Policy for Your VIP Applications

As part of our ongoing commitment to maintaining robust and secure email-sending practices, we want to communicate an important policy update that will affect how your applications send emails.

New Requirement: Domain Mapping and Verification 

To ensure the integrity and deliverability of emails sent from applications hosted on WordPress VIP, it is now mandatory for all sending domains to be verified and mapped through the VIP Dashboard. A domain must be mapped to the environment from which the emails are sent. Mails sent from unmapped and unverified domains will soon be rejected. 

For detailed guidance on mapping and verifying your domains, please visit: https://docs.wpvip.com/domains/verification/

Requirement: Domain SPF, DKIM, and DMARC DNS Configuration

As explained in previous communications (listed below), the primary changes required for email deliverability are the configuration of SPF, DKIM, and DMARC DNS records for each mapped & verified domain being used to send emails on VIP.

Phasing out: Header Rewrites

Up to now, for emails sent from your VIP environments using unmapped domains, we  have been rewriting the “FROM” header to `donotreply@wpvip.com` as a temporary measure. This was intended to provide some leeway while transitioning to the new requirements. However, to align with best practices and improve service standards, this will be phased out according to the following schedule:

  • Starting March 5 2024: Email sent from non-production VIP servers with unmapped domains  will be rejected.
  • Starting April 1 2024: We will extend this policy for all production environments, rejecting all email from domains that are not correctly mapped to VIP.

Action Required

To avoid disruption to your outgoing email, please ensure that you complete domain mapping and verification , as well as any required DNS security changes before the above-stated deadlines. 

Support and Questions

We understand that this policy update may require you to make specific changes to your current setup. Our team is fully prepared to assist you with a smooth transition. If you have any questions or need support, please feel free to open a support ticket, and we will be happy to help.

Advance Notice: Domain Verification Required for New Domains

At WordPress VIP, we have an ongoing commitment to be the world’s most secure WordPress platform. As part of that commitment, we are pleased to announce secure domain verification. From February 27, 2024, a verification step will be required for all domains added to our platform. Any domains previously added to our platform (legacy domains) are already considered verified, and will not require this step.

To verify a domain you must add a specific TXT record to the domain’s DNS record. The WordPress VIP platform will check for the correct TXT record and update the verification status. Our Domain Verification tool will guide you through the process, and can be found in the VIP Dashboard Domains & TLS panel. You can view the verification status of each domain in the “Verification” column.

Until a new domain has been verified, you will not be able to use it on our platform. Unverified domains cannot receive traffic, provision Let’s Encrypt certificates, be used in our launch tooling, or be used to send emails.

New Relic Management in the VIP Dashboard

We’re excited to announce an enhancement to our VIP Dashboard: Management capabilities of your applications APM from New Relic. This integration simplifies managing New Relic APM for both production and non-production environments, offering a seamless experience in monitoring and optimizing your application’s performance.

New Features at Your Fingertips

  • Easy Activation: Activate New Relic APM for your Production and Non-Production environments directly from the VIP Dashboard.
  • User Access Management: Effortlessly manage who has access to New Relic tools within your team.
  • Flexible Testing in Non-Production: Enable New Relic for continuous 7-day periods in non-production environments, perfect for thorough testing and analysis.
  • Uninterrupted Monitoring in Production: In Production environments, New Relic can be either permanently on or off, offering consistent monitoring without time constraints.

What to Expect

Upon activation, a New Relic entity is created for your application, and New Relic begins sampling HTTP requests. Please note, this may have a minimal impact on application performance, but the insights gained are invaluable for optimizing your user experience.

Ready to Enhance Your New Relic experience?

Get started by navigating to the New Relic section, located under “Performance” in your VIP Dashboard. For more detailed information, please check our documentation. If you’re activating New Relic for your Node.JS application please see our documentation for more advice on how to start reporting data from your application. 

Questions or Need Support?

If you have any questions or require assistance, our support team is always ready to help. Open a support ticket, and we’ll ensure your experience with New Relic APM is smooth and beneficial.

Announcing Enhanced Database Access with phpMyAdmin

Great news: We’re enhancing your database management capabilities by introducing read access to phpMyAdmin for all your environments. This user-friendly frontend tool will provide convenient read-only access to your database. 

Getting Started

To get access to phpMyAdmin you need to make sure to update your VIP-CLI to the latest version by running the following command:

npm install -g @automattic/vip

Once you’re at least on version 2.38.0 or higher you can simply run the following command:

vip db phpmyadmin @APPID.Environment

Check out our documentation for instructions on accessing and using phpMyAdmin through the VIP-CLI.

The introduction read-only access to your database through phpMyAdmin marks a pivotal moment in our continuous effort to provide advanced tools and features that cater to the evolving needs of our customers. It embodies our commitment to enhancing the development experience, offering a sophisticated yet user-friendly platform for efficient database management.

Need Help or Have Questions?

If you encounter any issues or have questions about using phpMyAdmin, our support team is here to assist. Please open a support ticket, and we’ll help ensure a smooth experience.

Cloud development environments with GitHub Codespaces

We’re excited to announce our cloud development environment implementation, based on GitHub Codespaces. This new type of development environment allows our customers to move faster and integrate their work directly with their code repositories.

This implementation will empower you to start developing immediately, without having to install and configure any software on your computer. Code from any device, you don’t even have to have a computer to develop.

GitHub Codespaces is a powerful feature that allows users to spin up development environments in the cloud in mere minutes.

Codespaces unlocks exciting possibilities like quickly sharing the results of your work with other members of the team or stakeholders and even pair programming (utilizing LiveShare). It’s much easier to share a link to your codespace than recording a demo or having a call to run a live demonstration.

Codespaces can be run in-browser or within select IDEs like Visual Studio Code and Jetbrains IDEs.

What’s included?

WordPress VIP implementation with GitHub Codespaces is packed with all the features you can find in the VIP Local Development Environment including XDebug, Mailpit, Photon, phpMyAdmin, Elasticsearch, and Cron. We provided conservative default values, many of these optional services are disabled by default, the configuration can be tweaked in features key of ‘devcontainer.json’.

Tooling like WP-CLI, latest LTS version of Node.js, and latest VIP-CLI is preinstalled for your convenience.

We’ve designed it in a way to be extensible so you can add your own features (including privately published ones), further tailoring your cloud development workflow to your needs.

Who’s it for?

We don’t intend this tool to be a replacement for VIP Local Development Environments, both products will receive the same level of support. Each has their own primary use-cases.

Using the VIP Local Development Environment would be preferred in the following scenarios:

  • The lack of a steady internet connection.
  • Running an Elasticsearch instance. It’s very resource intensive and requires at least 4 cores in Codespaces.
  • Have company policies preventing you from having the data on third-party services (in this case, GitHub.) 

Using codespaces will help with the following cases:

  • Inability to install or run Docker and Node.js. For example, for compliance and security reasons some companies disallow installing Docker. This is not an issue when using Codespaces since you’re not installing anything at all.
  • Quick access to work-in-progress features. All it takes is setting the visibility of the codespace to `public` and sharing a public link.
  • LiveShare makes it extremely easy to participate in pair programming sessions.

Find out more about our support on GitHub Codespaces in the documentation.

Use of Codespaces within the ‘wpcomvip’ GitHub organization is available as a part of our Enhanced and Premier packages. Please open a support ticket and our team will get you set up.

To work with Codespaces outside of the wpcomvip organization, customers can copy the .devcontainer/devcontainer.json file to their own GitHub repository. Each user gets up to 180 hours of compute free. Please refer to the Codespaces billing page for more details.

Better control around your deployment branches

We’re happy to unveil a significant advancement in code management: the Repository Management feature inside the VIP Dashboard. This new tool will accelerate your development and testing workflows by giving you the autonomy to take instant actions around your environments. 

Repository Management allows you to modify the branches from which we deploy your environments, offering a tailored and flexible approach to your project’s needs, without the need to go through our support. We’ve empowered you to take decisive action, toggle it yourself, and keep on deploying cool things. 

How to Get Started

To start using Repository Management, simply access the VIP Dashboard, go to Code, and select ‘Repository Management’. From there, you can choose your preferred deployment branch. For detailed instructions, please refer to our Repository Management Documentation.

Need Assistance?

As always, we’re here to help. If you have any questions or need support with Repository Management, please open a support ticket, and our team will be glad to assist you.

New Release: GraphQL for Block Data API

The Block Data API has been successfully serving millions of requests a day, and it is just getting better. We are excited to announce you can now retrieve Block Data via GraphQL.

What is the Block Data API?

The Block Data API is an API for retrieving block editor posts structured as pure JSON data, eliminating the need to parse HTML to get just the data you need. While primarily designed for use in headless architectures with WordPress, the Block Data API can be used anywhere a developer needs to represent block markup as structured data.

If you aren’t familiar with the Block Data API, you can read a full overview on what it does and how it works.

What is GraphQL?

GraphQL is an open-source data query and manipulation language. With GraphQL, developers can request the specific, typed data they need more efficiently than with a traditional REST API.

How do I activate the Block Data API with GraphQL?

Our documentation has instructions on activating the API. The plugin README has information on how to integrate with the WPGraphQL plugin to provide a GraphQL API

Where can I find more information/documentation?

The project Readme has comprehensive information on the Block Data API and its functions.

VIP Coding Standards 3.0.0 is now available

VIP Coding Standards (VIPCS) 3.0.0 is now available.

What is VIPCS?

VIPCS focuses on providing developers with feedback about their code, specifically around security, performance, and compatibility with the VIP platform. It is a package for PHP_CodeSniffer (PHPCS), and it builds upon parts of the WordPress Coding Standards (WordPressCS) package, in addition to adding some custom checks (sniffs).

VIPCS is strongly recommended for use during the development of applications which are to be run on the VIP platform. PHPCS + VIPCS can be used on a local machine or as part of a Continuous Integration (CI) task.

VIPCS is also used by the VIP Code Analysis Bot. The bot will be updated to use VIPCS 3.0.0 and WordPressCS 3.0.0 on 25th September 2023. This allows developers to run VIPCS locally and update their code (or PHPCS ignore annotations) to comply before the bot gives updated feedback on pull requests.

What’s changed in VIPCS 3.0.0?

VIPCS 3.0.0 fixes a few small items but mainly adds compatibility with WordPressCS 3.0.0. This also means that PHPCS checks with VIPCS can now be run using the latest versions of PHP, regardless of which version of PHP you run your VIP application on.

As a major release, it includes breaking changes, including some renamed error codes and removing three deprecated sniffs; see the changelog for more information.

Also, remember that WordPressCS 3.0.0 has its own breaking changes, which may also affect you when using VIPCS 3.0.0.

What does the roadmap for VIPCS look like?

We quietly released VIPCS 2.3.4 on 24th August 2023. This release contained four fixes and a lot of maintenance items. This will be used by the VIP Code Analysis bot from 11th September 2023 (for two weeks). 

Development of VIPCS will continue in the 3.x branch from now on. The 2.x series will no longer receive updates.

VIPCS 4.0 is expected to consolidate the currently-nested rulesets into a newly-named standard (breaking change) and modernise all the custom sniffs to account for new PHP syntaxes, making more use of PHPCSUtils. There is no timeline for this yet.

What is WordPressCS?

The coding standards package for the WordPress community, WordPressCS, has had a new release. This 3.0.0 release is the culmination of many hours of work to greatly improve the ability and accuracy of engineers to match their code to the PHP coding standards for WordPress. It includes adding sniff support for modern PHP syntaxes and new rules that show how modern syntax should be used based on a post from 2020. As a major version release, it contains its own breaking changes.

You can read more about the WordPressCS changes in this Make WordPress Core post.

Comprehensive upgrade guides are also available for end-users/ruleset maintainers and for developers of coding standards (like VIPCS) which build on top of WordPressCS.

While VIP doesn’t require that customer application code follow the coding style for WordPress, we recommend that customers use it. Our experience has shown a benefit to following the WordPress Coding Standards as closely as possible so code from different developers (internal to the customer or agency and via third-party plugins) looks similar, making the code easier to understand.

Feature Announcement: Deployments Rollbacks

As a developer, dealing with the unexpected is one of the most challenging aspects of managing an application. Knowing you can quickly rollback to known-good code when something goes wrong in your application can be a lifesaver, and that’s why we’re thrilled to offer deployment rollbacks to you.

Screenshot from VIP Dashboards confirmation screen for deployment rollbacks

Our rollback feature lets you quickly and easily revert to a previous deployment. The VIP Platform retains images for the last six deployments of your production environments and the last three deployments of non-production environments. If you encounter any unexpected issues with a recent deployment, you can immediately roll back to a stable version of your application and minimize any disruption to your business.

Note: this feature only allows you to roll back code changes and not the database, which can be rolled back separately. Find out more in our documentation.

We understand the importance of uptime and stability for our users, and this feature is just one of the many ways we are working to ensure our platform meets your needs.

We are excited to hear your feedback on this new feature and encourage you to try it out. As always, we are committed to delivering the best possible experience for our users, and this feature is just one of the many ways we’re working towards that goal. Stay tuned for future updates that help streamline your development workflows.