Skip navigation.

Development

Creating FMW12c Domain using EM12c User Defined Deployment Procedure

Arun Bavera - 9 hours 33 min ago
1. Installing Software example: Install JDK, INFRA, OSB, RCU Creation in 5 minutes, 58 secondsimage

2. Second example: creating BAM12c 2 node cluster in 9 minutes,  Create RCU, Create domain, Extend Domain, startNodemanger, start admin, start Nodemanager on Mgrserver, startall ManagedServers
image
2 Nodes, BAM Cluster
Categories: Development

APEX Connect 8th and 9th of June 2015 in Duesseldorf Germany

Denes Kubicek - Tue, 2014-10-21 03:34
APEX Connect is the first big APEX event in Germany and will be taking place in Duesseldorf on 8th and 9th of June 2015. You can still apply for a presentation using this link. I will be there with a presentation on APEX Plugins. As far as I know a couple of international guests are expected to be there as well. This event will for sure be interesting and informative so you should think about participating. Düsseldorf is close to Belgium and Holland so I think that we will have quite a lot of visitors from those counties as well. It just comes to my mind that the presentation should be in English. So, you should make sure to book your ticket, hotel and travel in time.

Categories: Development

MS Sharepoint and Oracle APEX integration

Dimitri Gielis - Thu, 2014-10-16 15:11
At Oracle Open World I gave a presentation about the integration of Microsoft Sharepoint and Oracle Application Express (APEX).

I see a lot of companies using Microsoft Sharepoint as portal for their intranet. For many people it’s the first place they go to when they start their day. But to do their job they make also use of other applications, some which are build in Oracle Application Express (APEX). This presentation will show the different options you have to integrate both worlds of Sharepoint and APEX.

The integration can be both ways;
  • in Sharepoint you get data or screens from APEX 
  • in APEX you want to use data (or a screen) maintained and coming from Sharepoint. 


In the next weeks I'll add some more detailed blog posts, things I told during the presentation... for example how to setup your own MS Sharepoint environment.
Categories: Development

Just a couple of screenshots of sqlplus+rlwrap+cygwin+console

XTended Oracle SQL - Thu, 2014-10-16 14:06

I previously wrote that I peeped the idea about showing the session information in terminal title from Timur Akhmadeev’s screenshots, and Timur wrote:

I’m using (a bit modified) Tanel Poder’s login.sql available in his TPT scripts library: http://tech.e2sn.com/oracle-scripts-and-tools

Scripts:
Tanel’s i.sql
My title.sql and on_login.sql

Colored prompt is the one of many features of rlwrap.

Screenshots:
Connected as simple user:
baikal-xtender
Connected as sysdba:
xtsql-sysdba

SQL*Plus on OEL through putty:
putty-to-oel-sqlplus

@inc/title “*** Test ***”
inc-title-test

Categories: Development

APEX 5.0 New Features - Terminverschiebung

Denes Kubicek - Fri, 2014-10-10 07:00
leider müssen wir den Termin für den bei uns gebuchten Kurs "Oracle APEX 5.0: New Features" (Termin: 08/09.12.2014) auf den Februar 2015 (09.02/10.02) aus gegebenem Anlass verschieben.

Wie Sie/Ihr bereits bestimmt erfahren haben, wird sich das Release von Oracle APEX 5.0 etwas verschieben: https://blogs.oracle.com/apexcommunity_deutsch/de/entry/openworld_update_application_express.

Sie können sich hier zum Kurs anmelden.
Categories: Development

Little script for finding tables for which dynamic sampling was used

XTended Oracle SQL - Tue, 2014-10-07 14:42

You can always download latest version here: http://github.com/xtender/xt_scripts/blob/master/dynamic_sampling_used_for.sql
Current source code:

col owner         for a30;
col tab_name      for a30;
col top_sql_id    for a13;
col temporary     for a9;
col last_analyzed for a30;
col partitioned   for a11;
col nested        for a6;
col IOT_TYPE      for a15;
with tabs as (
      select 
         to_char(regexp_substr(sql_fulltext,'FROM "([^"]+)"."([^"]+)"',1,1,null,1))  owner
        ,to_char(regexp_substr(sql_fulltext,'FROM "([^"]+)"."([^"]+)"',1,1,null,2))  tab_name
        ,count(*)                                                                    cnt
        ,sum(executions)                                                             execs
        ,round(sum(elapsed_time/1e6),3)                                              elapsed
        ,max(sql_id) keep(dense_rank first order by elapsed_time desc)               top_sql_id
      from v$sqlarea a
      where a.sql_text like 'SELECT /* OPT_DYN_SAMP */%'
      group by
         to_char(regexp_substr(sql_fulltext,'FROM "([^"]+)"."([^"]+)"',1,1,null,1))
        ,to_char(regexp_substr(sql_fulltext,'FROM "([^"]+)"."([^"]+)"',1,1,null,2))
)
select tabs.* 
      ,t.temporary
      ,t.last_analyzed
      ,t.partitioned
      ,t.nested
      ,t.IOT_TYPE
from tabs
    ,dba_tables t
where 
     tabs.owner    = t.owner(+)
 and tabs.tab_name = t.table_name(+)
order by elapsed desc
/
col owner         clear;
col tab_name      clear;
col top_sql_id    clear;
col temporary     clear;
col last_analyzed clear;
col partitioned   clear;
col nested        clear;
col IOT_TYPE      clear;

ps. Or if you want to find queries that used dynamic sampling, you can use query like that:

select s.*
from v$sql s
where 
  s.sql_id in (select p.sql_id 
               from v$sql_plan p
               where p.id=1
                 and p.other_xml like '%dynamic_sampling%'
              )
Categories: Development

What I like best about myself

FeuerThoughts - Sun, 2014-10-05 08:23
What could be more self-centered?

