Release Notes DPT V2R0
Release Notes for DPT Version 2.0
Released: 1st February 2007
Contents
Release Summary
- Better emulation and support for M204 applications
Addressing DPT's core mission to be a useful tool to Model 204 users. These are colour-coded black in the sections below.
- New interfaces and I/O facilities
Aiming to strengthen DPT's credentials as a usable and powerful PC application platform, rather than a somewhat awkward exile from the mainframe. These are colour-coded red in the sections below.
Highlights
At-a-glance these are the most important new features. Full details and links to the relevant manual pages are given further down.
- Emulated Sirius functions
- Web server
- New productivity tools in the editor and front end
- Windows native socket and file system I/O
- More emulated M204 features and parameters
Special note: Web Server
You can now use DPT to build fully-functional web sites, with dynamic content created in User Language, in a very similar way to Janus Web on Model 204. It opens up whole new user interface possibilities compared to 3270, and makes much more exciting applications possible for both M204 hobbyists (e.g. take your local sports club online - see Stirling Cricket Club) and for professionals (set up a departmental intranet site, say). It's also a great way to acquire some new relevant developer skills in today's web-oriented world.
The web server is easy to configure and use, but it's somewhat more than just a handful of new statements and $functions, so it has its own manual - the new DPT Web Server Admin and Programming Guide.
User Language
- New $functions for platform I/O etc.
A set of new functions has been added for performing operations such as direct file and socket I/O.
- Callable $functions
With this new feature all $functions can now be regarded more like standard subroutines, and called in the same way.
- Emulated Sirius $functions
An initial offering of around 60 of these has been implemented. The selection was based on Paul Keshvari's suggested basic package of $list functions.
- $HSH
Support for this function has been added. It was pointed out that inexact emulation is probably irrelevant, and almost certainly better than no emulation.
- MODEL parameter support for screens
Including both the standard sizes and something like Sirius' "Model 6" custom sizes.
- New statement
The WEBPRINT statement can be used when creating dynamic web page content.
- HTTP control $functions
The $WEBxxx suite of functions provide the rest of the User Language functionality required to build web applications.
Commands
- New command
The =FUNCLIST custom command lists the $functions currently installed and all their parameter descriptions. It is called by the client at connection time, so it can provide various programmer assistance when dealing with $functions (see below)
- Command syntax extension
The handling of quotation marks in commands has been changed in one or two ways, mainly reflecting common platform conventions.
- New command
The =MIME command is used for maintaining web server related reference data.
- Enhanced commands
- The =SOCKET command now takes an optional third parameter saying whether to affect the "terminal" socket interface or the "web" socket interface.
- The ALLOCATE command now allows per-file overrides to PRSUFFIX, for example to access directories exclusively containing HTML files.
Front End
- $function assistance
The editor now gives special treatment to $functions in a number of ways.
- Names are recognized as keywords
- Auto-completion of function names saves typing
- Parameter prompting saves reaching for the manual
- New debugger function
The display function makes it much more convenient to see long object values.
- Keyboard control
Full usability via the keyboard is essential if you have no mouse or can't use one for some reason, and there were some inaccessible features in version 1. Where the new key mappings are not obvious they are covered in the IDE iser guide.
- Navigator pane
- Debugger watch pane
- All the options dialogs
- Smart edit improvement
The output from the D LIST command is now "smart".
- Non-UL code support
The editor now provides support for working with both User Language and non-UL code at the same time, by selectively suppressing much of the User Language related functionality when editing other files, such as HTML.
- Case translation
The Ctrl+U and Ctrl+L functions (toggle case of text) in the editor no longer count as line modifications triggering the *UPPER behaviour. This makes it much easier to edit code to contain occasional lower case elements.
Other miscellaneous enhancements, and bug fixes
System management
- Parameter values can now be given more flexibly in the .ini file, for example allowing mixed case.
- You can also open the .ini file directly from the host console.
- The NUSERS parameter default has been increased from 10 to 99, since in a typical basic setup there might now be 6 or 7 background tasks running for various purposes, before any "normal" users even log on. 10 was a silly default anyway.
- The AUTOSYS parameter is now suported.
- The subsystem auto-logout option is now suported, plus some extra related options on the $SUBSYS function.
Version 1.x stuff
- All the many feature additions from versions 1.x are now considered stable.
- This of course includes bug fixes from that period.
New bug fixes
- WRITE IMAGE ON TERMINAL is no longer affected by an active USE destination.
- The OPEN DATASET statement now clears $STATUS for success in all cases.
- Fixed the occasional problem when a TEMP and a PERM group had the same name.
- The PRSUFFIX comparison performed during e.g. D LIST is now case-insensitive.
- STOP inside a record loop no longer issues an error message before ending the request.
- No more spurious error messages after using $LSTFLD.
Documentation
The set now includes a whole new document describing the configuration and programming of the web server, with appropriate hyperlinks to and from the rest of the documentation.
Apart from that it's the same scheme as before, where the complete documentation is browsable on the website and also included in the download.
Demo Code and Utilities
The demo application that you download now contains a simple web site, illustrating many of the ideas described in the web programming guide.