Skip to content
Kaspars Dambis edited this page May 25, 2020 · 8 revisions

Welcome to the VIP Go site documentation!

The readme.md in the site template is used for documenting the day-to-day tasks and processes while this wiki covers the actual process of setting up a site the VIP Go platform.

Migration Checklist

This is a step-by-step guide to migrating a website to the VIP Go platform:

TODO.

WordPress.com VIP Shared Plugins

The WPCOM VIP platform provides a shared plugin repository for plugins that are available globally for all themes, and can be loaded using wpcom_vip_load_plugin().

On the VIP Go platform the plugins inside themes are no longer supported and must be added as project-wide dependencies under /plugins of the site repository.

XWP provides a Composer registry for these shared VIP plugins at https://xwp.github.io/vip-wpcom-plugins/ (with source on GitHub) so that they can be defined as theme or project-level dependencies.

On VIP WPCOM the dependencies had to be defined at the theme level so the shared plugins can be defined in the composer.json of the theme if the theme is also added as a dependency to the VIP Go site project. Alternatively, the VIP shared plugins can be "required" in the composer.json of the VIP Go site:

  1. Define the custom repository for the VIP Shared plugins in composer.json:

    { "repositories": [ { "type": "composer", "url": "https://wpackagist.org" }, { "type": "composer", "url": "https://wpackagist.org" }, { "type": "composer", "url": "https://xwp.github.io/vip-wpcom-plugins" } ] }

in addition to Packagist and the WordPress Packagist in this example.

  1. Require the necessary plugins:

    composer require xwp-vip-wpcom-plugins/PLUGIN_DIRECTORY_NAME

where PLUGIN_DIRECTORY_NAME is the directory name of the plugin in the shared VIP plugin SVN repository. See the list of the available packages.

Reference the SVN revision number to load the plugin at a specific revision:

 composer require xwp-vip-wpcom-plugins/PLUGIN_DIRECTORY_NAME@12345

where 12345 is the revision number for that plugin directory.

The Composer package repository is synchronised with the VIP SVN repository automatically every week.

Plugin and Theme Updates

Using Composer for managing WordPress plugin and theme dependencies allows us to utilize most of the existing GitHub dependency bots for keeping them updated. These bots track dependency updates and open pull requests which trigger CI test runs.

Here are some of the GitHub bots that support Composer:

Dependabot supports private packages and git sources.

Clone this wiki locally