Event Reminder
Copyright © 2001, William Weiland
Overview
Customers can enter event reminder dates and will be notified via email when that date arrives.
Initial Setup
1) In admin, click Add Modules
2) Click the file upload button
3) Browse to find the remindme.mv file on your hard drive and upload
4) Click Add to add it to the domain
5) Click the image to the left of your store name
6) Click on the Utilities link
7) Check the box to the left of Event Reminder and select Update
8) Click on Add Modules again
(Note: if it is already there due to installation with another one of our modules, then click the link for CIM Activity Log)
9) Click the file upload button
10) Browse to find the cim_log.mv file on your hard drive and upload
11) Click Add to add it to the domain
12) Click the image to the left of your store name
13) Click on the Logging Configuration link
14) Check the box to the left of CIM Activity Log and select Update

The compiled version of this module licensed on or after November 7, 2003 has a new file called cim_new.mvc which you need to install. Install through admin as a store system extension module.


Utilities Configuration
In the Utilities Configuration screen you will enter several items. One of them is which screen you will have the program "flush" pending emails. When a customer browses your store, at the end of a particular screen load, merchant will flush the pending emails if the last digit of the seconds (time) is a zero. Thus, about every 10th display of the screen you choose, Merchant will flush the next batch of pending emails. It will only flush five at a time or no more than a 15 second delay. I have found that the delay is probably less than a second to flush emails to the server send mail spool. I also think the Product (PROD) screen is the best location to include the "flush". If your customers rarely visit that screen, you may need to pick a different screen.
Editing Requirements (skip if using the OpenUI)
If you are using the Miva Merchant User Interface (mmui) you will need to make some very simple edits to the core files. Be sure to do that with a text editor (NO WYSIWYG editors) such as Programmer's File Editor (PFE) so as not to damage the mv files. ALWAYS BACKUP your unmodified mv files in case you make a mistake.

1) Skip this paragraph if using compiled Merchant and you licensed this module after Nov 7, 2003 or you want the ability to only allow reminders if logged in. You can put a button on your nav bar, category column, or the store front description area for express ordering. Here is the code I inserted in the mmui.mv MMUI_Begin_Screen function just above the last </TABLE> tag in that function.
<MvDO FILE="{g.Module_Root$'modules/util/remindme.mv'}" NAME = "l.reminder" VALUE = "{RemindMe_Prompt()}">

2) Use this paragraph if using compiled Merchant and you licensed this module after Nov 7, 2003. You can display this form in any screen header or footer. Fill in the info for your domain. No editing of the mmui.mv is required.
<FORM METHOD = "post" ACTION = "yourfullmerchanturl">
<INPUT TYPE = "hidden" NAME = "Store_Code" VALUE = "yourstorecode">
<INPUT TYPE = "hidden" NAME = "Screen" VALUE = "NEW">
<INPUT TYPE = "hidden" NAME = "SubScreen" VALUE = "RMND">
<INPUT TYPE = "image" ALT = "Remind Me" SRC = "pathtoyourbutton" BORDER = 0>
</FORM>

3) Skip this paragraph if using compiled Merchant and you licensed this module after Nov 7, 2003. In the mmui.mv file locate the UIModule_Dispatch function. Add the following code in that function just as the other screen types already there. Put this code in the latter half of the function, not near the beginning of the UIModule_Dispatch function.
<MvIF EXPR = "{ g.Screen EQ 'RMND'}">
<MvDO FILE="{g.Module_Root$'modules/util/remindme.mv'}" NAME = "l.ok" VALUE = "{ MMUI_RemindEvent() }">
</MvIF>

Upgrade Note
If you are upgrading from a previous version of this module to the compiled version, this paragraph may apply to you. The compiled version of this module licensed on or after November 7, 2003 has a new link for calling the customer entry screen. So if you have a button or link on a static page to call the customer entry screen, you will need to change the Screen to NEW and include SubScreen=RMND. You will also be installing a new file called cim_new.mvc.