XFILES (Part 1) – In Remembrance of Carl Backstrom

There is a demo application out there for Oracle XMLDB, called XFILES, that demonstrates the Oracle XML database functionality. During Oracle Open World 2008 I attended a presentation of Mark Drake, Sr Product Manager XMLDB and Carl Backstrom, called “Oracle Application Express and Oracle XML Database: A Match Made in the Database“. Mark had build the XFILES demo application, until that time, with the tool-set he knew best, Java/JavaScript & PL/SQL.

Mark Drake and Carl Backstrom during their session on Oracle Open World 2008

In his final/last post on his blog site, called OOW recap (Pt 2), Carl described this session and the XFILES demo application:

The session I helped out with a bit was Mark Drake’s Oracle Application Express and Oracle XML Database: A Match Made in the Database. This session had it’s beginning’s way back at Web2.0 Expo where Mark and I shared a demo booth. XMLDB has a standard sample/demo called XFILES which is a simple yet full featured file management system using all XMLDB features. But it requires using a java server and is kinda slow , well I think it’s slow but I might be biased.

So I was like hey Mark! you should build this in APEX since we are both built in features of the database. And lo and behold the his session was born. I helped on and off with building the demo application , and it was a big learning experience, both with the features XMLDB provides as well as were APEX does not leverage them well, something we will be working on improving.

Mark at OOW asked if I could sit in so if there was any specific APEX questions, and hey I’m a people person so of course I said yes. The session was very well attended with many people in the audience already familiar with APEX and/or XMLDB. Mark covered the basics of XMLDB and I quickly went over APEX basic’s and then it was all demo.

I really think the application demo and explanation of how things were created was a hit, it showed the power of XMLDB as well as how APEX can leverage it’s features directly out of the database. Just the number of hands that came up with people saying things like

  • Hey I just built that a month a go and yours is cooler.
  • Hey I need to build that in the near future and these are great ideas.
  • Hey can I have that application?

shows that this session hit a sweet spot. A couple things I got from this is that people like that APEX can directly leverage built in database features and want more of it easier, and secondly I need to really make time to clean up that XFILES application so it can be a packaged application.

“…and secondly I need to really make time to clean up that XFILES application so it can be packaged application…”

Carl Backstrom explaining the APEX bit of XFiles

He never got the chance to do it…

The APEX community and others that knew Carl were in shock after receiving word that had died in a tragic car accident only a few days after Oracle Open World. A lot of blogposts followed, like some of the following I could find via using Google

An APEX Community Effort

Days, weeks went by. From time to time I started nagging Mark (via my Dutch humor / ways of asking things) about the status of this APEX XFILES source code, if it was available for use and/or what the status was regarding the bit about “cleaning up the code”. Probably never really high on our agendas, standard work issues took priority including presentations, beta testing and Oracle Open World 2009. It got “forgotten” again, until just after Oracle Open World 2009, almost on the day, 1 year after the car crash…

Mark Drake and Carl Backstrom during their session on Oracle Open World 2008

It still isn’t cleaned up, but I wanted to share it with the community anyway. Mark and I are neither great APEX developers, but my idea is that we could get it finished as a demo app for the apex.oracle.com demo pages, if we would ask the APEX community to help us to get it finished and if not so, I feel the urge to share the code with the outside world so at least I would commemorate Carl’s efforts via the way he always like it to do: Sharing your knowledge with the rest of the world. The original ideas and source code is Mark’s but he agreed with the idea / with this attempt to honor Carl one last time.

Over the following weeks, more of the XFILES/APEX inner workings will be explained by me and how Mark / Carl implemented it in the XFILES demo application, such as the Content Management features APEX reveals of the underlying XMLDB basics like:

  • HTTP/WebDAV/FTP access to the database
  • Versioning XMLDB capabilities
  • File Checkin and Checkout XMLDB features
  • Security, Application Security build-in via XMLDB
  • Access Control List principles (ACL)
  • Automatic shredding of files in into the database
  • Native Database Web Services
  • XML/SQL, XQuery support for APEX reporting
  • Etc

If people are interested to make this an (APEX) community effort that results in a packaged application; I will post the source code on this site during the series. I have only one condition and that is that if you use the code, then you should spread your knowledge, afterwards, openly with others, if not only via blog posts on the internet; The same way Carl has always offered his great knowledge about APEX and Oracle to others…

HTH,

Marco
(also on behalf of Mark)