As promised, we are happy to announce most of the sessions and workshops for the PUG CHALLENGE SOUTH AFRICA 2020 on 4 & 5 March 2020 at the Indaba Hotel, Spa and Conference Centre.

We have also published the proposed agenda for the two days. Please review the exciting topics available over the two days and reserve your seat as soon as possible.

We are also excited to announce, in conjunction with AIGS, there will be another Business Track for business leaders and their clients, but note that this is open to anyone who wishes to join these sessions that are running paralelle to the technical tracks on 4 March 2020. For those delegates who would like to join these sessions, please also make use this page to register your attendance for the one day. The price per delegate only joining the the business track is R2,200 or R4,400 if you wish to attend both days, the second being for technical sessions only. The agenda and sessions will be made available in our next communication or on this page.

How much will it cost?

Delegate(s) 1 Day 2 Days
01 – 09 R2,200.00 R4,400.00
10 – 19 R1,980.00 R3,960.00
20 – 29R1,760.00R3,520.00
31 – 39R1,540.00 R3,080.00
40 + R1,375.00 R2,750.00

Venue & Accommodation

The venue for this year’s event is at the Indaba Hotel, Spa and Conference Centre, located at William Nicol Drive, Pieter Wenning Road Johannesburg, Fourways, Sandton, 2191.
They offer a huge selection of fantastic rooms. If you are travelling from far and want a place to stay, please book your accommodation by emailing and quote reference “PUG”.

What to expect

We are proud to announce that we will be joined by some of the well known speakers in the Progress OpenEdge community:

  • Mike Fechner – Director, Consultingwerk Software Services Ltd.
  • Radu Nicoară – Consultant/Developer, Consultingwerk Software Services Ltd.
  • Tom Bascom – Curmudgeon, White Star Software
  • Paul Koufalis – Senior DBA, White Star Software
  • Adam Backman – Managing Partner, White Star Software
  • Thomas Hansen – Co-Founder of nodeable
  • Tobie Fehlaber – OpenEdge Developer, Britehouse Automotive
  • Mark Davies – Founder of ProSoft Software & Business Solutions
  • Patrick O’Reilly – MIP Holdings
  • Demetrius Ganesh – MIP Holdings

See the Bio of our speakers.

Agenda – Technical Tracks


DBA Sessions

Tom Bascom

OpenEdge DBA Best Practices

Whether you have a single 10 user system or a horde of large systems with
thousands of users come to this session to gather the latest tips and
techniques for keeping your databases up and running, your users happy,
your boss smiling, and your nights and weekends worry free!

Why You Should Care About “Latches”

Come to this session to learn what a “latch” is, how it enables reliable
and highly concurrent access to your database, how to tune your system to
optimize latching, and why you should be especially wary of “too many

Using CDC to D&L Problematic Tables

Change Data Capture, or CDC, is a new addition to the OpenEdge feature
list that unlocks a lot of possibilities. One of those opportunities
is to enable previously difficult platform migrations.

The “long pole” in many dump and load plans often boils down to a small
number of very large tables. Leveraging OpenEdge’s Change Data Capture
feature provides a way to migrate these tables without the pain of a
multi-day outage.

Come to this session to learn about how Change Data Capture works in
general as well as discover how it can be used to solve this problem!

Adam Backman

Lions and Tigers and Bears

For all the talk of the risks to your data there are a few basic things you
need to create a good working recovery plan. First, you need to focus on
recovery and then you need to know who to include in the process, what you need to protect, the potential risk of each possible disaster and how much each disaster may cost your business. By determining the value of the data and the the cost to replace it if it is at all possible, you can build the correct size and cost recovery plan for your unique circumstances. This talk will focus on the business planning portion of recovery planning. While there will be discussion of specific technology components of the plan the focus will be on the who, what where, when and why of recovery planning.

New Hardware, Worse Performance?!?

You’ve migrated to bigger stronger faster and more expensive hardware but your OpenEdge environment is running slower. How is that even possible? In this session, we will look at some real-life case scenarios where performance results were actually worse on the new machine than the older one, how we tested and what corrections were needed in order to achieve better performance. Also, things to look out for when purchasing new hardware or migrating to the cloud.


Buying hardware is hard enough without vendors trying to fool you into buying something that is not right for your workload. Many vendors, Dell, IBM, HP, … will try to move you into systems with many CPU cores but all configurations are not the same. Shared memory RDBMS systems like Progress OpenEdge perform well in Symmetric multi-processor (SMP) environments but cannot perform as well in non-uniform memory access (NUMA) environments.
The problem is that the architecture of a platform can change from one model to another. Sometimes moving to the next model up will change the architecture from SMP to NUMA. This presentation will show the differences from SMP to NUMA architectures and how to best use NUMA if you have already purchased a machine. Ultimately, we would like to avoid NUMA purchases for OpenEdge databases but you can still use your hardware if you already own it. We will discuss near and far memory reads and their affect on performance. To use NUMA most effectively, you will need to understand how to configure processor and memory affinity to eliminate the performance penalty of far more memory reads.

Paul Koufalis

The Ultimate Guide to OE Replication

