Use case
This is an example of a use case of CFApp.
Wernham Hogg Labels Company is a label printer with their own development team. They use CLOUDFLOW to automate their workflows.
The development team has created a customized portal on top of CLOUDFLOW for their operators to manage the work. The portal is built with HTML, JavaScript and CSS files, stored in a File store. The File store also contains files and workflows.
- Compile data
With CFApp they can download all these files, folders and workflows and store them in a folder structure. Whenever they need to rebuild their portal on another CLOUDFLOW system, they use CFApp to upload the files, folders and workflows and make an exact copy of their running system on a different host.
- Updates
Every week they update the existing files, folders and workflows with an updated version.
This is their procedure:
1. Create the folder
They have created a folder MyCFApp. This folder will contain the most recent version of CFApp.
2. Create the CFApp file
CFApp app init /path/to/the/MyCFApp/folder
- They enter a name for the CFApp. If nothing is entered, the name will be the same as the folder name.
- They enter a version number.
The version numbers are based on Semantic Versioning 2.0.0. This means that version numbers contain 3 numbers: MAJOR.MINOR.PATCH.
The very first CFApp will be version 0.0.1. If nothing is entered, the system will by default use version 0.0.1.
{
"name": "MyCFApp",
"version": "0.0.1",
"files": [],
"workflows": []
}
3. Add files, folders and workflows
In the CFApp file they add which files, folders and workflows they want to download. To do this, they open the CFApp file in a text editor and edit it.
{
"name": "MyCFApp",
"version": "0.0.1",
"files": ["cloudflow://PP_FILE_STORE/Assets/"],
"workflows": ["Jobs", "Copy Files"]
}
In this example, all files in folder
will be downloaded, together with two workflows, Jobs and Copy Files.3. Download the files, folders and workflows
CFApp app download /path/to/the/MyCFApp/folder --host <hostname> --login <username> --password <password>
- Hostname is the name of the host where the files, folders and workflows are downloaded from.
- Username is the username to log in to CLOUDFLOW on the host where the files, folders and workflows are downloaded from.
- Password is the password to log in to CLOUDFLOW on the host where the files, folders and workflows are downloaded from.

- All the files and folders in , as indicated in the CFApp file.
- All the workflows indicated in the CFApp file.
- The CFApp file.
4. Upload the files, folders and workflows
With this command they upload the files, folders and workflows to a different host:
CFApp app upload /path/to/the/MyCFApp/folder --host <hostname> --login <username> --password <password>
- Hostname is the name of the host where the files, folders and workflows are uploaded to.
- Username is the username to log in to CLOUDFLOW on the host where the files, folders and workflows are uploaded to.
- Password is the password to log in to CLOUDFLOW on the host where the files, folders and workflows are uploaded to.
5. Updates
Every month they make a new version of the CFApp file with an updated version of the files, folders and workflows. In order to not lose data, they first commit the current files, folders and workflows in the MyCFApp folder to a version control system.
- They download the updated files, folders and workflows with this
command:
CFApp app download /path/to/the/MyCFApp/folder --host <hostname> --login <username> --password <password> --overwrite
Where:- Hostname is the name of the host where the files, folders and workflows are downloaded to.
- Username is the username to log in to CLOUDFLOW on the host where the files, folders and workflows are downloaded to.
- Password is the password to log in to CLOUDFLOW on the host where the files, folders and workflows are downloaded to.
- Option --overwrite makes sure that former existing files, folders and workflows with the same name are overwritten with the newer versions. If this command option is not used, existing files, folders and workflows with the same name will be skipped.
- They open CFApp file in an editor and change the version
number:
{ "name": "MyCFApp", "version": "0.0.2", "files": ["cloudflow://PP_FILE_STORE/Assets/"], "workflows": ["Jobs", "Copy Files"] }
- They update the existing files, folders and workflows in the folder
MyCFApp with this
command:
CFApp app update /path/to/the/MyCFApp/folder --host <hostname> --login <username> --password <password>
- Hostname is the name of the host where the files, folders and workflows are updated.
- Username is the username to log in to CLOUDFLOW on the host where the files, folders and workflows are updated.
- Password is the password to log in to CLOUDFLOW on the host where the files, folders and workflows are updated.