From 4103e06898e6e455217dbb62add038cf6b4f5f56 Mon Sep 17 00:00:00 2001 From: Sven Reichel Date: Sat, 30 Nov 2024 15:52:03 +0100 Subject: [PATCH] DOCs: update (#4349) * Updated docs * Update README.md Co-authored-by: Colin Mollenhour * rtd * ignore CNAME in composer install * added git label * added blog posts (releases) * added blog posts (others) * spaces [ski ci] * removed blog posts * Updated modules section - step1: https://github.com/fballiano/awesome-openmage * internal links * minor title * minor change * link to DDEV windows guide --------- Co-authored-by: Colin Mollenhour --- .gitattributes | 2 + .github/labeler.yml | 7 + README.md | 362 +----------------- docs/content/api/rest/resources/customers.md | 78 ++-- docs/content/blog/.authors.yml | 37 ++ .../posts/guides/2022-08-17-observer.md} | 9 + .../posts/guides/2023-01-09-dynamic-blocks.md | 58 +++ .../2023-05-01-customize-your-openmage.md | 134 +++++++ .../releases/2019-12-09-release-19-4-0.md | 33 ++ .../releases/2020-01-30-release-19-4-1.md | 36 ++ .../releases/2020-05-10-release-19-4-2.md | 39 ++ .../releases/2020-05-10-release-19-4-3.md | 19 + .../2020-06-28-release-19-4-4-and-20-0-0.md | 23 ++ .../2020-07-07-release-19-4-5-and-20-0-1.md | 21 + .../2020-08-18-release-19-4-6-and-20-0-2.md | 35 ++ .../2020-09-15-release-19-4-7-and-20-0-3.md | 21 + .../2020-10-20-release-19-4-8-and-20-0-4.md | 31 ++ .../2020-12-29-release-19-4-9-and-20-0-5.md | 21 + .../2021-01-19-release-19-4-10-and-20-0-6.md | 31 ++ .../2021-02-14-release-19-4-11-and-20-0-7.md | 21 + .../2021-04-06-release-19-4-12-and-20-0-8.md | 21 + .../2021-04-20-release-19-4-13-and-20-0-10.md | 29 ++ .../2021-06-25-release-19-4-14-and-20-0-12.md | 21 + .../2021-08-27-release-19-4-15-and-20-0-13.md | 29 ++ .../2022-05-19-release-19-4-16-and-20-0-14.md | 23 ++ .../2022-08-02-release-19-4-17-and-20-0-15.md | 35 ++ .../2022-09-04-release-19-4-18-and-20-0-16.md | 24 ++ .../2022-11-08-release-19-4-19-and-20-0-17.md | 27 ++ .../2022-12-01-release-19-4-20-and-20-0-18.md | 29 ++ .../releases/2022-12-23-release-19-4-21.md | 23 ++ .../2023-01-27-release-19-4-22-and-20-0-19.md | 41 ++ .../2023-02-03-release-19-4-23-and-20-0-20.md | 27 ++ .../releases/2023-08-02-release-20-1-0.md | 58 +++ .../releases/2023-09-05-release-20-1-1.md | 32 ++ .../releases/2023-10-27-release-20-2-0.md | 39 ++ .../releases/2023-12-26-release-20-3-0.md | 34 ++ .../releases/2024-02-09-release-20-4-0.md | 36 ++ .../releases/2024-02-28-release-20-5-0.md | 31 ++ .../releases/2024-04-06-release-20-6-0.md | 20 + .../releases/2024-05-07-release-20-7-0.md | 25 ++ .../releases/2024-05-21-release-20-8-0.md | 23 ++ .../releases/2024-05-29-release-20-9-0.md | 23 ++ .../releases/2024-07-02-release-20-10-0.md | 24 ++ .../releases/2024-07-24-release-20-10-1.md | 28 ++ .../releases/2024-07-27-release-20-10-2.md | 20 + docs/content/developers/changelog/index.md | 7 + .../developers/changelog/new-config.md | 3 + .../content/developers/changelog/soap-wsdl.md | 6 + docs/content/developers/error-pages.md | 2 +- docs/content/developers/mkdocs.md | 5 +- .../content/developers/samples/php-ini.md | 9 + .../content/developers/samples/robots-txt.md | 9 + docs/content/developers/{ => tools}/ddev.md | 64 ++-- docs/content/developers/tools/n98-magerun.md | 16 + .../developers/{ => tools}/phpstorm.md | 7 +- docs/content/users/install/index.md | 6 +- .../{_use-composer.md => use-composer.md} | 12 +- .../users/install/{_use-git.md => use-git.md} | 0 .../{_use-tarball.md => use-tarball.md} | 0 docs/content/users/modules/analytics.md | 17 + docs/content/users/modules/backend.md | 28 ++ docs/content/users/modules/cache.md | 35 ++ docs/content/users/modules/captcha.md | 47 +++ docs/content/users/modules/cron.md | 14 +- docs/content/users/modules/email.md | 3 +- docs/content/users/modules/frontend.md | 38 ++ docs/content/users/modules/images.md | 45 ++- docs/content/users/modules/log-debug.md | 45 +++ docs/content/users/modules/logging.md | 19 - docs/content/users/modules/payment.md | 59 +++ docs/content/users/modules/payment/bitcoin.md | 24 -- docs/content/users/modules/products.md | 12 - docs/content/users/modules/social.md | 12 - docs/content/users/modules/themes/frontend.md | 8 +- .../users/modules/user-guides/swatches.md | 9 + docs_includes/abbreviations.md | 12 +- mkdocs.yml | 61 ++- 77 files changed, 1803 insertions(+), 571 deletions(-) create mode 100644 docs/content/blog/.authors.yml rename docs/content/{developers/guides/observer.md => blog/posts/guides/2022-08-17-observer.md} (92%) create mode 100644 docs/content/blog/posts/guides/2023-01-09-dynamic-blocks.md create mode 100644 docs/content/blog/posts/guides/2023-05-01-customize-your-openmage.md create mode 100644 docs/content/blog/posts/releases/2019-12-09-release-19-4-0.md create mode 100644 docs/content/blog/posts/releases/2020-01-30-release-19-4-1.md create mode 100644 docs/content/blog/posts/releases/2020-05-10-release-19-4-2.md create mode 100644 docs/content/blog/posts/releases/2020-05-10-release-19-4-3.md create mode 100644 docs/content/blog/posts/releases/2020-06-28-release-19-4-4-and-20-0-0.md create mode 100644 docs/content/blog/posts/releases/2020-07-07-release-19-4-5-and-20-0-1.md create mode 100644 docs/content/blog/posts/releases/2020-08-18-release-19-4-6-and-20-0-2.md create mode 100644 docs/content/blog/posts/releases/2020-09-15-release-19-4-7-and-20-0-3.md create mode 100644 docs/content/blog/posts/releases/2020-10-20-release-19-4-8-and-20-0-4.md create mode 100644 docs/content/blog/posts/releases/2020-12-29-release-19-4-9-and-20-0-5.md create mode 100644 docs/content/blog/posts/releases/2021-01-19-release-19-4-10-and-20-0-6.md create mode 100644 docs/content/blog/posts/releases/2021-02-14-release-19-4-11-and-20-0-7.md create mode 100644 docs/content/blog/posts/releases/2021-04-06-release-19-4-12-and-20-0-8.md create mode 100644 docs/content/blog/posts/releases/2021-04-20-release-19-4-13-and-20-0-10.md create mode 100644 docs/content/blog/posts/releases/2021-06-25-release-19-4-14-and-20-0-12.md create mode 100644 docs/content/blog/posts/releases/2021-08-27-release-19-4-15-and-20-0-13.md create mode 100644 docs/content/blog/posts/releases/2022-05-19-release-19-4-16-and-20-0-14.md create mode 100644 docs/content/blog/posts/releases/2022-08-02-release-19-4-17-and-20-0-15.md create mode 100644 docs/content/blog/posts/releases/2022-09-04-release-19-4-18-and-20-0-16.md create mode 100644 docs/content/blog/posts/releases/2022-11-08-release-19-4-19-and-20-0-17.md create mode 100644 docs/content/blog/posts/releases/2022-12-01-release-19-4-20-and-20-0-18.md create mode 100644 docs/content/blog/posts/releases/2022-12-23-release-19-4-21.md create mode 100644 docs/content/blog/posts/releases/2023-01-27-release-19-4-22-and-20-0-19.md create mode 100644 docs/content/blog/posts/releases/2023-02-03-release-19-4-23-and-20-0-20.md create mode 100644 docs/content/blog/posts/releases/2023-08-02-release-20-1-0.md create mode 100644 docs/content/blog/posts/releases/2023-09-05-release-20-1-1.md create mode 100644 docs/content/blog/posts/releases/2023-10-27-release-20-2-0.md create mode 100644 docs/content/blog/posts/releases/2023-12-26-release-20-3-0.md create mode 100644 docs/content/blog/posts/releases/2024-02-09-release-20-4-0.md create mode 100644 docs/content/blog/posts/releases/2024-02-28-release-20-5-0.md create mode 100644 docs/content/blog/posts/releases/2024-04-06-release-20-6-0.md create mode 100644 docs/content/blog/posts/releases/2024-05-07-release-20-7-0.md create mode 100644 docs/content/blog/posts/releases/2024-05-21-release-20-8-0.md create mode 100644 docs/content/blog/posts/releases/2024-05-29-release-20-9-0.md create mode 100644 docs/content/blog/posts/releases/2024-07-02-release-20-10-0.md create mode 100644 docs/content/blog/posts/releases/2024-07-24-release-20-10-1.md create mode 100644 docs/content/blog/posts/releases/2024-07-27-release-20-10-2.md rename php.ini.sample => docs/content/developers/samples/php-ini.md (94%) rename robots.txt.sample => docs/content/developers/samples/robots-txt.md (98%) rename docs/content/developers/{ => tools}/ddev.md (88%) create mode 100644 docs/content/developers/tools/n98-magerun.md rename docs/content/developers/{ => tools}/phpstorm.md (80%) rename docs/content/users/install/{_use-composer.md => use-composer.md} (100%) rename docs/content/users/install/{_use-git.md => use-git.md} (100%) rename docs/content/users/install/{_use-tarball.md => use-tarball.md} (100%) create mode 100644 docs/content/users/modules/analytics.md create mode 100644 docs/content/users/modules/backend.md create mode 100644 docs/content/users/modules/cache.md create mode 100644 docs/content/users/modules/captcha.md create mode 100644 docs/content/users/modules/frontend.md create mode 100644 docs/content/users/modules/log-debug.md delete mode 100644 docs/content/users/modules/logging.md create mode 100644 docs/content/users/modules/payment.md delete mode 100644 docs/content/users/modules/payment/bitcoin.md delete mode 100644 docs/content/users/modules/products.md delete mode 100644 docs/content/users/modules/social.md create mode 100644 docs/content/users/modules/user-guides/swatches.md diff --git a/.gitattributes b/.gitattributes index 5309dddb8ef..7c7986e12f0 100644 --- a/.gitattributes +++ b/.gitattributes @@ -21,6 +21,8 @@ /.phpstan.dist.neon export-ignore /.rector.php export-ignore +/CNAME export-ignore + /README.md export-ignore # Enforce checkout with linux lf consistent over all platforms diff --git a/.github/labeler.yml b/.github/labeler.yml index 5f54a61a335..9d3c26e264c 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -5,6 +5,13 @@ .github/**/* ] +'git': + - changed-files: + - any-glob-to-any-file: [ + .gitattributes, + .gitignore + ] + 'htaccess': - changed-files: - any-glob-to-any-file: [ diff --git a/README.md b/README.md index 3fed724a1de..72b3dd5e225 100644 --- a/README.md +++ b/README.md @@ -14,367 +14,11 @@ level of backwards compatibility to the official releases. --- -## Table of contents +## Documentation -- [Releases and Versioning](#releases-and-versioning) - - [Currently Maintained Versions](#currently-maintained-versions) -- [Requirements](#requirements) -- [Installation](#installation) - - [Manual Install](#manual-install) - - [Composer](#composer) - - [Git](#git) -- [Secure your installation](#secure-your-installation) - - [Apache .htaccess](#apache-htaccess) - - [Nginx](#nginx) -- [Magento 1 Compatibility](#magento-1-compatibility) -- [Changes](#changes) - - [Between Magento 1.9.4.5 and OpenMage 19.x](#between-magento-1945-and-openmage-19x) - - [Since OpenMage 19.5.0 / 20.1.0](#since-openmage-1950--2010) - - [New Config Options](#new-config-options) - - [New Events](#new-events) - - [Changes to SOAP/WSDL](#changes-to-soapwsdl) -- [Development Environment with ddev](#development-environment-with-ddev) -- [PhpStorm Factory Helper](#phpstorm-factory-helper) -- [PhpStorm File-Watcher for SCSS files](#phpstorm-file-watcher-for-scss-files) -- [Public Communication](#public-communication) -- [Maintainers](#maintainers) -- [License](#license) -- [Contributors](#contributors-) +See: https://docs.openmage.org/ -## Releases and Versioning - -This project more strictly adheres to [Semantic Versioning](http://semver.org/) compared to the original Magento version numbering system where the "1" -was essentially a fixed number. See the [Terminology](https://github.com/OpenMage/rfcs/blob/main/accepted/0002-release-schedule.md#terminology) -section of [RFC 0002 - Release Schedule](https://github.com/OpenMage/rfcs/blob/main/accepted/0002-release-schedule.md) for more information on how the terms MAJOR, MINOR and PATCH are defined and applied. - -The OpenMage team and community maintains OpenMage LTS versions as follows: - -- The latest MAJOR.MINOR version always receives PATCH updates. -- The latest MAJOR version always receives MINOR updates. -- The latest MAJOR.MINOR branch for each MAJOR version receives PATCH updates for at least 2 years from the time of inception of the initial MAJOR version release. - -In a nutshell: - -- If you want to stay on the cutting edge with the latest improvements use the latest MAJOR version. -- If you want maximum backwards compatibility and minimal upgrade hassle use the next-latest MAJOR version so that you can still receive important security/stability/regression fixes. - -### Currently Maintained Versions - -- 20.x is the latest MAJOR version and will receive PATCH updates until 2 years after the date that 21.x is released. -- 19.4.x will receive PATCH updates until April 4, 2025. - -## Requirements - -- PHP 7.4 to 8.3 -- MySQL 5.7+ (8.0+ recommended) or MariaDB -- optional: Redis 5.x, 6.x and 7.0.x are supported - - -- PHP extension `intl` since 1.9.4.19 & 20.0.17 -- Command `patch` 2.7+ (or `gpatch` on MacOS/HomeBrew) since 1.9.5.0 & 20.1.0 - -## Installation - -### Manual Install - -Download the latest [release archive](https://github.com/OpenMage/magento-lts/releases) and extract it over your existing install. **Important:** you must download the ZIP file from a tagged version on the releases page, otherwise there will be missing dependencies. - -### Composer - -Step 1: Create a new composer project: - -```bash -composer init -``` - -Step 2: Configure composer. **The below options are required.** You can see all options [here](https://github.com/AydinHassan/magento-core-composer-installer#configuration). - -```bash -# Allow composer to apply patches to dependencies of magento-lts -composer config --json extra.enable-patching true - -# Configure Magento core composer installer to use magento-lts as the Magento source package -composer config extra.magento-core-package-type magento-source - -# Configure the root directory that magento-lts will be installed to, such as "pub", "htdocs", or "www" -composer config extra.magento-root-dir pub -``` - -Step 3: Require `magento-core-composer-installer`: - -``` bash -# PHP 7 -composer require "aydin-hassan/magento-core-composer-installer":"~2.0.0" - -# PHP 8 -composer require "aydin-hassan/magento-core-composer-installer":"^2.1.0" -``` - -Note: be sure to select `y` if composer asks you to trust `aydin-hassan/magento-core-composer-installer`. - -Step 4: Require the appropriate version of `magento-lts`: - -```bash -# Latest tagged v20 series release -composer require "openmage/magento-lts":"^20.0.0" - -# Legacy v19 tagged release (Magento 1.9.4.x drop-in replacement supported until April 4, 2025) -composer require "openmage/magento-lts":"^19.4.0" - -# Latest on "main" development branch -composer require "openmage/magento-lts":"dev-main" - -# Latest on "next" development branch -composer require "openmage/magento-lts":"dev-next" -``` - -Note: be sure to select `y` if composer asks you to trust `magento-hackathon/magento-composer-installer` or `cweagans/composer-patches`. - -When deploying to a production environment, it's recommended to optimize Composer's autoloader to speed up classes lookup time: - -```bash -composer dump-autoload --optimize -``` - -### Git - -If you want to contribute to the project: - -```bash -git init -git remote add origin https://github.com//magento-lts -git pull origin main -git remote add upstream https://github.com/OpenMage/magento-lts -git pull upstream main -git add -A && git commit -``` - -[More Information](http://openmage.github.io/magento-lts/install.html) - -## Secure your installation - -Don't use common paths like /admin for OpenMage Backend URL. Don't use the path in _robots.txt_ and keep it secret. You can change it from Backend (System / Configuration / Admin / Admin Base Url) or by editing _app/etc/local.xml_: - -```xml - - - - - - - - - - - -``` - -Don't use common file names like api.php for OpenMage API URLs to prevent attacks. Don't use the new file name in _robots.txt_ and keep it secret with your partners. After renaming the file you must update the webserver configuration as follows: - -### Apache .htaccess -``` -RewriteRule ^api/rest api.php?type=rest [QSA,L] -``` - -### Nginx -``` -rewrite ^/api/(\w+).*$ /api.php?type=$1 last;` -``` - -## Magento 1 Compatibility - -OpenMage LTS 19.4.0 is the first tagged version using the OpenMage LTS version naming system and all 19.x versions are mostly backward-compatible -with Magento 1.9.4.x. - -OpenMage LTS 20.x and later have more changes that may not be 100% backward-compatible, but minimizing migration and upgrade hassle for users is always -considered an important goal and factors heavily into the changes that are accepted even when accepting changes for "MAJOR" releases, described in [Releases and Versioning](#releases-and-versioning) above. - -## Changes - -Most important changes will be listed here, all other changes since `19.4.0` can be found in -[release](https://github.com/OpenMage/magento-lts/releases) notes. - -### Between Magento 1.9.4.5 and OpenMage 19.x - -- bug fixes and PHP 7.x, 8.0, 8.1 and 8.2 compatibility -- added config cache for system.xml ([#1916](https://github.com/OpenMage/magento-lts/pull/1916)) -- added frontend_type color ([#2945](https://github.com/OpenMage/magento-lts/pull/2945)) -- search for "NULL" in backend grids ([#1203](https://github.com/OpenMage/magento-lts/pull/1203)) -- removed `lib/flex` containing unused ActionScript "file uploader" files ([#2271](https://github.com/OpenMage/magento-lts/pull/2271)) -- Mage_Catalog_Model_Resource_Abstract::getAttributeRawValue() now returns `'0'` instead of `false` if the value stored in the database is `0` ([#572](https://github.com/OpenMage/magento-lts/pull/572)) -- PHP extension `intl` is required -- Deprecation errors are not suppressed anymore -- removed modules: - - `Mage_Backup` ([#2811](https://github.com/OpenMage/magento-lts/pull/2811)) - - `Mage_Compiler` - - `Mage_GoogleBase` - - `Mage_PageCache` ([#2258](https://github.com/OpenMage/magento-lts/pull/2258)) - - `Mage_Poll` ([#3098](https://github.com/OpenMage/magento-lts/pull/3098)) - - `Mage_Sendfriend` ([#4274](https://github.com/OpenMage/magento-lts/pull/4274)) - - `Mage_Xmlconnect` - - `Phoenix_Moneybookers` - -_If you rely on those modules you can reinstall them with composer:_ -- `Mage_Backup`: `composer require openmage/module-mage-backup` -- `Mage_PageCache`: `composer require openmage/module-mage-pagecache` -- `Mage_Poll`: `composer require openmage/module-mage-poll` -- `Mage_Sendfriend`: `composer require openmage/module-mage-sendfriend` -- `Legacy frontend themes`: `composer require openmage/legacy-frontend-themes` - -### Between OpenMage 19.x and 20.x - -Do not use 20.x.x if you need IE support. - -- removed IE conditional comments, IE styles, IE scripts and IE eot files ([#1073](https://github.com/OpenMage/magento-lts/pull/1073)) -- removed frontend default themes (default, modern, iphone, german, french, blank, blue) ([#1600](https://github.com/OpenMage/magento-lts/pull/1600)) -- fixed incorrect datetime in customer block (`$useTimezone` parameter) ([#1525](https://github.com/OpenMage/magento-lts/pull/1525)) -- added redis as a valid option for `global/session_save` ([#1513](https://github.com/OpenMage/magento-lts/pull/1513)) -- reduce needless saves by avoiding setting `_hasDataChanges` flag ([#2066](https://github.com/OpenMage/magento-lts/pull/2066)) -- removed support for `global/sales/old_fields_map` defined in XML ([#921](https://github.com/OpenMage/magento-lts/pull/921)) -- enabled website level config cache ([#2355](https://github.com/OpenMage/magento-lts/pull/2355)) -- made overrides of Mage_Core_Model_Resource_Db_Abstract::delete respect parent api ([#1257](https://github.com/OpenMage/magento-lts/pull/1257)) -- rewrote Mage_Eav_Model_Config as cache for all eav entity and attribute reads ([#2993](https://github.com/OpenMage/magento-lts/pull/2993)) - -For full list of changes, you can [compare tags](https://github.com/OpenMage/magento-lts/compare/1.9.4.x...20.0). - -### Since OpenMage 19.5.0 / 20.1.0 - -PHP 7.4 is now the minimum required version. - -Most of the 3rd party libraries/modules that were bundled in our repository were removed and migrated to composer dependencies. -This allows for better maintenance and upgradability. - -Specifically: -- `phpseclib`, `mcrypt_compat`, `Cm_RedisSession`, `Cm_Cache_Backend_Redis`, `Pelago_Emogrifier` ([#2411](https://github.com/OpenMage/magento-lts/pull/2411)) -- Zend Framework 1 ([#2827](https://github.com/OpenMage/magento-lts/pull/2827)) - -If your project uses OpenMage through composer then all dependencies will be managed automatically. -If you just extracted the release zip/tarball in your project's main folder then be sure to: -- remove the old copy of aforementioned libraries from your project, you can do that with this command: - ```bash - rm -rf app/code/core/Zend lib/Cm lib/Credis lib/mcryptcompat lib/Pelago lib/phpseclib lib/Zend - ``` - -- download the new release zip file that is named `openmage-VERSIONNUMBER.zip`, this one is built to contain the `vendor` - folder generated by composer, with all the dependencies in it -- extract the zip file in your project's repository as you always did - -We also decided to remove our Zend_DB patches (that were stored in `app/code/core/Zend`) because they were very old and -not compatible with the new implementations made by ZF1-Future, which is much more advanced and feature rich. -This may generate a problem with `Zend_Db_Select' statements that do not use 'Zend_Db_Expr' to quote expressions. -If you see SQL errors after upgrading please remember to check for this specific issue in your code. - -UPS shut down their old CGI APIs so we removed the support for it from the Mage_Usa module. - -### Between OpenMage 20.x and 21.x (unreleased, available on branch `next`) - -- PHP 8.2 as minimum required version -- Removed scriptaculous/dragdrop.js ([#3215](https://github.com/OpenMage/magento-lts/pull/3215)) -- RWD theme: updated jQuery to 3.7.1 ([#3922](https://github.com/OpenMage/magento-lts/pull/3922)) -- Unified CSRF configuration ([#3147](https://github.com/OpenMage/magento-lts/pull/3147)) and added form key validation to Contacts form ([#3146](https://github.com/OpenMage/magento-lts/pull/3144)) -- Removed double span element from HTML buttons ([#3123](https://github.com/OpenMage/magento-lts/pull/3123)) -- Removed all deprecated Mysql4_ classes ([#2730](https://github.com/OpenMage/magento-lts/pull/2730)). If there are any old modules/extensions in your installation that use such classes, you must run `shell/rename-mysql4-class-to-resource.php` in the command line in order to convert them. Backup all files before running the script -- Removed "admin routing compatibility mode" ([#1551](https://github.com/OpenMage/magento-lts/pull/1551)) - -### New Config Options - -- `admin/design/use_legacy_theme` -- `admin/global_search/enable` -- `admin/emails/admin_notification_email_template` -- `catalog/product_image/progressive_threshold` -- `catalog/search/search_separator` -- `dev/log/max_level` -- `newsletter/security/enable_form_key` -- `rss/admin_order/new_period` -- `sitemap/category/lastmod` -- `sitemap/page/lastmod` -- `sitemap/product/lastmod` - -### New Events - -- `adminhtml_block_widget_form_init_form_values_after` -- `adminhtml_block_widget_tabs_html_before` -- `adminhtml_sales_order_create_save_before` -- `checkout_cart_product_add_before` -- `core_app_run_after` -- `mage_run_installed_exception` -- `sitemap_cms_pages_generating_before` -- `sitemap_urlset_generating_before` - -[Full list of events](docs/EVENTS.md) - -### Changes to SOAP/WSDL - -Since `19.4.17`/`20.0.15` we changed the `targetNamespace` of all the WSDL files (used in the API modules), from `Magento` to `OpenMage`. -If your custom modules extends OpenMage's APIs with a custom WSDL file and there are some hardcoded `targetNamespace="urn:Magento"` strings, your APIs may stop working. - -Please replace all occurrences of - -``` -targetNamespace="urn:Magento" -``` -with -``` -targetNamespace="urn:OpenMage" -``` -or alternatively -``` -targetNamespace="urn:{{var wsdl.name}}" -``` - to avoid any problem. - -To find which files need the modification you can run this command from the root directory of your project. -```bash -grep -rn 'urn:Magento' --include \*.xml -``` - -## Development Environment with DDEV - -- Install [ddev](https://ddev.com/get-started/) -- Clone the repository as described in installation ([Git](#git)) -- Create a ddev config, defaults should be good for you - ```bash - ddev config - ``` -- Open `.ddev/config.yaml` and change the php version to your needs -- Download and start the containers - ```bash - ddev start - ``` -- Open your site in browser - ```bash - ddev launch - ``` - -## PhpStorm Factory Helper - -This repo includes class maps for the core Magento files in `.phpstorm.meta.php`. -To add class maps for installed extensions, you have to install [N98-magerun](https://github.com/netz98/n98-magerun) -and run command: - -```bash -n98-magerun.phar dev:ide:phpstorm:meta -``` - -You can add additional meta files in this directory to cover your own project files. See -[PhpStorm advanced metadata](https://www.jetbrains.com/help/phpstorm/ide-advanced-metadata.html) -for more information. - -## PhpStorm File-Watcher for SCSS files -- install SCSS - ```bash - npm install -g sass - ``` -- open settings `CTRL+ALT+S` and go to File Watcher -- change default setting to: - - Arguments: - ``` - $FileName$:$FileParentDir$/$FileNameWithoutExtension$.css - ``` - - Output paths to refresh: - ``` - $FileParentDir$/$FileNameWithoutExtension$.css:$FileParentDir$/$FileNameWithoutExtension$.css.map - ``` +--- ## Public Communication diff --git a/docs/content/api/rest/resources/customers.md b/docs/content/api/rest/resources/customers.md index cd8829e2feb..3eb2b771dae 100644 --- a/docs/content/api/rest/resources/customers.md +++ b/docs/content/api/rest/resources/customers.md @@ -1,21 +1,6 @@ -\--- layout: v1x\_rest title: Customers --- JSON responses on this page contributed by Tim Reynolds +# Customers -* [REST API: Customers](#RESTAPI-Resource-Customers-RESTAPI-Customers) - * [URI: /customers](#RESTAPI-Resource-Customers-URI--customers) - * [HTTP Method: GET /customers](#RESTAPI-Resource-Customers-HTTPMethod-GET-customers) - * [HTTP Method: POST /customers](#RESTAPI-Resource-Customers-HTTPMethod-POST-customers) - * [HTTP Method: PUT /customers](#RESTAPI-Resource-Customers-HTTPMethod-PUT-customers) - * [HTTP Method: DELETE /customers](#RESTAPI-Resource-Customers-HTTPMethod-DELETE-customers) -* [REST API: Customer](#RESTAPI-Resource-Customers-RESTAPI-Customer) - * [URI: /customers/:customerId](#RESTAPI-Resource-Customers-URI--customers--customerId) - * [HTTP Method: GET /customers/:customerId](#RESTAPI-Resource-Customers-HTTPMethod-GET-customers--customerId) - * [HTTP Method: POST /customers/:customerId](#RESTAPI-Resource-Customers-HTTPMethod-POST-customers--customerId) - * [HTTP Method: PUT /customers/:customerId](#RESTAPI-Resource-Customers-HTTPMethod-PUT-customers--customerId) - * [HTTP Method: DELETE /customers/:customerId](#RESTAPI-Resource-Customers-HTTPMethod-DELETE-customers--customerId) - -## Customers - -#### URI: /customers +## URI: /customers Allows you to create and retrieve customers. @@ -164,9 +149,7 @@ If the customer was created successfully, we receive **Response HTTP Code** = 20 **Description**: Not allowed -## Customer - -#### URI: /customers/:customerId +## URI: /customers/:customerId Allows you to manage existing customers. @@ -187,40 +170,39 @@ Allows you to manage existing customers. GET http://om.ddev.site/api/rest/customers/2 ``` -**Response Body**: +**Response body: XML** +```xml - -2 -1 -test@example.com -1 -2012-03-22 14:15:54 -1 -Default Store View -john -Doe -2012-03-22 14:15:56 - - -**response example: json** - -get [http://om.ddev.site/api/rest/customers/141](http://om.ddev.site/api/rest/customers) + + 2 + 1 + test@example.com + 1 + 2012-03-22 14:15:54 + 1 + Default Store View + john + Doe + 2012-03-22 14:15:56 + +``` -**response body**: +**Response body: JSON** +```json { -"entity\_id": "2", -"website\_id": "1", -"email": "test@example.com", -"group\_id": "1", -"created\_at": "2012-03-22 14:15:54", -"disable\_auto\_group\_change": "1", -"created\_in": "English", -"firstname": "john", -"lastname": "Doe" + "entity_id": "2", + "website_id": "1", + "email": "test@example.com", + "group_id": "1", + "created_at": "2012-03-22 14:15:54", + "disable_auto_group_change": "1", + "created_in": "English", + "firstname": "john", + "lastname": "Doe" } - +``` ### HTTP Method POST diff --git a/docs/content/blog/.authors.yml b/docs/content/blog/.authors.yml new file mode 100644 index 00000000000..e726a5ff010 --- /dev/null +++ b/docs/content/blog/.authors.yml @@ -0,0 +1,37 @@ +authors: + openmage_community: + name: OpenMage + description: Community + avatar: https://avatars.githubusercontent.com/u/57708 + colinmollenhour: + name: Colin Mollenhour + description: Maintainer + avatar: https://avatars.githubusercontent.com/u/38738 + fballiano : + name: Fabrizio Balliano + description: Contributor + avatar: https://avatars.githubusercontent.com/u/909743 + Flyingmana: + name: Daniel Fahlke + description: Contributor + avatar: https://avatars.githubusercontent.com/u/237319 + kiatng: + name: Ng Kiat Siong + description: Contributor + avatar: https://avatars.githubusercontent.com/u/1106470 + real34: + name: Pierre Martin + description: Contributor + avatar: https://avatars.githubusercontent.com/u/75968 + r-martins: + name: Ricardo Martins + description: Contributor + avatar: https://avatars.githubusercontent.com/u/191149 + robertrogge: + name: Robert Rogge + description: Contributor + avatar: https://avatars.githubusercontent.com/u/673488 + sreichel: + name: Sven Reichel + description: Contributor + avatar: https://avatars.githubusercontent.com/u/5022236 \ No newline at end of file diff --git a/docs/content/developers/guides/observer.md b/docs/content/blog/posts/guides/2022-08-17-observer.md similarity index 92% rename from docs/content/developers/guides/observer.md rename to docs/content/blog/posts/guides/2022-08-17-observer.md index c87ae130108..3c3644edc0d 100644 --- a/docs/content/developers/guides/observer.md +++ b/docs/content/blog/posts/guides/2022-08-17-observer.md @@ -1,4 +1,11 @@ --- +title: Events & Observer +draft: false +date: 2022-08-17 +authors: + - sreichel +categories: + - Guides tags: - Events - Debug @@ -9,6 +16,8 @@ tags: Quick overview how observers work. + + ## Event lookup If you want to add custom logic for `customer_login` event, add in your `config.xml`. diff --git a/docs/content/blog/posts/guides/2023-01-09-dynamic-blocks.md b/docs/content/blog/posts/guides/2023-01-09-dynamic-blocks.md new file mode 100644 index 00000000000..59cdccb7392 --- /dev/null +++ b/docs/content/blog/posts/guides/2023-01-09-dynamic-blocks.md @@ -0,0 +1,58 @@ +--- +title: Dynamic block content +draft: false +date: 2023-01-09 +authors: + - kiatng +categories: + - Guides +tags: + - CMS blocks +--- + +# Dynamic block contents in category page + +In _backend > Catalog > Manage Categories_, we can configure a category page and put it on the main menu. The page contents are rendered in + +> app\design\frontend\base\default\template\catalog\category\view.phtml + +If we want to render an HTML table in which its data are taken from the database, we would follow these steps: + + + +## Create custom block + +1. Create a custom block `mymodule/mytable` with template `mymodule/mytable.phtml`. +2. Whitelist our block for rendering in the frontend: backend > System > Permissions > Blocks +3. Create a CMS static block: backend > CMS > Static Blocks and set the _Content_ to render from our block with this directive: +```html +{{block type="mymodule/mytable" template="mymodule/mytable.phtml"}} +``` +4. Create a subcategory: backend > Catalog > Manage Categories > Add a subcategory and in the _Display Setings_ tab, set the category attribute _Display Mode_ to _Static block only_ and _CMS Block_ pointing to our block. + +Voila, the HTML table is rendered under the menu we just created. However, every time the table in the database is updated, and because CMS blocks rendering are taken from the cache, we would need to refresh the cache. + +## Render block dynamically + +What if the table is constantly being updated, or there is an expiry condition on some data which shouldn't be included? In which case, we would want to render the HTML table dynamically. It's actually quite easy to do: + +1. In the subcategory page in backend, set the _Description_ to this: +```html +{{block type="mymodule/mytable" template="mymodule/mytable.phtml"}} +``` +2. Continue on to the _Display Setings_ tab and set the _CMS Block_ to _Please select a static block ..._. +3. In our config file, either in the module `etc/config.xml` or in the `local.xml`, insert the following: + +```xml + + + + + cms/template_filter + + + + +``` + +That's it, the table is now rendered dynamically. There 's no need to create the CMS static block. \ No newline at end of file diff --git a/docs/content/blog/posts/guides/2023-05-01-customize-your-openmage.md b/docs/content/blog/posts/guides/2023-05-01-customize-your-openmage.md new file mode 100644 index 00000000000..e175ecc8181 --- /dev/null +++ b/docs/content/blog/posts/guides/2023-05-01-customize-your-openmage.md @@ -0,0 +1,134 @@ +--- +title: Customize Your OpenMage +draft: false +date: 2023-08-17 +authors: + - colinmollenhour +categories: + - Guides +tags: + - Composer + - Patches + - Vendor +--- + +# Customize Your OpenMage + +When working on OpenMage or any complex PHP project, you might come across issues that require patches to be applied to third-party packages or libraries. +These patches may be fixes or features for core code that you need to use immediately but have not yet been merged or formally released for any number of reasons. + +In this blog post, we'll explore the benefits of using privately maintained patches and how to use Composer and the `cweagans/composer-patches` dependency to maintain +your own set of patches as well as how to generate patches. + + + +## Benefits of Privately Maintained Patches + +1. Customization - Customize third-party packages or libraries to meet the specific needs of your project. This is especially useful if you need to modify functionality that is impossible to do without modifying core code or fix bugs that are not yet addressed by the package maintainers. +2. Security - By maintaining your own patches, you can ensure that any security vulnerabilities are addressed as soon as they are discovered, without having to wait for the package maintainers to release an update. +3. Maintainability - Privately maintained patches can help ensure your patches are organized and automatically re-applied to the core code so they don't get accidentally clobbered when updating project dependencies. + +## Using Composer and `cweagans/composer-patches` Dependency + +Composer is a dependency manager for PHP that allows you to easily manage third-party packages and libraries in your project. However, using the `cweagans/composer-patches` package +(documentation [here](https://github.com/cweagans/composer-patches/blob/1.x/README.md)) you can also have Composer apply private patches over public dependencies. You simply define the patches in your `composer.json` file and they will be automatically applied to the +packages or libraries that you specify when a Composer updates dependencies (`install` or `update`). + +Here's an example `composer.json` file with a patch defined: + +```json +{ + "require": { + "vendor/package": "1.0.0" + }, + "extra": { + "patches": { + "vendor/package": { + "Fix Bug #1234": "patches/fix-bug-1234.patch" + } + } + } +} +``` + +In this example, we're requiring the `vendor/package` package at version `1.0.0`, and applying a patch named "Fix Bug \#1234" located in the `patches/fix-bug-1234.patch` file. + +To apply the patch, simply run `composer update` and Composer will apply the patch and maintain the state of whether the patch has been applied or not. + +## Generating patch files + +There are many ways to do this, but here are a few common ones: + +### Github Pull Requests + +If a Github PR already contains the code changes you need, simply download a patch file from Github by appending `.patch` to the PR url. You gotta love Github! + +For example, the patch URL for PR #3146 is: `https://github.com/OpenMage/magento-lts/pull/3146.patch`. This url will result in a redirect so download it with your +browser or a client that follows redirects (Location header) such as `wget` or `curl -L`. + +``` +mkdir -p patches +echo -e "Order deny,allow\nDeny from all\n" > patches/.htaccess +curl -L https://github.com/OpenMage/magento-lts/pull/3146.patch -o var/patches/3146_Add-form-key-validation-to-Contacts-form.patch +``` + +Note, you can also have the patch downloaded at runtime by defining it as a url instead of a local path. + +```json +{ + "...": "...", + "extra": { + "patches": { + "openmage/magento-lts": { + "Added form key validation to Contacts form #3146": "https://github.com/OpenMage/magento-lts/pull/3146.patch" + } + } + } +} +``` + +If it doesn't apply cleanly, apply the patch using `git apply` and fix the conflicts and then output the changes as a local patch file using one of the methods below. + +### symplify/vendor-patches + +If you are using OpenMage as a project dependency, you can use `symplify/vendor-patches` to generate a patch file easily. This tool automatically +updates your composer.json for you. Note, in the case of modifying OpenMage core code installed as a project dependency you will need to modify the +files in the "vendor" directory rather than the `magento-root-dir` directory (e.g. "htdocs"). + +Here is an example generating patches for `app/Mage.php`: + +```sh +composer require symplify/vendor-patches --dev +cp vendor/app/Mage.php vendor/app/Mage.php.old +# modify app/Mage.php to your liking +vendor/bin/vendor-patches generate +composer install +``` + +### Git with dirty working copy + +If you have local changes on a git working copy you can simply use `git diff > patches/my-changes.patch`. + +Use `git diff --cached` instead to export just the staged changes. + +### Git commits + +You can generate a patch from a branch or commit or range of commits using `git format-patch` or `git diff`. See the `--help` usage for more info but here are some examples: + +To get a single patch with the changes from the `some-feature` branch: + +```sh +git format-patch origin/main...some-feature --stdout > patches/some-feature.patch +``` + +Notice the three `...` which gets all changes as one patch. If you used `..` you would get one file per commit. + +Use `git show ` to show a single commit or `git diff ...` to get all changes between two commits. Consult the interwebs for more info. + +## Testing patches + +Use `git apply` or `patch` to test applying the patches to your working copy or just go for it with `composer install`. + +Use `composer update --lock` to save the state of the applied patches to your `composer.lock` file. + +Give it a try and see how privately maintained patches can benefit your project! diff --git a/docs/content/blog/posts/releases/2019-12-09-release-19-4-0.md b/docs/content/blog/posts/releases/2019-12-09-release-19-4-0.md new file mode 100644 index 00000000000..9d1b9038a69 --- /dev/null +++ b/docs/content/blog/posts/releases/2019-12-09-release-19-4-0.md @@ -0,0 +1,33 @@ +--- +title: Release v19.4.0 +draft: false +date: 2019-12-09 +authors: + - Flyingmana +categories: + - Releases v19 +hide: + - toc +--- + +# New Release 19.4.0 + +![Graph](../../assets/images/openmage_contributions_logo_2019_11.png) + +We are happy to announce the first independent Release of OpenMage. +To avoid confusion with past and future Magento Releases, we are starting with the Version 19.4.0 [^1]. + + + +On the one side this reflects that we include everything from Magento 1.9.4.3 +On the other side, it reflects our intent, to base the Major Version on the current Year. + +This Release does not yet contain all changes needed to properly support PHP 7.4 as they are still in the Review, but they should be ready with the next release. + +The Version 19 will be an LTS Version with indefinite Lifetime, but at least 5 Years. +It will ensure a maximum on backwards compatibility to Magento 1. + +The next LTS version will be released in the beginning of 2023 and be version 23 and have again 5 years of lifetime. +Besides this, we will have a yearly major release with around 2 years of lifetime for the Users, who want to try out new Features earlier. + +[^1]: https://github.com/OpenMage/magento-lts/releases/tag/v19.4.0 diff --git a/docs/content/blog/posts/releases/2020-01-30-release-19-4-1.md b/docs/content/blog/posts/releases/2020-01-30-release-19-4-1.md new file mode 100644 index 00000000000..7c7b75e8c3d --- /dev/null +++ b/docs/content/blog/posts/releases/2020-01-30-release-19-4-1.md @@ -0,0 +1,36 @@ +--- +title: Release v19.4.1 +draft: false +date: 2020-01-30 +authors: + - Flyingmana + - sreichel +categories: + - Releases v19 +hide: + - toc +--- + +# New Release 19.4.1 + +Include the Magento Release 1.9.4.4 [^1] + + + +## Changelog: + +- Default setting for `validate_formkey_checkout` to `1` (only affects new installations) (OpenMage/magento-lts#871) +- Add `.gitignore` to `/var/` (OpenMage/magento-lts#870) +- remove outdated Undo MagicQuotes function (OpenMage/magento-lts#856) +- remove deprecated function calls in `Mage_Adminhtml` (OpenMage/magento-lts#863) +- Add `created_at` and `updated_at` to all relevant REST API resources (OpenMage/magento-lts#804) +- Add missing method to category collection class (OpenMage/magento-lts#884) +- Add test method to cache models and fix layout update use of test method (OpenMage/magento-lts#883) +- Adding `'display=swap'` to default RWD Google Font (OpenMage/magento-lts#886) +- fix php syntax error in `app/design/frontend/rwd/default/template/email/catalog/product/list.phtml` (OpenMage/magento-lts#888) +- Replaced deprecated each in `getAttributeRawValue()` (OpenMage/magento-lts#885) +- Add missing EU country (_HR_) to initial config (OpenMage/magento-lts#842) +- correct argument order of `implode` calls (OpenMage/magento-lts#857) +- Array and string offset access syntax with curly braces is deprecated (OpenMage/magento-lts#859) + +[^1]: https://github.com/OpenMage/magento-lts/releases/tag/v19.4.1 diff --git a/docs/content/blog/posts/releases/2020-05-10-release-19-4-2.md b/docs/content/blog/posts/releases/2020-05-10-release-19-4-2.md new file mode 100644 index 00000000000..2a7462be582 --- /dev/null +++ b/docs/content/blog/posts/releases/2020-05-10-release-19-4-2.md @@ -0,0 +1,39 @@ +--- +title: Release v19.4.2 +draft: false +date: 2020-05-10 +authors: + - Flyingmana + - sreichel +categories: + - Releases v19 +hide: + - toc +--- + +# New Release 19.4.2 + +_Placeholder for the changelog_ [^1] + + + +## Changelog: + +- Fix removing coupon from cart (OpenMage/magento-lts#656) +- Remove `memory_limit` in `.htaccess` (OpenMage/magento-lts#625) +- Removed ES6 JS introduced in 1.9.4.4 for IE compatibility (OpenMage/magento-lts#895) +- Update `.htaccess` (`mod_expires` headers for common file types) (OpenMage/magento-lts#876) +- Insert whitespace in class name for styling to work. (fix follow up from #594 Remove whitespace in `addBodyClass($className)`) (OpenMage/magento-lts#898) +- Typo in data type (doc block change) (OpenMage/magento-lts#905) +- unused variable cleanup (OpenMage/magento-lts#910) +- Send order and agreement variables to the view (OpenMage/magento-lts#930) +- allow (json-)string for `Mage_HTTP_Client_Curl::makeRequest()` `$params` parameter (OpenMage/magento-lts#913) +- Do not emit warning on null byte in `$src` in io_file (OpenMage/magento-lts#912) +- Do not sum columns with undefined total function (OpenMage/magento-lts#916) +- Add runtime cache to `Zend_Locale_Data` (OpenMage/magento-lts#918) +- painful protection in `Subtotal.php` (OpenMage/magento-lts#650) +- Fix warning _"Warning: A non-numeric value encountered"_ in `Mage_Model_Url` (OpenMage/magento-lts#933) +- [Bug] `Mage_Customer_Model_Convert_Parser_Customer::parse()` / Fixes undefined variable (OpenMage/magento-lts#712) (OpenMage/magento-lts#729) +- Update VIES VAT validation SOAP endpoint (OpenMage/magento-lts#937) + +[^1]: https://github.com/OpenMage/magento-lts/releases/tag/v19.4.2 diff --git a/docs/content/blog/posts/releases/2020-05-10-release-19-4-3.md b/docs/content/blog/posts/releases/2020-05-10-release-19-4-3.md new file mode 100644 index 00000000000..d36fbf73b14 --- /dev/null +++ b/docs/content/blog/posts/releases/2020-05-10-release-19-4-3.md @@ -0,0 +1,19 @@ +--- +title: Release v19.4.3 +draft: false +date: 2020-05-11 +authors: + - sreichel +categories: + - Releases v19 +hide: + - toc +--- + +# New Release 19.4.3 + +Include the Magento Release 1.9.4.5 [^1] + + + +[^1]: https://github.com/OpenMage/magento-lts/releases/tag/v19.4.3 diff --git a/docs/content/blog/posts/releases/2020-06-28-release-19-4-4-and-20-0-0.md b/docs/content/blog/posts/releases/2020-06-28-release-19-4-4-and-20-0-0.md new file mode 100644 index 00000000000..32b46ae9afd --- /dev/null +++ b/docs/content/blog/posts/releases/2020-06-28-release-19-4-4-and-20-0-0.md @@ -0,0 +1,23 @@ +--- +title: Release v19.4.4 and v20.0.0 +draft: false +date: 2020-06-28 +authors: + - sreichel +categories: + - Releases v19 + - Releases v20 + +hide: + - toc +--- + +# New Release 19.4.4 and 20.0.0 + +Include the Magento Patch `SUPEE-11346` [^1] [^2] [^3] + + + +[^1]: https://github.com/OpenMage/magento-lts/releases/tag/v19.4.4 +[^2]: https://github.com/OpenMage/magento-lts/releases/tag/v20.0.0 +[^3]: https://magento.stackexchange.com/questions/315765/supee-11346-potential-problems diff --git a/docs/content/blog/posts/releases/2020-07-07-release-19-4-5-and-20-0-1.md b/docs/content/blog/posts/releases/2020-07-07-release-19-4-5-and-20-0-1.md new file mode 100644 index 00000000000..7977a71eabb --- /dev/null +++ b/docs/content/blog/posts/releases/2020-07-07-release-19-4-5-and-20-0-1.md @@ -0,0 +1,21 @@ +--- +title: Release v19.4.5 and v20.0.1 +draft: false +date: 2020-07-07 +authors: + - sreichel +categories: + - Releases v19 + - Releases v20 +hide: + - toc +--- + +# New Release 19.4.5 and 20.0.1 + +Merged changes from v19.4.5 [^1] [^2] + + + +[^1]: https://github.com/OpenMage/magento-lts/releases/tag/v19.4.5 +[^2]: https://github.com/OpenMage/magento-lts/releases/tag/v20.0.1 diff --git a/docs/content/blog/posts/releases/2020-08-18-release-19-4-6-and-20-0-2.md b/docs/content/blog/posts/releases/2020-08-18-release-19-4-6-and-20-0-2.md new file mode 100644 index 00000000000..894bd8c99c7 --- /dev/null +++ b/docs/content/blog/posts/releases/2020-08-18-release-19-4-6-and-20-0-2.md @@ -0,0 +1,35 @@ +--- +title: Release v19.4.6 and v20.0.2 +draft: false +date: 2020-08-18 +authors: + - Flyingmana +categories: + - Releases v19 + - Releases v20 + - Security +tags: + - Security +hide: + - toc +--- + +# New Release 19.4.6 and 20.0.2 + +![Graph](../../assets/images/openmage_contributions_logo_2020_08.png) + +Our Release Today marks a new and Important Milestone for the OpenMage Project. +Not even 2 Months since the end of life for Magento 1, we are now shipping the first Security Patch, which is not included in the official Magento 1 Release. + + + +The Patch is shipped as part of our new released Versions 19.4.6 [^1] and 20.0.2 [^2]. + +The CVE for the related vulnerability is CVE-2020-15151 [^3], and we had a little help here from Adobe, as they fixed a comparable vulnerability in Magento2 with their latest release. +While having your attention, let me also make you aware of our process to submit security vulnerabilities, which can be found at [SECURITY.md](https://github.com/OpenMage/magento-lts/blob/main/.github/SECURITY.md){:target="_blank"} + +Also, a big **Thank You** to the hosting providers who work together with us and support us in finding and solving security related Issues. + +[^1]: https://github.com/OpenMage/magento-lts/releases/tag/v19.4.6 +[^2]: https://github.com/OpenMage/magento-lts/releases/tag/v20.0.2 +[^3]: https://github.com/advisories/GHSA-crf2-xm6x-46p6 diff --git a/docs/content/blog/posts/releases/2020-09-15-release-19-4-7-and-20-0-3.md b/docs/content/blog/posts/releases/2020-09-15-release-19-4-7-and-20-0-3.md new file mode 100644 index 00000000000..5059780335e --- /dev/null +++ b/docs/content/blog/posts/releases/2020-09-15-release-19-4-7-and-20-0-3.md @@ -0,0 +1,21 @@ +--- +title: Release v19.4.7 and v20.0.3 +draft: false +date: 2020-09-15 +authors: + - sreichel +categories: + - Releases v19 + - Releases v20 +hide: + - toc +--- + +# New Release 19.4.7 and 20.0.3 + +_Placeholder for the change_ [^1] [^2] + + + +[^1]: https://github.com/OpenMage/magento-lts/releases/tag/v19.4.7 +[^2]: https://github.com/OpenMage/magento-lts/releases/tag/v20.0.3 diff --git a/docs/content/blog/posts/releases/2020-10-20-release-19-4-8-and-20-0-4.md b/docs/content/blog/posts/releases/2020-10-20-release-19-4-8-and-20-0-4.md new file mode 100644 index 00000000000..472275c9d4f --- /dev/null +++ b/docs/content/blog/posts/releases/2020-10-20-release-19-4-8-and-20-0-4.md @@ -0,0 +1,31 @@ +--- +title: Release v19.4.8 and v20.0.4 +draft: false +date: 2020-10-20 +authors: + - colinmollenhour +categories: + - Releases v19 + - Releases v20 + - Security +tags: + - Security +hide: + - toc +--- + +# New Release 19.4.8 and 20.0.4 + +CVE-2020-15244 [^3] is our second OpenMage CVE and our first CVE that is wholly independent of Adobe! [^1] [^2] + + + +This vulnerability was disclosed to us privately from a community member via our HackerOne [^4] program and patched in versions 19.4.8 and 20.0.4. Please update to +one of these version to receive the patch. + +A big thanks to [Luke Rogers](https://hackerone.com/convenient){:target="_blank"} for submitting the report! + +[^1]: https://github.com/OpenMage/magento-lts/releases/tag/v19.4.8 +[^2]: https://github.com/OpenMage/magento-lts/releases/tag/v20.0.4 +[^3]: https://github.com/advisories/GHSA-jrgf-vfw2-hj26 +[^4]: https://hackerone.com diff --git a/docs/content/blog/posts/releases/2020-12-29-release-19-4-9-and-20-0-5.md b/docs/content/blog/posts/releases/2020-12-29-release-19-4-9-and-20-0-5.md new file mode 100644 index 00000000000..9125743e306 --- /dev/null +++ b/docs/content/blog/posts/releases/2020-12-29-release-19-4-9-and-20-0-5.md @@ -0,0 +1,21 @@ +--- +title: Release v19.4.9 and v20.0.5 +draft: false +date: 2020-12-29 +authors: + - sreichel +categories: + - Releases v19 + - Releases v20 +hide: + - toc +--- + +# New Release 19.4.9 and 20.0.5 + +Increase composer.json php version range to include 8.0 [^1] [^2] + + + +[^1]: https://github.com/OpenMage/magento-lts/releases/tag/v19.4.9 +[^2]: https://github.com/OpenMage/magento-lts/releases/tag/v20.0.5 diff --git a/docs/content/blog/posts/releases/2021-01-19-release-19-4-10-and-20-0-6.md b/docs/content/blog/posts/releases/2021-01-19-release-19-4-10-and-20-0-6.md new file mode 100644 index 00000000000..6384d4e193e --- /dev/null +++ b/docs/content/blog/posts/releases/2021-01-19-release-19-4-10-and-20-0-6.md @@ -0,0 +1,31 @@ +--- +title: Release v19.4.10 and v20.0.6 +draft: false +date: 2021-01-19 +authors: + - sreichel +categories: + - Releases v19 + - Releases v20 + - Security +tags: + - Security +hide: + - toc +--- + +# New Release 19.4.10 and 20.0.6 + +_Placeholder for the change_ [^1] [^2] + +- CVE-2020-15244 [^3] CMS Editor code execution +- CVE-2020-26285 [^4] Widget instances allows a hacker to inject an executable file on the server +- CVE-2020-26252 [^5] Layout XML RCE Vulnerability + + + +[^1]: https://github.com/OpenMage/magento-lts/releases/tag/v19.4.10 +[^2]: https://github.com/OpenMage/magento-lts/releases/tag/v20.0.6 +[^3]: https://github.com/OpenMage/magento-lts/security/advisories/GHSA-jrgf-vfw2-hj26 +[^4]: https://github.com/OpenMage/magento-lts/security/advisories/GHSA-hj6w-xrv3-wjj9 +[^5]: https://github.com/OpenMage/magento-lts/security/advisories/GHSA-99m6-r53j-4hh2 diff --git a/docs/content/blog/posts/releases/2021-02-14-release-19-4-11-and-20-0-7.md b/docs/content/blog/posts/releases/2021-02-14-release-19-4-11-and-20-0-7.md new file mode 100644 index 00000000000..1950cc2c6be --- /dev/null +++ b/docs/content/blog/posts/releases/2021-02-14-release-19-4-11-and-20-0-7.md @@ -0,0 +1,21 @@ +--- +title: Release v19.4.11 and v20.0.7 +draft: false +date: 2021-02-14 +authors: + - sreichel +categories: + - Releases v19 + - Releases v20 +hide: + - toc +--- + +# New Release 19.4.11 and 20.0.7 + +_Placeholder for the change_ [^1] [^2] + + + +[^1]: https://github.com/OpenMage/magento-lts/releases/tag/v19.4.11 +[^2]: https://github.com/OpenMage/magento-lts/releases/tag/v20.0.7 diff --git a/docs/content/blog/posts/releases/2021-04-06-release-19-4-12-and-20-0-8.md b/docs/content/blog/posts/releases/2021-04-06-release-19-4-12-and-20-0-8.md new file mode 100644 index 00000000000..5fb5ff93e8c --- /dev/null +++ b/docs/content/blog/posts/releases/2021-04-06-release-19-4-12-and-20-0-8.md @@ -0,0 +1,21 @@ +--- +title: Release v19.4.12 and v20.0.8 +draft: false +date: 2021-04-06 +authors: + - sreichel +categories: + - Releases v19 + - Releases v20 +hide: + - toc +--- + +# New Release 19.4.12 and 20.0.8 + +_Placeholder for the change_ [^1] [^2] + + + +[^1]: https://github.com/OpenMage/magento-lts/releases/tag/v19.4.12 +[^2]: https://github.com/OpenMage/magento-lts/releases/tag/v20.0.8 diff --git a/docs/content/blog/posts/releases/2021-04-20-release-19-4-13-and-20-0-10.md b/docs/content/blog/posts/releases/2021-04-20-release-19-4-13-and-20-0-10.md new file mode 100644 index 00000000000..7775cd925cb --- /dev/null +++ b/docs/content/blog/posts/releases/2021-04-20-release-19-4-13-and-20-0-10.md @@ -0,0 +1,29 @@ +--- +title: Release v19.4.13 and v20.0.10 +draft: false +date: 2021-04-20 +authors: + - sreichel +categories: + - Releases v19 + - Releases v20 + - Security +tags: + - Security +hide: + - toc +--- + +# New Release 19.4.13 and 20.0.10 + +_Placeholder for the change_ [^1] [^2] + +- CVE-2021-21426 [^3]- Fixing a bug in Zend Framework's Stream HTTP Wrapper +- CVE-2021-21427 [^4] - Security Update for SQLi for Magento 2 (a backport of CVE-2021-3007 of laminas-http) + + + +[^1]: https://github.com/OpenMage/magento-lts/releases/tag/v19.4.13 +[^2]: https://github.com/OpenMage/magento-lts/releases/tag/v20.0.10 +[^3]: https://github.com/OpenMage/magento-lts/security/advisories/GHSA-m496-x567-f98c +[^4]: https://github.com/OpenMage/magento-lts/security/advisories/GHSA-fvrf-9428-527m diff --git a/docs/content/blog/posts/releases/2021-06-25-release-19-4-14-and-20-0-12.md b/docs/content/blog/posts/releases/2021-06-25-release-19-4-14-and-20-0-12.md new file mode 100644 index 00000000000..23d92b7f1bd --- /dev/null +++ b/docs/content/blog/posts/releases/2021-06-25-release-19-4-14-and-20-0-12.md @@ -0,0 +1,21 @@ +--- +title: Release v19.4.14 and v20.0.12 +draft: false +date: 2021-06-25 +authors: + - sreichel +categories: + - Releases v19 + - Releases v20 +hide: + - toc +--- + +# New Release 19.4.14 and 20.0.12 + +_Placeholder for the change_ [^1] [^2] + + + +[^1]: https://github.com/OpenMage/magento-lts/releases/tag/v19.4.14 +[^2]: https://github.com/OpenMage/magento-lts/releases/tag/v20.0.12 diff --git a/docs/content/blog/posts/releases/2021-08-27-release-19-4-15-and-20-0-13.md b/docs/content/blog/posts/releases/2021-08-27-release-19-4-15-and-20-0-13.md new file mode 100644 index 00000000000..0d8b37c052d --- /dev/null +++ b/docs/content/blog/posts/releases/2021-08-27-release-19-4-15-and-20-0-13.md @@ -0,0 +1,29 @@ +--- +title: Release v19.4.15 and v20.0.13 +draft: false +date: 2021-08-27 +authors: + - robertrogge +categories: + - Releases v19 + - Releases v20 + - Security +tags: + - Security +hide: + - toc +--- + +# New Release 19.4.15 and 20.0.13 + +With the release of OpenMage 19.4.15 [^1] and 20.0.13 [^2], the system is now fully compatible with PHP 8. + + + +The releases also include over 40 improvements from the last two months. In addition, two security vulnerabilities have been closed +with the patches CVE-2021-32758 [^3] and CVE-2021-32759 [^4]. + +[^1]: https://github.com/OpenMage/magento-lts/releases/tag/v19.4.15 +[^2]: https://github.com/OpenMage/magento-lts/releases/tag/v20.0.13 +[^3]: https://github.com/OpenMage/magento-lts/security/advisories/GHSA-26rr-v2j2-25fh +[^4]: https://github.com/OpenMage/magento-lts/security/advisories/GHSA-xm9f-vxmx-4m58 diff --git a/docs/content/blog/posts/releases/2022-05-19-release-19-4-16-and-20-0-14.md b/docs/content/blog/posts/releases/2022-05-19-release-19-4-16-and-20-0-14.md new file mode 100644 index 00000000000..7f053c6b1c2 --- /dev/null +++ b/docs/content/blog/posts/releases/2022-05-19-release-19-4-16-and-20-0-14.md @@ -0,0 +1,23 @@ +--- +title: Release v19.4.16 and v20.0.14 +draft: false +date: 2022-05-19 +authors: + - robertrogge +categories: + - Releases v19 + - Releases v20 +hide: + - toc +--- + +# New Release 19.4.16 and 20.0.14 + +With the release of OpenMage 19.4.16 [^1] and 20.0.14 [^2], the system was further prepared for compatibility with PHP 8.1. + +The releases also include dozens of fixes and improvements from the last months. + + + +[^1]: https://github.com/OpenMage/magento-lts/releases/tag/v19.4.16 +[^2]: https://github.com/OpenMage/magento-lts/releases/tag/v20.0.14 diff --git a/docs/content/blog/posts/releases/2022-08-02-release-19-4-17-and-20-0-15.md b/docs/content/blog/posts/releases/2022-08-02-release-19-4-17-and-20-0-15.md new file mode 100644 index 00000000000..484006f45e1 --- /dev/null +++ b/docs/content/blog/posts/releases/2022-08-02-release-19-4-17-and-20-0-15.md @@ -0,0 +1,35 @@ +--- +title: Release v19.4.17 and v20.0.15 +draft: false +date: 2022-08-02 +authors: + - sreichel +categories: + - Releases v19 + - Releases v20 +tags: + - WSDL +hide: + - toc +--- + +# New Release 19.4.17 and 20.0.15 + +## Important things you should check before upgrading + +With the release of OpenMage 19.4.17 [^1] and 20.0.15 [^2], `targetNamespace` changed for of all the WSDL files (used in the API modules), from `Magento` to `OpenMage`. + + + +If your custom modules extends OpenMage's APIs with a custom WSDL file and there are some hardcoded targetNamespace="urn:Magento" string, your APIs may stop working. + +Please replace all occurrences of `targetNamespace="urn:Magento"` with `targetNamespace="urn:OpenMage"` (or alternatively `targetNamespace="urn:{{var wsdl.name}}"`) to avoid any problem. + +To find which files need the modification you can run from the root directory of your project: + +``` bash +grep -rn 'urn:Magento' --include \*.xml +``` + +[^1]: https://github.com/OpenMage/magento-lts/releases/tag/v19.4.17 +[^2]: https://github.com/OpenMage/magento-lts/releases/tag/v20.0.15 diff --git a/docs/content/blog/posts/releases/2022-09-04-release-19-4-18-and-20-0-16.md b/docs/content/blog/posts/releases/2022-09-04-release-19-4-18-and-20-0-16.md new file mode 100644 index 00000000000..3e530ea72c3 --- /dev/null +++ b/docs/content/blog/posts/releases/2022-09-04-release-19-4-18-and-20-0-16.md @@ -0,0 +1,24 @@ +--- +title: Release v19.4.18 and v20.0.16 +draft: false +date: 2022-09-04 +authors: + - sreichel +categories: + - Releases v19 + - Releases v20 +hide: + - toc +--- + +# New Release 19.4.18 and 20.0.16 + +This is a bugfix release [^1] [^2] with a couple of perfect enhancements. +In the meanwhile we're working on completing the full PHPStan validation, which is allowing us to reformat the whole source code to make it look more beautiful than ever. + + + +Last but not least, we already merged 2 PRs for the upcoming PHP 8.2 support! + +[^1]: https://github.com/OpenMage/magento-lts/releases/tag/v19.4.18 +[^2]: https://github.com/OpenMage/magento-lts/releases/tag/v20.0.16 diff --git a/docs/content/blog/posts/releases/2022-11-08-release-19-4-19-and-20-0-17.md b/docs/content/blog/posts/releases/2022-11-08-release-19-4-19-and-20-0-17.md new file mode 100644 index 00000000000..0dc0015932e --- /dev/null +++ b/docs/content/blog/posts/releases/2022-11-08-release-19-4-19-and-20-0-17.md @@ -0,0 +1,27 @@ +--- +title: Release v19.4.19 and v20.0.17 +draft: false +date: 2022-11-08 +authors: + - robertrogge +categories: + - Releases v19 + - Releases v20 +hide: + - toc +--- + +# New Release 19.4.19 and 20.0.17 + +## Important things you should check before upgrading + +This release [^1] [^2] requires PHP 7.3 with `intl` extension, do not upgrade if your system doesn't match this requirement. + + + +This is a maintenance release with small bugfixes, code cleanup, documentation improvements and a better overall PHPStan coverage. +We're also bumping the minimum required PHP version to 7.3 with `intl` extension enabled. +Our source code finally has a much better "copyright" section, to thank all the team that is contributing to this beautiful project. + +[^1]: https://github.com/OpenMage/magento-lts/releases/tag/v19.4.19 +[^2]: https://github.com/OpenMage/magento-lts/releases/tag/v20.0.17 diff --git a/docs/content/blog/posts/releases/2022-12-01-release-19-4-20-and-20-0-18.md b/docs/content/blog/posts/releases/2022-12-01-release-19-4-20-and-20-0-18.md new file mode 100644 index 00000000000..7dcb480473d --- /dev/null +++ b/docs/content/blog/posts/releases/2022-12-01-release-19-4-20-and-20-0-18.md @@ -0,0 +1,29 @@ +--- +title: Release v19.4.20 and v20.0.18 +draft: false +date: 2022-12-01 +authors: + - sreichel +categories: + - Releases v19 + - Releases v20 +hide: + - toc +--- + +# New Release 19.4.20 and 20.0.18 + +This is mainly a bugfix release [^1] [^2] with a couple of optimizations. + + + +Most importantly we've fixed bugs regarding: + +- fixer.io currency exchange rate provider +- CSS merge +- indexes + +Upgrading is highly suggested, but always backup and test before doing it. + +[^1]: https://github.com/OpenMage/magento-lts/releases/tag/v19.4.20 +[^2]: https://github.com/OpenMage/magento-lts/releases/tag/v20.0.18 diff --git a/docs/content/blog/posts/releases/2022-12-23-release-19-4-21.md b/docs/content/blog/posts/releases/2022-12-23-release-19-4-21.md new file mode 100644 index 00000000000..29de2dca869 --- /dev/null +++ b/docs/content/blog/posts/releases/2022-12-23-release-19-4-21.md @@ -0,0 +1,23 @@ +--- +title: Release v19.4.21 +draft: false +date: 2022-12-23 +authors: + - sreichel +categories: + - Releases v19 +hide: + - toc +--- + +# New Release 19.4.21 + +This is a hotfix release [^1], it includes only the solution to a single bug that was released in 19.4.20 (OpenMage/magento-lts#2793). + + + +Said bug doesn't seem to be present on 20.0.18 and that's why you'll not find the matching hotfix release for our v20 branch. + +Upgrading is highly suggested, but always backup and test before doing it. + +[^1]: https://github.com/OpenMage/magento-lts/releases/tag/v19.4.21 diff --git a/docs/content/blog/posts/releases/2023-01-27-release-19-4-22-and-20-0-19.md b/docs/content/blog/posts/releases/2023-01-27-release-19-4-22-and-20-0-19.md new file mode 100644 index 00000000000..09c0ce97c36 --- /dev/null +++ b/docs/content/blog/posts/releases/2023-01-27-release-19-4-22-and-20-0-19.md @@ -0,0 +1,41 @@ +--- +title: Release v19.4.22 and v20.0.19 +draft: false +date: 2023-01-27 +authors: + - robertrogge +categories: + - Releases v19 + - Releases v20 + - Security +tags: + - Security +hide: + - toc +--- + +# New Release 19.4.22 and 20.0.19 + +This important security update includes six security issues: + + + +See: + +- CVE-2021-21395 [^1] +- CVE-2021-39217 [^2] +- CVE-2021-41143 [^3] +- CVE-2021-41144 [^4] +- CVE-2021-41231 [^5] +- CVE-2021-41231 [^6] + +Except CVE-2021-21395 [^1] all updates are backwards compatible. + +For custom themes with a password reset form some code needs to be added. + +[^1]: https://github.com/advisories/GHSA-r3c9-9j5q-pwv4 +[^2]: https://github.com/advisories/GHSA-c9q3-r4rv-mjm7 +[^3]: https://github.com/advisories/GHSA-h632-p764-pjqm +[^4]: https://github.com/advisories/GHSA-5vpv-xmcj-9q85 +[^5]: https://github.com/advisories/GHSA-h632-p764-pjqm +[^6]: https://github.com/advisories/GHSA-3p73-mm7v-4f6m diff --git a/docs/content/blog/posts/releases/2023-02-03-release-19-4-23-and-20-0-20.md b/docs/content/blog/posts/releases/2023-02-03-release-19-4-23-and-20-0-20.md new file mode 100644 index 00000000000..5a043a331da --- /dev/null +++ b/docs/content/blog/posts/releases/2023-02-03-release-19-4-23-and-20-0-20.md @@ -0,0 +1,27 @@ +--- +title: Release v19.4.23 and v20.0.20 +draft: false +date: 2023-02-03 +authors: + - robertrogge +categories: + - Releases v19 + - Releases v20 + - Security +tags: + - Security +hide: + - toc +--- + +# New Release 19.4.23 and 20.0.20 + +With this security update a single issue was fixed. + + + +See: + +- CVE-2020-27511 [^1] + +[^1]: https://github.com/advisories/GHSA-6269-grv3-jc94 diff --git a/docs/content/blog/posts/releases/2023-08-02-release-20-1-0.md b/docs/content/blog/posts/releases/2023-08-02-release-20-1-0.md new file mode 100644 index 00000000000..1b650cbbda2 --- /dev/null +++ b/docs/content/blog/posts/releases/2023-08-02-release-20-1-0.md @@ -0,0 +1,58 @@ +--- +title: Release v20.1.0 +draft: false +date: 2023-08-02 +comments: true +authors: + - fballiano +categories: + - Releases v20 +tags: + - ZF1Future +hide: + - toc +--- + +# New Release 20.1.0 + +## You should absolutely know + +Since the approval of our second RFC - release schedule OpenMage 19.x enters and "patch only" state, it will be maintained for two more years as promised but only significant security patches or regression fixes will be ported to v19, every other development (and we have many) will be focused on v20+. + +We encourage everybody to upgrade to v20, it is our latest and greatest and deserves the bit of work necessary for the upgrade (ask your developer/agency, don't do it yourself). + + + +## Release highlights [^1] + +This is a big release, that's why we decided to move away from the 20.0.x versioning and go to 20.1.x. Since a lot of changes could have some impact on current installations we decided to release some "rc" versions before the official 20.1.0. Tests are more than welcome now but be extra careful with production environment. + +What's most important is the removal of all the 3rd party libraries (`phpseclib`, `mcrypt_compat`, `Cm_RedisSession`, `Cm_Cache_Backend_Redis` and `Pelago_Emogrifier` and Zend Framework) form our repository, they are now imported via composer. This was an important step to clean up and modernise our code. + +- If you want to clean up your project from all the files that were removed during this release cycle, please check this link for the complete list. + +Don't worry though, if you've always installed OpenMage extracting the zip file, starting from this release you'll find a new zip file attached to the release itself, we build this zip adding all of the old 3rd party libraries so that you will not have to migrate to composer or use composer at all. + +### Also: + +- PHP 7.4 is now the minimum required version and 8.2 is now supported. +- The M1 legacy themes have been moved to an external repository since it's old (and mostly unused) code. +- A great improvement to EAV config cache has been added to v20. +- Support for Google Analytics 4 and Google Tag Manager was added with enhanced ecommerce data (which historically was always provided by 3rd party extensions). +- Possibility to set backend locale per every admin user was added. +- "pub/" folder structure was introduced (optional), to have extra security for your installation +- Massive performance improvement in complex SQL queries (#2210) +- Native WebP support +- Many, many smaller bugfix and improvements + +### Things you should be aware of: + +- Support for Google Analytics3 and Universal Analytics were removed. +- Support for UPS CGI API (which was shut down in May 2023) was removed. +- Old inactive quotes are now actually purged from the database (#1489). + +## Known issues: + +The `pub/` folder structure won't work in composer managed projects, because the composer-magento plugin can't manage symlinks inside `pub/` correctly (#1210). + +[^1]: https://github.com/OpenMage/magento-lts/releases/tag/v20.1.0 diff --git a/docs/content/blog/posts/releases/2023-09-05-release-20-1-1.md b/docs/content/blog/posts/releases/2023-09-05-release-20-1-1.md new file mode 100644 index 00000000000..80b93e406b9 --- /dev/null +++ b/docs/content/blog/posts/releases/2023-09-05-release-20-1-1.md @@ -0,0 +1,32 @@ +--- +title: Release v20.1.1 +draft: false +date: 2023-09-05 +comments: true +authors: + - fballiano +categories: + - Releases v20 +tags: + - ZF1Future +hide: + - toc +--- + +# New Release 20.1.1 + +After the colossal 20.1.0 [^2] release just a few weeks back, it's time for a little "smooth the edges" update, but don't be fooled, it's as important as your morning coffee! + + + +## Highlights [^1] + +- ๐Ÿ› ๏ธ ZF1Future's version in composer is strictly specified now, it order to fix problems with future upstream upgrades and our composer patches +- ๐Ÿš€ Totally new JSON-RPC API is now available, with support for install-login via HTTP basic auth, it seems to be much more performant than the SOAP one so definitely check it out +- ๐Ÿ“ฆ USPS module got a nice upgrade to support the latest changes in USPS APIs and services +- ๐Ÿช A vulnerability about "guest order view" cookie tampering was fixed, with the introduction of a "rate limiting" API you can use in your own code too +- ๐Ÿž Few other bugfix and updates + + +[^1]: https://github.com/OpenMage/magento-lts/releases/tag/v20.1.1 +[^2]: [New Release 20.1.0](2023-08-02-release-20-1-0.md) diff --git a/docs/content/blog/posts/releases/2023-10-27-release-20-2-0.md b/docs/content/blog/posts/releases/2023-10-27-release-20-2-0.md new file mode 100644 index 00000000000..e1f73d09d5b --- /dev/null +++ b/docs/content/blog/posts/releases/2023-10-27-release-20-2-0.md @@ -0,0 +1,39 @@ +--- +title: Release v20.2.0 +draft: false +date: 2023-10-27 +comments: true +authors: + - fballiano +categories: + - Releases v20 +tags: + - Events + - PHP-8.3 + - TinyMCE +hide: + - toc +--- + +# New Release 20.2.0 + +OpenMage continues its remarkable journey with an important new release! + +Among the numerous pull requests, one truly stands out. After months of development, +we are thrilled to announce a significant upgrade to a core component of the OpenMage backend: + +The TinyMCE rich text editor skyrockets from its "more than 10-years-old" version 3 to the new and shining version 6.7! + + + +## Highlights [^1] + +- ๐Ÿ“ TinyMCE is updated from v3 to v6.7.1 +- ๐Ÿ”Œ composer.json now allows PHP 8.3 +- ๐Ÿงน Added a cron job to clean expired API sessions +- ๐Ÿ“Š Added `googleanalytics_ga4_send_data_before` to customize GA4 data +- ๐Ÿš€ Improved rate limit functions +- ๐Ÿ› ๏ธ Fixed _"Credit Memo not created when refund issued by merchant"_ +- ๐Ÿ“„ Switched DOCTYPE for `base/adminhtml` themes to HTML5 + +[^1]: https://github.com/OpenMage/magento-lts/releases/tag/v20.2.0 diff --git a/docs/content/blog/posts/releases/2023-12-26-release-20-3-0.md b/docs/content/blog/posts/releases/2023-12-26-release-20-3-0.md new file mode 100644 index 00000000000..81f037fe3e1 --- /dev/null +++ b/docs/content/blog/posts/releases/2023-12-26-release-20-3-0.md @@ -0,0 +1,34 @@ +--- +title: Release v20.3.0 +draft: false +date: 2023-12-26 +comments: true +authors: + - fballiano +categories: + - Releases v20 +tags: + - TinyMCE +hide: + - toc +--- + +# New Release 20.3.0 + +**๐ŸŽ‰๐Ÿ›’ Greetings, fellow Mage aficionados! +Brace yourselves for the magical unveiling of our latest release for this great 2023: OpenMage 20.3.0! ๐Ÿš€๐Ÿชฉ** + +This release isn't just another update; it's a recipe for the end of the year ecommerce party, with great ingredients like bugfixes, security enhancements, components and subsystems upgrades with a sprinkle of performance improvements. + + + +## Highlights [^1] + +- ๐Ÿ“ **TinyMCE is updated to v6.8.2** but most importantly **script and style tags inside the WYSIWYG editor are supported again** +- ๐Ÿ“Š Our Google Analytics 4 module now correctly handles projects where the manufacturer attribute is missing +- ๐Ÿš€ ConfigurableSwatches module loads its JS only if it's actually used +- ๐Ÿ›ก๏ธ Improved stampede prevention with empty config cache under high loads +- ๐Ÿ‹๏ธ Many minor PHP8+ warnings have been fixed +- ๐Ÿ‘‰ And so much more, check the full list of changes below + +[^1]: https://github.com/OpenMage/magento-lts/releases/tag/v20.3.0 diff --git a/docs/content/blog/posts/releases/2024-02-09-release-20-4-0.md b/docs/content/blog/posts/releases/2024-02-09-release-20-4-0.md new file mode 100644 index 00000000000..7d9e0e26a95 --- /dev/null +++ b/docs/content/blog/posts/releases/2024-02-09-release-20-4-0.md @@ -0,0 +1,36 @@ +--- +title: Release v20.4.0 +draft: false +date: 2024-02-09 +comments: true +authors: + - fballiano +categories: + - Releases v20 +tags: + - TinyMCE +hide: + - toc +--- + +# New Release 20.4.0 + +๐Ÿš€โœจ Hello OpenMage enthusiasts! It's time for our first release of 2024! +OpenMage 20.4.0 brings many fixes to PHP8.1+ warnings and a few nice addition, be sure to get it while it's hot! ๐Ÿง™โ€โ™‚๏ธ๐Ÿ”ฅ + + + +## Highlights [^1] + +- Updated ZF1F to 1.24.0 by @fballiano in #3804 [^3804] +- Fixed autoincrement id fetching cache problem in import/export module by @leissbua in #3730 [^3730] +- Fixed reindex for configurable products without category assigned by @sreichel in #3785 [^3785] +- Fixed bug on incorrect callback URL when saving OAuth Token. by @kiatng in #3770 [^3770] +- Added whitelist to OAuth consumer callback URLs to allow custom URL scheme by @kiatng in #3774 [^3774] + +[^1]: https://github.com/OpenMage/magento-lts/releases/tag/v20.4.0 +[^3730]: https://github.com/OpenMage/magento-lts/pull/3730 +[^3770]: https://github.com/OpenMage/magento-lts/pull/3770 +[^3774]: https://github.com/OpenMage/magento-lts/pull/3774 +[^3785]: https://github.com/OpenMage/magento-lts/pull/3785 +[^3804]: https://github.com/OpenMage/magento-lts/pull/3804 diff --git a/docs/content/blog/posts/releases/2024-02-28-release-20-5-0.md b/docs/content/blog/posts/releases/2024-02-28-release-20-5-0.md new file mode 100644 index 00000000000..f8a24583192 --- /dev/null +++ b/docs/content/blog/posts/releases/2024-02-28-release-20-5-0.md @@ -0,0 +1,31 @@ +--- +title: Release v20.5.0 +draft: false +date: 2024-02-28 +comments: true +authors: + - fballiano +categories: + - Releases v20 + - Security +tags: + - Security +hide: + - toc +--- + +# New Release 20.5.0 + +**๐ŸŽ‰๐ŸŽ‰๐ŸŽ‰ We are thrilled to announce OpenMage 20.5.0, the latest and greatest version of your favorite ecommerce platform! ๐ŸŽ‰๐ŸŽ‰๐ŸŽ‰** + +This release surely packs a good amount of new features, so much so that we had to add a dedicated section to the changelog! +But it also comes with a bunch of bugfix, components updates and most importantly a security fix! [^1] + + + +See: + +- CVE-2024-20717 (XSS) [^2] Stored XSS in admin system configs + +[^1]: https://github.com/OpenMage/magento-lts/releases/tag/v20.5.0 +[^2]: https://github.com/OpenMage/magento-lts/security/advisories/GHSA-gp6m-fq6h-cjcx diff --git a/docs/content/blog/posts/releases/2024-04-06-release-20-6-0.md b/docs/content/blog/posts/releases/2024-04-06-release-20-6-0.md new file mode 100644 index 00000000000..2abbeb2ae15 --- /dev/null +++ b/docs/content/blog/posts/releases/2024-04-06-release-20-6-0.md @@ -0,0 +1,20 @@ +--- +title: Release v20.6.0 +draft: false +date: 2024-04-06 +comments: true +authors: + - fballiano +categories: + - Releases v20 +hide: + - toc +--- + +# New Release 20.6.0 + +A solid bugfix release this 20.6.0, with some accessibility improvements to the RWD theme too, which will improve the lighthouse scores that everybody loves ;-) [^1] + + + +[^1]: https://github.com/OpenMage/magento-lts/releases/tag/v20.6.0 diff --git a/docs/content/blog/posts/releases/2024-05-07-release-20-7-0.md b/docs/content/blog/posts/releases/2024-05-07-release-20-7-0.md new file mode 100644 index 00000000000..440dd195f1e --- /dev/null +++ b/docs/content/blog/posts/releases/2024-05-07-release-20-7-0.md @@ -0,0 +1,25 @@ +--- +title: Release v20.7.0 +draft: false +date: 2024-05-07 +comments: true +authors: + - fballiano +categories: + - Releases v20 +tags: + - ConfigurableSwatches + - ENV variables + - UPS REST API +hide: + - toc +--- + +# New Release 20.7.0 + +**This is such a great release I don't even know how to start, packed with new features like never before! ๐Ÿคฏ +Carefully check the ๐Ÿ“– changelog and, if your store uses ๐Ÿšš UPS, double check the feature number 4, it is extremely important! ๐Ÿšจ** [^1] + + + +[^1]: https://github.com/OpenMage/magento-lts/releases/tag/v20.7.0 diff --git a/docs/content/blog/posts/releases/2024-05-21-release-20-8-0.md b/docs/content/blog/posts/releases/2024-05-21-release-20-8-0.md new file mode 100644 index 00000000000..1cf8e0f4546 --- /dev/null +++ b/docs/content/blog/posts/releases/2024-05-21-release-20-8-0.md @@ -0,0 +1,23 @@ +--- +title: Release v20.8.0 +draft: false +date: 2024-05-21 +comments: true +authors: + - fballiano +categories: + - Releases v20 +tags: + - UPS REST API +hide: + - toc +--- + +# New Release 20.8.0 + +This is a small but important release, necessary to iron out a couple of fixes and improvements with the new UPS APIs +and it's necessary to release it now in order for everybody to test and upgrade before 3rd June 2024, when the old UPS XML APIs will be retired. [^1] + + + +[^1]: https://github.com/OpenMage/magento-lts/releases/tag/v20.8.0 diff --git a/docs/content/blog/posts/releases/2024-05-29-release-20-9-0.md b/docs/content/blog/posts/releases/2024-05-29-release-20-9-0.md new file mode 100644 index 00000000000..15ab42154c6 --- /dev/null +++ b/docs/content/blog/posts/releases/2024-05-29-release-20-9-0.md @@ -0,0 +1,23 @@ +--- +title: Release v20.9.0 +draft: false +date: 2024-05-29 +comments: true +authors: + - fballiano +categories: + - Releases v20 +tags: + - UPS REST API +hide: + - toc +--- + +# New Release 20.9.0 + +Another small but important release, mostly oriented towards fixing a couple of bugs with the new UPS APIs. +Remember, the old UPS XML APIs will be shut down on 3rd June 2024. [^1] + + + +[^1]: https://github.com/OpenMage/magento-lts/releases/tag/v20.9.0 diff --git a/docs/content/blog/posts/releases/2024-07-02-release-20-10-0.md b/docs/content/blog/posts/releases/2024-07-02-release-20-10-0.md new file mode 100644 index 00000000000..7deaad33298 --- /dev/null +++ b/docs/content/blog/posts/releases/2024-07-02-release-20-10-0.md @@ -0,0 +1,24 @@ +--- +title: Release v20.10.0 +draft: false +date: 2024-07-02 +comments: true +authors: + - fballiano +categories: + - Releases v20 +tags: + - PHP-8.4 +hide: + - toc +--- + +# New Release 20.10.0 + +This release brings copyable cells to backend grids, preliminary PHP 8.4 support, improved MariaDB compatibility and fixes to a bundle of important issues. + +From smoothing out UPS REST API handling, an old cache problem in primary navigation block and a couple of minor regressions in product's attribute handling. [^1] + + + +[^1]: https://github.com/OpenMage/magento-lts/releases/tag/v20.10.0 diff --git a/docs/content/blog/posts/releases/2024-07-24-release-20-10-1.md b/docs/content/blog/posts/releases/2024-07-24-release-20-10-1.md new file mode 100644 index 00000000000..3f12ec43bdc --- /dev/null +++ b/docs/content/blog/posts/releases/2024-07-24-release-20-10-1.md @@ -0,0 +1,28 @@ +--- +title: Release v20.10.1 +draft: false +date: 2024-07-24 +comments: true +authors: + - Flyingmana +categories: + - Releases v20 + - Security +tags: + - Security +hide: + - toc +--- + +# New Release 20.10.1 + +With this security update a single issue was fixed. [^1] + + + +See: + +- CVE-2024-41676 [^2] Stored XSS in admin system configs + +[^1]: https://github.com/OpenMage/magento-lts/releases/tag/v20.10.2 +[^2]: https://github.com/OpenMage/magento-lts/security/advisories/GHSA-5vrp-638w-p8m2 diff --git a/docs/content/blog/posts/releases/2024-07-27-release-20-10-2.md b/docs/content/blog/posts/releases/2024-07-27-release-20-10-2.md new file mode 100644 index 00000000000..26ce4cb3e35 --- /dev/null +++ b/docs/content/blog/posts/releases/2024-07-27-release-20-10-2.md @@ -0,0 +1,20 @@ +--- +title: Release v20.10.2 +draft: false +date: 2024-07-27 +comments: true +authors: + - Flyingmana +categories: + - Releases v20 +hide: + - toc +--- + +# New Release 20.10.2 + +Bump coded in version tag, which was missed in the previous release.[^1] + + + +[^1]: https://github.com/OpenMage/magento-lts/releases/tag/v20.10.2 diff --git a/docs/content/developers/changelog/index.md b/docs/content/developers/changelog/index.md index 403caefbd7a..ae4eaa2a320 100644 --- a/docs/content/developers/changelog/index.md +++ b/docs/content/developers/changelog/index.md @@ -19,6 +19,7 @@ Most important changes will be listed here, all other changes since `19.4.0` can - `Mage_GoogleBase` - `Mage_PageCache` ([#2258](https://github.com/OpenMage/magento-lts/pull/2258)) - `Mage_Poll` ([#3098](https://github.com/OpenMage/magento-lts/pull/3098)) + - `Mage_Sendfriend` ([#4274](https://github.com/OpenMage/magento-lts/pull/4274)) - `Mage_Xmlconnect` - `Phoenix_Moneybookers` @@ -42,6 +43,12 @@ _If you rely on those modules you can reinstall them with composer:_ composer require openmage/module-mage-poll ``` +- Module `Mage_Sendfriend` + + ```bash + composer require openmage/module-mage-sendfriend + ``` + - Legacy frontend themes ```bash diff --git a/docs/content/developers/changelog/new-config.md b/docs/content/developers/changelog/new-config.md index 88f57a919ae..308e0bcf7f5 100644 --- a/docs/content/developers/changelog/new-config.md +++ b/docs/content/developers/changelog/new-config.md @@ -23,6 +23,9 @@ Set log level from config. ([#1727](https://github.com/OpenMage/magento-lts/pull ## `newsletter/security/enable_form_key` \[Theme BC] Add formkey validation to Newsletter subscribe action. ([#1866](https://github.com/OpenMage/magento-lts/pull/1866)) +## `rss/admin_order/new_period` +Better config for admin RSS links. ([#4243](https://github.com/OpenMage/magento-lts/pull/4243)) + ## `sitemap/category/lastmod` Made sitemap more flexible. ([#1854](https://github.com/OpenMage/magento-lts/pull/1854)) diff --git a/docs/content/developers/changelog/soap-wsdl.md b/docs/content/developers/changelog/soap-wsdl.md index d411876a3a2..21d99614f6c 100644 --- a/docs/content/developers/changelog/soap-wsdl.md +++ b/docs/content/developers/changelog/soap-wsdl.md @@ -1,3 +1,9 @@ +--- +tags: +- WSDL +--- + + # SOAP/WSDL Since `19.4.17`/`20.0.15` we changed the `targetNamespace` of all the WSDL files (used in the API modules), from `Magento` to `OpenMage`. diff --git a/docs/content/developers/error-pages.md b/docs/content/developers/error-pages.md index e74656baa64..1348fce68df 100644 --- a/docs/content/developers/error-pages.md +++ b/docs/content/developers/error-pages.md @@ -38,7 +38,7 @@ This is what it looks like as a rewrite rule: === "Nginx" - !!! question + !!! bug "" The setting should be added for multistore setups. diff --git a/docs/content/developers/mkdocs.md b/docs/content/developers/mkdocs.md index e665eed25c8..61144e96aff 100644 --- a/docs/content/developers/mkdocs.md +++ b/docs/content/developers/mkdocs.md @@ -22,6 +22,10 @@ tags: pip3 install mkdocs mkdocs-material mkdocs-minify-plugin mkdocs-redirects ``` +!!! danger + + Do not use unmaintained `apt` packages. + ## Commands Create a new project @@ -66,4 +70,3 @@ docs_includes/ # Need to stay outside "docs" ``` [^1]: see https://realpython.com/installing-python/ -[^2]: do not use unmaintained `apt` packages diff --git a/php.ini.sample b/docs/content/developers/samples/php-ini.md similarity index 94% rename from php.ini.sample rename to docs/content/developers/samples/php-ini.md index ef34ea33fda..5daaa92e8ca 100644 --- a/php.ini.sample +++ b/docs/content/developers/samples/php-ini.md @@ -1,3 +1,11 @@ +--- +hide: + - toc +--- + +# php.ini + +```ini ; This file is for CGI/FastCGI installations ; Try copying it to php7.ini or php8 if it doesn't work @@ -29,3 +37,4 @@ extension=mcrypt.so ; Disable PHP errors, notices and warnings output in production mode to prevent exposing sensitive information display_errors = Off +``` diff --git a/robots.txt.sample b/docs/content/developers/samples/robots-txt.md similarity index 98% rename from robots.txt.sample rename to docs/content/developers/samples/robots-txt.md index 1735e56422f..7c9bfae6a4e 100644 --- a/robots.txt.sample +++ b/docs/content/developers/samples/robots-txt.md @@ -1,3 +1,11 @@ +--- +hide: + - toc +--- + +# robots.txt + +```text ############################################ ## For more information about the robots.txt standard visit ## http://www.robotstxt.org/orig.html @@ -99,3 +107,4 @@ Disallow: /*?SID= # Disallow: / # Disallow: */media/ # Disallow: */skin/ +``` diff --git a/docs/content/developers/ddev.md b/docs/content/developers/tools/ddev.md similarity index 88% rename from docs/content/developers/ddev.md rename to docs/content/developers/tools/ddev.md index 9f4a7b6caa5..1f75e7059fb 100644 --- a/docs/content/developers/ddev.md +++ b/docs/content/developers/tools/ddev.md @@ -1,14 +1,15 @@ +--- +tags: +- Development +--- + # DDEV See: https://ddev.com -## Using n98-magerun - -You can use the swiss army knife for Magento developers, sysadmins and devops. The tool provides a huge set of well tested command line commands which save hours of work time. - -Run any n98-magerun command in the terminal window by adding **ddev** in front of it. For example `ddev magerun sys:info` prints infos about the current OpenMage system. +!!! info "Test Environment for OpenMage in Windows 10 Based on DDEV" -For more information about the available commands please visit https://n98-magerun.readthedocs.io/en/latest/index.html. + See https://github.com/OpenMage/magento-lts/discussions/3839 ## Using phpMyAdmin @@ -40,7 +41,7 @@ By default the OpenMage cronjob runs every minute. If you want to change it edit You can set the OpenMage cronjob using DDEV hooks, but you must comment all the lines in the file `.ddev/web-build/openmage.cron`. Edit the file `.ddev/config.yaml` and insert the following lines -``` +```yml hooks: post-start: - exec: printf "SHELL=/bin/bash\n* * * * * /var/www/html/cron.sh\n" | crontab @@ -51,7 +52,7 @@ hooks: Set environment variables editing the file `.ddev/config.yaml`. If you want to enable the Developer Mode insert the following lines -``` +```yml web_environment: [ MAGE_IS_DEVELOPER_MODE=1 ] @@ -65,13 +66,16 @@ Every DDEV project is automatically configured with Xdebug so that popular IDEs Run the following commands in the terminal window to enable or disable xDebug -`ddev xdebug on` - -`ddev xdebug off` +```bash +ddev xdebug on` +``` +```bash +ddev xdebug off +``` If Xdebug does not work properly with PHPStorm edit the file `.ddev/php/xdebug.ini` and insert the following lines -``` +```ini [xdebug] xdebug.mode=debug xdebug.start_with_request=trigger @@ -81,7 +85,7 @@ xdebug.start_with_request=trigger Please note that DDEV changes the port numbers on every restart. If you want to access the database in PHPStorm you must set up a fixed port. Edit the file `.ddev/config.yaml` and insert the following line -``` +```yml host_db_port: 6000 ``` @@ -91,7 +95,7 @@ See: https://github.com/ddev/ddev-browsersync Browsersync features live reloads, click mirroring, network throttling. Run the following commands in the terminal window -``` +```bash ddev get ddev/ddev-browsersync ddev restart ddev browsersync @@ -105,7 +109,7 @@ Compass is required for editing SCSS files. Create a new file named `.ddev/web-build/Dockerfile.ddev-compass` and insert the following lines -``` +```dockerfile ARG BASE_IMAGE FROM $BASE_IMAGE RUN apt-get update @@ -121,7 +125,7 @@ For more information, please visit https://stackoverflow.com/questions/61787926/ Create a new file named `phpstan` in the `.ddev/commands/web` directory and insert the following lines -``` +```bash #!/bin/bash ## Description: run PHPStan @@ -139,12 +143,10 @@ Run in the terminal window `ddev phpstan`. You can use flags, for example `ddev openmage-install -d -s -k -q` -``` --d (default values for the administrator account) --s (sampledata installation) --k (keeps the downloaded archive in the .ddev/.sampleData directory) --q (quiet mode) -``` +- `-d` (default values for the administrator account) +- `-s` (sampledata installation) +- `-k` (keeps the downloaded archive in the .ddev/.sampleData directory) +- `-q` (quiet mode) **2. By default, running the `ddev config` command does not create an administrator account. If you want to create or update one run in the terminal window `ddev openmage-admin` and follow the steps.** @@ -226,9 +228,13 @@ mkcert is a simple tool for making locally-trusted development certificates. If For example, copy `rootCA.pem` and `rootCA-key.pem` +From: +``` +C:\Users\\AppData\Local\mkcert +``` +To: ``` -From: C:\Users\\AppData\Local\mkcert -To: /home//.local/share/mkcert +/home//.local/share/mkcert ``` ## Installing OpenMage in the browser @@ -237,11 +243,9 @@ If you want to install OpenMage in the browser rename or delete the `/app/etc/lo For the database connection use the following information -``` -Host: db -Database Name: db -User Name: db -User Password: db -``` +- Host: db +- Database Name: db +- User Name: db +- User Password: db ![installation](https://github.com/OpenMage/magento-lts/assets/909743/7b31ccf2-f13f-43ce-b065-c0328b2a649b) diff --git a/docs/content/developers/tools/n98-magerun.md b/docs/content/developers/tools/n98-magerun.md new file mode 100644 index 00000000000..975ebb87aa3 --- /dev/null +++ b/docs/content/developers/tools/n98-magerun.md @@ -0,0 +1,16 @@ +--- +tags: +- Development +--- + +# N98-magerun + +See: https://github.com/netz98/n98-magerun + +## Using n98-magerun + +You can use the swiss army knife for Magento developers, sysadmins and devops. The tool provides a huge set of well tested command line commands which save hours of work time. + +Run any n98-magerun command in the terminal window by adding **ddev** in front of it. For example `ddev magerun sys:info` prints infos about the current OpenMage system. + +For more information about the available commands please visit https://n98-magerun.readthedocs.io/en/latest/index.html. diff --git a/docs/content/developers/phpstorm.md b/docs/content/developers/tools/phpstorm.md similarity index 80% rename from docs/content/developers/phpstorm.md rename to docs/content/developers/tools/phpstorm.md index eae51f5fe02..95914c6c612 100644 --- a/docs/content/developers/phpstorm.md +++ b/docs/content/developers/tools/phpstorm.md @@ -1,10 +1,13 @@ --- tags: - Development +- SCSS --- # PhpStorm +See: https://www.jetbrains.com/phpstorm/ + ## Metadata Factory Helper This repo includes class maps for the core Magento files in `.phpstorm.meta.php`. @@ -19,10 +22,6 @@ You can add additional meta files in this directory to cover your own project fi [PhpStorm advanced metadata](https://www.jetbrains.com/help/phpstorm/ide-advanced-metadata.html) for more information. -You can add additional meta files in this directory to cover your own project files. See -[PhpStorm advanced metadata](https://www.jetbrains.com/help/phpstorm/ide-advanced-metadata.html) -for more information. - ## File-Watcher for SCSS files - install SCSS ```bash diff --git a/docs/content/users/install/index.md b/docs/content/users/install/index.md index f293a7a4648..ec3882d6fbf 100644 --- a/docs/content/users/install/index.md +++ b/docs/content/users/install/index.md @@ -1,6 +1,6 @@ # Installation -OpenMage provives differnt ways to install. We recommend to use [Composer](_use-composer.md). -If you want to contribute ot project, use [Git](_use-git.md). +OpenMage provives differnt ways to install. We recommend to use [Composer](use-composer.md). +If you want to contribute ot project, use [Git](use-git.md). -You can also download latest [Release](_use-tarball.md). +You can also download latest [Release](use-tarball.md). diff --git a/docs/content/users/install/_use-composer.md b/docs/content/users/install/use-composer.md similarity index 100% rename from docs/content/users/install/_use-composer.md rename to docs/content/users/install/use-composer.md index 4af98af1d58..e253b969fe9 100644 --- a/docs/content/users/install/_use-composer.md +++ b/docs/content/users/install/use-composer.md @@ -32,11 +32,11 @@ composer config extra.magento-root-dir pub ## Require `magento-core-composer-installer` -=== "PHP 7/8" +=== "PHP 8" - For PHP 7 and 8[^1] + Only for PHP 8[^1] ``` bash - composer require "aydin-hassan/magento-core-composer-installer":"~2.0.0 || ^2.1.0" + composer require "aydin-hassan/magento-core-composer-installer":"~2.1.0" ``` === "PHP 7" @@ -46,11 +46,11 @@ composer config extra.magento-root-dir pub composer require "aydin-hassan/magento-core-composer-installer":"^2.0.0" ``` -=== "PHP 8" +=== "PHP 7/8" - Only for PHP 8[^1] + For PHP 7 and 8[^1] ``` bash - composer require "aydin-hassan/magento-core-composer-installer":"~2.1.0" + composer require "aydin-hassan/magento-core-composer-installer":"~2.0.0 || ^2.1.0" ``` ## Require `magento-lts` diff --git a/docs/content/users/install/_use-git.md b/docs/content/users/install/use-git.md similarity index 100% rename from docs/content/users/install/_use-git.md rename to docs/content/users/install/use-git.md diff --git a/docs/content/users/install/_use-tarball.md b/docs/content/users/install/use-tarball.md similarity index 100% rename from docs/content/users/install/_use-tarball.md rename to docs/content/users/install/use-tarball.md diff --git a/docs/content/users/modules/analytics.md b/docs/content/users/modules/analytics.md new file mode 100644 index 00000000000..d420f3d993c --- /dev/null +++ b/docs/content/users/modules/analytics.md @@ -0,0 +1,17 @@ +--- +title: Analytics +tags: +- Modules +--- + +# Analytics modules + +## `vianetz/matomo-magento1` +A Magento 1 extension that allows you to get ecommerce transaction data into Matomo analytics. + +#### Install [^1] +```bash +composer require vianetz/matomo-magento1 +``` + +[^1]: https://github.com/vianetz/matomo-magento1 diff --git a/docs/content/users/modules/backend.md b/docs/content/users/modules/backend.md new file mode 100644 index 00000000000..63a80b5281e --- /dev/null +++ b/docs/content/users/modules/backend.md @@ -0,0 +1,28 @@ +--- +title: Backend +tags: +- Modules +--- + +# Backend modules + +## `empiricompany/openmage-mm_monacoeditor` +OpenMage / Magento 1.9 module extension that integrate Monaco Editor with Emmet and Tailwindcss Intellisense in CMS Static Blocks / Pages + +#### Install [^1] +```bash +composer require empiricompany/openmage-mm_monacoeditor +``` + +[^1]: https://github.com/empiricompany/openmage-mm_monacoeditor + +## `flagbit/magento-changeattributeset` +In Magento every product has a fixed attibute set. This module enables you to switch it. + +#### Install [^2] +```bash +composer require firegento/logger +``` + +[^1]: https://github.com/empiricompany/openmage-mm_monacoeditor +[^2]: https://github.com/flagbit/Magento-ChangeAttributeSet diff --git a/docs/content/users/modules/cache.md b/docs/content/users/modules/cache.md new file mode 100644 index 00000000000..0e5c290431b --- /dev/null +++ b/docs/content/users/modules/cache.md @@ -0,0 +1,35 @@ +--- +title: Cache +tags: +- Modules +--- + +# Cache modules + +## `colinmollenhour/Cm_Diehard` +Cm_Diehard: Full-Page Cache + +#### Install [^1] +```bash +composer require colinmollenhour/cm_diehard +``` + +## `fballiano/openmage-lesti-fpc` +Simple Magento Fullpagecache. + +#### Install [^2] +```bash +composer require fballiano/openmage-lesti-fpc +``` + +## `luigifab/openmage-turpentine-varnish` +Updated version of Varnish connector for OpenMage. + +#### Install [^3] +```bash +composer require luigifab/openmage-turpentine-varnish +``` + +[^1]: https://github.com/colinmollenhour/Cm_Diehard +[^2]: https://github.com/fballiano/openmage-lesti-fpc +[^3]: https://github.com/luigifab/openmage-turpentine-varnish diff --git a/docs/content/users/modules/captcha.md b/docs/content/users/modules/captcha.md new file mode 100644 index 00000000000..0cb2f5a2c2b --- /dev/null +++ b/docs/content/users/modules/captcha.md @@ -0,0 +1,47 @@ +--- +title: Captcha +tags: +- Modules +--- + +# Captcha modules + +## `fballiano/openmage-cloudflare-turnstile` +Turnstile is Cloudflare's CAPTCHA alternative. + +#### Install [^1] +```bash +composer require fballiano/openmage-cloudflare-turnstile +``` + +## `magento-hackathon/HoneySpam` +Spam protection module for various forms using honey pots. + +#### Install [^2] +```bash +composer require magento-hackathon/honeyspam +``` + +## `empiricompany/reCaptcha` +Clean integration of Google reCaptcha to OpenMage. + +__Attention__: +This is a mantained fork compatible with the latest versions of OpenMage LTS. + +#### Install [^3][^4] +!!! warning "" + + No composer install via packagist.org available. + +!!! tip "" + + Add this repository to your composer.json or is forked repository. See https://github.com/ProxiBlue/reCaptcha. + +```bash +composer require proxiblue/recaptcha +``` + +[^1]: https://github.com/fballiano/openmage-cloudflare-turnstile +[^2]: https://github.com/magento-hackathon/HoneySpam +[^3]: https://github.com/empiricompany/reCaptcha +[^4]: https://github.com/ProxiBlue/reCaptcha diff --git a/docs/content/users/modules/cron.md b/docs/content/users/modules/cron.md index 1e266b49db4..53087034d8a 100644 --- a/docs/content/users/modules/cron.md +++ b/docs/content/users/modules/cron.md @@ -1,17 +1,21 @@ --- +title: Cron tags: - Modules --- -# Cron +# Cron modules ## `AOEpeople/Aoe_Scheduler` -AOE Scheduler sits on top of Magento's default cron functionality allowing you to manage the jobs, to visualize the timeline and to get some deeper insight on what's going on behind the scenes and to shed some light on what might be going wrong. On top of that AOE Scheduler provides some more functionality like a cli and a web service interface, optimizing cron execution on your server and giving you everything you need to implement complex background tasks including for your Magento store. +AOE Scheduler sits on top of Magento's default cron functionality allowing you to manage the jobs, +to visualize the timeline and to get some deeper insight on what's going on behind the scenes and to shed some light on what might be going wrong. -#### Install +On top of that AOE Scheduler provides some more functionality like a cli and a web service interface, +optimizing cron execution on your server and giving you everything you need to implement complex background tasks including for your Magento store. + +#### Install [^1] ```bash composer require --dev aoepeople/aoe_scheduler ``` -#### Source -- https://github.com/AOEpeople/Aoe_Scheduler \ No newline at end of file +[^1]: https://github.com/AOEpeople/Aoe_Scheduler \ No newline at end of file diff --git a/docs/content/users/modules/email.md b/docs/content/users/modules/email.md index 6646a6aa96e..0135455d088 100644 --- a/docs/content/users/modules/email.md +++ b/docs/content/users/modules/email.md @@ -1,9 +1,10 @@ --- +title: Email tags: - Modules --- -# eMail +# Email modules ## `aschroder/Magento-SMTP-Pro-Email-Extension` Magento 1 SMTP Pro Extension by Ashley Schroder (aschroder.com) diff --git a/docs/content/users/modules/frontend.md b/docs/content/users/modules/frontend.md new file mode 100644 index 00000000000..6020446f315 --- /dev/null +++ b/docs/content/users/modules/frontend.md @@ -0,0 +1,38 @@ +--- +title: Frontend +tags: +- Modules +--- + +# Frontend modules + +## `customgento/CustomGento_ProductBadges` +Product Badges for Magento 1 offers you the possibility to add highly customizable badges to your product images without having any performance impact. + +#### Install [^1] +!!! warning "" + + No composer install available. + +## `fballiano/openmage-cssjs-versioning` +CSS/JS versioning module for OpenMage (and Magento 1.9). + +#### Install [^2] +```bash +composer require fballiano/openmage-cssjs-versioning +``` + +## `fballiano/openmage-defer-javascripts` +Clean integration of Google reCaptcha to OpenMage. + +__Attention__: +This is a mantained fork compatible with the latest versions of OpenMage LTS. + +#### Install [^3] +```bash +composer require fballiano/openmage-defer-javascripts +``` + +[^1]: https://github.com/customgento/CustomGento_ProductBadges +[^2]: https://github.com/fballiano/openmage-cssjs-versioning +[^3]: https://github.com/fballiano/openmage-defer-javascripts diff --git a/docs/content/users/modules/images.md b/docs/content/users/modules/images.md index 20f565cd3bb..525a4e9f62d 100644 --- a/docs/content/users/modules/images.md +++ b/docs/content/users/modules/images.md @@ -1,42 +1,45 @@ --- +title: Images tags: - Modules --- -# Images +# Image modules ## `anhuy1989/html5upload` -Html 5 Upload Image product and cms. +HTML5 Upload Image product and cms. -This Plugin enable the upload image width html5 it's possible upload multiple image. +This Plugin enable the upload image width HTML5 it's possible upload multiple image. -#### Source -- https://github.com/anhuy1989/html5upload +!!! warning "" + + No composer install available. [^1] ## `colinmollenhour/Perfect_Watermarks` -A replacement for Magento's GD2 image adapter with imagemagick. +Replacement for OpenMage's GD2 image adapter with ImageMagick. -#### Install +#### Install [^2] ```bash composer require colinmollenhour/perfect_watermarks ``` -#### Source -- https://github.com/colinmollenhour/Perfect_Watermarks - ## `fballiano/openmage-image-cleaner` -- Identify and remove orphan **category images** (reading data from the default "image" attribute and **all custom attributes** of type "image"). -- Identify and remove orphan **product images** (reading data from media_gallery) and **product images cache**. -- Identify and remove orphan **WYSIWYG images and files** (reading used images/files from cms_block, cms_page, core_email_template tables and all /skin/frontend CSS files). -- Check before delete: you can review (and download) the identified images before removing them. -- Possibility to **blacklist folders and/or files** (with wildcard support) not to ever identify them as orphans. -- Possibility to **flush media/import, media/tmp, var/export, var/importexport**. -- Compatible with **Magento 1.9, OpenMage 19 and OpenMage 20 on PHP >= 7.4**. - -#### Install +Image cleaner module for OpenMage (and Magento 1.9). + +#### Install [^3] ```bash composer require fballiano/openmage-image-cleaner ``` -#### Source -- https://github.com/fballiano/openmage-image-cleaner +## `yireo/magento1-webp` +Add WebP image support to your Magento pages. + +#### Install [^4] +```bash +composer require yireo/magento1-webp +``` + +[^1]: https://github.com/anhuy1989/html5upload +[^2]: https://github.com/colinmollenhour/Perfect_Watermarks +[^3]: https://github.com/fballiano/openmage-image-cleaner +[^4]: https://github.com/yireo-magento1/Yireo_Webp \ No newline at end of file diff --git a/docs/content/users/modules/log-debug.md b/docs/content/users/modules/log-debug.md new file mode 100644 index 00000000000..df3fdfe6024 --- /dev/null +++ b/docs/content/users/modules/log-debug.md @@ -0,0 +1,45 @@ +--- +title: Log & Debug +tags: +- Modules +--- + +# Log & Debug modules + +## `empiricompany/openmage_ignition` +OpenMage spatie-ignition integration for OpenMage. + +#### Install [^1] +```bash +composer require empiricompany/openmage_ignition +``` + +## `firegento/firegento-adminmonitoring` +The admin monitoring logs nearly every save and delete call in the backend. +The is to generate an overview of the changes in the backend to know who changed certain things. + +#### Install [^2] +```bash +composer require firegento/adminmonitoring +``` + +## `firegento/logger` +FireGento Logger is an advanced alternative to log messages and errors to multiple targets. + +#### Install [^3] +```bash +composer require firegento/logger +``` + +## `madalinoprea/magneto-debug` +FireGento Logger is an advanced alternative to log messages and errors to multiple targets. + +#### Install [^3] +```bash +composer require madalinoprea/magneto-debug +``` + +[^1]: https://github.com/empiricompany/openmage_ignition +[^2]: https://github.com/firegento/firegento-adminmonitoring +[^3]: https://github.com/firegento/firegento-logger +[^4]: https://github.com/madalinoprea/magneto-debug diff --git a/docs/content/users/modules/logging.md b/docs/content/users/modules/logging.md deleted file mode 100644 index 368579540fa..00000000000 --- a/docs/content/users/modules/logging.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -tags: -- Modules ---- - -# Logging - -## `firegento/logger` -The purpose of this project is to have a simple framework for different logging adapters. - -Originally developed as Hackathon_Logger but moved forewards and will now actively supported by firegento community. - -#### Install -```bash -composer require firegento/logger -``` - -#### Source -- https://github.com/firegento/firegento-logger diff --git a/docs/content/users/modules/payment.md b/docs/content/users/modules/payment.md new file mode 100644 index 00000000000..877765ba64e --- /dev/null +++ b/docs/content/users/modules/payment.md @@ -0,0 +1,59 @@ +--- +title: Payment +tags: +- Modules +--- + +# Payment modules + +## `empiricompany/openmage-paypal-pay-later-banner-info` +Render Paypal Pay Later Messages in product page and cart page for Magento 1 / OpenMage + +#### Install [^1] +```bash +composer require empiricompany/openmage-paypal-pay-later-banner-info +``` + +## `justinbeaty/module-gene-braintree` + +OpenMage compatible fork of Gene_Braintree module. + +This module has been updated to use the 6.x.x version of the Braintree PHP library [^3]. + +!!! warning "" + + No composer install via packagist.org available. [^2] + +!!! tip "" + + Add this repository to your composer.json. + +## `hipay/hipay-fullservice-sdk-magento1` + +The HiPay Enterprise extension for Magento v1 is a library that allows you to accept payments in your Magento online shop by leveraging the HiPay Enterprise payment platform. [^4] + +## `mollie/Magento` + +iDEAL, Creditcard, Bancontact/Mister Cash, SOFORT, Bank transfer, Bitcoin, PayPal & paysafecard for Magento https://www.mollie.com/. + +#### Install [^5] +```bash +composer require mollie/magento +``` + +## `rvelhote/opennode-magento` + +Magento 1.9 Plugin for OpenNode Bitcoin Payment Gateway + +The module was only tested with the default theme and Onepage Checkout. + +!!! warning "" + + No composer install via packagist.org available. [^6] + +[^1]: https://github.com/empiricompany/openmage-paypal-pay-later-banner-info +[^2]: https://github.com/justinbeaty/module-gene-braintree +[^3]: https://github.com/braintree/braintree_php +[^4]: https://github.com/hipay/hipay-fullservice-sdk-magento1 +[^5]: https://github.com/mollie/Magento +[^6]: https://github.com/rvelhote/opennode-magento diff --git a/docs/content/users/modules/payment/bitcoin.md b/docs/content/users/modules/payment/bitcoin.md deleted file mode 100644 index 582871eefa9..00000000000 --- a/docs/content/users/modules/payment/bitcoin.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -tags: -- Modules ---- - -# Bitcoin - -## `rvelhote/opennode-magento` -Magento 1.9 Plugin for OpenNode Bitcoin Payment Gateway - -This module is still in development little by little - -1. Configure API keys in the backoffice -2. Select the *Bitcoin* payment method during checkout -3. When placing the order you will be redirected to a page where customers are presented with - a couple of QR Codes with the payment addresses (or links to pay with the wallet) -4. Customers can pay and then move to the default Magento success page. A task is continuously checking for the payment - status in the background and informs the user of the progress -5. A cronjob will cancel *Pending Payment* orders automatically - -The module was only tested with the default theme and Onepage Checkout. - -#### Source -- https://github.com/rvelhote/opennode-magento diff --git a/docs/content/users/modules/products.md b/docs/content/users/modules/products.md deleted file mode 100644 index 1296fcebb74..00000000000 --- a/docs/content/users/modules/products.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -tags: -- Modules ---- - -# Products - -## `CustomGento_ProductBadges` -Product Badges for Magento 1 offers you the possibility to add highly customizable badges to your product images without having any performance impact. You can freely define where a badge should be shown via price-rule-like conditions. Using a custom indexer, the rendering of the badges is insanely fast. - -#### Source -- https://github.com/customgento/CustomGento_ProductBadges diff --git a/docs/content/users/modules/social.md b/docs/content/users/modules/social.md deleted file mode 100644 index 5a1e41357c1..00000000000 --- a/docs/content/users/modules/social.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -tags: -- Modules ---- - -# Social - -## `pyrroman/social-sharing-button-for-magento` -Customers or visitors of your Magento Store can share their favourite products to friends on social sites such as Facebook, Twitter, Google +1 and Pinterest. Social sharing activities will attract more visitors or customers. - -#### Source -- https://github.com/pyrroman/social-sharing-button-for-magento diff --git a/docs/content/users/modules/themes/frontend.md b/docs/content/users/modules/themes/frontend.md index 266b50a1453..42f6e9ed30a 100644 --- a/docs/content/users/modules/themes/frontend.md +++ b/docs/content/users/modules/themes/frontend.md @@ -1,15 +1,15 @@ --- +title: Frontend tags: - Modules --- -# Frontend +# Frontend themes ## `DegrizNet/OpenMageTheme` This theme is designed to work seamlessly with OpenMage and includes optimizations for speed, achieving a 100/100 mobile score on Google PageSpeed Insights in 2024. -#### Demo +#### Demo [^1] - https://demo.degriz.net/en/ -#### Source -- https://github.com/DegrizNet/OpenMageTheme +[^1]: https://github.com/DegrizNet/OpenMageTheme diff --git a/docs/content/users/modules/user-guides/swatches.md b/docs/content/users/modules/user-guides/swatches.md new file mode 100644 index 00000000000..8cbc348794a --- /dev/null +++ b/docs/content/users/modules/user-guides/swatches.md @@ -0,0 +1,9 @@ +--- +title: Swatches +tags: +- Modules +--- + +# Swatches guides + +Find a good description at: https://sherocommerce.com/tutorial-configurable-swatches-in-magento/ \ No newline at end of file diff --git a/docs_includes/abbreviations.md b/docs_includes/abbreviations.md index f4f6d9c25e2..075b1faba2f 100644 --- a/docs_includes/abbreviations.md +++ b/docs_includes/abbreviations.md @@ -1,15 +1,23 @@ -*[Composer]: A tool to manage dependencies of a PHP project +*[Composer]: A tool to manage dependencies of a PHP project. *[composer.json]: Composer configuration file +*[CVE]: Common Vulnerabilities and Exposures *[DDEV]: Docker-based PHP development environments. -*[deprecated]: Marked as not recommended for users and developers +*[deprecated]: Marked as not recommended for users and developers. *[HTML]: Hyper Text Markup Language *[HTML5]: Hyper Text Markup Language +*[ImageMagick]: a free, open-source software suite, used for editing and manipulating digital images. *[JSON]: JSON (JavaScript Object Notation) is a lightweight data-interchange format. *[Mailpit]: Mailpit is a small, fast, low memory, zero-dependency, multi-platform email testing tool & API for developers. +*[MariaDB]: One of the possible databases OpenMage is compatible to. +*[MySQL]: One of the possible databases OpenMage is compatible to. *[n98-magerun]: The n98 magerun cli tools provides some handy tools to work with Magento from command line. *[OpenMage]: This project *[phpMyAdmin]: phpMyAdmin is a free software tool written in PHP, intended to handle the administration of MySQL over the Web. *[PhpStorm]: PhpStorm is an innovative, Java-based integrated development environment (IDE) engineered by JetBrains for PHP and web developers. +*[REST]: Representational State Transfer *[TinyMCE]: WYSIWYG editor +*[UPS]: United Parcel Service *[W3C]: World Wide Web Consortium +*[WSDL]: Web Services Description Language +*[Xdebug]: Xdebug is a debugging tool for PHP. *[XML]: Extensible Markup Language diff --git a/mkdocs.yml b/mkdocs.yml index 6f937f34ba9..c81b4a43aa9 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -1,9 +1,9 @@ # yaml-language-server: $schema=https://squidfunk.github.io/mkdocs-material/schema.json site_name: OpenMage Docs -site_url: https://OpenMage.github.io/magento-lts/ +site_url: https://docs.openmage.org/ repo_url: https://github.com/OpenMage/magento-lts repo_name: OpenMage/magento-lts -edit_uri: blob/main/docs/content +edit_uri: edit/main/docs copyright: OpenMage contributors site_author: OpenMage contributors site_description: >- @@ -33,6 +33,7 @@ theme: - content.action.view - content.code.copy - navigation.expand + - navigation.footer - navigation.indexes - navigation.instant - navigation.sections @@ -60,7 +61,11 @@ theme: # Plugins plugins: - - blog + - blog: + archive_toc: true + categories_toc: true + pagination: true + pagination_format: "$link_first $link_previous ~2~ $link_next $link_last" - search - tags: tags_file: tags.md @@ -79,8 +84,14 @@ extra: link: https://discord.gg/EV8aNbU - icon: fontawesome/brands/stack-overflow link: https://magento.stackexchange.com/tags/openmage - - icon: fontawesome/brands/twitter - link: https://twitter.com/openmageproject + - icon: fontawesome/brands/x-twitter + link: https://x.com/OpenMageProject + - icon: fontawesome/brands/facebook + link: https://www.facebook.com/OpenMageProject + - icon: fontawesome/brands/linkedin + link: https://www.linkedin.com/groups/13655485/ + - icon: fontawesome/brands/mastodon + link: https://phpc.social/@OpenMageProject generator: false tags: Configuration: config @@ -94,10 +105,12 @@ extra: Install: install JavaScript: js Modules: modules + PHP-7.4: php PHP-8.0: php PHP-8.1: php PHP-8.2: php PHP-8.3: php + PHP-8.4: php TinyMCE: tinymce Security: security @@ -146,9 +159,9 @@ nav: - users/requirements.md - 'Installing': - users/install/index.md - - users/install/_use-composer.md - - users/install/_use-git.md - - users/install/_use-tarball.md + - users/install/use-composer.md + - users/install/use-git.md + - users/install/use-tarball.md - users/install/secure-install.md - 'Changelog': - developers/changelog/index.md @@ -175,26 +188,36 @@ nav: - 'Development': - 'Events': - developers/events/list.md - - 'Guides': - - developers/guides/observer.md - 'Tools': - - developers/ddev.md - - developers/phpstorm.md + - developers/tools/ddev.md + - developers/tools/n98-magerun.md + - developers/tools/phpstorm.md - 'Multistore': - developers/error-pages.md + - 'Samples': + - developers/samples/php-ini.md + - developers/samples/robots-txt.md + - 'Guides': + - blog/posts/guides/2023-01-09-dynamic-blocks.md + - blog/posts/guides/2022-08-17-observer.md + - blog/posts/guides/2023-05-01-customize-your-openmage.md - 'Documentation': - developers/mkdocs.md - 'Modules': - users/modules/index.md + - users/modules/analytics.md + - users/modules/backend.md + - users/modules/cache.md + - users/modules/captcha.md - users/modules/cron.md - users/modules/email.md + - users/modules/frontend.md - users/modules/images.md - - users/modules/logging.md - - users/modules/products.md - - users/modules/social.md - - 'Payment': - - users/modules/payment/bitcoin.md + - users/modules/log-debug.md + - users/modules/payment.md - 'Themes': - users/modules/themes/frontend.md -# - 'Blog': -# - blog/index.md + - 'User Guides': + - users/modules/user-guides/swatches.md + - 'Blog': + - blog/index.md