Coder Social home page Coder Social logo

imhunterand / magento-lts Goto Github PK

View Code? Open in Web Editor NEW

This project forked from openmage/magento-lts

0.0 0.0 0.0 104.74 MB

Official OpenMage LTS codebase | Migrate easily from Magento Community Edition in minutes! Download the source code for free or contribute to OpenMage LTS | Security vulnerability patches, bug fixes, performance improvements and more.

Home Page: https://www.openmage.org/

License: Open Software License 3.0

Shell 0.01% JavaScript 1.99% Ruby 0.01% ActionScript 0.04% PHP 86.31% PowerShell 0.01% CSS 2.45% HTML 8.55% Batchfile 0.01% SCSS 0.65% TSQL 0.01%

magento-lts's Introduction

All Contributors Total Downloads License
PHP workflow Badge Sonar workflow badge PHPStan Static Code Analyses workflow badge PHP Syntax Check workflow badge Unit Tests workflow badge

Magento - Long Term Support

This repository is the home of an unofficial community-driven project. It's goal is to be a dependable alternative to the Magento CE official releases which integrates improvements directly from the community while maintaining a high level of backwards compatibility to the official releases.

Pull requests with unofficial bug fixes and security patches from the community are encouraged and welcome!

Versioning

Though Magento does not follow Semantic Versioning we aim to provide a workable system for dependency definition. Each Magento 1.<minor>.<revision> release will get its own branch (named 1.<minor>.<revision>.x) that will be independently maintained with upstream patches and community bug fixes for as long as it makes sense to do so (based on available resources). For example, Magento version 1.9.4.5 was merged into the 1.9.4.x branch.

Requirements

  • PHP 7.3+ (PHP 8.0 is supported)
  • MySQL 5.6+ (8.0+ recommended) or MariaDB

Please be aware that although OpenMage is compatible that one or more extensions may not be

Optional

  • Redis 5+ (6.x recommended, latest verified compatible 6.0.7 with 20.x)

PHP 7.2+

If using php 7.2+ then mcrypt needs to be disabled in php.ini or pecl to fallback on mcryptcompat and phpseclib. mcrypt is deprecated from 7.2+ onwards.

Installation

Using Composer

Download the latest archive and extract it, clone the repo, or add a composer dependency to your existing project like so:

composer require "openmage/magento-lts":"^19.4.0"

To get the latest changes use:

composer require "openmage/magento-lts":"dev-main"

Note: dev-main is just an alias for current 1.9.4.x branch and may change

Using Git

If you want to contribute to the project:

git init
git remote add origin https://github.com/<YOUR GIT USERNAME>/magento-lts
git pull origin main
git remote add upstream https://github.com/OpenMage/magento-lts
git pull upstream 1.9.4.x
git add -A && git commit

More Information

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:

<config>
    <admin>
        <routers>
            <adminhtml>
                <args>
                    <frontName><![CDATA[admin]]></frontName>
                </args>
            </adminhtml>
        </routers>
    </admin>
</config>

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;

Changes

Most important changes will be listed here, all other changes since 19.4.0 can be found in release notes.

Between Magento 1.9.4.5 and OpenMage 19.x

  • bug fixes and PHP 7.x, 8.0 and 8.1 compatibility
  • added config cache for system.xml #1916
  • search for "NULL" in backend grids #1203
  • removed modules Mage_Compiler, Mage_GoogleBase, Mage_Xmlconnect, Phoenix_Moneybookers

Between OpenMage 19.4.18 / 20.0.16 and 19.4.19 / 20.0.17

  • PHP extension intl is required

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
  • removed frontend default themes (default, modern, iphone, german, french, blank, blue) #1600
  • fixed incorrect datetime in customer block ($useTimezone parameter) #1525
  • added redis as a valid option for global/session_save #1513
  • reduce needless saves by avoiding setting _hasDataChanges flag #2066
  • removed support for global/sales/old_fields_map defined in XML #921
  • removed module Mage_PageCache #2258
  • removed lib/flex containing unused ActionScript "file uploader" files #2271
  • enabled website level config cache #2355

For full list of changes, you can compare tags.

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
  • 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
  • sitemap_cms_pages_generating_before
  • sitemap_urlset_generating_before

Full list of events

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.

grep -rn 'urn:Magento' --include \*.xml

