Low Code vs Full Code: How do I know when to change?
This article will attempt to answer some questions around Low Code and Full Code, and when/if to make the switch. First, let’s go back to Low Code.
What is XpressDox Low Code?
All baked in to the same product is a Low Code and Full Code version of XpressDox. The Low Code version makes it easy for beginners to get going on XpressDox very quickly, with minimal training. The first few icons on the XpressDox ribbon make up Low Code i.e. the Question command, If, Repeater and Manage Interview. Ease of use is the main focus of Low Code. It is however, limited in functionality. As you get further and further along your XpressDox journey, you will find yourself naturally progressing into the Full Code because of the need for extended functionality.
The Question command
The Question command is a pivotal element in the Low Code environment. With one Question command; a straight forward text element for instance, you can add Question text, make it required, set an initial/default value and override when the question should show on the interview. Each of these options becomes a parameter in the Question command, but could also be represented by a Full Code command. The following inserts a Question called Company_Name, it’s mandatory, its question text is “Change the company name if necessary” and it has an initial value of “ACME Ltd”.
«Question(Company_Name,Change the company name if necessary,Single-line text,,Required,,,<~>,automatic,ACME Ltd)»
In Full Code, this could also be written as:
«Company_Name»
«Caption(Company_Name,Change the company name if necessary)»
«Required(Company_Name)»
«SetInitialValue(Company_Name,ACME Ltd)»
As demonstrated, a number of Full Code commands were bundled into the Question command.
A different way might be to use the Define command. A number of commands are also bundled into the Define command. The Define command will never insert the answer into the assembled document, it is simply a way of defining a number of attributes about a data element.
«Define(Company_Name,Change the company name if necessary,,,,CaptureDataElement,,Required,ACME Ltd,;;,;;,;)»
So why change to Full Code if I have to write so many more lines of code?
It’s not really about using one or the other. Because XpressDox has a unique approach of Low Code and Full Code all in one product, it is perfectly acceptable to use a mix of Low Code and Full Code in one template. And Manage Interview makes it really easy to re-sequence your interview, and add tabs without the need for constructing the Tab command yourself. Unbundling the commands from the Question command could make it easier to read in the template which some users prefer.
You might also want to think about building code templates.
Code templates
In XpressDox all authoring is done in Word, but that’s not to say you can’t think of your authoring as “interview-type-authoring” and “document-type-authoring”. Consider a template that you are creating, let’s call it the “Document template” since it is the one that will produce the document. There is another side to this, and that is the interview. The interview is built for you, however there may be things you want to enhance, and it makes sense from a readability point of view to keep these commands/functions in a separate place. Let’s call it the “Interview template”. Fillpoints that affect the document stay on the “Document template”, and any commands/functions that affect the interview can be placed on the “Interview template”. This is certainly not a hard and fast rule, just one way to look at it.
Notice the «IncludeCodeTemplate(Property interview template)» command on the Document template. This is the instruction to fetch the contents of the Interview template at the time of running the template. The Document template remains clean and uncluttered.
Notice also that the Document template contains Question commands (Low Code) and the Interview template contains commands from the Command Assistant (Full Code).
In the event that you are building many templates in one practice area, that same code template could be re-used, minimizing the amount of code that needs to be written.