Sep 17, 2015

Linx 4 to 5 converter

Today marks the first release of the Linx 4 to 5 converter.  This application will take an existing Linx 4 solution (and optional config) file and create a corresponding Linx 5 solution file from it.  As part of the conversion process, the user will be presented with a conversion log that can be used to track down any conversion issues.

How do I use it?

The converter is a command-line application (Convert.exe) that accepts several parameters.  They are:
  • L4Solution:  Path to the Linx 4 solution file that you want to convert.
  • L4Config (optional): Path to the Linx 4 configuration file that accompanies the solution file.
  • L5Solution: Path to the Linx 5 solution file that will be created.
  • Log (optional): Path to the conversion log file that will be created.
For example:
Convert.exe L4Solution="C:\Temp\OldLinx4Solution.lsoz" L4Config="C:\Temp\OldLinx4Solution.lsoz.config" L5Solution="C:\Temp\NewLinx5Solution.lsoz" Log="C:\Temp\Conversion.txt"

While the application is running, it will display the current conversion status on the screen.  If you've specified a log file (using the command-line parameters), this information will also be captured to disk.  Conversion statuses are as follows:

  • Verbose: Display information about the program flow, e.g. the component being converted, loading of the solution files, instantiating the Linx 4 and 5 environment, etc.  Verbose messages are displayed in the default command-line colour.
  • Information: Display information about non-breaking changes that were made to the converted solution.  Linx 5 for example follows a more strict naming convention than Linx 4 and invalid names have to be converted to ensure a successful conversion.  These messages can also include information about properties that were ignored or replaced with a new Linx 5 equivalent.  Information messages are displayed in green.
  • Warning: Warnings messages are displayed when a component can only be converted up to a point, but requires some user intervention, either on the Linx 4 or Linx 5 side.  Warning messages are displayed in yellow and are repeated at the end of the conversion for convenience.
  • Error: Used to display a fatal conversion message.  If an error is encountered, the whole conversion will stop.  Ensure that you have no validation errors in your Linx 4 solution before you start the conversion.  Error messages are displayed in red.

The small print

The converter will (for now) only convert the most commonly-used components.  Components that do not contain a Linx 5 equivalent will be included as a missing function in the Linx 5 solution - you won't however be able to use these solutions until you remove the applicable component.  Also, be sure to check for any validation errors/warnings in the converted Linx 5 solution after the conversion.

The converter does a one-to-one conversion of the Linx 4 solution and does not try to understand the solution logic.  You may therefore end up with a lot of extra components that can sometimes be consolidated into one Linx 5 component, e.g. separate assignments can be done in a single expression. 

We want to hear from you

As mentioned, this is the first version of the converter.  There are a lot of Linx 4 solutions out there that does a lot of different things, so please let us know if you have any questions, suggestions, feature requests, missing conversions. etc.

Sep 1, 2015

Linx 4 vs Linx 5: Part 6 - Plugins

Linx 4 is distributed with a single installer that contains the Designer, Server and all Components. With Linx 5 the Designer and Server is distributed with a single installer and adds the concept of a Plugin that is distributed separately. Linx 5 introduces the following changes

  • Components are now called Functions.
  • Plugins are managed with a Plugin Manager.
  • Plugins contain Functions and Services.

While this mechanism is much more complex than the single installer model it has the following advantages

  • Plugins can be added, updated or removed without affecting the core Linx 5 applications.
  • Third parties can contribute Plugins without affecting the Linx 5 codebase.
  • Users can selectively install functionality.
  • We can have different licencing models for Linx 5 and Plugins.

This is what it looks like

and here is the Plugin Manager

Linx checks on startup for new versions of Plugins and shows a notification if any are found. Clicking on Install or Update in the Plugin Manager will download and install the selected Plugin.

You can see the list of available Plugins here. Please submit any questions or suggestions to our Linx Community at