Tuesday, February 11, 2014

The evolution of APEX Evangelists

Every year we at APEX Evangelists come together to discuss the past and the future of the company.
In the past 7 years a lot has changed; the APEX market changed, the community changed, we personally changed, ...

We really like APEX, we are all passionate about it, we love to have technical discussions with each other and come together to share our thoughts, but we also like our independence and make our own trade-offs company wise.
So we decided to go a different route with "APEX Evangelists". And that’s why we’re now in the midst of transforming APEX Evangelists from a company to a network.
A network of APEX experts. A network without any financial incentive behind it. A network of independent people that are passionate about APEX. A network of recognised experts in the Oracle community. A network with members that can rely on each other and trust each other.


You can also become part of this network, but only by invitation and acceptance by the other members.
We love to compare us with the Oaktable network, which is a network of experts for the Oracle database. We hope that "APEX Evangelists network" will be the same for Oracle Application Express.
The first addition to the APEX Evangelists network is Martin Giffy D’Souza and we hope to grow the network further in the next months.

The new website of APEX Evangelists is live which reflects the network now, you find it at http://www.apex-evangelists.com

If you're wondering what else the future will bring for me, check out APEX R&D, the company I'll move forward with.

Friday, February 07, 2014

APEX 5.0 (EA): CSS Calendar

APEX 5.0 allows you to create a new Calendar type, called CSS Calendar.

The CSS Calendar is based on Full Calendar 1.6.4, at the moment of writing, the current latest production release. The creator of this JQuery plugin, Adam Shaw, is currently working on version 2. A few days ago he released beta 2. It remains to be seen which version of Full Calendar will make it in the final release of APEX 5.0.

Following the wizard in APEX allows us to add a Source for the calendar.
You can just enter a SQL query here.


In the next step you define which column contains your start date, the end date etc.


There are some nice features that come with Full Calendar, for example the integration with Google Calendar and JSON (APEX WebService URL). Another interesting feature is the export to different formats like iCal and CSV.

Finally running the page shows you the new CSS Calendar. You can change the color scheme of the calendar by changing the css.


This CSS calendar is also responsive... when you make your screen smaller the calendar automatically switches to the Week view.


The only thing that's missing with this calendar is a year view... there are people who created extensions for example here and here to offer the year view. Hopefully version 2 of FullCalendar will add the year view native. Wonder if the final release of APEX 5.0 will include the year view too...

APEX 5.0 (EA): Feedback Page

One of the first things I do when creating a new application is enabling the feedback mechanism in combination with Team Development.

Click the Create Page button in Application Builder and select "Feedback Page":


The next step looks like this:


The Page Mode can now be set to Modal, so instead of a popup it will render as a modal.

Note that in the EA1 version there are some known issues with the Feedback Page, which will be resolved in one of the next iterations of EA.

One issue made me think that once I upgraded my applications to APEX 5.0 I probably want to start searching for "apex.navigation.popup.url" and change those to become the native APEX 5.0 modal windows. It's those "small" things like declarative modal windows which make a big difference in development effort and clean code. But more on modal windows in a dedicated post.

I love the Feedback mechanism and how it integrates with Team Development, but if it had one more feature, I would be thrilled. It's great to know session state, it's great people can add a comment, but sometimes a picture shows more than a 1000 words. So if we could click a button that took a screen capture and we could annotate that... wouldn't that be awesome? The result would be an image with the feedback in Team Development.

Some of us in the community build some custom solutions to do that. For example Martin and I "hacked something together" for the OSN-competition at OOW which did the screen capture and annotation, but having such a feature native in APEX and integrated with Team Development would be even better :)

Wednesday, February 05, 2014

APEX 5.0 (EA): Creating a new application

Lets see how creating a new Database application works in APEX 5.0 and what was changed compared to APEX 4.2.

In the Application Builder you start by hitting the Create button.


There are a couple of improvements here:

  • You'll see APEX 5.0 includes a complete new set of icons which are flat and fresh and immediately give you an insight what the button is doing. This is throughout the entire release.
  • The icons are now driven by base64 encoded strings in css which is more performant than to call every icon as a separate image (what happened prior APEX 5.0).
  • There's a direct link to create a Mobile application

Next we will define the name and id of our application


