Keeping Up With 4D’s Latest Technologies — A Worthwhile Endeavor – Chris Belanger

Wednesday, January 19, 2022, 12:00 noon, CST (UTC−5:00)

Special Topic:
Keeping Up With 4D’s Latest Technologies — A Worthwhile Endeavor – Chris Belanger

Since 4D version 17, 4D has provided many new features that facilitate simplification and clarity in data structures and code. We have new Data Structures such as Objects and Collections. We have new Language Features such as Dot Notation and Formulas to say the least. We now have ORDA (Object Relational Data Access) where the database is itself an object! And we now have ORDA classes and custom made classes.

Phew! That is a lot to learn in just a few versions of 4D. We are all exploring how to take advantage of the many new features and finding out how to integrate the new language into older applications. It can be hard to keep up sometimes, but it is a worthwhile endeavor. So come for a run with us, and see where the 4D road is heading!

In this session, we are going to explore an interesting analogy…

Organize your 4D Project like a company — or even grow it into a corporation! As CEO of our apps, we:

  • Define organizational structure
  • Appoint managers
  • Assign roles
  • ‘Hire’ workers to fill those roles (some are ’temps’)
  • ’Train’ them how to do their job properly
  • ‘Let people do their job’

The results? More efficient operation; less ‘wasted time’; happier and more highly-skilled workers; greater productivity. Keeping up with 4D’s latest technologies enable us to improve how we ‘run our company’ — our apps.

We will explore how we can simplify and better organize our ‘company’:

  • Data Structure — Using Object Fields
  • Core Data-Related Classes (Datastore, Dataclass, Entity, Entityselection)
  • Calculated Attributes
  • Custom Classes

Simplicity brings power; Complexity reduces clarity. We can use 4D’s latest technologies to bring simplicity, clarity, and power to our apps.

And as a special bonus, there is a component with two very useful UI widgets:

  • Date Entry / Date Picker
  • Search widget

The widgets are fully ORDA-compliant (i.e. work with Entities and Objects) and highly useful (IMHO). How was Chris able to get the Date widgets (contained in a component) to use an entity’s attribute as its datasource (either [Table]ObjectField or even [Table]ObjectField.attribute) without using a single process variable and without touching anything except the exact date value in the entity / object? Chris will explain. (If you don’t understand the question, he’ll explain that too 🙂 ) The widgets provide the container object with instant ’notification’ via events whenever a change is made so the container object can react real-time.

This meeting is being hosted live with real-time discussion on Zoom.  Click here to join…

To follow along with the meeting slideshow, access it here when it is available…
Slides for January19, 2022 meeting
Chris Belanger Slides
Demo App
Source Code

Have comments or questions after the meeting?  Either post them here or to

If you cannot attend the live Zoom meeting, don’t worry!  A recording will be posted to the 4DMethod Youtube channel after the meeting ends.

This entry was posted in Meetings and tagged , , , , , , , , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.