# 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/testing.md)
- [Visual Regression Tests](https://support.greenpeace.org/planet4/nro-customization/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.
- [Cloudflare](https://support.greenpeace.org/planet4/infrastructure/cloudflare.md): Our CDN piece of infrastructure, tunneling all traffic to P4 websites
- [Environment Variables](https://support.greenpeace.org/planet4/infrastructure/environment-variables.md): How to add and use a new environment variable
- [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)