The improvements here lay in:

  • The cleanup of the screen; some options are now moved to an advanced attributes section
  • You select the theme already at this stage instead of waiting till the end
  • The default theme is now "Blue Responsive (Navigation List)", which makes a lot of sense as its inline with the industry standards to make responsive applications. The "Navigation List" replaces the "Tabs" of before. Personally I already used Lists to do the navigation in 99% of the cases in APEX 4.x, as they are way more flexible than Tabs, and if you want you can give the List the look and feel of a Tab anyway.
  • New is the "Theme Style" which has currently two options: Default and Red. So the themes in APEX 5.0 will be easier to change based on a style. The main HTML in the templates stays the same, but with a different css you get another look and feel.

Moving on in the wizard gives the possibilities to add pages to the application.


Improvements lay in:

  • The look and feel
  • More intuitive icon in front of the page to edit the page (see next screenshot). In APEX 4.x you could edit the page to by clicking on the name of the page. That gave a popup window, where in APEX 5.0 it's implemented as a modal window. This is a good showcase of the new Modal window feature of APEX 5.0 which you can define declarative now (more on that in another post).


The final screen gives an overview of the application and what APEX will create.


As you can see, already in the creation of a database application in APEX 5.0 many new features and small enhancements are included.

Tuesday, February 04, 2014

APEX 5.0 (EA): Overview

Now that APEX 5.0 EA is out, it's time to do a deep dive in the new features of this early adopter (EA) release.

Overall this new version of Oracle Application Express tries to put even more power and speed in the development. The UI is made simpler and cleaner with a fresher look and feel.
Not every part of APEX got an overhaul in EA1, it remains to be seen if in EA2 more pages are updated.

I'll update this post with links to the more detailed blog posts of the specific parts.




So stay tuned... this post is the index for the next series of APEX 5.0 (EA) posts.

Friday, January 31, 2014

APEX 5.0 (EA) Page Designer video's

APEX 5.0 early adopter is about to be released in the public.

Requesting a workspace is not working yet at the time of writing this post, but I expect it can be opened every moment now.

APEX 5.0 carries many new features, one of the biggest is the new Page Designer which should increase developer productivity even more. David Peake recorded some videos, here's the APEX 5.0 Page Designer Overview:



You find more detailed videos for the specific sections of the APEX 5.0 Page Designer on YouTube:

Congrats to the Oracle APEX development team for delivering APEX 5.0! It looks awesome.

Increase post back size in Glassfish

I created a small mobile APEX app for my football team where they can upload pictures to the app.


Sometimes saving the picture worked, sometimes it didn't. If it didn't work I hit the following error: "Post too large". It turned out that my Max Post Size in Configurations - server-config - Network Config - Network Listeners - http-listener-1 under HTTP was set too small.


After increasing it worked like a charm.

Saturday, January 11, 2014

Start learning a new Oracle technology

I found it very interesting to read Tom Kyte's New Year resolutions for 2014.

"Learn something new about Oracle almost every day"

"Learn a new technology outside the comfortable realm of Oracle Database".

Resolutions I try to follow myself every year...

I love to try and integrate different technologies with Oracle APEX. Looking back at the last two years, just from the Oracle stack alone, in 2012 I played around integrating APEX with E-Business Suite (see blog). In 2013 I played around with Big Data and Endeca and tried to see how APEX could work with that (see presentation).

But you might wonder, how do you start with a new Oracle technology?

You can download and install almost all Oracle software from OTN for free to try-out.
There's also the Oracle Cloud where you can try their cloud solutions.
But maybe even easier are the pre-built Oracle VMs. A complete environment with all necessary software installed and some guides to get started.


In a future post I'll talk about how to learn different technologies linked to web development. In web development things are changing very fast; new (javascript) frameworks, new insights in web design etc. popup almost every day!

Wednesday, December 18, 2013

Getting started with Oracle Application Express (APEX)

There're still people just starting with APEX, so here's a quick post which might help them.

On apex.oracle.com there's a nice section about how to get started with Oracle APEX.


I think most important is to just start and play with APEX. Creating an account on apex.oracle.com (which is free) lets you do that, without you needing to set something up, the only thing you need is a browser.

Once you can login in APEX, the 2 Day + Developer's Guide is a great guide to build your first application. It might be hard to understand what you are doing in the beginning, but it gets you started.

