Add values to your generic ORDA queries
By now you’ve surely noticed that ORDA queries are not only light and readable, they also make it easy to navigate through the entire data model using object-oriented concepts! In this blog post, we showed you how to write powerful and easy-to-maintain queries. One of the methods recommended was providing the query and values separately via placeholders. 4D v17 R5 takes placeholders a step further by allowing you to write generic ORDA queries: say hello to named placeholders for values!
Object notation to handle files and folders
4D already provides commands to handle files and folders, but what about new commands that take advantage of the power of object notation?
Objects have changed the way many 4D developers write code, making it more generic, flexible, easier, and faster. Now this wave of change is extended to files and folders. In this blog post, we’ll show you how easy it is to manipulate an object in order to retrieve the attributes of a file or folder (rather than calling several commands and storing the information in multiple variables). Things are getting a lot easier!
Read 4D object fields with SQL Engine
A 4D object field is a persistent database field type, stored as binary content. Previously, reading this type of field by an ODBC driver wasn’t possible. Until today.
Before, an error was returned when trying to read an object field. This prevented the completion of simple Select * from myTable requests, which could be frustrating for users who only wanted to browse the content of a table.
Good news! The SQL engine has been updated to allow 4D object fields to be read.
New server administration commands
4D continues to deliver features to help you create your own applications to monitor your servers. From programmatically retrieving information about sessions, processes, and the application server, to getting information about the web server.
Having already provided you commands to read about statuses, 4D v17 R4 now gives you the ability to change statuses. You can now create your own administration interfaces as dialogs on the server, client, or even as HTML pages for web access. It’s up to you. These commands allow you to perform the same actions as the standard 4D administration interface. For example, you can send a message to your users to notify them of scheduled maintenance, or block new connections to the application server while you perform an operation on it.
A new way to send mails
We know the importance of sending emails and common a task it has become in today’s applications. For example, imagine you’re in a business and you want to send an attractive email based on HTML with a few images or even a video, and attach a file to it (e.g., a purchase order or an invoice). And you want to do all of this with just a few lines of code. Code that is easy to write and understand. Well starting with 4D v17 R4, the previous scenario is now possible. That’s why we’ve enlarged the feature set related to emails.
Better documents with two new attributes
To produce a nice document, you need to respect some typesetting rules and fundamentals. For example, the grammar, spelling, and structure of your document shows the quality of your text. One of these rules concerns the distribution of paragraphs and tables over multiple pages.
4D Write Pro offers you two options to manage paragraph distribution:
- Avoid page break inside paragraphs or tables, and
- Avoid widows and orphans for paragraphs or tables.
Let’s dig into more details.
Improving databases tests
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 …
Get info about the running application
4D v17 R3 takes your database analysis a step further by enabling you to create a customized server administration dialog. Following the ability to retrieve information about users & processes, getting all runtime information about 4D Web server, getting details about the active license, and getting all of the hardware and system details, you now also have the ability to retrieve the activity and network configuration of the running database.
Do you need to know on which IP address and port the database is listening, if communications between the client and the server are encrypted, or if the legacy network layer is used? Just call the new command, Get application info. And that’s not all! This command also returns information about the database such as: the amount of CPU used, the time since its been started, and the list goes on.
Convert classic 4D forms to dynamic forms
Your forms may need to be changed depending on your customer or user needs. For example, the color black might be perfect for one user but not so much for another user (who sees blue as the ultimate perfection). Luckily, dynamic forms (introduced with 4D v16 R6) are here to help you handle your users’ preferences. But rewriting an existing form to a dynamic form could be a difficult task, and it’s not always easy to start with a blank page. Ideally, it’d be best to have a draft that can be modified and improved. With 4D v17 R3, it’s now possible to easily convert a classic 4D form (stored in .4DB file) to a dynamic form.
Write your own methods for objects
A new command is at your disposal allowing you to use formulas in your code. You can now encapsulate them in objects and call them when needed. There’s no more need to write your code as text. Now you can just pass your formula in your command and that’s it! This is a great addition, since your code isn’t text, you can benefit from Syntax highlighting and all the other advanced functionalities of the code editor!
Contact us
Got a question, suggestion or just want to get in touch with the 4D bloggers? Drop us a line!
* Your privacy is very important to us. Please click here to view our Policy