Insum https://www.insum.ca Oracle Specialists. APEX Experts. Thu, 15 Feb 2018 16:50:01 +0000 en-US hourly 1 https://www.insum.ca/wp-content/uploads/2016/06/logo.png Insum https://www.insum.ca 32 32 Simplifying address input with Oracle APEX and Google Places Autocomplete https://www.insum.ca/simplifying-address-input-with-oracle-apex-and-google/ Tue, 06 Feb 2018 22:11:17 +0000 https://www.insum.ca/?p=9647 Recently I was working on a project that relied heavily on location data. It required entering addresses, over and over again. Country, state, street address, city, zip code, etc… I was thinking that there must be a better way. Turns out there is: Google Autocomplete! I am sure you have […]

The post Simplifying address input with Oracle APEX and Google Places Autocomplete appeared first on Insum.

]]>
Recently I was working on a project that relied heavily on location data. It required entering addresses, over and over again. Country, state, street address, city, zip code, etc… I was thinking that there must be a better way. Turns out there is: Google Autocomplete!

I am sure you have seen stuff on the web that looks something like this:

Google Places Autocomplete advantages

This type of address input has a few advantages over allowing the user to type whatever they want. First, it gives you valid addresses from the Google Maps API. Second, it speeds up the process for the user because they don’t have to type out all the address fields. It even gives suggestions based on their location! And finally, it is just pretty darn cool.

Now with our Google Places Autocomplete Plugin for Oracle Application Express (APEX) , you can get up and running with this in just a few minutes.

Features

  • Ability to map address components to multiple items.
  • Ability to limit the search to different address types such as addresses, establishments, cities, and more!
  • Interactive Grid (Grid example)
  • Option to return abbreviated form of Address, State, and Country.
  • Option to return address in JSON format. (JSON example)
  • Suggest addresses closest to user’s current geolocation.

(Grid example)

(JSON example)

Google Places Autocomplete saved me a lot of time

Using this feature cut my address input time from 12 seconds to 3 seconds on average. It may not seem like a lot, but when repeating this process, it allows users to complete the task in only one quarter of the time that it usually does. That is a huge improvement in terms of time and also just the overall experience in general.

A few tips on installation of this plugin

To install this plugin, go to our github:  https://github.com/insum-labs/apex-plugin-google-places-autocomplete
First download the repository. Then open APEX and go to the app you wish to install it in. Import the plugin file named “item_type_plugin_com_insum_placecomplete.sql”. After the import is done, it will ask you for an API key which is required. You can acquire one at https://developers.google.com/maps/documentation/javascript/get-api-key. That is all that it takes!

Finally, if there are any issues or enhancements you would like to request, please submit them on the github page and we will respond to them in a timely manner!

 

The post Simplifying address input with Oracle APEX and Google Places Autocomplete appeared first on Insum.

]]>
Power Ranking Oracle APEX 5.2 New Features – January https://www.insum.ca/power-ranking-oracle-apex-5-2-new-features-january/ Thu, 25 Jan 2018 19:41:53 +0000 https://www.insum.ca/?p=9568 The post Power Ranking Oracle APEX 5.2 New Features – January appeared first on Insum.

]]>

Power Ranking Oracle APEX 5.2 New Features – January

Oracle APEX 5.2  may be considered a minor release, but it promises major functionality enhancements.  Which of these will move the needle?

Each month, we’ll power rank the rumored enhancements ahead of Oracle APEX 5.2’s GA release. We’ll take the pulse of the APEX community, monitoring comments, talking to you all and gauging the interest, enthusiasm and expected impact of each of these enhancements. If you’re looking forward to a particular feature, make sure to tweet or blog about it. It just may affect the rankings!

Let’s get started!

Editor’s note: Power Rankings are based on a preponderance of social media.  If you have an issue with these Oracle APEX 5.2 rankings, or have a question or comment for Monty Latiolais, send him an e-mail or contact him via Twitter.


        1. 16

          Advisor Improvements

          • New Accessibility checks to check your apps for common accessibility issues
          • New Performance check for inclusion of compatibility JavaScript
        1. 15

          Item Type Improvements

          • New ‘Text with Autocomplete’ item type using Oracle JET
        2. 14

          List View Region

          • The List View region from the deprecated mobile UI is support on desktop UI. See the known issues for current limitations.
        3. 13

          Tree Region Enhancements

          • The Advanced: JavaScript Initialization Code attribute is supported. Although the attribute was added in 5.1 it did not do anything. So it is as if it is a new attribute in Oracle APEX 5.2. This plus the jsdoc makes it much easier to customize the Tree region.
          • Something that will be needed now that jsTree is removed.
          • Added Default Icon attribute. Allow Icon Type to be empty (without forcing a-Icon).
          • Improved Page Designer help text for all attributes.
          • Support Dynamic Action Event Selection Change [Tree].
          • Advanced Config option (nodeSelector) to support checkbox selection.
          • Tree region now supports the apex.region API.
          • Copy selection to clipboard
        4. 12

          Additional JET Charts

          • Gantt – based on Oracle JET Gantt
          • Box Plot ( aka Box & Whisker )
          • Pyramid
          • Sample Charts app – revised with new examples
        5. 11

          Text message substitutions

          • For a given text message MY_MESSAGE, you can now use and v(‘APP_TEXT$MY_MESSAGE’) to retrieve the message text.
          • Use APP_TEXT$MY_MESSAGE$XX to return the translation text for language XX (examples for XX are DE, FR, …)
          • Same syntax is supported on the client via the apex.util.applyTemplate API
        6. 10

          APEX Spotlight Search

          • Provides quick navigation and unified search experience across APEX
          • Activate by clicking search button from header, or using the keyboard shortcut Ctrl + ‘
          • You can navigate to most screens within APEX builder
          • Quickly jump across applications and pages
          • Also works in Page Designer – can focus on page components
        7. 9

          Oracle JET and jQuery Library Upgrades

          • JET 4.1.0
          • jQuery 3.1.1
          • jQuery UI 1.12.0
          • jsTree 3rd party library is removed because it is incompatible with new versions. Tree regions will be converted to use the APEX treeView widget.
          • FullCalendar 3.3.1
        8. 8

          New Authentication

          • OAuth2 authentication for APEX Applications and the APEX Development Environment
        9. 7

          JavaScript API Documentation

          • Preview of JavaScript API documentation
        10. 6

          Developer Toolbar Improvements

          • When there is a JavaScript error on the page an indicator is added to the dev toolbar
          • New feature to see page performance timing. Menu Page Info > Show Page Timing. Show/Hide Layout Columns moved to Page Info menu.
        11. 5

          REST Enabled SQL Support

          • Create and maintain references to REST Enabled SQL instances (Oracle REST Data Services) in Shared Components
          • Use a REST Enabled SQL Service and therefore a remote Oracle database as the data source for Classic Reports, Interactive Reports, Oracle JET Charts or CSS Calendar
          • Execute PL/SQL page processes on a remote Oracle database
          • Use the APEX_EXEC PL/SQL package to execute SQL Queries or PL/SQL blocks on a remote database, from within your custom PL/SQL code.
        12. 4

          Interactive Grid Enhancements

          • Copy Down support and range selection; see new Actions > Selection sub menu (Fill and Clear)
          • Copy to Clipboard (for row or cell range selections)
          • Expose additional events to Dynamic Actions
        13. 3

          Page Designer Improvements

          • Property Editor
            • Updated UI to improve usability
            • Removed show common / show all, and collapse all / expand all functionality
            • When a property has focus, the group becomes highlighted
            • Improved ‘Go to group’ functionality
          • Sticky Filters
            • Filters can now be pinned so you can filter on something and click across to other components maintaining the filter
        14. 2

          REST Service Consumption

          • Create and maintain references to REST services (Web Source Modules) within Shared Components
          • Leverage Oracle REST Data Services features like server-side filtering or pagination to fetch only required data from the REST service
          • Use Simple HTTP for generic REST services, JSON or XML data feeds
          • Have Application Express automatically discover and maintain the Data Profile; no manual SQL or PL/SQL coding is required for JSON or XML parsing
          • Use Web Sources as the data source for Classic Reports, Interactive Reports, Oracle JET Charts or the CSS Calendar
          • Use the APEX_EXEC PL/SQL package in order to invoke REST services from within custom PL/SQL code in Plug-Ins or page processes.
        15. 1

          New Create App Wizard

          • New and improved user experience for creating applications
          • Simpler wizards for creating pages
          • Add common frameworks or “features” to applications such as activity reporting, access control, theme selection and more
          • Customize user interface options such as Theme Style, application icon and page icons
          • Leverage existing applications or UI defaults to default labels and form display types

 

    1.  

      “A blueprint is an application definition in JSON format. Oracle APEX 5.2’s new blueprint wizard allows you to quickly create an application with any number of standard page types and many additional features, including Access Control, Feedback, Email Framework, and Activity Reporting. Once generated, a blueprint can be modified (either manually by editing the JSON or graphically by loading it back in to the wizard) and reused to easily and quickly create additional, fully supported applications. Using a blueprint is the fastest and most low code way to build an Oracle APEX Application.”

      — Jackie McIlroy at Insum Solutions

       

The post Power Ranking Oracle APEX 5.2 New Features – January appeared first on Insum.

]]>
An Easy Recipe to SAML2 Single Sign-on with Oracle Application Expess https://www.insum.ca/saml2-single-sign-on-with-oracle-application-express/ Wed, 20 Dec 2017 17:18:31 +0000 https://www.insum.ca/?p=9485 The Security Assertion Markup Language 2.0 (SAML2) is an XML-based markup language and an open standard for identity and service providers to communicate authentication and authorization information.