Why should anyone else in the world care what I like best about myself?
I have no idea. That is for sure. But, hey, what can I say? This is the world we live in (I mean: the artificial environment humans have created, mainly to avoid actually living in and on our amazing world).
It is an age of, ahem, sharing. And, ahem, advertising. Actually, first and foremost, advertising.
Anyway, screw all that. Here's what I like best about myself:
I love to be with kids. And I am, to put it stupidly but perhaps clearly, a kid whisperer.
Given the choice between spending time with an adult or spending time with a child, there is no contest. None at all. It's a bit of a compulsion, I suppose, but....
If there is a child in the room, I pay them all of my attention, I cannot stop myself from doing this. It just happens. Adults, for the most part, disappear. I engage with a child as a peer, another whole human. And usually children respond to me instantly and with great enthusiasm. 
Chances are, if your child is between, say, three months old to five years, we will be fast friends within minutes. Your cranky baby might fall asleep in my arms, as I sing Moonshadow to her or whisper nonsense words in her ear. Your shy three-year old son might find himself talking excitedly about a snake he saw on a trail that day (he hadn't mentioned it to you). Your teenage daughter might be telling me about playing games on her phone and how she doesn't think her dad realizes how much she is doing it.
I have the most amazing discussions with children. And though I bet this will sound strange to you: some of my favorite and memorable conversations have been with five month old babies. How is this possible, you might wonder. They can't even talk. Well, you can find ouit. Just try this at home with your baby:
Hold her about a foot away from your face, cradled in your arms. Look deeply and fully into her eyes. Smile deeply. And then say something along these lines, moving your mouth slowly: "Ooooh. Aaaaah. Maaaaa. Paaaaa." And then she will (sometimes) answer back, eyes never leaving yours....and you have a conversation. Your very first game of verbal Ping Pong. 
I suppose I could try to explain the feeling of pure happiness I experience at moments like this. I don't think, though, that written language is good for stuff like that. It's better for recording knowledge needed to destroy more and more of our planet to make humans comfortable.
And with my granddaughter, oh, don't even get me started. Sometimes I will be talking to her, our heads close together, and realize her face has gone into this kind of open, relaxed state in which she is rapt, almost in a trance, absorbing everything I am saying, the sound of my voice, my mouth moving. Just taking it all in. You'd better believe that I put some thought into what I am saying to this incredibly smart and observant "big girl." (who turns three in three weeks)
Here's another "try this at home" with your three year old (or two or four): talk about shadows. Where do they come from/ How do they relate to your body? Why does their shape change as the day goes on? Loey and I have had fun with shadows several times.
I have always been this way. I have no idea why. I have this funny feeling that it might actually be at least in some small way the result of a genetic mutation. I have a nephew who resembles me in several different, seemingly unconnected ways, including this love of and deep affinity for children.
I don't think that many people understand what I am doing when I spend time with children. I am called a "doting" grandfather. It offends me, though I certainly understand that no offense was intended.
I don't dote on Loey. Instead,I  seek out every opportunity to share my wonder of our world and life with her, help her understand and live in the world as effectively as possible. What this has meant lately is that I talk with her a lot about trees, how much I love them, how amazing they are. 
One day at the park, as we walked past the entrance to the playground, I noticed a very small oak sapling - in essence, a baby oak tree.
When we got inside the park, there was a mature oak towering over our stroller. I asked Loey if she wanted to see a baby tree. She said yes, so I picked her up to get close to the mature oak's leaf. I showed her the shape of the leaf, and the big tree to which it was attached.
Then I took her outside and we looked at the sapling. I showed her how the leaves on this tiny baby tree were the same, shape and size, as those on the big tree. That's how we knew it was a baby of that big tree. And it certainly was interesting that the leaves would be the same size on the tiny sapling. Held her attention throughout. That was deeply satisfying.
Mostly what I do is look children directly in the eyes, give them my full attention, smile with great joy at seeing them. Babies are deeply hard-wired to read faces. They can see in the wrinkles around my widened eyes and the smile that is stretching across my face that I love them, accept them fully. And with that more or less physical connection established, they seem to relax, melt, soften with trust. They know they can trust me, and they are absolutely correct. 
In that moment, I would do anything for them.
This wisdom (that's how I see it) to accept the primacy of our young, my willingness to appear to adults as absolutely foolish, but to a child appear as a bright light, making them glow right back at me:
That is what I like best about me. 
Categories: Development

An OOW Summary from the ADF and MAF perspective

Shay Shmeltzer - Fri, 2014-10-03 12:39

Another Oracle OpenWorld is behind us, and it was certainly a busy one for us. In case you didn't have a chance to attend, or follow the twitter frenzy during the week, here are the key take aways that you should be aware of if you are developing with either Oracle ADF or Oracle MAF.

 Oracle Alta UI

We released our design patterns for building modern applications for multiple channels. This include a new skin and many samples that show you how to create the type of UIs that we are now using for our modern cloud based interfaces.

All the resources are at http://bit.ly/oraclealta

The nice thing is that you can start using it today in both Oracle ADF Faces and Oracle MAF - just switch the skin to get the basic color scheme. Instructions here.

Note however that Alta is much more than just a color change, if you really want an Alta type UI you need to start designing your UI differently - take a look at some of the screen samples or our demo application for ideas.

Cloud Based Development

A few weeks before OOW we released our Developer Cloud Service in production, and our booth and sessions showing this were quite popular. For those who are not familiar, the Developer Cloud Service, gives you a hosted environment for managing your code life cycle (git version management, Hudson continuos integration, and easy cloud deployment), and it also gives you a way to track your requirements, and manage team work.

While this would be relevant to any Java developing team, for ADF developers there are specific templates in place to make things even easier.

You can get to experience this in a trial mode by getting a trial Java service account here.

Another developer oriented cloud service that got a lot of focus this year was on the upcoming Oracle Mobile Cloud Service - which includes everything your team will need in order to build mobile backends (APIs, Connectors, Notification, Storage and more). We ran multiple hands-on labs and sessions covering this, and it was featured in many keynotes too.

 In the Application development tools general session we also announced that in the future we'll provide a capability called Oracle Mobile Application Accelerator (which we call Oracle MAX for short) which will allow power users to build on device mobile applications easily through a web interface. The applications will leverage MAF as the framework, and as a MAF developer you'll be able to provide additional templates, components and functionality for those.

Another capability we showed in the same session was a cloud based development environment that we are planning to add to both the Developer Cloud Service and the Mobile Cloud Service - for developers to be able to code in the cloud with the usual functions that you would expect from a modern code editor.

dcs

The Developer Community is Alive and Kicking

The ADF and MAF sessions were quite full this year, and additional community activities were successful as well. Starting with a set of ADF/MAF session by users on the Sunday courtesy of ODTUG and the ADF EMG. In one of the sessions there members of the community announced a new ADF data control for XML. Check out the work they did!

ODTUG also hosted a nice meet up for ADF/MAF developers, and announced their upcoming mobile conference in December. They also have their upcoming KScope15 summer conference that is looking for your abstract right now!

Coding Competition

Want to earn some money on the side? Check out the Oracle MAF Developer Challenge - build a mobile app and you can earn prizes that range from $6,000 to $1,000.

Sessions

With so many events taking place it sometime hard to hit all the sessions that you are interested in. And while the best experience is to be in the room, you might get some mileage from just looking at the slides. You can find the slides for many sessions in the session catalog here. And a list of the ADF/MAF sessions here.

See you next year. 

Categories: Development

Free Formspider Webinar (an APEX Alternative)

Gerger Consulting - Thu, 2014-10-02 04:11
We'd like to invite you to our free Formspider webinar on October 7th. In the webinar, you'll get a chance to find out how Formspider can help you build great web applications with PL/SQL and why we think Formspider is better than APEX.

More importantly, current Formspider customers will join the webinar and talk about their experience with the product.

The webinar is free but space is limited. Sign up now.
Categories: Development

APEX 4.2.6 patch available

Dimitri Gielis - Fri, 2014-09-26 15:01
Oracle released APEX 4.2.6 yesterday, it's also available from My Oracle Support as a patch set 19595896.

Here's the table of bug fixes.

Table 6 Bugs Fixed in the Oracle Application Express 4.2.6.00.03 Patch SetBug NumberDescription18393429Importing pre-4.2 application with data loading results in runtime error18609856APEX_WEB_SERVICE.CLOBBASE642BLOB converts incorrectly18658967Corrupted HTML mail messages are created from APEX_MAIL.SEND18719750ORA-01858 during application import18733989Errors picking up session with cookie when TOP CALL is not FSHOW, or ACCEPT19021052Oracle Application Express 4.2.4 throwing error while generating check boxes19313700Check box fails with ORA-06502 after upgrade from release 4.0 to 4.2.419482775ORA-06502 when importing application containing translations
Applying the patch took less than 7 minutes.


This is probably the latest patch before APEX 5.0 hits the road...

Categories: Development

What I felt sad about last night

FeuerThoughts - Mon, 2014-09-22 06:16
A few weeks ago, I moved my office into the basement. That was a big change. That room upstairs, with big windows looking out onto Pratt Ave was where I'd spent almost all of my professional career (we moved to the house in 1992, three months before leaving Oracle for a consulting gig), wrote my books (including the first, Oracle PL/SQL Programming, that changed the course of my life), built the software (Xray Vision for SQL Forms 3, QNXO, Qute, PL/Vision, Code Tester for Oracle, Quest CodeGen Utility, etc.), did the webinars, wrote 1000+ quizzes for the PL/SQL Challenge.

But you know what? Bye, bye, no big deal. Change is good (like this change: Veva and I are taking ballroom dancing classes. I will learn what to do with my feet when I dance!).

I like my cave, I mean, office. It's spacious, and I can make as much noise as I want. Which is very important, since I will be churning out lots of really noisy videos about PL/SQL and my latest dance moves. 
I'm getting my artwork up on the walls:

My father did the painting on the bottom left. It has a lot of power and feeling. My dry cleaner created the beautiful painting on top.
I re-established my sand table with beautiful pieces by Terry Hogan, and many other shells and coral from the sea:

And I put some of my awards and other mementos up on shelves that used to hold a small library of science fiction/fantasy books:


So, yes, settling in to my new office. And last night I started nailing up corkboard tiles to the thick wood paneling, so I could pin up photos of my granddaughter, Loey. Oh, I suppose other people, too. But Loey mainly, because she is the light of my life, and oh my she is a bright light.

In any case, as I hammered the tiny nails needed to hold up the corkboard, I became aware that I felt kind of down, as if the day had not gone well. Why would I be feeling that way? It had been a good day. And then I (the conscious part of me) realized that the non-conscious part of me was feeling bad about having broken a branch in the woods earlier in the day.
That sounds kind of weird, right? I mean, seriously, how bad are humans supposed to feel about breaking the branch of a tree? It's not like they'd notice, right?
But it made perfect sense to me, so I decided to share with you why a broken branch would set my brain to brooding, thereby giving you a sense of how I see the world these days.
As to why anyone should care what I think of the world, well, I leave that entirely up to the reader. No readers, then no one cares. :-) 
As soon as the thought (brooding about broken branch) broke into my consciousness, I immediately knew it was true (that happens to you, too, right? You can instantly sense that a thought is correct. Now try thinking about what is going on in your brain for this to happen and how much of your brain is the "I" that is you). 
You see, I had earlier been thinking back over to when I was in the woods this morning cutting down buckthorn. At one point a rather large tree came down hard against a nearby native tree I was working to rescue. 
To my great dismay, one of its branches was caught by the twisty, grabby buckthorn. It snapped and hung loosely. I did that. That was probably two years' new growth, hard work against buckthorn. And I killed it. 
That bummed me out (and still does), but I reminded myself that I have to accept that even when I move carefully and always safely, I cannot always control where a large tree will fall. I will make mistakes and there will be setbacks. But I just have to keep going.
"Going where?" you might ask. I have developed a new, very strong compulsion: to rescue trees. To do what I can with my own hands, with my own time, with, in other words, a solid chunk of my life, to heal some of the damage we humans inflict on our co-inhabitants and the planet itself.
I think about it as direct and positive action, a principle I attempt to follow in all aspects of my life these days.
Here in Chicago, buckthorn - an invasive import from northern Europe - grows aggressively, crowding out the native trees. In particular, they don't allow young trees, the saplings, the next generation of the natives, to survive. And as the buckthorn grows taller,  it also kills off the lower branches of the mature trees. 
Buckthorn is really an impressive, powerful, successful species. I admire it greatly - and I cut down on the order of 200 buckthorn trees a week (many of them quite small, but not all). Contradiction? Not at all. A necessary corrective action to human abuse of our world. We travel about, carrying with us the seeds (and ballast and larvae) of destruction for many ecosystems.
I do not want to lose our native trees (and even the non-invasive imports). I want my children and grandchildren to enjoy forests. I want to respect trees, since we could never have evolved to what we are today without trees. And even today the forests of the world are absolutely critical to the functioning of the global ecosystem(s).
I want to treat trees with respect and do penance for our cutting down 95% of the trees in the continental US. So I go out and rescue trees. It is now my only form of exercise and it keeps me in great shape - especially for picking up, carrying and playing with Loey. She loves for me to hang her upside down by her ankles and swing her like a pendulum. She trusts me implicitly. I love that.
Sorry, you must be wondering: what is the point of all this? 
To give me an opportunity to marvel at the current state of my life, in which I have quite an intimate relationship with trees. I study them, I read them. Really, it's quite amazing. I can go into the woods now, look at how a native tree's branch has withered, identify the buckthorn that is doing the damage, and actually play it out in my mind's eye: years of slow growth, of slow-motion battle, and of losing it to the buckthorn. Everywhere I look, I find the trees telling their stories.
My greatest joy is to uncover a small sapling that was so completely surrounded and covered by buckthorn I didn't even see it there when I started cutting. Then I open it to the sun and the wind. I did this with a lovely 15 foot tall maple sapling last week. I will be visiting it (and hundreds of other trees) each year now, making sure the buckthorn (and grapevine) leaves it alone, allowing it to grow to a big, thick, incredibly strong and life-giving tree.
There, right there, that's what I marvel at: I know that the 10+ hours I spend each week in the woods rescuing trees will mean that 20 years from now there will be trees with a diameter of a foot or more that simply would not be there if it hadn't been for my effort and my attention paid to something other than human stuff.
That makes me feel happy and less guilty about my consumption (and indirect killing of many, many trees). It gives me a purpose in life, besides family and work.
I plan to rescue trees for as long as my body is able to do the work.
Anyone care to join me?




Categories: Development

3 film non-meme

Greg Pavlik - Sun, 2014-09-21 15:09
Riffing off previous post - was discussing with my wife last evening what we thought the three best "recent" films we had seen were. Here's my list:

1) Jia Zhangke's A Touch of Sin.

