Welcome to the Module Development Series from Miva Merchant. In this series, we're going to talk about how to build a Miva Merchant module, which is a plugin for the Miva Merchant Software. It allows you to extend Miva Merchants functionality or extracted from a third party system. We're going to start at the very beginning and work our way up the different components of Miva Merchant and what it takes to build a module. Before we jump in to the Miva Merchant API and look at some code, it's going to help to understand the Miva Merchant Echosystem. What are the different components and how they interact together. There are essentially four different pillars that make up the Miva Merchant Ecosystem. The first one is its Language, MivaScript. A lot of people when they are learning the Miva Merchant platform ask, "What language is it written in?" Most people think Ruby or PHP, but actually Miva has it's own language called MivaScript. This is one of the aspects that make Miva Merchant very unique. As a company, we actually started out as a web scripting language. Originally it was called, "html script" and later got changed to "MivaScript."
Now the MivaScript language predates PHP and has been around since the mid 90's. A little later on in this training series we'll dig into the language a bit, the syntax, the structure, and how to use it to build Miva Merchant modules. While at first glance, the MivaScript syntax could be a little bit intimidating and the language appear a little bit verbose, once you get over that initial learning curve, MivaScript is a fantastic web scripting language to program in. It's extremely powerful and gives you the flexibility to do almost anything you can think of.
The next pillar of the Miva Merchant Ecosystem is the Compiler. If you've ever worked with programming languages like C++, or even objective C or iphone, these languages are all compiled. You write the source code, you run it through the compiler, and the output is machine readable byte code that can be run by whatever engine you're working with. Miva functions the exact same way. You write your raw source code in MivaScript, you run that through the Compiler, and it outputs a compiled MivaScript file which can be processed by the engine. The MivaScript Compiler has both a windows version and a Linux version. While it is possible to get it to work on Mac, it's not currently supported. Before you can build a Miva Merchant Module, you'll need to install a compiler which we'll walk through in one of the next few videos. Third pillar of the Miva Merchant Ecosystem is its engine. The engines name is Empressa. Empressa is the backbone of the Miva Merchant Ecosystem. It's what allows everything to run. The Miva engine must be installed on any web server you wish to run MivaScript code on, including Miva Merchant.
The third pillar of the Miva Merchant Eco System is the Engine. The engine's name is Empressa. Empressa is the backbone of the Miva Merchant System. It's what allows everything to run. The Miva engine must be installed on any web server you wish to run Miva Script code on, including Miva Merchant. The engine works on Linux, both 32 bit and 64 bit, pre vsd 32 bit and 64 bit, as well as windows. In additional to the Windows version, there's also a desktop application called Miva Merchant Mia, which installs on top of your windows desktop and it works just like Empressa. It allows to to execute MivaScript files.
The last pillar of the Miva Merchant Eco System is the software itself. The Miva Merchant software is written in MivaScript. The core functionality of the software is comprised of a bunch of modules. Now a module is just a MivaScript file that's been run through the compiler, which also uses the Miva Merchant API. This allows third party developers like yourself to write plugins for Miva Merchant In a way that Miva Merchant communicates with your plug in and makes calls into it when the time is right. This module API is a key part of the core software.
Throughout the rest of this series, we're going to dig into all four of these pieces in more detail. However, it's important to know how each one interacts with each other. By the end of the series, you should have the knowledge to be able to write a MivaScript file which can be compiled and installed in the core software for others to use.