Sunday, September 1, 2013

My IBM Worklight Studio Software Appliance via SUSE Studio

Its been quite a while since I've created any software appliance via SUSE Studio.  This blog entry describes the motivation behind and the details of my IBM Worklight Studio Developer Edition software appliance created via SUSE Studio.

IBM Worklight is the mobile application platform that is part of the IBM MobileFirst solution.

IBM Worklight Studio is the development tool for creating web, hybrid or native mobile apps that runs on the IBM Worklight platform.  IBM developerWorks also host resources on working with IBM Worklight, here and here.

IBM Worklight Studio Developer Edition V6, release in June 2013, is freely available as a plugin on top of Eclipse Juno V4.2.2.  Also freely available, is the Rational Test Workbench plugin that provides functional testing of mobile applications created by Worklight Studio.  Both plugins can be found on the Eclipse Marketplace.

* From this point forward, I will use "IBM Worklight Studio" to mean the IBM Worklight Studio Developer Edition for the rest of this blog entry *

The installation and configuration of IBM Worklight Studio and the Android SDK will take at least an hour or two. This is very much dependent on your network download speed and readiness of your OS/machine (or virtual machine).  

By the time your IBM Worklight Studio and the Android SDK is ready for action, you will probably opt to go for a coffee break first.  :)

Therefore, to shorten the time to evaluation and also improve productivity of fellow developers out there who wants to focus on evaluating the tool from a development perspective, I thought a software appliance with everything pre-installed and configured would be helpful.  

Since I cannot give out Windows or Mac OS virtual images without running into license infringement issues, I chose to use SUSE Studio to construct a openSUSE based virtual machine with all the required IBM Worklight Studio components installed and ready to go.

Link to my Appliances
I have created two editions of my software appliance:

The RTR edition is a complete and ready to go stack with all software installed and configured.  I have also included a library of tutorials downloaded from IBM developerWorks on the subject.  You can start developing your first mobile app straight away and can deploy that onto the Android Emulator.  If you have an Android phone connected via USB to the VM, you can also deploy your mobile app onto your Android phone for testing.  However, the size of the appliance download is 2.4Gb (compressed).

The ARTR edition has a smaller footprint of only 1.5Gb (compressed).  However, you only have Eclipse Juno V4.2.2 installed and you will need to install the IBM Worklight Studio plugins on your own.  The effort is not strenuous for the operator but you'll need good Internet download speed to install the plugins via the Eclipse Marketplace.  All tutorials on installation are included in the Tutorials folder to help guide you through the process.

PS:  For those who are new to SUSE Studio, you do not need to sit around and wait for the download to complete before you can see the appliance in action.  Use the Testdrive option to have it provisioned in the Cloud for an hour and you can interact with it remotely from your web browser.  

That's all for now.  Please let me know what you think by leaving a comment on the SUSE Studio Marketplace or here on my blog.  

Have Fun!

PS:  Happy Father's Day to Australians who celebrate it on this day.

Thursday, April 25, 2013

My openSUSE 12 Journal 14: IBM Notes 9 on 12.3

Syed Tassawur Hussain, this is for you.  Thank you for prodding and giving me the motivation to complete this blog entry on how to install the GA version of IBM Notes 9 Social Edition. :)

Back in the days of using 12.2, IBM Notes 9 was in Beta and I have blogged about how I installed and configured this combination here.

With my move to 12.3, I was going to install the now GA version of IBM Notes 9.  Given how impressed I was with 12.3, and all the additional software and customizations applied in 12.2 seems to transfer seemlessly to 12.3, I was naturally mildly surprised (and annoyed) that installation of IBM Notes 9 did not go quite as smoothly as Notes 9 Beta on 12.2.

Let me jump to the crux of the matter, one particular library (libjpeg62) has been removed from the media and default online repositories of 12.3.  This libjpeg62 was previously in 12.2 and earlier versions of openSUSE.  As such, IBM Notes 9 installer and even zypper were not able to install execute successfully.

Here's how I arrive at this conclusion and was able to successfully install IBM Notes 9 on openSUSE 12.3.  While I have not tried this on the enterprise flavour of openSUSE (ie SUSE Linux Enterprise Desktop 11), should you encounter the same challenges, the steps below may be of help.

Sunday, April 21, 2013

My openSUSE 12 Journal 13: NetworkManager Config for Cisco LEAP Wireless

This is my 100th blog entry!  :)

In short, I wasted a few days and a weekend to get my shiny new 12.3 to connect with my company's Cisco LEAP (henceforth referred to as just LEAP) wireless network.

For those who do not have a requirement to connect to wifi via LEAP but are curious anyways, please see this link for LEAP.

To save you the same grief, here is the answer (see screenshot below) on how to configure NetworkManager:

The one on the Left WORKED; the one on the Right did NOT work for me
Disclaimer: Your mileage may vary (YMMV) because I did not test this against another LEAP wifi network outside of my company's implementation.

