<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-20567072</atom:id><lastBuildDate>Sun, 15 Nov 2009 11:23:56 +0000</lastBuildDate><title>Roels Blog</title><description /><link>http://roelhartman.blogspot.com/</link><managingEditor>roelhartman@hotmail.com (Roel)</managingEditor><generator>Blogger</generator><openSearch:totalResults>147</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/RoelsBlog" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item><guid isPermaLink="false">tag:blogger.com,1999:blog-20567072.post-9073953011143538077</guid><pubDate>Wed, 11 Nov 2009 16:01:00 +0000</pubDate><atom:updated>2009-11-11T17:06:51.838+01:00</atom:updated><title>Collecting ideas for APEX 4.0 Plug-Ins...using Google Wave</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_AiUu3dyj9Ng/SvrgXsm2IsI/AAAAAAAAAgM/BGHbEqTIL7o/s1600-h/starrating.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 249px; height: 32px;" src="http://1.bp.blogspot.com/_AiUu3dyj9Ng/SvrgXsm2IsI/AAAAAAAAAgM/BGHbEqTIL7o/s400/starrating.png" alt="" id="BLOGGER_PHOTO_ID_5402877400700035778" border="0" /&gt;&lt;/a&gt;As you all know by now APEX 4.0 will have some new functionality regarding the creation of Custom Item Types and Custom Region Types. These types will be called "Plug-Ins". The idea is that there will be a public App Store like library where you can up- and download plug-ins.&lt;br /&gt;&lt;br /&gt;A snippet from the Oracle Open World APEX 4.0 presentation:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Easy way to enhance the existing built-in functionality of Oracle APEX with new item types, region types, dynamic actions, etc.&lt;/li&gt;&lt;li&gt;Developers use in similar fashion to native widgets&lt;/li&gt;&lt;li&gt;Wizard support and declarative setting of attributes&lt;/li&gt;&lt;li&gt;Included in APEX application export&lt;/li&gt;&lt;li&gt;By providing this plug-in system in APEX, we want to engage the APEX community to create a rich ecosystem around Oracle APEX.&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-style: italic;"&gt;The APEX Development Team can’t possibly incorporate all the widgets that developers would like to utilize. By using plug-ins developers can readily incorporate additional item / region types to enhance the functionality, appearance and user friendliness of their applications. Once defined, plug-in based components are created and maintained very much like standard APEX components. We believe that the APEX community will build many plug-ins and make them available to others. Much like with the SQL Developer plug-ins it will be up to the contributors whether these are freeware, etc.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In the demo the APEX Dev Team is showing an Amazon style 'star rating' (as an Item Type Plug-In). (like the image above)&lt;br /&gt;&lt;br /&gt;So maybe now is time to gather ideas for Plug-Ins (using this cool collaboration tool). So don't be shy and add your ideas about the Plug-Ins you think you could use (or even create yourself !) or are just very cool....&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Custom Item Types&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Amazon like star rating&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Custom Region Types&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Google Wave&lt;/li&gt;&lt;li&gt;Google Visualizations&lt;/li&gt;&lt;/ul&gt;So please add your own ideas to &lt;a href="https://wave.google.com/wave/?#restored:wave:googlewave.com%21w%252BhFjPVvJuC"&gt;this wave&lt;/a&gt;, and let's make collaboration happen...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20567072-9073953011143538077?l=roelhartman.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://roelhartman.blogspot.com/2009/11/collecting-ideas-for-apex-40-plug.html</link><author>noreply@blogger.com (Roel)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_AiUu3dyj9Ng/SvrgXsm2IsI/AAAAAAAAAgM/BGHbEqTIL7o/s72-c/starrating.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">7</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-20567072.post-714655241394994780</guid><pubDate>Mon, 09 Nov 2009 15:38:00 +0000</pubDate><atom:updated>2009-11-09T19:29:43.088+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Forms</category><category domain="http://www.blogger.com/atom/ns#">APEX</category><title>Oracle Application Express Forms Converter Book - Review</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.packtpub.com/oracle-application-express-forms-converter?utm_source=roelhartman.blogspot.com&amp;utm_medium=bookrev&amp;utm_content=blog&amp;utm_campaign=mdb_000921"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 162px; height: 200px;" src="http://1.bp.blogspot.com/_AiUu3dyj9Ng/Svg4YBC-U3I/AAAAAAAAAgE/ZT7tEDVtUnM/s200/APEX+Forms+Converter+Book.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5402129738279834482" /&gt;&lt;/a&gt;As I promised earlier I should write a review of the &lt;a href="http://www.packtpub.com/oracle-application-express-forms-converter?utm_source=roelhartman.blogspot.com&amp;utm_medium=bookrev&amp;utm_content=blog&amp;utm_campaign=mdb_000921"&gt;Oracle Application Express Forms Converter&lt;/a&gt; book by Douwe Pieter van den Bos. I finally found the time to work it through...it doesn't take that much time, because it is "just" 150 pages thick (or thin).&lt;br /&gt;The book contains 8 chapters, in which the reader is guided through an Forms2APEX conversion project from start to finish. It starts of with "&lt;span style="font-style:italic;"&gt;Understanding your Project&lt;/span&gt;" (1), wherein understanding the reasons for conversion as well as the functionality of the Forms application is stressed as important, because these will influence the way you'll solve things in the APEX application. One or more examples should have been useful here.&lt;br /&gt;The next chapter, "&lt;span style="font-style:italic;"&gt;Preparing your Forms Conversion&lt;/span&gt;" (2), covers the creation of XML files from the source files. BTW, not only Forms, also "Reports" are - briefly - touched (and can be converted as well). Also different ways of creating a target database are mentioned (but IMHO you usually can just re-use your current Forms development environment).&lt;br /&gt;Chapter (3), "&lt;span style="font-style:italic;"&gt;Create your Forms Conversion Project&lt;/span&gt;", covers the next step in the project: uploading the XML files and understanding the Project Overview Page.&lt;br /&gt;The next chapter is about "&lt;span style="font-style:italic;"&gt;Planning your Project&lt;/span&gt;" (4). It shows how you can dive into the different components (blocks, triggers and what's not),  and how to use the Annotations, Tags, Assignments and Applicablity to estimate the work you've done and still have to do. That last one is rather difficult, because only the number of objects-to-do are counted - and, as we all know - that doesn't tell you everything about the time needed to accomplish things. But it might help you in planning and monitoring the project.&lt;br /&gt;Chapter (5), "&lt;span style="font-style:italic;"&gt;Getting your Logic Right!&lt;/span&gt;", is probably the key-chapter of the book. The difference between Original, Enhanced and Custom Query is explained in detail. Alas one line "Implementing the business logic is done post-generation, execpt for some Post-Query triggers" says it all... I now the conversion utlity is not a silver bullet, but some examples on how to convert Forms logic to the APEX equivalent would have been a very useful add-on!&lt;br /&gt;Chapter (6) covers "&lt;span style="font-style:italic;"&gt;Generating your Application&lt;/span&gt;", and doesn't tell anything new if you're already an APEX Developer (actually there is nothing more to tell about it than what covered here). &lt;br /&gt;"&lt;span style="font-style:italic;"&gt;Reviewing and Customizing your Application&lt;/span&gt;" is the penultimate chapter (7). It handles tweaking the generated LOV's, Titles and how to create a Validation based on what was an WHEN-VALIDATE-RECORD trigger in the Form.&lt;br /&gt;The last chapter (8), on "&lt;span style="font-style:italic;"&gt;Delivering your Application&lt;/span&gt;", discusses (very briefly) how to create an Application Export and import that in a Test-, Acceptance or Production environment. No specific Forms2APEX stuff.&lt;br /&gt;&lt;br /&gt;All in all it is a good book when you need an overview of the steps you have to take for converting an Oracle Forms application to APEX - more on a Project Management level than a Developer level. If you really need to get your hands dirty and do the actual conversion yourself, this book is just the beginning of a great adventure...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20567072-714655241394994780?l=roelhartman.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://roelhartman.blogspot.com/2009/11/oracle-application-express-forms.html</link><author>noreply@blogger.com (Roel)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_AiUu3dyj9Ng/Svg4YBC-U3I/AAAAAAAAAgE/ZT7tEDVtUnM/s72-c/APEX+Forms+Converter+Book.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-20567072.post-3441388593050156095</guid><pubDate>Thu, 05 Nov 2009 12:48:00 +0000</pubDate><atom:updated>2009-11-05T13:50:02.733+01:00</atom:updated><title>A Google Wave in an APEX Page</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_AiUu3dyj9Ng/SvLJ82zhvTI/AAAAAAAAAf8/N1na3zap2D8/s1600-h/ODTUG003.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 143px;" src="http://1.bp.blogspot.com/_AiUu3dyj9Ng/SvLJ82zhvTI/AAAAAAAAAf8/N1na3zap2D8/s400/ODTUG003.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5400600950511615282" /&gt;&lt;/a&gt;&lt;br /&gt;That is soooo simple, click here &lt;a href="http://apex.oracle.com/pls/otn/f?p=41715:APEXWAVE"&gt;http://apex.oracle.com/pls/otn/f?p=41715:APEXWAVE&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20567072-3441388593050156095?l=roelhartman.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://roelhartman.blogspot.com/2009/11/google-wave-in-apex-page.html</link><author>noreply@blogger.com (Roel)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_AiUu3dyj9Ng/SvLJ82zhvTI/AAAAAAAAAf8/N1na3zap2D8/s72-c/ODTUG003.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-20567072.post-1225823865100789036</guid><pubDate>Thu, 05 Nov 2009 10:57:00 +0000</pubDate><atom:updated>2009-11-12T09:33:58.494+01:00</atom:updated><title>My first blogpost using Google Wave</title><description>It is somewhat experimental, but here it is...and you probably can't see it if you don't have a Wave account.&lt;br /&gt;&lt;div id="wave" style="width: 100%; height: 200px"&gt;&lt;/div&gt;&lt;br /&gt;There should be a "&lt;span style="font-style:italic;"&gt;Bloggy&lt;/span&gt;" robot to facilitate postings from within Wave with just one click, but that doesn't seem to work. Instead I used Embeddy (embeddy@appspot.com) to give me some javascript with the Wave ID. I copied that and pasted it in the HTML of the Blogger Template. The DIV is just added to thi post.&lt;br /&gt;You can only have either one blogpost with a Wave or need a line of javascript for each Wave you need to publish. So a working version of &lt;span style="font-style:italic;"&gt;Bloggy&lt;/span&gt; might be handy...&lt;br /&gt;&lt;script src="http://wave-api.appspot.com/public/embed.js" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt;var wave = new WavePanel("https://wave.google.com/wave/"); wave.setUIConfig("white", "black", "Arial", "13px");  wave.loadWave("googlewave.com!w+2ORNCUPeP");  wave.init(document.getElementById("wave"));&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20567072-1225823865100789036?l=roelhartman.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://roelhartman.blogspot.com/2009/11/test_05.html</link><author>noreply@blogger.com (Roel)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-20567072.post-5803498753527097477</guid><pubDate>Tue, 03 Nov 2009 12:27:00 +0000</pubDate><atom:updated>2009-11-05T13:39:50.207+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">APEX</category><title>Handling information overload: Showing data on demand in an IR</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_AiUu3dyj9Ng/SvAjf3JZlUI/AAAAAAAAAf0/EVId6FxY6KQ/s1600-h/ODTUG002.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 184px;" src="http://3.bp.blogspot.com/_AiUu3dyj9Ng/SvAjf3JZlUI/AAAAAAAAAf0/EVId6FxY6KQ/s400/ODTUG002.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5399854983503516994" /&gt;&lt;/a&gt;Using APEX Interactive Reports you can let the user decide which columns to show or hide in a report. But even then, reports with over 20 columns are still being used. So I tried to come up with a solution where you can hide less important (detail) column information and still reveal that information with minimal effort - like a mouse-over event. In this tiny example the list of employees of a department pops up when the user moves his mouse over the little question mark icon.&lt;br /&gt;By adding some HTML and Javascript in the select statement (I know, that is not a "&lt;span style="font-style:italic;"&gt;best practice&lt;/span&gt;"...but if you've got a better idea, please drop a comment) and some CSS you can use this technique - even for more complex "detail" reports!&lt;br /&gt;The select statement used in this example is:&lt;pre  class="sql:nogutter:nocontrols" name="code"&gt;select dept.deptno&lt;br /&gt;,      dname&lt;br /&gt;,      loc&lt;br /&gt;,      '&lt;img src="#IMAGE_PREFIX#apps_info.gif" alt="" &lt;br /&gt;onmouseover="javascript:$(''.overlay'').hide();$x_Toggle('''||dept.DEPTNO||''')"&gt;'||&lt;br /&gt;'&lt;div class="overlay" id="'||dept.DEPTNO||&lt;br /&gt;'" style="display:none"&gt;'||enames|| '&lt;/div&gt;'  enames&lt;br /&gt;from dept&lt;br /&gt;,  ( select deptno, listagg( ename, ', ') within group (order by sal) enames &lt;br /&gt;     from emp&lt;br /&gt;     group by deptno&lt;br /&gt;   ) emps&lt;br /&gt;where emps.deptno (+) = dept.deptno&lt;/pre&gt;The CSS used in that statement is defined by:&lt;pre class="html:nogutter:nocontrols" name="code"&gt;&lt;STYLE&gt;&lt;br /&gt;.overlay{&lt;br /&gt;  background : lightgreen;&lt;br /&gt;  height     : 10px;&lt;br /&gt;  padding    : 10px;&lt;br /&gt;  position   : absolute;&lt;br /&gt;  margin     : -24px 0 0 24px;&lt;br /&gt;}&lt;br /&gt;&lt;/STYLE&gt;&lt;/pre&gt;One remark: You should disable sorting, filtering etc. on the "enames" column, because that makes no sense...&lt;br /&gt;&lt;br /&gt;Edit: Thanks to Alex (see comments) the solution can be changed to something more elegant:&lt;br /&gt;Just select the ENAMES column, and set these properties &lt;br /&gt;- Link Text = &amp;lt;img src="#IMAGE_PREFIX#apps_info.gif" alt=""&gt;&amp;lt;/a&gt;&amp;lt;div class="overlay" id="#DEPTNO#" style="display:none"&gt;#ENAMES#&amp;lt;/div&gt;&lt;br /&gt;- Link Attributes = onmouseover="javascript:$('.overlay').hide();$x_Toggle('#DEPTNO#');"&lt;br /&gt;- Target (URL) = javascript:void(0);&lt;br /&gt;&lt;br /&gt;So the SQL is "clean" now and you even can enable the sorting etc again!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20567072-5803498753527097477?l=roelhartman.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://roelhartman.blogspot.com/2009/11/handling-information-overload-showing.html</link><author>noreply@blogger.com (Roel)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_AiUu3dyj9Ng/SvAjf3JZlUI/AAAAAAAAAf0/EVId6FxY6KQ/s72-c/ODTUG002.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">7</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-20567072.post-7025917694156660790</guid><pubDate>Thu, 29 Oct 2009 11:50:00 +0000</pubDate><atom:updated>2009-10-29T13:18:35.387+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Forms</category><category domain="http://www.blogger.com/atom/ns#">APEX</category><title>Integration of Forms and APEX : Calling APEX from Forms</title><description>In previous blog posts (like &lt;a href="http://roelhartman.blogspot.com/2009/10/new-article-integration-of-oracle-forms.html"&gt;this&lt;/a&gt;, &lt;a href="http://roelhartman.blogspot.com/2009/10/forms-apex-integration-video.html"&gt;this &lt;/a&gt;and &lt;a href="http://roelhartman.blogspot.com/2008/11/integrate-oracle-forms-with-apex.html"&gt;this &lt;/a&gt;one) I explained how you can integrate (or embed) Oracle Forms within an APEX Page. But yesterday I stumbled upon &lt;a href="http://forums.oracle.com/forums/thread.jspa?threadID=978643&amp;tstart=0"&gt;this question&lt;/a&gt; on the Oracle APEX Forum. There someone was looking for a solution how to access an APEX Page from an Oracle Form - so exactly the other way round. And, after some trial-and-error I came up with this solution:&lt;br /&gt;&lt;br /&gt;1. Copy the basejpi.htm (or whatever html file you're using in the formsweb.cfg) on your application server to (something like) forms2apex-jpi.htm and reference that in your formsweb.cfg.&lt;br /&gt;&lt;br /&gt;2. Edit the forms2apex-jpi.htm and add an IFRAME tag just before the closing BODY tag:&lt;pre  class="javascript:nogutter:nocontrols" name="code"&gt;&amp;lt;IFRAME src="http://localhost:7778/pls/apex/f?p=104"&lt;br /&gt;       style="width:800px;height:450px;visibility:hidden"  &lt;br /&gt;       name="APEX" &lt;br /&gt;       id="APEX" &lt;br /&gt;       scrolling="auto" &lt;br /&gt;       marginwidth="1" &lt;br /&gt;       marginheight="1"&lt;br /&gt;       frameborder="1" &lt;br /&gt;       vspace="1" &lt;br /&gt;       hspace="1" /&gt; &lt;/pre&gt;where the src references your APEX app.&lt;br /&gt;&lt;br /&gt;3. In the same file, add a javascript function between the HEAD-tags, to call the APEX page (in this example it is an IR and I add a parameter to the call):&lt;pre  class="javascript:nogutter:nocontrols" name="code"&gt;&lt;SCRIPT type="text/javascript"&gt;&lt;br /&gt;  function ShowApexPage( pPage, pID ){&lt;br /&gt;    vFrame = document.getElementById("APEX");&lt;br /&gt;    vFrame.src = "http://localhost:7778/pls/apex/f?p=104:"+pPage+"::::RP,"+pPage+",RIR:IR_CUSTOMER_ID:"+pID;&lt;br /&gt;     vFrame.style.visibility = "visible"; &lt;br /&gt;    }&lt;br /&gt;&lt;/SCRIPT&gt;&lt;/PRE&gt; and save the file.&lt;br /&gt;&lt;br /&gt;4. In your Form add some code to a button or - in this example - to the WHEN-NEW-RECORD-INSTANCE trigger: &lt;pre  class="javascript:nogutter:nocontrols" name="code"&gt;&lt;br /&gt;ShowApexPage( 12, :CUSTOMERS.CUSTOMER_ID ); &lt;/pre&gt; and define that ShowApexProcedure as a Program Unit (in your Form or Library): &lt;pre  class="javascript:nogutter:nocontrols" name="code"&gt; PROCEDURE ShowApexPage&lt;br /&gt;          ( p_page_no number&lt;br /&gt;          , p_id      number &lt;br /&gt;          ) IS&lt;br /&gt;BEGIN&lt;br /&gt; web.show_document('javascript:ShowApexPage( '||p_page_no||','||p_id||');', '_self');  &lt;br /&gt;END; &lt;/PRE&gt; And now you're ready to roll....&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_AiUu3dyj9Ng/SumG2HYjXuI/AAAAAAAAAfk/42xxOyJJuYQ/s1600-h/ODTUG001.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 150px;" src="http://3.bp.blogspot.com/_AiUu3dyj9Ng/SumG2HYjXuI/AAAAAAAAAfk/42xxOyJJuYQ/s400/ODTUG001.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5397993892633337570" /&gt;&lt;/a&gt;&lt;br /&gt;Of course there are some limitations: It works best when you're using SSO or a Public APEX Page, otherwise APEX will present a login screen first...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20567072-7025917694156660790?l=roelhartman.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://roelhartman.blogspot.com/2009/10/integration-of-forms-and-apex-calling.html</link><author>noreply@blogger.com (Roel)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_AiUu3dyj9Ng/SumG2HYjXuI/AAAAAAAAAfk/42xxOyJJuYQ/s72-c/ODTUG001.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-20567072.post-698348320834245956</guid><pubDate>Wed, 28 Oct 2009 11:42:00 +0000</pubDate><atom:updated>2009-10-28T13:12:32.221+01:00</atom:updated><title>New cool Quest Tools</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.quest.com/application-monitoring/"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 174px; height: 303px;" src="http://1.bp.blogspot.com/_AiUu3dyj9Ng/SuguejXUwqI/AAAAAAAAAfc/C7jlY_8bEhs/s320/foglightBox.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5397615255827563170" /&gt;&lt;/a&gt;Yesterday evening guys from Quest presented their latest cool new tools at one of our company locations. They started with &lt;span style="font-weight:bold;"&gt;&lt;a href="http://www.quest.com/application-monitoring/"&gt;Foglight&lt;/a&gt;&lt;/span&gt;, a tool for Application Management. Using that tool you can see on one page the status of the applications that are running, where users experience some problems (based on thresholds), the number of users affected and where in the application stack the problem occurs. With a few clicks you can drill down to the actual origin of the problem. Foglight supports a number of application types (like Java, .Net, Siebel, SAP), different types of access (o.a. Apache, Citrix, Rich Clients), multiple infrastructures (Windows, Solaris, HP/UX, VMWare) and different databases (SQL Server and - of course - Oracle).&lt;br /&gt;Foglight uses so called "Quest Collectors" on the web-, application- and databaseservers to sample data. That data is collected in the &lt;span style="font-style:italic;"&gt;Foglight Management Server&lt;/span&gt;. Apart from that you can use an &lt;span style="font-style:italic;"&gt;Experience Monitor and Viewer&lt;/span&gt; as a network sniffer. &lt;br /&gt;Quest claims it is an end-to-end performance management tool, but actually the scope is somewhat limited to "just" the servers: storage is not included and for network management there is only a diagnosis and no suggested solution.&lt;br /&gt;Foglight is complementary to &lt;span style="font-style:italic;"&gt;Spotlight&lt;/span&gt; that has been around much longer. Spotlight is also a very nice graphical tool, but is - much more - limited to only one database instance.&lt;br /&gt;Of course everything has it's price. This cool tool costs around 500 euro per CPU socket. A 'normal' implementation will cost you 20 - 200 kEuro (+ 18% support fee a year).&lt;br /&gt;Also some new features of good old &lt;span style="font-weight:bold;"&gt;TOAD&lt;/span&gt; (v10) where addressed, like the enhanced ER Diagrammer, a new sort of Data Grid (with grouping, colors, hide/display columns etc.), an enhanced Data Generator - that can generate sample data with taking care of referential integrity and Unicode support. All the details are on &lt;a href="http://www.toadworld.com"&gt;www.toadworld.com&lt;/a&gt;. &lt;br /&gt;The last product they showed was &lt;span style="font-weight:bold;"&gt;Foglight Performance Analyzer&lt;/span&gt;, a tool that has overlapping functionality with AWR, ASH and ADDM (but then without the Oracle Diagnostic and Tuning Packs license). The analyzer uses a &lt;span style="font-style:italic;"&gt;StealthCollect&lt;/span&gt; memory tool to detect changes to the Oracle memory stack (without having an Oracle connection!) and offloads these changes to a data warehouse. So you can analyze and query the use and changes of your Oracle DB, without actually using the DB itself. Also tracking errors or dumps when the database itself is down is a nice functionality.&lt;br /&gt;All in all a nice informative evening, with lots of tools that I definitely would like to try in a real environment (now I have to find a customer who uses or needs this sort of stuff).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20567072-698348320834245956?l=roelhartman.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://roelhartman.blogspot.com/2009/10/new-cool-quest-tools.html</link><author>noreply@blogger.com (Roel)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_AiUu3dyj9Ng/SuguejXUwqI/AAAAAAAAAfc/C7jlY_8bEhs/s72-c/foglightBox.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-20567072.post-2391044996374819963</guid><pubDate>Sat, 24 Oct 2009 10:50:00 +0000</pubDate><atom:updated>2009-10-24T13:01:15.941+02:00</atom:updated><title>Want to be a presenter at the Oracle Developers conference?</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.odtugkaleidoscope.com/index.html"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 42px;" src="http://3.bp.blogspot.com/_AiUu3dyj9Ng/SuLcx5hj3uI/AAAAAAAAAfU/xMh-3jbwU9s/s320/Kaleidoscope2010" border="0" alt=""id="BLOGGER_PHOTO_ID_5396118053356560098" /&gt;&lt;/a&gt;&lt;br /&gt;Developers and architects attend Kaleidoscope to find out how to use the new technologies to make their jobs easier. Your expertise and experience are key to our participants getting their questions answered. Click &lt;a href="http://www.technicalconferencesolutions.com/pls/caat/caat_abstracts_upd.main?conference_id=68"&gt;here&lt;/a&gt; &lt;span style="font-weight:bold;"&gt;to submit your abstract to speak at &lt;span style="font-style:italic;"&gt;the&lt;/span&gt; developer event of the year.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;ODTUG Kaleidoscope 2010 at the Marriott Wardman Park Hotel in Washington, D.C.&lt;/span&gt; is &lt;span style="font-style:italic;"&gt;the&lt;/span&gt; conference for Oracle developers and architects. Kaleidoscope has it all - more than 150 technical sessions, day-long symposia, hands-on training, chats with participants and speakers, and even a community service project.&lt;br /&gt;&lt;br /&gt;So far the "offical" advertisement. My personal opinion is that Kaleidscope is the place to be for Oracle Developers. Just because it is at a 'somewhat' smaller scale than - for instance - Oracle Open World (last year there where around 700 attendees), you can speak to whoever is there (and 'everyone' is!). Also the content of the presentations is very good. But don't let that discourage you from entering an abstract! If you have a good subject and a good abstract (and a catchy title could help..) you definitely will make a chance!&lt;br /&gt;&lt;br /&gt;Hope to see you there (if my abstract gets accepted....).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20567072-2391044996374819963?l=roelhartman.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://roelhartman.blogspot.com/2009/10/want-to-be-presenter-at-oracle.html</link><author>noreply@blogger.com (Roel)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_AiUu3dyj9Ng/SuLcx5hj3uI/AAAAAAAAAfU/xMh-3jbwU9s/s72-c/Kaleidoscope2010" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-20567072.post-2330478436833814990</guid><pubDate>Thu, 22 Oct 2009 14:52:00 +0000</pubDate><atom:updated>2009-10-22T17:17:30.941+02:00</atom:updated><title>Oracle Application Express Forms Converter Book - Review coming up!</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.packtpub.com/oracle-application-express-forms-converter?utm_source=roelhartman.blogspot.com&amp;amp;utm_medium=bookrev&amp;amp;utm_content=blog&amp;amp;utm_campaign=mdb_000921"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 259px; height: 320px;" src="http://1.bp.blogspot.com/_AiUu3dyj9Ng/SuB0MePdiZI/AAAAAAAAAfM/wBYsmKU_-lQ/s320/APEX+Forms+Converter+Book.jpg" alt="" id="BLOGGER_PHOTO_ID_5395440111215020434" border="0" /&gt;&lt;/a&gt;Back from OOW I found the &lt;a href="http://www.packtpub.com/oracle-application-express-forms-converter?utm_source=roelhartman.blogspot.com&amp;amp;utm_medium=bookrev&amp;amp;utm_content=blog&amp;amp;utm_campaign=mdb_000921"&gt;Oracle Application Express Forms Converter&lt;/a&gt; book in my pile of mail. I received a &lt;span style="font-weight: bold;"&gt;&lt;span style="font-style: italic;"&gt;free&lt;/span&gt;&lt;/span&gt; copy - just adding the word 'free' in order to prevent a &lt;a href="http://www.usatoday.com/tech/news/2009-06-22-bloggers-free_N.htm"&gt;claim from the FTC&lt;/a&gt;... ;-) for writing a review on this blog. I haven't had a change to read the book, although it is only 172 pages, significantly less than the other Oracle related books on my shelf. If you are interested in a review &lt;span style="font-weight:bold;"&gt;now&lt;/span&gt;, please read &lt;a href="http://marcsewtz.blogspot.com/2009/10/on-my-way-back-from-oracle-openworld-i.html"&gt;Marc Sewtz's blogpost&lt;/a&gt; - he has already read it and wrote a review. I will try to write the review somewhere next week (with the usual disclaimers applied). If you're curious, you can read a preview chapter of the book &lt;a href="http://www.scribd.com/doc/21447217/Preparing-Files-for-Forms-to-APEX-Conversion"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20567072-2330478436833814990?l=roelhartman.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://roelhartman.blogspot.com/2009/10/oracle-application-express-forms.html</link><author>noreply@blogger.com (Roel)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_AiUu3dyj9Ng/SuB0MePdiZI/AAAAAAAAAfM/wBYsmKU_-lQ/s72-c/APEX+Forms+Converter+Book.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-20567072.post-6104450011222621279</guid><pubDate>Wed, 21 Oct 2009 15:00:00 +0000</pubDate><atom:updated>2009-10-21T17:08:52.333+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Forms</category><category domain="http://www.blogger.com/atom/ns#">APEX</category><title>New article : Integration of Oracle Forms and APEX</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.weloveit.nl"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 104px; height: 147px;" src="http://2.bp.blogspot.com/_AiUu3dyj9Ng/St8jYco746I/AAAAAAAAAfE/_Nwj1z0n_5c/s320/weloveit-2009-2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5395069781524865954" /&gt;&lt;/a&gt;When I opened my mail after a week in San Francisco I discovered that my article was published in the latest release of &lt;a href="http://www.weloveit.nl"&gt;WeLoveIT&lt;/a&gt; (a free magazine for Oracle &amp; Java users and developers). If you can read Dutch (or want to try), you can read it either &lt;a href="http://www.weloveit.nl/integratie-oracle-forms-apex.htm"&gt;here&lt;/a&gt; or &lt;a href="http://www.scribd.com/doc/21397373/WeLoveIT-Integratie-Van-Oracle-Forms-en-APEX"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20567072-6104450011222621279?l=roelhartman.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://roelhartman.blogspot.com/2009/10/new-article-integration-of-oracle-forms.html</link><author>noreply@blogger.com (Roel)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_AiUu3dyj9Ng/St8jYco746I/AAAAAAAAAfE/_Nwj1z0n_5c/s72-c/weloveit-2009-2.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-20567072.post-4741217313875478492</guid><pubDate>Sun, 18 Oct 2009 14:08:00 +0000</pubDate><atom:updated>2009-10-19T12:37:57.623+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">OOW</category><title>OOW 2009 : Thursday and wrap up</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_AiUu3dyj9Ng/StxBTyfRTCI/AAAAAAAAAe8/fz7ormZjmxk/s1600-h/Bridge.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_AiUu3dyj9Ng/StxBTyfRTCI/AAAAAAAAAe8/fz7ormZjmxk/s320/Bridge.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5394258261909261346" /&gt;&lt;/a&gt;The day started easy: The first session had similar content as the last one of yesterday - which I didn't like too much - and the second one got cancelled. So a late start, what was fairly convenient because of yesterday's party...&lt;br /&gt;The first one was by Arup Nanda about &lt;span style="font-style:italic;"&gt;11g New Features for DBA's&lt;/span&gt;. Since 11g is already 'old school', I didn't learned that much: physical / logical / snapshot standby databases (quite handy for testing in a real production environment, performing rolling upgrades and reporting); partition by reference (where you can easily keep master and detail data in the same partition) etc. I was hoping for more R2 stuff, but maybe it is just to early as that version was released just a couple of weeks ago. &lt;br /&gt;The second one was all about &lt;span style="font-style:italic;"&gt;Data Security&lt;/span&gt;. There are so many features and options regarding that subject. To name a few: VPD, FGA, Encryption, Data Masking, Advanced Security, Audit Vault, Database Vault, Label Security, Secure Backup.... I think it is time for a new SQL command: "&lt;span style="font-weight:bold;"&gt;alter database set security = high&lt;/span&gt;".&lt;br /&gt;The last session of this years OpenWorld was done by Rich Niemiec. He is a great entertainer (throwing candy, bars, chips etc. in the audience, lots of funny stories) and managed to put over 200 slides in 1.5 hour - what was only half an hour over time. This session was also called "&lt;span style="font-style:italic;"&gt;11g New Features&lt;/span&gt;" - but this time not only for DBA's. And again, not many things that I haven't heard before. &lt;br /&gt;That night Andreas surprised his housemates with a real gourmet dinner (with bison steak). And that was a really good closure of what should become a tradition: the Holland ACE House! Thank you Andreas, Jacco and Marko for your great company this week. And of course a special big THANK YOU for Anjo: He made this all possible!&lt;br /&gt;&lt;br /&gt;Typed on my iPod in a shaking plane...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20567072-4741217313875478492?l=roelhartman.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://roelhartman.blogspot.com/2009/10/oow-2009-thursday-and-wrap-up.html</link><author>noreply@blogger.com (Roel)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_AiUu3dyj9Ng/StxBTyfRTCI/AAAAAAAAAe8/fz7ormZjmxk/s72-c/Bridge.JPG" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-20567072.post-8457634270605291659</guid><pubDate>Thu, 15 Oct 2009 16:54:00 +0000</pubDate><atom:updated>2009-10-19T12:35:21.865+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">OOW</category><title>OOW 2009 : Wednesday</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_AiUu3dyj9Ng/StxA4Y8ThjI/AAAAAAAAAe0/0pc7jhGNqAs/s1600-h/Aerosmith.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 320px;" src="http://3.bp.blogspot.com/_AiUu3dyj9Ng/StxA4Y8ThjI/AAAAAAAAAe0/0pc7jhGNqAs/s320/Aerosmith.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5394257791195252274" /&gt;&lt;/a&gt;I started off with a good breakfast with my roomies Marco and Jacco. Because there wasn't any interesting session in the first timeslot (or I couldn't find it), I attended the Exhibition Hall - which is mainly the same as previous years. Everyone wants to &lt;span style="font-style:italic;"&gt;'scan your badge'&lt;/span&gt; so they can spam you afterwards. &lt;br /&gt;Next there were two sessions I really liked, and - it may or may not be a coincidence - both were 30 minutes 'power sessions'. The first one was by Mark Drake, the Product Manager for XML DB, about &lt;span style="font-style:italic;"&gt;Managing XML Content with APEX&lt;/span&gt;. Very good job, although having live demo's obviously are a risk...and that's why I like them!&lt;br /&gt;The next one was about Row Level Security / VPD and APEX. The presenter had a good demo and explained the stuff nicely.&lt;br /&gt;I followed the keynote from the OTN Lounge (it is less boring with a beer). It wasn't a surprise anymore that The Governator would attend. Arnold emphasized that technology will deliver the solution for CO2 reduction - he didn't say that technology was also the cause of all kinds of pollution...&lt;br /&gt;Larry's story - the only presentation from Oracle without &lt;span style="font-style:italic;"&gt;the safe harbor slide&lt;/span&gt; - didn't contain anything astonishing new: Oracle has Linux and VM (that's a three year old story); has an Exadata machine thats an (undefined) number of times faster than the one form IBM (Sunday's news..); My Oracle Support will get better; Fusion Apps are on their way (with demo).&lt;br /&gt;The last real session of the day was &lt;span style="font-style:italic;"&gt;Building a Mashup with APEX&lt;/span&gt;. The presenter painted out an architecture where you create webservices on your database objects, and consume those in APEX on XE. The reasons for doing so was that&lt;br /&gt;- you don't need a license for XE (that's true, but you do need a license for the underlying database, so that's a non-argument)&lt;br /&gt;- he &lt;span style="font-style:italic;"&gt;&lt;span style="font-weight:bold;"&gt;thought&lt;/span&gt;&lt;/span&gt; that APEX itself would have a negative impact on the performance of his database (which is obviously also a non-argument, as APEX adds only a very little bit of overhead - and creating extra layers as he suggested will create more overhead)&lt;br /&gt;- the DBA's didn't like the idea for having an 'application in the database': the database is for data, not for applications... (An misconception that some old school DBA's hang on to).&lt;br /&gt;&lt;br /&gt;And at night : The Appreciation Event with &lt;span style="font-style:italic;"&gt;Aerosmith&lt;/span&gt;. And they rocked - especially when you know that Steven Tyler (the leadsinger) is 61!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20567072-8457634270605291659?l=roelhartman.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://roelhartman.blogspot.com/2009/10/oow-2009-wednesday.html</link><author>noreply@blogger.com (Roel)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_AiUu3dyj9Ng/StxA4Y8ThjI/AAAAAAAAAe0/0pc7jhGNqAs/s72-c/Aerosmith.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-20567072.post-4416018763898478522</guid><pubDate>Thu, 15 Oct 2009 16:32:00 +0000</pubDate><atom:updated>2009-10-19T12:31:52.079+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">OOW</category><title>OOW 2009 : Tuesday</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_AiUu3dyj9Ng/StxAEA-f_KI/AAAAAAAAAes/m3seqRyHm7g/s1600-h/SF+Rain.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_AiUu3dyj9Ng/StxAEA-f_KI/AAAAAAAAAes/m3seqRyHm7g/s320/SF+Rain.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5394256891408809122" /&gt;&lt;/a&gt;This day started easy by skipping the keynotes. So the first session I attended was at 11:30, called &lt;span style="font-style:italic;"&gt;The Life of a Query&lt;/span&gt; in which the presenter revealed the details on the internal processing of the Oracle database. &lt;br /&gt;Next was &lt;span style="font-style:italic;"&gt;Giving your Application Express a Web 2.0 Facelift&lt;/span&gt;. Not that many new things, but Raj is always very entertaining to watch. The most interesting thing I saw was a new prototype of the APEX Developer page on Patrick Wolfs laptop: Instead of the current Page Definition view (with Page, Regions, Items, Processes and so on), the same information was presented in an DHTMLX tree view! Patrick showed how you can easily re-order Items, copy buttons etc by just dragging them around in the tree. And on every object you can do a right mouse click that would present the actions you can do with that object. It looked very slick! We shortly discussed whether or not you should expand that tree with one level (Page) or even two (Application), to make it even easier to copy and move Pages or Regions around. Imagine something like the tree view of your application in Oracle Designer - but then better looking. I guess this prototype won't make it to APEX 4.0, but it shows that the product is still evolving - even after APEX 4.0!&lt;br /&gt;After that &lt;span style="font-style:italic;"&gt;Understanding Real Application Clusters for Developers&lt;/span&gt; was on the program - I guess using &lt;span style="font-style:italic;"&gt;Dummies &lt;/span&gt;instead of &lt;span style="font-style:italic;"&gt;Developers &lt;/span&gt;was to offensive. However it was a reasonable good overview about RAC, but didn't associate about anything that a developer might have to do with it. And the presenter ran seriously out of time....&lt;br /&gt;The last one of the day: &lt;span style="font-style:italic;"&gt;Oracle Performance by Design&lt;/span&gt;. A presentation full of half truths and generalizations. So no further comments....&lt;br /&gt;In thee evening there were three meet-ups to attend: The Blogger MeetUp, Benelux Cocktail Party and the APEX MeetUp. I had to pick and did the first and the last. Alex G., who organized the Blogger thing this year, also introduced a nice competition. He/she with the most names on their new T-shirt (with the text &lt;span style="font-style:italic;"&gt;"I met more bloggers than you"&lt;/span&gt;), would win a netbook! So there was a lot of signing going on! Good job, thank you Alex!&lt;br /&gt;And of course, at the APEX meetup al the usual suspects where there. And - as every time - it was really nice to meat each other again!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20567072-4416018763898478522?l=roelhartman.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://roelhartman.blogspot.com/2009/10/oow-2009-tuesday.html</link><author>noreply@blogger.com (Roel)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_AiUu3dyj9Ng/StxAEA-f_KI/AAAAAAAAAes/m3seqRyHm7g/s72-c/SF+Rain.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-20567072.post-6696184922841481122</guid><pubDate>Tue, 13 Oct 2009 17:15:00 +0000</pubDate><atom:updated>2009-10-19T12:30:49.332+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">OOW</category><title>OOW 2009 : Monday</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_AiUu3dyj9Ng/Stw_yM7kysI/AAAAAAAAAek/BgROk0E4hKI/s1600-h/Hockey.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_AiUu3dyj9Ng/Stw_yM7kysI/AAAAAAAAAek/BgROk0E4hKI/s320/Hockey.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5394256585380121282" /&gt;&lt;/a&gt;Still suffering from the jet lag I woke up at 6 AM today. Due to all kinds of other 'obligations' I only attended one session today about &lt;span style="font-style:italic;"&gt;"How to get 10x improvement of your PL/SQL Application performance time"&lt;/span&gt;. And that one was all about TimesTen (a.k.a. IMDB - In Memory Database Cache). The session started with a small - alas pre-recorded - demo that indeed showed a 10x performance benefit. But before you all start to move all your applications to TimesTen, be aware that there are 'some' limitations:&lt;br /&gt;- Not all standard PL/SQL packages are available in TimesTen&lt;br /&gt;- You can't call PL/SQL from SQL&lt;br /&gt;- You can't use triggers in TimesTen&lt;br /&gt;- You can't join between tables in TimesTen and the 'real' database&lt;br /&gt;So due to this limitations, you can't run all PL/SQL applications (like APEX!) in a TimesTen database. However it would be extremely cool if you could use TimesTen for APEX (imagine APEX running 10x faster!). So maybe somewhere in the future, but not with the current release.&lt;br /&gt;Next a had a (long) lunch with 16 Logica attendees from all over the world, very well organized by my US colleagues. &lt;br /&gt;After that, I headed to the demogrounds, to take a close look at APEX 4.0. Mark and Anthony where so kind to show me a (private) deep dive into the new features, like enhanced tabular forms (with field validations), Team Development (a sort of integrated packaged application for registering enhancements and bugs, assignments etc), Dynamic Actions and Plug-Ins. This all looks very promising and opens up a whole new set of functionality, that would require a lot of handcraft in the current version. APEX 4.0 is (still) planned for production somewhere in 2010 (I hope it will be in the first quarter!).&lt;br /&gt;Next I went to a hotel where a bus picked me up for a ride to the HP Pavilion in San Jose to see my first ice hockey game: San Jose Sharks v.s Phoenix Coyotes. Very nice to see that sport live in an American ambiance! Thanks to my French colleagues for organizing this!&lt;br /&gt;At the moment of writing this - Tuesday morning - it is very rainy and windy in San Francisco. Rather different from my previous visits at OOW, where the sun always shined... Time to get my umbrella!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20567072-6696184922841481122?l=roelhartman.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://roelhartman.blogspot.com/2009/10/oow-2009-monday.html</link><author>noreply@blogger.com (Roel)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_AiUu3dyj9Ng/Stw_yM7kysI/AAAAAAAAAek/BgROk0E4hKI/s72-c/Hockey.JPG" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-20567072.post-6677763341248237799</guid><pubDate>Mon, 12 Oct 2009 14:07:00 +0000</pubDate><atom:updated>2009-10-19T12:17:29.333+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">OOW</category><title>OOW 2009 : SUN-rise on a SUN-day</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_AiUu3dyj9Ng/Stw8n34BsUI/AAAAAAAAAec/s-40F3goEM0/s1600-h/SF+Sun.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 214px;" src="http://3.bp.blogspot.com/_AiUu3dyj9Ng/Stw8n34BsUI/AAAAAAAAAec/s-40F3goEM0/s320/SF+Sun.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5394253109394518338" /&gt;&lt;/a&gt;This week I am in San Francisco for my third Oracle Oracle Open World. Because it was my second consecutive visit I received an "Oracle Alumni" tag (for my badge) and a nice jacket during registration. &lt;br /&gt;This Sunday the first session (at 800 AM! - OOW is really hard work...) was by...me! There were around 50 to 60 attendees, and IMHO that's not too bad for a session at that time. The session seemed to be interesting enough for 111 people to include in their schedule, but I guess for a few of them it was too early after all...&lt;br /&gt;The session went ok, not great, but ok. I would rather do a session after being a couple of days in the US, because then you're more used to the language. This one was within 20 hours of arrival. &lt;br /&gt;Right after my session - and a well deserved cup of Starbucks coffee with Edwin - I went back to the "Holland ACE House", where I am staying with Marco, Andreas and Jacco, to drop off my laptop. BTW the house, rented by Anjo (thanks mate!), is very nice. You can see the pictures &lt;a href="http://www.homeaway.com/vacation-rental/p193476"&gt;here&lt;/a&gt;. Right after that I went back to the Moscone for some sessions within the ODTUG track. They were all about migration to APEX. One company moved from Access to APEX, another from PowerBuilder / Cobol /  to APEX. Another proof that APEX is suitable for smaller  (Access like) apps as well as Enterprise level applications.&lt;br /&gt;After that on to the Hilton for a presentation by "Mr PL/SQL" : Bryn Llewellyn, about OnLine Application Upgrade. Bryn thoroughly explained the goal and the use of the new 11gR2 feature "Edition Based Redefinition".&lt;br /&gt;Meanwhile I missed the APEX 4.0 session (I have seen the major part of it at last June's ODTUG), but it was very well received. If you're interested you should take a look at &lt;a href="http://technology.amis.nl/blog/6355/oow-2009-apex-40-a-source-of-inspiration"&gt;Lucas' blog post&lt;/a&gt;.&lt;br /&gt;Then off to the impressive Hall D for the opening keynote of this year's OOW by Scott McNealy, the chair man of Sun. He did a good job presenting two top tens - in an almost Oracle-red sweater. Also on stage came James Goslin, the inventor of Java. &lt;a href="http://upload.wikimedia.org/wikipedia/commons/thumb/0/00/James_Gosling_2005.jpg/225px-James_Gosling_2005.jpg"&gt;Dresses in an old jeans and a baggy T-shirt&lt;/a&gt; he perfectly fitted the description of a Java nerd. Scott introduced "&lt;span style="font-style:italic;"&gt;his hero&lt;/span&gt;" (what sounded a little bit sarcastic): Larry Ellison. Larry, again, stated that Oracle will spend more money on the development of SPARC, Solaris and MySQL than Sun would do. Apple already proved that the combination of delivering hardware and software can be successful, so why can't Oracle do something similar?&lt;br /&gt;The main part of Larry's talk was aimed at IBM. Larry stated that IBM is more expensive, uses more electricity (that's why  they call it the "POWER" processor ;-) ) and not fault tolerant. Suns runs Oracle twice as fast than IBM. Larry also announced a new chapter in the Oracle - IBM competition: If your database doesn't run two times faster on Oracle/Sun than you'll win 10,000,000!&lt;br /&gt;&lt;br /&gt;In the evening the ACE dinner was organized on a nice location near the Bay Bridge.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20567072-6677763341248237799?l=roelhartman.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://roelhartman.blogspot.com/2009/10/oow-2009-sun-rise-on-sun-day.html</link><author>noreply@blogger.com (Roel)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_AiUu3dyj9Ng/Stw8n34BsUI/AAAAAAAAAec/s-40F3goEM0/s72-c/SF+Sun.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-20567072.post-530411512730269909</guid><pubDate>Fri, 02 Oct 2009 11:43:00 +0000</pubDate><atom:updated>2009-10-02T13:46:53.223+02:00</atom:updated><title>Forms / APEX Integration video</title><description>I just uploaded a video with a small demo of the integration of Oracle Forms and APEX. The quality is not quite what I wanted, but it gives - some kind - of idea. If you want to see the real (high res) demo, you can visit my presentation at Oracle Open World (at Sunday morning 8:00...) - or at the upcoming UKOUG.&lt;br /&gt;&lt;object width="560" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/DTLiU_-dyoo&amp;hl=nl&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/DTLiU_-dyoo&amp;hl=nl&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20567072-530411512730269909?l=roelhartman.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://roelhartman.blogspot.com/2009/10/forms-apex-integration-video.html</link><author>noreply@blogger.com (Roel)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-20567072.post-7614284347717508702</guid><pubDate>Tue, 22 Sep 2009 14:02:00 +0000</pubDate><atom:updated>2009-09-22T16:03:41.432+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">APEX</category><category domain="http://www.blogger.com/atom/ns#">OOW</category><title>APEX Meetup @ OOW</title><description>Also this year : &lt;a href="http://dgielis.blogspot.com/2009/09/apex-meetup-oow-2009.html"&gt;APEX Meetup @ OOW &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20567072-7614284347717508702?l=roelhartman.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://roelhartman.blogspot.com/2009/09/apex-meetup-oow.html</link><author>noreply@blogger.com (Roel)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-20567072.post-5132081041431472934</guid><pubDate>Tue, 22 Sep 2009 12:39:00 +0000</pubDate><atom:updated>2009-09-24T14:29:52.174+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">APEX</category><category domain="http://www.blogger.com/atom/ns#">jQuery</category><title>Getting rid of the annoying popup help</title><description>Recently I stumbled upon two excellent blog posts about how to change the default pop up APEX Help functionality to something more user friendly. &lt;a href="http://apex-smb.blogspot.com/2009/09/tooltip-help-in-apex-alternative-to.html"&gt;Martin&lt;/a&gt; explained how to transform the Help into a tooltip, while &lt;a href="http://apex.dbe.pl/2009/09/item-popup-help-in-jquery-out-of-box.html"&gt;Piotr&lt;/a&gt; transformed the Help pop up into a DIV. &lt;br /&gt;I will add my two cents to this discussion by adding another option...&lt;br /&gt;The pop up is trigger by a call to the Javascript function "popupFieldHelp'. So I decided to locally overwrite that function with this one:&lt;pre class="javascript" name="code"&gt;&lt;br /&gt;function popupFieldHelp(pItemId, pSessionId ){&lt;br /&gt;  // Construct the URL&lt;br /&gt;  vURL = "wwv_flow_item_help.show_help?p_item_id=" + pItemId + "&amp;p_session=" + pSessionId;&lt;br /&gt;  // Call getRequest to get the HTML for the popupWindow&lt;br /&gt;  var popupWindow = getRequest(vURL);&lt;br /&gt;  // Get the Subject (item name) from the Window&lt;br /&gt;  var HelpSubject = $(popupWindow).find('.fieldtitlebold').html();&lt;br /&gt;  // Get the HelpText from the Window&lt;br /&gt;  var HelpText = $(popupWindow).find('.instructiontext').html();&lt;br /&gt;  // Show the results as an alert&lt;br /&gt;  showHelp( HelpSubject, HelpText );&lt;br /&gt;}&lt;/pre&gt;This function calls two other functions: &lt;br /&gt;a. showHelp - to show the Helptext in a jQuery Dialog box&lt;br /&gt;b. getRequest - to retrieve the results of an URL by executing an AJAX call (I was hoping to find something like that available in the standard APEX Javascript lib, but couldn't find it - if you know a better way, please let me know!).&lt;br /&gt;The result is a nice looking help (you can tweak the settings and/or presentation the way you like):&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_AiUu3dyj9Ng/SrjJ2UWd03I/AAAAAAAAAeU/fhvxzWAbA3M/s1600-h/ODTUG045.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 383px; height: 347px;" src="http://1.bp.blogspot.com/_AiUu3dyj9Ng/SrjJ2UWd03I/AAAAAAAAAeU/fhvxzWAbA3M/s400/ODTUG045.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5384275289534485362" /&gt;&lt;/a&gt;&lt;br /&gt;IMHO the main advantage for this approach is that you don't need to change anything in your templates (apart from loading the necessary Javascript files), so it is very easy to implement!&lt;br /&gt;As usual there is an example on &lt;a href="http://apex.oracle.com/pls/otn/f?p=41715:49"&gt;apex.oracle.com&lt;/a&gt;...&lt;br /&gt;&lt;br /&gt;The code for "showHelp" is below:&lt;br /&gt;&lt;pre class="javascript:collapse" name="code"&gt;&lt;br /&gt;function showHelp(pTitle, pText){&lt;br /&gt;  vText = '&lt;div id="info" title="'+pTitle+'"&gt;'+'&lt;img src="wwv_flow_file_mgr.get_file?p_security_group_id=your-workspace-id&amp;p_fname=Info.png"&gt;'+pText+'&lt;/div&gt;';&lt;br /&gt;  $(document.body).append(vText);&lt;br /&gt;  $("#info").dialog({&lt;br /&gt;               bgiframe: true,&lt;br /&gt;               modal: true,&lt;br /&gt;               minHeight : 200,&lt;br /&gt;               width : 200,&lt;br /&gt;               close : function(){$("#info").remove();},&lt;br /&gt;               closeOnEscape : false,&lt;br /&gt;               buttons: {&lt;br /&gt;                   Ok: function() {&lt;br /&gt;                     $(this).dialog('close');&lt;br /&gt;                     $("#info").remove();&lt;br /&gt;              }}&lt;br /&gt;   });&lt;br /&gt;}&lt;/pre&gt;The code for "getRequest" is here:&lt;pre class="javascript:collapse" name="code"&gt;&lt;br /&gt;function getRequest( vURL ){&lt;br /&gt;  http_request = false;&lt;br /&gt;  if (window.XMLHttpRequest) { // Mozilla, Safari,…&lt;br /&gt;    http_request = new XMLHttpRequest();&lt;br /&gt;    if (http_request.overrideMimeType) {&lt;br /&gt;      // set type accordingly to anticipated content type&lt;br /&gt;      http_request.overrideMimeType("text/html");&lt;br /&gt;    }&lt;br /&gt;  } &lt;br /&gt;  else if (window.ActiveXObject) { // IE&lt;br /&gt;    try {&lt;br /&gt;      http_request = new ActiveXObject("Msxml2.XMLHTTP");&lt;br /&gt;    } catch (e) {&lt;br /&gt;        try {&lt;br /&gt;          http_request = new ActiveXObject("Microsoft.XMLHTTP");&lt;br /&gt;        } catch (e) {}&lt;br /&gt;      }&lt;br /&gt;  }&lt;br /&gt;  if (!http_request) {&lt;br /&gt;    alert("Cannot create XMLHTTP instance");&lt;br /&gt;    return false;&lt;br /&gt;  }&lt;br /&gt;  http_request.open("GET", vURL, false);&lt;br /&gt;  http_request.send(null);&lt;br /&gt;  return http_request.responseText;&lt;br /&gt;}&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20567072-5132081041431472934?l=roelhartman.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://roelhartman.blogspot.com/2009/09/getting-rid-of-annoying-popup-help.html</link><author>noreply@blogger.com (Roel)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_AiUu3dyj9Ng/SrjJ2UWd03I/AAAAAAAAAeU/fhvxzWAbA3M/s72-c/ODTUG045.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">10</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-20567072.post-2097582140934319521</guid><pubDate>Mon, 21 Sep 2009 12:39:00 +0000</pubDate><atom:updated>2009-09-21T16:04:41.671+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">VirtualBox</category><category domain="http://www.blogger.com/atom/ns#">APEX</category><title>Running APEX on 11gR2 using Sun's (Oracle's?) VirtualBox</title><description>Today I decided that I needed an environment to play with the latest and greatest Oracle RDBMS : 11gR2. This version is only available for Unix platforms, so I needed a virtual environment to get that working on my laptop - running on XP.&lt;br /&gt;You can pick any kind of virtualization software, but, due to the recent take-over of Sun by Oracle, I decided to go for what's currently known as &lt;span style="font-weight: bold;"&gt;Sun's&lt;/span&gt; VirtualBox. I guess this product will re-branded to &lt;span style="font-weight: bold;"&gt;Oracle's&lt;/span&gt; VirtualBox somewhere soon.&lt;br /&gt;So what are the steps:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_AiUu3dyj9Ng/Srd5bOvndJI/AAAAAAAAAdc/plQN8WCwRXM/s1600-h/ODTUG034.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; cursor: pointer; width: 318px; height: 320px;" src="http://1.bp.blogspot.com/_AiUu3dyj9Ng/Srd5bOvndJI/AAAAAAAAAdc/plQN8WCwRXM/s320/ODTUG034.jpg" alt="" id="BLOGGER_PHOTO_ID_5383905388265960594" border="0" align="left"/&gt;&lt;/a&gt;1. Download VirtualBox from &lt;a href="http://www.virtualbox.org/"&gt;http://www.virtualbox.org/&lt;/a&gt; and run the installer.&lt;br/&gt;&lt;br /&gt;2. Start VirtualBox, click &lt;span style="font-style: italic;"&gt;'New'&lt;/span&gt; and enter a Name, Operating and Version for the Virtual machine. This is gonna be a 100% Oracle thing, so I installed Oracle Enterprise Linux (OEL).&lt;br/&gt;&lt;br /&gt;3. Oracle 11gR2 needs 1Gb of RAM, so set the memory size to 1024 - you can change this afterwards.&lt;br/&gt;&lt;br /&gt;4. Create a new boot harddisk with &lt;span style="font-weight: bold;"&gt;dynamically expanding storage&lt;/span&gt;.&lt;br/&gt;&lt;br /&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_AiUu3dyj9Ng/Srd7MwtcOWI/AAAAAAAAAdk/lZRh4KwZZ98/s1600-h/ODTUG038.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; cursor: pointer; width: 320px; height: 319px;" src="http://1.bp.blogspot.com/_AiUu3dyj9Ng/Srd7MwtcOWI/AAAAAAAAAdk/lZRh4KwZZ98/s320/ODTUG038.jpg" alt="" id="BLOGGER_PHOTO_ID_5383907338708859234" border="0" align="left"/&gt;&lt;/a&gt;5. On the next page you have to set the 'size of the virtual hard disk'. This is not the initial size, but the maximum to which the harddisk can be expanded. So don't take it too small, because adding or expanding a hard disk to a current installation is not so easy...(as I have experienced).&lt;br /&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_AiUu3dyj9Ng/Srd8Tv-74BI/AAAAAAAAAds/ZZECKgwG5nE/s1600-h/ODTUG040.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; cursor: pointer; width: 320px; height: 275px;" src="http://3.bp.blogspot.com/_AiUu3dyj9Ng/Srd8Tv-74BI/AAAAAAAAAds/ZZECKgwG5nE/s320/ODTUG040.jpg" alt="" id="BLOGGER_PHOTO_ID_5383908558284513298" border="0" align="left"/&gt;&lt;/a&gt;6. Next start the VM and install OEL from a DVD or ISO download. I installed it with all defaults, with support for Software Development and Webserver. Honestly I have no idea what is added by checking these features, but I checked it just because that's what I want to use it for.&lt;br/&gt;&lt;br /&gt;7. Now take a break - or do something else - while OEL is being installed... it takes a while.&lt;br /&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_AiUu3dyj9Ng/Srd9TEQlBTI/AAAAAAAAAd0/b_0ILRXmdB4/s1600-h/ODTUG041.jpg"&gt;&lt;img style="margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 275px;" src="http://3.bp.blogspot.com/_AiUu3dyj9Ng/Srd9TEQlBTI/AAAAAAAAAd0/b_0ILRXmdB4/s320/ODTUG041.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5383909646058980658" align="left" /&gt;&lt;/a&gt;&lt;br /&gt;8. After installation you have to configure OEL. You can accept all defaults, I just changed the settings for the Firewall to accept HTTP request on port 8080 - the one we're going to use for running APEX.&lt;br /&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_AiUu3dyj9Ng/Srd-_YOMXpI/AAAAAAAAAd8/27IPPUVX5Ho/s1600-h/ODTUG042.jpg"&gt;&lt;img style="margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 242px;" src="http://3.bp.blogspot.com/_AiUu3dyj9Ng/Srd-_YOMXpI/AAAAAAAAAd8/27IPPUVX5Ho/s320/ODTUG042.jpg" border="0" align="left" alt=""id="BLOGGER_PHOTO_ID_5383911506843557522" /&gt;&lt;/a&gt;&lt;br /&gt;9. Next add a Shared Folder in VirtualBox - a folder that can be used by both the host and the guest OS. To use it within the Linux environment: login as root, mount the VBoxGuestAdditons.iso (by pressing the Host-D key, whereby Host is the right Ctrl key by default), copy VBoxLinuxAddtions-x86.run to the Desktop and run it. Restart the VM when that's finished.&lt;br/&gt;&lt;br /&gt;10. Mount the added shared drive: sudo mount -t vboxsf Shared /media/shared&lt;br /&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_AiUu3dyj9Ng/SreAOvAU0iI/AAAAAAAAAeE/1n7ym95rrtA/s1600-h/ODTUG043.jpg"&gt;&lt;img style="margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 241px;" src="http://4.bp.blogspot.com/_AiUu3dyj9Ng/SreAOvAU0iI/AAAAAAAAAeE/1n7ym95rrtA/s320/ODTUG043.jpg" border="0" align="left" alt=""id="BLOGGER_PHOTO_ID_5383912870169072162" /&gt;&lt;/a&gt;&lt;br /&gt;11. In the Host OS: Download the two 11gR2 disks, copy them to c:\shared, unzip them - of course you can do that in the Guest system also, but not while you're installing it ;-). Install 11gR2 on the Guest OS following the steps in the documentation. Again some time for a good cup of coffee....&lt;br /&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;12. 11gR2 is shipped with APEX, so it just takes two steps to get it running: &lt;br /&gt;Open up the EPG using port 8080 : Start SQLPlus, login as SYS, exec dbms_xdb.sethttpport(8080) and set a password for the APEX Admin user by executing the apxchpwd script (located in /home/oracle/app/oracle/product/11.2.0/dbhome_1/apex for a default installation). Now you can open up the browser, navigate to http://localhost:8080/apex/apex_admin and off you go.&lt;br/&gt;&lt;br /&gt;13. Now where almost there...because now we want to use the database in the VM from the browser in the Host OS. Therefore we need to set up Port Forwarding in VirtualBox. Shutdown the Guest VM and VirtualBox. Run these three commands:&lt;pre  class="nogutter:nocontrols" name="code"&gt;vboxmanage setextradata OEL "VBoxInternal/Devices/pcnet/0/LUN#0/Config/Apex/HostPort" 8080&lt;br /&gt;vboxmanage setextradata OEL "VBoxInternal/Devices/pcnet/0/LUN#0/Config/Apex/GuestPort" 8080&lt;br /&gt;vboxmanage setextradata OEL "VBoxInternal/Devices/pcnet/0/LUN#0/Config/Apex/Protocol" TCP&lt;br /&gt;&lt;/pre&gt;Startup VirtualBox and the VM. If the database doesn't start, login as the oracle user, set the environment (. /usr/local/bin/oraenv), start the listener (lsnrctl start) and start the database (sqlplus sys as sysdba and enter 'startup').&lt;br /&gt;Now we can use the APEX on Oracle 11gR2 in a Oracle Enterprise Linux VirtualBox from an XP Host OS. And it runs very fast....!!&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_AiUu3dyj9Ng/SreEiNxhlfI/AAAAAAAAAeM/prlrnATIpN0/s1600-h/ODTUG044.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 130px;" src="http://3.bp.blogspot.com/_AiUu3dyj9Ng/SreEiNxhlfI/AAAAAAAAAeM/prlrnATIpN0/s320/ODTUG044.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5383917602892518898" /&gt;&lt;/a&gt;&lt;br /&gt;One final remark: If you've got an Oracle instance running on your Host OS, http://localhost:8080/apex will open up the login page from your Host. So you either have to shut that down, or forward another HostPort (like 8081).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20567072-2097582140934319521?l=roelhartman.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://roelhartman.blogspot.com/2009/09/running-apex-on-11gr2-using-suns.html</link><author>noreply@blogger.com (Roel)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_AiUu3dyj9Ng/Srd5bOvndJI/AAAAAAAAAdc/plQN8WCwRXM/s72-c/ODTUG034.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">6</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-20567072.post-4149282821538136946</guid><pubDate>Thu, 17 Sep 2009 10:08:00 +0000</pubDate><atom:updated>2009-09-17T12:27:34.221+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">APEX</category><title>Easy Show/Hide items in a Form</title><description>For showing and hiding information in a Form you can use a default "Show and Hide Region". But what to do if you want to show/hide some details &lt;span style="font-weight:bold;"&gt;within&lt;/span&gt; a region? The answer is: with a Label Template, some cool jQuery UI stuff and "Stop and Start HTML Table" Items.&lt;br /&gt;&lt;br /&gt;1. Create a new Label Template (From Scratch) for Template Class 'No Label'. Call it 'Show/Hide Next Image' or something else you fancy.&lt;br /&gt;2. Edit the Label Template you've just created. Remove everything that's there by default.&lt;br /&gt;3. Set the 'Before Label' to : &lt;br /&gt;&amp;lt;img src="wwv_flow_file_mgr.get_file?p_security_group_id=&amp;lt;your workspace id&gt;&amp;p_fname=&lt;br /&gt;4. Set the 'After Label' to : &lt;br /&gt;" onload="$(this).next().hide();" onclick="$(this).next().toggle('blind');"&gt;&lt;br /&gt;5. Now create a "Stop and Start HTML Table" Item just before the items you want to show/hide. Edit that Item and set the label property to the name of the image you want to show (like Info.png) and set the Template to the template you've just created.&lt;br /&gt;6. Run your page... you should see something like &lt;a href="http://apex.oracle.com/pls/otn/f?p=41715:48::::::"&gt;this example&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Everything between the "Stop and Start HTML Table" and another "Stop and Start HTML Table" or until the end of your Form will be shown/hidden.&lt;br /&gt;&lt;br /&gt;Now you can use this throughout your application to save space or hide information that should only be shown on request. For instance, it is perfect for hiding some detail audit info.&lt;br /&gt;Of course you can tweak the Template and use some other kind of jQuery UI effect, or change it to show/hide on mouse over.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20567072-4149282821538136946?l=roelhartman.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://roelhartman.blogspot.com/2009/09/easy-showhide-items-in-form.html</link><author>noreply@blogger.com (Roel)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-20567072.post-7114783152422254230</guid><pubDate>Tue, 15 Sep 2009 14:43:00 +0000</pubDate><atom:updated>2009-09-17T11:12:28.537+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">APEX</category><title>Transform ORA-xxxx messages into something more user friendly in APEX</title><description>When you delete a record that is referenced using a foreign key constraint you get a rather ugly error like this: &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_AiUu3dyj9Ng/Sq-oigDwQgI/AAAAAAAAAcs/FXFQp_69hmc/s1600-h/ODTUG031.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 500px; height: 60px;" src="http://4.bp.blogspot.com/_AiUu3dyj9Ng/Sq-oigDwQgI/AAAAAAAAAcs/FXFQp_69hmc/s320/ODTUG031.jpg" alt="" id="BLOGGER_PHOTO_ID_5381705390405730818" border="0" /&gt;&lt;/a&gt; Of course you can prevent such a thing from happening by creating a Page process that checks if your delete is "Ok". But that's double coding...and dangerous when you have to maintain your database structure: You'll probably forget to update the processes as well. Wouldn't it be nice if you can 'catch' that error an present it to the end user in a more friendly way (and with a somewhat more understandable text)? I guess your users will be more enthusiastic about your application (and you) when you show them something like this: &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_AiUu3dyj9Ng/Sq-p3AmjaAI/AAAAAAAAAc0/KYG0F4u5Gco/s1600-h/ODTUG032.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 500px; height: 150px;" src="http://1.bp.blogspot.com/_AiUu3dyj9Ng/Sq-p3AmjaAI/AAAAAAAAAc0/KYG0F4u5Gco/s320/ODTUG032.jpg" alt="" id="BLOGGER_PHOTO_ID_5381706842250635266" border="0" /&gt;&lt;/a&gt; So how do we achieve that?&lt;br /&gt;&lt;br /&gt;1. Edit the "Error Page Template Control" region of your &lt;span style="font-weight:bold;"&gt;Application Default&lt;/span&gt; Page Template, because that's the one that is used for presenting errors. Set it to : &lt;pre  class="javascript:nogutter:nocontrols" name="code"&gt;&lt;br /&gt;&amp;lt;script type="text/javascript"&gt;raiseErrorHandler();&amp;lt;/script&gt;&lt;/pre&gt;2. Create the raiseErrorHandler function (I'll use some jQuery UI stuff to show the nice dialog box):&lt;pre  class="javascript" name="code"&gt;&lt;br /&gt;function raiseErrorHandler(){&lt;br /&gt;  vError = $(".ErrorPageMessage");&lt;br /&gt;  vError.hide();&lt;br /&gt;   var get = new htmldb_Get( null, $v('pFlowId')&lt;br /&gt;                ,'APPLICATION_PROCESS=GetErrorMessage'&lt;br /&gt;                ,$v('pFlowStepId'));  &lt;br /&gt;   get.addParam( 'x01', vError.html());&lt;br /&gt;   gReturn = get.get();&lt;br /&gt;   get = null;&lt;br /&gt;   var errArray = gReturn.split("#",2);&lt;br /&gt;   showError( vError, errArray[0], errArray[1]);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function showError(pThis, pTitle, pText){&lt;br /&gt; vText = '&lt;div id="alert" title="'+pTitle+'"&gt;'+'&lt;img src="/i/themes/theme_502/images/Delete.png"&gt;&lt;br/&gt;'+pText+'&lt;/div&gt;'&lt;br /&gt;  $(pThis).append(vText);&lt;br /&gt;  $("#alert").dialog({&lt;br /&gt;               bgiframe: true,&lt;br /&gt;               modal: true,&lt;br /&gt;               minHeight : 200,&lt;br /&gt;               width : 600,&lt;br /&gt;               closeOnEscape : false,&lt;br /&gt;               close : function(){window.history.go(-1)},&lt;br /&gt;               buttons: {&lt;br /&gt;                   Ok: function() {&lt;br /&gt;                     $(this).dialog('close');&lt;br /&gt;                     $("#alert").remove();&lt;br /&gt;                     window.history.go(-1); &lt;br /&gt;              }}&lt;br /&gt;   });&lt;br /&gt;}&lt;/pre&gt;3. That Javascript function calls an Application Process GetErrorMessage:&lt;br /&gt;&lt;pre  class="sql" name="code"&gt;DECLARE&lt;br /&gt;  p_error_title varchar2(32767);&lt;br /&gt;  p_error_text varchar2(32767);&lt;br /&gt;  p_ora_error varchar2(32767);&lt;br /&gt;BEGIN&lt;br /&gt;  p_ora_error := wwv_flow.g_x01;&lt;br /&gt;  -- Get "translated" error message&lt;br /&gt;  get_error_message( p_ora_error, p_error_title, p_error_text );&lt;br /&gt;  htp.p( p_error_title||'#'|| p_error_text );&lt;br /&gt;END;&lt;br /&gt;&lt;/pre&gt;4. The procedure get_error_message is defined in the database. This procedure queries a table that contains the contraint name (the 'ORA Error') and a more user friendly description.&lt;br /&gt;&lt;pre  class="sql" name="code"&gt;&lt;br /&gt;create or replace PROCEDURE GET_ERROR_MESSAGE&lt;br /&gt;( p_ora_error   IN  VARCHAR2&lt;br /&gt;, p_error_title OUT VARCHAR2&lt;br /&gt;, p_error_text  OUT VARCHAR2&lt;br /&gt;) AS&lt;br /&gt;  CURSOR c_mps IS&lt;br /&gt;  SELECT code, description&lt;br /&gt;  FROM afk_message_properties&lt;br /&gt;  WHERE  INSTR( p_ora_error, constraint_name ) &gt; 0;&lt;br /&gt;BEGIN&lt;br /&gt;  OPEN c_mps;&lt;br /&gt;  FETCH c_mps INTO p_error_title, p_error_text;&lt;br /&gt;  CLOSE c_mps;&lt;br /&gt;EXCEPTION &lt;br /&gt;  WHEN NO_DATA_FOUND  &lt;br /&gt;  THEN &lt;br /&gt;    p_error_title := 'No translation found for this error';&lt;br /&gt;    p_error_text := p_ora_error;&lt;br /&gt;END GET_ERROR_MESSAGE;&lt;br /&gt;&lt;/pre&gt;The Application Process spits out a concatenated text, that will be segregated again in the Javascript function. The result is presented to the user in a way that would make him happy....&lt;br /&gt;Even if there is no error definition found in the table, the error will be shown in the dialog box - only the translation to a normal language is missing.&lt;br /&gt;&lt;br /&gt;Kinda cool I think! &lt;br /&gt;You can see a public demo when you &lt;a href="http://apex.oracle.com/pls/otn/f?p=41715:47:::::P47_DEPTNO:40" target="_blank"&gt;click here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20567072-7114783152422254230?l=roelhartman.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://roelhartman.blogspot.com/2009/09/transform-ora-xxxx-messages-into.html</link><author>noreply@blogger.com (Roel)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_AiUu3dyj9Ng/Sq-oigDwQgI/AAAAAAAAAcs/FXFQp_69hmc/s72-c/ODTUG031.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">9</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-20567072.post-7405351835724374015</guid><pubDate>Tue, 15 Sep 2009 08:36:00 +0000</pubDate><atom:updated>2009-09-15T10:51:01.059+02:00</atom:updated><title>Blackbird : Javascript logging 2.0</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_AiUu3dyj9Ng/Sq9U6V5enTI/AAAAAAAAAck/mbW91SaBHuc/s1600-h/ODTUG029.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 303px; height: 290px;" src="http://1.bp.blogspot.com/_AiUu3dyj9Ng/Sq9U6V5enTI/AAAAAAAAAck/mbW91SaBHuc/s320/ODTUG029.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5381613441018404146" /&gt;&lt;/a&gt;When debugging your APEX Javascript stuff you probably use Firefox with Firebug. By writing messages to the console, you can follow the flow of your Javascript. Incidentally you use - annoying - alerts in your code to find out where you messed up your code. But recently I stumbled upon BlackBird! With blackbird you can write different types of messages, like info, warning and error messages, to a little console window, that looks a bit like a Twitter client. You can show/hide the window using F2. In this little window you can toggle the type of messages you're interested in. And it works even on IE!&lt;br /&gt;Blackbird consists just of 1 CSS, 1 JS and two image files, so it is very easy to install.&lt;br /&gt;Just a little tip, rename the namespace from 'log' to something like 'bb', to avoid conflicts with the Firebug log.&lt;br /&gt;You can find the code, demo and docs on &lt;a href="http://www.gscottolson.com/blackbirdjs/"&gt;http://www.gscottolson.com/blackbirdjs/&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20567072-7405351835724374015?l=roelhartman.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://roelhartman.blogspot.com/2009/09/blackbird-javascript-logging-20.html</link><author>noreply@blogger.com (Roel)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_AiUu3dyj9Ng/Sq9U6V5enTI/AAAAAAAAAck/mbW91SaBHuc/s72-c/ODTUG029.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-20567072.post-3390019727334149667</guid><pubDate>Thu, 10 Sep 2009 06:56:00 +0000</pubDate><atom:updated>2009-09-10T09:03:50.075+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">OOW</category><title>OOW 2009 Blogger Meetup</title><description>&lt;img src="http://api.ning.com/files/cfbq215cVjSOj-PUK-9Gb5jlpv1viesnL-WtpL59hUDV1oWo1CgUIr2HWGJkri1LIkHxgjL67oGjhsvtcdjk9BGh-uOFjq0g/BMOOW2.jpg?size=180&amp;crop=1:1" align="left" height="100px" hspace="10px"/&gt;All you bloggers out there visiting Oracle Open World this year, let's get together at the traditional annual &lt;a href="http://www.oraclecommunity.net/events/boggers-meetup-oracle-open"&gt;Blogger Meetup&lt;/a&gt;. This time the organizer is &lt;a href="http://www.pythian.com/news/3745/bloggers-meetup-oracle-open-world-2009"&gt;Pythian's Alex Gorbachev&lt;/a&gt;. Thank you Alex!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20567072-3390019727334149667?l=roelhartman.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://roelhartman.blogspot.com/2009/09/oow-2009-blogger-meetup.html</link><author>noreply@blogger.com (Roel)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-20567072.post-1219317860272920308</guid><pubDate>Fri, 04 Sep 2009 09:41:00 +0000</pubDate><atom:updated>2009-09-04T11:43:48.079+02:00</atom:updated><title>Wondering what an Oracle ACE Award looks like?</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_AiUu3dyj9Ng/SqDhNVdH1LI/AAAAAAAAAb0/hO-Wiv2LEHs/s1600-h/Afb006.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 240px; height: 320px;" src="http://3.bp.blogspot.com/_AiUu3dyj9Ng/SqDhNVdH1LI/AAAAAAAAAb0/hO-Wiv2LEHs/s320/Afb006.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5377545574294213810" /&gt;&lt;/a&gt;&lt;br /&gt;I (finally) received the actual award (thanks to Lillian and Justin)!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20567072-1219317860272920308?l=roelhartman.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://roelhartman.blogspot.com/2009/09/wondering-what-oracle-ace-award-looks.html</link><author>noreply@blogger.com (Roel)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_AiUu3dyj9Ng/SqDhNVdH1LI/AAAAAAAAAb0/hO-Wiv2LEHs/s72-c/Afb006.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">8</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-20567072.post-4315565729699952943</guid><pubDate>Mon, 31 Aug 2009 11:41:00 +0000</pubDate><atom:updated>2009-08-31T13:50:29.485+02:00</atom:updated><title>Problems with running Oracle Forms on Firefox?</title><description>As I blogged about two weeks ago, I still get a lot of hits regarding problems when running Oracle Forms with Firefox. From this &lt;a href="http://www.oracle.com/technology/products/forms/htdocs/10gR2/clientsod_forms10gR2.html"&gt;Client Platform Statement of Direction&lt;/a&gt; you can see that Firefox 2.0 (current is 3.5!) is the latest version that is certified in combination with JInitiator and Sun's JVM version 1.6.004 (current is 1.6.015). Not certified doesn't imply that it doesn't work, but from my experience running Oracle Forms with Firefox 3.0/JVM 1.6.005 works without any problems, but Firefox 3.5/JVM 1.6.005 does not!&lt;br /&gt;So be aware of 'automatic updates'...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20567072-4315565729699952943?l=roelhartman.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://roelhartman.blogspot.com/2009/08/problems-with-running-oracle-forms-on.html</link><author>noreply@blogger.com (Roel)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item></channel></rss>
