Introduction

One of my expertises is developing APEX solutions.

Although APEX often is called an environment where things favored are done „declarative“ and not programmatically, you may run into situations where it is good to have some skills related to writing PL/SQL and JavaScript as well.

During the last years, I worked on a couple of APEX projects for a „Big Player“ in the Biopharma Industry:

  • FTT – Freigabetracking – a solution that replaced a formerly SharePoint application with the purpose of release biotharmaceutical products and the workflows related to this
  • ccEdit – a „Mini-LIMS“ (Laboratory Information System)
  • Maintain and upgrade three APEX applications to integrate newer versions of Marvin.JS

FTT – Freigabetracking

Use Cases

The challenge here was – besides the application itself – to make a sophisticated Gantt chart avaliable within the application to make some kind of release planning for the product done by different departments of the customer.

The decision was taken to use the Gantt chart available via the ORACLE JET components.

As the Gantt chart was not available as an APEX component those days, quite a few things had to be done „by hand“:

My Tasks

  • Requirements Engineering with key users and stakeholders
  • Project Management: Roadmap, Milestones, Workshops
  • Implementing the application (Frontend, Backend, PL/SQL packages)
  • Developer Testing
  • Process Input from User Tests
  • Packaging application for deployment
  • Project Documentation (Pharma nonGXP context)
  • Release Management (we had 3 releases over 3 years1)

Technical…

  • Gathering the data for the Gantt by executing stored procedures with the intention to get the data as json array
  • Feeding the json data to the Gantt chart
  • Make the APEX page load a couple of JavaScript libraries (like require.js and knockout.js) to process the Gantt chart
  • ORACLE PL/SQL packages as an APEX database access interface and to cluster the functionalities

Gantt in action…

ccEdit – A „Mini-LIMS“

Basic Idea

The basic idea about the ccEdit project was to implement a „Mini-LIMS“ (Laboratory Information System) which had to be fully configurable to enter measurements from laboratory experiments.

Features

  • Fully configurable for administrators to set up
    • project (experiment) templates
    • buffer/media configuration
    • user administration
  • Allowing also to set up experiment steps with the possibility to enter different kind of values
    • Numeric values including their min/max ranges
    • Text values
    • Datetime values
    • Checkboxes

Experiment from the User’s perspective (ready configured)

Administrative: Set up attributes

Technical Details

Behind the scenes, this technical approach was taken:

My Tasks

  • Requirements Engineering with key users and stakeholders
  • Project Management: Roadmap, Milestones, Workshops
  • Database Design
  • Implementing the application (Frontend, Backend, PL/SQL packages)
  • Developer Testing
  • Process Input from User Tests
  • Packaging application for deployment
  • Project Documentation (Pharma nonGXP context)
  • User/Administration manuals

Marvin.js Projects

To be done…