MLCalendar Plugin
From CinemarWiki
Contents |
About
Introduction
What is MLCalendar Plugin?
MLCalendar is a powerful MLServer Plugin application designed for the MainLobby suite of products. It expands the capabilities of MainLobby by introducing an Outlook managed calendar into the MainLobby user interface.
MLCalendar consists of a user interface example scene (which uses standard MainLobby graphical components and is completely customizable), the MLOutlook Addin (that grabs the calendar information from Outlook) and the MLCalendar Plugin (what populates MLServer3 variables with your calendar info).
Overall, here is how it works:
. Your calendar is routinely managed in Outlook.
. The MLOutlook Outlook Addin grabs the Outlook calendar data and updates MLServer3 / MLCalendar plugin.
. On the MainLobby client PC, the 0019_calendar1.mls scene is opened, and that loads the MLCalendar variables into a calendar table.
. You can also create a basic appointment in Outlook using the special MLServeCmd provided.
. Calendar events can also be deleted from MainLobby user interface.
. MLInstaller installs the Outlook Addin, installs MLCalendar / MLPhoneBook Plugin and MLEmail Plugin. This document is specific with MLCalendar.
System Requirements
Minimum:
800MHz Pentium or Athlon processor
128MB RAM
English version of Microsoft Windows 2000 or higher
MSXML6 (not needed for Vista which already includes this) [MSXML6 Download]
10MB of free hard drive space
100% Windows compatible mouse (or touchscreen)
Microsoft Outlook v 2003, 2005 and 2007
MLServer 3.0.120 / MainLobby Client 3.0.8X or newer
Library0019.swf that comes with MainLobby3 Client 3.0.8X (or newer)
MLCycleStates Plugin 1.0.40 or newer
Outlook Addin Installation and Setup
This section will guide you through the basic installation and setup of MLOutlook Addin.
To install MLOutlook:
1. Shutdown Outlook. You may also have to shut it down in Windows Task Manager:
Oopen Windows Task Manager and end the Outlook.exe process. To end the Outlook process, open the task manager by holding down Ctrl+Shift+Esc. You can also get there using Ctrl+Alt+Del on your keyboard and clicking Start Task Manager.
On the Processes tab, locate Outlook.exe, select it by clicking on it, and then click the End Process button. Once you've done this, you can proceed without being warned that Outlook is still open.
2. Download the MLOutlook Addin download via MLInstaller and then Click to Install the Addin on the Outlook PC (if using MLInstaller, MLInstaller needs to be on that PC. Or, just grab the MLOutlook_Setup.exe file from the MLInstaller Products directory, move that to the Outlook PC and run it there.
3. You will need to have MDAC Version 2.8 installed on your MLServer PC and the PC running Outlook prior to installation. You can check your current MDAC version by using:
If you have an earlier version you can get MDAC Version 2.8 at the following link:
You will also need to install MSXML6 if you are not running Vista. [MSXML6 Download] Make sure you are installing the correct version for your operating system. Most 32 bit OS will use the msxml6_x86.msi version.
4. Double click on the MLOutlook_Addin_Setup.exe file and follow the instructions to install the Outlook Addin on the PC that is running Outlook. This will add the Outlook Add-In that shares the Outlook calendar / contacts / and email data to MainLobby.
5. The Installer will then ask if you want to install the plugin. Say “Yes” if you are installing onto your primary MLServer 3 PC. Restart MLServer3.
6. You can also install the sample user interface via MLInstaller on the MainLobby3 Client PC.
7. Install MLCalendar plugin via MLInstaller on the MLServer3 PC and restart MLServer3.
8. Start Outlook
For Outlook 2003 and 2005, Click in the Outlook Menu bar Tools/ Options/ Other tab/ Advanced Options / COM Add-Ins. Click the Add button and navigate to the C:\Users\Vista1\AppData\Roaming\Microsoft\AddIns directory (or wherever you chose to install the Outlook Add-In). Click on the MLOutlookAddin.dll in the directory and then click OK.
For Outlook 2007, click on the Outlook Tool Bar Tools tab and then Trust Center.
Click on Addins in the left navigation bar. At the bottom of the window, click on Manage Com Add-ins Go button.
Click on Add
Navigate to the MLOutlookAddin.dll you installed.
Click OK.
Click OK.
The Addin file gets copied into C:\Users\Vista1\AppData\Roaming\Microsoft\AddIns directory (or your local equivelant depending on your login).
You should new see the MLOutlook choice in the Outlook Tool Bar. If you don't, restart Outlook. You may have to repeat adding the Addin because Outlook seems buggy on displaying the MLOutlook Addin button.
If at some later point, if you need to update the MLOutlook Addin, you may have to manually Remove the Addin, THEN do the Addin portion of the install again, and then manually Add that Addin back into Outlook. Sometimes you have to Remove, then ReAdd the Addin a second (three?) times before the MLOutlook button will reappear in Outlook. Restarting Outlook should be done as well.
9. The Addin uses a broadcast mechanism to self connect with all MLOutlook supported plugins (MLCalendar / MLPhoneBook / MLEmail). This requires network ports to be open. Open ports 5015 through 5024 (UDP) on your firewall between the Outlook PC and the MLServer3 PC. Open the MLOutlook addin and you should see on the Available Servers list the MLCalendar PC. These ports need to be opened even if the Outlook Addin is on same PC as the MLServer software.
Some of the earlier versions of MLOutlook Addin used other ports. For security, you might want to close ports 1011 through 1024 as no MainLobby software is now using these ports. (either TCP OR UDP).
If the Addin connects to a supported plugin, then that plugins tab will be visible for configuration in the Addin. MLEmail does not have a configuration tab as it just sends the Outlook received email directly to the plugin.
10. Follow the instructions to setup the appropriate Outlook Addin supported plugin.
MLCalendar Plugin Configuration
1. In the MLServer\downloaded files directory, there is a mloutlook1.states MLCycleStates file to Import into the MLCycleStates plugin (running in MLServer3). These CycleStates examples are used to add a new calendar event from the MainLobby Client PC. MLCycleStates Plugin
2. In Outlook, right click on the Calendar view and open the Properties window. In the Description field, name your calendar. (like "David").
3. The MLCalendar plugin requires licensing and activation after the 30 day trial period. Right click on the MLCalendar Plugin and select Registration to add this information.
4. Open the MLCalendar plugin in the MLServer3 Plugins window by right clicking on the plugin and selecting Settings.
5. In the Outlook Addin, Configure the time for automatic generation of the database in the Calendar Tab. Configure how many months in the past, and how many months in the future and what time you want the Addin to update the MLCalendar Plugin.
If MLServer3 is running, click the Update Now button in the Outlook Addin Calendar tab to create your first MLCalendar database update.
Ensure the "Ignore MLCalendar Update Requests" is deselected if you want to create Events in MainLobby client.
6. Open the MLCalendar Plugin Settings window.
Display Tab
The Display Tab provides options for setting All Day Events and Other Events.
The Display Tab also provides the ability to Update the Server data, the Client data, to delete the Outlook table and delete the MLCalendar variables in MLServer3.
Reminders Tab
There is a check box to Display Reminders in MainLobby
You can also have MLServer3 send a MLServecmd on receipt of a reminder from Outlook. This can be used with MLSpeak to broadcast the reminder over the whole house audio system, as example.
Variables Tab
MLCalendar can use either the "SetVariable" to create all MLCalendar variables, or the new "SetVariableFast" command which as it's name implies, creates variables faster to make month UI changes faster. The disadvantage is that Fast does not run the variable change through the MLServer automation event processor. So, you cannot base events on MLCalendar data changes. Not typically a problem, so the suggestion is to use Quick Variable Creation.
Logging Tab
You can view plugin processing in this window and copy to the Windows clipboard.
Sample Scenes Description
You may want to backup your current 0019_calendar.mls scene as the MLOutlook installer replaces it (it will prompt you if it finds the old one).
Run the MLCalendar_Client.exe file on the MainLobby3 client PC and select the User Interface installer when asked.
The MainLobby Client MLOutlook installer puts three example calendar scenes in the Cinemar directory (by default). Open the 0019_Calendar.mls. You should see the current month listed. If by chance you see the wrong date, reset your MLServer PCs time and date settings in Windows. the 0019_Calender.mls also opens a new navigation overlay scene. If you look at the navigation scene navigation arrows in Edit mode, you can see how you can update your current navigation pages 1 and 2 so that you can track which navigation scene you are on (as you add more and more to your system). You would update both nav 1 AND nav 2 so that there is a circular navigation with each Up / Up / Up button push (or Down / Down / Down).
The 0019_calendar.mls sample scene demonstrates the ability to scroll up / down (click the day's event description at the top / bottom). If you click the Day's date box, the Day's Event scene (0019_calendar1_details) slides in from the right. At the bottom of the scene, you should see the Prev and Next buttons. Click these to scroll through a day's events. If there are no additional events, then the MLServer variable {{MLCalendar_Next_Events_Available}} tells the Next button's state to lower it's tint and become slightly invisible to indicate that there isn't any more events.
If you hit Close, the Day's Event scene slides back.
If you are still on the Day's Event and viewing a event for that day, you can click the Delete button at the top right and this event will be deleted from both MainLobby and Outlook. This works by sending to Outlook the special event ID (mlcalendar variable contains this special value) to Outlook to process the request.
If you want to Add a new event, click the top right New button. The 0019_calendar1_newevent.mls scene will slide in. First step to add an event is to select the Hour / Min / AM or PM / Month / Day / Year for the event. Click Start button. This sets the start date for that event. Adjust your date and then click the End button to establish the end date for the event. This onscreen method of selecting the time and date can be reused for many MainLobby tasks.
Click the Name button and type on the onscreen keyboard the name of the event. Click the Save button on the keyboard. Note - the keyboard will slide out of sight - this will be fixed shortly....
Get the 0019_calendar1_newevent.mls scene back onscreen and click AllDayFlag button to select True or False.
Add your Location via the onscreen keyboard and any subject message you want.
When you are happy with your choices, click the Process button. You should now have a new event in Outlook.
Click the Close button to get back to the main calendar view. You should now see your new event.
MLServer Variables
{{get_next_date_info}}
{{get_previous_date_info}}
{{mlcalendar_current_month_str}}
{{mlcalendar_current_year_no}}
{{mlcalendar_current_month_no}}
{{mlcalendar_all_day_event_reminders}}
{{mlcalendar_reminders}}
{{mlcalendar_dateevent_startdate}}
{{mlcalendar_dateevent_subject}}
{{mlcalendar_dateevent_description}}
{{mlcalendar_date_display_25}}
{{mlcalendar_date_show_2}} If the calendar box has a date for that month, then equals 1.
Supported MLServeCmds
add_event
The Outlook Addin accepts creation of a calendar event generated from Mainlobby3. The syntax for creating the event is:
Syntax:
Add_Event~Calendar~StartDate~EndDate~Event~AllDay(True/False) ~Location~Subject
Functional example:
MLCalendar|add_event~David~8/30/07 4:30PM~8/30/07 6:30PM~My test event~false~Location of appt~anything you want to put in the body of the event
Using variable place holders (example):
MLCalendar|add_event~David~}}~{{mlcalendar_newevent_starttime}}~{{mlcalendar_newevent_endtime}}~{{mlcalendar_newevent_message}}~{{mlcalendar_newevent_eventname}}~{{mlcalendar_newevent_alldayflag}}~{{mlcalendar_newevent_location}}~{{mlcalendar_newevent_message}}
Provided with MLCalendar is a sample NewEventInput.swf that allows for creation of the Outlook Calendar event. Put this swf into a scene and use the keyboard to enter in the appropriate information (not yet available for beta). Cinemar will be producing an onscreen keyboard soon so that an external keyboard would be optional (included in MLDMR beta).
Creating MainLobby Server commands from Outlook or MainLobby client:
Here is a neat capability...Put this in the body of an Event:
[[MLSCOMMAND: insert command ]]
in the insert command, type a MLServeCmd of your choosing. When that Event Reminder is sent from Outlook to MLServer, your desired MLServeCmd will fire. This is useful for scheduling your vacation home's front gate to open for guests at the begining of your party, etc. You can schedule this from your main home. MLSCOMMAND must be in caps for this to work
Delete_Event~EntryID
mlcalendar|delete_event~{{mlcalendar_dateevent_calendarname}}~{{mlcalendar_dateevent_entryid}}
update_client
Macro|MLCalendar|update_client
update_client send an update to the client pcs and asks them to update calendar
Toggle_ALL_DAY_EVENT_REMINDERS
MLCalendar|Toggle_ALL_DAY_EVENT_REMINDERS
Toggle_Reminders
MLCalendar|Toggle_Reminders
GET_DATE_INFO~DateNum
Where DateNum is the actual day of the month
MLCalendar|GET_DATE_INFO~22
SET_CURRENT_MONTH" ~ 8
Sets calendar focus to a particular month
SET_CURRENT_YEAR" ~ 2007
Sets calendar focus to a particular year
next_month
Changes the calendar to next month's view
previous_month
Changes the calendar to prior month's view
Next_year
Changes the calendar to next year's view
Previous_Year
Changes the calendar to prior year's view
get_next_date_info
MLCalendar|GET_NEXT_DATE_INFO~<<base day>>
MLCalendar|GET_NEXT_DATE_INFO~{{MLCalendar_DateEvent_DayNo}}
get_previous_date_info
MLCalendar|GET_PREVIOUS_DATE_INFO~<<base day>>
MLCalendar|GET_PREVIOUS_DATE_INFO~{{MLCalendar_DateEvent_DayNo}}
MLCalendar_Previous_Events_Available
Provides ability to hide buttons if previous event is not available
MLCalendar_Next_Events_Available
Provides ability to hide buttons if next event is not available
SELECT_BY_CALENDAR~CalenderDescription
Allows users to select only data from specific calendar.
select_by_calendar~CalendarName
select_all_events
Gets all Calendar info.
Select_all_Events
Commands that may not still be supported:
Stop – This stops the current client call. This can be used to end a connection to the MLCalendar Client.
Troubleshooting
Bugs
Feature Requests
Release Notes
May 4, 2008
Plugin released to production
