About this group

The core value of this group is to bring developers up to speed with BB technology, concentrating on BB10.Exploring efficiency, beauty and power BlackBerry provides to its users by designing Apps that can be used globally and that improves developers life as it improves community life.

Contact Name: Michael Kimathi
E-mail:
  Contact the manager of this GroupSpaces group
Category: Other

News & Announcements

BlackBerry Developer Meet-up September (Built For BlackBerry Revitilized)

  • Saturday, 14th September 2013 at 3:30pm - 8:30pm
    Location: ihub Bishop Magua Building George Padmore Lane Nairobi, Nairobi KE

    Register Here

    • 12 people attended

Built For BlackBerry and Certification

  • Saturday, 3rd August 2013 (all day)
    Location: Ihub 4th Floor Bishop Magua Centre

    Now that everyone is looking forward to build application which qualifies for built for BB We…

    • 45 people attended

TAKE IT TO THE NEXT LEVEL

  • Saturday, 4th May 2013 at 10am - 5:30pm
    Location: IHub Nairobi

    It was amazing to get great ideas hit the floor as we get new developers started as well as…

    • 22 people attended

Previous items

RSS Feed

Building Business Apps with BlackBerry: Secure, cross-platform apps using the BlackBerry Dynamics SDK for Cordova, AngularJS, and Ionic Framework

Building Cordova powered mobile apps is pretty easy in terms of barrier to entry and technical debt. There’re a plethora of resources available to you as a developer, many of them, discussions taking place in public forms and blogs, but let’s face it… web frameworks are a dime a dozen. So where do you even begin? While it’s awesome to have so much choice in which frameworks and technologies to use, the wrong choice can literally “make or break” your application.

I’ve tried out a lot of frameworks through-out the years. Some great, some bad, some worse, and some that seemingly disappeared as quickly as they showed up on the scene so, where do you start?

I’ve been a big fan of Ionic and AngularJS for quite a while now, and I know for a fact that many of you are also huge fans of both frameworks which is why I’m really excited to show you how to integrate BlackBerry Dynamics into an Ionic application.

While we’re currently building out future support for Ionic and AngularJS, including the new Ionic and Angular versions, into the BlackBerry Dynamics SDK for Cordova, you can use them all in your app(s) today using these best practices.

Note: Don’t forget that we’re still working to provide compatibility between the frameworks and SDKs. While this work-around has been working quite well for myself, you’ll want to fully test it out for your own use-case. If you stumble into a compatibility issue please let us know in our Developer Forums.

New to BlackBerry Dynamics or need a refresher? I recorded a video which will walk you through all the steps that are required to successfully build an Ionic app, secured by BlackBerry Dynamics. We’ll touch on the most important steps each of these steps below at a high level below, but I highly recommend taking 15mins to watch the video for a full walk-through.

iOS Development

While BlackBerry Dynamics, and Ionic will also run on iOS this blog post, and accompanying screencast, focuses mostly on Android. Thanks to the NSUrl Loading System in iOS, the workarounds covered here are not needed. You can build Ionic apps right now!

Android Development

As you’re likely aware by now, the BlackBerry Dynamics SDK for Cordova, in part, works by remapping the native XMLHttpRequest object and points the WebView at our implementation of GDXMLHttpRequest. This remapping allows you to simply add our plugin to your Cordova projects and immediately reap the features of the BlackBerry Dynamics SDK.

While this works great in most cases, it creates some challenges when it comes to building apps using AngularJS’ $http service but don’t fret, you can still use both in harmony!

Prerequisites

At this point it’s assumed that your system is setup and configured to build apps with Cordova, Ionic, and the BlackBerry Dynamics SDK for Cordova. If you need help setting up your development environment please refer to our Getting Started Guides and/or watch the video which accompanies this blog post before continuing.

Create a new app

Let’s take a look at how to run Ionic, AngularJS, and BlackBerry Dynamics together in a brand-new app.

When building apps with Ionic it’s important that you use their Command-line Interface (CLI) to build your application. This will ensure that all the hooks/tie-ins Ionic and Cordova share will execute as designed. Refer to the Ionic Getting Started docs for additional support.

Ionic v1 or Ionic v2?

If you’re familiar with Ionic you know that the framework has recently gone through some major versioning, and technology changes (TypeScript). It’s important to note that the lessons learned here will also work if you are targeting the newer Ionic v2, and Angular!

  1. Let’s start by creating an Ionic v1 app.

