White Labeling FileWave Components

Starting with FileWave 12.7, it is possible to customize end-user components and change FileWave defaults.

White Labeling FileWave components

Starting with FileWave 12.7, it is possible to customize end-user components and change FileWave defaults.

Please use the How-To articles below for detailed customization instructions. 

FileWave Feature Components How-To Articles to Follow
iOS Management MDM enrollment profile, App Portal Web Clip White Labeling the OTA Enrollment profile, MDM profile, and App Portal Web Clip
  App portal as native app (logo and color) Setting the Primary Color, Name and Logo in App Portal (15.3+)
  Enrollment page White Labeling the iOS, macOS and Android enrollment pages
Android Management Enrollment page White Labeling the iOS, macOS and Android enrollment pages
macOS Management MDM enrollment profiles White Labeling the OTA Enrollment profile and MDM profile
  Self Service Kiosk Setting the Primary Color, Name and Logo in App Portal (15.3+)
  Enrollment page White Labeling the iOS, macOS and Android enrollment pages
Windows Management Self Service Kiosk Setting the Primary Color, Name and Logo in App Portal (15.3+)

White Labeling the iOS, macOS, and Android enrollment pages

Getting Started

This article explains how to customize the enrollment page for iOS, macOS (MDM), and Android devices - the enrollment page is what is made visible for your end users when they enroll their devices manually (BYOD or manual enrollment).

Feature Customization type Technology
iOS, macOS MDM, Android Server template HTML
Managed Platform Server Platform Location
Android macOS and Linux /usr/local/filewave/django/user_templates/android/welcome.html
iOS and macOS macOS and Linux /usr/local/filewave/django/user_templates/ios/welcome.html

This HTML document is actually a template, containing variables that will be replaced by the real values when processed by the FileWave server. We are using Django template language - but in a very limited way; only a few variables are important. 

iOS and MacOS

variable usage
static Path where FileWave stores static files like icons, css files
<already_trusted_ca True if the server has a valid, trusted SSL certificate

The template will show one or two steps depending on the SSL certificate your server is using.

In case of self signed certificate:

In case of trusted certificate (recommended):

Android

variable usage
static Path where FileWave stores static files like icons, css files
filewave_version FileWave server current version. "12.4.0" for instance
server_host FileWave server FQDN as set in preferences. "server.filewave.ch" for instance
server_port FileWave server port as set in preferences. 20443 by default.

Android template always shows two steps:

Additional files

Additional files can be placed in the same directory and will be served with the /user_templates/ios/ prefix. For instance, if you want to include a CSS file, you can add to your index.html:

And copy "enroll.css" in the same directory as index.html.

White Labeling the OTA Enrollment profile and MDM profile

Getting Started

It is possible to white label the OTA enrollment profile, the MDM profile, and the Web Clip for the App Portal. These profiles are the ones used while enrolling an Apple device. White Labeling the MDM profile also allows customizing the information displayed for the profile in the Settings iOS app.

The process of White Labeling these profiles consists of copying template files located on the MDM server to the correct location and editing them with a plain text editor. These files are read by the MDM server and persist server upgrades.

All templates are located in the following directory on the server:

In the "user_templates" directory, you will see the following templates that can be used as reference point when making your customizations:

In order to customize the profile, find the file "xxxx.example.plist". Copy the file to another one in the same directory removing ".example" from the name, e.g. copy "xxxx.example.plist" to "xxxx.plist"). You can then edit the file in a text editor.

For the purpose of demonstrating the feature, we will use the fake company name "Argon5".

OTA enrollment profile

The OTA enrollment profile is used during the first step of MDM enrollment. The information it contains is displayed by the OS while the enrollment is in progress. There are 2 files you can customize:

These files are plists that look like this:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Inc//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 
<!--
Note: define your values to substitute the OTA enrolment profile here.
Values present on the enrolment profile and not here will not be substituted.
Every key/value set here is final: they will be present on the enrolment profile.
-->
 
<plist version="1.0">
    <dict>
        <key>PayloadIdentifier</key>
        <string>com.argonfive.mobileconfig.profile-service</string>
        <key>PayloadDisplayName</key>
        <string>Argon 5 Inc.</string>
    </dict>