Reason: this is a powerful, powerful film that explores the effects of radical individualism, and economic inequality and of the overturning of normal, local, rooted communities. Banned by the Chinese government, it is as much a critique of the values of neoliberalism globally as it is of the current Chinese economic experiment.

2) Alejandro González Iñárritu's Biutiful.

Reason: a moving exploration of responsibility and ethics in the face of poverty, hopelessness and impending death. What do we make of the human spirit and our obligations to each other - and our obligations in the face of The Other?  Javier Bardem was birthed for this role - fantastic acting.

3) Pavel Lungin's The Island.

Reason: who is guilty before whom and for what? Take a director of Jewish background, give him a story that is loosely inspired by a hagiography of the fool-for-Christ Feofil of the Kieven Caves, and cast a retired-rock-star-current-recluse (Pyotr Mamonov) as a Orthodox monastic in the far north of Russia, and I would have quite low expectations for the outcome. What Lungin produced is instead not only his best film but I think one of the best films of the last 20 years.

This is not my kingdom

FeuerThoughts - Sun, 2014-09-21 14:27
I don't know most people in Chicago on an individual basis, but of all the people I don't know, my favorite Chicagoans are scavengers. They roam the alleys in beat up pickup trucks, with various kinds of makeshift walls extended above the bed.
They grab anything made of metal and anything with the possibility of value. They reduce the amount of garbage going to landfills and I thank them very much for doing this.
Driving the other day, passed one such truck with a hand-lettered sign nailed to the wooden side wall. It said:
This is not my kingdom.Just passing through.

