MLServer3 Release Notes 2007

From Cinemar Wiki
Jump to: navigation, search

12/11/2007 - Version 3.0.389

1) Adds Template:Clientname_ipaddress server variables

2) Exposes SubVariables command for plugin developers

3) Adds MLGC100 plugin to install options

4) Adds option to shutdown MLServer after a software download


12/07/2007 - Version 3.0.386

Developer Release Adds new SendMessage~from~to~subject~message MLServer command

Adds Family manager enhancments

Adds New Notification mechanism for Plugins


12/05/2007 - Version 3.0.378

1) Fixes bug in Command Map editor when trying to insert ' into commands. 2) Moves Internet connection test to MLWorker process 3) Moves MLServer log file to Logs folder 4) Updates WatchDog to allow for monitoring of MLServer memory usage greater than 100mb. 5) Updates MLWorker.exe to version 3.0.69 and WatchDog.exe to version 3.0.49


11/29/2007 - Version 3.0.373

1) Adds encoding for special HTML characters for web pages accessed via the user web server.

2) Updates MLHoroscope to access a different source. The old source now requires a username / password to get a horoscope.


11/29/2007 - Version 3.0.367

1) Adds new MLCountdown plugin

11/25/2007 - Version 3.0.365

1) Updates MLCycleStates to version 1.0.44 to correct a bug in state editing.

2) Update Client ping logic to better support some tablet PCs

3) Adds two new server variables to track the state of its Internet connection

server_{{servername}}_internetstate = 0 or 1 
server_{{servername}}_internetstatus = Offline or Online 


11/14/2007 - Version 3.0.361

1) Fixes server enable / disable image cache bug.

2) Fixes filter by server variable bug in variable grid.

3) Adds new internal routines for SubVariables and GetVariable that should speed up processing especially for users with large amounts of server variables.

4) WatchDog process will now write a time stamped entry to the MLServer log file if it has to kill MLServer for any reason.

5) Adds information message on Tools/Options/Network dialog


10/10/2007 - Version 3.0.357

1) Should eliminate blank server variables that were being created on the start of MLServer as reported by some users.

2) Updates MLWorker to version 1.0.50


10/09/2007 - Version 3.0.356

1) Adds server_servername and server_ipaddress server variables. 2) Modifies Verbose events log processing to eliminate performance hit some users experience when looking up movies via AMG.


10/07/2007 - Version 3.0.354

1) Changed the LoadVaibles routine to lessen the ammount of time it takes to load server variables on starting MLServer.


10/03/2007 - Version 3.0.353

1) Adds new automation rule options for server variables. You can now define rules like:

Whenever {{somevariable}} Changes Value Then Make {{somevariable}} UPPERCASE, lowercase, Proper Case

10/02/2007 - Version 3.0.351

1) Fixes a bug in the DoNotify logic that introduced cmdReceivePush errors when a client connected.


10/01/2007 - Version 3.0.350

1) Developer enhancements adds DoNotify to notify a plugin when a client connects / disconnects. 2) Server variables should now always be sorted in the display window 3) New version or MLWorker program.


9/26/2007 - Version 3.0.344

Developer release. Creates Logs folder during install. Runs doStartup when plugins are unloaded/loaded. No other new functionality.


9/25/2007 - Version 3.0.343

1) Adds Grouping/Ungrouping to the command map editor. 2) Adds an updated MLCycleStates plugin that supports a new editing UI.


9/21/2007 - Version 3.0.341

1) There have been considerable changes made to the editing of command maps. The testing and macro building functionalty is back. Please take the time to explore all of the buttons on the command map toolbar and the macro builder toolbar. Don't forget that you can double click the icon between the command name and the command to launch the macro builder window.


9/18/2007 - Version 3.0.338

1) Fixed an issue that caused MLServer to error when saving an edited automation rule. Error was introduced in version .337.


9/17/2007 - Version 3.0.337

1) Updated automation rules editor. You no longer have to restart MLServer after creating or editing a rule.


9/16/2007 - Version 3.0.336

1) Updated Command Map Editor. It's a lot less painful now.


9/11/2007 - Version 3.0.327

