Skip navigation.

Development

Good Blog Bad Blog

Denes Kubicek - Sat, 2014-12-06 03:29
Just checked if the http://www.odtug.com/apex is available again and it is. It seems the people there are filtering blogs because I don't see my blog post from yesterday appearing there and I don't understand why. Is that just because I said that the old blog listing was much better? Or this is just another technical problem they have? Am I going to be removed from that blog listing forever if I continue saying things which they may not like?
Categories: Development

You shouldn't think this happens only to you

Denes Kubicek - Fri, 2014-12-05 03:17
Since several hours I am getting this while trying to access all blogs at http://www.odtug.com/apex. It seems that this list has a lots of problems listing all the relevant APEX blogs. The previous version from Dimitri was so much better and user friendly.
Categories: Development

The insanity that is Uber - a 100$B company?

FeuerThoughts - Tue, 2014-11-25 20:55
So we've had taxis for years and we know that generally taxi drivers work hard, long hours and make small amounts of money. The cab companies make more, of course, but I don't think there are a whole lot of billionaires in the taxi business.

And now there is Uber. An earlier round of VC $ put its value at $17B. According to Fortune, Uber is now "raising new funding at a valuation of between $35 billion and $40 billion, according to a new report from Bloomberg. This would be one of the richest “venture capital” rounds in history (Facebook still holds the crown), and likely mean that investors expect Uber to eventually go public at a valuation of at least $100 billion."
How are to make any sense of this? Where would all the money come from to make all these investors (and shareholders) rich? 
By cutting out the "middleman" (regulation to ensure safe rides, primarily)? Maybe, but I can't imagine it will generate that much revenue?
By reducing the cost of a ride, compared to a taxi? That's true, apparently, some of the time with Uber, but often it is way MORE expensive - because prices are "market-driven."
By shifting more and more of the costs and risks to the drivers? That's pretty darn likely. Just look at the poor "contractors" who have to pay for their trucks and lease their gear from FedEx. 
By shifting riders from mass transit to Uber (in other greatly expanding the "pie" of pay-per-ride)? Again, that seems unlikely.
What am I missing? How could Uber replace an existing business that brings in nowhere near that much money and suddenly be printing the stuff?
Oh, and that's if they don't self-destruct due to their cavalier, arrogant attitudes and actions of their management.
Categories: Development

Feeling trepidatious? Time to lay very low?

FeuerThoughts - Mon, 2014-11-24 12:34
Sure, "trepidatious" might not be a word, per se.

But I am confident it is something that more than one very famous male actor is feeling right now, as they watch Bill Cosby go down in flames.

As in: seriously and deeply apprehensive about what the future might bring.

There are a few things we can be sure of right now, even if Cosby never faces a judge or jury:

1. Bill Cosby is a nasty piece of work, and very likely (was) a pedophile.

The pattern of behavior, finally brought to light after years of self-censorship by victims and callous disregard by the media and judicial system, is overwhelming and seemingly never-ending. Mr. Cosby is a serial rapist, and he did it by drugging young women, some of them less than 18 years old at the time.

2. Bill Cosby is an actor. 

The roles he played were just that: roles. We are easily fooled into thinking of the people behind the roles as sharing characteristics of their characters, but that's just, well, foolish.

The whole point of being a great actor is that you can act really well. You can pretend to be someone else really convincingly. But they are still someone else and not the "real you."

3. Bill Cosby cannot be the only one.

That's where the trepidation comes in. Seriously, what's the chance that Cosby is the only famous, powerful, rich actor who has a long history of taking advantage of and raping women (and/or men, for that matter)?

There have got to be others, and they've got to be terrified that soon their victims will say "Enough!" and then the next deluge will begin.

So my advice to all those A-listers who are also serial rapists:

Lay low, lay really low. Do not provoke your victims. Do not laugh in their faces.

And then maybe you will be able to retire and fade into the sunset, so that your obituary will not be some variation of:

Funny Guy, Sure, But Also a Rapist
Categories: Development

Modifying the Oracle Alta Skin

Shay Shmeltzer - Wed, 2014-11-19 14:38

In the previous blog entries I showed you how to create an ADF project that uses the new Alta UI and then showed you an example of implementing one of the design patterns for a flip card. In this blog/video I'm going to show you how you can further fine tune the look and feel of your Alta application by modifying and extending your skin with CSS.

At the end of the day, this is going to be done in a similar way to how you skinned previous ADF applications. (If you have never done this before, you might want to watch the videos in these two blog entries).

