4D v13

NEW IN 4D v13

warning: file_get_contents(http://www.telize.com/geoip/ [function.file-get-contents]: failed to open stream: HTTP request failed! in /var/www/www.4d.com/docs/includes/common.inc(1762) : eval()'d code on line 4.


As the business application ecosystem evolves, so must the tools used to create and deliver solutions to users. Rich data, Web technologies and deployment across a wide variety of platforms are becoming as important as traditional desktop and client-server solutions.


Richer data visualization

List boxes allow you to present data however
you choose, with more flexibility than ever.

Enriched list boxes bring data to life

The list box is a key component to any business application. When data is the most vital part of a solution, viewing and organizing it in a meaningful and efficient way is critical to its ease-of-use. It is even more relevant when a significant amount of data needs to be displayed or viewed within the app. The list box has classically been the component of choice to visualize data. 4D v13’s new list box component significantly improves behavior and display to be more intuitive for users and easier to implement for you.


Headers and footers for quicker computations

Headers may contain multiple lines of text, and their height – like those of all rows – can now be automatically determined based upon the number of lines and the font size of the text. You do not need to calculate and specify row heights, and users will see the data as it’s meant to be seen. Footers may contain automatic calculations such as minimums, maximums or counts, or even custom values based on programmatic formulas. List box columns can be locked for easier viewing of wider tabular data and also benefit from new resizing features.


Dynamic hierarchical list boxes
Load and display data dynamically and more efficiently as well. For large amounts of data, code the behavior so that only the necessary viewable portion is loaded as it is called, hence reducing burden on both the client and server.


New commands

Over 25 new and/or improved commands pertain directly to list boxes, including new getters and setters, as well as list box events (e.g. “On Collapse,” “On Expand,” and more). All of the new list box functionalities can be controlled programmatically.




The Latest Web Technology

Get the exact look and feel you want by
incorporating Webkit-enabled Web Areas to
have an identical interface across all

Webkit integration within your apps

From its very early days, 4D has been committed to cross-platform equality. And with the growing use of the Web as a platform in and of itself, 4D’s Web Area has been a popular method of incorporating Web-based technologies such as HTML5, CSS and JavaScript directly into your applications.


Webkit integration
By default 4D’s Web Area uses each platform’s native browser engine, namely Safari on Mac OS X and Internet Explorer on Windows. By selecting the “Use Webkit” option, the open source Webkit engine is thus integrated into the Web Area, guaranteeing identical web rendering and behavior across platforms.


Extended support of third-party JavaScript frameworks
Use Web Area to create dynamic interfaces for fully cross-platform and universal applications. Extend your environment by taking full advantage of JavaScript frameworks like JQuery, YUI, and many others, to add greater flexibility and power to your development. As these external technologies develop, you reap the benefits.

Next generation HTTP server for increased performance

Supercharged integrated Web server
The new, multithreaded server is much more than a means of serving up Web pages. It has long served as one of many ways of making your application data available to others, and now it has been further modernized to bring more capabilities to developers and users alike:

  • Full Web standards support
  • Improved cache management
  • Native GZIP support, with automatic and programmatic compression
  • A new fully-threaded architecture designed for higher scalability


Session handling

With all-new automatic session handling, the context and the environment are automatically restored: Selections and process variables are maintained between two connections from the same client.


New 4D tags for better security

All-new 4D tags like 4DTEXT retrieve text and ensure that no code is injected on the client. Templating is made even easier with 4DELSEIF and 4DBASE tags, which allow web pages to directly communicate with the 4D database.


Process handling

Improved process handling in client-server mode reduces the use of server resources to its bare minimum: Communication is not established except when absolutely necessary.


Expandable HTTP client gives you access to more data

Leverage HTTP to access external data
Your app can take advantage of the new HTTP client to retrieve data from any HTTP server. Use the HTTP client as a go-between from one application or function and the world of third-party data and services available over HTTP.


A lighter, slicker HTTP client
Use less code. Use it as a proxy! With the new HTTP client, you can even build your own synchronization mechanism based on HTTP, no matter what the server is.


HTTP client commands
The client is shored up with five new commands: HTTP Get, HTTP Request, HTTP SET OPTION, HTTP GET OPTION and HTTP AUTHENTICATE. . Get any web content in one single line of code, whatever its type: An HTML page, an image, any binary returned by a HTTP server. Furthermore, developers can take advantage of the Open Data API to create compelling interactions with external public data.


Increased productivity

Look deep inside your code with introspection

Introspection gives you insight on your development

Code introspection
The day hasn’t quite come where code can fully generate and maintain itself, but you can be confident in the integrity of your development efforts thanks to powerful new code introspection features.


Use the Global Find/Replace tool and its new features to easily find all dependencies of a method, to find callers and callees, to rename your variables, methods, replace stylesheets, etc.


Programmatically get/set the code of a method, its comments and even its attributes. And do this for all kinds of methods – project, form, object, database or trigger.


Build your own code explorer
Another means of making code easier to read is by letting you view it however you like. For instance, you can build your own code explorer, use your own custom colors, and arrange your own icons. Turn the explorer into the window you need to better view and manipulate your work, your way. It all depends on what you want to create with it.


Take advantage of your VCS
All of your code can be easily exported and imported, allowing you to use your own version control system (VCS).


Features your end-users will love

Print Preview
Get beautiful print previews in XPS on
Windows to get an accurate view of your
final output.

Externalized application settings
Application settings and preferences can now be stored external to your 4D application’s primary structure (e.g. the size of the database cache, HTTP port number, etc.). This allows for smoother upgrades whenever you update your solutions, especially on large-scale deployments that have numerous users.


Enhanced print preview on Windows
On Windows, print preview is now completely WYSIWYG. End users can take advantage of vectorial zoom and page navigation.


Multilingual spell checking
You now have the power of a Hunspell-compliant spell checker, capable of supporting 100 languages. This makes 4D’s already solid international deployment credentials even greater.



Increased performance

Image metadata
Support for image metadata means
querying and displaying images is as
powerful and fast as with text..

DB4D more robust than ever

4D’s proven database gets boosted with further improvements, resulting in a noticeable performance increase.


Indexed picture metadata
The database engine now indexes picture metadata: Search images and get much faster results based on the keywords that are automatically indexed by the database engine.


Store pictures, blobs and text outside of the data file
This feature reduces the size of the data file itself, so that operations that occur on the file happen much more quickly. 4D will automatically manage the storage and backup of the external data. Or, if you prefer, customize it to your own needs and manage the backup yourself. In the latter scenario, you can store the paths to these external files within 4D, which will remain part of the data that uses the file. Use this to optimize your application’s access to particular kinds of files. For example: Store very large, print-quality images on a large hard drive, while keeping smaller, more used images on an SSD for rapid access. Whichever you use, 4D will always know where to retrieve the files. You may also use this ability when, for example, pictures are shared among different applications.


Boosted graphics rendering

Hardware graphic acceleration
4D uses core OS technologies (CoreGraphics and Direct2D) for all its drawing, automatically taking full advantage of hardware acceleration when available, like in forms, images or rendering structures.


Make your move to 4D v13 now, and take full advantage of its numerous new features and increased performance.


Download a trial version of 4D v13

 Go to the store and upgrade now