September 07, 2021

Let Forklift for Workspace ONE UEM Do the Heavy Lifting

The Forklift for Workspace ONE UEM Fling is a Workspace ONE UEM change management add-on that uses APIs to empower admins to reduce errors and save time. Forklift is designed to move Workspace ONE UEM resources between UEM Tenants and Organization Groups (OGs). This post discusses the inception of Forklift, its three main use cases, and some real-world use cases.

Introduction

Forklift for Workspace ONE UEM is a Workspace ONE UEM change management add-on that uses APIs to empower admins to reduce errors and save time. Forklift is designed to move Workspace ONE UEM resources between UEM Tenants and Organization Groups (OGs). These tenants can be two completely different servers, e.g., two dedicated SaaS instances or two Organization Groups (OGs) in the same tenant.

Forklift is comprised of three main use cases/feature sets:

Continuous Delivery Pipelines

Continuous Delivery Pipelines allow admins to automate the delivery of resources between the different environments and reduce human touches. Additionally, this enables admins to create a phased (ring) approach to delivering production and test groups resources.

Resource Migrations

Resource Migrations allow an A to B migration of a resource. Supported resources are:

  • Profiles - iOS, Android, macOS, Windows 10
  • Baselines - Windows 10
  • Scripts - macOS and Windows 10
  • Sensors – macOS and Windows 10
  • Internal Apps - iOS, Android, macOS, Windows 10

Deployment Templates

Deployment Templates provide the ability to deploy known configurations to new or existing Workspace ONE UEM environments. The templates are JSON files that have been built and exported from a UEM server. Templates are built to help quickly configure common scenarios for Workspace ONE UEM, specifically for a Proof of Concept (PoC) or any service provider that performs the same standard configurations for their customers.

The Challenges

I have worked with customers using Workspace ONE UEM for over eight years. Although Workspace ONE UEM provides a robust set of application programming interfaces (specifically, representational state transfer or REST APIs for short), not every customer or partner leverages these RESTful APIs. The Workspace ONE community has done a remarkable job of sharing open-source code samples on VMware {code} and GitHub. VMware engineers also leverage APIs to release helpful tools as VMware Flings, like Forklift. These APIs allow you to create creative solutions to niche use cases or even automate repetitive tasks. The possibilities are endless when using APIs.

Over the last eight years, we have been asked by customers/partners: if there are ways of moving resources (or the entire UEM database) from one tenant to another tenant, if there were ways of pre-populating resources in an environment for demo or PoC purposes automatically, or even if there are ways of cloning OGs so they can be moved around or backed up. There isn't an easy way of doing this in the Workspace ONE UEM console, and like I mentioned earlier, not many people know about or leverage the REST APIs. We aimed at solving some of these common asks from customers/partners by providing an application that leverages the APIs in a turnkey fashion.

The Inception

Mike Nelson, an EUC Sr. Solutions Architect, was the brains behind the Workload Migration Fling. Mike worked directly with customers who had the requirement of seamlessly moving/migrating resources from one tenant or OG to another. He decided to leverage the REST APIs to build a tool with a GUI to allow admins to do this without learning how to leverage the APIs. As customers started to use this tool, they provided feedback and new ideas for the tool. Mike decided to compete in VMware's internal EUC Innovation Week Hackathon event to introduce new features quickly. At this moment is where I entered into Forklift's life for the first time.

The Launch

Forklift for Workspace ONE UEM was one of the winners of the internal Hackathon event. Shortly after the event, Forklift also filed a patent for some of its unique features. Forklift was then re-branded and published to VMware's Fling site as Forklift for Workspace ONE UEM version 3.0.0. Version 3.0.1 was then released to fix issues and introduce some enhancements. Therefore, keep the feedback coming!

Real-World Use Cases

The more I use Forklift as an end user, the more real-world use cases I discover. Therefore, I will only provide a few examples and let you find how you want to use Forklift.

  • Allows partners, consultants, people who conduct proof of concepts or trials with Workspace ONE UEM customers to deploy use-case-driven templates to save initial setup time, therefore, helping customers realize value quickly. In this use case, admins today will find themselves creating the same set of profiles, scripts, sensors, baselines for their customers during a PoC. Using Forklift's deployment templates, you can create a set of resources (template) for each use case, then quickly deploy these templates to your customers.
  • Provides admins with an automated delivery pipeline (CI/CD) flow to seamlessly build, test, and deploy a resource (profile, baseline, script, or sensor). In this use case, an admin today would have a Dev, UAT, and Production tenants. They create new resources in Dev, and after testing, will promote the resource to UAT. If testing is successful, then the resource is promoted to production. Forklift automates this process by allowing admins to visualize this flow and provides admins with the added benefits of viewing resource changes (updates) and rolling back to a previous working configuration if testing fails.
  • Download resources from your tenant to share with others or keep as a backup. Using Deployment Templates, you can select resources and then export them as a JSON file that can then be shared with someone else using Forklift to upload into their own environments or keep them as a backup of your environment's resources that point in time.
  • Migrate resources between OGs or tenants. This use case is the most straightforward and easiest to understand. Forklift allows you to move apps, profiles, sensors, scripts, and baselines to other tenants or OGs.

