Friday, June 22, 2018 8:43 AM

The following enhancements were made to MGI between the release of version 1.3.6 and the latest release of version 1.4. Important functionality changes that may affect current users of MGI are highlighted at the beginning of the list. Other enhancements are grouped by the MGI tag where they appear. The most recent enhancements for each tag are listed first.

New MGI Tags

mgiConditional - The mgiConditional tag is an improved conditional comparison with extended comparison relationships and a simplified tag structure.
mgiCreditCard - The mgiCreditCard tag interacts with MacAuthorize Hub to provide real-time credit card processing through MGI.
mgiFileDelete - The mgiFileDelete tag deletes a file on the server.
mgiLoop - The mgiLoop tag repeats actions for a specified number of iterations or for a specified list of values.
mgiPGP - The mgiPGP tag encrypts any email including customer orders with a passphrase file.
mgiRotate - The mgiRotate tag rotates the display of text files, images or database values.

Functionality Changes

Database Search Results - We discovered that searches could unintentionally return a table of information so large that it crashed WebStar trying to build the page. To avoid such situations, a default search result limit of 25 was added to all database searches. If an existing database search may return more than 25 results, you must include the "mgiPreviousButton" and "mgiNextButton" variables in the results format file in order for the additional results to display or you can customize the number of results using the "mgiResultsLimitPopup" variable in the search format file. In a database search using the administrative functions of mgiEditDatabase, search results are limited to 250. Administrative database searches should be narrowed to remain below this limit.
Infinite Loops - We discovered that an infinite loop could occur if a format or template file was called by a tag within the format or template file. Protection against infinite loops was added to tags that use format and template files including mgiPoll, mgiShoppingBasket, mgiConfirmOrder, mgiQuiz and mgiSearchDatabase. The mgiFileInclude tag also had the potential for causing infinite loops when the included file contained an mgiFileInclude tag that referred to the included file. Protection against infinite loops was also added to mgiFileInclude.

Enhancements to Existing MGI Tags


  • Added import and export functionality in the administrative mode that allows you to back-up usernames and passwords.
  • Added the ability to duplicate usernames across different groups of users.
  • Added startDate and endDate parameters for password expiration.


  • Added custom error messages to the form field verification.


  • Added a hidden field named "shoppingBasketTotal" that is the total price of a shopping basket order to use in conjunction with the new mgiCreditCard tag.


  • Added an optional parameter that allows you to specify the name of the SELECT that is created by mgiDynamicPopup.
  • Added an initialMenuItemValue parameter that allows you to choose the first value in the SELECT that is created by mgiDynamicPopup.


  • Added a format parameter that allows you to display the last modified value as a date only or as a date and time.
  • Added the fileLocation parameter to display the last modified date of any file.


  • Modified the retained IP entries database to handle multiple polls.
  • Added the retainedIPEntries parameter that tracks the IP number of each poll participant to eliminate multiple poll entries by the same participant.


  • Added a key display mode to display the correct quiz answers.
  • Added an mgiQuizGrade variable to dynamically display a student's score.


  • The digits and boundary parameters of mgiRandomNumber are now mutually exclusive such that if the digits parameter is included, the number of digits is used to generate the random number rather than the range of number between the upper and lower bound.


  • Added the resultsLimitPopupValues parameter that allows you to customize the results limit popup menu in a database search.
  • Added exact match searching capabilities
  • Added relational searching capabilities (e.g, greaterThan, lessThan, etc.).


  • Added the fromName parameter that specifies the "Real Name" associated with the email address in the from parameter.


  • Added the fromName parameter that specifies the "Real Name" associated with the email address in the from parameter.
  • Added the attachmentFileLocation parameter that allows you to attach files to mgiSendMail emails.


  • Added the fromName parameter that specifies the "Real Name" associated with the email address in the from parameter.


  • Added a substring function that displays a portion of any string based on the ordinal value of the beginning character and the length of the substring.
  • Added a split function that extracts values from a string based on a delimiter.
  • Added a replaceAll function that finds a string and replaces it with a specified string.