1) Modifications to the internal license validation routines. Change was made to WMI query routines so that users running Windows XP Embedded servers can access processor IDs without requiring elevated user rights.


8/31/2007 - Version 3.0.322

1) Adds ImportMaps|MapFileName and ImportStates|StatesFileName as valid startup commands to do the following from a setup script:

MLServer.exe ImportMaps|c:\program files\mlserver\downloaded files\some path\MyNewMapFile.cmds

This allows for easier installation via an installer script for command maps and cyclestates updates.

To use, edit the exported MLCycleStates export files and cut and paste to make one master import file. Just append all the data bits together and use the path to that file in the command line.

Like this:

<z:row vName= other stuff from file1 />

<z:row vName= other stuff from file2 />

Used in an installer:

Filename: {app}\MLServer.exe; Parameters:importstates|mloutlook1.states; WorkingDir:  {app}\Downloaded Files; Flags: postinstall runminimized nowait hidewizard runhidden;

8/29/2007 - Version 3.0.320

1) Adds the MLSetVariableFast command available as a standard MainLobby command


8/28/2007 - Version 3.0.319

1) Adds "Help / Online Documentation" which provides plugin links to corresponding online documentation library

2) Adds SetVariableFast plugin support: By not sending variable update(s) to the MLServer Automation event processor, the variables are updated much faster. But, automation events will not be processed on a variable change using the Fast option.


8/11/2007 - Version 3.0.316

1) Adds new verbose diagnostic messages for developers when developing "Family" plugins. No other functionality added.


8/8/2007 - Version 3.0.314

1) Corrects for a error in the GetImage routine where image files were not properly scaled.


8/4/2007 - Version 3.0.312

1) Corrects for a syntax error that generated erroneous error messages during startup of MLServer while it was restoring saved server variables.


8/3/2007 - Version 3.0.311

1) Modifed LoadServerVariables routine to cut down the amount of processing time required to restore server variables during a restart of MLServer.

2) Updated MLConditional plugin to version 1.1.9. Bug found where MLConditional did not pass the correct client name to MLServer when processing commands.

3) Updated MLTimer plugin to latest version. 1.0.42. Now supports 64 timers.


7/24/2007 - Version 3.0.308

1) Added date/time stamp to to clients window. Tracks last connect time for a client.

2) Added the ability to subtitute server variables when using the GetVariable server function. (For plugin developers)


7/23/2007 - Version 3.0.306

1) Fix for error message generated when issueing an AV family command when MLDenon plugin is installed. MLDenon is a member of the AVR family and MLServer was trying to send AV commands to the MLDenon plugin by mistake.


7/12/2007 - Version 3.0.303

1) Fix for reported performance issue reported by some users using version 3.0.298 and 3.0.299. Users with large numbers of Redirects saw a large performance hit.


7/11/2007 - Version 3.0.299 of MLServer

1) Fixed an issue with Macro import


7/10/2007 - Version 3.0.298 of MLServer

1) Fixed an issue with variables

7/5/2007 - Version 3.0.296 of MLServer

1) Fixed an issue with the built-in web server's GetImage command when passing Width and Height parameters and referencing images from non-local sources.

7/1/2007 - Version 3.0.295 of MLServer

1) Added the ability to create HIDDEN server variables. If you create a server variable and its name ends in a $ then the value of the server variable will be hidden from the user in the variable grid. Good for storing passwords and such. Not totally fool proof but will keep the casual end user from viewing sensitive variables. Yes you can still put the label in the name of a button in MainLobby and see its value. But you all lock down MainLobby once it is in production don't you?

2) Added the ability to group similar server variables in the variable grid display. This make viewing large number of server variables easier on the eyes.


5/7/2007 - Version 3.0.267 of MLServer

1) Command Maps (Macros) and Automation Rules are now cached in memory to eliminated the overhead of constantly querying the database.

2) Switched to new Vista compatible image manage control.


2/5/2007 - Version 3.0.232 of MLServer

The following changes are new to this release.

1) Adds Windows Vista compatibility.

2) Adds a new serial control that will support an unlimited number of serial ports. (Not all plugins support this control at this time)