The post An Easy Recipe to SAML2 Single Sign-on with Oracle Application Expess appeared first on Insum.

]]>

An Easy Recipe to SAML2 Single Sign-on with Oracle Application Expess

The Security Assertion Markup Language 2.0 (SAML2) is an XML-based markup language and an open standard for identity and service providers to communicate authentication and authorization information. Software-as-a-Service (SaaS) providers like Oracle, Google, Microsoft and many others, use SAML2 for identifying and providing access to users. For example, if your organization is subscribed to Google’s G Suite, the same credential used to login to Gmail, can also seamlessly provide access to Slack.

There are many advantages to using SSO. The most obvious reason is that users do not have to maintain an excessive number of account credentials, thereby reducing password fatigue. It also provides a more productive user experience as application users can navigate seamlessly between systems without having to re-enter user ID and passwords. For IT managers, it simplifies the overall infrastructure and user management support. Next, using a matured user management system means avoiding the need to “reinvent the wheel” and repeated cycles of security testing. Last but not least, reputable Identity Providers (IdP) often offer extra features such as multi-factor authentication to further protect logins. These can sometimes be costly or time consuming to implement.

There are currently no out-of-the-box solutions for authenticating Oracle Application Express (APEX) applications using SAML2. However, integrating this SSO technology doesn’t need to be hard. The following recipe will show you how.

Ingredients
⦁ Oracle Linux 7.4
⦁ Apache HTTP Server version 2.4 or later. In addition to the modules installed by the package manager, the following two modules must also be installed:
⦁ mod_auth_mellon
⦁ mod_ssl
⦁ Java EE application server, e.g. Oracle WebLogic, Apache Tomcat
⦁ Oracle Database 11g R2 or later
⦁ APEX version 4.2 or later

The ideal setup would look something like this:

Instructions
A. Initial Setup and Installation of mod_auth_mellon
⦁ Install mod_auth_mellon using the package manager. On Oracle Linux 7.4:
$ yum install -y mod_auth_mellon
⦁ Create the directory /etc/httpd/mellon:
$ mkdir /etc/httpd/mellon
⦁ Set this as the current working directory:
$ cd /etc/httpd/mellon
⦁ Download the file mellon_create_metadata.sh, e.g:
$ wget https://raw.githubusercontent.com/UNINETT/mod_auth_mellon/master/mellon_create_metadata.sh
⦁ Make the file executable:
$ chmod a+x mellon_create_metadata.sh
⦁ Create the SAML2 metadata, by providing the Entity ID and Mellon endpoint. In the example, the domain is mysp.contoso.com. Replace this with an appropriate fully qualified domain name (FQDN) that is resolvable. Change the paths for the Entity ID and endpoint accordingly.
$ ./mellon_create_metadata.sh https://mysp.contoso.com/entityid https://mysp.contoso.com/myendpoint
Output files:
Private key: https_mysp.contoso.com_entityid.key
Certificate: https_mysp.contoso.com_entityid.cert
Metadata: https_mysp.contoso.com_entityid.xml
Host: mysp.contoso.com

Endpoints:
SingleLogoutService: https://mysp.contoso.com/myendpoint/logout
AssertionConsumerService: https://mysp.contoso.com/myendpoint/postResponse

Note the inputs and outputs from the script creating the SAML2 metadata for your server.

The key information you will need are the:
⦁ Entity ID (https://mysp.contoso.com/entityid) – this is used to identify your SP to the IdP.
⦁ ACS URL (AssertionConsumerService, https://mysp.contoso.com/myendpoint/postResponse) – this is the callback when the IdP successfully identifiers the user. The Service Provider (SP) is expected to know what URL to redirect the request to after successful authentication.
⦁ Logout URL – use this to terminate user sessions.


B. Configure the Identity Provider
The following provides instructions for configuring the service provider (SP) to use Google G Suite as the IdP. You must have access to the administrators’ console to continue. If not, please contact your administrator perform the configuration on your behalf.
⦁ Login to the G Suite administrators’ console and access (click) the organization’s Apps (see red arrow).

⦁Select “SAML apps”.

⦁ Create a new SAML app association by clicking on the button on the bottom-right of the screen.

⦁ Choose custom app, click “Setup my own custom app” at the bottom of the dialog.

⦁ The IdP metadata file will be generated. (1) Download this file and upload to the web server’s directory for storing the Mellon metadata files, e.g. /etc/httpd/mellon/GoogleIDPMetadata-contoso.com.xml. (2) Click “Next” when this is done.

⦁ (1) Enter the application’s name, and (2) click next to continue

⦁ (1) Enter the ACS URL and EntityID obtained from Part A, Step 6
. (2) Click next to continue.


⦁ Click “Finish”. Attribute mappings can be done later if needed.

⦁ Verify that the SAML app was created successfully.


C. Update the Apache HTTP Server Configuration
⦁ Add the following to the Apache2 configuration file, e.g. /etc/httpd/conf.d/ssl.conf:
# Adds Mellon session information to all requests to the web server
MellonEnable "info"

# Use the filenames provided by the mellon_create_metadata.sh script
MellonSPPrivateKeyFile https_mysp.contoso.com_entityid.key
MellonSPCertFile https_mysp.contoso.com_entityid.cert
MellonSPMetadataFile https_mysp.contoso.com_entityid.xml

# Add the full path to the IdP metadata that was downloaded when
# configuring the IdP
MellonIdPMetadataFile /etc/httpd/mellon/GoogleIDPMetadata-myidp.com.xml

# The endpoint path used when generating the SP metadata
MellonEndpointPath /myendpoint

# Add the following line to enable Mellon for the ORDS path
MellonEnable "auth"
ProxyPreserveHost On
ProxyPass https://localhost:8443/ords/
ProxyPassReverse https://localhost:8443/ords/

# Google returns the username as the MELLON_NAME_ID.
# We can inject this to the proxied request (to ORDS) and use the header
# variable for sign on.
RequestHeader add X-APPUSER %{MELLON_NAME_ID}e

⦁ Restart the Apache service:
$ systemctl restart httpd


D. APEX Application Authentication
Create an authentication scheme using the HTTP Header Variable template. The variable name to use is based on what is injected by the reverse proxy.

Specify the logout URL based on the values noted in section A. In addition to the URL, the parameter ReturnTo must also be specified. Use the substitution parameter %POST_LOGOUT_URL%.

When a user signs out, the SP redirects to the IdP’s logout URL specified in the metadata before terminating the session on the service-side. Sessions on both ends must be terminated to prevent further access. Note that the IdP metadata from Google is missing the SingleLogoutService element and the following must be added to the IdP’s metadata file, after the element:

Security Considerations
We are reliant on the IdP to support the SAML Single Logout protocol. A user may initiate a sign out from either the IdP or SPs tied to the same session. If the IdP does not propagate the request, then there is a risk that the user will have continued access to your application. Therefore, most identity providers like Google and Microsoft, recommend that you close all browsers when you sign out.

Mellon’s default session length (see the configuration option MellonSessionLength) is one day. Consider reducing this value to mitigate this risk. When the Mellon session expires, it will reattempt to assert your identity. Users will not be required to reauthenticate if the IdP session remains valid.

Download this pdf for additional information on enabling APEX SAML2 SSo with Microsoft Azure Active Directory (Office 365).
DOWNLOAD

The post An Easy Recipe to SAML2 Single Sign-on with Oracle Application Expess appeared first on Insum.

]]>
OpenWorld Session Suggestions https://www.insum.ca/open-world-session-suggestions/ Fri, 29 Sep 2017 14:21:00 +0000 https://www.insum.ca/?p=9395 OpenWorld17 is but a few days away. If you haven’t built your agenda, here are some suggestions

The post OpenWorld Session Suggestions appeared first on Insum.

]]>
Simon Sez…Attend These OOW17 Sessions

Oracle OpenWorld17 is but a few days away. If you have not built your agenda by now, here are some suggestions.

My favorite day of the OpenWorld week has always been User Group Sunday. This year is no different. ODTUG and the other user groups have assembled a compelling lineup for the APEX enthusiast.


SUNDAY – OCTOBER 01

IoT: Oracle REST Data Service and Oracle JavaScript Extension Toolkit

Anton Nielsen, C2 Consulting, Inc.

Time: 9:45 – 10:30 a.m. Location: Marriott, Salon 4-6

Oracle REST Data Service, Oracle Application Express, and Oracle JavaScript Extension Toolkit have disparate, sometimes overlapping, functionality. This session reviews these products and focuses on how they complement the Internet of Things. Attendees build an IoT device that communicates with an Oracle Database via Oracle REST Data Service. Device data is displayed via Oracle JavaScript Extension Toolkit components, and the device is controlled by an Oracle Application Express application. Participants gain hands-on experience in Oracle REST Data Service, Oracle Application Express, Oracle JavaScript Extension Toolkit, and IoT hardware.


Cloudy with a Chance of APEX

Francis Mignault, Insum Solutions

Time: 10:45 – 11:30 a.m. Location: Marriott, Salon 4-6

In the past you had to buy servers and/or hosting services to manage your technology stack. Now there are numerous options that allow you to quickly and easily deploy your applications in the cloud. The tough part is deciding which cloud offering or tools to use. This session covers the different cloud options available for your Oracle Application Express applications for both Oracle Cloud and non-Oracle Cloud providers. Some of the cloud options using Oracle Application Express as an add-on, such as Oracle Business Intelligence Cloud Service, are also discussed.


