MaestroThe UI design product. | Form Builder | 18.05 This feature was updated in 18.05.
Journey Maestro uses the concept of libraries, where a library is a collection of resources that can be made available to Maestro's forms, components, and templates. Resources can be:
Maestro defines resources as stand-alone objects contained by assets like shared components and templates. Resources are identified by their name and by their values, if there are multiple resources with the same name. The version of the resource that is ‘live’ and shared across forms and templates is the last version to be published to a library (taking into account precedence rules).
You can create libraries for organizations or projects and add (publish) resources to these libraries. This allows anyone with access to these organizations or projects to share and reuse the resources. Maestro comes with the editor that is easy to use when you want to view and manage resources in a library.
The text-based resources, such as styles and scripts, can contain either Windows (CRLF
or \r\n
) or UNIX (LF
or \n
) new line characters. Importing a resource with one line ending format over the other won't cause any issues.
A resource must be published to a library to make it available to forms, components, or templates that use that library.
If you have made any changes to a published resource, you will need to republish it for those changes to be available elsewhere.
If you're working on a resource, such as a component, and aren't sure why it's not available in a form or template, it's probably because you haven't published it to a library. For an example of this publishing process, refer to the Shared Components documentation.
We encourage Template Designers and Form Builders to use libraries to avoid resource duplication, streamline resource reuse, and promote changes to multiple forms in a single action thereby enforcing a consistent user experience.
To emphasize the importance of libraries, consider the following use cases.
As a Template Designer, you want to ensure that corporate branding is consistent across a project or organization. If the resources that implement your brand are used in many different places, it's easy for those resources to diverge as branding guidelines evolve.
To solve this problem, a Template Designer can create a library named "Corporate Brand", for example, containing resources that implement the corporate brand, and make that library available to the organization. This library acts as a single source of truth for corporate branding. All templates, forms, and components within that organization use the resources in the "Corporate Brand" library, thereby ensuring compliance with branding guidelines. If the guidelines change, the Template Designer need only publish the changes to the library for them to be reflected throughout the organization.
As a Form Builder, you want to ensure that form elements are laid out correctly, behave correctly across multiple device types, and accurately validate a range of data types. If an organization has a number of forms that ask for the customer's address, for example, it makes sense for the form fields that ask for the address to always look and behave the same way. If they don't, the inconsistency can lead to a frustrating user experience.
To solve this problem, a Form Builder can create a range of components that behave as desired and save those components to a common library. This library can be attached to an organization or project, and if those components ever need to be updated, the changes only have to be made once in the library rather than everywhere the components are used.
In Maestro, there are three types of libraries:
This topic describes the characteristics shared by all types of libraries.
These types are sometimes referred to as the library's scope.
Similar to how forms, components, templates, and receipts can be versioned, libraries can also be versioned. There is, however, some versioning functionality that is unique to libraries.
When you select a project's Libraries directory, you'll see the list of libraries available to that project.
By default, libraries are sorted from newest to oldest, with the release libraries at the bottom and user-created libraries at the top. If a new library becomes available to the project, it's added to the top of the list. This is significant because the order of this list can affect the way your forms look and behave.
When a form needs a resource, it will look for it by name in the project's libraries and use the first one it finds with the specified name.
For example, imagine there's a style in one of the default libraries that you want to override. If you create your own library with a rule that overrides the style, the rule you've defined will take precedence over the original one.
The rule inside the most recently created library will be used because libraries are given precedence based on their order in the library list and the most recently created library will be at the top of the list.
In other words, libraries higher in the library list are considered more important than libraries lower in the list. If you want the rule from the second library to not take precedence over the first library, you would need to move it further down the list.
To control the precedence of libraries, select a library and use the Move Up and Move Down buttons to adjust its position in the list.
The order of the release libraries should not be changed as this may lead to unexpected results.
You can't view the resources within a release library.
Next, learn how to view libraries.