Saturday, April 20, 2013

My openSUSE 12 Journal 12: Hello 12.3!

Hello openSUSE 12.3!  You were released into the big bad world on 13 March 2013 and you are fantastic!

Two weeks back, I installed 12.3 onto a new partition on my primary workstation/laptop in one hour.  By the hour thereafter, and I do need to install quite a handful of additional software, I was working on my day job without skipping a beat.  One of the software that is critical to my job is IBM Notes 9 Social Edition. As covered in my previous blog entry on the beta, IBM Notes 9 has been officially released on 2 March 2013.  Look out for my next blog entry on installing the Generally Available(GA) version of IBM Notes 9 Social Edition on openSUSE 12.3.

Hand on my heart, 12.3 is a very worthy successor to 12.2.  I am very happy with it, and if you know me, that says alot... BUT... there is one little usage/design point with the GUI of NetworkManager that got me confused and I was unable to get onto my office's Cisco LEAP wireless network.  This was resolved eventually (after 3 days and a weekend) and it turns out to be a non-issue... or a usage issue... or... anyway, look out for this in my next entry. :)

Installation and Partitioning

Sunday, February 3, 2013

My openSUSE 12 Journal 11: VirtualBox

This should be an interesting entry in light of the recent developments in the roadmap of both Fedora & openSUSE where MySQL is being ditched for MariaDB.  This will affect new enterprise deployments in the next 18-24 months when the changes cascades into the next major release of RHEL & SLES.

At the heart of these changes is the perceived lack of openness & transparency of commercial juggernauts shepherding open source projects.  Another example is LibreOffice, being a fork of OpenOffice a few years back, and is now the default in openSUSE distributions.

VirtualBox was originally from Innotek GmbH and they were acquired by  Sun Microsystems Inc. in February 2008 which in turn got acquired by  Oracle Corporation in January 2010.  Virtualbox is not shipped as a default on openSUSE but you can install it very easily because the binaries are available in the default online repositories.

Personally, I think VirtualBox is the 'BEST' virtualization software for the desktop. I would go with KVM or even Xen for enterprise server virtualization. However, for virtualizing Windows or Linux on a desktop for quick testing purposes,  I'll pick Virtualbox anytime for its ease of use & free of cost attributes.

Easy Install Method

Saturday, January 26, 2013

My openSUSE 12 Journal - 10: Chinese text input (fcitx)

I need Simplified Chinese text input capability for my desktop.  Back in openSUSE 12.1 and prior versions, it was SCIM that provided that functionality.  In openSUSE 12.2, FCITX replaces SCIM.

How do you add secondary language input capabilities?

This section applies to all openSUSE and SUSE Linux Enterprise versions.  Thanks to YaST, the way to enable this functionality has remained consistent over the years.

In YaST, find and select Language (under System).

In the Secondary Languages section, select and put a check mark next to Simplified Chinese... and any other language of your choice.
Click Ok button and YaST will install the proper software and language package to enable this functionality.

(Optional):  You might want to log out and log back in to your account, just to be sure there is a new language input icon in your System Tray.  In my experience, the icon shows up without a need to log out and back in again.

Frustration #1:  Where is the configuration panel?

Friday, January 25, 2013

My openSUSE 12 Journal - 9: Upgrading to Stable Kernel 3.7.4

I took every step and every precaution, with fear and trembling, but I finally took the plunge to upgraded my default kernel (3.4.11) in openSUSE 12.2 to the latest stable kernel (3.7.4).

You know what?  This is the best thing I could have ever done for my laptop!!!

Special Thanks to Mike Veltman, appreciate your guidance and encouragement.

What made me do it?
I have been using openSUSE 12.2 for over 3+ weeks and have noticed some performance issues from a desktop productivity perspective.  This was confirmed when speaking with Mike and also confirmed by a comment from Jack Bauer on my previous blog entry.

Scenario:  Try copying a large amount of files (total file size of say over 1Gb) from your hard disk to an external USB drive.  During the file transfer (doesn't matter if you initiate the transfer via commandline or GUI), the rest of the desktop (except the mouse pointer) is practically dead and unresponsive.  At best, a simple task of opening a new tab on Firefox to surf will take over 10 seconds.  If you want to open LibreOffice to read a doc/spreadsheet, you can forget-about-it.

This was initially tolerated because I would schedule large file backups in the evening after work.  However, it is starting to get to me because I don't recall earlier openSUSE 11.3, 11.4 and 12.1 ever giving me such issues.  The final straw came this week and its my Windows VM... it was running well but I have to put PGP whole disk encryption on the VM.  As expected the Windows VM slowed down but I also noticed its slowing my host as well.

How I did it?

Saturday, January 19, 2013

My openSUSE 12 Journal - 8: IBM Notes 9.0 public beta

I was going to install Lotus Notes 8.5.3 on openSUSE 12.2... but a good friend of mine (Lotus geek) informed me that the next great version IBM Notes 9.0 is ready as an open beta.  He challenged me to live life on the edge again and, I accepted! L-)