Make Oracle Application Express Apps Fly: Oracle JavaScript Extension Toolkit

Roel Hartman, APEX Consulting

Time: 11:45 a.m. – 12:30 p.m. Location: Marriott, Salon 4-6

At Oracle OpenWorld 2015, Oracle introduced Oracle JavaScript Extension Toolkit. Oracle Application Express 5.1 ships with Oracle JavaScript Extension Toolkit and uses it to create the good-looking charts declaratively. But if you know Oracle JavaScript Extension Toolkit a bit better, you can tune the look and feel of the charts even more. And apart from the exposed charts, there are more components in Oracle JavaScript Extension Toolkit you can use in your Oracle Application Express applications. This session shows you how to do that, and walks through a way to create plugins for Oracle JavaScript Extension Toolkit components.


Web Services for Oracle Application Express Decoded

Scott Spendolini, Sumner Technologies

Time: 12:45 – 1:30 p.m. Location: Marriott, Salon 4-6

Web services in the Oracle Application Express world are becoming increasingly popular. However, there is still a lot of confusion as to what they are and how they could benefit Oracle Application Express developers. After a review of the syntax and jargon associated with web services, this session reviews and boils down web services to their basic components. It also demonstrates how Oracle Application Express developers can start to use these powerful components both to send and receive data from other sites.


Alexa, How Do You Work With Oracle REST Data Services?

Jonathan Dixon, JMJ Cloud

Time: 1:45 – 2:30 p.m. Location: Marriott, Salon 4-6

At first glance, artificial intelligence may seem beyond the reach of the citizen Oracle REST Data Services developer. With companies such as Amazon, Google, and Apple providing the interface (Alexa, OK Google, and Siri), however, this is no longer the case. In this session learn how you can use Oracle REST Data Services as the gateway and the Oracle Database as the engine behind Alexa skills that will impress your customers. Alexa! How many orders were placed in the past hour? Alexa! Are there any stuck transactions in Oracle ERP Cloud? Alexa! It’s time to

make Oracle REST Data Services and the Oracle Database cool!


Life After Oracle Forms: The Move to Oracle Application Express

Alex Nuijten, allAPEX

Time: 2:45 – 3:30 p.m. Location: Marriott, Salon 4-6

Companies struggle with the question of whether to move to Oracle Application Express when the time comes to let go of Oracle Forms. This session explores the story of a migration project in which the Oracle Forms application needed to be replaced with an Oracle Application Express application. What might have been done better? What were the lessons learned? What was the best choice made during this project? Learn not from the books, but from experience.|


Explore Oracle Application Express APIs

Martin D’Souza, Insum Solutions

Time: 3:45 – 4:30 p.m. Location: Marriott, Salon 4-6

Most developers new to Oracle Application Express aren’t aware that it comes with a plethora of very powerful APIs for both PL/SQL and JavaScript. This session highlights some of these APIs and explains how and when to use them to speed up and simplify developing your Oracle Application Express applications. New Oracle Application Express 5.1 APIs are also discussed


OAUG Oracle Application Express SIG Meeting

Sylvain Martel, Insum Solutions

Time: 3:45 – 4:30 p.m. Location: Moscone South, Room 208

This session is a meeting of the OAUG Oracle Application Express in Oracle E-Business Suite special interest group, which provides a forum to promote Oracle Application Express in the context of Oracle E-Business Suite, for creating custom extensions. This session provides answers and best practices to typical questions related to the architecture and configuration of Oracle Application Express in the context of Oracle E-Business Suite. Connect with your peers; learn about new features, enhancements, and changes; and share your experiences.

Elsewhere throughout the week there are certainly some sessions worthy of your time, they’re just a bit more spread out and not as concentrated as those on User Group Sunday.


MONDAY – OCTOBER 02

Docker for Dummies Roel Hartman, APEX Consulting

Time: 2:15 – 3:00 p.m. Location: Moscone West, Room 3005

You might (or might not) have heard of Docker. Maybe you have no idea what it is and why you should care. But if you are a database or Oracle Application Express developer and still work with virtual machines, it is about time to broaden your horizon. In this session you learn what Docker is and how you can benefit from it in your daily work.


Oracle Application Express 5.2 New Features

Chaitanya Koratamaddi, Oracle

Time: 4:45 – 5:30 p.m. Location: Moscone West, Room 3002

Oracle Application Express 5.2 enables declaratively integrating data sources from remote databases and extending applications running on the cloud via REST. A new Create Application wizard enables you to add components and features to new and existing applications. Upgrading to the latest Oracle JavaScript Extension Toolkit and jQuery JavaScript libraries further allow Oracle Application Express to take advantage of new and improved data visualizations and widgets. In this session get a preview of these new capabilities and see some of the numerous enhancements to Page Designer and the Interactive Grid.


Low-Code Rapid Application Development

Mike Hichwa, Oracle

Time: 5:45 – 6:30 p.m. Location: Moscone West, Room 3002

This session features a live demo of creating a relational data model using a SQL markdown tool (QuickSQL.oracle.com). The data model design is augmented with audience input and also generates sample data. The demo then creates a responsive web application leveraging a free public service using JSON blueprints

and Oracle Application Express, and leverages Oracle REST Data Services to create swagger-documented REST APIs on the newly created data model. The demo includes access to all scripts required to repeat from the public internet, and the software demonstrated is available both on the Oracle Cloud and on-premises.


WEDNESDAY – OCTOBER 04

Migrating Oracle Forms to the Cloud Using Oracle Application Express

David Peake, Oracle

Time: 4:30 – 5:15 p.m. Location: Moscone West, Room 3004

Oracle Forms is still being developed, and for those whose requirements are being fully met and are up on a supported release, there is no reason to move off Oracle Forms. However, if you are on an older release of Oracle Forms, or need to deliver modern, intuitive, self-service, or mobile applications then Oracle Application Express is an excellent option. In this session learn what is involved in building out using Oracle Application Express, the do’s and don’ts, how to use the Oracle Application Express Migration Project, and more.


Data Visualizations with Oracle Application Express

David Peake, Oracle

Time: 5:30 – 6:15 p.m. Location: Moscone West, Room 3004

Oracle Application Express 5.1 introduced a new charting engine based on the data visualization components of Oracle JavaScript Extension Toolkit. This JavaScript charting solution is highly customizable, accessible, interactive, and incorporates automatic responsive design support. In this session explore how you can take full advantage of the built-in capabilities, and how you can link up your charts with dynamic actions to create truly interactive experiences for your users.

Plenty to chew on there. I do want to make one additional recommendation. On Tuesday at 12:30, Insum’s own, Martin d’Souza has been invited to speak by our friends at the Oak Table Network. He’ll be discussing Open Source PL/SQL Utilities. Martin’s one of the best speakers out there, so I’m sure you’ll learn plenty that you can take back to office. Oak Table World is held at the Childrens Creativity Museum adjacent to the Moscone South. It is free to attend but seating is limited, so get there early. (http://www.oaktable.net/blog/oak-table-world-2017-oracle-open-world)

That about does it. If you see me out at OOW make sure to say “Hello”

….SIMON SEZ.

The post OpenWorld Session Suggestions appeared first on Insum.

]]>
OpenWorld Survival Guide https://www.insum.ca/openworld-survival-guide/ Thu, 14 Sep 2017 17:00:56 +0000 https://www.insum.ca/?p=9362 For those first-timers it can be daunting and overwhelming. Read on and find out how to survive your first OpenWorld.

The post OpenWorld Survival Guide appeared first on Insum.

]]>

As a developer I used to tell people “Look, my boss should go to OpenWorld, I belong at KScope”. That’s because at the time, I viewed OpenWorld as strategic, as a lot of sales and marketing and a bit of a junket. KScope is where I chose to satisfy my appetite for technical content and network developer to developer.

Having now attended both conferences many times over, I’ve softened my stance. I still believe KScope is the best conference for the typical APEX developer, but there’s still plenty of reasons to attend OpenWorld. For those first-timers it can be daunting and overwhelming. Read on and find out how to survive your first OpenWorld.

Travel and Lodging

By now you should already have your flight and hotel secured. If not, be prepared to pay a premium. Let’s talk flights and airports. In the past, I’ve flown into San Francisco, Oakland and once even San Jose. Of those my favorite is actually Oakland. It’s small when compared to SFO, and a majority of the time when I fly domestic I fly Southwest. A short BART ride and you’re standing on Market Street.

Hotels within walking distance are either insanely expensive or pretty sketchy…from 5-star digs to hostels. If you can’t find suitable accommodations, consider finding something along the BART lines using AirBNB. I actually did that last year. I found a nice condo in Oakland and I simply took the BART over each morning. No, it wasn’t ideal but it wasn’t that bad either. The cost, however, was unbeatable.

Getting Around

Plan on walking..a lot. Expect to burn up the sidewalks between the Hilton and the Moscone even south to AT&T Park.

I mentioned BART which is Bay Area Rapid Transit, or the subway. It’s pretty cheap. It’s pretty convenient, but it doesn’t go everywhere you need. If you’re a night owl, you’ll need to make other arrangements.

For you hopeless romantics, there’s the cable cars. Everyone should do it at least once, but expect long lines and again you’re pretty limited in destinations.

Oracle itself has a fleet of buses that travel between various venues. I’ve done it on occasion. They pick up on the south side of Moscone West. Definitely worth

