Let’s dive into Miva Merchant’s architecture. This will allow you to fully understand what happens when Miva Merchant is running. Miva Merchant is built on the lamp stack; Linux, Apache, MySQL and PHP. While PHP is not required for Miva Merchant to run, most web servers have it installed and they can run parallel with Miva Merchant.
The core component to allowing Miva Merchant to run on a server is the engine. The Miva engine is called “Empresa.” This must be installed on any server you wish to run Miva Merchant on. In concept, the Empresa engine is similar to any other web scripting language such as PHP. PHP has its own engine that is almost always installed on all servers these days. Once Empresa is installed, it will be able to execute any compiled Miva Script file with a .mvc extension.
The core platform of Miva Merchant can be thought of in two distinct pieces. One of them is it’s template language called “Store Morph Technology” or “SMT” for short. This template language allows you complete design flexibility of any page of your store. It also gives you the power to do conditionals, create variables and a lot of other powerful programming features like file read write. All of this without having to modify the Miva Merchant source code.
Miva Merchant itself is made up of a bunch of Miva Modules. Each module provides a different set of functionality and features to the core platform. Now, if we take that one step further, what’s really a module? A module is a Miva Script file that gets compiled, gets run through the compiler and gets converted to a .mvc file, which is a compiled Miva Script. This thing gets run through the engine Empressa, which is able to process that file, make the correct database queries, and output the response back to the page. As a web developer building and customizing a Miva Merchant store, your focus will be working with Miva Merchant’s template language. Because of the power and flexibility of Miva Merchant’s template language, you really have to think about the underline foundation layer and Miva Merchant modules. However, Miva Merchant does provide a full module api to allow third party developers to write custom plug ins or modules for Miva Merchant.
If you’re interested in writing custom modules for Miva Merchant, please see our module developer course, which walks through the process from start to finish of working with the Miva Script programming language, the compiler and building Miva Merchant modules.