CML is Custom Markup Language, a set of tools for creating questions within Appen. CML is made up of helper tags, similar in format and syntax to standard HTML, which make defining forms to collect information from our On-Demand Workforce quick and painless.
While the built-in interactive form builder, otherwise known as the graphical editor, will automatically generate most of these helper tags for you, an understanding of CML will allow you to fully realize the utility of the platform.
When building a task in Appen, CML and HTML will play nicely together, so long as you are aware of how you are combining the two. CML can be written inside the Code Editor in the Build Job section.
The following article will act as an index, linking to a variety of CML-related resources. For a comprehensive overview of all CML, as well as an interactive preview of how it works, please see our GitHub repository.
At the heart of CML are its helper tags, which enable the creation of CML questions. The following is a list of all of the available questions along with articles describing their use:
- cml:text - Single line text input
- cml:textarea - Multi-line text input
- cml:checkbox - Single checkbox
- cml:checkboxes - Multiple related checkboxes
- cml:radios - Multiple radio buttons
- cml:select - Drop-down menu
- cml:ratings - Multiple radios in a single line
- cml:taxonomy - Tree search and input tool
- cml:shapes - Image annotation
There are two additional helper tags that do not create new questions but instead modify the behavior of existing elements with which they are associated:
- cml:instructions - Specify instructions for a field
- cml:group - Group related CML fields together
The behavior of CML fields in your job can be modified through the use of various attributes added within the opening helper tag. An example of an attribute would be
validates within the following:
<cml:text name="text_field" validates="required" />
Take a look at this article for an in-depth explanation of the available attributes.
CML Logic allows you to automatically show or hide CML fields within your task depending on the responses provided by a contributor. Take a look at this article for a detailed guide on using logic in the platform.
Before a contributor can submit a task, their responses must first pass a series of checks known as "validations". Adding validations is easy and allows you to prevent the submission of poor-quality or incorrectly formatted responses. Take a look at this article for a list and description of all of the available validations on the platform.
Because of the gigantic on-demand workforce available through Appen, requesting responses from multiple people for the same question is not only feasible, but one of the best methods to ensure high-quality results. Aggregation is the consolidation of one or more contributor responses into a summarized result. Take a look at this article on aggregation to see how it functions on the platform.