checking into as free is a very good price. Make sure you have your conference credentials visible to gain access to the buses.

For most Uber or conventional cabs will be the mode of choice for those travelling with a purpose.

Packing and Preparation

Since you’re likely walking to and from your hotel or the various venues plan on bringing a compact umbrella and a light jacket. You may not need either, but it’s best to be prepared…especially with regard to the jacket. You’ll be on your feet so comfortable shoes are an absolute must.

Now’s the time to start building out a tentative list of sessions and keynotes. Access the mobile app. Build your schedule. If at all possible arrange appointments ahead of time. Once onsite people book up fast and with more than 50,000 people in attendance, availability is far from guaranteed.

Onsite

I usually head to Moscone West Sunday morning. The last few years have been pretty painless. Haven’t really experienced the long lines at registration you hear about. Walk up to your kiosk (segregated by last name), log in with your Oracle account, pick up your badge and backpack and head over to the Marriott for the APEX content associated with User Group Sunday. I’ll detail individual recommended sessions throughout the week in a separate post.

The week will go by quickly. The sessions will run together. Try and take in a keynote or two. Most all are in Moscone North. If you aren’t able to secure a seat, they’re usually simulcast to large screens on Howard Street between Moscone North and South. Keynotes are actually a good time to sit and take a breather, especially if the weather is nice. Remember you’re going to be doing a ton of walking and your dogs will be barking.

I usually spend the majority of my time in Moscone South. Grab a T-shirt from OTN. Visit with the Oracle ACE program. Take a hands-on lab with Noel, Jake and the rest of the guys from the Apps Lab. There’s also the Oracle Bookstore where I’ll be picking up a new Oracle ball cap. Don’t forget to stop by the ODTUG kiosk and grab some goodies there.

Make time to walk through the exhibit hall and the Oracle Demo Grounds. The conference couldn’t happen without the participation of the sponsors and vendors. Get your questions asked and answered. There’s no better opportunity to do so.

After Hours

OpenWorld isn’t just about sessions and keynotes, it’s about expanding your network and such opportunities abound. Sunday there’s a Welcome Reception. Tuesday night is where the various communities come together at places like Johnny Foley’s Dueling Piano Bar. Wednesday night is OpenWorld’s flagship after-hours event. In years past, it’s been held at the Cow Palace and on Treasure Island. Now it’s just a short walk south to AT&T Park, the home of the San Francisco Giants baseball team. This years event features The Chainsmokers and Ellie Goulding. I’ll admit that neither can be found on my playlists, but it promises to be an unforgettable night.

Etc.

A few other places in my rotation…

Several years in a row I’ve stayed at The Adagio on Geary. Across the street may be the greasiest of greasy spoons, but if you’re in the mood for an old-school diner experience, it’s hard to beat the Olympic Flame Cafe. The omelettes, the pancakes and breakfast burritos all recommended.

My wife got me hooked on green tea. If you suffer a similar addiction, head to Chinatown and the Red Blossom Tea Co. They’ll treat you right.

If sushi’s your thing, Akiko’s can’t be beat. Very small place but sushi well worth the wait.

Finally, no OpenWorld would be complete without a pilgrimage to the unpretentious Occidental Cigar Club – my favorite cigar bar anywhere. The bartenders are also the owners. Very knowledgeable in both cigars and spirits.

Map

Here’s a map detailing the locations mentioned in this post.

The post OpenWorld Survival Guide appeared first on Insum.

]]>
Insum’s Kscope17 Highlights https://www.insum.ca/odtug-kscope17-highlights/ https://www.insum.ca/odtug-kscope17-highlights/#respond Fri, 14 Jul 2017 17:30:09 +0000 https://www.insum.ca/?p=9125 Insum’s ODTUG Kscope17 Highlights - Relive our favourite conference of year and read about all our Kscope17 highlights.

The post Insum’s Kscope17 Highlights appeared first on Insum.

]]>
Insum’s Kscope17 Highlights

Monty Latiolais

Another KScope has come and gone. It seemed it would never arrive, but then is over way too soon.

This years’ conference being in San Antonio was special. I lived there from 2003 to 2010. My son was born there. We still maintain great friends in the area. But my fondest memory of San Antonio centered around KScope12. Great conference. Great attendance. Definitely my fondest memory of San Antonio until now. KScope 17 changed all that.

Where do I begin?
For me, Kscope is about giving back…giving back to the organization that has meant so much to me over the years…giving back to the development community…giving back to the host city. This year, I arrived too late to participate in the Community Service Day, but I was only too happy to volunteer in the Kscope Kid’s Labs for my good friend, Jeremy Harms of EmeraldCube. For those unfamiliar with Jeremy, all you need to do is go to www.vinecitycodecrew.org and prepare to be inspired.

The labs were powered by RaspberryPi’s and were broken down by ages. The youngest learned some basic programming elements using a graphical language called Scratch. Older kiddos took total control of Minecraft writing Python scripts that did everything from creating cityscapes to constructing TNT pyramids – and then of course detonating them using a plunger they cobbled together on an associated breadboard. Big explosions! Big fun!monty-kscope17

This was the first year of the Kid’s Labs, but based on the reaction of both the kids and the parents, I expect it won’t be the last.

Sunday night’s Welcome Reception was a constant parade of people coming by the Insum booth – old friends and new talking APEX 5.1, AOP, EBS extensions and just catching up. I’ve often said KScope is like a family reunion and Sunday night, that was certainly on full display. Word got around pretty quick that we had Insum logo’d fidget spinners. Hundreds were gone in a flash.

Monday was seemingly a day of days. The balance of Monday was spent helping customers through our Book An Expert offering. It’s great to see just how widespread the use of APEX has become. Clients from a wide range of industries brought their issues to us and guys like Jorge, Adrian and Vincent hit it out of the park. Monday night at KScope is Community night. David Schleis and I had responsibilities with the Database community (see David’s entry below) so I wasn’t able to see first hand the APEX Open-Mic Night. I’m certain it did not disappoint.

Tuesday morning was Insum’s Vendor Presentation and what a time it was. Joined onstage by Martin d’Souza and Jorge Rimblas, we focused on just how APEX is akin to a breadboard, as you can quickly connect or integrate third-party components with very little effort. Martin demonstrated how to generate Excel spreadheets using APEX and nodeJS. Need to incorporate Visio-like functionality in your APEX app? Talk to me. Jorge wowed folks with a front end using Knockout.js  The feedback we received was overwhelmingly positive. People liked the fact that we weren’t there to sell them anything. We were there to show them how to leverage their investment in APEX.
When I think of Wednesday I can’t help but think of the Special Event. For her 20th birthday, ODTUG brought back memories of some of the Special Events of the past. I spent most of my time outside under the pavilion just taking it all in. Looking at what the event has become and knowing where it came from, ODTUG should be very proud of it’s place in the Oracle ecosystem.
While Thursday may only be a half day, it was chocked full of good stuff. Jorge MC’d a session of APEX Lightening Talks by Dimitri, Scott, Martin, Vincent and Peter among others. It culminated with Joel explaining just how prevalent APEX is within the halls of Oracle…to the tune of a billion page views…that’s billion with a ‘B’

 

Jackie McIlroy

This was my first Kscope and, y’all, I was impressed! Not only by ODTUG as an organization, but also with the Oracle and APEX communities. I could not be more proud to be a part of such a friendly and vibrant group of people. I very much enjoyed meeting with all of the bloggers, presenters, and experts that I have followed through the years and who have helped me throughout my career. Everyone in the APEX community is eager to share their knowledge and help others, and I left the conference with a renewed desire to give back to the community that has given so much to me.

One of my favorite sessions was the #LetsWreckThisTogether APEX Talks. This was the final session of the APEX Track and a great way to finish out the conference. Thought leaders in the APEX community gave short 10 minute presentations that highlight tips, tricks, or shortcuts to make APEX development easier and faster. I learned something new from each and every one of these fun, fast-paced presentations.

Another of my favorite events was the Women in Technology (WIT) Luncheon. During the luncheon attendees were divided into small groups to discuss solutions to real issues that women face in a male dominated industry. It was really refreshing to see a number of men attend this event and to get their perspective on the issues we discussed. I encourage more men to get involved in the WIT community – I promise, we aren’t scary 😉

I also really enjoyed getting to talk to all of the people who stopped by the Insum booth. I had an absolute blast meeting new friends that had just had their interests piqued by APEX during the conference and wanted to learn more about how it could help them in their current or future projects. It was also my pleasure to meet current and past clients that just stopped by to say hello and let us know how solutions Insum has implemented for them are still adding value to their organizations.

 

Michel St-Amour

Kscope is our favourite conference of the year and for so many reasons this year, it earned top honours again. As we’re now positioned across North America and Peru, the week provides the opportunity for our team to see each other face-to-face. We’re also fortunate to be able to chat with many of our clients and partners during our annual appreciation event at Kscope.

insum-client-event

 

This ODTUG conference is also a collection of our year’s hard work. Our team presented 10 sessions and our vendor presentation, APEX is a Breadboard. It’s incredible to see the recognition from the community as well. I’m proud to say we collected a few awards:

  • Innovation Award: Vincent Morneau for APEX Nitro
  • ODTUG Volunteer Award: Adrian Png
  • Top APEX Track Speaker: Martin D’Souza – Explore the APEX APIs
  • Best Overall Speaker: Martin D’Souza – Explore the APEX APIs

The APEX community continues to give and we’re more than happy to contribute by supporting Monday evening’s APEX Community/Open Mic Night and the APEX Track. Our very own, Vincent Morneau’s contributions to the Oracle community were recognized by receiving Oracle ACE status!

Kscope continues to be a highlight of our year and we’re excited to be back next year.

 

Adrian Png

It was a nostalgic return to San Antonio for me where I attended my very first Kscope conference five years ago! I am a huge fan of Texan cuisine, and not surprising, ODTUG delivered again!

The keyword for me this year is “sharing” for the following reasons:

  1. This was the first Kscope I have had to deliver two presentations. As stressful as it might be, I was happy to be talking about my experiences in various projects I have worked on throughout the past two years. I was very happy to hear from attendees after, that they had faced similar challenges and the solutions I have shared will be helpful in some way. I am looking forward to making my sample codes available in the coming weeks!
  2. I had at least two conversations with attendees who had praised Insum for not being “just about business”. Our history of blog posts, presentations and open source contributions were a hallmark of our desire to help organizations, invested in Oracle APEX, be successful. I am proud to be a part of this effort and grateful that the management is super-supportive of employees in their involvement with the community.
  3. It’s been said that it’s not the destination, but the journey that counts. It was a proud moment for all of us at Insum, to have bagged that many awards this year. They remind us of how sharing knowledge, technology and time make a difference in our community, and that we now have a greater responsibility to keep that flame burning bright!

 

Daniel Boudreault

As a Kscope noob, everything at the conference was new and there was so much to take in.  I felt like every aspect of the conference was enough to fill the entire week, but you can’t be in more than one place at once. The number of presentations I wanted to attend alone were enough to fill two weeks. But even though I couldn’t attend them all, I left the conference with a wealth of new information. In addition to all the presentations, everyone at the conference, presenters and attendees alike, were all accessible and friendly.  The event really leaves one overwhelmed, but with great memories, information and so many new acquaintances and friends.

The event itself is also very grandiose, for a first timer especially. The logistics of the event and the quality of everything from the food and special events to the presentations themselves is very impressive and a lot of fun.  While I can’t speak for all the tracks, all in all, Kscope is an event for anybody involved in the APEX and Oracle database communities and I’m sure the other tracks would echo that sentiment.

Kscope is an event for anybody involved in the APEX and Oracle database communities and I’m sure the other tracks would echo that sentiment.

 

Jorge Rimblas

For me, this Kscope I was also returning to San Antonio for the second time, and the experienced matched the anticipation. I presented two sessions: JavaScript and CSS for PL/SQL Developers and  Deliver a Knockout with your APEX Applications. Both had excellent attendance, and I’m very thankful for that.

jorge-rimblas

One thing that stuck out for me was the number of other technologies all around us. People are using all sorts of things to deliver the highest quality solutions possible: from Docker, Knockout, Oracle JET, and even REST services. It’s clear that we can no longer focus on only the Oracle DB. JavaScript, for example, is everywhere. Is it the correct tool for all tasks? Absolutely not. Yet, it is a critical element, and as such, we would be well-served embracing it.

This Kscope was also special to me because I completed my two-year term as APEX Content Chair. I’m very thankful for all the great content the speakers provided us and even more for the job the APEX Content Committee did to select it. I heard many positive comments that confirm what I already knew.

 

Vincent Morneau

This was my third Kscope and it did not disappoint. I was fortunate enough to come as a presenter, and while the additional stress can be a little tiring sometimes, it is entirely worth it. I was very happy with the attendance in my sessions and the feedback I received was absolutely overwhelming.

It was a very lucky year for me, as I was awarded the ODTUG innovation award for APEX Nitro and I also became an Oracle Ace. Some part of me is thinking: it can only go down from here, but somehow I doubt it!

Kscope is known for it’s incredible content that is accessible to everyone, but it is much more than just the content. It is about making connections. I always look forward to meet again people from all around the world; new people, but most importantly people I can now call friends.

 

vincent-odtug-friends

David Schleis

For me, the session highlights included seeing that modeling still matters as evidenced by several presentations on the topic. Also, I was particularly intrigued by a session by Simon Hunt on doing automated testing of APEX applications using an APEX application integrated with Selenium. This is definitely something I will be looking into.

Monday night at KScope is Community night, and as an active member of the Database Community, I had a part to play in the proceedings. This year, the Database Community wanted to do something like the highly successful APEX Open-Mic Night, but not entirely like it. We decided on allowing folks to take the stage and show some of their favorite DB tricks, tips or techniques, or tell a joke or a story or juggle or whatever. We also added a Gong Show twist. So while I channeled Chuck Barris (tuxedo tee shirt and all) to keep things moving, and a panel of judges including our own Monty Latiolais looked on, audience members took their chance at getting their message across, or getting gonged. I’ll be honest; it was chaotic, but it was fun.

Oh, and my best conference ever? That would be my very first ODTUG conference back in 1999 that got me started on the journey that has lead me here, being a member of the best Oracle APEX team in the world.

schleis odtug

The post Insum’s Kscope17 Highlights appeared first on Insum.

]]>
https://www.insum.ca/odtug-kscope17-highlights/feed/ 0
What Do Breadboards, Lego-Style Innovation, and Oracle APEX Have in Common? https://www.insum.ca/breadboard-innovation-oracle-apex/ https://www.insum.ca/breadboard-innovation-oracle-apex/#comments Thu, 08 Jun 2017 19:22:23 +0000 https://www.insum.ca/?p=7780 What Do Breadboards, Lego-Style Innovation, and Oracle APEX Have in Common? Oracle APEX is purposely built for “combining components” to build solutions.

The post What Do Breadboards, Lego-Style Innovation, and Oracle APEX Have in Common? appeared first on Insum.

]]>
What Do Breadboards, Lego-Style Innovation, and Oracle APEX Have in Common?

Note: This is an interactive blog post – please help us by voting on the “APEX Adventure” you’d like to see us to present at KScope17 this year, even if you aren’t attending. More details at end of post.

The first time I ever built an electronic circuit was at a hands-on session led by Anton Nielsen at Kscope15. We built a nifty little heat sensor that interacted with a cloud-hosted Oracle APEX app to display temperatures, all within an hour or so.

In addition to Anton’s superb instruction and guidance, what enabled absolute beginners like me to complete the project so quickly was that Anton provided us with a breadboard to use a conduction base.

oracle apex breadboardA breadboard is a basically a plastic block with rows of pre-wired holes where you can plug in wires and components to build electronic circuits. The holes are connected electrically, and so when plug things in, they automatically become connected electrically as well. However, unlike the early breadboards of the past, (which were literally wooden boards used for cutting bread – hence the name), the thing that makes modern breadboards so useful is that they are solderless.

When prototyping or building an electronics circuit, it’s very useful to have a way to quickly connect components together, and perhaps more importantly, to be able to swap them out or change their placement if necessary. For this reason, breadboards are a big timesaver, especially for beginners:

[A] Breadboard is a great way to construct electronic projects easily and in less time without the need of soldering. A problem that is faced by beginners in the field of electronics is that they cannot solder the components neatly on printed circuit boards. One bad solder joint can lead to the project not working. […] Another problem faced by them is that if they try to solder and make a project, it does not work because of poor soldering or the circuit that was taken from a book or magazine lacked instructions or it was wrong. Now after spending a lot of time on making it, what they have to face is disappointment. (Source: ”10 Breadboard Projects for Beginners” on Instructables)

Even if you haven’t had your morning coffee, I’m sure you can guess where I’m going with this…

Simply swap out a few words in the above Instructables quote and you’ll see why a low-code development framework like Oracle APEX is very much like a breadboard, where you can quickly connect components together without “soldering”:

“APEX is a great way to construct applications easily and in less time without the need of coding. A problem that is faced by beginners in the field of application development is that they cannot code the components…”

Of course, with all its built-in functionality, APEX does much more for application development than breadboards do for building electronic circuits, but the principle is the same.  By taking care of all the low-level, trickier parts of web based application development (think authorization, authentication, session state management, styling, templating, database connections, etc.), APEX helps beginners get applications up and running more quickly, and also helps experienced developers go faster than they could otherwise.

assembling technologyAlthough easy to overlook, tools that make it easier for people connect things together more easily are deceptively powerful. To see what I mean, consider a major trend we are seeing with technology innovation today. Companies are now creating breakthrough products, not by inventing new technology, but by inventively assembling existing components together in such a way that the proverbial whole is much greater than the sum of the parts.

Let me share an example.

Lego-style Innovation

On February 14, 2017 of this year, a world record was set for the most satellites ever launched on a single rocket when 88 satellites were shuttled into space aboard a PSLV rocket fired from a space center in India. A second world record was also set when the 88 satellites joined those from earlier launches, and created the largest ever private satellite constellation totaling 149.  Equally impressive is what these satellites will do: Once fully commissioned, they will image the entire earth every single day!

But do you know what the most remarkable thing is about this story?

Rather than being the feat of a well funded nation state, it was the accomplishment of a  relatively new company called Planet Labs, whose stated “aerospace know-how meets Silicon Valley ingenuity” approach enables it to design, build and launch satellites faster than any company or government in history.

The approach? Planet assembles the satellites using readily available, off-the-shelf components, such as common laptop batteries and smartphone chips. The resulting satellites are only slightly larger than a shoebox, and cost a fraction of the many millions it would have taken to build satellites with similar capabilities in the past.

Planet Lab Satellites in Orbit

Think about that for a minute. A potentially revolutionary undertaking, which until recently could only be considered by well-heeled governments, is instead the accomplishment of a scrappy, 40-person startup using commodity consumer electronics.

