Getstrmflin no longer appends null terminator to end of string
Fix to file uploads when using Apache
*OBJLIB supported as parm to setlibl function
Release 3.03, Build 6718 - 2003/06/10
Updated help
Slight change to the 'test connection' menu option
Release 3.03, Build 6714 - 2003/04/21
Changes to SQL templates to fix page size paging problem
Several JSE fixes
Support for new redirect parm
Support for new include parm
Allow 'pml' repository extensions in html
Fix for using work fields in links
Release 3.03, Build 6704 - 2003/02/19
Fix problem where it wasn't clearing error line highlight sometimes (after
double clicking on an error)
Fix to JSE where some RPG values were not populated, causing problems
on return to RPG
Fix problem where \\ in PML was not being unescaped
Fix where date fields created with crtlike would produce a syntax check
Fix problem where extra spool files were generated on the 400 when *DEFAULT
system was used.
Support for FLDCH1, FLDCH2, and FLDCH3 as replacement values in templates
and repository extensions
Support for using a libl object for compile time libl (Generation Options
screen changed)
Fix where &FLDOUTPUT# did not work for KEYFIELD type fragments in the
templates
Release 3.03, Build 6644 - 2003/01/20
Prototype.pml changes for functions added or changes at right
F1 from field properties window, when pressed on edit code field, brings
up relevant help
Insert menu in HTML now allows the insertion of a color
F2 now unconditionally brings up a dialog to allow WebSmart to be run
out of different libraries concurrently.
Release 3.03, Build 6614 - 2002/12/17
Added FLDDECS as template replacement value
Added client portion of jdbcconnect function
Help menu option allow you to select users guide or reference guide
Fix 'Default new extensions to global' bug
If option to sync on repository load selected, it will also sync on reload
Fix extensions problem where replacement values not computed when an addfile
extensions preceeded it.
Fix extensions problem where fields inherited the extensions from previously
used but unrelated fields
Release 3.03, Build 6597 - 2002/11/04
New option to default new extensions to global
Improved 'remembering' of open libraries in the repository view
Fixed problem where occasionally extensions were stored under the logical
file name instead of the physical
JSE fix to inline edit codes
Release 3.02, Build 6580 - 2002/10/24 - Includes previous updates to 3.02
Fix bug where only one of multiple alert(), runcmd() or countrybx()
functions were generated.
New function: urlencode (encodes a string so it can be included as part
of a url)
New function: vfyusr (validates against a user profile)
New function: chgusrpwd (changes a user profile's password)
Improvements to the customer error page handling
Fix to a FROMDATE TODATE conversion problem
Improved debug interface
Improved Apache compatibility
Updated WEBSMART menu
Improved support for foreign languages and alternate translation tables
Fix to datecvtn where generation problems occurred with long field names
Fix where crtlike was not inheriting database field attributes
Fix to file linking interface where button did not work
New option to level check files against the 400 when a definition is
loaded
Fix to problem where invalid password when using IDE was not being reported
correctly
Fix bug where use of mouse scroll wheel would crash over the splitter
windows
Added full row select to various list boxes to make selection easier
Release 3.02 - 2002/09/15 - Version 3.02 of WebSmart Released
Ability to generate Java servlets
This is really the flagship feature. It means WebSmart is no longer RPG
dependant, and to a certain degree no longer platform dependant. The ease
with which to switch to other platforms will be improved in future versions,
but because it is generating servlets, these can now be run on other systems
and access AS/400 data.
Record handling functions that can take klists now get prompted with a
tool tip from which you can select existing klists. This is an 'ease of programming'
enhancement. Simply makes it easier to code record access functions as the
programmer no longer has to remember or hunt around and find the right klist
name, but a tool-tip list of all available ones pops up instantly and they
can pick the one they want.
Support for 'escaped' characters in string constants (such as newline
and tabs). This feature allows you to put carriage returns and tabs and quotes
as 'escaped' characters (preceded by a slash). This makes it easier for the
programmer to compose formatted strings, such as the bodies of emails.
The repository interface now remembers which libs were opened or closed.
Makes the repository interface less cluttered.
When you open a definition it will automatically check for a backup copy.
The backup copy will exist if the last session ended abnormally, or if someone
else is actively using the definition In case of a PC crash, some people
were not aware that a backup copy of the definition was kept. The product
now automatically checks for backup copies and gives you the option of restoring
it. This also has the added benefit of alerting a user to the fact that someone
else might currently be using the definition.
New function: Checkbox. Used to dynamically control the checked or unchecked
setting of a control box more easily than doing it by hand Due to the structure
of the HTML for a checkbox, conditionally checking or unchecking it requires
some repetitive coding which is now encapsulated into a function call.
New function: Translate. Can be necessary to read in data uploaded from
a PC, or to write IFS files in a format readable by PCs. This function is
provided to give the programmer absolute control over the data streams that
are written to stream files. While the system can automatically do some conversions
(from ASCII to EBCDIC) it does not necessarily convert the data going the
other way. This is particularly useful when you want to WebSmart program
to create a file in the IFS which can then be accessed from a PC.
Ability to continue working on the definition while generation is ongoing.
Time saver, you don't have to wait and watch for the generation to end, you
can dive back into coding right away.
More repository synchronization options. Repository extensions synchronization
not only happens more frequently, but can be triggered directly by pushing
a button. While extensions will all get synchronized automatically through
the course of using the tool, some users would rather have more control over
exactly when the synchronization takes place.
More intelligent user ID/password prompting when switching between systems.
Tool detects if you are connecting to a different 400 and reprompts for a
user ID and password.
Increased the maximum number of segments.
Visual identification of global extensions when working with repository
extensions. Global extensions have their own icon so that you can tell at
glance which extensions are global and which are not.
Allow a definition with no segments. This is useful for batch programs
(they used to have to have a dummy segment).
Fields list now shows key field number. For quick programmer reference
to see how their files are keyed.
Ability to use Bookmarks in the editor For ease of jumping around the
code.
Faster color coding.
Keyword syntax sensitive HTML color coding. If you mistype an HTML keyword
it will not color code, thus providing instant feedback on the syntactical
validity of your HTML.
Error highlighting in the PML more obvious. The whole line in error is
now changed to a different color, bringing more attention to it. Before it
would just position the cursor at that line.
Block indention support. If you have a whole bunch of lines that you want
to indent, you used to have to press tab on every line. Now you can select
the whole block and press tab once and it indents all the lines at one type.
(same goes for 'outdenting')
New function: crtlike. For creating a field which will mirror the attributes
of another field. When the based on field attributes are changed, all the
derived fields change too.
New function: Closefile. When using overrides it is sometimes useful to
close and reopen the file, this function allows for that scenario.
New function: getdtaara
New function: upddtaara
New function: unlockdtaara
For retrieving and changing data areas. These functions also allow the
use of data areas as mutexes to prevent multiple programs from accessing
certain resources simultaneously.