News

An introductory guide to 4D and Version Control Systems

Automatically translated from English

For many years, 4D has allowed you to develop binary databases as part of a team with a 4D Server. This way of developing is straightforward, but many developers asked us to be more efficient on source code management to deliver better traceability. 4D has heard them and developed Project mode to fit this need. This mode opened a new era of collaboration thanks to version control systems!

News

4D v19 R2 is Here

Automatically translated from English

We’re pleased to announce that 4D v19 R2 is now available!

Here’s an overview of what this feature release has in store for you:

Download 4D v19 R2 

  • 4D for Android (our development platform for Android devices) is now final with 4D v19 R2. 
  • Speaking of mobile, new features for iOS and Android platforms are now available, allowing you to customize your app’s color, adapt it to dark or light mode, sort its local data, and more! 
  • 4D View Pro: Analyze data with pivot tables. Import and export CSV files. Manage your sheets by programming. Easily handle page breaks (for printing purposes) from the user interface.
  • 4D Write Pro: More display options for inline and anchored pictures. We’ve also made it easier to format the images as background documents, sections, paragraphs, etc.
  • More Object-Oriented programming features that will please your developers. Beyond the storage aspect, memory management and speed performance will be significantly enhanced with blob content for object attributes.
  • Features that incorporate best practices such as defining a default .gitignore file and managing Byte Order Mark (BOM) and End of Line (EOL).
  • Features that enhance your experience as a developer, such as getting access to the details of a class function from the code editor.
  • Features that make the end-user experience smoother, such as automatic component signing on Mac.
  • And if you’re a software publisher, you’ll be happy to know that we’ve added a feature that prevents the users of your application from seeing (and modifying) the contents of the 4DZ.
Tips

How to define sleeping timeout for remote 4D applications

Automatically translated from English

To prevent session loss, 4D monitors the sleeping state of remote 4D applications.

When a user is connected from a remote 4D application to a 4D Server and their computer goes into sleep mode, the information is sent to 4D Server. At the moment the user’s computer wakes up, the remote 4D application then recovers its execution context.

Product

Secure your app’s resources with a new algorithm

Automatically translated from English

When generating .4dz files, 4D uses a standard zip format by default. If you are a software publisher, you’ll be happy to know that 4D v19 R2 added a feature that allows preventing users of your application from seeing the content of the 4DZ, and therefore from being able to modify it.

Tips

How to take advantage of GitHub actions with 4D

Automatically translated from English

Your project is now on a source control system. This means that managing several versions of your software, monitoring changes, and integrating corrections or new features is much simpler now.

Why not also take advantage of continuous integration?

Starting with 4D v19, you can launch the compilation of your project with a command. As a result, you now have all the building blocks needed to automate your integration chain.

This blog post will give you an example of automation with the GitHub manager and GitHub Actions.

Tips

4D REST API + ReactJS

Automatically translated from English

by Mourad Aouinat, Software Engineer at 4D Morocco

In a previous blog post, we saw how easy setting up a REST API using 4D. In this blog post, we will leverage the powerful 4D REST API in combination with React to build a To-Do app that includes features to open todos, create new ones, modify existing ones, and features for bulk modification and bulk deletion.

Tips

How to automate the compilation

Automatically translated from English

Since 4D v19, you can start the compilation of a project with a simple command. You might be wondering what you can use this for!

Your team may consist of several developers, so why not automate the compilation at each code push on your source control server? It is always easier to identify an error when it is quickly detected.

Another case is when your project consists of several components. You can write a method that compiles, builds, and then copies the component to the host database.

This blog will discuss the different technical points that are very useful to create your own automation tools, along with an example application.

Tips

Toggle Dark & Light Mode on macOS in one click

Automatically translated from English

As of 4D v19, you have the possibility to create applications that support the Dark and Light mode on macOS. To do this, you have to modify and check many small details: icons, widgets, texts, background colors, etc.

As a result, you need change the appearance of your mac dozens of times per hour. OK, you might be thinking, “What? All it takes is three clicks. Open the preferences panel, click the general icon, then the light or dark control, that’s it!“. But honestly, if you are a developer or a tester, repeating these actions over and over again becomes very tedious. 

Guest Post

4D v19 performance on Apple M1

Automatically translated from English

by guest author Roland Mulder, CEO Micro Consulting SA, Switzerland

 
My company develops Office Maker and BiblioMaker, a business and library management software mainly used in Switzerland by thousands of users. The first lines of code were written in 1986 on a Macintosh Plus with 4D version 1 (“4e Dimension” back then).
 
I remember my astonishment in 1989 when I first launched our software on a Macintosh SE30. Everything was suddenly so fast! I simply could not believe my eyes.
 
These fond memories came back when I first launched our applications on a new iMac M1 after compiling natively with 4D v19. As you can imagine, after 35 years of constant development, they have become much larger and sophisticated beasts. My eyes opened wide as soon as I double-clicked on the first one. Such a fast launch! And my jaw fell to the floor when I opened elaborate multipage entry layouts with plenty of filled list boxes. Absolutely instantaneous!