In a previous blog post, we introduced you to the world of ORDA data model classes. Now it’s time to get our hands dirty and learn more!
You already know that ORDA’s structure (datastore, dataclass, entity, entity selection) is made up of objects. But they’re not just objects, they’re strongly-typed objects linked to specific ORDA classes. This means that you can write functions to hide the complexity of your data’s physical implementation.
ORDA was a revolution with 4D v17. It opened a whole new world of possibilities and took you to another programming dimension. A dimension where you can easily develop applications using an object-oriented approach.
We didn’t stop there! We continued to add enhancements to ORDA through a set of features in each subsequent feature release. Now with 4D v18 R4, we’re thrilled to be going another step further with the availability of ORDA data model classes. Classes dedicated to your data model.
This will greatly elevate your code. Your applications can now easily expose services, be more manageable and easier to maintain, and seamlessly integrate with other applications.
This is another big feature made possible thanks to the projects!
We’re thrilled to announce that 4D v18 R3 includes an enhancement that will have a huge impact on the developer’s experience. A feature many of you have requested, and 4D delivers!
When you work in 4D standalone mode during the development phase (writing and testing your code), you’re no longer required to restart your database in order to have an up-to-date datastore (ds) when the structure is updated!
Now you don’t need to restart the database each time you need a new attribute or a new table in your code! It’s all automatic!
When you call the ds command, you get an up-to-date datastore object. This means that several versions of this datastore object are handled at the same time … depending on when you updated your structure … without breaking running processes.
If you work in client / server mode, this works fine for code running on the 4D Server.
For remote clients, you simply need to restart the client requiring the structure’s update.
As a developer, you’re aware that improving the quality of your developments is often based on unit tests. In order to launch these tests, developers and QA teams need tools to launch 4D databases in different modes (single user / client-server) and distinct environments (Macintosh / Windows).
4D products can already be launched using command line parameters to allow automatic testing or deployment. What if you want to create your own update mechanism or you need to handle a server farm with hundreds of 4D Servers running? Maybe you want to specify which database file to use – or pass parameters on launch …
Welcome to our ongoing series about compatibility settings and “hidden” features for improved performance. In the first post, we looked at the QUERY BY FORMULA command and its impact on an application’s behavior. The second post was about the “Use period and comma as placeholders” compatibility option to avoid running into “the numbers are displayed as >>>>>>>>>” hassle.
In this third installment, we’re going to explore Nested Transactions.
Imagine transferring €200,000 from one bank account to another. You withdraw the amount from the source account, and then you deposit it in the destination account. So far everything is normal and in a perfect world the operation will succeed. Unfortunately, here in the real world things can go wrong. Something happens and the money is lost. That’s very bad.
Well, transactions are here to ensure that this doesn’t happen with your applications! In this blog post explore in detail the use and importance of transactions, as well as several scenarios showing how they can save your business.
ORDA was one of the major announcements of 4D Summit 2018, opening a world of new possibilities in 4D. To learn more about ORDA and its benefits, check out this post to see how ORDA will change the way you work.
Objects are at it again, continuing to demonstrate their utility to ease your life as a developer.
Using time (or duration) values inside of objects is now smoother and more intuitive. Beginning with 4D v17, times inside objects are set as seconds – and not milliseconds!
ORDA provides a great feature to channel data through filters and get aggregated values, by including a set of easily-understood aggregation operations that examine and perform calculations on the data sets. For example, the sum, average, count, min, and max methods are used to perform the operations which their names describe!
The ORDA series continues! In this blog post we’ll see how to use logical operators on entity selections!
These operations allow you to get intersections, unions, or differences between two entity selections like you can with classic 4D sets.