– $ cd <path-to-sdk>/plugins

– $ ionic start myApp sidemenu —type ionic1

– $ cd myApp

  1. Add platforms.

– $ ionic cordova platform add android ios

  1. Test the app to ensure you can build a non-BlackBerry Dynamics app.

– $ ionic cordova build

– $ ionic cordova emulate android **and/or** ionic cordova emulate ios

 

If at this point, if the app does not successfully build and deploy to your emulator something is wrong. Pause here and fix your development environment before continuing.

Adding the BlackBerry Dynamics SDK for Cordova

Now that you’ve built and deployed a HelloWorld App you’re ready to add the BlackBerry Dynamics SDK for Cordova. At a minimum, you must configure and add the cordova-plugin-bbd-base plugin to your project.  Setup and configuration instructions can be found in our Getting Started Guides and in the video.

XMLHttpRequest vs. GDXMLHttpRequest

As I mentioned above, the BlackBerry Dynamics implementation of XMLHttpRequest remaps the native window.XMLHttpRequest (XHR) object to use our plugin instead. While this works great for most apps, we need to disable this remapping for Ionic and AngularJS applications.

Disable the XHR remapping (Android only)

Note: This section only applies to Android. iOS targeted apps do not need to complete these steps.

  1. In your favorite editor, browse to the plugin’s source code located in:

– <path-to-sdk>/plugins/cordova-plugin-bbd-xmlhttprequest/assets/www/android/

– Open the GDXMLHttpRequest.js file.

  1. Comment out the XHR remapping.

– Scroll down to line #588 and comment out the code XMLHttpRequest = GDXmlHttpRequest;

  1. Save the file.
  2. Add the modified plugin to your project

– $ ionic cordova plugin add <path-to-sdk>/plugins/cordova-plugin-bbd-xmlhttprequest

  1. Build and test the app

– $ ionic cordova build

– $ ionic cordova emulate android

 

How to make secure XHR calls to a backend

At this point you should have added cordova-plugin-bbd-xmlhttprequest plugin to your project, and have successfully built and deployed the app. Next let’s look at how to make calls which route securely through the BlackBerry Proxy.

To make secure calls, you will need call the BlackBerry Dynamics XHR Plugin explicitly when you wish to connect behind the firewall. In fact, I often recommend taking this approach because the plugin does a lot of heavy lifting on your behalf (settings headers for authorization for example).

Take a look at the code snippet below.


var gdxhr = new window.GDXMLHttpRequest();
gdxhr.onreadystatechange = function () {
	if (this.readyState == 4 && this.status == 200) {
		console.log(this.responseText)
	}
};

gdxhr.open("POST", 'http://developer.blackberry.com', true);
gdxhr.send();

 

This code demonstrates how to perform an “anonymous” (no authorization needed) call to a backend. As you can see I’m using the window.GDXMLHttpRequest method to make my API call, then simply outputting the results to the console.

Finally, at this stage, you should have a HelloWorld app that’s built with Ionic, powered by AngularJS, and secured by BlackBerry Dynamics!

It’s that easy!

I want to reiterate that this blog post is meant to compliment my video. If you would like to see a full video walk-through, including Getting Started steps, be sure to check-out the video! Don’t forget we also have a collection of Getting Started Guides available on our Developer Website for those who prefer to follow along via the docs.

Help, I’m stuck!

No worries! After watching this video, join the Developer Community LIVE chat with any questions you may have on this topic. Our experts will be online for a Q&A office hour on June 28th at 11am ET.

Anytime… Whether you’re building an app with Ionic, AngularJS, or anything else BlackBerry Dynamics related, we’re here to help! Be sure to check-out the conversations going on in our Developer Forums and don’t forget to sign-up for a free account!

 


1 day ago
BlackBerry Workspaces SDK: Securely Store, Share and Synchronize Documents

BlackBerry Workspaces SDK Version 5.6 is now available that includes a number of new features for Enterprise Developers.

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.

For more info about BlackBerry Workspaces, see our product website.

Enterprise developers can build apps that integrate access to Workspaces using the BlackBerry Workspaces REST API or Java/ .Net SDK.

In version 5.6 we release updated documentation, implemented enhancements, and added the following features:

  1. Exposing transient workspaces APIs
  2. Improving handling of annotations in the SDK
  3. Improving built-in logging of the .net SDK
  4. Preparing future compatibility with not-yet-released server versions

