4D v18 R3 Beta starts today

We’re pleased to announce the launch of beta testing for 4D v18 R3! So what advances do this feature-release have to offer?

 

  • We strive to evolve the 4D language for a seamless and intuitive coding experience. For this, the 4D language has taken a giant leap with the introduction of Classes.
  • Never be at a loss when trying to determine which operation causes a server to be slow. A new command is at your disposal to help you detect operations exceeding a specified duration.
  • ORDA also has its shares of features, for example, two new member methods. The first allows you to extract data from an entity selection, and the second enables you to immediately get refreshed data from the server.  
  • More than 40+ standard actions have been added to the 4D write Pro interface, extending development possibilities even further.
  • As for 4D for iOS, 40+ ready-to-use templates are now at your disposal (accessible from the project editor.) A single click is all it takes to install the template of your choice.
  • And much more (see below).

Download 4D v18 R3 now (Exclusive to 4D Partners)

Programming related features

Classes

4D v18 R3 introduces a new concept to the 4D language to boost your coding experience: classes. They allow creating applications that are easy to modify and maintain while retaining enough flexibility to take full advantage of 4D language’s rapid development features. Class allows you to define the behavior of objects through properties and functions with the ability of inheritance (where a class can extend another class, and then inherit its functions).

Easy sharing and more

Ever gotten the “Not supported value type in a shared object” error when trying to add an object into a shared object? If you’ve had to write a long piece of code to transform your object into a shared one, then 4D v18 R3 provides an easier solution by enhancing the OB Copy() command and collection.copy() for collections. In addition, new commands are available to make handling objects as hash maps easier. If you have objects whose property names contain dynamic data, these commands are for you.

Enhancement of xPath support

XPath is a language allowing you to easily work with your XML documents. It’s already usable via the DOM Find XML element command and starting with 4D v18 R3, XPath implementation is even more compliant and allows the support of expressions such as //, @, *, last() to simplify your searches.

Multiple web servers in a single 4D instance 

Have you ever needed to use multiple web servers in order to split your web application code into several business units? Or separate the administrator’s web server from the user’s? Or run an old (not preemptive-ready yet) part in a separate instance, to allow the main part to run preemptively? If the answer to any of these questions is yes, then this feature release is for you.

Use an off screen web area

If you need to load web pages, extract metadata, or generate pictures from the contents of pages on a headless server, then you’re in luck! 4D v18 R3 makes it possible by letting you create an offscreen web area with the WA Run offscreen area command.

 

 4D Server administration 

MONITOR 4D SERVER ACTIVITY

To discover which operations cause the server to be slow, 4D v18 R3 provides the new START MONITORING ACTIVITY command to record operations exceeding a specified duration.

 

 

 ORDA 

New Entity selection methods

New member methods are available! For starters, extracting data from an entity selection has been greatly enriched allowing you to build a fully customized collection with your entity selection data. In addition, we’re providing you a way to indicate to an entity selection that its data needs to be refreshed from the server immediately, invalidating cached data. Say hello to the new extract()  and refresh() member methods.

Better list box row selecting

You’ve probably used the LISTBOX SELECT ROW command many times, looping through each entity in order to select the rows for an entity selection. 4D v18 R3 simplifies the process with the new LISTBOX SELECT ROWS command.

 

Project database

Method documentation is back

As of 4D v18 R3, you can write your own documentation for project, database, trigger, project and table form methods. Documentation is saved in a file with the same name as the method or form in a documentation folder in Markdown format. The Markdown language allows you to format text and has a very simple syntax, thus the document is easy to read and write. Plus, Markdown is a standard format for documentation and allows enhanced formatting styles. The format can be displayed in 4D Explorer, in GitHub, or other tools.

Define the font size

4D provides three automatic themes that respect the guidelines of each platform. 4D v18 R3 allows you to override the size of these automatic themes and have more control over how your text is displayed.

 

 4D for iOS 

Ready-to-use gallery of templates

40+ ready-to-use templates are accessible from the project editor. To use a template, a “More” icon is available for both list and detail forms that will display the entire list of templates from the Forms section. All you have to do is select the template, 4D for iOS will handle the installation.

 

 

 Emails 

Download your emails in MIME format 

4D v18 R3 provides a command that allows you to store emails in their original, unconverted, received format. With the POP3_transporter.getMIMEAsBlob() method, you can obtain a BLOB containing the MIME content for a specific message.

 

 4D Write Pro

NEW STANDARD ACTIONS FOR TABLES AND THEIR ELEMENTS

4D v18 R3 adds new standard actions to 4D Write Pro targeting tables, rows, and cells. These actions allow you to define the border type of a table, the background color of a cell, the vertical alignment of the text in a row, the alignment of the table itself in the document, the margins, and the padding … just to name a few.

Make parts of your documents read-only

Want to avoid users accidentally modifying a 4D Write Pro document (fully or partially)? Interested in ensuring that some parts of a document remain untouched? With 4D v18 R3, parts of your documents can be non-editable thanks to new attributes that can be used with the WP SET ATTRIBUTES command:  wk protected (that can be set to almost any kind of target within a document) and wk protection enabled (that enables or disables the global document protection).

 

4D View Pro

MORE OPTIONS TO CUSTOMIZE WORKSHEETS

To create user-friendly documents, you often need to hide a gridline or header, protect certain cells, or simply change the line color to respect the corporate graphic charter. With 4D v18 R3, you can do all this and more with the new VP SET SHEET OPTIONS command.

 

 

Need more technical details? Take a look at the 4D v18 R3 Beta documentation in the 4D Doc Center.

Your feedback is greatly appreciated and will help us improve our product quality and better serve your needs. We’d love to hear your thoughts about any of the features above. Contribute to our “beta version” forum (accessible for all 4D Partners).

Not a partner yet? Become a 4D Partner and join the conversation!

Avatar
• Product Marketing Manager • Intissar joined 4D in 2017 as a Product Marketing Manager. She works closely with the product, marketing, engineering, and technical support teams to highlight the ‘why’, the ‘how’, and the ‘what’ of new and updated features to different audiences. This close proximity allows her to craft messaging frameworks and write in-depth content and code samples for the 4D blog and website. After graduating with an engineer's degree in Computer Science from VINCI university, Intissar worked in several startups as a software engineer. Her hands-on experience includes software specification, design, and development, user training and support, and team management.