The Install

Be sure to check out the requirements before getting started. Forklift for Workspace ONE UEM can be installed locally on Windows 10 and macOS devices. Setup instructions can be found here, but we will review them below as well.

  1. Install Docker for Desktop.
    1. Be sure to launch Docker for Desktop and see a green bar in the bottom left corner before continuing with the following steps. If Docker is not running, fix these issues before moving forward.

  1. Download the latest version of Forklift for Workspace ONE UEM from the VMware Flings site.
  2. Un-zip Forklift-x.x.x.zip, then click the installer for your platform:
    1. macOS: Forklift-x.x.x-osx-installer.app
    2. Windows 10: Forklift-x.x.x-windows-x64-installer.exe
    3. Note: If you are upgrading, then carefully read the README-Before-Installation.txt for important information.
  3. Go through the install wizard; at the end, you should see a shortcut on the desktop. You can always navigate to http://localhost:4200 while the Docker container is running to get to the application.
  4. If you run into any issues during the install, take a look at using the manual installation process outline here.
  5. Configure your Workspace ONE UEM environments before continuing to using any of the features. You will notice a warning at the top of the page letting you know that you don't have any environments configured as well.

Continuous Delivery Pipelines

Forklift's continuous delivery pipelines allow admins to automate the delivery of resources between the different environments and reduce human touches. Additionally, this enables admins to create a phased (ring) approach to delivering production and test groups resources.

Some of the benefits include:

  • Decreases the time to deploy an item to other organization groups or environments with a button click.
  • An innovative approach to promoting an item to production users that reduces human error and effort.
  • Easily visualize a phased (ring) deployment of a profile, baseline, script, sensor, etc.
  • Rollback to a known good configuration if a step of the pipeline causes issues on users' devices.
  • Ability to visualize differences before promoting the resource to the subsequent ring/users.

For more details on how to create Pipelines, refer to Continuous Delivery Pipelines.

Resource Migrations

Resource Migrations allow an A to B migration of a resource or a group of resources. You start by choosing the resource type, the source environment, then the resource(s), then the destination environment, then finally click Migrate to move the resources. Supported resources are:

  • Profiles - iOS, Android, macOS, Windows 10
  • Baselines - Windows 10
  • Scripts - Windows 10 and macOS
  • Sensors - Windows 10 and macOS
  • Internal Apps - iOS, Android, macOS, Windows 10

Forklift is intelligent enough to migrate the resource or notify you if the resource was previously migrated. At that point, you can choose to update the resource or leave it alone.

You also can view the resource's details before migration. You can even export the details, which will download a JSON export of that resource.

For more details on migrating resources, refer to App Migrations, Profile Migrations, Baseline Migrations, Sensor Migrations, or Script Migrations

Deployment Templates

Deployment Templates provide the ability to deploy known configurations to new or existing Workspace ONE UEM environments. The templates are JSON files that have been built and exported from a Workspace ONE UEM server. Templates are created to help quickly configure common scenarios for Workspace ONE UEM. Specifically, Deployment Templates are designed to reduce configuration time during a Proof of Concept (PoC) or any service provider that performs the same standard configurations for their customers. Some of the supported actions are: creating or importing a template, exporting or publishing a template, or deleting templates. You could make several Deployment Templates for each use case that you tend to deploy to customers for production or PoCs. Save time by publishing these standard configuration sets to all of your customers!

For more details on how to leverage Deployment Templates, refer to Deployment Templates.

Next Steps

We hope you have fallen in love with Forklift enough to take it on a test drive. If so, leave your feedback (positive or negative) on the Flings page. If you run into an issue, open a bug on the Flings page. If you ever forget any links, you can click the help icon within Forklift to view the documentation or log a bug.

We plan to release updates regularly; however, remember that this is not our primary job, and we have to find time to work on these Flings. We welcome your feedback and hope to get this functionality into the product one day.

Logging Locations

When submitting issues or logging bugs for Forklift, include logs or snippets of the error to better help us isolate what is going wrong. You can locate the logs for each platform:

  • macOS: /Users/<username>/Forklift/logs
  • Windows 10: C:\Users\<username>\Documents\Forklift\logs

You can also look at real-time logs and detailed interactions by clicking the Forklift container in Docker Desktop.

Additional Resources

Forklift for Workspace ONE UEM Fling Page

Leave Us Some Feedback

Report Issues with Forklift

Forklift Documentation

[Community Blog] Forklift: Supersize your Change Management Strategy in Workspace ONE

Contributor

Many thanks to Mike NelsonSenior Solutions Architect, End-User-Computing Field Engineering, VMware, for his contribution to this post.

Filter Tags

Workspace ONE Workspace ONE UEM Blog Announcement Intermediate Manage Migrate