PUG Challenge Americas

24 October 2018

Consultingwerk was proud to sponsor the PUG Challenge Americas from 24-26 October 2018 in Nashua, NH.

Consultingwerk is proud to be a Gold Sponsor at the PUG Challenge Americas.


We invite you to join us. Meet Consultingwerk experts at our both and attend our sessions:

Thursday, 25 October

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.

Mike Fechner
Unit 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.

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.

James Palmer
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.

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, 26 October

James Palmer
The Captain`s Log

We all know the scenario: our code’s not working, but we don’t know why. Surely there must be a way of getting more detail to debug the problem easily? Maybe we revert to adding messages through the code. Maybe we step through it visually. Maybe we add complex logging to it. But then, how do we easily control whether it’s on or off?

Client logging is the tool you’ve been looking for. If you already know about Client logging, then this talk is probably for you. If you don’t know about client logging then this talk is definitely for you.

We will look at the various ways we have of switching on Client logging on a client session. We will take an in-depth look, with examples, at the output you get from the plethora of options available to you, including what each logging level adds to the output. We will finish with some recommendations of what you should capture as a minimum to improve your ability to debug problem code, particularly in scenarios that are only reproducible on a client session in production. Let’s do all the hard work of investigating the options available together, so you can implement what you need immediately when you get home.

By the end of the session, you, the captain of your code, will have all the information available to you to chart your course forward with confidence knowing that whatever trials are thrown at you, you will fix them with ease.

For more information, please visit the PUG Challenge Americas Event Page