Blog & Events

Tools of the Trade

Tools of the Trade

July 8, 2019 | Jeff Foust

An introduction to DevonWay's expression language

A homebuilder is only as good as the quality of tools they use. Similar to homebuilders, as module builders, we can utilize standard open source software to assist in our building process. No tech job would be complete without the use of a good text editor. When you need to open a log file or write some DXLTM, HTML, or Help Text, we recommend Notepad++ or Visual Studio Code. While not as high tech - screenshots are also a super helpful tool. Whether you need to reference a list of behaviors in one field or maybe you want to reorder some calculations and want a quick reference of what to revert to, we recommend the built in Screen Snip tool in Windows 10 or the Snipping Tool in previous versions of Windows.

DevonWay also has a few useful tools of its own within the platform. Within Module BuilderTM we have a tool called DXL BuilderTM. DXLTM is the DevonWay expression language. It is basically shorthand code that compiles into Java or SQL. Given the proprietary nature of DXL, Google is not a natural resource as it is for most coding languages. However, do not fear – we have great documentation in our docs site that all customers have access to, and the builder is simply a way to visualize your statements and allow you to quickly construct DXLTM  using drag and drop. The DXL BuilderTM includes all DevonWay fields and their respective field codes. Especially helpful is the way it can show the meaning, code, & factor for each picklist. Furthermore, it will show the included fields in a reference field that can be passed in. There may be a point in your progression where you don’t use the DXL BuilderTM and write DXLTM from pure memory. Once you get to that point let us know, we may have a job opening for you... 

I personally love visual aids and learn better when I can see something and how it is used. Back to the home building analogy, we wouldn’t have model homes to walk through or events like Parade of Homes if there wasn’t a benefit to the consumer. Also, it has been said that imitation is the purest form of flattery. If your build area has a good amount of DevonWay built applications, these can be great resources to get ideas from as well as looking at specific DXLTM statements and potentially see how it works and how you can use it in your application.

Let’s conclude by highlighting some specific DXLTM syntax. When we want to embed DXLTM in text like character calculations or email messages, we need to surround the DXLTM with #{…} (hashtag and curly brackets).

 i.e. #{H:CS1} or #{IF(H:D1 != NULL,H:CS1,H:CS2)}

This will allow the DXLTM parser to evaluate the DXLTM as the code it is and not as text.

Another piece of DXLTM that is used in character calculations are | (pipes). If you need to concatenate two DXLTM field codes, use a single | (pipe) for no space and a || (double pipe) for a space between the rendered text.

                H:CS1 | H:CL1 H:CS1 || H:CL1

Take module building to the next level

This is just a quick overview on how you can use DevonWay's expression language to create shortcuts for your own functionalities. If you're serious about diving deeper into module builder, check out the various training options we have available.