But since the skinning design time is not completely there for Alta in JDeveloper 12.1.3 there are a couple of tricks. Specifically when you create the new skin, you'll need to change the trinidad-skins.xml file to indicate it is extending the alta-v1 and not skyros-v1  - <extends>alta-v1.desktop</extends>

Then the rest of your tasks would be basically the same (although you won't see the overview tab in your skin editor).

So here we go:

Categories: Development

The Case for migrating your Oracle Forms applications to Formspider

Gerger Consulting - Wed, 2014-11-19 08:37
We’ve been getting a lot of inquiries asking whether we have a tool that will automatically convert Oracle Forms applications to Formspider.We don’t have an automatic converter. We don’t view this as a disadvantage at all. We are solving the modernization problem with a different approach:Formspider does not automatically converts your Forms applications to web apps but it converts your Forms developers to first rate web developers.We think this approach produces the best results and lowest cost in conversion projects. We’ve seen this many times.Formspider is an application development framework just like Oracle Forms and just like Forms its programming language is 100% PL/SQL. (You can think of it as Oracle Forms built for 21st century.) Because Formspider works very similar to Oracle Forms (event driven architecture, Formspider built-ins instead of Forms built-ins etc…) it is an order of magnitude easier to learn for Oracle Forms developers compared to any other tool.A conversion project using Formspider is not a complete rewrite where you start with a blank page. This is absolutely not true. Just to give few examples; All of your existing business logic implemented in PL/SQL can be reused in your new application. And because both Forms and Formspider are event driven and use similar API’s, code that manages the UI can be translated fairly easily. In other words, there is no impedance mismatch between the two products unlike between Forms and (say) ADF, .NET or any other popular web development framework.There are several problems with automatically converting Oracle Forms applications to another tech stack:1) The new target tech stack is not known by your team
I cannot overstate how important this is. You end up with an application that you cannot maintain. Your team, who knows the business, who knows what your customers want, who obviously can deliver a successful application to the users, needs training in the new tech stack. This means they go back to becoming junior developers for quite some time. (Even the most zealous ADF proponents admit to a year or longer learning curve.) This feeling of helplessness is very frustrating for experienced developers who know exactly what they wants to implement. It hurts the team moral and motivation during the project. It’s also very costly because, well, training costs money and the output of the developers lower significantly for months but their salaries do not.2) The output of an automatic converter is usually of low quality
Almost always the target tech stack uses the web page paradigm instead of the event driven architecture of Forms. This impedance mismatch is very very difficult to overcome automatically and the customer ends up with a low quality application design that no engineer would architect by himself. This makes the application very difficult and expensive to maintain.Moreover, if the target tech stack uses an object oriented programming language, this adds another magnitude of complexity because PL/SQL is not object oriented. This is why most automatic conversion projects start with the manual process of moving as much code to the database as possible.3) Automated converters are expensive
Best to my knowledge these converter tools are not cheap at all. These tools come with bundled services (they never get the job done 100% automatically) so you also pay for consulting services on top of the conversion fees.Formspider customers around the World have been upgrading their Forms applications with Formspider successfully for years. The same team who built and maintained the Forms applications builds the application in Formspider. They get excited and motivated because finally they have a tool that they can use to build what they want. They feel empowered instead of helpless. The cost savings we provide might be up to hundreds of thousands of dollars depending on the size of your application. I have seen this over and over again many times:Put Formspider in the hands your Forms developers and they will modernize your Forms applications with the highest return on investment.Yalim K. Gerger
Founder
Categories: Development

Interstellar Madness

FeuerThoughts - Sun, 2014-11-16 09:19
Saw Interstellar last night. Only had to wait through TWENTY MINUTES of trailers. Had to put fingers in my ears for much of it. So loud, so invasive, so manipulative. Anyway....

