Converting Old Modules to New Modules

Now that the compiler doesn’t accept ambiguous output references, or methods to have unspecified outputs, it’s very likely that old modules in connectors will need to be replaced with their modern counterparts.

Some V1 modules will not have issues with these changes:

  • branch
  • custom

All other modules will need to be converted.

Successfully converting old modules to new modules means doing two things:

  1. Changing the old module into its counterpart
  2. Changing all references to that old module to no longer be ambiguous

To change the old module into its counterpart, see below for a list of suggested conversions (Note that documentation for each new module can be found by clicking the question mark by that module name):

  • call - Control.Call Flow
  • date - Date.Parse, or Date.Now
  • dateslice - List.FilterBy (preferred) or Date.Dateslice
  • file - File.Push or File.Pull, depending on operation
  • hash - Object.Get
  • http - HTTP.Call, or HTTP.Get/Post/Pull/Etc
  • massage - Object.Construct, or any JSON function (JSON.Render is not suggested, it is very slow)
  • paginate - HTTP.Paginate, or any HTTP module (preferred)
  • parse - JSON.Parse
  • render - Object.Construct, List.Contstruct, or JSON.Render (most inefficient)
  • scope - Object.Get or in-line module references (example- “{{moduleWithObjectIWant.body.pathToObjectIWant}}”)
  • since - Control.Since
  • sort - List.Sort or List.SortBy
  • stringify - JSON.Stringify
  • throw - Control.Throw or Control.ThrowIf
  • wrap - Object.Construct or Object.Set
  • (Collections) Filter - List.Filter or List.FilterBy
  • (Collections) Flatten - List.Flatten
  • (Collections) Map - List.Map
  • (Collections) Zip - List.Zip

To change your module references, simply find all references to your old module’s name, and append the path to your desired output. To easily search all modules inside of your method, click the method name, and Cmd/Ctrl + F your module’s name.