OpenEdge Replication is a great product that does exactly what it’s
supposed to do, but there are plenty of important details that you cannot
learn by reading the manual. Come to this session to learn best practices
and all the sneaky little tricks and tips you’ll need to successfully
deploy, monitor and maintain OE Replication.

Leveraging ProTop in Development and Test Environments

ProTop is a powerful tool that should be in every OpenEdge expert’s
arsenal. As a developer, DBA or OpenEdge support professional, you need
actionable insight into real time database and application activity. The
free ProTop database monitor sorts, filters and groups realtime VST data
into insightful analysis screens that help you debug complex issues and
optimize the performance of your databases and application.

Through numerous live demonstrations, you’ll learn how to quickly and
easily diagnose, troubelshoot and correct a wide range of problems that
plague your OpenEdge environment. Come see why this free tool is an
absolutely essential part of your OpenEdge arsenal.

Your Current Monitoring Is Not Enough

Through examples and real customer case studies, this session will show you how individual enterprises and partners with dozens of clients leverage ProTop to ensure unparalleled performance and up-time of their OpenEdge environments.

You’ll learn how ProTop is vastly more than a collection of simple alerting
scripts. We are not spewing marketing hyperbole when we say that ProTop
distills our 30+ years of experience into one package: ProTop provides
information and insight that no other monitoring tool provides. Every day
we learn something new and incorporate that knowledge into ProTop.
Practically, this means that ProTop pays for itself in time saved by your
already over-committed technical experts. ProTop provides the hard data
they need to resolve issues now, not after hours of frenzied analysis.

We’ll also show you the benefits of our web portal: with a quick glance at a single web page, we monitor the health of hundreds of databases around the world and immediately know that they are in good shape. When there is a looming issue we can quickly see what is going on and what we need to do to prevent problems. The web portal also provides access to years of your historical data. In seconds, you can zoom in on data from a specific
incident or look at long-term trends over months and years.

Developer Sessions

Radu Nicoară

Opening OpenEdge Apps to Web & Mobile Platforms using the JSDO

Angular is a great framework for developing complex, fast web applications. But in this day and age, your app also needs a mobile frontend to be truly accessible by your users. And while responsive web apps are great, performance-wise they cannot match truly native mobile web applications. In this presentation we’ll be looking at how developers can take advantage of the JSDO Data Source, the Angular support provided by NativeScript and Angular’s platform-agnostic APIs to easily share non-UI code between web and mobile flavors of apps.

Unit Testing Angular Web Apps

Tired of testing all of your web applications by hand? Then this session is for you. We’ll go over everything from basic unit testing of your services with mock data to using spies and even running entire complex, end-to-end tests on your Angular web applications.

Responsive SPAs Made Easy with Angular & Bootstrap

Ever wanted to create a web application than looks nice on all devices but didn’t quite know where to start? In this session we will be going over the popular Bootstrap library and how, combined with Angular, it can deliver amazing responsive single page applications quicker than you can say “CSS”.

Mike Fechner

Domain-driven Design for ABL (the concepts)

Domain-driven design (DDD) is an approach to software-design and development that puts a model based on the real world (the business domain) into the center and not necessarily technical design aspects such as an existing relational database model. DDD is widely applied to object-oriented software design.

Implementing Domain-driven Design with the ABL (the coding)

In this follow up to the Domain-driven Design concepts presentation, Mike Fechner will present how value objects, entities and domain-services can be implemented on top of an OpenEdge Reference architecture compliant back end.

Mocking for Unit Testing

Writing unit tests isn’t that hard … it’s designing code that is unit-testable that is hard. Unit tests should be repeatable at any time and not be dependent on any (or at least too complex) pre-conditions. Unit testing is the permanent fight against dependencies. For the typical ABL application, those dependencies may exist in the form of application code that is executed from the unit that is to be tested, database contents, configuration data, operating system calls, web service calls, user input, etc..

In this presentation we’ll dig into the challenges of dealing with dependencies while unit testing and how they can be mocked – in other words replaced with a simulation. We will also explain why unit testing typically calls for object-oriented programming – but we’ll also demonstrate some techniques that can be applied with procedural code.

Managing dependencies in OOABL applications

This presentation introduces concepts and sample implementations for managing dependencies in OOABL applications. The presentation will highlight dependency injection, service locators, builders and factories. Sample implementations will be provided.

Tobie Fehlaber

OpenEdge REST , How to switch from Classic Appserver to PAS in preperation for OpenEdge 12.

A guide on how to move from the Classic Appserver to the new OE PAS to ready yourself for OE 12 since the classic appserver will be retired.

Thomas Hansen

Docker for OpenEdge Revealed

This session will demonstrate and explain how you can build images and deploy containers for PASOE. We will also show what you can do with the soon-to-be-released Docker support for OpenEdge databases. And maybe also some other tricks…

If you are interested in seeing more, and trying it for yourself – sign up for the “Docker Containers and OpenEdge – Getting started” workshop on during the conference.

DevOps for OpenEdge

An introduction level presentation on the concepts of DevOps and why this is important for OpenEdge and beyond.