Categories: Development

Top 10 Book Meme

Greg Pavlik - Tue, 2014-09-16 10:48
What books have most impacted me? I picked books I have returned to over and over. Yes, I know this is solipsistic to publish, but its a fascinating thing to think through. I'm sure the list will not look right in a few months anyway. But here I go...
1 The Brothers Karamazov, Fyodor Dostoyevsky
Reason: the best book ever written. Duh.

2 Iob, LXX
Reason: bad things happen to good people, quite often.

3 I Am a Cat, Natsume Soseki
Reason: comedy is good for the soul. This is the funniest book I've ever read.

4 The Symposium, Plato
Reason: love. And I'm an only partially reconstructed platonist.

5 Demons, Fyodor Dostoyevsky
Reason: explains a big part of the 20th century. Makes 1984 look like crude propaganda.

6 Also Spracht Zarathustra, Friedrich NietzscheReason: Nietszche saw the enormity of the modern project clearly.

7 Life of Moses, Gregory of NyssaReason: before structuralism, post structuralism, semiotics, and deconstruction, there was Gregory of Nyssa. And apokatastasis.
8 For the Time Being, WH AudenReason: aside from the fact that Auden is the best English language poet, this is a deeply moving meditation on Christmas in the anglophone experience. Read it several times each winter.