I don't watch TV anymore, rarely watch a movie or read a novel. So when I do subject myself to high-resolution artificial input to my brain, it is a jarring experience.
And enjoyable. I haven't stopped watching TV because I don't like it. I have stopped watching TV because I can't help but "like" it, be drawn to it. I am a product of millions of years of evolution, and both Madison Ave (marketeers) and Hollywood know it, and take advantage of it.
Anyway....
I enjoyed watching Interstellar, with its time-traveling plot ridiculousnesses and plenty of engaging human drama. 
But one line really ticked me off. The movie is, to a large extent, a propaganda campaign to get Americans excited about being "explorers and pioneers" again. 
Cooper (McConaughey) complains that "Now we're a generation of caretakers." and asserts that:
"Mankind was born on earth. It was never meant to die here."
That is the worst sort of human species-ism. It is a statement of incredible arrogance. And it is an encouragement to humans to continue to despoil this planet, because don't worry! 
Science and technology can and will save us! Right? 'Cause it sure has done the trick so far. We are feeding more people, clothing more people, putting more people in cars and inside homes with air conditioners, getting iPhones in the hands of more and more humans. 
Go, science, go!
And if we can't figure out how to grow food for 10 billion and then 20 billion people, if we totally exhaust this planet trying to keep every human alive and healthy into old age, not to worry! There are lots of other planets out there and, statistically, lots and lots of them should be able to support human life. Just have to find them and, oh, right, get there.
But there's no way to get there without a drastic acceleration of consumption of resources of our own planet. Traveling to space is, shall we say, resource-intensive.
Where and how did we (the self-aware sliver of human organisms) go so wrong? 
I think it goes back to the development of recorded knowledge (writing, essentially or, more broadly, culture). As long as humans were constrained by the ability to transmit information only orally, the damage we could do was relatively limited, though still quite destructive.
Once, however, we could write down what we knew, then we could build upon that knowledge, generation after generation, never losing anything but a sense of responsibility about how best to use that knowledge.
That sense of responsibility might also be termed "wisdom", and unfortunately wisdom is something that humans acquire through experience in the world, not by reading a book or a webpage. 
Mankind was born on earth and there is no reason at all to think that we - the entire species - shouldn't live and die right here on earth. Especially if we recognize that the price to be paid for leaving earth is the destruction of large swaths of earth and our co-inhabitants and....
Being the moral creatures that we like to think we are, we decide that this price is unacceptable.

Categories: Development

Free Version Control Tool for Oracle Database

Gerger Consulting - Sat, 2014-11-15 02:54
Gitora is a free version control tool for PL/SQL. Gitora hooks Git to the Oracle database and helps you manage your PL/SQL code easily.

It helps you perform common version control tasks such as reverting to previous commit point, branching, merging and cloning. Gitora updates the PL/SQL objects in the database automatically when version control tasks are performed eliminating the need to save files to an OS folder manually. It also implements a check-in check out system in the database.

Gitora is development tool agnostic. It works with any development tool such as SQL Developer, TOAD, SQL Navigator and PL/SQL Developer.

There is no need to know Git to use Gitora because it comes with a point and click GUI.

Watch these short videos below to see Gitora in action.





Sign up at http://www.gitora.com to get notified when the product launches.

Please share this news in your social networks and help us spread the word.

Thank you.
Categories: Development

Card Flip Effect with Oracle Alta UI

Shay Shmeltzer - Fri, 2014-11-14 17:00

The Oracle Alta UI focuses on reducing clatter in the user interface. So one of the first thing you'll try and do when creating an Alta UI is decide which information is not that important and can be removed from the page.

But what happens if you still have semi-important information that the user would like to see, but you don't want it to overcrowd the initial page UI? You can put it on the other side of the page - or in the Alta UI approach - create a flip card.

Think of a flip card as an area that switches the shown content to reveal more information - and with ADF's support for animation you can make a flip effect.

In the demo below I show you how to create this flip card effect using the new af:deck and af:transition components in ADF Faces. 

A few other minor things you can see here:

  • Use conditional ELs and viewScope variables - specifically the code I use is 
#{viewScope.box eq 'box2' ? 'box2' : 'box1'} 
  • Add additional field to a collection after you initially drag and dropped it onto a page - using the binding tab
  • Setting up partialSubmit and PartialTriggers for updates to the page without full refresh 

Categories: Development

How to uninstall/remove EM12c Agent

Arun Bavera - Tue, 2014-11-11 15:59
./emctl stop agent

/opt/app/oracle/agent12c/core/12.1.0.3.0/perl/bin/perl /opt/app/oracle/agent12c/core/12.1.0.3.0/sysman/install/AgentDeinstall.pl -agentHome /opt/app/oracle/agent12c

rm -Rf /opt/app/oracle/agent12c

From host where emcli is installed:
emcli delete_target -name="test.example.com:1836" -type="oracle_emd" -delete_monitored_targets –async

Reference:
https://docs.oracle.com/cd/E24628_01/install.121/e24089/deinstall_agent.htm#CBBCEJHG

Check any left out info:
select target_name,target_type from MGMT_TARGETS_DELETE where DELETE_COMPLETE_TIME is null

select target_name,target_type from MGMT_TARGETS_DELETE where target_name like '%spare%' and target_type='oracle_emd'



You can try:

exec mgmt_admin.delete_target('target_name','target_type');


