Summary
If you have a BlackBerry Enterprise Server (BES) in your company, it’s almost guaranteed that one day, the CEO will show up at your desk with a new BlackBerry Storm, the CFO will show up also at your desk with a new BlackBerry Bold and the VP of HR will, just to be different, catch you in a corridor with a new BlackBerry Tour and they’ll all ask you the same question:
“Hey, can you push the BlackBerry Enterprise Messenger (Sametime client) to my new device?”.
Since you like your job (and also because you want to keep it) you answer “Sure, let me do that right now!”. And why would you answer anything different? Of course you can give that answer, and with confidence too, because you’ve already configured multiple versions of the Enterprise Messenger on your BES server … right?
The Problem
The folks at Research in Motion (RIM) like their Java: they’ve built the devices around the Java Platform and the software running on it is no exception. The BlackBerry Enterprise Messenger that they developed for Lotus Sametime and MS Exchange is also built in Java. However, and this is where it gets weird, the RIM programmers created different version of the Enterprise Messenger for different types of devices.
Yep, if you go to the RIM’s web site download link and try to grab the latest version of the BlackBerry Enterprise Messenger, you’ll notice a confusing array of versions. There are different versions for different OS levels. There’s one for devices running the 4.7 OS (BB Tour), there’s another for the Storm and finally another version which fits every other device out there. Now the question is: “can you deploy the version for the Storm to the other devices?”. The answer is “No”. The 2nd question is then “well, can you deploy the version from the “normal” devices to the Storm?”. Probably … but the end results might not be usable.
So, what do you do? Of course you download all 3 versions and follow the steps to create a software package on your server. But, as you’ll soon discover, the BES server doesn’t like to have 3 different versions of the same exact software in it’s shared folder. In fact, you’ll be able to create the 1st software package but not the 2nd … why is that? It turns out it has something to do with Java and the naming convention for the jar files.
Ok, now seriously, what do you do? We’ll, you follow RIM’s very own instructions!
The Solution
To get around the problem described above, RIM published Knowledge Base article #KB17431 that describes how a system admin can create software packages for different versions of the same application. The KB article says that it’s for MS Exchange but it’s the exact same steps for a server running in a Lotus Domino infrastructure. As you’ll see in the KB article, the solution isn’t rocket science BUT it does involve creating new shared directories to put each version in it (hereby separating them from one another) and then copying the app loader folder into each new shared directory. There is no point in re-typing the entire KB article from RIM in here, so simply click on the link to read it up:
Link to KB17331: Create two software configurations for different versions of an application
By following their instructions, you will be able to create packages for each version of the BlackBerry Enterprise Messenger.
But wait … There’s Another Problem just around the corner!
So, after creating the new software packages and pushing the right version to the CEO’s BlackBerry, your BES Admin client (or the web interface if you are at version 5.0) says something like “Device Not Recognized” or “Device Not Supported” in the Configuration Status screen. Once again, you contemplate sending-in your resignation letter (which you again conveniently updated a few days earlier following another horrific server upgrade) but you decide against that idea and roll up your sleeves to figure out what’s wrong this time.
After a few minutes of troubleshooting it hits you! When did you apply your last Maintenance Release o your server? Months ago? Yep, thought so. And when was this shiny new BlackBerry released? Last week? Ahhh … that probably means that the device.xml and vendor.xml file in your C:\Program Files\Common Files\Research In Motion\Shared\AppLoader folder are “old” and need a refresh.
But where do you get updated device.xml and vendor.xml files? Once again, the good folks at Research In Motion have created a Knowledge Base article (KB13589) that you can open and download the latest and greatest xml files from. Here’s the link:
Link to KB13589: How to update the device.xml and vendor.xml files
Once you get the new vendor.xml and device.xml files, simply overwrite the ones on your server (in every AppLoader folder!). Now, do you think you’re out of the woods? Nope … not so fast! Once you have updated the xml files, you need to go back to each AppLoader folder in a command prompt and re-issue the “apploader /reindex” command. That will re-create the config files in each software package folder and then you’ll finally be able to re-push the application to the CEO’s BlackBerry.
But wait (x2) … The Nightmare Isn’t Over! There’s (yet) Another Problem!
Now, the software package deployment worked like a charm for the CEO (BB Storm) and for the VP of HR (BB Curve) but it’s just not working for the CFO (BB Tour)… why? Your BlackBerry Admin client says “OK” for the status for the software configuration package to the CFO but he just doesn’t see it anywhere on his BlackBerry Tour. You even asked him to do the good ol’ battery pull trick just to be safe but it didn’t help. So, what’s the problem this time? Well, it turns out that, if you downloaded one of the first packages they putted out for the BlackBerry Tour, there was a problem with the zip file! In this particular case, RIM did not provide me with a Knowledge Base article: they simply emailed me the following instructions (remember that before doing this, you need to update the vendor.xml and device.xml files):
1. Assign the user a software configuration of ‘None’ to remove the link to the Tour Sametime Configuration.
2. Go into the Sametime folder you created, and delete files below.
sametime_de.470
sametime_en.470
sametime_es.470
sametime_fr.470
sametime_it.470
sametime_ja.470
Note: Ensure all the 470.alx files are removed
3. Open the command prompt and navigate to the appropriate Apploader folder and run loader /reindex
4. Confirm if the PKG and XML files have updated with the latest modified time (Around the time you run the loader command)
5. Navigate to this folder C:\Program Files\Research In Motion\BlackBerry Enterprise Server\PackageCache. Remove the 470.alx files again.
6. Once this is done. Create the software configuration for the BlackBerry Tour on the BlackBerry Manager. Ensure to apply the required policy to it and the delivery mode to Wireless.
7. Assign the intended user the software configuration for the BlackBerry Tour and then deploy the application for them by right clicking on the user as well.
Conclusion …
The BlackBerry Enterprise Server is one mighty powerful piece of software. It’s what allows the link between your company’s mail servers and your (addictive) BlackBerry device. The BlackBerry Enterprise Messenger is what allows you to “chat” with other employees from your phone … why would someone want to do that instead of just calling the other person? Well, I guess there are times when it’s more useful to chat than to call (like at the opera I guess?). Configuring the BlackBerry Enterprise Messenger software packages is one of the nicest thing you can do to save yourself time and effort … but as you’ve read there are some pitfalls and some problems to overcome but the effort is well worth the blood sweat and tears, err, I mean the payback.