Skip to main content

Setting the starting point for KScope2011: Get XFILES running...

As a preparation for a joint presentation with Marco Gralike for ODTUG Kaleidoscope 2011, I tried to (re)install the not-yet-so-famous XFILES Application. That application was the result of the collaboration of Mark Drake (Sr Product Manager XMLDB) and Carl Backstrom. They did a presentation about it during OOW2008. The idea behind the presentation/application was leveraging the power of XML-DB with an APEX UI. Due to Carl's tragic car accident, the application never reached a final stage. Marco already did a sequel about XFILES on his blog. You can also find a download link to the latest version of the application there.
But back to the installation....I used the OTN Developer Days VM as a start and patched it with the latest APEX patch (4.0.1). There is a sort of how-to included in the XFILES download, but that isn't flawless (yet). But after executing all the steps I fired up the application and got this:


So all my images where missing. Inspecting the code learned that the images had a path of /XFILES/APEX/lib/icons/, so not pointing to images included in the application itself (as Application or Workspace Images) but to a directory on the filesystem....that wasn't there.  If I entered http:/localhost/XFILES I did get the directory listing. And drilling down I could see the images. After some investigation it turned out that localhost was using the standard port 80, which was used by the (standard installed - or done by the XFILES installation ??) Embedded PL/SQL Gateway (EPG). And I was using the Apex Listener (with Apache/Tomcat) on port 8888. So the APEX Listener was looking for the XFILES directory on it's root (/home/oracle/apache-tomcat-6.0.20/webapps/ROOT). So in order to get the images in my application I could just extract them from the XDB Repository and copy them onto the filesystem. But that would have been too easy ;-). I though it would be more fun if I could create a mapping from the right location on the filesystem into the right location in the XDB Repository! But as I am not a *nix wizard - nor a XML-DB guru -, I couldn't quite figure out how to do that - even after some Googling around . So I send out a "help Tweet". But it is hard to explain a situation in just 140 characters...
Nevertheless I got a lot of replies (thanks Learco, Iloon, Jacco, Peter, etc). But Marco acted as my mainstay and Skyped me. And just like Marco is, he dived in deep and came up with a solution! And wrote a long post about it...
But in short there are only two additional steps necessary:
1. Create the XFILES directory on the webserver :
/home/oracle/apache-tomcat-6.0.20/webapps/ROOT/XFILES
2. As su, mount the XFILES Folder in the XDB Repository to that directory:
mount -t  davfs  http://localhost:80/XFILES /home/oracle/apache-tomcat-6.0.20/webapps/ROOT/XFILES

And the result is:


The funny thing about this solution is, that I - as a user - can replace one of the images with my own one and it will immediately show up in the application itself:


Now I first have to solve a performance problem, because the app is deadly slow... Maybe just because of this solution? Don't know yet, will have to find out!
After that the next step is to make it a full blown APEX 4.0-style application, before moving on...
1 comment

Popular posts from this blog

Showing a success message after closing a modal dialog

APEX 5 comes with Modal Dialogs out of the box. Very neat. Especially for adding and changing data. And to minimise the number of time a user has to click, it could be useful to add a "Close Dialog" process after the actual data processing. When the data processing fails, the Dialog stays on top showing the error. When data processing runs fine, the Dialog is closed ... without any confirmation. And this might be scary for a shaky user.

So how can we provide the user some feedback? On Page 4 of the Sample Dialog Application you can see one solution: up on a Dialog Closed Event on the parent page it does a redirect to refresh the parent page appending the success message of the "Close Dialog" process. This has two drawbacks. First, it probably refreshes more than necessary. And second, if you're using multiple layers of dialogs (dialogs that open other dialogs) the message appears in the "parent dialog".
As an alternative you could follow these steps: 1…

It's happening again ... running for the ODTUG Board of Directors 😉

For the third time in a row I'll be running for ODTUG's Board of Directors. But after ending as a runner up twice, I am sure I'm going to make it this time! But not without your help!

My campaign statement this year is:
I have been attending and presenting at Kscope conferences since 2007. This not only resulted in a vast amount of knowledge, but also - and even more important - a huge number of friends from all over the globe.  I want to see ODTUG grow and spread this community feeling even more! 
My experience as an attendee, presenter and content lead has provided the basic foundation to be a director. Next to that, my personality and (global) network will be beneficial to the whole board and organization. 
Since March I have served on the Board of Directors in a limited term for a Director who stepped down due to a career change. This has allowed me to have unique insight of all the things that are going on in and around the ODTUG organization. As the train was already ro…

A review of APEX World 2017 - Day 1

Last week the SS Rotterdam was the beautiful location of the largest gathering of APEX Developers worldwide. With around 380 (!) attendees a new high was set. And they came from all over the world : I spotted people from The Netherlands, Belgium, Switzerland, Austria, Croatia, Germany, Denmark, Norway, UK, Ireland and the USA. And I even might have missed one or two ….

The event started with a presentation by the “father of APEX”, Mike Hichwa, talking about "Oracle APEX Past, Present and Future”. Of course everyone is curious what the APEX future might bring: Friendly URL’s, automated testing, more JSON, concurrent APEX versions, third party Oauth 2 authentication (think Facebook, Google), APEX app diff and more, a lot more, REST capabilities. And now we have to wait for APEX 5.2 … and that might take a while! 
After this keynote, the conference split up in three tracks. After the coffee break I returned to to big theatre where Geertjan Wielenga talked about "Finally Javas…