APEX Practices - Survey by Scott Wesley (grassroots-oracle.com)


Everyone loves a survey, especially when it's about a tool they love.

I have a small set of questions over five major topics.
  • * Instrumentation (debugging)
  • * Performance
  • * Security
  • * PL/SQL
  • * JavaScript

It shouldn't take more than 5-10 minutes, depending on how much detail you might provide in the open responses.

Individual responses will be treated as confidential and will help contribute to my "Evidence Based APEX" presentation (initially) for Kscope15. Hopefully they will also ultimately result in better applications for our users.

I'm more than happy to interact further if you feel compelled to include your contact information at the end.


Scott Wesley
Oracle ACE

1. Statistical Information

To help understand your responses to later questions, please give me an idea of your history with APEX.
  • 1.1. * When did you start using APEX?
  • 1.2. * Which APEX versions have you experienced?
  • 1.3. * What resources do you use to aid development?
  • 1.5. What editing tools do you use for PL/SQL and JavaScript?

2. Instrumentation (Debugging)

Instrumentation is often the term for adding debug logs to your PL/SQL, much like using DBMS_OUTPUT.PUT_LINE in a basic anonymous block.
  • 2.1. * How do you instrument your code?
  • 2.2. * Do you utilise apex_workspace_activity_log (for monitoring/reporting application usage)?

3. Performance

Performance is a big topic that crosses many boundaries, but I'm sure many of us focus on certain areas.
  • 3.1. * How do you proactively address performance? (tick all that apply)
  • 3.4. * How do you handle images for your application?

4. Security

I'm mostly curious about how you manage user roles, but I also need context regarding authentication.
  • 4.1. * What authentication methods have you used?
  • 4.2. * Have you managed multiple applications with a shared session cookie? (log in once, allow user into multiple apps)
  • 4.3. * How do you manage user roles (authorisation)?

5. Supporting Objects - PL/SQL Packages

I've found even medium sized projects will require a handful of packages to get all the benefits that come with not having a giant, single package that does everything. How do you choose to split them up? By page, by application, by business process, by function? Have you applied MVC concepts to your package design? How do you find this translates to Application Express and PL/SQL? How do you name your packages? I've found myself using suffixes such as _util, _data, _file, _auth, _html, _plugins, _geo, _reports - all in addition to some revolving around significant pages or business logic.

6. Supporting Files - JavaScript

Unfortunately we can't manage in the same way as PL/SQL. This opens up new modularisation and deployment issues. I'd appreciate your thoughts.
  • 6.1. * What application server have you used?
  • 6.2. * Do you frequently use the static region ID property?
  • 6.3. * How do you modularise any JavaScript in your application?

7. Personal Information

Only if you want to let me know who you are. This can help me with context, and if you would like to discuss your responses further.
  • 7.6. How did you find this survey?
You have been so awesome and I really appreciate your contribution. Please feel free to share this survey with your colleagues.

Peter Raganitsch also has a similar survey: