New features banner
See what's new in version 27 (EbookPDF)
 

New Diagram Editor control

The new Diagram Editor control really stands out among the main new features in version 27 . This control allows you to include superb diagram creation and editing functionalities in your applications and sites without writing a single line of code: all these functionalities have been automated into one control.

What is a diagram?

A diagram is a graphic representation.

A diagram can be used to represent structures, architectures, material infrastructure, plans, processes, mechanisms, unconventional flowcharts, etc.

A true fully-fledged program

Control

The Diagram Editor control is equivalent to a full program: it allows you to create diagrams without writing one line of code.

End users of your application or site can create, edit, save and print their own diagrams.

The control takes care of everything.

All types of diagrams are supported: logical diagram, flowchart, workflow, plan, IT infrastructure, process, vector graphics, electronic schematic diagram, mind map, etc.

Programming

The Diagram Editor control can also be handled through programming.

Your application or site can create diagrams, and can edit or complement a diagram made by a user.

Diagram Editor control in WINDEV and WEBDEV, a code-friendly control

Overview

The Diagram Editor control has 4 main areas.

You can hide one or more areas and customize the ribbon programmatically.

1. Left: library of preset shapes

2. Top: toolbar

3. Right: modifier, to edit the selected shape

4. Center: diagram

Generate diagrams programmatically

The Diagram Editor control requires zero code.

However, according to your needs, you can access all the functionalities of the editor through programming.

  • Array of shapes

    In the code, the diagram is an array of shapes.

    This array of shapes contains all the shapes and images of the diagram.

    Each shape includes its coordinates and properties.

    This makes it easy to edit a diagram, add shapes and images through programming.

    All the functionalities of the Diagram Editor control are accessible in the code.

    To add a shape to a diagram programmatically, simply add it to the array of shapes: the control will automatically display the shapes.

    Of course, you can edit or delete a shape.

  • Native types to handle shapes

    Version 27 includes the necessary WLanguage types to easily program the processes you want.

    The Diagram native type allows you to handle the whole document. The Diagram has many properties:

    • dimensions
    • layout
    • background color
    • zoom
    • grid
    • ...

    The native Shape type allows you to handle all the shapes with its numerous properties: X, Y, width, height, text, background color, opacity, shadow, array of links, etc.

    Other native types derive from the Shape type:

    • Rectangle
    • Link
    • Triangle
    • Shape that contains shapes
    • Circle
    • Polygons
    • Image
    • ...

    All these types inherit the properties of the Shape type and have specific properties: radius, etc.

  • New WLanguage functions

    New WLanguage functions now allow you to create and handle diagrams through programming:

    • DiagramLoad
    • DiagramSave
    • DiagramToImage
    • DiagramToSVG
    • iPrintDiagram
    • ...
  • New properties

    New WLanguage properties are also introduced to define and configure diagrams programmatically:

    • Zoom
    • Grid
    • Show/Hide library, modifier and ribbon
    • Paper size
  • New processes

    New events are introduced to manipulate diagrams programmatically. They are added to existing events.

    • Click in the diagram
    • Create a shape
    • Select a shape
    • Change shape
    • Right button
    • Move a shape (Drag and Drop)
  • Diagram Editor control in WINDEV: Example of a mixed diagram
 

New features of the PDF Reader control

The PDF Reader control keeps evolving and now includes essential features to handle PDF documents.

Fill out, save and print forms

Highly anticipated new feature for the PDF Reader control in version 27: ability to fill out a form.

The completed form can then be printed and/or saved.

End users can directly fill out the form.

PDF Reader control in WINDEV: fill out, save and print forms

End user digital signature

The PDFSign WLanguage function already allows signing documents programmatically. In version 27, end users can sign PDF documents in the PDF Reader control. The signature option can be found in the ribbon. End users must simply select the desired certificate.

In version 27, end users can also add their digital signatures to a PDF document that has been previously signed. You can also use multiple signatures on PDF documents programmatically.

In version 27, a banner indicates if a PDF file is signed, and also indicates the number of signatures. By clicking on this banner, end users can view the signature details.

  • Handwritten signature, handwritten initials

    The PDF Reader control in version 27 offers end users numerous options for handwritten signatures:

    • draw signature with the mouse
    • keyboard input with a cursive font
    • image from the clipboard
    • image from disk
    • ...
  • Generate black & white PDF documents

    Besides the PDF Reader control, the new Grayscale and BlackAndWhite options of the iParameterPDF function allow you to generate a black and white or grayscale PDF documents.

