Showing entries 1 to 10 of 14
4 Older Entries »
Displaying posts with tag: magento (reset)
Use Matomo Website Analytics on OCI with MDS

Matomo is a Google Analytics alternative for your websites. If you follow my blog, you know how easy it’s to deploy popular Open Source web solutions like WordPress, Joomla!, Drupal, Moodle, Magento on OCI. If this is not yet your case, please check this page: deploy on OCI.

All these solutions are using MySQL Database Service to store their data.

I’ve recently added a new stack to also deploy Matomo. Of course this can be a standalone installation to collect all your analytics from self-hosted websites, but today I will describe you how to use it with an existing stack we already deployed on OCI.

For this example, I deployed WordPress using the following stack: …

[Read more]
Deploy Magento on MDS & HeatWave

Magento is an Open-Source e-commerce platform written in PHP using multiple other PHP frameworks such as Laminas and Symphony. Magento source code is distributed under Open Software License v3.0.

Deploying Magento is not always easy as it often requires registration. However the source code is also availble on GitHub.

Magento supports MySQL 8.0 since version 2.4.0 (July 28th 2020).

In Magento’s documentation, there is a warning about GTID support:

This is not anymore a …

[Read more]
Deploy Magento with MySQL Database Service in OCI

Magento is a very popular e-commerce platform using MySQL as backend.

The latest version is compatible with MySQL 8.0, however it’s not that easy to deploy. Magento has multiple dependencies like Elasticsearch for example. Additionally, the Open Source version seems to require Highly Technical knowledge to be deployed correctly.

If you would like to test it with MySQL Database Service (MDS) in OCI, you can find a stack file on this GitHub repository that easily deploys everything you need.

After applying the Stack in OCI’s Resource Manager, you have a brand new Magento ready to use !

Let’s see this in action:

As you could see this is very easy. Enjoy MySQL Database Service on OCI and I’m always please to …

[Read more]
MySQL 8.0 and Magento

In my road trip of the Open Source projects using MySQL, after having tested WordPress, Drupal and Joomla, let’s try to install Magento using MySQL 8.0 !

In Magento’s manual, we can see that the project requires MySQL 5.6 and supports 5.7.x since versoin 2.1.2.

In my test, I will use Magento 2.3.3, the latest stable when writing this article.

The manual stipulates that we should use ROW based replication but not GTID because Magento 2 is using CREATE TEMPORARY TABLE inside transactions. …

[Read more]
Configuring GTID and binary logging

This tutorial demands a service restart since some flags here presented can not be dynamically changed

What is GTID and why do I need it? Directly from the MySQL documentation (excerpt taken as is with different jargons than used here, for master/slave we are using primary/replica):

A global transaction identifier (GTID) is a unique identifier created and associated with each transaction committed on the server of origin (the master). This identifier is unique not only to the server on which it originated, but is unique across all servers in a given replication topology.

GTID assignment distinguishes between client transactions, which are committed on the master, and replicated transactions, which are reproduced on a slave. When a client transaction is committed …

[Read more]
Magento Home Page Returns 404 Status Code

Naturally, I ran into this problem in the middle of the night when the client was asleep and I had no access to the Magento administrative interface. The short story is that after running a re-index of the site, the home page began returning a 404 erro...

Showing root category products in Magento

A lot of times I’ve found the need to create a “Shop” page that shows the root category as an anchor (with layered navigation, for example). There are also a couple questions floating around on Stackexchange about how to have root categories be shown like normal categories.

By default Magento won’t show the root category for reasons I’ve still not found out.

There are a lot of modules that have that functionality, like Amasty’s Improved Navigation. However, it turns out it’s also pretty easy to do yourself.

In the Mage_Catalog_CategoryController::_initCatagory (yes, it’s spelled wrong) there is the following check:

if (!Mage::helper('catalog/category')->canShow($category)) {
        return false;

The canShow method …

[Read more]
Issues with Magento’s Catalog URL Rewrite indexer

There are at least three issues with the catalog URL rewrite indexer and URL rewrite management in Magento:

  • A reindex will add a new rows for products with duplicate url_key's - every single time you reindex
  • Disabled products generate new rows
  • Products that are not-visible individually generate new rows

Core bug

I’m pretty late to the party, but decided to investigate it anyway since I have to deal with many stores whose indexers get stuck because of various SQL errors related to the URL rewrite index and whose tables are way too big and out of proportions for the amount of categories and products they have.

This bug will make your table grow into the millions of rows and hundreds of …

[Read more]
The MySQL query cache: Worst enemy or best friend?

During the last couple of months I have been involved in an unusually high amount of performance audits for e-commerce applications running with Magento. And although the systems were quite different, they also had one thing in common: the MySQL query cache was very useful. That was counter-intuitive for me as I’ve always expected the query cache to be such a bottleneck that response time is better when the query cache is turned off no matter what. That lead me to run a few experiments to better understand when the query cache can be helpful.

Some context

The query cache is well known for its contentions: a global mutex has to be acquired for any read or write operation, which means that any access is serialized. This was not an issue 15 years ago, but with today’s multi-core servers, such serialization is the best way to kill performance.

However from a performance …

[Read more]
A guide to importing customer accounts into Magento

This post is likely gonna get less relevant when Magento 2 comes out, but I decided to put it out there any way. In my limited time working with Magento I’ve come across a couple scenario’s I wanted to touch on. Hope it’s helpful for anyone.

Let say a merchant wants a new Magento online store. Now, there are a couple scenario’s that are likely or less likely:

  1. The previous store was built with Magento. Customers can easily be imported using the various tools available (Magmi, import/export, dataflow, etc.)
  2. The previous store was built on a platform that stores passwords in plaintext - fortunately this is not very likely ;)
  3. The previous store was built on a different platform, using different hashing algorithms.
  4. The previous store was built on a different platform which happens to use the same hashing algorithm as Magento,
  5. A combination of #3 and #4 (yes - I’ve seen it). …
[Read more]
Showing entries 1 to 10 of 14
4 Older Entries »