In addition to the basic concepts of DevOps and CI/CD, we will cover topics like:
• Jenkins and other DevOps tools
• Build services
• Pipelines : Homegrown vs cloud based
• Using containers for DevOps

Takeaways from this presentation will be a basic understanding of what DevOps is – and why it matters to your OpenEdge team.

OpenEdge Code Analysis

In this session we will show how you can get started with using SonarLint and SonarQube to parse and analyse your application source code – also your ABL. As we are all about Docker – we will also show you how to quickly and easily spin up a set of Docker containers for a local SonarQube installation to use together with the SonarLint plugin for PDSOE.

Patrick O’Reilly & Demetrius Ganesh (MIP Holdings)

In pursuit of Big Data – it all starts with CDC

MIP’s journey to provide our platform for Big Data, Business Intelligence, Machine Learning and Artificial Intelligence.

In the operational environment, yesterday’s data is vital, but it’s not enough.  MIP wanted a data store that includes everything since day 1, and up to the minute. And a history of changes along the way… And another thing: we need to be able to run this at any of our 70 customers, on about 250 databases, so it must be easy to plug-and-play. Oh – and we might want to store the data on any platform, like SQL databases (MySQL, SQL Server, PostgreSQL) or document stores (Hadoop FS, MongoDB) or search engines (Elasticsearch).

This technical session will discuss some of the trials and triumphs en route to achieving those objectives from an Open Edge database.

Kevin Jones (Progress)

High Availability And Disaster Recovery in OpenEdge

  • HA and DR – What it means
    • A brief look at HR and DR and how they are achieved at the hardware level
  • HA options with OpenEdge
    • A look at how to eliminate single points of failures in with OE configuration Clusters, Appsever/Webspeed, Nameserver, PASOE And to prevent outages of the database through monitoring and proactive.
  • DR options with OpenEdge
    • Do nothing
    • Backups
    • AI
    • OER
  • OpenEdge 12 – HA (Getting to the five 9’s)
    • What things have been added to OE12 to improve HA
  • OpenEdge 12 – Improved DR
    • A look at OER AI streaming and what issue is solves
  • Upgrading to OpenEdge 12 – Plan to achieve minimum downtime
    • Some of the things that are not supported in OE12 that might impact migration.


If you wish to join any one of these workshops, please register for the workshop(s) you wish to attend. Registration is vital to reserve your seat.

Tom Bascom

OpenEdge DBA – Advanced Problem Solving [4 March 2020]

OpenEdge DBA’s often have to diagnose and cure difficult performance and
reliability problems in their environment. In this hands-on workshop we
will tackle real-world examples (the names have been changed to protect
the guilty) of troublesome problems. We will learn how to gather the
information that you need to take the right action yourself or to explain
to others (programmers, hardware vendors etc) what they need to do to
fix the problems that they are causing and let you go back to surfing
cat pictures online.

Paul Koufalis

Index Maintenance Utilities Tips & Tricks [5 March 2020]

Do your indexes need a little love and attention? If your answer is
“Uhh…maybe?” then this hands-on DBA workshop is for you.

We will explore the various index utilities (idxbuild, idxcompact, idxfix,
idxactivate, etc…) and discuss when and how to use each utility to
improve query performance or troubleshoot and correct index-related issues.
We will also benchmark the various startup parameters to determine which optimal values should be used under various operating conditions.

Overall, expect to walk out of this workshop knowing more than you ever
thought possible about indexes and their maintenance.

Thomas Hansen

Docker Containers and OpenEdge – Getting started (Full Day) [5 March 2020]

Proposed Outline:
Part I
• Introduction to Docker
• Getting setup up with server access and Docker (hands on)
• Docker basics
o Images, volumes, networking, containers
o Hands on exercises
• Introduction to Docker Compose
• Using Docker Compose recipes for fast container stacks (hands on)

Part II (after lunch)
• Introduction to OpenEdge and Docker
• PASOE in containers – getting started (hands on)
• OpenEdge Databases in containers (hands on)
• PASOE and OpenEdge Database logging in containers with ELK
• Wrapping up and next steps
o Use cases
o Tools
o DevOps & CI/CD with Docker and OpenEdge
o Docker and OpenEdge in the Cloud
o DevOps for OpenEdge Mastermind Introduction

Mark Davies

Developing with OpenEdge GUI for .NET in Developer Studio [5 March]

This workshop is aimed at Progress OpenEdge developers that are new to developing applications with the OE Developer Studio and designing User Interfaces with the OE GUI for .NET.

We will touch the following functions in this workshop:

  • Creating a Project in Developer Studio
  • Creating Datasets and binding it to data
  • Creating UI from the datasets
  • Build a quick a functional application with a few UIs
  • Understanding the basic concepts of data binding in GUI for .NET

Conference Registration

Register for the PUG CHALLENGE SOUTH AFRICA 2020

Registration Form
* indicates required field
The email address of the person that will be responsible for the account. We will send the invoice to them.
Select the days that you will be attending. The Business Track is only for the first day of the conference.
The name of the company you are associated with. This will be on your name tag
Please follow and like us:

Enjoy this blog? Please spread the word :)