Update of TortoiseSVN must be done twice.
Sep 2nd
The installer of version 1.6.10 (and 1.6.8) of TortoiseSVN has a bug that leads to an incomplete update. You must run the installer a second time and choose the second time the ‘Repair’ option for a proper upgrade. One of the symptoms of an incomplete installation is an exception when trying to compare office files due to missing Diff scripts in the Diff-Scripts directory.
Is the purpose of testing to verify that the software works or is it to try to break it?
Sep 1st
This question is asked many often. However there is no one answer. Reading a lot of reactions – in one of the Linkedin community groups – I noticed that the answer is strongly related to the (test) experience of the responder. A number of the reactions endorse this question and of course other people have another opinion.
Read the rest of this entry »
JHeadstart 11g: Tree-Form with drag and drop functionallity
Aug 30th
A little over two years ago I wrote a post on drag and drop in an adf tree component. That post was based on ADF only. In the following post I show that you can have JHeadstart generate a tree for you that supports drag and drop.
Not out of the box, but with use of custom templates, and some ADF knowledge. Read the rest of this entry »
Change the JDeveloper system directory
Aug 29th
De system directory is where JDeveloper stores the user specific settings, configurations and also (for 11g) the default domain of the embedded weblogic server. It uses the JDEV_USER_HOME environment variable to dettermine the location. If it’s not set is uses a default directory, for 11g on windows XP that’s <user dir>\Application Data\JDeveloper\systemXXX (XXX stands for the exact IDE version, e.g. system11.1.1.3.37.56.60 for 11gPS2, 11.1.1.3.0) and for 10g that’s <JDev install dir>\jdev\system (no version included). Note that the Application Data directory contains a space. And although this doesn’t prevent JDeveloper and the embedded weblogic from proper functioning, it may sometimes leads to an issue, e.g. that diagnostics (adrs) cannot create an image.
To change this directory, just add the JDEV_USER_HOME environment variable and set it to the required directory, that must not contain a space in the name and when you restart JDeveloper it will use that directory. However, you’ll notice that JDeveloper will now consider itself an almost new installation, without your custom configuration and no default weblogic domain but with installed extensions. It should be able to copy the old systemXXX directory to the new location but didn’t work with me and upgrade settings from a previous version didn’t work too. So you have to do the configuration again, but luckily the weblogic default domain is created automatically with the first deployment.
Be aware that when you have multiple 10g installations you should not set the environment variable because 10g doesn’t add a version number to the system directory and you’ll end up with one directory for all the 10g installations which I’m sure will cause serious problems. In this case you should can change the directory per 11g installation by setting the ide.user.dir property (use forward slashes) in the <middleware install dir>\jdeveloper\jdev\bin\jdev.boot file or add it to the startup script with -J-Dide.user.dir=<some directory>.
Installing a subversion server
Aug 27th
Source control is off course an essential part of the development process and Subversion is an excellent system for that purpose. In the past, installation of subversion was a bit complicated because it involved several steps, an Apache webserver and not-so-accessible user management and repository configuration. However, nowadays installation and management can’t be easier, on whatever platform you are either with Collabnet Subversion Edge or with VisualSVN Server.
Manage JDeveloper external libraries
Aug 26th
Although JDeveloper provides loads of libraries out-of-the-box, you often need other libraries in your application. You can easily add these libraries via the project properties. This provides two options: ‘Add Library’ and ‘Add Jar / Directory’. We normally us the Add Library option because it allows to include the JavaDoc and the source code. However make sure that you check the ‘Deployed by Default’ checkbox or else the library will not be included on the classpath and the application will fail with a java.lang.ClassNotFoundException. By the way, we never use Tools -> Manage Libraries because we only use project libraries and never the user or system libraries, because they introduce local dependencies that need to be maintained at every workstation seperately.