If the agent install fails to register with OEM than try:

     cd /opt/app/oracle/agent12c/agent_inst/bin/
    /opt/app/oracle/agent12c/agent_inst/bin/emctl secure agent
    /opt/app/oracle/agent12c/agent_inst/bin/emctl start agent
    /opt/app/oracle/agent12c/agent_inst/bin/emctl config agent addInternalTargets

   /opt/app/oracle/agent12c/agent_inst/bin/emctl upload
Categories: Development

Value Placeholder

Denes Kubicek - Tue, 2014-11-11 05:46
Did you know that you can use Value Placeholder in your page items to display hints for the users? This is a quite neat feature you can implement without using different plugins for displaying hints. It will also work with the APEX ampersand substitution strings like

&P1_ITEM.

Here is how it looks like. Be carefull with this. It will work only for the browsers supporting HTML5.

Categories: Development

Seeing slow startup of SOA OSB and other Java based application then verify Entropy

Arun Bavera - Mon, 2014-11-10 09:20
We faced slow startup of Domain Creation, slow startup  of Domain and resolved using proper Entropy settings:
You should be able to select the faster-but-slightly-less-secure /dev/urandom on Linux using:
$JAVA_HOME/jre/lib/security/java.security
Default /dev/urandom is configured, but as mentioned this is ignored by Java.
-Djava.security.egd=file:/dev/urandom
However, this doesn’t work with Java 5 and later (Java Bug 6202721). The suggested work-around is to use:
-Djava.security.egd=file:/dev/./urandom(note the extra ‘/./’)
 
You can also set in your environment like below in setDomainEnv.sh
if [ "${USER_MEM_ARGS}" != "" ] ; then
MEM_ARGS="${USER_MEM_ARGS}
export MEM_ARGS
fi
MEM_ARGS="${MEM_ARGS} -Djava.security.egd=file:/dev/./urandom"
 
 
Or at runtime:
export CONFIG_JVM_ARGS="-Djava.security.egd=file:/dev/./urandom"
/u01/app/oracle/product/fmw/wlserver_12.1/common/bin/config.sh
 
References:
http://theheat.dk/blog/?p=1539
http://stackoverflow.com/questions/137212/how-to-solve-performance-problem-with-java-securerandom

















Categories: Development

Getting too much alerts for Database Time Spent Waiting (%) Metric in EM12c ?

Arun Bavera - Thu, 2014-11-06 11:17

 

It is Better to set the Database Time Spent Waiting (%)= 99 in Monitoring Templates , so that any new Database discovered will gets synced with the Template collection and changes the default 30% to 99%.

 

Verify that the DBA_THRESHOLDS in target database is updated.

i.e the below query should return no rows:

SELECT metrics_name, critical_value, warning_value, object_name, status
FROM SYS.DBA_THRESHOLDS
where metrics_name like '%Database Time Spent%';

 

Refer:

How to Disable Alerts for The Database Time Spent Waiting (%) Metric? (Doc ID 1500074.1)

Database Server Generated Metrics Alerts Not Cleared In Grid Console Even After Disabling the Metric (Doc ID 786520.1)

"Database Time Spent Waiting (%)" at 100 for Event Class "Other" when Database is not Under Load (Doc ID 1526552.1)

http://docs.oracle.com/cd/E24628_01/em.121/e25160/oracle_database.htm#EMDBM3180

Categories: Development

Find and Replace in a file

Arun Bavera - Wed, 2014-11-05 14:12

Had to replace all the occurrence of wrong  inventory then use this:

grep -rl 'oraInventory' .  | xargs sed -i 's|'/home/emuser/oraInventory'|'/opt/app/oracle/oraInventory'|g'

Categories: Development

Webinar: Building Secure Apps with PL/SQL and Formspider

Gerger Consulting - Wed, 2014-11-05 00:58
We are hosting a free Formspider webinar on November 25th. Join in and find out how Formspider helps PL/SQL developers build secure web applications.

In the webinar, the following topics will be covered:

- Formspider Security Architecture
- Built-in countermeasures in Formspider for OWASP Top 10 Security Vulnerabilities
- Introduction to Formspider Authentication and Authorization Repository

Sign up now.
Categories: Development

Git for PL/SQL

Gerger Consulting - Tue, 2014-11-04 07:42
Gitora, the free version control system for PL/SQL is launching early December '14. Gitora hooks Git to the Oracle database and helps you manage your PL/SQL code easily. Sign up at http://www.gitora.com to get notified when the product launches.

Please share this news in your social networks and help us spread the word.

Thank you.
Categories: Development

Three Level Master Detail with Formspider and PL/SQL

Gerger Consulting - Tue, 2014-11-04 00:28
TANI, a subsidiary of the Koç Holding, provides value-added integrated marketing solutions for offline, digital and mobile platforms. TANI chose Formspider, the application development tool for PL/SQL developers, to implement the application that manages its core business.

