Sunday, August 2, 2009

Google Wave followup

It's my pleasure to announce that has aquired access to the Google Wave sandbox. It looks very promising and we're exited to play with the sandbox.

Stay tuned for reviews and other stuff.

Monday, June 1, 2009

The coolest thing since the Internet

I looked at this video from Google IO and was instantly blown away. Google Wave is the replacement for email, IM and online forums in just one tool, and on top of that it's federated so you can run your own server!

Take a look for yourself to see if I'm not right:

Tuesday, March 25, 2008

Howto configure a simple TREX index

This will walk you thru the configuration of a simple TREX index on a SAP Netweaver Portal.

This quick guide assumes that you are an administrative user on all the involved systems. First of all, we need to configure the TREX backend-server. This is done by logging into the J2EE administration tool, Visual Administrator.

Go to the Cluster --> Server --> Services --> TREX Service node and select the nameserver.address-field. Enter the correct value for the TREX nameserver. E.g. tcpip://myserver.domain.tld:30001

The correct port can be found by starting the TREXAdmin tool. Here, you will find the info needed on the start-page. Once this value is maintained, click the "Update" button.

Now we are almost ready to create our first search index.

Log on to the Netweaver Portal and follow the steps show here. This will open the "Component Monitor iView" in a new window. Before we continue with the setup, it is important to make sure that all Knowledge Management components and functioning correctly.

In this example case shown below, we get a few common errors, that needs to be corrected - otherwise we might see some strange behaviour of our index.

To correct these specific errors, go to System Administration --> System Configuration --> Knowledge Management --> Content Management --> Global Services --> Scheduler Tasks. Other errors may need some additional post installation steps, check the TREX installation guide or for more info.

Once we have confirmed that all of our KMC components are functioning, we can create our first Index.

From the "Index Administration", create a new Index. The ID must be unique, and if the TREX backend is used for more that one AS Java, I find it useful to include the portal SID. The Name field will be the displayed name of this particular index.

Before we can complete the index creation, a data source must be assigned to this Index. Click the data source link where a list of all KM repositories will be displayed. Select one or more folders and save the Index. The selected repository will now be crawled by the TREX spiders, and all the collected information will be indexed and made searchable.

Please note, that some additional steps will be needed in a productive-like environment, e.g. schedule indexing, permissions, creation of taxonomies and such.

To check the over-all health and status from day to day of your Index(es) and TREX service, open the TREX Monitor iView.

Have fun making unstructured information more accessible ;o)

Wednesday, January 16, 2008

Working with Developer Workplace on a laptop

As a developing consultant, working with SAP Developer Workplace can be a tedious task.

Usually you will want to start VPN connections to various places, for instance your home office, to check your mail, or whatever might be needed.

When you do this, Developer Workplace responds with restarting the J2EE engine.

Well, follow my guide here - and you won't be griefed with 20 minutes of restarting the J2EE engine, because you had to check your mail :-)

The solution is pretty simple actually, as well as the reason for why this happens.

When SAP created the Netweaver Java engine, they wheren't expecting the infrastructure to change on the fly. Therefore they bind the server directly to your external IP address.
It seems rather unnecessary, and this binding, ofcourse, can be hacked!

First of all, locate your Developer Workplace installation directory.
This is usually something like:

... and browse to:

In here, you'll find a number of configuration files.

Create a backup copy of all the files in this directory.
The _JC00_ files are the Java Server configuration, and the _SC01_ files are the message server files.

Next, load up your favorite text editor (notepad) - and open the file:
... for example, if your installation has "AB1" as name, and your computer is called "MYCOMPUTER":

Next, locate the line with the following statement:
.. change it to:

Save & Close the configuration file.

Next, open up the file:

Again, locate the line with the following statement:
.. change it to:

Finally, do the same for the two message server configuration files.

Now restart the cluster.

Presto, your developer workplace will stop restarting when network changes takes place. You can even pull out the network cable of your laptop, hibernate your computer - and work on the train on your way home. :-)

Saturday, December 22, 2007

Merry Christmas everyone

Everyone at would like to wish our readers a merry christmas and a happy new year.

In the new year we will look at exiting new topics such as information management and access and availability as we try to look at the host of information enterprises hold and how to make it available to the knowledge workers. This will be exiting.

Best wishes from the team.

Friday, November 9, 2007

Dynamic images in Web Dynpro for Java

It’s a common problem displaying dynamic images in Web Dynpro 4 Java. The image widget takes only an URL as source argument, and not an byte array as you might expect.

There is two solutions to that problem, one is to store the images on the web serves file system an generate an URL based on the filename and location. This solution involves setting up a HTTP Alias in the WAS and manually maintaining the image cache in the file system of the WAS. How to set up the alias and make it work is documented in detail in the blog of Renjith Andrews called Creating an HTTP Alias in WAS. As the seems to be the common approach, I cannot recommend it since the overhead of maintaining the image cache will be to much to handle.

In stead I will suggest another approach where you do not need the local file system nor do you need to maintain the image cache. My recommendation is utilizing the IWDResourse.

The following little piece of code will show you how to translate a byte array of an gif image to an URL:

// get the image data from somewhere
byte[] data = new byte[1024];

// Create a cached web resource using the WDResourceFactory
IWDResource res = WDResourceFactory.createCachedResource
(data, "image.gif", WDWebResourceType.GIF_IMAGE);

String url = res.getUrl(0); // 0 means "AUTO"

For a JPEG image the process is the same but use WDWebResourceType.JPG_IMAGE as the last argument of the the call to the factory.

It is as simple as that. Since it is a cached web resource, you can add it to your context for storage while the application is running so you won’t have to waste CPU cycles to create the same IWDResource over and over again. Ad by adding it to the context it will get automatically cleaned up when the application session ends.

Working with SDM with limited rights

As a portal developer, it is usually the standard, that you have unlimited rights to the development server you are working on.

But what happens when this isn’t the case? Well - SAP has provided a client tool for connecting client side to the SDM, without having OS access to the server you are working on.

Thus they eliminated the need for hacking the installation out from the server You are working with.

The old way of doing this, would be to extract - and package the SDMinstallation yourself, but when working with a client where you cannot access the server’s filesystem, the new method is preferred.

To install the SDM locally, go to - and browse the following tree:

SAP Support Portal -> Downloads -> Support Packages and Patches -> Entry by Application Group -> SAP NetWeaver -> SAP NETWEAVER -> SAP NETWEAVER 7.0 (2004S) -> Entry by Component -> Developer Workplace -> SAP SOFTW. DELIV. MANAGER 7.00 -> #OS Independent

Find the support stack level you need, and you will get the client installation (add it to your download basket, and download it with SAPDownload manager).

The installation is a .jar file, which is kinda strange - because of what you need to do next.

Unpack the archive to a temporary folder, for example c:\temp.

Open up the folder, and launch the file “Install.bat”.

Accept all default values (press ENTER 7 or 8 times), and the installation script will start.

After it’s done, the sdm can now be launched from c:\sdm_home\remotegui.bat

And that’s it :-)