Our top 10 blog posts of 2019
As another year and another decade come to an end, it’s time to take a look back with 10 of our most-read posts. From project databases to encryption, to performance optimization, to advanced ORDA and programming capabilities … 2019 had it all! Here are the topics that grabbed your attention in 2019.
Onboarding developers new to 4D? Here’s how we do it at Sweetwater
Blog post by guest author Joel Levy, a 4D developer at Sweetwater:
4D is the heartbeat of Sweetwater Sound. Our application harmoniously interconnects the diverse needs of over 700 concurrent users. We’re always seeking out more developers to fulfill the needs of a constantly growing company. Here’s a look into the strategies that Sweetwater uses to onboard developers new to the 4D platform.
SVG “non-scaling-stroke” attribute support
Sometimes it’s preferable to have the lines of an object keep their original width, regardless of the applied transformation. For example, you draw a line on a map showing a user’s position and a destination. When the user zooms in on the map, you want to enlarge the map but have the line maintain its width.
On resize… On resize… On resize…
Wondering how to create a nice and dynamic user interface? Typically when a form is resized, the form objects whose horizontal sizing or vertical sizing properties are set to move or grow, are automatically resized. In some cases (e.g., finer user interface management), developers choose to manage form object size and position by programming. To do so, they check the “on resized” event which is triggered within the form method. But what happens when the form contains one or more subforms? On many levels? This blog post gives you the answers!
Using 4D libraries within project databases
4D provides libraries to help you develop applications. One of these libraries is standard and contains preconfigured form objects and widgets, while other libraries are custom. The standard library is “read-only” and its behavior doesn’t change when developing project databases (with the exception of minor, cosmetic interface differences). You also have the ability to create your own custom libraries to save your own form objects or group of objects. In this case, a few changes have been made to make them even more powerful. The following is everything you need to know about these changes:
New 4D View Pro form events
As of 4D v18, a new set of 4D View Pro form events are available. They return special information that can be accessed with the new FORM Event command, introduced in this blog post. Say hello to: “On Column Resize”, “On Row Resize”, “On Clicked”, “On Double Clicked”, “On Header Click”, “On Selection Change”, and “On After Edit”.
Expanding the abilities of the Form event command
As you may already know, the Form event command identifies the type of form event that has just occurred. It’s typically used within a form or object method.
Some changes have been made in 4D v18, but it’s all good. Here’s what you need to know:
Project databases: beautify your forms with style sheets
Classic 4D binary structures let you define style sheets to specify the font, font size, and text style to use in your forms for both the macOS and Windows platforms. Project databases let you go even further by letting you define the properties of a 4-state button or specify the color and border of all line objects or even set the header height of all of an application’s list boxes! Inspired by the grammar and syntax of CSS, 4D adapted it to meet the specific needs of the forms in 4D project databases. Thanks to style sheets, you can configure all of the properties to create truly visually appealing forms. This blog post shows you how!
Multiple 4D data sources, interested?
We’ve got an exciting new feature to announce in 4D v18 and the title may have already given you a hint!
This feature opens new possibilities for client/server work. Rather than being limited to the current database and requiring a permanent network connection, an application in 4D v18 can get data from another, remote 4D database that’s exposed on a 4D server!
A lot of options become available thanks to this feature. For example, you could organize your applications to work offline and only synchronize local data when remote data is reachable. Or you could consider publishing your data on multiple servers and switching from one to the other as necessary. Another option could be splitting your data model across different databases (e.g. local data, international data). What about having your data distributed in different places yet still accessible through a single 4D client code (project methods and form objects)? All of these scenarios are now possible and this blog post tells you how!
Project databases: From binary to text-based
4D v17 R5 marked the start of beta testing for a new type of 4D database: project databases. In 4D v18, we’re thrilled to announce that project databases are now in final release. It’s time to take advantage of the power of the 4D development platform combined with the versatility of a lightweight and distributed format!
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