EMEA PUG Challenge 2018

10 October 2018

The premier event for the global Progress Community took place at the Croke Park Stadium in Dublin on 10 - 12 October 2018.

Consultingwerk proudly sponsored the EMEA PUG Challenge that took place 10-12 October in Dublin. With 85 speakers, over 500 attendees and 12 workshops over 3 days, PUG Challenge is a conference for everyone who uses Progress products to develop or run business systems, whether they be developers, software architects, database administrators, infrastructure specialists, business analysts or sales people.

Thanks for joining us during this conference.

Wednesday, 10 October 2018

11:30 - 13:00
James Palmer
I'm sorry, I haven't a clue

Is that your response when it comes to Database Administration activities? Do you let your system run, hoping beyond all hope that nothing goes wrong, and that when it does you’re out of the country sipping Sangria on a sun-kissed beach?

What DBA activities do you really need to know to keep your system running? What is useful for the part time DBA? We will go through the basics of DBA activities with some background to help you be on the money as soon as there’s a problem, rather than having to panic and call the experts right away. We will also look at some activities you can introduce to hopefully reduce the risk of things going wrong.

We will look at:

• Online backups and restores;

• Enabling Large Files;

• Adding database extents online;

• Enabling After Imaging online;

• Truncating the BI (and changing BI Cluster size and block size);

• Enabling the AI Archiver and configuring it;

• Database monitoring options;

• Anything else I think of in the next few months;

• Space for questions and answers.

So, if you’re doing DBA work to keep your system running, or if you’re doing it because nobody else is, or you’re just interested in getting started in the world of a DBA, then this is the session for you.


15:30  - 17:00
Marko Rüterboris
PDSOE Workspace Management and Organisation

Are you currently using PDSOE? Or are you planning to switch your development to use PDSOE? Whether or not you are using PDSOE, you may have some specific queries or just require a more general overview of what PDSOE brings to the table. As with any development process, the environment setup can be simple or complex. This in itself can be quite a challenge, however, there are good and bad ways to handle this situation. 
This session will show you how to create, setup and organize a PDSOE Workspace, especially configuring multiple related Projects. This session is aimed at discussing what would be considered “best practice” and appropriate workspace settings. We shall also delve into the concept of persisting the aforementioned settings into the code base (a sharable format accessible for other developers). One of the forgotten aspects of PDSOE is how simple it can be to share environments, using the saved / shared ‘workspace settings’. In addition, this session shall also cover the topic of plugins for source code management and facilitating working with PDSOE more efficient.


15:30 - 17:00
Mike Fechner & Paul Koufalis, White Star
Progress 4GL Performance Workshop Take 3: You Don't Know <beep> about Indexes

