The mftJS language (sneak-a-peek)

The mftJS language is like JavaScript, actually it is JavaScript, nearly 100% compatible with the ECMA5 specification, but it has several additional functions and methods specifically designed to develop Managed File Transfer scripts.

The following are some limitations with mftJS:

  • “use strict” will parse, but won’t have any effect
  • The regular expression engine (re2/regexp) is not fully compatible with the ECMA5 specification
  • mftJS targets ES5. ES6 features (eg: Typed Arrays) are not supported

In addition to the above, some specific limitations apply to the way regular expressions are handled. Therefore, the following syntax is incompatible:

  • (?=)  // Lookahead (positive), currently raises a parsing error
  • (?!)  // Lookahead (backhead), currently raises a parsing error
  • \1   // Backreference (\1, \2, \3, …), currently raises a parsing error

Aside from that, JavaScript programmers will feel extremely familiar with mftJS, and the added power of high-level MFT-specific functions, will make developing MFT tasks with this language a real breeze.

Let’s look at a short code sample:

Continue reading

Two typical high-availability (HA) deployments

The most important improvement brought about by Syncplify.me Server! version 5.x is the simplicity with which you can create a true active-active high-availability (HA) set with it.

In fact, as of version 5.x, you don’t have to deploy a database replica-set anymore, which is hard to do and requires at least 5 virtual machines (2 for the SFTP nodes, and 3 for the database); Syncplify.me Server! version 5.x can achieve a totally fault-tolerant, active-active, highly-available deployment with just 2 virtual machines!

Continue reading

How to override permissions on subfolders inside the user’s Home VFS

Syncplify.me Server! version: 5.0.0+

As of version 5.0, Syncplify.me Server! allows to override permissions on sub-folders that are physically contained inside a user’s Home VFS.

Let’s say, for example, that the actual directory structure on disk is the one you see in the picture here below:

Clearly you will want to apply different permissions to the various sub-directories under that root, right? Continue reading

Version 5 maintenance/support subscription explained

As of Syncplify.me Server! version 5.x, we’ve applied a few technical changes in the way the maintenance/support subscription works. Nothing has changed from a philosophical/legal standpoint, only the technology has changed.

Just as before, you need an active maintenance/support subscription to:

  • install updates/upgrades to the software
  • receive customer support
  • be eligible for discounts and special offers

So, what’s new? Continue reading

Everything you need to know about Syncplify.me Server! V5 license codes

In this article we provide a compendium, sort of a FAQ, regarding the most common questions and pieces of knowledge that every Syncplify.me Server! user should know about the new version 5.x licensing system. So here we go:

What’s the license code format?

V5 license codes look like this: V5XX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX

Will my old (V4, V3, …) license code work if I upgrade to V5?

Continue reading

How to upgrade Syncplify.me Server! from V4 to V5

The video here below shows the recommended procedure to upgrade your Syncplify.me Server! from version 4.x to the new version 5.x.

This article assumes you’ve already read and understood the following 2 knowledge base articles, before you attempt the upgrade process:

It is recommended, before upgrading to v5.x, to make sure that you’re running the latest version 4, which is v4.2.5.

Also, it should go without saying (but we say it anyway), that prior to any major upgrade like this you should always make sure to take a snapshot or a full backup of the machine/VM running your existing version. This way, should anything go wrong during the upgrade, you can always go back to your old v4.x in no time.

Last but not least, the “magic URL” mentioned in the video, the one to backup your old v4.x configuration is:

 

Syncplify.me Server! v5: how to add a node/server to a high-availability (HA) set

This article embeds a video that shows how to add an additional node/server to an existing Syncplify.me Server! v5, turning it into a high-availability (HA) deployment.

This video only deals with the addition of the second node, we strongly recommend you to also check out this other article to learn how to deploy the first node.

How to install Syncplify.me Server! v5

This article embeds a video that shows how to install Syncplify.me Server! version 5.x either as a single standalone server or as the first node of a high availability deployment.

Now that you’ve set up your Syncplify.me Server! v5 as a standalone server, we suggest you check out this other article to learn how to add a second node and turn your SFTP server into a high-availability set.

ObjectName and VirtualObjectName deprecated in V5

Syncplify.me Server! version: 5.0.0+

Starting from version 5.0 of Syncplify.me Server! the ObjectName and VirtualObjectName variables (scripting engine and event-handling subsystem) will be deprecated.

They are still available, but they will be removed in future versions, so we do recommend to update all scripts that may be using such variables and make sure you use the new ones:

Session.ObjectName: substitutes ObjectName
Session.VirtualObjectName: substitutes VirtualObjectName

There are also two new similar values that will normally be empty, but may contain a string value only when responding to client commands like COPY, MOVE or RENAME. Such variables are:

Session.ObjectName2: contains the destination file name, relative to the local file system, for the object to be copied to, moved to, or renamed to (example: C:\SFTPData\NewFileName.txt)
Session.VirtualObjectName2: contains the destination file name, in POSIX-compliant format, for the object to be copied to, moved to, or renamed to (example: /SomeFolder/NewFileName.txt)