And it’s not just Planet Labs doing this type of innovation; All kinds of organizations, from universities, to robotics companies, to the US military, are building ingenious products by cleverly assembling components built by others.  According to Geoff Colvin of Fortune magazine,  “we’ve entered the era of Lego innovation, when highly valuable and significant advances in technology are achieved by imaginatively combining components and software available to everyone.”

Oracle APEX – Imaginatively Combining Components

This of course brings us right back to breadboards and low-code application development platforms like Oracle APEX – tools purposely built for “imaginatively combining components” to build solutions.

oracle apex low codeSee, Oracle APEX was a low-code tool before low-code was cool. For several years now, even those with little to no coding experience could use APEX to build highly functional and professional looking applications by “imaginatively combining” the UI components included with the product, which includes charts, interactive grids and reports, calendar controls, shuttle controls, date pickers, color pickers, and on and on.

However, what really makes APEX a great “breadboard” is its alignment with industry trends and standards, which makes it highly extendable. With strong support for HTML5, CSS3 and JavaScript library integration, a whole world of readily available 3rd party components can be embedded within an APEX application, enabling developers to create highly functional applications that provide a great user experience:

The possibilities go on and on.

At Insum, we are fortunate to have a wide range of clients with many different needs. This means we regularly have the opportunity to integrate different components into APEX applications, including all those listed above.  One of the challenges however, is not so much the integration work, but rather discovering what types of components and libraries are available, and how they can be combined into solutions to solve real-world business problems.

So, we’d like to share some of the ways we’ve successfully extended APEX for ourselves and for our clients using 3rd party plugins, internally developed plugins, and javascript libraries. One way we’ll do that is in our vendor presentation at Kscope17 later this month, entitled APEX is a Breadboard – Choose Your Adventure

vote for your APEX Adventure

We’ve come up with eight different “adventures”, each of which is a demo of how we built an APEX solution using one of the libraries listed above.  Unfortunately, we won’t have time to go through all 8 solutions, so we’ve created a voting app (using APEX of course!), where you can vote for your top 3. Then, based on the voting results, we will do a deep dive into the top three winners during our presentation at Kscope.

Not going to Kscope? Vote anyway! In the coming months, we will be presenting webinars showing how we built the most popular choices. So that you don’t miss out on the webinars, register here to be notified when they are scheduled.

get on the webinar email list

P.S. If you have not yet registered for KScope, use the code INSUM to get $100 off the registration fee.

The post What Do Breadboards, Lego-Style Innovation, and Oracle APEX Have in Common? appeared first on Insum.

]]>
https://www.insum.ca/breadboard-innovation-oracle-apex/feed/ 1
How DBAs Can Boost (or Kill) Innovation https://www.insum.ca/how-dbas-can-boost-kill-innovation-oracle-apex/ https://www.insum.ca/how-dbas-can-boost-kill-innovation-oracle-apex/#respond Wed, 17 May 2017 18:34:32 +0000 https://www.insum.ca/?p=7590 How DBAs Can Boost (or Kill) Innovation - when DBAs promote and encourage the use of high-productivity tools, innovation can flourish. When they don't, it suffers.

The post How DBAs Can Boost (or Kill) Innovation appeared first on Insum.

]]>
How DBAs Can Boost (or Kill) Innovation

This year marks the 10th anniversary of the product launch that changed our lives.

In his famous keynote that cemented his legendary status, Steve Jobs revealed the iPhone, and in doing so, ushered in the smartphone era and arguably transformed the world forever.

Since then, entire industries have been upended by upstart companies led by college-aged kids whose innovative use of smartphone technology has rocketed them past entrenched incumbents.  Non-existent just 10 years ago, Uber and AirBnB are now household names with billion dollar valuations, and the term “disruptive innovation” is now encoded in the business lexicon with its inescapable implication: Innovate or die.

In our new era of technology driven disruptive innovation, success is increasingly predicated on an organization’s ability to not only leverage and deploy enabling technologies, but to do so more quickly than the competition.  In fact, in many cases, deep technology prowess is required to just stay in the game.

So…what does all this have to do with DBAs?

Tons – let me explain.

 

Enter the DBAs

Arguably (and especially in our increasingly data driven world where data is now deemed to be more valuable than oil), databases are one of the most important pieces of technology within an organization. Not only do they underpin almost every application in use, but they are jammed packed with all kinds of features that when leveraged properly can remarkably boost an organization’s technical capabilities. As database experts, DBAs are therefore ideally positioned to significantly boost innovation potential within an organization, which is exactly what the good ones do.

But it goes even deeper than that.

As guardians of the corporate data and the systems in which it is stored, DBAs have tremendous power and influence when it comes to deciding who has what access to what data, and with what tools.  Accordingly, DBAs often directly or indirectly control what IT tools and database features are used within an organization, and this is where they can perhaps have the biggest impact of all.

However, fortunately and unfortunately, that “impact” can be either positive or negative.

How so? Simply put, when DBAs allow and promote the right high-productivity tools, including low-code tools like Oracle APEX that require their support and cooperation, innovation can flourish. However, disallow these same tools unnecessarily or over cautiously, and innovation suffers.

“But wait!”, I hear you say. “It’s not that simple. What if the “high productivity” tools people want to use create security issues or introduce some other risk? Aren’t DBAs doing their job by not allowing tools that may destabilize the environment?”

Of course. I’m not suggesting that DBAs recklessly allow every random tool that users find on the interwebs. As protectors of the database, the DBA’s primary responsibility is to keep the data safe and ensure the database is healthy. That’s the “table stakes” of what good DBAs do.

 

Good vs. Great DBAs

But great DBAs? Great DBAs go beyond that. Great DBAs proactively leverage the database to help the organization squeeze every ounce of value from its data assets and database investment.  They enthusiastically promote the database features that streamline processes, boost productivity, and drive operational efficiencies.

But the truly distinguishing characteristic of great DBAs? great dbas innovation

Truly great DBAs focus more on enabling people to do smart things than they do on stopping them from doing stupid things. They prefer optimistically educating rather than pessimistically restricting.

Here’s the opposite of what that looks like.

At the COLLABORATE16 conference in Las Vegas, I happened to have lunch with three DBAs from large organizations, who each had been in their roles for 25 to 30 years. Almost the entire conversation focused on horror stories about how some renegade developer did some stupid thing that caused some big problem. The quote that seemed to best sum up their mindset was, “I’ve never met a disciplined developer”. The rest of the conversation revolved around how they lock everything down as tightly as possible to ensure no developer could ever again do something stupid and ruin their day.

I left the table feeling very sad for their respective organizations; I couldn’t help but imagine the toll such a mindset was taking on innovation and technology driven progress at their companies.  No wonder some people joke that DBA stands for “Don’t Bother Asking”.

See, the best way for a fighter pilot to have a perfect safety record is to never leave the ground. But that’s not what great pilots do. Great pilots take the time to learn exactly what their aircraft are capable of, and can balance risks to safely push their jets to the limit to accomplish the mission. Great DBAs are no different.  They recognize there are risks with pretty much all progress, from crossing the street to connecting to the internet, but they know how to safely manage risks to accomplish the corporate mission.

Mediocre DBAs? They default to “no”.

Steve Jobs - Have Faith in People

To be fair, many DBAs have good reason to be wary of developers. Either they’ve heard horror stories or have experienced first hand the damage that can be done when someone messes up the data, or brings the database to its knees with some gnarly SQL statement executed multiple times per second without a bind variable in sight.

In fact, the discord between DBAs and developers goes way back and is well known. Steven Feuerstein even has a great “Couples Therapy” video for DBAs and Developers, and has posted tips on how developers can work with DBAs more effectively.  In many cases, developers really do need to “up their game” when it comes to effectively utilizing the database, and DBAs are completely within their right to impose restrictions or limit the use of certain features when they are deemed unsafe or are being used improperly.

But is it possible for the pendulum to swing too far?

 

Playing it Too Safe?

When mechanical transportation first emerged in Britain in the 1800s, the British parliament passed the Locomotive Act in 1865, which placed burdensome restrictions on motorized vehicles. They were restricted to traveling just two miles per hour in cities and towns, and four miles per hour elsewhere. Especially onerous was the requirement that vehicle operators have three people attend the vehicle at all times, one of whom had to run 60 yards in front and wave a red flag to warn horseback riders and carriages. Anyone ignoring the rules was subject to fines as high as the equivalent of $1,100 in 2015 dollars (source: Harvard Business Review). 

dba reid hoffman

Thankfully for the automobile industry, people started seeing the many benefits of automobiles and came to recognize the fears were overblown.  In 1896, the restrictions were considerably relaxed, innovation flourished, and look where we are now.

As with many areas in life, finding the balance between latitude and control is important to get right, or you could end up with unintended and undesirable consequences.  This is especially true in IT  where we’d do well to recognize the wisdom of pioneering Unix programmer Doug Gwyn when he said:

Unix was not designed to stop you from doing stupid things, because that would also stop you from doing clever things.” -Doug Gwyn

 

When Policy becomes the “Thing”

Of course, the rules governing how a database is used within an organization are not always set by the DBAs. I’ve met more than one frustrated DBA held back by IT policies set by those many levels removed from the action.

Most often, this seems to occur in larger organizations with multiple levels of IT management. In his most recent letter to shareholders, Amazon CEO Jeff Bezos explained exactly why this happens:

“As companies get larger and more complex, there’s a tendency to manage to proxies.