For more developer resources on BlackBerry Workspaces SDK or getting started, please visit BlackBerry Developer Community website.

 


3 days ago
UEM Getting Started Guide for making Web Services calls

In my previous blogs on connecting to BES for web service calls and GC (Good Control) for web service calls my goal was to get you authenticated, and running with a single SOAP or REST call.  Well now that UEM is launched and even updated, I thought it was time for an update.  The long-term goal is still to migrate our web services calls from SOAP to REST, and I talked about that in my UEM Getting started with REST blog. In this post I’m going over changes made when GC was blended with BES in more details.

Most of the changes are outlined in detail in the Release notes.  But here is a short version:

BlackBerry Web Service (SOAP) calls in BES 12.5 are unchanged in UEM, the previous tutorial for getting started with BES web service calls will still work with UEM.

All BlackBerry Dynamics SOAP API’s (GC SOAP and CAP SOAP) not listed in the Release notes are no longer available. Note: This is because they are mostly MDM related, and those functions are now performed by former BWS soap calls.

Finally: the old method for connecting to GC and CAP SOAP calls now follows the BWS method, starting with the use of default port 18084 rather than 443, and connecting to wsdl’s online, rather than using a hardcopy on the server.

Like my previous examples, I’m going to use SoapUI, and show you how to connect, authenticate and make a simple query. The process is similar, but simpler than connecting

 

Step 1. Create a new project in SoapUI, for example BWSBUEM

You will need to connect to the GC and CAP wsdl’s. The links on your UEM server will be:

https://<UEMhostname>:18084/gc/soapproxy/cap.wsdl
https://<UEMhostname>:18084/gc/services/GCService.wsdl

Add them to your project and you will see something like this (note: I also have the BWS wsdl’s added, so all 4 look like this)

      • You should now be able to see all the SOAP calls you can make from CAP, GC (and BWS if you have it already setup).
      • Double-click the SoapUI project to bring up the project configuration.
      • Select the WS-Security Configurations tab.
      • In the WS-Security Configurations, select the Outgoing WS-Security Configurations tab.
      • Click the ‘+’ icon to add a new Outgoing WS-Security Configurations, then give the new config a name. Your new configuration should appear in the table.
      • Underneath the table of Outgoing WS-Security configurations, click the ‘+’ in the lower left-hand tab to create a new WSS entry.
      • Choose ‘Username’ from the dropdown list.

      • In the username entry, add your UEM username and password. Note: make sure you specify the domain in the format: domain\username if using a domain account. Make sure ‘Add Created’ is checked, and “Adds a nonce” is not.
      • For Password Type, choose PasswordText from the list.
      • Save the project to record your changes.
      • In the project window, open GCSoapBinding and scroll down to the operation GetUser. Expand GetUser and double-click ‘Request 1’.
      • In the request window, select ‘Authentication and Security-related settings’ in the lower left (it may be represented as ‘…’ based on the size of the window on the screen).
      • Set Authorization to Basic, and scroll down until you see Outgoing WSS, select the entry you added earlier (GCout in my image).
      • In the xml view of the SOAP request, replace the ‘?’ in <urn:stringId>?</urn:stringId> with the stringId (the exchange email address) of a GC user. And as instructed by the request, remove the <urn:containerId>?</urn:containerId> line since we are using stringId.
      • In the drop-down box at the top of the request window, choose [add new endpoint…] to add a new GC web services endpoint, e.g. https://<UEMhostname&gt;:18084/gc/services/GCService. If you are testing on the GC server itself, you can specify https://localhost:18084/gc/services/GCService. Select the new endpoint. If you were using a CAP service, the url will be https://<UEMhostname&gt;:18084/gc/soapproxy/cap
      • Click the green submit button to send the SOAP request to the server.

You should receive a SOAP response containing the corresponding user data for the stringId you sent as a parameter in the SOAP request.

Now that you have GetUser working, try out the others, adding the same authentication and connection URL.

 


on 15th June

Create a site like this for your own group.
Take a Tour or Sign Up

Members

Events

June 2017
 
« »
Mon Tue Wed Thu Fri Sat Sun
29 30 31 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 1 2

BlackBerry Enterprise Developers Kenya

Powered by GroupSpaces · Terms · Privacy Policy · Cookie Use · Create Your Own Group