Posts

Crossover Domains explained

Image
A crossover domain in Maximo 7 is a value list that copies not only the selected value, but also related data to the record you opened the value list from. An easy example is the Asset field on a work order. When you select an asset, Maximo also copies the priority from the asset to the Priority field on the work order. This happens because there is a crossover domain for this. Take a look at it: in the application Domains, search for ASSET2WO.

Modifying size of text boxes

You probably ran into this problem when using Maximo: Maximo sometimes does not display all the characters in a field, because the text box is too small. Of course, you can solve this. First you need to understand how Maximo determines the display size of the text box. Then you can change these setting and control how large the text box should be.

Server names for cluster members

The name of a server is normally defined by the property  mxe.name  in the maximo.properties file. In a clustered environment this would lead to all members having the same name since only 1 EAR is used for all these members. This article will show you how to give each cluster member a unique name.

How labels work in Maximo 7

How it is stored: Maximo stores labels in multiple places. When you add a label to a field, tab or section in Application Designer, Maximo stores this in the application XML in the MAXPRESENTATION table and in the MAXLABELS table. For fields, there are also labels stored in Database Configuration, in the title field on the attribute.

Oracle escaping special characters

In a nutshel Turn of special meaning of chars -- The ampersand has no special meaning anymore SET DEFINE OFF; SELECT 'V&D' FROM dual; Escaping characters in LIKE -- The meaning of the underscore is escaped SET ESCAPE ON; SELECT * FROM maxtable WHERE tablename LIKE 'A\\_%' ESCAPE '\\';

Quartz - Run Now

Quartz is an open source job scheduling system written in Java. Executing a job in quartz is based on the definition of triggers. But what if you are in a development environment where you don't want to schedule jobs and want to be able to run them on demand? The API of version 1.6.0 tells us that the triggerJob method in the Scheduler class can be used for that. Great! But the triggerJob method also seems to throw away your job from the scheduler. So the second time you run the job it's bingo! A possible workaround we figured out for this is to reschedule the job with a simple trigger which will run immediatly: scheduler.deleteJob(jobName, groupName); scheduler.scheduleJob( jobDetail, new SimpleTrigger(jobName, groupName) ); You could of course also use the rescheduleJob method but then you have to be sure the job is already scheduled. In our situation this was not the case.  

Sparklines with the Google Chart API

Image
Sparklines are described in Edward Tufte's book Beautiful Evidence (2006) as “small, high resolution graphics embedded in a context of words, numbers, images”. In one of our projects we needed sparklines and one option was to use this open source package by Larry Ogrodnek . Just out of curiousity I was wondering how far we would come if we would use the Google Chart API .  That was until I ran into this article where I saw sparklines created with the Google Charts API and without the x- and y-axis. How the hell did he do it? Well ... it seems to be an undocumented feature also used by Google on their financial site. Instead of using cht=lc (chartype is line chart) you can use cht=lfi (charttype is financial line chart). Grab the code: http://chart.apis.google.com/chart?chs=80x20&cht=lfi&chco=0077CC&&chm=B,E6F2FA,0,0,0&chls=1,0,0&chd=t:27,25,25,25,25,27,100,31,25,36,25,25,39,25,31,25,25,25,26,26,25,25,28,25,25,100,28,27,31,25,27,27,29,25,27,26,26,25,2