# Planet 4 ## Planet 4 - [Planet 4](https://support.greenpeace.org/planet4/readme.md): Welcome to our Technical Documentation - [Contribute](https://support.greenpeace.org/planet4/development/contribute.md): A quick guide to code contributing - [Installation](https://support.greenpeace.org/planet4/development/installation.md): Get a full Planet 4 development environment to your local machine - [Git Guidelines](https://support.greenpeace.org/planet4/development/git-guidelines.md): This is a summary of Git best practices we follow - [Coding Standards](https://support.greenpeace.org/planet4/development/coding-standards.md): Basic standards and linting configuration - [Continuous Delivery](https://support.greenpeace.org/planet4/development/cd.md): A quick overview of the development cycle - [Test Instances](https://support.greenpeace.org/planet4/ci-cd/test-environments.md): Our Test Swarm for testing and doing UAT - [Deployment](https://support.greenpeace.org/planet4/ci-cd/deployment.md): All the steps need to deploy a new version of Planet 4 - [Testing](https://support.greenpeace.org/planet4/ci-cd/testing.md) - [End-to-end Tests](https://support.greenpeace.org/planet4/ci-cd/testing/end-to-end.md): Testing functionality with End-to-end tests - [Visual Regression Tests](https://support.greenpeace.org/planet4/ci-cd/testing/visual-regression-tests.md): Catching frontend regression bugs - [Development](https://support.greenpeace.org/planet4/nro-customization/development.md): NRO developers starting point - [Using Child Themes](https://support.greenpeace.org/planet4/nro-customization/development/using-child-themes.md): Customize P4 using a child theme - [Package Registry](https://support.greenpeace.org/planet4/nro-customization/development/package-registry.md): Publish a theme/plugin with packagist.org - [Plugins](https://support.greenpeace.org/planet4/nro-customization/development/plugins.md): Add a new plugin in only one NRO site - [Testing](https://support.greenpeace.org/planet4/nro-customization/development/testing.md) - [Visual Regression Tests](https://support.greenpeace.org/planet4/nro-customization/development/testing/visual-regression-tests.md): How to add extra visual regression tests for your website - [Deployment](https://support.greenpeace.org/planet4/nro-customization/deployment.md): NRO specific deployment guides - [Production](https://support.greenpeace.org/planet4/nro-customization/deployment/production.md): How to deploy to your production environment - [DB/Media Sync](https://support.greenpeace.org/planet4/nro-customization/deployment/db-media-sync.md): Sync your Staging/Develop sites with Production - [Kubernetes](https://support.greenpeace.org/planet4/infrastructure/kubernetes.md): Getting started steps for getting an overview of the Kubernets cluster. - [NRO Generation](https://support.greenpeace.org/planet4/infrastructure/nro-generation.md): How to create a new P4 NRO instance - [ElasticSearch](https://support.greenpeace.org/planet4/infrastructure/elasticsearch.md): An intro to the ElasticSearch technology and how Planet 4 uses it. - [Environment Variables](https://support.greenpeace.org/planet4/infrastructure/environment-variables.md): How to add and use a new environment variable - [Cloudflare](https://support.greenpeace.org/planet4/infrastructure/environment-variables/cloudflare.md): Our CDN piece of infrastructure, tunneling all traffic to P4 websites - [Maintenance page](https://support.greenpeace.org/planet4/recipes/maintenance-page.md): Setting up a temporary maintenance page - [Production sync](https://support.greenpeace.org/planet4/recipes/production-sync.md): For the rare cases we want to sync production from the development site - [Running commands](https://support.greenpeace.org/planet4/recipes/running-commands.md): How to run a command across all websites - [Practices](https://support.greenpeace.org/planet4/platform/practices.md): Development team practices and procedures. - [ADRs](https://support.greenpeace.org/planet4/platform/adrs.md): Architectural Decision Records - [\[ADR-0001\] Use Gitbook for Technical Documentation](https://support.greenpeace.org/planet4/platform/adrs/adr-0001-use-gitbook-for-technical-documentation.md): Decided to move to Gitbook all Technical documentation (Development & Infrastructure) - [\[ADR-0002\] P3 Archive elastic search integration](https://support.greenpeace.org/planet4/platform/adrs/adr-0002-p3-archive-elastic-search-integration.md): Regarding the P3 data export, crawling the P3 site and scraping P3 data looks the easiest option compared to fetching data from the P3 database. - [\[ADR-0003\] WYSIWYG Blocks Architecture](https://support.greenpeace.org/planet4/platform/adrs/adr-0003-wysiwyg-blocks-architecture.md): Turn P4 Blocks into WYSIWYG blocks. - [\[ADR-0004\] Switch to Monorepo](https://support.greenpeace.org/planet4/platform/adrs/adr-0004-switch-to-monorepo.md): Deprecate EN block & Media library plugins. Instead integrate those into the main main blocks plugin and master theme respectively. For the time being we will continue with these two main repositories - [\[ADR-0006\] Define scope for deployment environments](https://support.greenpeace.org/planet4/platform/adrs/adr-0006-define-scope-for-deployment-environments.md): Implemented option one. Re-defined the scope and excluded the Develop environment from the release deployment pipelines. - [\[ADR-0008\] PSR-4 Autoloading Standard](https://support.greenpeace.org/planet4/platform/adrs/adr-0008-psr-4-autoloading-standard.md): Implement PSD-4 Autoloading to our two main app repositories (master-theme, plugin-blocks). - [\[ADR-0009\] Include Media Library in master theme](https://support.greenpeace.org/planet4/platform/adrs/adr-0009-include-media-library-in-master-theme.md): Rewrite the code as a part of master theme. - [\[ADR-0011\] PHP Coding Standards](https://support.greenpeace.org/planet4/platform/adrs/adr-0011-php-coding-standards.md): Implement modern and consistent PHP coding standards - [\[ADR-0012\] Use custom SCSS syntax for variables](https://support.greenpeace.org/planet4/platform/adrs/adr-0012-use-custom-scss-syntax-for-variables.md): Use custom syntax for SCSS variables. - [\[ADR-0013\] Choose a ticketing system](https://support.greenpeace.org/planet4/platform/adrs/adr-0013-choose-a-ticketing-system.md): Stay on Jira, revisit idea of moving to GitHub if maintenance of two backlogs feels unmanageable. - [\[ADR-0014\] Choose a testing framework](https://support.greenpeace.org/planet4/platform/adrs/adr-0014-choose-a-testing-framework.md): Switch to Playwright for our one testing framework for e2e tests. - [\[ADR-0015\] Use block templates to build block patterns](https://support.greenpeace.org/planet4/platform/adrs/adr-0015-use-block-templates-to-build-block-patterns.md): Use Block Templates for patterns. Gradually start converting existing patterns. - [\[ADR-0016\] Form Builder data retention policy](https://support.greenpeace.org/planet4/platform/adrs/adr-0016-form-builder-data-retention-policy.md): Enforce a 3 months retention policy. Enable personal data safeguards. - [\[ADR-0017\] Move blocks into the theme](https://support.greenpeace.org/planet4/platform/adrs/adr-0017-move-blocks-into-the-theme.md): Move all code to the theme and retire the plugin. - [Changelog](https://support.greenpeace.org/planet4/platform/changelog.md): This document tracks all notable changes to Planet 4 project, introduced on each release - [2025](https://support.greenpeace.org/planet4/platform/changelog/2025.md): Changelog: 2025 Releases - [2024](https://support.greenpeace.org/planet4/platform/changelog/2024.md): Changelog: 2024 Releases - [2023](https://support.greenpeace.org/planet4/platform/changelog/2023.md): Changelog: 2023 Releases - [2022](https://support.greenpeace.org/planet4/platform/changelog/2022.md): Changelog: 2022 Releases - [2021](https://support.greenpeace.org/planet4/platform/changelog/2021.md): Changelog: 2021 Releases - [2020](https://support.greenpeace.org/planet4/platform/changelog/2020.md): Changelog: 2020 Releases - [2019](https://support.greenpeace.org/planet4/platform/changelog/2019.md): Changelog: 2019 Releases - [2018](https://support.greenpeace.org/planet4/platform/changelog/2018.md): Changelog: 2018 Releases - [Wordpress](https://support.greenpeace.org/planet4/tech/wordpress.md): Following upstream changes - [Blocks](https://support.greenpeace.org/planet4/tech/blocks.md): Development documentation on P4 WYSIWYG Gutenberg blocks - [Plugins](https://support.greenpeace.org/planet4/tech/plugins.md): A list of currently used 3rdparty plugins and a policy for future selections - [Hooks](https://support.greenpeace.org/planet4/tech/hooks.md): List of the Planet 4 hooks - [Data migrations](https://support.greenpeace.org/planet4/tech/data-migrations.md): Running data migrations when needed - [CSS variables](https://support.greenpeace.org/planet4/tech/css-variables.md)