Link to download IBM Notes/Domino 9.0 public beta
Link to the public beta forum.

I would like to draw your attention to the fact that IBM has dropped the Lotus brand and name this new major version IBM Notes 9.0 Social Edition.  This is a great statement of intent and direction for this product/solution.


Pre-requisite:  You will need to uninstall previous versions of Lotus Notes (if any).  Note that installing both 8.5.x and 9.0b is not supported (officially).

After you have downloaded the tarball for Notes 9.0b, untar it.  You will notice a bunch of RPMs and a script.  Run/execute the script as root.  Its really that simple. :)

[Update on 23 Jan 2013]:  If running script did not work for you, don't fret.  In the same directory where all the ibm_* rpms reside.  Execute, as root, zypper in ibm_*.rpm and let zypper figure out all the dependencies for you.  All good. :)

The Notes 9.0b icon can be found via Application Launcher -> Applications -> Office -> More Programs -> IBM Notes.  You can right-click and select Add to Favourites so that you don't have to navigate that much just to start it later.

Note that in your very first startup, it will launch a text console for you to accept the license... just in case you miss it and wonder why you are stuck at the splash screen and nothing happens.

Wednesday, January 16, 2013

My openSUSE 12 Journal - 7: Printing to PDF

One more thing... that I forgot to mention in my previous entry is the topic of printing to PDF.

I'm quite surprised this capability is not included in the base openSUSE 12.2 install since we have OSS version of the Adobe PDF reader (Okular). :-/

Scenario/Use Case:
You need to print out a document directly into a PDF format file, instead of killing trees.  Some examples are:
  • Printing online receipts directly into a PDF for your electronic filing
  • Converting some page or document into PDF format using the Print function
Do note that if your document can be opened and edited in LibreOffice (comes with 12.2), and you want to convert that document into a PDF, you can do that by clicking the PDF button within LibreOffice.


Tuesday, January 15, 2013

My openSUSE 12 Journal - 6: Hello 12.2!

More than a year (12+ months) since my last entry... obviously lots have happened... BUT

Its a new year (2013), a new job, a new Laptop and a new openSUSE 12.2!  I'll stop right there before I go off on a tangent, seeing & proclaiming trends where none existed previously.:P

  • openSUSE 12.2 x86_64 (64-bit) - KDE desktop (default)
  • Toshiba Tecra R840 (Intel i5, 4Gb RAM, 320Gb Hdd, Intel HD integrated graphics)
  • Dual-boot with Windows 7 (/dev/sda1) and openSUSE (/dev/sda2)

Smooth as silk is all I can say and something that has come to be expected. :)

Given the dual-boot setup, I created my own disk partitioning scheme.  So this step deviated from the otherwise straight-forward install (ie click next till the end).

Disk partition scheme:
  • /dev/sda1 - 100Gb - original factory installed Windows 7 (size shrunk to 100Gb)
  • /dev/sda2 - 100Gb - root partition of openSUSE 12.2 ('/') formatted to ext4
  • /dev/sda3 - 98Gb - extended partition
  • /dev/sda5 - 6Gb - SWAP partition
  • /dev/sda6 - 92Gb - common data partition formatted to NTFS (read/write for both Win7 & openSUSE 12.2)
At install time, I did not format the common data partition.  Instead, I left it blank (unformatted) and used Windows 7 to format it much later.  Once formatted, this common data partition will be known as D:\ drive on Windows 7.

Reboot into openSUSE 12.2 and use YaST Partitioner to set a mount point.  I usually mount this under /mnt/common.  Now, openSUSE 12.2 will automatically mount the common data partition in /mnt/common on boot.

The only outstanding part is that /mnt/common is accessible by root (super-user) but normal users access is troublesome.  To make /mnt/common read-writeable by normal user, I edit the mount options of /mnt/common in the /etc/fstab file.  Example, changed the options in bold from original (first line below) to the second:

/dev/disk/by-id/ata-xxxxxx-part6 /mnt/common          ntfs-3g    user,users,gid=users,fmask=133,dmask=022,locale=en_US.UTF-8 0 0

/dev/disk/by-id/ata-xxxxxx-part6 /mnt/common          ntfs-3g    uid=han,gid=users,fmask=133,dmask=022,locale=en_US.UTF-8 0 0

where han in uid=han is my normal user account on openSUSE 12.2.

There might be a more user-friendly way to do this but I did not explore since I'm comfortable editing the /etc/fstab. Readers who knows how this can be done, please feel free to leave a comment.  Thanks.

Grub vs Grub2:
I chose to stick with Grub instead of the newer Grub2 boot loader.  The reason is simple, I could easily edit the boot options via /boot/grub/menu.lst because its a text file.  In Grub2, this is non-trivial and until they have an easier editing interface, I'll stick with Grub.

Additional Software