9 The Divine Comedy, Dante AlighieriReason: great art meets allegory meets beauty. Honestly, stuck with only one book this might be it.
10 Faust, Johann Wolfgang von Goethe Reason: we are all compromised to one degree or another.

SSH Tunnel in SQL Dev 4.0.3

Dimitri Gielis - Tue, 2014-09-16 06:03
Oracle SQL Developer and Oracle SQL Developer Data Modeler got a new version (4.0.3).

You can now setup an SSH tunnel in your connection - it saves you to setup a tunnel first.



This new release also feels a lot faster to me.
Categories: Development

XML Parsing Error: no element found Location: ...

Denes Kubicek - Tue, 2014-09-16 00:07
I am just working on an application which is supposed to be exposed to public users. I created a simple ajax process there which gets a value of an application element and does something based on the value. While calling the on demand process I am getting this error while not authenticated:

XML Parsing Error: no element found Location: moz-nullprincipal:{6492ed13-2b81-4989-938c-7c19121f419a} Line Number 1, Column 1:



After searching for this error in combination with APEX I found my old thread from 2012 which basically wasn't answered:

https://community.oracle.com/thread/2444115?start=0&tstart=0

After investigating what is happening there I noticed that the on demand process I created is set to "must not be public user" in the authorization section. Obviously APEX does that by default for the on demand processes. Running the ajax call would not find the "element" which is the actual process.

