Friday, March 28, 2014

Tools: What help me with ADF development

UI

FireBug - https://addons.mozilla.org/en-US/firefox/addon/firebug/
Colors - http://www.colorhexa.com
Gimp - http://www.gimp.org/
Fiddler - http://www.telerik.com/fiddler/web-debugging
Selenium - http://docs.seleniumhq.org/

Build
Jenkins
Maven
Ant
Cobetura, PMD, checkstyle

Other
JIRA
Confluence
JMeter


“Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.”

- Martin Golding

Wednesday, March 19, 2014

BI Publisher : Desktop Installation

Ok so I have 64-bit windows 7, Word 2007 32-bit, 64 bit jrockit

I got an error installing the desktop - said I needed jre 1.6 or above.

So I went to - http://www.java.com/en/download/manual.jsp and downloaded the latest version 7 64bit vm installed this and then installed the 32-bit bi desktop msi.

Everything worked from there.


Friday, January 24, 2014

ADF: dvt:hierarchy viewer not working

A screen of ours that worked in a sub project would not render in our main web center project.
The only clue was that it was a dvt:hierarchy screen and the screen just stayed loading all the time.
To make a long story sort someone had set  disabled in the ADF config file - set it to downgrade and all was good.

Tuesday, November 26, 2013

Ojdeploy : Tuning exercise

First of all all the tuning I am doing is for out continuous integration server because I build time have hit 25 minutes on the solaris 11 machine (on my desktop the same build it takes 11 minutes).

So where I am working is in the "ojdeploy.conf" file located in [jdev location]/jdev/bin


Finding most java settings make a difference and mostly

Using jrockit I have got it down to 21 minutes

AddVMOption -Xmx1g
AddVMOption -Xms1g
AddVMOption -Xverify:none
AddVMOption -Djava.net.preferIPv4Stack=true

Fastest solaris build so far is on the standard 32-bit jdk - weighing in at 18 minutes

AddVMOption -Dapplication.handle.help=true
AddVMOption -Xmx1g
AddVMOption -Xms1g
AddVMOption -Dsun.awt.disablegrab=false
AddVMOption -XX:MaxPermSize=512M
SetJavaHome /usr/java
AddVMOption -Xverify:none
AddVMOption -Djava.net.preferIPv4Stack=true
AddVMOption -XX:PermSize=128m


will update with my findings but parameters like largePages, parallel gc, -server etc just seem to make things worse.


And the greatest build gain so far - using parallel ant tasks, cut my build time in half.

Tuesday, November 19, 2013

ADF: postChanges delete parent and children in the same transaction programmatically


I was doing a simple mater details delete with some code and no matter what I did the parent delete got called before the child, then I remembered post changes (this.getDBTransaction().postChanges();) and called it after deleting the children. And that is how postChanges saved my life.

Code for fun...


        Key key = new Key(new Object[] { objectId });
        Row[] rows = getParentVO().findByKey(key, 1);
        if (rows != null && rows.length > 0) {
            ParentVORowImpl parent = (ParentVORowImpl) rows[0];
            RowIterator rowIterator = parent.getChildVO();
            removeRows(rowIterator);
            this.getDBTransaction().postChanges();
            parent.remove();
            this.getDBTransaction().commit();
        }


    public void removeRows(RowIterator rowIterator) {
        while (rowIterator.hasNext()) {
            Row row = rowIterator.next();
            row.remove();
        }
    }


Thursday, November 14, 2013

UCM: error in ucm filenotfound after ps7 upgrade

Turns out dispersion rule was turned on and was adding some extra stuff to my urls (mdaw etc)

Thank goodness for this blog post:
http://stellentpmp.blogspot.com/2011/05/mdaw-directory-explained.html

Monday, October 7, 2013

ADF css agent

This is different for different versions of browsers but here is what works for me:

@agent
ie - Internet Explorer - all
gecko - firefox
webkit - chrome

@platform
window, linux, macossolaris - self explanatory
@version
I use this mostly for ie 6, 7, 8, 9 etc work for the separate versions


Have not tried this but should work:
@agent (touchScreen:none)
@agent (touchScreen:single)
@agent (touchScreen)