To get a bit more background you can read more in the documentation, especially the Application Builder Concepts in the Application Builder User's Guide is a must read.

To get an idea what else you can build, you can watch the demos at the Oracle Application Express Learning Library and look behind the scenes of the sample and packaged applications that come with APEX.

The above will hopefully get new people started. The getting started link of Oracle will give you a lot more guidance what to do next; from watching presentations, reading whitepapers and blogs over to getting training and coaching.

If you hit issues; there's a great community to help you too. The Oracle APEX forums is where you want to go to; there are many peers generously offering help and even the APEX Development team is watching it and help out were needed.

And my final advice; don't give up, it might take a few days to get used to how APEX works, but once you are used to it, it's great!

All the best.

Monday, December 16, 2013

Time to update your APEX development environment

In the last days (and weeks) Oracle has been updating many of the tools a typical APEX Developer uses day-in-day-out.

Here's a graphical overview of a typical APEX configuration:



Following desktop tools got updated:

  • SQL Developer 4.0
    • my favourite connection to the Oracle database
    • a great SQL and PL/SQL editor
    • easy to configure the APEX Listener
Following server side components:
  • APEX 4.2.4
    • a new patch for APEX was released on Friday, the newest version of APEX is now 4.2.4
    • it took about 13 minutes to upgrade from 4.2.3 and it did it without any issues
    • next to some bug fixes, many of the packaged applications got updated. There are some new plugins available in those packaged apps; for ex. the fishbowl plugin

Happy upgrading...

Friday, November 01, 2013

Fix Inbox mail issue in Mavericks

When updating my OS X to Mavericks, the Mail app started to behave differently for my GMail (Google Apps) accounts.

Whenever I moved a message from my Inbox to a folder the message wasn't removed from my Inbox. On the forum and on some sites (e.g. DigitalTrends) the fix they mention, is to check the "Show in IMAP" setting in GMail.

For me that checkbox has always been checked, however the "Show in Label" was set to "hide". When I selected "show", it seems to have fixed the issue for me now too.


The only remaining issue I've with Mail app is the slowness of Sync (retrieving emails).
I switched last week to use Airmail, as Mail had those issues (until I applied the above fix). 
Airmail seems much faster in picking up new mails, even when in the Mail app I click the button to get emails it takes a long time before it finds the new mail.

I'm happy with the above change in the GMail settings, it at leasts fixes the Inbox issue of Mail. If there was a fix for the retrieving mails issue as well, it would be awesome... but so far no luck yet.

Update: MacRumors mentions Apple is working on a fix for OS X Mavericks Mail App Issues.

Tuesday, September 24, 2013

APEX book: Oracle APEX 4.2 Reporting

A few weeks ago a new Oracle APEX book was released called Oracle APEX 4.2 Reporting by Vishal Pathak.



I was one of the reviewers of the book and I really liked the content. The book covers many different areas of APEX and combines it with other knowledge (SQL, BI, ...). Although most focus is on reporting (Classic, Interactive Reports, Charts, PDF printing, ...) and getting most out of that, it also covers the history and architecture of APEX, the integration with other platforms (OBIEE, webservices) and some options to improve performance.

You find more info about the book on the Packt website.

Tuesday, September 17, 2013

APEX 4.2.3 available for download

A new patch set of Oracle Application Express (APEX) is available for download, the latest version of APEX is now 4.2.3.00.08.

As we are used to patch releases; it contains bug fixes, updated external libraries and updated or new packaged applications. This release is not different; for example Twitter Bootstrap 3.0 and AnyGantt 4.3 are now included and two new packaged app called Data Reporter and Opportunity Tracker are available.

What's new in this release is that there's special attention to Oracle Database 12c and the new CDB/PDB architecture. You can now upgrade the APEX version in the CDB. You can read more about the upgrade in the Multitenant Installations section.

Don't forget to read the entire patch set notes as they always contain important information about bug fixes, installation tasks, changes in behaviour, known issues etc.

Happy patching!

Monday, July 29, 2013

APEX Mobile - iPhone 5 Web App in Fullscreen

The default Mobile Theme (50) in APEX renders just fine in Safari. It uses the full height of my iPhone 5, but when I added the app to my Home screen and ran it from there, it didn't render in fullscreen mode.

Turns out that the iPhone 5 doesn't like the meta info.
If you take out the "width=device-width" from the meta name="viewport" part it renders in full screen.

Original:
width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">

Changed to:



Note that you have to delete the icon from your home screen first and add it again after making the above change. (cache issue)

There's a nice post by Kyle Larson which goes into more detail on the above and explains how to work with startup screens on the iPhone 5.

Sunday, July 28, 2013

Make APEX Plugin source read/write

I really like the Flot Pie Chart plugin that came with the APEX sample applications (see this blog post in which apps this plugin is used).

But when I wanted to make changes to it, I couldn't... the PL/SQL Code was read-only.


To make the source read/write again you need to delete the reference to the Master Plug-in.
If you export the plugin and open it in your text editor search for "p_reference_id" and set that to null (instead of the number).

wwv_flow_api.create_plugin (
   ...

  ,p_reference_id => null
  ,...
);

In case you wonder why I want to change that plugin; the plugin is great, but there's a newer version available of the Flot Charts which holds some nice improvements and the current plugin is not mobile compatible and responsive.

Sunday, June 30, 2013

Upgrade Oracle DB 11gR2 with APEX to 12c

Now that Oracle Database 12c is available I upgraded my VM to try it out. The installation went very smooth and I was up-and-running in no time!


My virtual machine had Oracle 11gR2 installed with the latest patch of APEX 4.2.

Here are the steps I followed:
- downloaded the Oracle Database 12c zip for Linux 64-bit
- unzipped the files
- made sure I had all prerequisites and updated my Oracle Enterprise Linux from the command line with: yum update
- next I wanted to upgrade my current database; from the command line in Linux, went to the unzipped directly and ran: ./runInstaller
- I installed the software in a new directory /u01/app/oracle/product/12.1.0
- Next I followed the wizard to upgrade my current database

With Oracle 12c APEX will be installed automatically, but the upgrade was smart enough to detect I had a more recent version of APEX and it looks like it didn't touch it. My existing workspaces and applications were functioning just fine after the upgrade.

You find more information in the Oracle Database 12c documentation and the Upgrade Guide.

I wrote another blog post about the new features that will be enabled in APEX when running on Oracle DB 12c. Another recommend read is the full New Features document of the Oracle database.

Monday, June 10, 2013

OTN Forums updated

Today the OTN Forums where updated. The site is still in read-only mode as they are fixing some issues. 

This is how the new APEX Forum looks like:


I need to get used to this new look and feel, but it looks more up-to-date design wise.

You can expand a thread straight from this page by clicking on the arrow-down icon which is nice.


At first sight it might actually organise the threads nicer; for example when people start to use the likes, the content page shows a nice overview and it should give an idea what is playing in the community.

For me the search and performance are one of the most important features of a forum, after a couple of days and when the upgrade is finalised, we know more...

Wednesday, June 05, 2013

My thought on APEX 5.0 plans

The below content is based on a David Peake's presentation at APEX World 2013.

The below are plans for APEX 5.0, not marked in stone objectives... So there are no promises it will all make it in APEX 5.0 and things might be different in the final release. David didn't show any pre-release, but if this release follows previous version, most likely at ODTUG KScope '13 (end of June) the APEX team will show something live.

The focus in APEX 5.0 is on improved developer productivity, which is great to hear for us developers.
Below you find the main areas the APEX development team is looking into and what my thought are on them:

Modal Dialog

At the moment you can use some plugins to create modal dialogs, but in APEX 5.0 you'll be able to declaratively declare modal pages (so real pages no regions) with a nice UI where you can add buttons on the modal and have modals on top of modals. Yes!

Drag and Drop Layout Editor (different view)

With HTMLDB 1.5, the first public release of APEX, we had the Component View where you saw the definition of your page. Since APEX 4.0 we got next to the Component View the Tree View, which allowed you to see the definition of the page the way it gets rendered. Using that view also increased productivity as you could drill-down faster to certain areas or right click on components to create other things and, based on where you were, it would skip steps in the wizard.

APEX 5.0 will introduce a new view the "Design View". This is a more visual UI to build your pages. You find the Page Elements on the left, the Layout Editor - Source in the middle, and the Component Library below that and finally the Property Editor on the right. The following screenshot is showing the concept:



So you can do drag-and-drop to create your page elements and edit them straight in the property editor. You keep doing that till you are happy and after hitting Apply Changes button it gets saved. So when you edit your page, remember the changes won't be applied automatically only when you hit the button (which I find good).

I do wonder how the Layout Editor will work with for example responsive design; will it do ratios (percentage) or will it depends on the theme that it will be "pixel perfect"? When the early adopter comes out, it will probably be one of the first thing I want to see how the html gets generated behind the scenes.
I also wonder if this editor will work on a tablet (iPad). Would be cool to be in a meeting, grap your iPad and discuss requirements, you quickly drag items on the screen hit Apply Changes and presto they see immediate results.

It will also be interesting to see how they implement the Layout Editor behind the scenes as there is so much information on the screen. When do they get more data through an Ajax process or do they load most of it on the initial load?

The other thing that David asked was who would like the APEX team to keep maintaining all 3 views. Most people like to stick to what they know and don't like to give up something, but if the APEX team needs to maintain all 3 views, it will be time consuming. So if it comes down to get more features or get to keep the 3 views, I probably would give up a view for more/better features :-)

HTML5 capabilities

APEX 4.2 already introduced many HTML5 features and I'm a big fan of having more of those declarative available; things like new input types, improved HTML5 charts, incorporate more CSS3 instead of images, use CSS3 animations for transitions, latest jQuery Mobile features (panels, responsive table, dual range slider) etc.
Another thing I would find interesting is, if they looked into local storage and offline capabilities declaratively. I never heard that would be on the list for APEX 5.0, it's just something I threw in, in this section for the future to think of.

PDF Printing

Designing your pages for PDF Printing has been something that isn't as declarative and easy to do as creating for example pages. The APEX Listener has now build-in FOP support, so they can use that and in APEX 5.0 they will add additional declarative formatting options and will make it easier to work with different templates, add control break and master/detail reports.

Web Service Support

They look into improving the Restfull web services publising capabilities, so it's easier and more performant to integrate with other databases and be in a more SOA architecture.
In a next version of SQL Developer you'll be able to define DML stored procedures using future SQL Developer

Improved framework and enhancements to the packaged applications

This is something that is true for every version. Many small changes are done that makes APEX just a little bit better, more user-friendly and more productive.
The new packaged applications were already included in the latest APEX 4.2 patch set.
Another area they look into is allowing third-party apps to be included as packaged applications. This is especially useful in the Oracle Cloud.

Multi-Row Edit Region Type

The current tabular forms are a bit old school - they got introduced in HTMLDB 1.5 and got native  validations in APEX 4.0, but apart from that it's still a bit behind what you can do with normal page items. For example multiple checkboxes are not declarative in APEX 4.2 tabular forms.
APEX 5.0 will introduce the Multi-Row Edit Region Type. It will be a new Region Type, so it would be a manual change of your existing tabular forms to move to that.
The biggest advantage for the APEX team is that they don't need to maintain the old code. I'm more than happy to switch my tabular forms manually to get a more feature rich experience.
This new region type would also allow to create a master-detail-detail page.
Currently they are investigating different plugins; JQGrid is one of them which might be used behind the scenes.

Multiple Interactive reports

This has been on the list for some time, but it looks like APEX 5.0 will allow any number of IR to be defined on a single page.

Application Builder Security

The security in APEX is a big area and has been increased in every release. In APEX 5.0 they will allow different authentication schemes to be used to control developer access and there will be more  pre-built schemes to pick from. Although David didn't mention it, I hope SSO with AD is one of them and a remember me functionality will be declarative available.

Websheets

APEX 5.0 will continue to modernize and enhance websheet capabilities, improve usability, evolve the user interface and simplify the creation and maintenance of data grids.
Websheets are as good as every other Wiki, but with Data Grids, which are so much more powerful.


Again the above are things the APEX development team looks into, so it's not guaranteed it will make it in APEX 5.0. So when I said "APEX 5.0 will, read it as APEX 5.0 might".


You want a specific feature in APEX? Log it in the Feature Requests app: http://apex.oracle.com/vote
More info on Oracle Application Express (APEX): http://apex.oracle.com

Wednesday, May 08, 2013

Goodies - APEX 4.2.2 included Libraries