A common example is process as proxy. Good process serves you so you can serve customers. But if you’re not watchful, the process can become the thing. …The process becomes the proxy for the result you want. You stop looking at outcomes and just make sure you’re doing the process right. Gulp. It’s not that rare to hear a junior leader defend a bad outcome with something like, “Well, we followed the process.” A more experienced leader will use it as an opportunity to investigate and improve the process. The process is not the thing. It’s always worth asking, do we own the process or does the process own us?” -Jeff Bezos

united airlines dbaThanks to United Airlines, we have a recent example of how “following the process” can go sideways when they infamously “re-accommodated” a passenger.  After the now viral video surfaced of the incident that left the 69-year old passenger bruised and bloodied, the CEO of United initially responded with:

We sought volunteers and then followed our involuntary denial of boarding process…” 

To his credit, he seemed to recognize the ineptness of the “we followed the process” excuse in a full-page ad that came out a few days later in the Washington Post:

“That day, corporate policies were placed ahead of our shared values. And procedures got in the way of employees doing what they know is right.” –Oscar Munoz

Policy vs. Outcome in IT

How does “following policy regardless of outcome” type thinking manifest itself in IT? A perfect example showed up in the Official APEX Group on LinkedIn not too long ago:

version control oracle apex

All the examples that exist of how Oracle APEX can significantly boost productivity and drastically improve delivery times, and this company might not use it because APEX version control processes are different from what is dictated in the corporate IT policy manual? Incredible. In the meantime, while the IT Auditor gets hung up on what amounts to “problems in theory” versus “problems in practice”, someone else with a much more pragmatic approach will eat the company’s lunch.

But that was an IT Auditor. A DBA would never ban a high-productivity tool like Oracle APEX, right? After all, APEX lives in the database, and they can control exactly how it’s used.  

Remember my experience at COLLABORATE16 I mentioned earlier?

It got worse.

Later, I attended a session presented by Insum’s Sylvain Martel on using APEX to build Oracle E-Business Suite (EBS) Extensions. There are many areas where APEX shines, and one of them is to connect to EBS to build either real-time dashboards and reports or specialized data entry forms. Sessions demonstrating this functionality always generate a lot of excitement, and this one was no different.

Afterwards, I was speaking with an obviously impressed DBA from a large Fortune 500 company, and asked if his company used APEX. “Oh yeah”, he said. “It’s a great tool, but we only use it in the DBA group.”  “Oh? Not elsewhere organization?” I asked. “No” he said. “We used to let the business use it, but they started using it so much and started asking too many questions, so we turned it off because it was taking up too much time”.

They turned it off.  Maybe bring in some trainers? Have some lunch and learn sessions? Nope – just turn it off.

One can only imagine what initiatives were killed by that decision, or what a CEO looking to fully leverage technology to improve productivity would have say if he knew what capabilities were summarily eliminated from the organization by that simple yet fateful decision.  Talk about impacting innovation…

 

Giving Innovation a Boost

Thank goodness not all DBAs are like that. Contrast that decision with one made by Alfredo Abate, a DBA who now works as an Oracle Systems Architect at Brake Parts Inc. in Chicago.  

Developers at his company were running into limitations extending Oracle EBS with the traditional tools (Forms and Reports), and never seemed to get projects done as quickly as the business wanted or needed. Seeing the problem, Alfredo did exactly what proactive DBAs do and pointed out an Oracle database feature he thought would help:

I had used APEX in the past and knew how quickly you could create applications with it.  Developers already know PL/SQL so the basic navigation and functionality of APEX can be learned very quickly by first-timers.  After I created the initial proof of concept, our IT team realized its potential and the developers quickly adopted this as the go-to tool for EBS extensions.  A year later we have generated 15 applications including over 60 reports in APEX!Alfredo Abate

Or, take the work Robert Lockard is doing as another example.  Rob is an Oracle ACE and a deeply experienced DBA who helps his clients fully leverage their Oracle database investment.

One client in particular had many applications in production that were first written in COBOL in the 1970’s. A key COBOL programmer who had been supporting the applications for the last 40 years retired, and the organization realized they needed to modernize their systems and move them off the mainframe.  Rob introduced Oracle APEX to the client, and explained why the client loved the idea:

“[APEX] has the advantage of a short learning curve, and being bundled with the Oracle Database. The customer did not have to purchase additional infrastructure to start the migration of these applications. We have a group of Oracle programmers that already know PL/SQL, so getting them up and running on APEX was quite easy. We are now accessing other critical applications that can be migrated off of mainframe/COBOL to Oracle APEX.” –Rob Lockart

In both cases, rather than keeping their heads down and focusing only on maintaining the database, both DBAs introduced ways for the organization to move past a hurdle by showing how they could further leverage an asset they already owned using resources they already had.  Talk about impacting innovation…

 

Conclusion

Given my current area of focus, I’ve used Oracle and specifically Oracle APEX examples in this article.  However, I know there are many other great database features which DBAs can promote to help boost innovation at their organizations.  If you have any examples, please share them in the comments below. 

Also, if you are a DBA and interested in learning more about how you can leverage Oracle APEX in your organization, sign up for Francis Mignault’s webinar, Oracle APEX: What Every DBA Needs to Know, to learn some protips on APEX administration. See you on June 1st!

Register now

The post How DBAs Can Boost (or Kill) Innovation appeared first on Insum.

]]>
https://www.insum.ca/how-dbas-can-boost-kill-innovation-oracle-apex/feed/ 0
Oracle APEX Version Control: Give a Little, Gain a Lot https://www.insum.ca/oracle-apex-version-control/ https://www.insum.ca/oracle-apex-version-control/#comments Thu, 04 May 2017 18:34:34 +0000 https://www.insum.ca/?p=7576 Oracle APEX Version Control - Mitigate APEX’s version control constraints by using good development practices that work well with APEX.

The post Oracle APEX Version Control: Give a Little, Gain a Lot appeared first on Insum.

]]>
Oracle APEX Version Control: Give a Little, Gain a Lot

I’ve been using Oracle Application Express (APEX) for more years than I can count on my fingers. Throughout the entire time, I, along with many others, have grappled with version controlling APEX applications. Before diving into this controversial topic, it’s important to recap some background information around APEX and version control.

APEX is a development framework whose source is primarily maintained in the database. It is not file based, which is very different from “traditional” development frameworks and languages. The one file it does produce (called an export file which is used as an install script), is automatically generated and uses many randomized values which don’t easily allow for comparing two copies of the same application. Another way to think of APEX and its file/install process is that it’s an “all or nothing” approach.

Not surprisingly, this can make developers coming from traditional file based frameworks a little nervous at best, or set them off to gather up their torches and pitchforks at worst.

Let me pause for a minute and ask a question: what’s your favorite “but where’s the X” story? A friend of mine who grew up on ranch and learned to drive at a very young age, it was when he first got into an automatic pickup truck after only ever driving a standard and asked, “But where’s the clutch?!?” His dad’s reply, “There is no clutch; it’s all automatic,” was of course met with suspicion.

Similarly, developers coming to APEX from traditional file based frameworks who ask, “But where are the source files to put in our version control system?”, are suspicious when they hear, “It doesn’t work like that”. Of course, some jump to the conclusion that there is no version control with APEX at all, but that’s not the case. It’s just done differently, and that’s what this blog post covers.

To get started, let’s first clarify what we mean by “version control” as it can mean different things to different people. In most cases, it covers the following:

  1. Tracking versions of the application by tagging the code at a given point in time
  2. Tracking changes between code check-ins
    • Enable developers to view specific changes in the code and/or track when a feature was introduced into the code.
  3. Rolling back changes for a specific file or entire version
  4. Merging code to allow multiple developers to work on the same piece of code at the same time

Given how APEX works, it supports the first point listed above for version control. Basically, you “version” the entire application at a given point in time. The other points need to be handled differently, and this can be a contention point for some people when evaluating APEX as it may not comply with their current release management practices.

I had the same concern when I became more involved with APEX, and over the years, I’ve learned to get over it. Despite APEX’s inability to support “traditional” version control, it hasn’t prevented people from not only developing many applications with it, but also running their entire business on APEX applications. One must look no further than Oracle itself; a significant portion Oracle’s cloud UI is run on APEX applications.

Basically, for me and many others, benefits of APEX, (e.g. development and deployment speed), far outweigh any perceived limitations with version control. APEX developers everywhere have been able to mitigate APEX’s version control constraints by using good development practices that work well with APEX and support traditional version control standards. As a result, organizations have been able to reap the benefits of using a high-productivity development tool like APEX, while at the same time ensuring they have adequate controls in place. The processes are different, but the end result is more or less the same. You give a little, but gain a lot. For me, the choice is clear, but each organization will have to decide what is most important to them.

Below I’ve addressed each of the points I listed above, and have included suggestions on how to address when developing with APEX.

 

1 – Tagging the code

This is a very simple thing to do with APEX applications. In your source directories, ensure that you have a folder for APEX apps (an example shown below). As part of your build script auto-export your APEX applications and check them into the apex folder.

oracle apex folder

2 – Track changes

Since APEX is table based, everything ends up being a row in a table. The export file, (which is used to install the application), reflects this table-driving architecture. The export file is really a PL/SQL script that re-inserts the application into rows (a snippet of the export file is shown below). The IDs may easily change in export files. When doing a file comparison, commonly called a diff, most rows will be marked as changed, since the IDs are different, making it nearly impossible to see what has really changed in an app between versions.

oracle-apex-diff