Watermark added by the end user

In previous versions, it was already possible to insert a watermark on one or more pages of an existing PDF through programming or in the print preview.

In the PDF Reader control in version 27, end users can insert a watermark, choose the text and set the text position, angle, font, size, color and opacity.

PDF Reader control in WINDEV: Watermark added by the end user
 

Your applications in Windows 11

WINDEV 27 applications are compatible with Windows 11

Windows with light theme, dark theme and windows-11 style

In WINDEV 27, you can create windows using the design language of Windows 11. The application can use a light or dark theme.

Publish your applications to the Microsoft Store

The Microsoft Store allows you to publish free or paid applications. Applications developed with WINDEV 27 can be distributed through the Microsoft Store for Windows 11.

Windows 11 design language: What changes for UIs

Windows 11 offers a new type of UI: rounded window corners, controls spaced further apart, scrollbars and menus with a different appearance, the "maximize" button invokes a popup menu, and more. The following new features explore some of these changes.

The windows

The 2 main changes for windows in Windows 11 are
  • rounded corners
  • the Snap Layouts menu: the Maximize button invokes a menu with a window layout.
In Windows 11, WINDEV application windows have rounded corners by default. You can avoid displaying these rounded corners by using the clipping feature available in WINDEV. The windows are compatible with the new Snap Layouts menu and its gestures.
In Windows 11, WINDEV application windows have rounded corners by default. The windows are compatible with the new Snap Layouts menu and its gestures.

Other new features for Windows 11

  • Margins and spacing

    In Windows 11, there are wider margins between the window border and the content, and controls are further apart. When you use Windows 11 skin templates, your applications adopt the new margin and spacing standards.

  • WINDEV 27: Windows 11 menu

    Windows 11 menu

    Menus also change in Windows 11. Just like with controls, spacing has been increased: this takes up more space, but increases readability and makes apps more touchscreen-friendly.

  • The image catalog provided in WINDEV 27 includes a new set of icons with the Windows 11 design language

    New icons

    Icons have also changed in Windows 11. The image catalog provided in WINDEV 27 includes a new set of icons with the Windows 11 design language.

  • Scrollbars

    In Windows 11, scrollbars use 2 different aspects depending on whether or not they are in use. When not in use, the scrollbar has a light appearance. When hovered over, all its details are shown: the scrollbar widens and the up and down arrows appear.

 

New features of the Image Editor control

The Image Editor control allows you to include a full-blown image editor in your applications. End users can edit images and photos directly in your applications, without having to install and use third-party tools.

OCR on an image area

In version 27, the Image Editor control allows end users to define an area on an image and run OCR to retrieve the text from that area.

This makes it possible, for example, to automatically retrieve a delivery or billing address, the contents of an order, etc.

In version 27, OCR processing requires zero code.

In WINDEV 27, the Image Editor control allows end users to define an area on an image and run OCR to retrieve the text from that area

Blur an area of the image

A new feature in the Image Editor control allows end users to easily blur an area of the image.

Blur programming

You can blur part of an image or Image control programmatically.

To blur a control, simply use the new dBlur WLanguage function, passing the name of the control and the percentage of blur as parameters.

To blur an area, simply pass the coordinates of the area as parameters.

 
Artificial Intelligence: Analyzes photos and images

Detect people and objects in images

Version 27 features an artificial intelligence engine to detect objects in images. The new AI functions (AIDetect and AIModelDetect), as well as the aiImageResult, and aiNeuralNetworkModel WLanguage types, allow for easy programming.

82 Default objects + your own objects

Note: we are not objects, sure, but the concept of "object" also includes living beings!

82 objects are included as standard: face, human being, dog, cat, table, car, license plate, etc.

You can define other objects to be detected. In this case, you will need to provide the object recognition model.

WINDEV 27 features an artificial intelligence engine able to automatically detect 82 objects: face, human being, dog, cat, table, car, license plate, etc.

Programming

There are 3 common uses for the standard list of objects:

  • detect all objects in the image
  • detect a given object in the image: all dogs, all cars, all license plates, etc.
  • detect a given list of objects.

AIDetect returns an array of aiImageResult containing the type of object, the coordinates of the polygon that contains the object and the confidence level.

 

13 new Smart controls

Version 27 includes 13 new Smart controls:

  • Tokenized email address input with autocomplete
  • Form with non-blocking required input
  • Drag & Drop rows in a Looper control
  • WEBDEV PDF reader
  • WEBDEV timeline
  • Combo Box with input
  • Popup side panel
  • Tokens as filters, with horizontal scrolling
  • ...
WINDEV, WEBDEV and WINDEV Mobile 27: 13 new Smart controls
 

HFSQL: New "Password" item

Passwords are not stored, but your app can check them

Security: "Password" item without stored password

In version 27, a new advanced type of HFSQL item is introduced: the Password advanced type.

This new type of item does not store the actual password.

This means there are no chances of hacking into the database to obtain this password.

Before being stored, the password will be both salted and hashed.

Salting consists in adding a random string to the password. If two users enter the same password, their salted passwords will be different.

This salted password will then be hashed, making it unidentifiable.

The result of these irreversible operations is stored in the database, instead of the original password.

Attackers cannot cannot reverse engineer the password from the result of these operations, but you can still check if a password matches the original one. The password cannot be read, but it can be compared.

With this new type of item, hackers can no longer steal passwords by accessing the data file.

 

Native Python calls in WLanguage

You can now call Python code natively from WLanguage, just like .Net assemblies, SOAP web services, etc.

Importing the .py file into the environment allows the code editor to automatically recognize all the functions of the .py script.

Each function in the script is then considered as a native WLanguage function.

The Python engine is initialized using the PythonInitialize function.

 

WINDEV Private Store

Users install your WINDEV applications from your own store

Easily distribute your software within an organization

Version 27 includes a Private Store. This store allows you to group applications used within an organization.

The Store can be accessed from within the organization only, or be publicly accessible.

A portal with optional authentication allows authorized users to install applications.

This standardizes and simplifies app distribution within an organization.

WINDEV Private Store: Users install your WINDEV applications from your own store

Easy implementation with existing infrastructure

The Store is provided as standard in version 27.

Simply install it on a company server, or in the cloud (PCSCloud.net for example).

In WINDEV, when creating the installation for the app, select "Private Store".

The installation is deployed to the Store server either automatically at the end of the installation generation, or by manually uploading it to the server.

Public application and private application

A store can contain applications accessible both with and without authentication.

By accessing the server with login credentials, users see only the applications they are allowed to install.

This makes it possible to keep certain applications "private" and limit their distribution.

How does it work for the users?

You can provide end users with one of the following:

  • the direct link to the application
  • the link to your Store

If authentication is required, it can be implemented:

  • via the User Groupware
  • via oAuth (Microsoft, Google, Facebook, etc.)

The application is automatically installed on the device: your helpdesk is not burdened with requests, which reduces operating costs.

Automatic update

When a new version of an application is installed on the Store, users will automatically be prompted to update the application next time they open it.

Version history on the server

The version history of each application is kept on the server, which makes it possible to go back to a previous version if necessary.

 

WebSocket Client on desktop and mobile

Useful real-time applications

WebSockets allow for a real-time, bi-directional data exchange between a smartphone or tablet and a server.

This facilitates the development of instant messaging applications, and more generally, makes it possible to send data from a server to a mobile device.

Call a WebSocket server from a desktop or mobile app

The WebSocket WLanguage functions are now available for desktop applications in Windows and mobile applications in Android and iOS.

Therefore, this family of functions is available in WINDEV, WEBDEV and WINDEV Mobile.

It is now possible to connect to WEBDEV's standard WebSocket server, and to any other WebSocket server.

WebSocket Client on mobile: WebSocket functions are available in WINDEV, WEBDEV and WINDEV Mobile
 

OpenAsynchronous: Open function with callback allows for more linear code

Transition to mobile devices made easier

The OpenAsynchronous function has just been added to WLanguage.

With this new method, you can effortlessly open mobile windows.

Simply pass 3 elements:

  • window name
  • parameters, if needed: client identifier, etc.
  • callback to be called when the window is closed.

The advantage of this syntax is the ability to write linear code, and open windows without blocking the app.

The window closing code is just below the opening code.

It is no longer necessary to write this code in the "Close child window" process.

The OpenAsynchronous function has just been added to WLanguage in WINDEV 27: Open function with callback allows for more linear code
 

