What is No-Code?
No-Code is a way of writing software programs with tools that don't require coding experience. With Tag, we want you to automate your business without having to learn programming languages or hire hard-to-find techies. We pick the capabilities you need to have, simplify them for regular folk, and provide easy to use point-and-click interfaces to use them.
At nSymbol, our mantra has always been "Power to the people".
No-Code programming power
Q: How does this all work?
A: With point-and-click, intuitive widgets and interfaces
All instructions used in Smart content and Knowledge graphs are visible to authors. So many new technologies are clever, but hide exactly how and why they do what they do. The business processes that you automate using Tag have instructions that are 100% visible to authors, and use open standards wherever possible, making them also machine-readable by many other tools and technologies.
Expressions: giving instructions to the computer
Expressions are used within smart content templates to provide the power needed to create richly formatted, data-driven content. Expressions use a popular and well-supported open standard for programming called XPath to tell the computer exactly what to do. Because it is an open standard, what you create will be compatible with many other programs and systems. While in some applications expressions are reserved for use by programmers, in Tag we aim to make them simple enough that anyone can use them. We do that with logic bubbles and user-friendly expression editing panels.
1. Logic Bubbles
Logic bubbles provide quick access to No-Code programming power. You can drop logic bubbles anywhere in your content and they will flow along with the writing, like small clickable images that let you control the computer.
When a green logic bubble is clicked, more buttons appear to show available choices. For example, clicking the "Edit expression" button opens a dialog with four choices of panel (from simple to advanced) to edit the expression.
The simplest panel is Quick values as shown to the left. It shows available data fields and lets you select them and drop them into text. If the field can be formatted (e.g., date) more options appear to specify common formats.
2. Basic expression editor panel - easy for us all
The basic panel is designed for simple instructions, like the kind of expressions used in "if" and "choose/when" instructions. It provides a way to include some content (e.g., a word, sentence, paragraph, image, table, etc.), only "if" or "when" one or more conditions are met (e.g., if/when the data value is true/false, greater than, less than, equal to, etc.). You can string several commands together using connectors like "and" and "or".
This example shows the creation of the expression "if gym member is in the competitive league" for our document about members of a gym.
Each of the words shown above are touch-sensitive and will display a popup menu when clicked.
The left and right words represent data fields or literal (manually entered) values. The center word displays a list of comparisons that are appropriate for the type of data being compared.
3. Advanced and Raw expression editor panels - if you need to get fancy
More functionality is available when the advanced expression editing panel is chosen. The advanced panel is a full-featured touch-sensitive expression editor. It uses popup menus just like the basic panel, however it includes far more options to select from, to provide much more No-Code programming power. It can handle most, but not all XPath syntax.
The raw expression editing panel is a text area that accepts raw XPath syntax - so, yes, this is no longer considered No-Code. It can handle 100% of XPath syntax. It is rare that the average user might need it, but it can be invaluable when in a tight pinch, or when you want to copy/paste a clever bit of code into your document. In other words, almost everything in Tag is No-Code, but if code is needed, we have a way to use that too.
Each part of the expression in the advanced expression editor is clickable and presents a popup menu with available options. Expression parts can be nested and grouped within brackets when needed.
The Function... menu item opens a dialog with dozens of functions to choose from. A view of the format-date function used by the "Date of birth" row in our example is shown below.
4. If, choose and call template instructions: how templates act as decision trees
Each template contains a combination of content and logic. It gets copied into the final generated document by starting at the beginning, replacing all logic bubbles with whatever they represent, and continuing to the end. When "if" "choose/when" or "call template" instructions are used, the flow of a template can change dramatically.
In other words, after a template is set up, it can generate hundreds or even thousands of different iterations of a document based on the data encountered.
"If" instructions will include content if a certain condition is met. A condition can be any expression that returns true or false.
"Choose/when" instructions will include content for one of several options. The first "when" with a condition that is met is included. If none of the options' conditions are met, then an optional "otherwise" chunk of content is included.
"Call template" instructions can be placed anywhere in a report. The templates called can be smaller templates from within the same report, or even whole other reports that are separate from the one you are working on. This makes content highly versatile and maximizes the reuse potential of your work.
5. A document map for your decision-tree
Because there can be multiple iterations for a report, and to keep the display from becoming too confusing, only one fragment of text is viewed at a time. You select which fragment to view using the decision tree map at the top of the editing area. The words on the map are clickable and help with navigating around your report. The blue circles can open and close for ease of viewing.
If there are other templates in the document, you can view them using the Show template dropdown list. Each template has its own unique decision tree. Tools are provided to add, remove or edit templates within the current document. Common templates can be imported from shared template files.