Categories: Development

Eli and the Runaway Diaper now available!

FeuerThoughts - Sun, 2014-09-14 09:12

In 2013, the big sensation in (my) children's publishing was the release of Vivian Vulture and the Cleanup Culture.

In 2014, the honor goes to Eli and the Runaway Diaper.
It's a book about a diaper that gets tired of the day in day out grind of covering Eli's bottom (the names have been changed to protect the innocent). It decides that it's time to look around for a new and hopefully better (more appreciative) bottom.

Eli is initially dismayed, but happy to join the diaper on its quest, so off they go on a grand adventure!

Illustrated by Robert Melegari, it's a fun, light-hearted journey to self-discovery and self-improvement.

You can order it on Amazon,  Createspace, and so on. But if you order it from me, I will sign it and ship it off to you, all for the list price of $12.99.
Categories: Development

Mein APEX Vortrag bei Orbit in Bonn

Denes Kubicek - Sat, 2014-09-13 01:05
Am 05.11.2014 halte ich einen Vortrag über Rapid Application Development bei Orbit in Bonn. Dabei wird auch noch mein Freund und Kollege Tobias Arnhold sein. Er wird über die Themen Plugins und Reporting sprechen. Anschließend zeigt Frank Weyher (der ebenso ein guter Kollege und Freund ist :)), wie man APEX mit Office integrieren kann.

Die Themen sind sicherlich interessant und eine Anmeldung lohnt sich sicherlich. Der Link zu der Veranstaltung finden Sie hier.

Categories: Development

APEX 5.0: Bye bye Tabs, welcome to Navigation Lists

Dimitri Gielis - Thu, 2014-09-11 02:22
In previous versions of Oracle APEX (< 5.0) you could use Tabs for the navigation in your application.


Tabs were not that flexible, they were typical on top of your page in a specific look and feel. Since APEX 4.x I started to dismiss using Tabs in most of the cases, instead I would use a List with the "Page Tabs" template if people wanted that look and feel.

APEX 5.0 introduces the concept of a "Navigation List" that replaces the tabs. It's the same mechanism as before (a normal List which you find in Shared Components), but you can define in your User Interface which list to use as your Navigation List.

Go to Shared Components > User Interface Attributes:


Next in the User Interface section, click on Desktop (or the User Interface you want to adapt):


In the Attributes section you can define the List you want to use as "Navigation List"


Behind the scenes the Navigation List is put on the screen where the #NAVIGATION_LIST# token is specified in your Page Template.

The Navigation List is another example where APEX 5.0 makes common behaviour of developers more declarative and embedded in the product.
Categories: Development

APEX - Default Branch on Submit

Denes Kubicek - Wed, 2014-09-10 06:55
Yesterday I spent two hours on debugging one of my applications and searching for an answer. Of course, the problem was caused by myself. Here is what happened:

I copied a page and deleted the region including buttons and items using the Cascade to Delete Buttons option.



Then I created a form and had there a process on submit to upload files in my table. Everything was working fine except the fact that after the process the page would show up empty having the funny

wwv_flow.accept

message.



Looking at the page I couldn't see anything what would point to the actual problem. The process was there and it was running and the branch was there. Only after a while I looked into the branching and saw there that it was conditional - firing when the deleted button was pressed.



Then it came to my mind that this wasn't the first time I had this problem. I think this is a bug and it has to do with the file browse item. I expected the page to redirect after submit since this feature is there since 4.0. However, it didn't. This issue seems to be fixed in 5.0.

And one more thing to add: It does make sense to create conditional branches but it doesn't make sense to create unconditional ones. The feature of creating unconditional branches to the actual page, where the branch resides, should be removed completely.

You can see it in "action" here
Categories: Development