29. Libraries
A library is a redistributable package containing reusable graphs, subgraphs, jobflows, data services or metadata. It can be developed in CloverDX Designer and then deployed to CloverDX Server. It allows comfortable sharing of CloverDX elements.
Development and Installation
Libraries are developed as regular projects. When the development is finished, the developer can use CloverDX Designer to export the whole project into a package. During the export, the author selects which elements are public – meant to be used by others. We call these elements the public interface of the library. They will be visible to all users. Libraries may contain other (internal) elements, which may be used as sub-routines in the public ones.
The export creates a single file with “.clib” extension. This file can be uploaded to CloverDX Server in the Libraries section. Alternatively, it can be uploaded to some repository where other users can install it from. Installing or deleting libraries requires the “Libraries administration” permission.
During the installation process, you can set a library ID specific for the particular library instance. This way, you can install the same library version multiple times. Another item which can be filled in is the label. If filled, it replaces the original library name and will be displayed in all the places where this library is used. You can also choose using a switch whether a library after installation will be enabled or disabled (default is disabled). If a library is disabled it cannot be used in CloverDX Designer and CloverDX Wrangler (is not visible there). The state of the library (enabled/disabled) can be changed at any time in the list of installed libraries by a user with “Libraries administration” permission. Once installed and enabled, public elements from the library may be used by all authenticated users of the Server.
Installed libraries may be seen as a special type of public shared sandbox with read-only permissions.
Internally, the packages are unpacked into the ${libraries.home}
directory. By default, it points to “libraries” sub-directory located in ${sandboxes.home}
.
Usage
Graphs, Jobflows
When creating a new schedule or event listener on the CloverDX Server, public graphs and jobflows from installed libraries can be used.
Subgraphs
When developing new graphs in a Server project in CloverDX Designer, public subgraphs from installed libraries are shown in the Palette. They are also available in the Add Component dialog.
Data Connectors
Data Connectors are the special subgraphs which meet some conditions. They are determined, selected and exported during Export as Library action in the CloverDX Designer.
On the server, each data source connector can be assigned two permissions:
-
The read permission determines who can see the connector in CloverDX Data Catalog. By default, this permission is granted to user group Everyone (if it exists).
-
The execute permission specifies who can use the connector in CloverDX Wrangler. Nobody has this permission by default.
Data Services
Data services from installed libraries can be deployed on the CloverDX Server.
Updating a Library
You can have multiple instances of the same library, differentiated by version number or library ID.
The library is only updated if the user checks the “Overwrite already installed libraries” option and all the name, the version, and the library ID match. Without “Overwrite”, the matching (already installed) libraries are skipped.
Library Documentation
The library documentation contains additional detailed information about the library. To be visible, it must be in a separate file placed in the root of the source project before exporting the library. We support three file names (case insensitive, in the preferred order):
-
readme.md – rendered Markdown – a visage like in the CloverDX Marketplace
-
readme.txt – plain text
-
readme – plain text
The documentation is displayed in the library detail in a separate tab (the first one) next to the Overview, and it is optional – if not present, then the tab is hidden. It is displayed for both the installed libraries and the libraries available in repositories.
Library Overview
The Overview tab displays the basic information about the selected library and list of resources the library offers.
Library Editing
Click the Edit button in the upper right corner of the Overview tab to modify the label and custom description of the library.
Library Configuration
Only the users with “Libraries administration” permission are allowed to configure the installed libraries.
When exporting a library in CloverDX Designer, you can select one job which you may use as an initialization job for your library. If the library has such a job, it is indicated by a bullseye icon in the libraries list.
You can run this initialization job by clicking on Initialize library button in the configuration bookmark. This job can be executed as many times as necessary.
It is possible to configure your libraries with parameters.
When exporting a library in CloverDX Designer, you can add a library.prm
file into it and define parameters which will be configurable on CloverDX Server.
If the library has such a file, it is indicated by a wrench icon in the libraries list.
The supported parameter types are String
, Secure String
, Boolean
, Integer
, Decimal
, and Enumeration
. The parameter’s description is shown as an “i” icon with a tooltip.
If the library depends on other libraries, the configuration tab shows the dependencies in a separate table. If the referenced library is installed under the same name, it is linked automatically; otherwise, you must resolve the dependency manually. Libraries with unresolved dependencies are marked with a red “hierarchy” icon.
Library Repository
Library repositories allow you to share your libraries. A repository is a local or remote directory with “.clib” archives, each containing one library.
Currently, we support the following remote protocols: FTP, SFTP, Amazon S3, Azure Blob Storage, SMB and SMB2.
In CloverDX Server, you can add one or more repositories and then browse the repository and install selected libraries.
Our CloverDX Marketplace, which includes a collection of CloverDX libraries that implement various functionalities, is automatically added during CloverDX Server installation with an empty database.
For existing Server installations, the CloverDX Marketplace repository can be added by clicking on the Add CloverDX Marketplace button. After performing this step, the button will become disabled and will indicate that the repository has already been added.
The CloverDX Marketplace repository (its URL is |
Library Export
When you export configuration, these items are exported: original name, label, version, library ID, custom description, enabled/disabled, dependencies and parameters (Base64 encoded).
Library Import
When you import configuration, CloverDX Server tries to find imported libraries in the list of installed libraries. If they are found they will be updated, otherwise they will be installed from the available repositories (if available). Libraries are matched according to their original name, version and library ID.