Tuesday, July 22, 2014

Holiday Reading: Redbook Performance Optimization and Tuning Techniques for IBM Processors

I am on vacation and it is raining outside. So it works out well that in july IBM released a new redbook about Performance Optimization and Tuning Techniques for IBM Processores. The redbook  contains chapters for all three operating systems which runs on Power Systems (IBM i, AIX and Linux). If you are a Developer or advanced Admin on Power Systems this redbook is my recommendation to get a good understanding what to do to get the most of your Power System.

Table of contents

Chapter 1. Optimization and tuning on IBM POWER8
Chapter 2. The POWER8 processor
Chapter 3. The POWER Hypervisor
Chapter 4. AIX
Chapter 5. IBM i
Chapter 6. Linux
Chapter 7. Compilers and optimization tools for C, C++, and Fortran
Chapter 8. Java
Chapter 9. DB2
Chapter 10. WebSphere Application Server
Appendix A. Analyzing malloc usage under AIX
Appendix B. Performance tooling and empirical performance analysis

Wednesday, July 16, 2014

Die Hölle kann doch zufrieren

Wie der Standard und Heise berichten gehen Apple und IBM eine Partnerschaft ein um Enterprise Anwendungen auf die iOS Geräte zu bringen. Das ist echt eine Kehrtwende in der Politik von Apple nach dem sie noch vor Kurzem ohne mit der Wimper zu zucken auf Macs IBM Notes kaputt gemacht haben, nur weil sie selber gerne eine App mit dem Namen Notes haben wollten.

Ich denke IBM wird von dieser Partnerschaft wesentlich mehr profitieren als Apple, denn Apple wird Zugeständnisse machen müssen damit die Enterpriseanwendungen wirklich so laufen wie IBM das will und oft werden gerade diese Einschränkungen die im Enterpriseumfeld notwendig sind den Konsumenten gar nicht schmecken. Bisher sind nämlich iPhones vor allem auch deshalb bei Benutzern so beliebt, weil sie im Vergleich zu Blackberries oder anderen Plattformen nur sehr geringen Enterpriserichtlinien unterliegen.

Auf jeden Fall eines ist sicher. Steve Jobs wird im Grab auf höchster Stufe rotieren. Zuerst eine Kooperation mit IBM und dann noch ein iPhone mit 6". Das hätte es bei Apple unter Steve Jobs sicher nicht gegeben.

Tuesday, July 15, 2014

Updated Todo Activator widget adds Todo icon to the Masthead (ShortCutButtonBar)

For all who do not have the skills to extend Notes by them self, i have updated my To do Activator widget with an To Do icon for the masthead. So if you have already installed the To do Activator widget upgrade it to the latest version and if not try it to get the most out of your Notes client.

Sunday, July 13, 2014

Add Custom actions to the new Masthead (Shortcut Buttonbar) in Notes 9 (Part2)

In the first part of this multi part tutorial i have shown you how to create the structure of the plugin and how to import and add an icon to the build configuration of your plugin. In the second part i will show you which dependency and extension you have to add to get your icon in the Masthead.

Open your plugin.xml with a double click. Go to the "Dependencies" tab and select "Add" to add a dependency.

Search for "com.ibm.rcp.ui" and select it to add it to your dependencies. You can only use functionality from the target platform for which you have created a dependency. Dependencies are a very powerful concept of the eclipse platform.

Next go to the "Extensions" tab in the plugin.xml and click "Add" to add your extension to the "ShortcutButtonSet" extension point in the "com.ibm.rcp.ui" plugin. Extension points and extensions are the mechanism which allows eclipse plugins to add functionality to existing plugins without the need to change them. If you want to know more you can find detailed information's about this topic in a very nice tutorial from Lars Vogel.

Search for the "ShortcutButtonSet" extension point and select finish to add it to your plugin.xml

The shortcutButtonSet extension point have many values which can customize the functionality of your custom button.

