MLCalendar Plugin

From Cinemar Wiki
Jump to: navigation, search

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:

MDAC Check Utility Download

If you have an earlier version you can get MDAC Version 2.8 at the following link:

MDAC Download

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