%3Aquality(100)&w=3840&q=75)
BLACKBERRY DEVELOPERS
Get Started with BlackBerry Workspaces SDK
BlackBerry Workspaces SDK allows users to securely store, share and synchronize documents across all enterprise platforms and devices.
Learn
With Workspaces, users can securely share files with others. File owners maintain full control of each file that they share, including permissions to view, print, copy and download a file. For example, file owners can change access permissions, set a file expiration date, or revoke access to a file at any time even after a file is shared with devices beyond your organization's control.
Developers can build apps that integrate access to Workspaces using the BlackBerry Workspaces REST API which includes two core services:
Workspaces: files can be uploaded to Workspaces to be securely shared with others
Send: method by which files are securely shared with others
For faster development, a Java SDK is also provided.
Access Workspaces Server
To use the BlackBerry REST API or Java SDK, you must have access to an on prem or cloud Workspaces server.
Customers who have purchased Workspaces are allowed to deploy development and test servers under the terms of their license agreement. Cloud customers are allowed to test against their production cloud instance. Reach out to your Workspaces administrator to gain access to the Workspaces API.
If you don’t already have access to BlackBerry Workspaces, you have two options to continue:
Purchase a BlackBerry Workspaces cloud account.
This is the recommended approach to ensure full access to Workspaces and BlackBerry award-winning support. For a nominal annual fee, you can have a dedicated development and testing environment deployed in your local environment or hosted in the BlackBerry cloud.
In addition to phone-based support BlackBerry customers have access to an online service request system plus all the resources they need to deploy, manage, support and drive adoption of Workspaces via the BlackBerry Admins portal.
Start a free trial for a short-term development and testing Workspaces environment.
Develop
BlackBerry Workspaces provides a REST API as well as BlackBerry Workspaces Java SDK and .NET SDK for faster development in Java environments.
Using the REST API
Developer Guide -- Consult the REST API developer guide for an overview, how to authenticate requests, and examples for working with various features of the Workspaces server.
API Reference -- The API reference describes the interfaces, classes, methods, and data types of the BlackBerry Workspaces REST API.
Samples -- View code samples using workspaces, users and files.
Using the Java SDK
Java Library -- Download and install the Workspaces Java SDK code libraries. There is a compact JAR file with just the SDK classes and a shaded JAR file with the SDK classes and all their dependencies.
Developer Guide -- Consult the Java developer guide for an overview of the SDK, how to authenticate requests against APIs and examples for working with various features of the Workspaces server.
API Reference -- The API reference describes the interfaces, classes, methods, and enumerations of the BlackBerry Workspaces Java SDK.
Samples -- View code samples using workspaces, users and files.
Using the .NET SDK
Developer Guide -- Consult the .NET developer guide for an overview of the SDK, how to authenticate requests against APIs and examples for working with various features of the Workspaces server.
API Reference -- The API reference describes the interfaces, classes, methods, and enumerations of the BlackBerry Workspaces .NET SDK.
Samples -- View code samples using workspaces, users and files.
Using the Android SDK
Developer Guide -- Consult the Android developer guide for an overview of the SDK, how to authenticate requests against APIs and examples for working with various features of the Workspaces server.
API Reference -- The API reference describes the interfaces, classes, methods, and enumerations of the BlackBerry Workspaces Android SDK.
Samples -- View code samples using workspaces, users and files.
Deploy and Test
Deploy and Test a BlackBerry Dynamics Secured App. Deploy your BlackBerry Dynamics app to a smartphone, tablet, or emulator for testing purposes. You require: An Internet connection A smartphone, tablet, or emulator supported by BlackBerry Dynamics A BlackBerry UEM server or use the Enterprise Simulation Mode.
Enterprise Simulation Mode
To run and test any BlackBerry Dynamics app, a BlackBerry UEM server is needed but, with considerable limitations, Enterprise Simulation Mode can be used to test an app without a connection to a BlackBerry UEM server
In Enterprise Simulation Mode, there is no user authentication at the enterprise level, so there will be no communication through the enterprise firewall. If the app requires a connection behind the firewall then a BlackBerry UEM server is needed.
Important: the Enterprise Simulation Mode is not intended for a production environment and it is limited to run on an iOS simulator only.
Although Enterprise Simulation Mode is not suitable for the production deployment of an app, it is useful during development, and for verifying proper execution and behavior when migrating existing apps to BlackBerry Dynamics.
In simulation mode, a valid activation key is not required to open the app because there is no direct communication with BlackBerry Dynamics servers. Communication with the BlackBerry Dynamics NOC, however, continues to take place.
To enable Enterprise Simulation Mode for a BlackBerry Dynamics app, add the following to the root config.xml file and rebuild the project:
<preference name=“GDEnterpriseSimulationMode” value=“true” />
To disable it, change the value to false or remove the preference altogether.
When a BlackBerry Dynamics app is running for the first time on a target, it needs to be activated with the BlackBerry Dynamics server. In Enterprise Simulation Mode, any email address and any 15-character access key are valid to complete the activation process. After the app is activated, the app will prompt the user to create a password.
The Password Requirements link at the bottom of the screen provides guidance on the required password complexity. When not running in Enterprise Simulation Mode the password complexity is controlled via policies managed by your IT admin through the UEM management console.
Enterprise Simulation Mode presents the following differences from standard enterprise execution:
[Simulated] will appear in the BlackBerry Dynamics Runtime user interface
Any email address and activation key will be accepted for enterprise activation
No information is actually sent to enterprise servers, including the email address and activation key
The provisioning and policy setup flow is simulated in the UI
A hard-coded set of security and compliance policies are in effect; authentication is not delegated
When run on a real device, not an emulator, the app will be wiped
Attempts to change the mode from GDEnterprise to GDEnterpriseSimulation for an app that is already installed on a device will result in the app being wiped
No lost-password recovery is available
Inter-container Communication (ICC) cannot be used, which means that the BlackBerry Dynamics Services API cannot be used
Otherwise, the secure storage, secure communication, and push channel APIs are all available in Enterprise Simulation Mode.
The communication APIs will not be able to connect to any enterprise app servers through the UEM server, although direct connections to enterprise app servers can still be made, if, for example, the iOS Simulator is running on a machine that is on the enterprise network or VPN.
Using BlackBerry UEM server
A BlackBerry UEM or BlackBerry UEM Cloud instance is required to perform testing on an actual smartphone or tablet.
Follow the required steps to configure a BlackBerry Secured app for testing in UEM. If you do not yet have a UEM instance in place, you can configure one with a free developer trial license. Click here to generate a trial license and start configuring your server.
Once the servers are in place, continue with the following steps.
1) Configure the app on BlackBerry UEM or BlackBerry UEM Cloud
The first thing to do is to define the app in the BlackBerry UEM
Log in to the BlackBerry UEM management console.
Click Apps > New App > Internal BlackBerry Dynamics app entitlements > Next.
Specify the BlackBerry Dynamics Entitlement ID and BlackBerry Dynamics Entitlement Version that was set in the Info.plist file. For example, com.mycompany.testApp and 1.0.0.0.
Click Add.
Your application will be included in the list of available apps. If you need to provide additional configuration parameters for your app, such as whitelisting servers or configuring an app policy, select your app from the list and configure it as necessary.
Recommendation: Add the Bundle ID to the app’s configuration. This allows the use of Easy Activation, which avoids the requirement of entering an access key when first starting the app. This is also required if your app uses any BlackBerry AppKinetics services.
To add these values:
Click the app.
On the iOS tab, enter the appropriate value
Click Save.
2) Disable Anti-Debug detection
BlackBerry UEM has the capability to prevent debug versions of BlackBerry Dynamics apps from being run. To allow for app development, this must be disabled in the Compliance profile assigned to the user used for testing.
To disable the policy, follow the steps below:
Log in to the UEM management console.
On the left menu, click Policies and profiles > Compliance.
Open the compliance profile assigned to the test user.
On the iOS tab, if Jailbroken OS is checked, ensure that Enable anti-debugging for BlackBerry Dynamics apps is not selected.
3) Entitle app users
After an app is registered in a BlackBerry UEM server, users must be entitled to install and use the app. Individual users or user groups can be entitled to an app. For production deployment, it’s recommended to use user groups. When developing or testing, individual users can be used.
To entitle an app to an individual user, follow the steps below:
Log in to the UEM management console.
Search for and select a user account.
In the Apps section in the user profile, click +.
Search for and select your app.
Click Next.
Leave the Disposition as optional (installation will not be forced) and click Assign.
Depending on your authentication delegate configuration, you may need to generate an Activation Password that will be used when the app is run for the first time after installation.
To generate a new Activation Password:
In the user's profile, under the Summary tab, click Set activation password.
In the Activation option drop-down list, click Default device activation.
In the Activation password drop-down list, click Set device activation password.
In the Device activation password text field enter the password to be used when the app is run for the first time after installation.
For development purposes, it can be useful to extend the Activation period expiration to the maximum allowed (30 days)
Click Submit.
The user receives an email with the credentials and a QR code that can be used to activate the app when it's first run after installation.
The email sent to the user can be seen also from the UEM console by clicking on the link "View activation email"Install the app to the intended target using the preferred deployment method (including via Xcode).
When prompted select an activation type between the ones available
Use "enter credentials" to use email and activation password directly.
Use "Scan QR code" if the app is running on a device with a camera and the QR code from the activation email is available to scan even from a screen.
Success! Continue
Congratulations on developing your first BlackBerry Dynamics secured Cordova app!
You can continue to explore the available plugins that expose different APIs and read developer resources. Learn about some of the common plugins below.
You may want to learn more about the BlackBerry DynamicsCordova Plugins and how they work with your project. If you’ve built projects with Cordova plugins in the past, using the BlackBerry Dynamics plugins will be familiar to you.
Some features will automatically be available to your project after adding the cordova-plugin-bbd-base plugin such as XMLHttpRequest, fetch etc.
To see the full details of BlackBerry Dynamics Cordova APIs, see the BlackBerry Dynamics SDK for Cordova API Reference.
The SDK package includes sample applications that show best practices when using the BlackBerry Dynamics Cordova Plugins.
Generally, it’s recommended to use the cordova-plugin-bbd-all plugin to enable access to all BlackBerry Dynamics APIs. If more granular control is required, you can also install only the bare minimum of required plugins for your app.
File System
cordova-plugin-bbd-file plugin enables you to manage the FileSystem residing within the BlackBerry Dynamics secure container using a similar JavaScript API to the original File plugin.
cordova-plugin-bbd-file-transfer plugin enables you to securely upload and download files within the BlackBerry Dynamics secure container using a similar JavaScript API to the original FileTransfer plugin.
cordova-plugin-bbd-media-capture plugin enables you to capture audio, video and images using the device's microphone or camera and store them within the BlackBerry Dynamics secure container using a similar JavaScript API to the original MediaCapture plugin.
cordova-plugin-bbd-storage plugin is an interface representing a secure localStorage.
Networking
When making HTTPS requests through an HTTP proxy, SSL/TLS certificate verification must be disabled. Certificate verification while using an HTTP proxy is not supported. BlackBerry Dynamics HTTP data communication does not go via the proxy specified in the device's native settings, if any.
The BlackBerry Dynamics Runtime supports Basic Access, Digest Access, NTLM, and Kerberos for authentication with HTTP servers. Except for Kerberos, all these mechanisms are also supported for authentication with HTTP proxies. The BD Runtime supports Kerberos version 5 authentication.
By default, HTTP cookies received through Good Dynamics secure communication are handled automatically.
Default networking
This plugin overrides the default APIs XMLHttpRequest and fetch() to retrieve the necessary objects automatically upon installation of the cordova-plugin-bbd-base plugin. Calls made via XHR or fetch will automatically route through the BlackBerry Dynamics Proxy.
HttpRequest
cordova-plugin-bbd-httprequest plugin is used to send HTTP requests over the internet. It also encapsulates the HTTP response returned from an HttpRequest's send function.
WebSocket
cordova-plugin-bbd-websocket plugin implements the secure WebSocket APIs based on standard WebSocket specification (see https://developer.mozilla.org/en-US/docs/Web/API/WebSocket).
InAppBrowser
cordova-plugin-bbd-inappbrowser plugin enables you to securely load helpful articles, videos, and web resources inside of your app without leaving your app. It is a fork of cordova-plugin-inappbrowser.
TokenHelper
cordova-plugin-bbd-tokenhelper plugin is used to request token from server side and process callback on the response.
Socket
cordova-plugin-bbd-socket plugin provides access to the secure Socket communications API.
SQLite
cordova-plugin-bbd-sqlite-storage plugin enables you to securely create and manage an SQLite database within the BlackBerry Dynamics secure container using a similar JavaScript SQLite API to the original plugin.
ICC
cordova-plugin-bbd-appkinetics plugin provides the functionality of AppKinetics - the ability to securely communicate between Dynamics applications.
cordova-plugin-bbd-interappcommunication plugin is used to return information about a service provider application(s) of app-based services.
cordova-plugin-bbd-mailto plugin provides functionality to securely compose emails with attachments.
Launcher
cordova-plugin-bbd-launcher plugin is used to show the BlackBerry Dynamics Launcher in your application.
Other plugins
cordova-plugin-bbd-application plugin provides access to information that is globally available to any BlackBerry Dynamics Application.
cordova-plugin-bbd-push plugin encapsulates the response returned from the GDPush class.
cordova-plugin-bbd-specificpolicies plugin is used to read application-specific policy from UEM console and return it in JSON format.
cordova-plugin-bbd-serversideservices plugin provides the ability to use BBD Server Based Services. It returns all the needed information about the service in JSON format.
Secure Copy, Paste and AutoFill Operations
The BlackBerry Dynamics runtime may secure or block text in transit to or from the clipboard, depending on the policies for data leakage prevention (DLP) policy configured in BlackBerry UEM.
The runtime secures text by encrypting it when it is cut or copied to the device clipboard, and then decrypting it when it is pasted from the clipboard.
These operations are handled automatically by the BlackBerry Dynamics Runtime. No coding changes are required to support this feature.