After 25 years in the Progress world, numerous workshops, training courses and presentations, Mike and I can say with some confidence that most programmers don`t know the first thing about index bracketing. Ok, maybe they know the first thing, but the second and third thing...unlikely. Four they dost not know, unless maybe they knowest two and three. Five is right out.

They will awe and inspire you during this 3 hour, hands-on, blow-your-mind, index bracketing workshop. You`ll learn about the differences between database queries versus temp-table queries. You`ll partake in the explanation of the parsing of those pesky parentheses. And the mysteries of and and or, or is it or and and, will be de-mystified. You will shake your head, raise your fist, tell us we`re wrong, maybe even cry a bit, but at the end of it all, your soul will be cleansed and you`ll be a master of all things index-y.

Thursday, 11 October 2018


10:30 – 11:30
Radu Nicoara
Reusing Code Between Angular and NativeScript

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 applications. In this presentation we’ll be looking at how developers can take advantage of 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.

11:45 – 12:45
Mike Fechner
Building Great Interfaces with OOABL

What’s the real benefit of OOABL? How can we use Object Oriented coding to make reusable functionality way easier to use, rather than nested include files with a bunch of named parameters? What’s the meaning of “interfaces” in general? What are benefits of parameter objects, builders, factories, fluent-style and overloading? Your own query language someone? In this session we’ll discuss real-world examples about how OOABL makes the consumption of API’s or generally reusable code much easier and enhances maintainability and testability.

13:45 – 14:45
Commercial Session
SmartComponent Library: The OpenEdge Modernization Framework

Platinum conference sponsor Consultingwerk will be demonstrating new and well-known features of the SmartComponent Library framework used by over 30 OpenEdge partners and end-customers already. Our tooling simplifies the development of a state of the art Angular Web Frontend, a NativeScript based Mobile Frontend and a Desktop client – all based on top of a single application and framework backend. Recent features include RESTful and HATEOAS interfaces and the integration with an ERD Designer to boost developer productivity even further. We’ll also be demonstrating work in progress such as the integration of the most advanced query engine available for OpenEdge.

15:00 – 16:00
Daniel van Doorn
Continuous Deployment of OpenEdge Applications

(to be provided shortly)


16:30 – 17:30
Mike Fechner
ABL Legacy Code Modernization

Got a Progress OpenEdge TTY or GUI application and want to move to Progress Application Server for OpenEdge and an exceptional web application based on Progress Kendo UI? In this session we'll demonstrate real-world proven application modernization techniques that allow harvesting relevant elements of legacy code to allow for reusing them as a foundation of your modern web application. We'll be demoing how even a TTY style UI or Progess Dyamics application can provide valuable bits and pieces for a refactored application. 

Friday, 12 October 2018


10:15 – 11:15
Martyn Kemp
Swagger Updated (OpenAPI 3.0)

Swagger now commonly known as the OpenAPI specification is a powerful definition format for describing and creating RESTful API's, which are easy to understand, readable and language agnostic. One of the major benefits is that we are able to provide a clear and precise definition, ultimately assisting in the consumption and ease of developing from the specified API's. With the release of OpenAPI 3.0, although previously generated OpenAPI 2.0 Definitions still function, some of attribute's and element's are now deprecated. This presentation is too discuss and demo the differences and best practices of upgrading.


11:45 – 12:45
Mike Fechner
Unit Testing Part 1: Test Strategy

Unit test tooling is available to any ABL developer. In this session, we'll be starting with the basic principles of unit tests and discuss also best practices and challenges of writing unit tests. We'll be talking about concepts for developing testable code, mocking of dependencies (e.g. code and data) and tooling such as Progress Developer Studio, ANT and Continuous Integration servers. We'll also be demonstrating how to get insight into test coverage as there are only two kinds of people that know their test coverage: Those that don't use unit tests at all and those that use tools to track the test coverage.

13:45 – 14:45
Martyn Kemp
PASOE Performance Tuning

Performance and resource tuning a PAS for OpenEdge instance has no resemblance to tuning a classic AppServer. The PAS for OpenEdge is more in line with a Web server. When creating a typical PAS for OpenEdge, there are a predetermined set of defaults for the instance. Within this discussion, we shall cover what are potentially the better default values and why. 


15:00 - 16:00
James Palmer
ABL Unit Testing Part 2: Writing good Unit Tests


Unit Testing tooling is available to all developers who are on a reasonably modern version of Progress. This talk is a follow up to Mike Fechner’s talk on Unit Testing Strategy. Whilst attendance at his talk is not a prerequisite to this one, there is a little overlap, you will get a lot more value from attending both.  We will look beyond the strategies to get our hands dirty with writing actual Unit Tests and looking at how to make sure they are good tests. What is a successful test? What is an unsuccessful test, and how do we ensure that this information improves the quality of the code that is delivered to customers. Customers want code changes delivered with increasing frequency, but of course do not want regression errors or bugs within those releases. This is only possible with good Unit Tests, so join us as we look into this highly useful topic together.

15:00 - 16:00 
The SmartComponent Library Info Exchange and User Meeting

This is a special invitation to customers, partners and prospects of the SmartComponent Library framework: We will end the conference together with a review of the latest features of the SmartComponent Library framework and discuss together the future roadmap and strategy of the framework.



See more at http://www.pugchallenge.eu/