Id: The unique id of your extension.
Name: The name of your extension.
Handler: This is the java class which will be called when a user clicks your icon in the masthead. We will create this class in the next step.
Image: Select the image you have imported to the plugin in the first part of the tutorial.
Show: If you select true, your icon will be visible by default in the Masthead and the user can hide it with a context action, otherwise the icon will be invisible and the user have to activate the icon in the view menu.
ContextMenuItemLabel: Label of the context action to hide the icon in the masthead.
ViewMenuItemLabel: Label of this extension in the view-> Show Shortcut Buttons menu.
Tooltip: The tooltip which should be shown when the user put the mouse over the icon.
Order: With this value you can control the position of your icon in the Masthead.
targetPersonalities: This controls in which personality of Expeditor your icon should be visible. Normally this should be always "com.ibm.rcp.platform.personality"
To create the java class which manges clicks on your icon click on the "handler*:" Label. Change the Package name to the java package in your plugin and give the Handler a name. Click "Finish" to edit your newly created class.

The class is pretty simple and have only an open method in which you check if your icon id has been clicked and if yes do what ever your action should do. In our example we want to open the ToDo Frameset of the mail database.

public class ShortcutSetHandler implements IShortcutSetHandler {
  * This method will be called, when the user clicks on your
  * ShortcutButtonSet Icon. arg1 contains the id of the clicked icon. So one
  * Handler class can manage several different Icons.
 public void open(int arg0, String arg1) {
  // When ToDoShortcut is clicked open the Todo Framset
  if ("petter.eclipse.ToDoShortCut".equals(arg1)) {

Save the code and the plugin.xlm and start the notes client from eclipse. Be sure that your newly created plugin is selected in the launch configuration.

After Notes has been started you should see your new Action in the masthead.

If you want do add more actions to the masthead you can create one plugin for every action, or you can add additional actions to this plugin.  In one of my next blog posts i will show you how to create feature, an update site and a widget for this plugin so that you can deploy your extensions to the masthead to your notes clients.

If you have problems with this tutorial, feel free to ask your questions in the comment section.

Add Custom Actions to the Masthead (Shortcut Buttonbar) in Notes 9 (Part1)

The Masthead (Shortcut Button bar) that was added to Notes with version 9 is only of limited use if you can not add your own actions to it, so in todays post i want to show how to extend the masthead with your own actions so that you can give your users the best usability possible.

First of all you need an eclipse installation configured for notes development. If you need help read my tutorial How to configure Eclipse 4.3 to develop plugins for Notes Part 1 and Part2.

Create a new Plug-in Project with File->New->Other

Choose a name for your project and select Eclipse version 3.4 as the target to run.

Go to the next page of the wizard and fill out the form.

ID: Must be a unique id of your plugin. It is recommended that you have your name or your company name in the id to avoid id collisions. For example if you choose only "Todo" as your id you will get a big problem if you install a widget in notes which uses "Todo" as the id too.
Version: It is very important that the version number is different every time you rebuild your plugin. If you change something in your plugin and deploy it to a client which already have a plugin with the same version number, that plugin will not be updated to the new version. This are very difficult to find problem. So my recommendation add ".qualifier" to the version number. Eclipse will add the date and time to the version number so that you have a new version number when you rebuild your plugin.
Activator: Tell Eclipse in which java package the Activator (controls the plugin's life cycle) should be created. It is good practice to create alle classes of a plugin in a package named similar to the id of the plugin.
Check the "This plugin will make contributions to the UI" and choose that you do not want to create a rich client application.

Create an icon for your new custom action in the Masthead in your favorite image editor. The image should be 16x16 pixel and exported as a PNG. My recommendation is to use Gimp for this task.

Right click your package in the Package Explorer and select import to put your icon in your plugin.

Choose File System as your input source.

Select the directory in which you exported your icon from Gimp. Check the icon in the file browser and have a look whether you have chosen the correct "Into Folder".

Double click the build.properties in your plugin and select your icon in the binary build path. This is a very important step, because normally the content of the src folder will not be exported when you build your plugin. So if you do not tell eclipse about your images in the build configuration you will have only a red dot instead of your beautiful icon. Save and close the build configuration.

Now we have everything in place to write our extension which i will show you in part 2 of this tutorial.