Call for Papers UKOUG ends on Monday
Jul 31st
Be aware that the Call for papers for the UKOUG Tech. Conference in December is closing on Monday.
….and yes I know, having Oracle Open World almost opening its doors or The Michigan OakTable Symposium just coming up in the agenda, thinking about stuff in December is a bit strange, but…do you want to miss out like last year on probably the best European Conference of the year…
Impress and/or be impressed…
ADF 11g: Select all rows in an ADF table.
Jul 29th
I get a lot of questions on how to select all rows in a table. In this post I describe how you can do that. A common use case for this is when you want to apply changes on a set of records, for instance change the status of all records in a table. You might expect a whole bunch of code here (so did I…) but in fact, this is very easy. I’ll provide the (absolutely not complicated) solution and also the proof that it works Read the rest of this entry »
External Views (XML based)
Jul 29th
Something new? Eh? Should you do this? Eh?
In all, probably not, but for me this was a good exercise towards some more updated demo scripting for my “Boost your environment with XMLDB” presentation or hopefully more clearer relabeled Oracle Open World name for the almost same presentation called “Interfacing with Your Database via Oracle XML DB” (S319105). Just up front, there are some issues with the following:
- Why should you do it at all. You should have a good reason doing so…
- It can cause a lot of Physical I/O, at least initially when not cached in the SGA
- Until current versions, AFAIK, it will do a lot of “Pickler Fetching”, serializing in memory, which is very resource intensive (CPU/PGA)
- …and its probably not supported…?
…but it is good fun for a small exercise based on the following OTN Thread: “Error with basic XMLTable“…
Let me show you what I mean.
Via “bfilename” you are able, since a long time, I guess Oracle 9.2 and onwards, to read a file as a BLOB and because an “XMLTYPE” can swallow almost any datatype, you could do the following…
[oracle@localhost ~]$ sqlplus / AS sysdba
SQL*Plus: Release 11.2.0.1.0 Production ON Thu Jul 29 09:20:24 2010
Copyright (c) 1982, 2009, Oracle. ALL rights reserved.
Connected TO:
Oracle DATABASE 11g Enterprise Edition Release 11.2.0.1.0 - Production
WITH the Partitioning, OLAP, DATA Mining AND Real Application Testing options
SQL> CREATE user otn IDENTIFIED BY otn account UNLOCK;
User created.
SQL> GRANT dba TO otn;
GRANT succeeded.
SQL> conn otn/otn
Connected.
SQL> sho user
USER IS "OTN"
SQL> SET pages 5000
SQL> SET LINES 1000
SQL> SET long 10000
SQL> SELECT xmltype(cursor(SELECT owner, schema_url, LOCAL FROM all_xml_schemas ORDER BY owner)) FROM dual;
XMLTYPE(CURSOR(SELECTOWNER,SCHEMA_URL,LOCALFROMALL_XML_SCHEMASORDERBYOWNER))
-----------------------------------------------------------------------------------------------------------
< ?xml version="1.0"?>
<rowset>
<row>
<owner>EXFSYS</owner>
<schema_url>http://xmlns.oracle.com/rlmgr/rclsprop.xsd</schema_url>
<local>NO</local>
</row>
<row>
<owner>EXFSYS</owner>
<schema_url>http://xmlns.oracle.com/rlmgr/rulecond.xsd</schema_url>
<local>NO</local>
</row>
<row>
<owner>MDSYS</owner>
<schema_url>http://www.opengis.net/gml/feature.xsd</schema_url>
<local>NO</local>
</row>
<row>
...
</row><row>
<owner>XDB</owner>
<schema_url>http://xmlns.oracle.com/xdb/dav.xsd</schema_url>
<local>NO</local>
</row>
</rowset>
51 rows selected.
Lets write the output to disk in the /tmp directory or my Oracle Enterprise Linux environment…
SQL> sho user USER IS "OTN" SQL> CREATE OR REPLACE directory XMLDIR AS '/tmp/'; Directory created. SQL> declare 2 rc sys_refcursor; 3 begin 4 open rc FOR SELECT * FROM (SELECT owner, schema_url, LOCAL FROM all_xml_schemas ORDER BY owner); 5 dbms_xslprocessor.clob2file(xmltype(rc).getClobVal(),'TMPDIR','otn_dev_xsd_schema.xml'); 6 end; 7 ; PL/SQL procedure successfully completed. SQL> commit; commit complete SQL> ! ls -ltra /tmp/*.xml -rw-rw-r-- 1 oracle oracle 6563 Jul 29 09:36 /tmp/otn_dev_xsd_schema.xml
Due to the fact the content of this XML file (be aware: 6K) is wellformed XML, for example the alert log is not wellformed, and I know its format, I could read it directly from my database session via the following…





