New features in WINDEV Suite SaaS 2024 (June) - PDF: Numerous new features
- Read and write in controls programmatically
You can now generate PDF forms with many different types of controls. It is also possible to populate PDF forms automatically. The new version now lets you programmatically read and write to the controls of a PDF form. Now, it is possible to programmatically list the controls used in a form, get their details, read or edit their contents, etc. All the characteristics of the controls can be manipulated using the new pdfControl variable type. - Factur-X: additional options
Now, you can specify the value of the AFRelationship property adapted to the Factur-X mode used, for PDF documents with attachments. Simply use the new constants of the iAddAttachment function. - Extract pages from a PDF file
You can now create new a PDF file containing a page or set of pages from an existing PDF file. To do so, use the PDFExtract function.
- Modifier: better UX... yes, even better!
The Modifier pane lists all the options available in the 7-tab windows and offers some additional options. In this version, the Modifier pane uses a more modern layout and offers a clearer view of the different properties. These properties are sorted by theme and can be easily collapsed. The available properties depend on the selected control. If multiple controls are selected, only the common properties are displayed. Remark: In this version, the Modifier pane is available in Beta version: the most frequently used properties are available in the new layout. The Modifier will receive further improvements in coming versions.
- Key information in the open document tabs
The open document tabs help you quickly identify the elements you have opened in different editors. Now, if there is a code window associated with a window or report, the name of the current event is displayed in the code tab. This makes key information available at a glance.
- Quickly identify the current configuration
WINDEV, iOS, Android and WEBDEV configurations can be grouped together in the same project. The taskbar icon now allows you to to quickly identify the IDE that corresponds to the current configuration: its color changes according to the current configuration.
- Modern shortcuts
Starting with version 2024, you can customize the shortcuts used in the different editors. To go even further, you can replace "legacy" shortcuts with more modern shortcuts found in popular IDEs. For example, to move the current view, you could drag the view while holding the Alt key . Now you can move the view while holding the spacebar. The "Other shortcuts" tab in the keyboard shortcut customization window lists both legacy and updated shortcuts.
- WINDEV skin templates: Key improvements
- The Cell control, added in version 2024, now has two different styles in the skin templates. Use the one that better suits your needs.
- The style of the Flexbox control in the various skin templates has been reviewed and now handles overflowing elements.
- Windows that use the Cobalt or Eleven skin template now use larger internal margins.
- WINDEV Mobile skin templates: Key improvements
Multiline Edit controls now have the same top margin as single-line controls. This makes interfaces more consistent.
- Readable text
Scrolling makes it possible to include long text in a limited space (e.g. a warning message on a telephone screen). New scrolling options for the Static control. You can now choose the scrolling direction.
- Combo Box control improvements
- A new UI error appears if the content of the Combo Box is missing in one of the languages supported by the project. This feature is particularly useful for developing multilingual applications.
- Tip: To display a different value in a Combo Box depending on whether it is collapsed or expanded, use the ..DisplayedValueComboBox property.
- Two additional features for the Word Processing control
- Highly anticipated feature: format painter, available both in the ribbon and programmatically. You can also clear all the formatting of a paragraph.
- The DocToPDF function includes a new feature: ability to export document links. This means that links will also be clickable in the generated PDF file.
- Styles always up to date
Controls can use a style from the project style sheet or from a cloned skin template. In this case, the style can be modified. You can now edit this style directly in the "Style" tab of the 7-tab window ("Edit style" option). Changes will then be applied to all the controls that use this style.
- Delete a container without losing your controls
A useful new feature: You can now delete a Container control and preserve the controls within it. For example, you can delete a Tab control without deleting the controls in the tab pane. The link between the Container control and its children is automatically removed.
- Nested containers: apply coloring to containers
The ability to apply coloring to containers gives you even more UI customization possibilities. Feel free to apply coloring to Cell, Flexbox or Layout containers. This option lets you use color gradients to distinguish each area. To use this function, press F7. You can define the color palette used in the "Display" tab of the ribbon.
- Infinite Looper control: Populate at the top, at the bottom, or both
By default, Looper and Table controls are populated at the bottom: the control is populated with a given number of elements, and when the user reaches the bottom, the following elements are loaded and displayed. New elements are displayed after the existing elements. It is now possible to populate Table or Infinite Looper controls at the top, at the bottom, or both. When enabled, the "Populate at the top" mode will load more elements at the top of the control when the user reaches the first element. The "Populate at the top and at the bottom" combines both modes. The "Add additional elements at the top" and "Add additional elements at the bottom" events allow you to manage both population modes. New WLanguage functions allow you to configure how additional rows are loaded at the bottom of the control.
- Include a WLangage code editor in your websites (WEBDEV's Code Editor control)
The Code Editor control allows end users to write WLanguage code in a website, and offers syntax highlighting. This control can be extremely useful in online courses, for example. Bear in mind that the code is not directly executed, to avoid security risks.
- Automatic Application Features (AAFs) available for WEBDEV tables
An automatic export context menu is now available in WEBDEV. With this feature, visitors of your websites now have the ability to print the contents of Table controls to to PDF, or export them to Excel, Word or XML format. This menu also includes an option to apply filters on table columns.
- Table control: Add options to the AAF menu
Here's another new feature of context menus for Table controls: ability to add a custom context menu to the export menu. You can use your own context menu, and insert it before or after the AAF menu. This feature is also available for TreeView Table controls.
- Control filters programmatically
Users can filter the data by clicking the funnel icon. A new WLanguage event gives you control over the use of this filter mode in your websites.
- Choose the best option: Static Text control or Rich Text Area
Until now, Static Text and and Rich Text Area controls were created using the same method. By default, the Static Text control icon in the ribbon created a Rich Text Area. To create a Static Text control, it was necessary to expand the menu under this icon. In the SaaS version, the ribbon features two different icons for these two types of controls. Now, you can create exactly the control you want with a single click.
- Improved page display
Now, the editor loads pages more quickly, saving you even more time (especially on pages with a large number of controls).
- The 7-tab window is now faster in WEBDEV
The control description window is now also faster. Open the Table control description window to see the difference.
- Give your pages a cleaner layout: WINDEV's UI optimization is now available in WEBDEV!
Modern UIs use spaced-out controls and large fonts. Starting with SaaS version, the font size of all the controls in a selection, page or project can be automatically increased. This means you don't have to use a different skin and resize controls one by one. When the font is resized, all the controls are automatically enlarged and moved to preserve the current layout.
- Page template: 20% faster!
Page template updates have been greatly improved. This translates into significant time savings.
- Smart anchors
When you resize a selection of controls, the anchoring options set for each control are preserved.
- Control permutations: new possibilities
You can always replace an old control with a new one that better suits your needs. However, you can also use control permutations. This is a simple and safe method that preserves your code. In SaaS version, new permutations are available: - transform a Static Text control into a Link control and vice versa.
- transform a Rich Text Area into a Static control and vice versa.
- transformations between cells, Flexbox and CSS Grid controls.
- Other editor improvements:
- For controls with different planes, the plane to be displayed is now indicated in the status bar.
- Object Relational Mapper (ORM)
If the analysis contains model classes, you can generate all model classes in a single operation.
- Insert elements in a selection (SELECT in INSERT)
You can now create an INSERT query from a previously created SELECT query. This makes it possible to insert into a file only the records that match a given condition.
- Reverse-engineer SQL queries directly from the code
The WLanguage code editor lets you create SQL queries using "SQL Query" variables. If necessary, you can create the query visually using the query editor. Now, you can also edit the code of the "SQL Query" variable in the query editor. Simply right-click the SQL code to open the context menu and select "Edit query code". - Code editor: faster than ever
- The code editor is now much faster.
- You can now easily navigate through the different elements of the code editor using the keyboard: code is no longer compiled immediately after pressing the Enter or Back key, but only when the user stops using the keyboard. This translates into massive time savings.
- Better UI for better workflow
- Selected elements in the code editor remain highlighted after leaving and entering the code editor again.
- Code suggestions are now spaced out and are colored according to their type. The type of each suggestion is also indicated. Selection is much easier.
- View the current line
It's easy to get lost in countless lines of code ... now, the current line of code can be easily identified by a thin frame. - Improved Ctrl+D shortcut
Duplicating the current line of code with Ctrl+D is a very common action. This shortcut can now also be used to duplicate the selection on the current line. This is a simple, yet useful new feature. - Undo deletions with Ctrl+Z
Now you can press Ctrl+Z to restore procedures you may have deleted by accident. - New code editor options
- Ability to disable parameter input suggestions: the various parameter suggestions are no longer displayed on the line of code. Depending on your typing speed, this option can save you even more time.
- Automatic deletion of spaces and tabs at the end of lines of code on each save. This allows you to go to the end of the code you just wrote using the End key.
- Feel free to use the minimap: it allows to quickly navigate through the different processes of your application.
- Lines over 1000 characters long
The code editor can now handle lines of over 1000 characters. This allows you to easily paste JSON or HTML code onto a single line. And to scroll horizontally, simply use Shift + scroll wheel.
- A different report on the verso side
WINDEV now lets you print content on the verso side of your reports programmatically, with the iInitReportVerso function. For example, this makes it possible to print the general terms and conditions of sale on the verso side of an invoice. - Totals always included
A new UI error lets you know if there are columns without a total. - Automatic numbers
You won't forget to number your pages ever again. The page number is inserted by default in your reports.
| SCM (Source Code Manager) |
- Reuse previously deleted names
This is a highly anticipated feature among SCM users: add an element using the same name as a previously deleted element. It's now possible! - Check out and recompile automatically
The project can now be automatically recompiled when you check out elements from the repository: simply check the corresponding option.
| Continuous integration - Software factory |
- 2 new actions
The Software Factory includes 2 new actions: - Generate a test library.
- Migrate a project located in a local or shared directory (in addition to the existing option to migrate projects located on the SCM).
- Useful improvements
- Ability to change the order of parameters passed to an action plan.
- Ability to specify a username and password to log in to the SCM repository.
- WDScript: Stand-alone setup
WDScript, the WLanguage script editor, has quickly become a popular tool. To make this program easily available to your users, WDScript can now be installed as a stand-alone tool. It is no longer necessary to select the required files. Remark: WDScript is also available when installing WEBDEV Application Server.
- Automated tests: complete tests
A new type of test has been introduced: "application tests". This type of test is recorded via the WD Automated Test tool and corresponds to an automated test on an executable.
- New static audit features
- Images are commonly used in WEBDEV websites. However, if you use an image that hasn't been saved specifically for the web, the image size may slow down your website. In SaaS version, the static audit now detects images that are too large to be displayed, thus making your websites faster.
- Overlapping controls cause WEBDEV pages to slow down significantly. In SaaS version, the static audit automatically detects overlapping controls.
- New status to keep track of improvements
The Project Management Hub is an essential tool for monitoring projects: requirements, tasks and sprints are all integral functionalities. The Project Management Hub also allows you to log incidents and track their resolution. The new "Retested" status indicates that the incident correction has been validated (by the testing team, for example). - Get everyone involved
During the different phases of a requirement, it may be necessary to send a message to all contributors: questions, more information required for testing, limitations to be aware of, etc. If you use the integrated messaging tool (WDBal), you can select all participants in the current requirement with a single click. - Share your actions
To manage a project, it's important to be notified of the different actions performed on that project: Requirement development completed, Requirement test completed, Requirement task completed, etc. These notifications are automatically sent via the default messaging application: now you can configure everything, from messages to recipients.
| Programming and WLanguage |
- OAuth
- Key new feature: OAuth silent authentication
You can now use OAuth for authentication by directly specifying a username and a password: no login window will be shown to the user. - Another new feature: The AuthLogout function can be used to log out and free the token.
- Encryption functions: new algorithms and encryption modes
In this version, the Cipher Feedback and Cipher Counter encryption modes can be used regardless of the encryption algorithm. Additionally the EncryptStandard function now supports AES 192.
- Emails
- New feature in WINDEV SaaS: EmailAppGetArchitecture determines whether the email application is a 32 or 64-bit version.
- IMAP session: Now you can go over over all the occurrences of a search started with EmailSeekFirst using EmailReadNext.
- Bluetooth Low Energy devices
The BTLECharacteristicChangeOfValue function can be used to generate a notification when the value of a given characteristic changes. For example, this makes it possible to generate a notification when a temperature sensor detects any changes.
- Drive functions
The DriveListFile and DriveListFileGgl functions now get the date and time files were modified.
- Interactive console application
WINDEV applications can now launch an executable in console mode and interact with it. At the end of execution, it is possible to retrieve what the executable has written in the console. Simply use the new cmdXXX functions .
- .NET: WLanguage arrays can now be passed as parameters to .NET functions.
- Socket
SocketRead retrieves a message sent by another socket. When this function was used, it was possible to define the delay time to start reading data. In this version, this function can also be used to define the maximum waiting time without receiving data.
- Miscellaneous improvements:
- The InitRandom function generates random numbers. It now returns the seed used.
- The '=*' operator is now available for non-type parameters.
- The ArraySeek and ArraySort functions are now available for arrays of UUID variables.
- JSON
// and /* */ comments are now supported. - XML
The ..Exist = True property can now be used to force the creation of an empty node.
- New functions
- The new CertificateExport function automatically exports a certificate from the Windows Store to a file. This simplifies all related operations.
- The ControlRectangle function returns the coordinates, height and width of the area occupied by a control, as a variable of type Rectangle. This makes it easy to open a popup menu below an Edit control, for example.
- Optimization of WINDEV applications
The WinOptimize function makes it possible to load, run and resize windows faster. This optimization is particularly useful for windows containing a large number of controls. This function overcomes the limitations linked to number of handles in the Windows operating system (1,000 handles).
- New features in WEBDEV:
- A new "asynchronous" attribute for procedures. This makes it possible to directly handle asynchronous Ajax calls.
- The SchedulerBackgroundColor function can be used to set a color for a resource in a given time range. The code is now the same in WINDEV and WEBDEV.
- WEBDEV SaaS: New WLanguage features in Browser code
New functions expand your possibilities in browser code. - DateToDayOfYear
- LastDayOfYear
- CurrentDay
- In64bitMode
- InAWPMode
- InComponentMode
- TimeValid
- IBANValid
- LuhnCalculate
- LuhnCheck
- Regex functions
- New syntax for the PageCurrentLayout function
- Remember me
The User Groupware login window now includes a "Remember me" option. When configuring the Groupware, simply check "Show 'Remember me' checkbox". In this case, the user will be automatically logged in. To re-enable the authentication process, the user must simply log out.
- Web service test
Significant improvements have been made for testing web services in pre-launched sessions.
- HFSQL triggers
Now, in the procedure execucted in a trigger, it is possible to identify the function that invoked the trigger using a constant, and no longer the name of the function itself. This makes it easier to develop multilingual applications. - Improved composite keys
Composite keys can include keys containing null values. This type of key has been optimized. To use this feature, select "Allow NULL values in indexes of composite keys" in the file description, in the data model editor. - HFSQL server
- Improved cache management on the server side.
- The HCreationIfNotFound function has been optimized.
- Spatial data
Better selection of indexes to speed up searches on spatial data (point, polygon, linestring, etc.).
- SQL
- SQL parameters
In SQL queries, SQL parameters (e.g. "{pMyParam}") are now supported in ORDER BY statements. - New ST_Centroid function
The ST_Centroid function returns a point corresponding to the geometric center of a polygon or multipolygon. - New TIMEDIFF function
The TIMEDIFF function returns the difference between two dates, hours or datetimes. The result is a duration.
- WLanguage functions
- The HImportCSV function lets you directly import the contents of a CSV file into an HFSQL data file. This function defines the correspondence between the data in the CSV file and the items in the data file.
- HFSQL Cluster
- The cluster node synchronization process has been optimized.
- The HDeleteFile function is available.
- Universal replication
- Highly anticipated new feature: ability to add files to an existing replication. It is no longer necessary to redefine the replication.
- Some improvements are have also been integrated into universal replication:
- Change from 4-byte to 8-byte automatic identifiers.
- Modification of items defined as unique keys.
- New order of unique keys.
- New Smart control
A ready-to-use control: your application reads and retrieves the code received by SMS. This means the user doesn't need to read, retrieve or type anything.
- Camera scanner
Now your applications can take photos of a document and correct the image if necessary. Use the ScanDocumentFromCamera function in your applications. This function will return images of the document. You will then be able to extract the text using OCR.
- Form autofill
Your application may include a form containing a postal address or email address field, for example ... Users can manually enter this data. WINDEV Mobile simplifies this process by integrating an autofill service (Google, Dashlane, etc.). Simply indicate the expected type of data using the ..Autofill property. You will help your users save time.
- Long press on Table and Looper controls
A long press on Table and Looper controls could have different results in Android, iOS and simulator mode, depending on whether or not the control had a context menu. The long press behavior has been unified across platforms, depending on the type of control: - Long press on a Table or Looper control with a context menu:
- the "Open context menu / Long press" event is executed. If this event does not return False, the context menu is displayed.
- the row selection event is not executed.
- Long press on a Table or Looper control without a context menu:
- the "Open context menu / Long press" event is executed. If this event does not return False, the row selection event is executed.
Remark: for all controls, if the "Open context menu / Long press" event returns False, the associated context menu is not displayed.
- WLanguage:
- Let users add appointments directly to their calendar
Your mobile application may manage appointments. Let users add appointments to their default calendar application. To do so in WINDEV Mobile, you only need one function: AppointmentAdd. - Retrieve SMS one-time codes
Two-factor authentication is now a standard login method. Generally, a verification code is sent by SMS. You can now retrieve this code directly in your WINDEV Mobile applications. This feature is also available in a specific Smart control. - Drive functions: DropBox functions now available on Android and iOS.
- XLS functions: XLS functions are now available for Android and iOS. This allows you to handle Excel files in the same way as in your websites, Windows and mobile applications.
- New WLanguage functions:
- ComboClose
- WinInPos/WinOutPos
- FTempFile and fOpenTempFile
| Specific features for Android |
- Application orientation options
In some cases, you may need to lock your applications in a specific orientation. To do so, simply select "Lock in landscape mode" in the window display options ("UI" tab in the window description). The same option is also available for windows in portrait mode.
- WLanguage
- Multi-syntax constructors are now available.
- Improved thread management in Android 14 (and later).
- Better integration of "Sign in with Google" (replaces One Tap).
- New WLanguage functions:
- Function used to get phone number(s).
- SMSDetectOneTimeCode.
- RegexXXX functions.
- New function: AuthLogout.
- New function: HExportJSONString.
- YAML type support
- XML serialization of AuthToken variables: To access a webservice more than once using the same token, you can serialize the token in a variable of type AuthToken. The token can then be stored in a buffer and reused if necessary.
- Android Control Center
The Android Control Center includes a file explorer. You can now perform an action on multiple files at once (delete, copy, etc.).
| Specific features for iPhone/iPad |
- Hover
iOS applications can be used on devices with a mouse: MacOS, iPad with a mouse, Vision Pro, etc. The "Mouse enter" and "Mouse leave" events can be enabled if necessary.
- Infinite loop effect
Slide areas allow users to scroll through different elements (e.g., images) with a simple swipe gesture. Now, you can use an infinite loop effect. In this mode, when the user reaches the last element and slides forward, the first element will appear again. No programming required: simply check one option in the description window of the Internal Window control: "Infinite loop effect".
| WEBDEV Application Server |
- OAuth server at your disposal
WEBDEV Application Server can become an OAuth authentication server. An OAuth authentication server is responsible for authenticating users and issuing access tokens, giving third-party applications secure access to resources protected by users. Authentication is thus managed in a single structure. This makes it possible, for example, to use Single Sign-On (SSO) authentication.
- Disk quota for each account
The WEBDEV account manager now allows you to define a disk quota for each account (size expressed in MB). This quota is automatically taken into account when a site is installed for the specified account. If the quota is exceeded, installation will not be possible.
- Improved security in account isolation mode
The WEBDEV Cluster installation wizard now includes an option to protect all disks with account isolation. This results in enhanced security
|
|
|