Business Need

TANI wanted to improve the efficiency of their business unit and help them make better decisions. As part of this goal TANI decided to upgrade the current campaign management application which is used to manage the online banner ad  campaigns of their customers.

Specifically TANI’s goals in this upgrade were:

  • Increase the data entry/modification speed in the application
  • Improve the reporting capabilities in the application
  • Improve the application’s UI with a fresh and modern look.


The Challenge

The core campaign information in the database spans three tables which are tied to each other in a master-detail-detail relationship. For any campaign, the data in the master row, the detail rows and the detail-detail rows must be validated, committed or rolled backed in the same logical transaction.

The current application did not support batch validation and commit of the entire campaign and therefore was prone to human errors.

The Solution

Since Formspider has an integrated model layer that supports transactions, building a master-detail-detail screen which enforces data validation over three tables was a breeze. The Formspider application easily validates and commits updates to a campaign in the same logical transaction preventing data entry errors.

The Campaign Edit Screen
The master-detail-detail screen also greatly improved the data entry speed of the application because the user could edit the entire campaign information in one screen.

Reporting capabilities of the application also increased significantly thanks to the Formspider grid and its built-in features such as ordering, hiding and filtering of columns.

The Campaign Search Screen with Enhanced Reporting Capabilities
The new application featured new a brand new look&feel in harmony with TANI’s corporate colors. As with every Formspider application, the new campaign management application is a single page application functioning 100% with AJAX giving it the modern effect TANI desired.
New Fresh Look that matches TANI's Corporate Guidelines
Conclusion

Formspider enabled us to deliver TANI a high quality application that features a master-detail-detail data entry screen with validations spanning multiple tables with a fraction of the cost it would take using other technologies.
The application enabled TANI business units to work more efficiently and helped them make better decisions while serving their customers.  
Categories: Development

Science needs to explain this?

FeuerThoughts - Sun, 2014-11-02 08:57
Christopher Nolan of Dark Knight fame releasing new sci-fi movie: Interstellar.

In a Chicago Tribune interview, he says:
I could be wrong, but science needs to cross a threshold and explain why a monkey typing infinitely would never type the works of Shakespeare.
Well, I could be wrong, but maybe Nolan is a bit of an idiot when it comes to science.
Please, Mr. Nolan, tell me which scientists make this claim?
I guess he read somewhere about infinity and how incredibly awesome and big and never-ending it is, and so eventually anything would be done by anybody or anything and so even monkeys would "eventually" write Shakespeare and and and....
Produce a movie called Interstellar with Matthew McConaughey. 
In fact, maybe Chris Nolan is actually a monkey who crossed over from that obelisk in 2001, and got super smart and so a monkey already has produced a movie called Interstellar.
Damn, that is just so cool and so weird and it's like, that's never going to happen, man, no way.
So scientists had better figure out WHY that is not going to happen when they obviously really believe that it WILL happen (go, monkey, go!).
And to do that, they are going to have a cross a threshold, 'cause clearly science has hit its limit here. Just like with souls. Science can't explain souls, so I guess scientists had better cross over - maybe into a parallel universe -
Because really what could be cooler than parallel universes?



Categories: Development

Developing Your First Oracle Alta UI page with Oracle ADF Faces

Shay Shmeltzer - Mon, 2014-10-27 11:20

At Oracle OpenWorld this year Oracle announced the new Oracle Alta UI - a set of UI guidelines that will help you create better looking and functioning applications. We use these guidelines to build all our modern cloud based applications and products - and you can use it too today if you are on JDeveloper 12.1.3. 

The Alta UI site is at http://bit.ly/oraclealta

Take a look for example at one page from the master details pattern page:

altapage

You might be wondering how do I go about starting to create such an Alta page layout?

Below is a quick video that shows you how to build such a page from scratch.


A few things you'll see during the demo:

  • Basic work with the panelGridLayout - for easier page structure
  • Working with the new tablet first page template 
  • Enabling selection on a listView component
  • Working with the circular status meter
  • The new AFAppNavbarButton style class
  •  Hot-swap usage to reduce page re-runs

One point to raise about this video is that it focuses more on getting the layout and look rather then the Alta way of designing an application flow and content. In a more complete Alta mind-set you'll also figure out things like fields that probably don't need to be shown (such as the employee_id), you'll think more about "why is the user on this page and what will he want to do here?" which might mean you'll add things like a way to see all the employees in a department in a hierarchy viewer rather than a form that scroll a record at a time.  There are more things you can do to this page to get even better functionality, but on those in future blog entries... 

Categories: Development