GDC 2.30 migration guide

This section describes differences you may encounter when upgrading to GDC 2.30.

RichText: html generation

GDC is now based on the Qt 4.6 line and we've noticed small changes in HTML produced by textedits:

  • ol and ul (decimal and bullet list) tags now have margin information in style
Before:
style="-qt-list-indent: 1;"
Now:
style="margin-top: 0px; margin-bottom: 0px; margin-left:
  0px; margin-right: 0px; -qt-list-indent: 1;"

Experimental frontcall (re)store size changes

GDC 2.21 introduced experimental front calls to store and restore window size. To follow existing front call names, the two front calls storeSize and restoreSize have been renamed in lower case: storesize and restoresize.

End of RLOGIN protocol support

RLOGIN is an old and unsecured remote connection protocol. Until now, it was supported for legacy reasons, mainly to have an easy direct fgltty connection on really old UNIX™ servers which didn't have any access to a decent SSH server. SSH2 is now the default and recommended protocol for an fgltty direct connection.

The RLOGIN protocol raises serious issues, the most serious being the need of "root" privileges on UNIX to be able to open a tcp port below 1024. This creates a real security hole, because malicious code could take advantage of fgltty being launched as root to damage or take control of the system. In addition, more and more UNIX desktop environments (Gnome, KDE, macOS™ X, ...) simply forbid such programs to run in a graphical environment without being explicitly "accepted" by the end user (most forbid "sticky bit" completely and display a login box asking for the root password, which nullifies the passwordless login capability of RLOGIN). Moreover, as with TELNET, RLOGIN doesn't encrypt the communication, so passwords or other sensitive data are transmitted in "clear" channel through the network, another major flaw of the protocol.

For these reasons, it has been decided to remove rlogin support from GDC / fgltty.

End of RCP support

Such as RLOGIN, RCP is now de-supported mainly for security reasons. When RCP was enabled, GDC was allowing any rcp (remote copy) command even if it was not started by a 4GL program. Thus, you were likely to get some unexpected contents. For a similar result, you should rather use FGL_PUTFILE().

Linux®: minimum libc is 2.4

To support fancy GUI features introduced by recent Window Managers like KDE 4, Qt (and therefore GDC) needs to be compiled on a Linux libc 2.4 machine instead of 2.3. As a result:

  • If you were running GDC on a Linux libc 2.3; GDC will not start anymore. You'll have to upgrade your system (glibc 2.4 has been released in 2006; we think that for desktop applications like GDC it's better to support recent WM features instead of old systems).
  • The GDC theme may change; if you're running a libc 2.4 Linux and a theme which needs libc 2.4 features, GDC 2.2x was not able to load it. Now that GDC uses libc2.4 it will be supported, and the default look and feel will be adapted to your theme.

DateEdit: default date change

GDC 2.30 now supports the INCLUDE attribute for DateEdit. If the field is NULL, the default date of the calendar will be the first date defined by the INCLUDE attribute, if the current date is not included. This prevents opening the calendar with a date you can't select 10 years later than the last accepted date.

Table: default different font size taken in account

By default, some systems are using a different font for table items than for simple form elements. For instance, on Windows™ 7, while the default font is Ms Shell Dlg, 8.25, Table font is Segoe UI, 9. GDC 2.2x is already using the different fonts, but has two issues:

  • if you simply change the font size (e.g. to 12), the font family also changes (it becomes Ms Shell Dlg, 12 while it should be Segoe UI, 12)
  • the row height was computed taking the wrong font size in account.

Figure: Font size examples


This figure shows documented examples displaying labels and table font settings with corresponding results.

These two issues have been fixed in 2.30, but the side effect is that now the table row is taking the right font size, it's height may change depending on the system (from 17 to 18 pixels on Windows 7, for instance).