</plist>

To customize the profile, replace the strings with the value that you would like to see displayed. If you don't want to customize any key, it can safely be removed from the .plist file. This will cause the default value (with FileWave theming) to be sent instead. 

The result can be seen while enrolling an iOS device:

MDMProfileWebclipWB-installprofile.png

Apple TV Enrollment Profile

The file enrollment_ios.plist is also used to customize the profile to enroll Apple TVs with Apple Configurator.

MDMProfileWebclipWB-enrolliosdevice.png

MDM profile

Basic customization

The MDM profile template file is "mdm_profile.example.plist". You can replace any keys in the same way as explained in the previous section.


Sample customized MDM profile
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Inc//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 
<!--
Note: define your values to substitute the MDM profile here.
Values present on the MDM profile and not here will not be substituted.
Every key/value set here is final: they will be present on the MDM profile.
-->
 
<plist version="1.0">
<dict>
    <key>PayloadContent</key>
    <array>
        <dict>
            <key>PayloadContent</key>
            <dict>
                <key>Name</key>
                <string>Argon5 SCEP</string>
                <key>Subject</key>
                <array>
                    <array>
                        <array>
                            <string>O</string>
                            <string>Argon5 SCEP</string>
                        </array>
                    </array>
                    <array>
                        <array>
                            <string>CN</string>
                            <string>argonfivemdm</string>
                        </array>
                    </array>
                </array>
            </dict>
        </dict>
        <dict>
            <key>PayloadDescription</key>
            <string>Installs the Root certificate for the Argon5 MDM solution.</string>
        </dict>
    </array>
    <key>PayloadDescription</key>
    <string>This profile allows this device to be securely managed by the Argon5 MDM Server.</string>
    <key>PayloadDisplayName</key>
    <string>Argon5 MDM Configuration</string>
</dict>
</plist>

Which is displayed in iOS like this:

MDMProfileWebclipWB-profileconfig.png

An additional key that you might want to add is "ConsentText". When this key is defined, iOS and macOS display a consent text during the enrollment process. The consent text must be explicitly accepted by the user. This can be used to request the user to accept terms and conditions before continuing with the enrollment. If this key is missing, this step will be skipped.

Here is an example of how to add the ConsentText at the end of the MDM profile:

...
    <key>ConsentText</key>
    <dict>
        <key>default</key>
        <string>Please be aware that by installing this profile, you agree to the terms and conditions of the Argon5 license.</string>
    </dict>
</dict>
</plist>

MDMProfileWebclipWB-consent.png

Related Content

White Labeling the Chromebook Extension

What

It was previously possible to customize the user-visible information for the FileWave Inventory Extension. It was possible to customize icons, name and description. This involved:

  1. Download chromebook-whiteboxing.zip and modify the data inside (adding a new icon, description, etc.)
  2. Create a support Ticket titled "Chromebook Custom Extension" and attach your new modified Zip File
  3. Wait till we send back your "whiteboxed" extension then continue to the "How to publish" section below

When/Why

As part of an overhaul of the extension to leverage new APIs and enhancements the ability to publish it with customizations is removed for now. If this returns in a future version then this article will be updated.

How

This customization is not possible in FileWave 15.4+ and this article remains to make customers aware of the change. You would use the inventory extension as outlined in Chromebook Client Pre-Requisites rather than this customized method.

Digging Deeper

This was the actual process to publish in the past.

The ZIP file contained:

data.json

{
"name"``: "<NAME_HERE>"``,
"description"``: "<DESCRIPTION_HERE>"
}

How to publish a "whiteboxed" version of the extensions

Once you get the "whiteboxed" version of your extension, you have to follow some steps to make it available to your organization.

  1. Login/Create an account to Google Developer Dashboard

  2. Click on the "Add New Item" button
    ChromeWB-devdashboard.png

  3. Upload the ZIP file
    ChromeWB-uploadextension.png

  4. Edit/add Additional Info
    ChromeWB-customwebstore.png

  5. Publish the extension