The new Camera control

A new "Camera" control is introduced in WINDEV Mobile 27.

The Camera control is used to:

  • take photos
  • record videos
  • scan bar codes

This control is very powerful, and has a wide range of settings.

A dedicated Smart control has been included in WINDEV Mobile 27 to easily implement all the functionalities of the new Camera control.

The new Camera control in WINDEV Mobile 27: Integrate photo and video capture into your applications
  • Main features of the Camera control

    The Camera Smart control, based on the new Camera control, boasts many features and includes everything end users expect:

    • Display mode: homothetic, extended, etc.
    • Pinch zoom (or zoom set programmatically)
    • Touch to focus (or focus set programmatically)
    • Flash and torch
    • Front/back camera
    • ...
  • New WLanguage function families

    The Camera control management functions have now been unified in WLanguage: this new function family is identified by the Camera prefix.

    The old Video functions are still supported.

  • New WLanguage properties for the Camera control

    WLanguage includes new properties to make programming easier:

    • ..Camera (front, back)
    • ..Flash
    • ..Torch
    • ..Zoom
    • ..WorkingDirectory
    • ...

Add processes to photo and video capture

The Camera control is fully customizable.

Since it is a control, it can be used in a window with other controls.

For example, the developer can create preset buttons such as "Move to folder", "Encrypt", "Send OCR result in message body", "Run image recognition", etc.

 

Table control in WEBDEV

11 Essential new features

Table controls in WEBDEV 27 are enriched with essential features for your users: There are more UI customization possibilities:

  1. Ability to select a cell, instead of the whole row.
  2. Ability to move the selection range using the arrow keys.
  3. Ability to define a specific tooltip for each cell.
  4. TableInfoXY, a new WLanguage function to identify the type of element being hovered over.
  5. Sort columns: ability to click the column header to sort data.
  6. Bigger, more practical search icon.
  7. The search context menu has been revised and improved.
  8. "Contains" search mode by default.

The following 3 new features are also useful additions:

  1. More intuitive Table creation wizard.
  2. Ability to hide columns by layout.
  3. Ability to store values in Attribute columns. This type of column is not displayed.
11 essential new features for Table controls in WEBDEV 27
 

Sophisticated text adjustments

Sophisticated text adjustments in WINDEV 27

Font size: additional units for more control

In version 27, you can use new units to set the font size in controls for mobile devices: control labels, characters entered, icons, buttons and combo boxes, among others.

The available units are:

  • legacy unit (uw)
  • point (pt)
  • logical pixel (px).

Decimal values are supported (2 digits after the decimal point).

These units allow you to precisely define any size.

UIs can be more finely tuned.

If no unit is specified, the legacy unit will be used by default.

Adjust character spacing

Character spacing determines how far apart characters are from each other.

In version 27, you can adjust character spacing: control label, input text, etc.

This allows you to condense or expand text without changing the font.

Text settings in WINDEV 27 allow you to adjust character spacing with precision up to 2 decimal places
  • Adjustable line spacing

    Line spacing defines the space between 2 lines.

    In version 27, you can finely adjust line spacing in a text, by choosing the unit, and specifying two decimals if necessary.

  • UI: Greater text customization

    Using these three new features:

    • font size unit
    • character spacing
    • line spacing

    now you have total control over text and text layouts.

 

WEBDEV 27 editor, faster than ever

The WEBDEV environment is significantly faster in version 27. Some actions are up to three times faster, which obviously improves workflow in the environment.

WEBDEV 27 editor, faster than ever

Page generation: up to 3 times faster

In version 27, pages are generated three times faster in large projects: you will notice this improvement right away.

  • Update templates: 3 times faster

    In version 27, you can update templates 3 times faster.

    Since most websites developed with WEBDEV use templates, you will also notice this improvement right away.

  • Faster compilation

    In version 27, projects are compiled using all processor cores by default: this reduces compile time, depending on the power of your machine.

    Since modern processors come with more cores, this feature is likely to prove itself very useful.

  • Faster compilation after retrieving elements from the SCM

    When other team members check elements back into the SCM, pages are recompiled and generated when these elements are retrieved.

    In version 27, these operations are optimized and are on average 3 times faster.

  • Remove obsolete features from pages

    The environment in version 27 includes a useful feature to detect obsolete technologies in your projects.

    Using some of these obsolete technologies results in larger and slower pages, thus increasing generation time.

    To accelerate these pages, simply follow the suggestions shown in the environment.

 

