ReleaseNotes:Highlights of Planimate Enhancements - Release Versions 4.26 to 4.29z

From Planimate Knowledge Base
Jump to navigation Jump to search

Highlights of Planimate Enhancements
Versions 4.26a to 4.29z.



Introduction

In the 16 months since January 2002 when Planimate 4.26 was released, there have been about 90 releases which averages to over one release a week during that period. Many of the enhancements are bug fixes and minor tweaks. In addition many significant enhancements in capability have been made and are outlined in this document.


This year has seen the emergence of the InterDynamics idBase™. This is being used to provide a growing, real time updated searchable repository of Planimate reference material. Items in the idBase™ are referenced by a note number. Where further material is available, the relevant note number is indicated in square brackets [] in the notes below.


The updates are presented 5 sections
End User Interface Enhancements
Dynamic Spatial Networks
Interconnectivity
Modeller Support
Complex Model Support



End User Interface Enhancements
Table Editing
Table editing has been improved. The cell context menu has improved undo, copy and paste handling and the index down/across function has been enhanced to make it date aware so it can properly index calendar dates forward and backward by month or year.
Popup Panels
Modellers can set up pop up windows for menus, palettes and summary displays. Multiple panels can be opened and the user can reposition them as desired. An Option enables a popup panel to auto-close once it loses focus which simplifies setting up popups. [#94]

Paint Buttons With Controllable States and Hover
A new paint object specifically intended as a button has been added. This object has many features enabling very responsive user interfaces to be built, including:

  1. States. The button can be driven into different states by different states by the model. Each state can have different text, graphical appearance and background image. [#47]
  2. Hover. A state can be assigned to be mouse-over sensitive. When a user hovers over the button, it can change its appearance to make it clear to the user that it is there [#3].
  3. Hover Broadcast. The hover event can be relayed to the model as a broadcast. This enables a modeller to pop up additional panels of information as the user moves the mouse without the user having to click [#112].

    Table Cell Change Broadcast
    The model can react immediately to changes in a table made by the user. The cell changed is made available to the model so related information can be updated without the user having to press an update button [#20].
    Free Text Support In Tables
    Table cells can be configured to store arbitrary long text strings that the user can type in. These are not processed by Planimate at all but can be used for a user to enter annotations to data in other columns in the tables. [#42].
    Value Formatting
    Many more calendar date formatting options are available. In addition Euro and Rand currency formats can now be displayed and imported.
    Dialog Box Calendar Dates
    Fields in a dialog associated with calendar dates can now use the calendar style input field rather than the free form date entry field.
    Conditional Display Of Views and Paint Objects
    A condition can be used to determine if a view (table, graph etc) or paint object should be displayed or not. This is enables a modeller to hide content on a panel which is not relevant (eg: feature not enabled, user running in non expert mode).
    Arrowed Paint Lines
    Paint lines can have optional end and center arrow heads (outline or solid) displayed along with them.

    Dynamic Spatial Network Support
    Broadcasts from Portals and Spatial Links
    The platform supports the end user creating nodes and connecting them with links to create spatial networks. model can receive and process. Broadcasts are available when nodes are clicked or dragged and the links joining them are clicked. Both mouse buttons are supported so they can be assigned different actions. [#99] [#100] The model can dynamically enable whether portals can be repositioned by the user. [#97]


In addition to creating and deleting portals, portals can be replaced under model control. This enables nodes to be automatically updated with new content placed in a master node. [#48].
Interconnectivity
Simple Web Server
Planimate includes the ability to serve very simple web pages. These can be constructed on the fly by the model. The server is not sophisticated but enables Planimate to directly interface with systems that send processing requests as a URL. [#46]
URL Request
Planimate can generate and send a URL request to another web site. This can be used to trigger action from a server configured to process active server page requests.
File Name Support
Models can generate and manipulate file names as labels. The name of the last loaded data set [#35] and the name or name and full path of the last loaded data file can be referenced by the model [#106].
File Access Error Trapping
In the past, Planimate would stop a model run when an error occurred while reading or writing to a data file. The modeller can now intercept such errors and take action without the default error message being presented to the user. [#59].
ODBC Enhancements
ODBC data sources are accessed by name. The name can now be dynamically provided by the model at runtime rather than hard coded by the modeller. [#10]. An ODBC connection cache can be used to speed up multiple ODBC accesses to the same database. [#40].
Application Generation
Planimate models can be saved as stand alone EXE files which package all the required resources for the model into a single EXE. [#37] Multimedia files such as sounds and AVI clips can be imported into a DB. Planimate will extract them as required to play them. [#38]


Planimate models can also be saved as a new type of file, PMB, Planimate Model Bundles. A PMB file includes both the model and database components of a Planimate model.
Time Zone Correction
If a model is used from different time zones, the need may arise to present, import and export calendar dates and times in local time format. Rather than adjust all the data in the model, a time zone correction system attribute has been added which gets applied to all displays and inputs of calendar times. The model can then be built to store times internally in UTC with a local offset configured and applied by each particular user. [#85]

Modeller Support
Modeless Table Editing
Table editing is no longer modal. Multiple tables can be opened for viewing and editing and their windows can be repositioned and decoupled from the Planimate main window (so they become accessible via alt-tab). These windows can be dynamically opened by Planimate and by buttons. This means a model need not contain a view for every table that a modeller may want to inspect, reducing overheads and increasing model run speed.
Group Selection
Groups of objects can now be selected by dragging and forming a box around them. This enables many objects to be rapidly selected then copied, moved, aligned or deleted. Multiple group selections can be combined to select objects in different regions of a panel.
Navigation Enhancement
A new history list stores the panels recently visited by a modeller as they edit and navigate a model. This history can be rapidly navigated using keys and panels within the history can be repositioned to enable panels of interest to be placed close together in the history list. [#103]
Paint re-inheritance
It is now possible to re-inherit objects from a panel without having to delete all existing inherited objects.
Debugging Enhancements
Debugging options can be changed without having to pause the run, via the background menu. The debug and breakpoint windows show more information about the model when an error occurs and enable attributes and routines to be inspectedw without having to pause or stop the run. [#13]


Trace animation is now a system attribute and can be switched on and off within routine code. This can be invaluable when homing in on a trouble spot in a model.


A system attribute stores the reason the runtime engine last stopped. This prevents the modeller having to track this themselves when dealing with models that restart the engine in order to effect changes upon their structure. [#8].
Label List Enhancements
The contents of a label list can be copied from one list to another as easily as copying an attribute, using the SET routine operation with label list references for the source and target attribute references.
Messaging Enhancements
Messages can now be sent to a specifically named message entry within a targeted subsystem. This greatly enhances the options for producing modular models with portals containing processing subsystems which can be “plugged in”, replaced and dynamically created. [#83]
Complex model support.
Memory
PC capabilities continue to grow and Planimate scales to keep up with them. Planimate originally ran in 500K of RAM on a 286. The latest sophisticated network models have approached 1GB of memory requirement for the model database. The framework has undergone a number of enhancements to optimize the way memory is managed.
Model Profiling
Profiling tools have been added to assist the modeller in identifying opportunities for improvement in their models execution by providing a breakdown where the most time was spent. [#8]
Batch Mode
Batch mode running handles the loading of data sets as well as model files from the command line. [#86].
Run Time Engine
The order that the engine processes events occurring at the same time has been much more strictly defined. Broadcasts get the highest priority, followed by item moves and unblocks. Lower priority events like button clicks and zero delays are only processed when there are no more higher priority events at the current time. This guarantees to the modeller that all side effects of an update to an attribute are applied before the user gets to interact with the system again. [#18]




idkbase note 195