Product

Dates inside objects!

Automatically translated from English

Objects are great! Their flexibility, combined with speed and elegance, make them a first choice for most developers. Using dates inside objects is now easier and more intuitive. From now on, dates can be set as datesand not strings inside objects!

News

Check out our Security Guide!

Automatically translated from English

Over the years, security has become a core topic for business applications. As a 4D developer, you are constantly facing customers who pay close attention to the level of security in the solutions they use for running their everyday businesses.

To help you answer your customers’ security-related questions, we are pleased to announce the release of the 4D Security Guide.

This reference document describes all the built-in tools and techniques involved in creating a secured environment for your business applications: from authentication and TLS encryption, to data access system and data protection. Now it’s time for you to check it out!

Product

Another way of coding: Object notation

Automatically translated from English

Objects are great, everyone says so. Beside their wonderful flexibility, they are unbelievably fast. You can search through millions of records in just a fraction of a second. 4D v16 even allows to order by object attributes, and to do calculations such as Sum or Average.

With 4D v16 R4, the 4D language has been drastically enhanced to make the usage of objects much more comfortable – with the support of the object notation. Fast, flexible, efficient and now elegant!

Events

LR presents the new Cache Manager at 4D Summit 2016

Automatically translated from English

Cache management is actually a key element of the database management, Laurent Ribardière presents at 4D Summit Portland 2016 the new cache manager he implemented in the 4D v16 64-bit version.

Before watching the technical presentation with details about the implementation, we recommend to start with these two blog posts, describing the feature benefit itself:

Product New info in 4D Maintenance and security center MSC

New info available in MSC dialog

Automatically translated from English

If you are using a huge database with a lot of data, you should be very familiar with the 4D MSC dialog. The Maintenance and Security Center contains all the tools needed for information, verification, analysis, maintenance, backup & compacting of data and structure files.

Based on recent feedback from some of our users, we have enhanced this dialog in three ways:

  • A link to the path of the log file has been added
  • New global information on the data is accessible
  • Information about tables are now available in both maintenance and standard modes
Product 4D Database: Search in array attribute

Search by linking array attribute query arguments

Automatically translated from English

Object fields, introduced with 4D v15, allows to store and index unstructured data. This could be a common set of data, like first name, last name, birthday. It could be different data in each record, such as a shop that will need different attributes for shoes (size, color), computers (CPU, memory), printers (color, ink), a list of values or all in any combination.

Here is a real User Story from a 4D customer :

My badge application manages the access rights for each person to a building and for a time slot. This information is stored in a database as an array of objects ( e.g.: {access right, building, time slot} ). I want to be able to look for people who have access to a building during a time slot.”

4D provides several ways to query for data, using index and so extremely fast.

Product 4D Database: Sort records by object attribute

Sort records by object attribute

Automatically translated from English

At each 4D release, object fields become more and more powerful.

A new 4D command for sorting your record selections according to one or more attributes is now available with 4D v16 R2. The new command ORDER BY ATTRIBUTE works the same as the command ORDER BY; you just have to pass an attribute path by which you want to order your selection – easy!

Tips

Detailed analysis of your database structure

Automatically translated from English

Did you know that you can retrieve very detailed information on a table, field, indexes, relation or even on the complete database structure? This kind of information is always very useful for analysis or introspection purposes. Of course, you could use the 4D Pack deprecated commands: _AP Get field infos and _AP Get table info. Another option is to use the SQL system tables.

None of them allows you to retrieve all information. So why use a plug-in or SQL when you could use a 4D command? The EXPORT STRUCTURE command returns the complete database structure definition in an XML tree. This command exists since 4D v14 R4.

Product

Take Control of the Cache Manager

Automatically translated from English

4D v16 introduced a new fully optimized cache manager for the 64-bit product line. 4D v16 R2 is giving power to our advanced 4D developers to take control by themselves!

The cache manager internal algorithm is based on a priority concept associated to each object type to store in the cache memory. By default, the cache manager algorithm assigns a higher priority value for an index than for records. And recently used objects (records or indexes) have a higher priority to remain in the cache than objects that have not been used in the last two days, etc…

Product

Boost your performance with the new cache manager

Automatically translated from English

The 4D v16 version has definitely been designed for better performance and scalability. In addition to major features like preemptive multi-threading, 4D v16 64-bit is embedding a brand new cache manager for a optimized handling of objects in cache memory avoiding any fragmentation issues.

The new cache manager improves the usage of very large cache for modern computers (with 64 or even 128 GB of Cache) allowing to take advantage of low RAM prices to have even large databases fully in memory. It also improves the situation of small cache size with very large data files, by decreasing the amount of unloading memory with increased support of priorities for data objects to be hold or released from cache.