External libraries are typically used to extend APEX so you (and the APEX development team) don't need to build certain features from scratch. 

One of the advantages of applying the latest patches is that the external libraries that come with APEX carry an update too. Most known examples of external libraries are AnyChart (chart engine in APEX) and the CKEditor (Rich Text Editor), but there are some other nice libraries that come with APEX too.

Here's an overview of the libraries that you will find in the images folder:


Some are declaratively integrated in APEX for example respond-js is part of the Blue Responsive theme, some others are not, for example twitter-bootstrap and another part is used in some sample or packaged apps, for example jquery-flot.

Having those libraries already there, means you can more easily integrate those in your own apps yourself too. Remember, if you want to go the extra mile it's worthwhile to create an APEX plugin so it's easier to reuse.

If you want to know more about those libraries, you find the links below:

Library(latest) version in APEXLatest version of library
960.gs120203130207
bgiframe2.1.12.1.2
ckeditor3.6.44.1.1
codemirror0.663.12
ios-inspired-theme121106121106
jquery1.7.11.9.1 / 2.0.0 (no support IE6/7/8)
jquery-autocomplete1.1deprecated - part of jQuery UI
jquery-colorpicker1.41.4
jquery-flot0.70.8
jquery-jstree0.9.9a2pre 1.0 fix 2
jquery-mobile1.2.11.3.1
jquery-qtip22.0-6.26.20112.0.1
jquery-quicksand1.2.21.3
jquery-ui1.8.221.10.3
jquery-validate1.71.11.1
modernizr2.5.32.6.2
respond-js1.1.01.1.0
selectivizr1.0.21.0.2
twitter-bootstrap2.2.12.3.1
Many of the libraries come out with newer versions more frequently than there are APEX patches.
So note that APEX is not always including the latest version of the library. 

Monday, May 06, 2013

Oracle Database 12c and APEX

The below content is based on a David Peake's presentation at OOW 2012 and APEX World 2013.

As the Oracle Database 12c is not out yet at the time of writing, note that things might be different in the final product.

The Oracle Database 12c is a major release in Oracle history, as it contains a complete redesign of the underlying architecture. Two things will come back a lot when you read about Oracle DB 12c; the Container Database (CDB) and the Pluggable Database (PDB).

The below image shows how it works; you have a container database which the memory and processes are attached at, and then you can have multiple other databases that you can just plugin.


You find more information about this architecture here.

So what does Oracle DB 12c mean for APEX?



Oracle DB 12c comes with APEX 4.2.0. You can either install APEX in the CDB or in the PDB. APEX 4.2.0 is the minimum version you can install in Oracle DB 12c.
The advantage of running APEX in the CDB is that when you upgrade APEX, all database plugged into that CDB will have the latest version of APEX.
The advantage of installing APEX in the PDB is that you can run different versions of APEX in the different databases. If APEX is installed in the CDB, you can't remove APEX from CDB$Root anymore.
But one of the first things I would do is either upgrade APEX 4.2.0 to 4.2.2 or install APEX 4.2.2 from scratch depending which option you went with.

When you upgrade from DB 11g with APEX to 12c PDB here's a screenshot of the steps to take:


When you install APEX in the Oracle database 12c, some new options will become available in APEX, build on top of some new Oracle database 12c features.

The 12c database parameter - max_string_size will allow you to upgrade your VARCHAR2 from 4k (standard) to 32K (extended).
If you look in your APEX installation you will find /core/collection_member_resize.sql. Running that script will change the APEX collection VARCHAR2 columns from 4K to 32K.

In 12c there's also a new column type that is basically an "auto numbering field", something you would typically do with a sequence and trigger. In 12c the column type is called "Identity column" and it can have following values: ALWAYS - which means a Sequence number is always used, DEFAULT set value, DEFAULT ON NULL use seq nr if null.
When you run APEX in a 12c database, SQL Workshop will allow to specify an identity column in the create table wizards. Also the Create Form/Report wizard will create the correct item type (display only).

Another new column type in 12c database is the "Invisible Column": SELECT * from
will not display invisible columns. INSERT into
will not insert into invisible columns. To insert into the invisible column you must explicitly set it.

In APEX - SQL Workshop - Object browser; the column will not show up.

