MIVA Merchant 5 Module API Feature data_domain

Required function: Module_Install [back]

Parameters:

  • module var

Return Type:bool

<MvFUNCTION NAME="Module_Install" PARAMETERS="module var" STANDARDOUTPUTLEVEL="">
    <MvFUNCTIONRETURN VALUE="1">
</MvFUNCTION>

What MIVA Says

Admin runs this function when the administrator adds the module to the domain.

One employs this function only when the module performs some functionality or provides data that is shared between all of the stores in a domain. It is the job of this function to create any databases and directories that may be required.

Default Return: 1

Required function: Module_Upgrade [back]

Parameters:

  • module var
  • version

Return Type:bool

<MvFUNCTION NAME="Module_Upgrade" PARAMETERS="module var,version" STANDARDOUTPUTLEVEL="">
    <MvFUNCTIONRETURN VALUE="1">
</MvFUNCTION>

What MIVA Says

Admin runs this function when one hits Update on the Edit Module configuration screen.

It provides a place to define what action Admin must take to upgrade from one version of the module to another. If the module has more than two versions that could be actively used, the action for each upgrade should be given. If there are four version in use (v1.0, v1.1, v2.0 and v3.0), the code should be written transparently.

Therefore, if a person is upgrading from v1.0 to v3.0 the code should first upgrade to v1.1 then to v2.0 and finally to v3.0.

A simple example would be if the fields used in the module have changed somehow with each new version. There may be fields in a the new version that are were not in an older version. If this is the case, the databases would have to be each upgraded and the data written into the new database from the old. If a person were upgrading from v1.1 to v3.0 this process would have to be done twice.

Default Return: 1

Required function: Module_Uninstall [back]

Parameters:

  • module var

Return Type:bool

<MvFUNCTION NAME="Module_Uninstall" PARAMETERS="module var" STANDARDOUTPUTLEVEL="">
    <MvFUNCTIONRETURN VALUE="1">
</MvFUNCTION>

What MIVA Says

Admin runs this function when one removes the module from the domain.

It should contain the code necessary to reverse what was done during Module_Install. Any action that is taken in Module_Install should be reversed in this function. It could be deleting a database or directory or deleting a user from the licensed-user database.

Default Return: 1

Return Types [back]

Return Types are expressed in the document by the following codes:

  • string: A string return type is any string you wish though normally it is a string that has a specific intent such as the formatted version of a decimal number as you might use in a currency module.
  • cslist: This is a comma separated list values. Most commonly used to return a list of codes for fields.
  • cclist: This is a comma separated list of colon separated values. Most commonly used as a return from tab functions so that you might have a value like "NVALS:Normal Values,SPECVALS:Special Values,OVALS:Other Values" and the system would be treating each comma separated pair as a tab and using the value on the right of the colon as the label for the tab and the value on the left of the colon as the code for the tab.
  • bool: A boolean "true/false" return value, normally a "1" represents a true value and a "0" represents false. Because of the way the MIVA script language treats strings and numbers any string other than a space, and any number other than a 0 will be treated as a true return value whereas a false value can be expressed by a null value like "" or an expression that evaluates to null or zero like "{ 1 - 1 }" or the absence of the "VALUE" attribute entirely.
  • boolinv: An inverted boolean "true/false" return value. This is when the value returned is a boolean value just like the type "bool" but that the normal default return is a false rather than a true value and that you only return true if some special case is true. In the MIVA Merchant API Most functions that are boolean expect a return of true unless something has gone wrong or some special condition occurs, but in this case it is "normal" to return a false value and you only return a true value if something unusual happens. A specific example would be the TaxModule_Order_Invalid function which only returns a true value if one of the fields is invalid.
  • tristate: Acts like a boolean except that a negative value, usually -1 by convention, indicates an unusual but non error state. In most cases this will be used to cause the normal operations to not be completed without causing an error to be output in order to interrupt something that the system was about to do. This is used for example in system extension interrupts to stop a normal action like adding a product to the basket from taking place so the module can take on the role of adding the item to the basket itself, or preventing it from happening without causing the system to throw the normal errors.
  • acount: This is a numeric value that represents a count of the size of an array passed back by reference. A null or 0 return value acts the same as for a bool return type, meaning nothing happens, but a value of 1 indicates only one array index point exists whereas a return of 3 indicates 3 array index points returned. This is used for example in the shipping and payment method functions that have a method parameter passed in by reference and the return indicates the size of the method array being set in the l.method variable.