3) Resolves a server variables not being saved issue when MLServer was shut down by clicking on the [X] and resolves a issue with MusicLobby commands being executed out of sequence.

4) Includes a totally rewritten client communications section. This section was rewritten to address client connect / disconnect issues and seeing duplicate clients in the list.

5) The SetVariable code has been changed and users with large numbers of server variables should see a performance gain.

6) Reworked the annoying red dialog box that pops up when the MLServer license has expired.

7) Reworked the Tools/Options dialog box. Moved the TCP/IP port settings to its own tab.

8) Added a Image File Caching option to locally cache images to enhance performance when processing graphics via the internal web browser. The number of days images are allowed to stay in the cache is user definable. This update fixes the slow thumbnail images loading problem in DVDLobby.

9) Reworked the internal processing logic to eliminate the "Out of Stack Space" error some users were seeing.

10) Added handshaking logic between the MainLobby clients and server when changing scenes. This eliminates the loading of overlays problem when changescenes were being executed. You do not have to insert delays between a changescene and loadoverlay command.

11) Added a second web server that will run in parallel with the existing web server. The system web server operates on user definable ports. You can now build your own dynamic web pages to control all aspects of MLServer all outside of the MainLobby client.

12) Added support for HTTPS traffic over the user web server. This requires that you obtain the appropriate certificate to enable the SSL web traffic. As long as you get the certificate you can access the web server via HTTPS://mlservername. (If you register your PC as a LogMeIn remote control PC then the folks at LogMeIn graciously install a certificate on your PC that you can use to enable SSL traffic). Carefully read the ReadMe.html file that is in the \HTML folder for all the info on the demo web pages.

13) The number of simultaneous web connections and clients is limited to the number of licensed clients.

14) The server ships with sample web pages to show you some of the new capabilities.

To enable the user web server go into Tool/Options and then the Network tab. Set the port you want to use for the non-secure web access or use the default port 80. Check the box to enable this port. If you have a certificate you can enable the secure web port and select the certificate to associate with the server by clicking on the Certificate button. Click close to save your options and then restart MLServer.

Two demo web pages are provide as examples of what you can do with the new web server features of MLServer. The first demo web page is scaled for display on a pocket pc or web enabled cellphone. The second is geared to a typical browser and displays the built-in AJAX functionality that will allow you to build dynamic web pages that take advantage of all the MLServer functions previously only available through the Flash interface.

Weather Map Demo

To properly view this demo you must be running the WeatherLobby plugin. Use the following steps to view this demo.

Create a server variable called currMap and set its initial value to 1 Now fire up a web browser and point it to your MLServer's web server at http://yourservername/ppcdemo.html You should see a web page displaying the various weather maps being pulled via WeatherLobby. Two buttons on the bottom of the form will allow you to view the previous or next weather image.

TheaterTek / DVDLobby Demo

To properly view this demo you must be running the TheaterTek plugin along with DVDLobby. Use the following steps to view this demo.

Create a server variable called WebDemoClient and set its value equal to the name of the MainLobby client that is running DVDLobby. You will be viewing the MLServer variables being generated by this client. Create a server variable called WebDemoTT and set its value to the name of the TheaterTek Alias that will be running the movie. You will be controlling this TheaterTek alias via the web page in this demo. Launch DVDLobby on your MainLobby client and start playing a movie in TheaterTek. Now fire up a web browser and point it to your MLServer's web server at http://YourServerName/webdemo.html. You should see a web page that is being updated every two and a half seconds. The transport controls on the web page can be used to control the instance of TT playing the movie.

Rules for HTML files

You can embed {{server variables}} anywhere in the HTML, JavaScript or CSS code. Files with extensions of .HTM, .HTML, .JS and .CSS are preprocessed before sending to the client. All embeded server variables are converted prior to being sent to the client. Look in the PPCDemo.html and WebDemo.html files that are included in this release. You will see many instances of server varaibles in use. These variables must translate to existing server variables in order to display the associated information on the web page. Dynamic elements tied to server variable names must have an ID name equal to the name of the server variable whose data is used in the innerhtml area of the element. All web content must live in the MLServer\HTML folder. This is the root folder for all your web content.

Study the examples in the HTML folder to better understand these capabilities.