Development Environment with ddev

  • Install ddev
  • Clone the repository as described in installation (Using Git)
  • Create a ddev config, defaults should be good for you
    $ ddev config
  • Open .ddev/config.yaml and change the php version to your needs
  • Download and start the containers
    $ ddev start
  • Open your site in browser
    $ 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 and run command:

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 for more information.

Public Communication

  • Discord (maintained by Flyingmana)

Maintainers

License

Contributors ✨

Thanks goes to these wonderful people (emoji key):


sv3n

Lee Saferite

Colin Mollenhour

David Robinson

Tymoteusz Motylewski

Daniel Fahlke

SNH_NL

Marc Romano

Fabian Blechschmidt

Luboš Hubáček

Erik Dannenberg

Jeroen Boersma

Leandro F. L.

Kevin Krieger

Ng Kiat Siong

bob2021

Bastien Lamamy

Dmitry Furs

Robert Coleman

Milan Davídek

Matt Davenport

elfling

henrykb

Tony

Mark Lewis

Eric Sean Turner

Eric Seastrand

Tobias Schifftner

Simon Sprankel

Tom Lankhorst

shirtsofholland

sebastianwagner

Maxime Huran

Pepijn

manuperezgo

luigifab

Loek van Gool

kpitn

kalenjordan

IOWEB TECHNOLOGIES

Florent

dvdsndr

Vincent MARMIESSE

Lucas van Staden

zamoroka

wpdevteam

Wouter Samaey

Vova Yatsyuk

Trevor Hartman

Somewhere

Fabian Schmengler />

Roman Hutterer

Sergei Filippov

Sam Steele

Ricardo Velhote

Roy Duineveld

Roberto Sarmiento Pérez

Pierre Martin

Rafał Dołgopoł

Rafael Patro

Andreas Pointner

Paul Rodriguez

ollb

Nicholas Graham

Makis Palasis

Miguel Balparda

Mark van der Sanden

Micky Socaci

Marvin Sengera

Kostadin A.

Julien Loizelet

Jonas Hünig

Stefan Jaroschek

Jacques Bodin-Hullin

Wilhelm Ellmann

Edwin.

drago-aca

Daniel Niedergesäß

J Davis

Damien Biasotto

Daniel Corn

Paweł Cieślik

André Herrn

Pablo Benmaman

aterjung

altdovydas

Alisson Júnior

Alex Kirsch

Branden

Pof Magicfingers

Michael Thessel

Jonathan Laliberte

Ivan Chepurnyi

Igor

Elias Kotlyar

Hejty1

Gaelle

Frédéric MARTINEZ

Tobias Faust

AndresInSpace

Francesco Boes

Daniel Bachmann

Damian Luszczymak

Fabrizio Balliano

Jouriy

Digital Pianism

Justin Beaty

ADDISON

Aria Stewart

Dean Williams

Henry Hirsch

kdckrs

Martin René Sørensen

Frank Rochlitzer

AlterWeb

Caprico

David Windell

Dragan Atanasov

Eugene Lamskoy

Ferdinand

Himanshu

Jakub Idziak

Joseph Maxwell

Joshua Dickerson

Kevin Bortnick

Mehdi Chaouch

Mohamed ELIDRISSI

Justin van Elst

Nicholas Graham

Patrick Schnell

Patrick Cronin

Petr Švamberg

Rafael Corrêa Gomes

Ralf Siepker

Sunel Tr

Tom Klingenberg

Toon

WEXO team

Wilfried Wolf

akrzemianowski

andthink

eetzen

lemundo-team

mdlonline

Benjamin MARROT

Tino Mewes

Carsten Brandt

💻

Enéias Ramos de Melo

Scott Moore

This project follows the all-contributors specification. Contributions of any kind welcome!

magento-lts's People

Contributors

sreichel avatar colinmollenhour avatar fballiano avatar leesaferite avatar flyingmana avatar luigifab avatar tmotyl avatar drobinson avatar sekiphp avatar seansan avatar kiatng avatar addison74 avatar elidrissidev avatar spinsch avatar midlan avatar mark-netalico avatar sdfendor avatar woutersamaey avatar daim2k5 avatar justinbeaty avatar edannenberg avatar schrank avatar empiricompany avatar jeroenboersma avatar bastienlm avatar rjocoleman avatar bob2021 avatar lfluvisotto avatar boesbo avatar jouriy avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.