Data Redaction, to mask your application data dynamically, is also a new feature in Oracle 12c. Before you had to setup VPD policies and do FGAC (Fine Grained Access Control), now it becomes more native in 12c. APEX will just show you what you are allowed to see following your policy. For example depending your policy you will see a credit card number like 4541 **** **** **** or null. You can read more about data redaction and masking in a blog post of Lewis Cunningham.

Friday, May 03, 2013

APEX Ice Cream - Oracle ACE Cookbook

The warm days are coming... time for some APEX Ice Cream! 

People in my close environment, they know I can't resist ice cream and chocolate! 
So what I did was I bought a real ice cream machine, so I could make my ice cream myself :-)


The different ways and flavours you can make your ice cream is unlimited ... anyway, this is how it looks like when you put your cream into the ice machine and wait 30 minutes.


So, is this blog post about making ice cream? Not really... I just wanted to bring under your attention that under the lead of Lewis Cunningham some Oracle ACE and ACE Directors created a real cookbook (for food)!

Lewis came up with the idea and did the hard work of putting everything together. There's a nice video of Lewis explaining why he wanted to do it. In 2008, it was actually Lewis who put forward my name to become an Oracle ACE Director which I will be forever thankful. When he raised the idea about the cookbook, I didn't have to think long to put the recipe in to make one of my favourite desserts; home made ice cream with chocolate sauce, I call it "APEX Ice Cream". You can read in the recipe why :-)

I embedded the cookbook from Scribd below:



If you want to make your ice cream responsive...

Here's how a version of a desktop version of APEX Ice Cream looks like:


And here's the smarth phone version, I didn't remove any content as you can see, it's just a bit closer together... APEX Ice Cream is why to good to show less on a smaller plate ;-)


Enjoy!

Thursday, May 02, 2013

Goodies - APEX 4.2.2 Sample and Packaged Apps

After reading Michael Hichwa's blog post about APEX 4.2.2 where he mentions the patch set includes a major upgrade of all 18 productivity and all 16 database sample applications, I decided to install all of them again and check them out.



Those apps are a great way to see how to do certain things and see working applications behind the scenes. The packaged applications you first have to unlock before you can see the pages and source.

As APEX is meta-data driven you can also query for specific information.

I was for example interested in knowing which apps where using the Responsive Design Theme (Theme 25). Following query shows you per application which theme is used.
As you can see the sample apps are using Blue Responsive (theme 25) and most of the packaged apps are using the Cloud Apps theme. As those also have a mobile version, you can see the JQuery Mobile Smartphone theme is used there too.

select a.application_name, a.alias, a.compatibility_mode, a.pages, a.installation_scripts,
       listagg(t.theme_number, ',') within group (order by t.theme_number) as theme_numbers,
       listagg(t.theme_name, ',') within group (order by t.theme_name) as theme_names
  from apex_applications a, apex_application_themes t
 where a.application_id = t.application_id
group by a.application_name, a.alias, a.compatibility_mode, a.pages, a.installation_scripts   
order by 1

Here's the result:


The sample and packaged apps are not only nice examples (and useful apps), but they also contain some plugins that are not on the official Oracle Plugins page.

There are 21 plugins used in the sample and packaged apps. But two I believe are the same (CSS Bar Chart vs CSS Bar Charts and Slider vs APEX Slider), so that brings the total to 19 plugins to checkout!
And there are some really nice ones, like the Gantt Chart (completely in css, so works on the iPad) :


and Flot Pie Chart (build in JavaScript and CSS) :


Running following query shows you all the plugins in your workspace and in which application it was used:

select p.plugin_type, p.display_name, p.name,
       count(a.application_name) as nbr_app_using_plugin,
       listagg(a.application_name, ',') within group (order by a.application_name) as applications
from apex_appl_plugins p, apex_applications a
where p.application_id = a.application_id
group by p.plugin_type, p.display_name, p.name
order by 1,2

Here's the result:


I would definitely recommend having a look at the apps, the APEX team did a nice job on those.

Tuesday, April 30, 2013

Importing APEX Team Development Feedback from TEST to DEV (on same instance)

One of the great features in APEX is Team Development. It was introduced in APEX 4.0 and I already blogged about it before, so if you don't know what it is, have a look at my previous post first.