There are ways you can mitigate the inability to track changes in an APEX export file:

  • Store as much code as possible in packages, views, CSS, JavaScript, etc. These database objects can be stored as “regular” files and handle diffs very easily. See the previous image on a standard version controlled directory structure.
    • This means that instead of having large blocks of code in an APEX application, you move the business logic to packages and views and reference those instead.
  • The previous point still doesn’t address the root of the problem of diffing two versions of an APEX application. APEX Diff is an open source tool that will export an APEX application in a JSON format. Using the JSON format export you can do diffs on different version of an APEX application as it allows you to remove the row IDs and focus just on the APEX modifications that developers make.After using this tool for a while, I’ve found that it helps identify small changes (when doing minor releases), but if comparing versions with a lot of work in between, it can become hard to determine what has changed as there are a lot of modified lines.
  • APEX 5.2 may have native built in version control. I saw this on a tweet from a conference and should be treated as speculation as of now. The APEX development team has been testing out a new feature called “Blueprints” which allows you to save templates of APEX applications as a JSON structure. Based on this initiative, I expect to see a JSON export of APEX applications in future versions that will diff a lot better than the current expert file. Again, this is a guess and no purchasing decisions should be made based on this information.

 

3 – Rollback changes

If you look at the underlying tables in the APEX schema, you’ll see that they share many relationships. These relationships mean that a lot of the APEX objects are tightly integrated with one another. This has its pros and cons. The pros are that it allows for a declarative development framework. The con, with respect to version control, is that items are very tightly integrated with one another.

An example of this tight integration is a page item and a validation on that page item. The validation is tied directly to the page item. What happens if someone wanted to roll back the change of creating a given page item? What would happen to the validation? For this reason I don’t see the ability to rollback specific changes happening anytime soon.

For the most part, this hasn’t been too big of an issue. They’re some things that can help with this:

  • Storing as much code in files outside of APEX (see SVN folder structure above as an example)
  • Using Build Options for controlling which objects are available in specific releases
    • This allows teams to develop on future work but not make it available
  • Shorter release cycles
    • By having shorter release cycles problems will be identified and fixed quickly
    • It will help mitigate the need to rollback changes to a specific version

 

4 – Merge code

As mentioned in the previous point, merging two APEX files doesn’t work well as there could be many cross dependencies. It also isn’t a common requirement since most teams work on APEX applications that exist in one database (i.e. they develop on the same system).

In most situations, developers tend to “own” a set of pages and do most of their work in those areas. It’s rare that multiple developers are trying to work on the same page at the same time. In the case that certain areas in an application are contention points for developers the following tips can help:

  • Store as much code as possible in files
    • I realize I have mentioned this many times. This was done on purpose to emphasize how most of the “version control” problem in APEX can be mitigated by doing so.
  • Lock pages before developing them.
    • This will only give a single developer access to the page while working on it
    • Don’t forget to unlock the page once done!

If you want more information about version control and APEX, Oracle has written a white paper about Life Cycle Management with Oracle Application Express that covers a lot of what was mentioned in this article (full disclosure: Insum helped contribute to this white paper). Of course, if you need some help setting things up or want to discuss your current APEX development setup and how you can improve it for better version control, let us know.

Contact Us

The post Oracle APEX Version Control: Give a Little, Gain a Lot appeared first on Insum.

]]>
https://www.insum.ca/oracle-apex-version-control/feed/ 7
5 Oracle EBS & APEX Sessions to Attend at COLLABORATE 17 https://www.insum.ca/oracle-ebs-apex-sessions-to-attend-at-collaborate-17/ https://www.insum.ca/oracle-ebs-apex-sessions-to-attend-at-collaborate-17/#respond Mon, 27 Mar 2017 22:51:58 +0000 https://www.insum.ca/?p=7523 Learn more about extending Oracle EBS with Oracle APEX with some of our experts at COLLABORATE 17.

The post 5 Oracle EBS & APEX Sessions to Attend at COLLABORATE 17 appeared first on Insum.

]]>
5 Oracle EBS & APEX Sessions to Attend at COLLABORATE 17

We’re excited to be heading to COLLABORATE 17: Technology and Applications Forum for the Oracle Community on April 2-6, 2017.

collabroate17 ebs-apex

COLLABORATE is one of our favorite conferences of the year. The week is filled with people from all industries and technologies; it’s truly a great space to share ideas and learn from each other.

At Insum, we are passionate about Oracle Application Express (APEX), and particularly in using APEX to customize Oracle E-Business Suite (EBS).  We presented two sessions last year on using APEX to build EBS extensions: 60 Minute APEX Extension for EBS & EBS Reports and Dashboards for the People & by the People. We’re looking forward to presenting even more sessions this year – see details below.

During this year’s conference, we’re offering complimentary 30 minute consultations with our EBS-APEX experts. If you want to meet one-on-one, reserve your spots before they fill up!

We’ll be at the Exhibitor Showcase at booth 1452, so please swing by our booth to say hello.  And, if you’re interested in using APEX to build EBS extensions, ask us about our recently launched “UP and Running with APEX and EBS” package, and also find out about our free EBS Integration package download.

ebs-apex-booth

COLLABORATE 17 creates community of helpful people all with innovative ideas to optimize your Oracle applications. Some of the brightest Oracle minds from around the globe come to Las Vegas to present their sessions. A few from Insum will be among that group and showcasing their E-Business Suite and Oracle Application Express knowledge. We’re looking forward to their sessions!

 

When Oracle Web Applications Desktop Integrator meet Application Express

Speakers: Patrick Cimolini and Sylvain Martel

Abstract: Oracle Web Application Desktop Integrator is being used by every organization using Oracle E-Business Suite. Users like the flexibility of uploading various type of transactions using Excel. Issues arise often with Excel version, Windows regional settings and countless other variables to make your life miserable. This session will show you how Oracle Application Express can be used to replace Excel or facilitate the upload of your data and transactions into Oracle E-Business Suite.

  1. Understand the differences between Oracle Web Applications Desktop Integrator and Application Express
  2. Demonstrate how to drag and drop Excel files into an Application Express screen
  3. Demonstrate how to replace Web Application Desktop Integrator with Application Express

 

Accessible single sign-on integration between Oracle E-Business Suite and Application Express

Speaker: Sylvain Martel and Anton Nielsen

Abstract: This advanced technical session reviews a fully functional Oracle Application Express extension for Oracle E-Business Suite which was previously created. We will walk through the open source code that offer single sign-on authentication between Oracle E-Business Suite and Application Express using an open source single sign-on engine and an integration package. Attendees will learn how to use the integration package to set an Application Express applications in the context of Oracle E-Business Suite, including profile options, multi-org, and language support.

  1. Describe the components to integrate Oracle E-Business Suite and Application Express context
  2. Understand how to configure the single sign-on engine
  3. Understand the integration package to set the Oracle E-Business Suite context in Application Express
  4. Describe the best practices for creating Application Express extensions

 

The 60 minute Oracle Application Express extension for Oracle E-Business Suite

Speakers: Patrick Cimolini and Sylvain Martel

Abstract: This 60 minute session will give you 60 great reasons to use Oracle Application Express the next time you want to create an extension with Oracle E-Business Suite. That’s because 60 minutes is all it takes to create a fully functional extension. You will see the explicit steps required to integrate Oracle Application Express with the Oracle E-Business Suite environment, including profile options, multi-org and language support. Time well spent!

  1. See the steps required to build an Oracle Application Express extension for Oracle E-Business Suite
  2. Demonstrate recreating the Oracle E-Business Suite context in Oracle Application Express
  3. Understand where Oracle Application Express is a good use case for Oracle E-Business Suite extension
  4. Get a link to free code that integrates Oracle Application Express with Oracle E-Business Suite.

 

Cloudy With a Chance of APEX

Speaker: Francis Mignault

Abstract: In the past you used to have to buy servers and/or hosting services to manage your technology stack. Now there are numerous options which allow you to quickly and easily deploy your applications on the cloud. The tough part is deciding which cloud offering or tools to use.

This session will cover the different cloud options available for your Oracle Application Express (APEX) applications for both Oracle Cloud and non-Oracle cloud providers such as Amazon AWS, and Microsoft Azure. Some of the cloud options use APEX as a add-on such as BI Cloud Service (BICS) will also be discussed.

  1. Match the available cloud options to your specific business needs.
  2. Understand APEX deployment and availability issues in the cloud
  3. Know what APEX Hosting services are available to you

 

The Cost of a Click – Designing an Efficient GUI

Speaker: Patrick Cimolini

Abstract: The cost of a single mouse click can add up to thousands of dollars of wasted time annually for a large company. This presentation quantifies the cost of a click and estimates a financial break even point for the development effort that is required to eliminate mouse and keyboard clicks. The presentation uses Oracle Application Express to illustrate a number of design principles that can be used to optimize a Graphic User Interface (GUI); however, the general principles can be applied to other development technologies as well.

  1. Quantify the cost of a mouse click in your organization.
  2. Balance the cost of a click against the cost of eliminating the click.
  3. See a number of design patterns that can be used to make your end users more efficient.

 

If you’re interesting in learning more about EBS and APEX now, visit our APEX videos page and watch some of recent webinars: EBS Web ADI Replacement: Oracle APEX or EBS Reports and Dashboards for the People & by the People.

See you in Las Vegas!

The post 5 Oracle EBS & APEX Sessions to Attend at COLLABORATE 17 appeared first on Insum.

]]>
https://www.insum.ca/oracle-ebs-apex-sessions-to-attend-at-collaborate-17/feed/ 0