WEBDEV Application Servers in Cluster mode

2, 10, 100, 1,000 Servers

With the WEBDEV Application Server in version 27, you can create server clusters with ease.

Clusters make it possible to install as many application servers as desired, and thus to distribute the site workload across these servers.

Simple operating mode

A cluster can be installed in 4 simple steps.

  • Step 1: The load balancer

    The first step is to install a Proxy which will distribute the sessions across the different servers.

    This proxy comes with WEBDEV, as both a Docker image and a VM.

    Simply install this Docker image or VM on a Linux server.

    Please note that the application servers that will make up the cluster do not have to be in the same location.

    You can also use a proxy of your choice to distribute the load across the different application servers.

  • Step 2: The first application server

    Simply install the first application server in cluster mode on a physical Windows server (or VM) at the location of your choice.

    The Cluster mode can be selected when installing the application server.

  • Step 3: The other Application Servers

    When installing the other servers, simply indicate that they must join an existing cluster.

    The cluster must then "accept" the new application server (for security reasons).

    Each application server can be installed on a physical server (or VM) at any location you want: datacenter of your choice, in your premises, etc.

    The new application server adopts the settings of the cluster, as well as the accounts.

    The new server is added to the existing cluster, and synchronizes automatically: the sites on the other machines in the cluster are automatically installed on the new server.

  • Step 4: the database

    The database can be at any location.

Databases

The application server cluster works with all available databases.

  • HFSQL
  • HFSQL Cluster
  • HFSQL Spare
  • External database
  • Big Data database
  • ...

The database has to be accessible from each cluster node.

The database can be located on one or more physical servers or VMs: single server, cluster or a Spare server, on your premises or in the cloud...

Advantages: Redundancy, availability in case of failure

Implementing a cluster of WEBDEV servers in different locations provides certain advantages:

  • Availability in case of hardware failure: if a disk or machine fails, the other machines remain available.
  • Availability in case of software failure.
  • Availability during Windows updates: when a Windows update is running, the other machines remain available.
  • Horizontal scalability: during high-demand periods, add 10 servers and you're ready to go!
  • Application server update: you can do it by stages, with zero downtime.

Web administrator: Monitoring tools

The WEBDEV administrator (Web version) allows you to manage every aspect of the cluster:

  • List of nodes
  • Status of nodes
  • Server load
  • Add or remove a node
  • ...

Any site updates or any changes made to the configuration or account on an application server will be automatically synchronized with the other servers.

 

New Smart control: PDF Reader control

The "PDF Reader" Smart control allows you to integrate a standalone PDF reader into a page.

With this Smart control, the PDF is opened directly within the page, in your site.

The standard PDF reader features are available in the Smart control:

  • access pages by number
  • text search
  • print
 

Pages in session mode: now SEO-ready

A little reminder

When you develop a site with WEBDEV, you can choose between 2 main architectures:

  • standard mode, based on automatic sessions
  • AWP mode, without sessions, which requires managing contexts programmatically.

Before version 27, there was no specific URL per page in session mode. This prevented developers from making these pages SEO-ready.

The only way to obtain SEO-ready pages was to use AWP.

In version 27, a major improvement has been made: you can create SEO-ready pages, each with its own URL, in session mode.

How does it work?

What happens when a user types the URL in a browser (or clicks it in a Google result)?

WEBDEV Application Server detects that there is no active session for this user, so:

  • it starts the creation of a session
  • it executes the project initialization code
  • it opens the requested page (without opening the "first page" of the project).

Once the session is created, all calls to the server benefit from the open session and are therefore much faster, compared to the AWP mode.

The other pages in this session are displayed automatically.

Programming is as simple as usual.

 

PAGEDISPLAY AVAILABLE IN BROWSER CODE

IT MAKES EVERYTHING EASIER

In version 27, the WLanguage PageDisplay function is available in browser code.

You no longer need to handle URLs, which translates into simpler code.

PageDisplay in browser code in WEBDEV 27
NEED MORE INFORMATION?

"*" indicates required fields.

The data you provide will be treated confidentially.

The data is processed for professional purposes only.

It will NOT be shared with other companies.

PC SOFT logo PC SOFT logo