This post is about exporting the feedback from your other environments (TEST, ACC, PROD, ...) back into Development. It's a lot easier to have everything in one Team Development environment (typically DEV) for an application / workspace, so you need a way to get the feedback from the other environments feed into your development environment.

When you connect to your TEST environment, you can export the feedback through the normal export wizard in APEX (the wizard is the same to import/export apps, but then with the feedback tab):


Once you have your feedback exported to a sql file, you can connect to your development environment and import the feedback:


This goes well as long as you're importing from a different APEX instance than what you exported from.
In case you are running your TEST environment on the same database (and APEX instance) as your development instance, when you try to import the feedback you might get following error:
ORA-00001: unique constraint (APEX_040200.WWV_FLOW_FEEDBACK_PK) violated


It's a known limitation of APEX. The way to get around it is to export the feedback from TEST to a file (see first step), purge the data in that environment (TEST) and after that you can import it in your DEV environment.

You find the Purge Data under Team Development - Utilities (Team Actions on the right side):

Here you can purge the feedback (or other entries):


The import will work fine in your DEV environment. But be careful you are in the right environment, because once you purged the feedback in one environment you can't import it anymore in that environment. When you try doing that, you get following error:



Review PhoneGap 2.x Mobile Application Development (e-book)

Packt asked me if I was interested in reading one of their books, PhoneGap 2.x Mobile Application Development Hotshot, and write my thoughts on it.

As the topic is in my interest sphere and I was having a long flight ahead, I decided to use that time to read it. So I read the book on my iPad in about 9 hours, but didn't try the code the comes with the book yet.

I strongly believe in developing mobile applications for both smartphones as tablets. You can either go the native route (iOS, Android, Windows phone, ...) or go the HTML5, CSS3, JavaScript route. I see a market for both, but I personally lean more towards the HTML5 way, as I can use the skills that I currently have. PhoneGap (built on Cordova) bridges the gap between what you can do standard in HTML5 and what you can do if you would code natively for the device. PhoneGap offers a JavaScript API to access the hardware of the device, for example the camera, microphone, accelerometer, filesystem etc.  PhoneGap wraps your HTML and JavaScript into a native shell, specific to the device, so you could even submit it to the platform's app store.

The book is mostly build of examples, which is a great way to see the potential of the tool. The author starts with giving a brief overview what PhoneGap is and where it fits in. It also walks you through how to prepare your environment to run the examples. Next it's all examples... The first chapter talks about how to create multilingual applications and sets the foundation for the other chapters. I found it interesting to see the author is using the YASMF framework (instead of for example JQuery Mobile).

In the second chapter you basically build a basic twitter application which also allows you to share the information. To do the sharing she used ShareKit, a very nice open source project.
In the following chapters she builds applications around the PhoneGap's File APIs, geolocation features together with Google Maps, recording and playing of audio, using the camera to store pictures and video, all very nice examples.

Chapter 8 is interesting as it builds a game! Behind the scenes it's using the HTML5 canvas, multi-touch gestures and the accelerometer. It's also reusing some of the things you learned in previous chapters like the file api, but it expands now to use localStorage.

The final two chapters are about expanding PhoneGap with native functions from the device and supporting bigger mobile devices like the iPad.

As you can see, a lot of ground is covered, with all excellent and useful examples!

Before, I only played a bit with PhoneGap, but I didn't find it hard to follow the content. I found the chapters well structured. I like to know why I'm doing something, so it was great to see that was covered first and then it builds up by designing the app (UI/interactions), the data model, putting it together and wrapping it up. You need a good understanding of HTML and JavaScript to follow the examples, but the author highlights that too in the Preface.

Saturday, April 27, 2013

APEX 4.2.2 patch set released

Today APEX 4.2.2 was released. As with every patch set a number of bugs got fixed, but this patch also contains a new packaged application to build surveys.


Here's a screenshot of the app:


If you are on 4.2 or 4.2.1 (first patch set), you should get the update from Oracle Support, the patch number is 16277995.


If you are on a previous version you should download the entire APEX version from OTN.

I upgraded my virtual machine in about 6 minutes.


If you want to read more, Joel Kallman and Marc Sewtz did some blog posts about APEX 4.2.2.
Marc recorded some nice videos about the updated PDF Printing in APEX 4.2.2 in combination with the APEX Listener.

Happy patching...