Jun 29, 2015

Linx 4 vs Linx 5: Part 1 - Overview

This is the first post in a series that explains the differences between Linx 4 and Linx 5.


With Linx 5 we've aimed to improve the user experience, technical framework and extensibility of Linx in order to give our existing clients a better product and to make it possible for us to reach a wider audience. Here are some of the visible changes.

Core functionality

  • UI - The Linx 4 Developer is a 15 year old design. Linx 5 Designer gives it a modern look and allows us to extend it in ways that was not feasible with Linx 4.
  • Undo - Undo and Redo.
  • Expressions - Properties can be filled with Expressions like Price * 0.14 or ReadFile.Content + " THE END".
  • Contextual Properties - We only show the Properties that matter. Changing a Property may result in other Properties being shown or hidden.
  • Types - Types and Custom Types replace the Variable component. They allow for re-use and more flexible Process designs.
  • Scoped Functions - Functions that require shared resources are now possible. Examples include DbBulkCopy and FileOpen.
  • WebService Services - Design your own SOAP or REST web services without linking it directly to a Linx Process.
  • Deploy - Deploy to multiple servers from within the Linx Designer.
  • Plugins - Linx components are now distributed and installed as separate Plugin packages.
  • Auto update - The Linx Designer notifies you if there are updates available and allows you to install it.
  • Help - Online help available from within the Linx Designer.
  • Community - Help each other use and improve Linx - http://community.linx.twenty57.com.

Who moved my cheese

Some components have been replaced by others or its functionality has moved to other areas in Linx.

  • Components are now split into Functions, Types and Services. They are distributed via Plugin packages.
  • Constants is replaced by Settings and are now at the Solution level.
  • Variable is replaced by Types and CustomTypes.
  • DataIn and DataOut are replaced by Input and Output which are properties on a Process.
  • Assign is replaced by SetValue and Expressions.
  • RunProcess is gone. Drag the Process from the Solution tree to the Process tab.
  • FileWrite does not have a 'Close after every write' property. Use the FileOpen in conjunction with FileWrite or SetValue to keep a file open while writing to it.
  • Use StringBuilder in conjunction with SetValue to build large strings. Concatenating to the same string in a loop will be slower than using StringBuilder.

New components, so far

  • SOAPWebService and RESTWebService - Design your own or mimic another web service.
  • DbBulkCopy - Quickly populate a database.
  • Zip and Unzip.
  • Finswitch - Interact with the Finswitch web services.
  • MongoDb - Read and write to MongoDb.
  • Assert - Make sure what you get is what you expect.
  • RazorTemplateTransform - Transform Razor templates to produce html, xml or text.
  • GraphicsMagick - Do amazing things with images.
  • AmazonEC2 - Use Amazon's EC2 service.
  • GenerateHash - MD5, SHAxxx.
  • FileOpen - Keep a file open while writing to it.
  • DirectoryOperations - Copy, move, create, delete, exists.
  • ThrowException - Create your own exception.
  • PDFOperations - Fill form, split, concatenate, sign, add watermark.
  • StringBuilder - Build a large string at speed.
  • XmlPeek and XmlPoke - Extract or replace Xml snippets using XPath.


The next posts in this series will describe each of these changes in more detail.