This document describes the some of latest features that have been added to the
Sage ProvideX Plug-in for Eclipse:
Overview - Latest Release |
-
v2.6.7 June 2022
-
General
- Adjust logic to resolve issues with new features when using a ProvideX
executable older than v9.20
- New Writing a Contributed Tool example to show how to use a panel
for configuration options and the progress view to show messages as the tool
performs actions.
Builder
- Add a new preference to skip copy of programs to linked folders when there
are build or style check errors
- Use default ProvideX executable when NOMADS Alternate executable is
invalid or cannot be found
- When full build is triggered at launch and output folder exists, only
build modified files
- Additional log messages when updating outline, dictionary, and library DOM
data
- Scan for duplicate function and variable names (Error 24)
- Multiple definitions of a property (public and private)
- Multiple definitions of a function with same parameter types
- Support full function definition within the class declaration section
- Ignore LOCAL within a function definition
- Option to disable scan for duplicate function and variable names (Error
24)
- Add support for encrypted password values (requires ProvideX v9.20 or
newer)
- Add new project-specific property 'AltExe_EnvironmentPropertyFile'
- Set the name of a properties file containing name/value pairs to use to
set environment variables when initializing the build process; when property is
set force build process to use the alternate executable flow.
- This format of this file:
- one name/value pair per line in the format name=value
- a line starting with '#' is considered to be a comment
- blank lines are ignored
# Example Name/Value pairs
my_app_title=Application Fantastic
my_app_debug=1
- Change message displayed when build process is interrupted to a
confirmation prompt to allow user to ignore attempt to cancel process.
- Write message to Console when project.properties file exists for
project
Import/Convert
- The process to convert ProvideX programs to text has changed.
- Old Import/Convert Process
- The old process moved the file from the source folder to the output
folder and then converted the file in the output folder to create a new text
version of the program in the source folder. One of the primary issues with this
approach is the impact it has when using version control - all history is lost
on the original file and there is a potential that the file moved to the output
folder may now be tracked by the version control process.
- New Import/Convert Process
-
The new process leaves the source file in the source folder. If the option Always
add source file extension when converting programs to text is enabled, the
convert process will create the text file in the source folder and then delete
the original source file. If this option is not enabled, the text version of the
program will have the same name as the original program. The convert process
creates a temporary file for the text version of the program and replaces the
original program with this temporary file. If the convert to text fails, the
original source file has not changed.
This has a number of benefits:
- reduces potential loss of original source file if conversion process
fails
- more accurate and complete history when tracking changes in version
control
- no longer have a file in the output folder that may be tracked by
version control
Editor
- Additional debug messages to track (rare) issue where NOMADS library
information is not loaded
- Fix for null pointer exception when processing file annotations
- Identification of keywords to highlight will now stop when followed by one
of the characters: < > - * /
- Updated Constants and Functions
Contributed Tools
- The Configure button is disabled when a configuration action has not been
implemented
- General
- A new option on the Appearance Preferences page to enable
saving the window position of a contributed tool if it is moved.
- Common UI MessageBox() Method - add parameter to set title for
message box
- ProgressLog - add methods to support the creation and display of
a log file
- PvxDocs:
- Add option to set date/time stamp of generated documentation file(s) to
match source class
- Add option to document generation setup page to set option for "Link to
Page"
- Add substitution tag %PvxCode2()% to add ProvideX code sample
to replace the tag in line
- Add substitution tags %PvxCodeBegin% / %PvxCodeEnd% to
define blocks of code spanning multiple lines
- When parameter information starts with plus (+) character, add the
remaining text to previous line to allow parameter description to span multiple
lines
- Dictionary Viewer:
- Add print format column to information displayed for fields
- Build Tool - Encrypt Password Value
- A new contributed tool to encrypt a password value.
- Change Keyword Case
- Resolve issue where keyword case gets changed in comments
- Style Check
- New option when creating a rule to check the search value against the
list of keywords in the program line
- Create a detailed log of the issues discovered during the scan process;
this log can be viewed by clicking the Details button once the scan
process is complete.
- Perform tag substitution during the build process; include the
substitution information in the detail log.
- Tag Substitution
- A new contributed tool to replace special tags in a source file with a
substitution value before creating the output file. The tags and substitution
values are defined in a properties file built-in to the plug-in.
- Additional user-defined tags and substitution values can be defined in a
tagSubstitution.properties files in the folder configured for user
keywords and external observers on the Contributed Extensions/Tools
preference page.
- The original source file is not changed; changes will appear in the
compiled program(s).
Preferences
- Fix: Editor Preference page fails to load in Eclipse 2020-12
- Resolve issue with export of ProvideX Properties for resources in
project(s)
- Add a new debug preference to set the debug message verbosity level
Sage 100 Plug-in
- The What's New and additional documentation has been moved to the
Sage 100 plug-in.
|
Builder |
- Usability
- Add a new preference to skip copy of programs to linked folders when there
are build or style check errors
- Use default ProvideX executable when NOMADS Alternate executable is
invalid or cannot be found
- When full build is triggered at launch and output folder exists, only
build modified files
- Additional log messages when updating outline, dictionary, and library DOM
data
- New builder option to disable scan for duplicate function and variable
names (Error 24)
- Add support for encrypted password values (requires ProvideX v9.20 or
newer)
- Improve error 24 scan logic for class declaration
- Support full function definition within the class declaration section
- Ignore LOCAL within a function definition
- Add new project-specific property 'AltExe_EnvironmentPropertyFile'
- Set the name of a properties file containing name/value pairs to use to
set environment variables when initializing the build process; when property is
set force build process to use the alternate executable flow.
- This format of this file:
- one name/value pair per line in the format name=value
- a line starting with '#' is considered to be a comment
- blank lines are ignored
# Example Name/Value pairs
my_app_title=Application Fantastic
my_app_debug=1
- The Convert programs to text process has changed to use the
source file in the original location rather than move the file to the output
folder. This will reduce issues with source control systems where the move to the
output folder was tracked as an intentional change.
- Copy to Test System
- Add a new preference, and associated logic, to skip copy of programs to
linked folders when there are build or style check errors
- Preference page: Builder | Options
Several new preferences
have been added to the "Builder Options" preference page:
- Skip copy of programs with errors to linked folders
When enabled, programs containing errors will not get copied to any linked
folders.
- Ignore FULL Build for existing projects triggered when
starting Eclipse
As part of the startup of Eclipse full builds are sometimes triggered for
all projects in a workspace. When this preference is enabled the plug-in will
ignore the full build request; full builds can still be triggered from the
Project menu.
- Simple scan for duplicate function/variable names (Error
24)
When disabled, the simple scan for duplicate function/variable names is
skipped
- Convert ProvideX programs to text
- The process to convert ProvideX programs to text has changed.
- Old Import/Convert Process
- The old process moved the file from the source folder to the output
folder and then converted the file in the output folder to create a new text
version of the program in the source folder. One of the primary issues with this
approach is the impact it has when using version control - all history is lost
on the original file and there is a potential that the file moved to the output
folder may now be tracked by the version control process.
- New Import/Convert Process
-
The new process leaves the source file in the source folder. If the option Always
add source file extension when converting programs to text is enabled, the
convert process will create the text file in the source folder and then delete
the original source file. If this option is not enabled, the text version of the
program will have the same name as the original program. The convert process
creates a temporary file for the text version of the program and replaces the
original program with this temporary file. If the convert to text fails, the
original source file has not changed.
This has a number of benefits:
- reduces potential loss of original source file if conversion process
fails
- more accurate and complete history when tracking changes in version
control
- no longer have a file in the output folder that may be tracked by
version control
|
Editor |
- Usability
- Additional debug messages to track (rare) issue where NOMADS library
information is not loaded
- Fix for null pointer exception when processing file annotations
- Identification of keywords to highlight will now stop when followed by one
of the characters: < > - * /
- Updated Constants and Functions
|
Contributed Tools |
- General
- Contributed Tools List
- The Configure button on the Contributed Tools list is disabled when a
configuration action has not been implemented
- Writing a Contributed Tool
- A new example to show how to use a panel for configuration options and
the progress view to show messages as the tool performs actions.
- Save Window Position
- Encrypt Password Value
This is a contributed tool to encrypt a simple text password value. The
encrypted password can be copied and used in:
- The password field on a program properties page
- The list of known passwords on the Import/Convert Preference page
- The project properties file, property 'appendPreferenceS._ProgramPasswordList'
to include the list of known passwords for a specific project.
- ProvideX Docs
- Dictionary Viewer
- Style Check
A number of enhancements have been made to the Style Check contributed
tool:
- Check search value against list of keywords
Define a rule to check the search value against list of keywords for each
line.
- Detailed Log of Issues
The Style Check process will now create a detailed log of the issues discovered
during the scan process; this log can be viewed by clicking new Details
button once the scan process is complete.
- Tag Substitution
- A new contributed tool to replace special tags in a source file with a
substitution value before creating the output file. The tags and substitution
values are defined in a properties file built-in to the plug-in.
- Additional user-defined tags and substitution values can be defined in a tagSubstitution.properties
files in the folder configured for user keywords and external observers on the Contributed
Extensions/Tools preference page.
- The original source file is not changed; changes will appear in the
compiled program(s).
- The logic will search for the tags in the following formats, there can be
an optional colon after the keyword:
- $keyword$
- %keyword%
- %(keyword)%
- %{keyword}%
- The format of the properties file is:
keyword =
substitution text or string expression
- The string expression can use any ProvideX code to create the expression
to use as the substitution value. The following variables are also available to
include in the expression:
- cOutputFilename$
- cSourceLastModDate$
- cSourceLastModTimestamp$
- cSourceLastModYear$
- The built-in tags and substitution values (some are formatted to be
similar to the keyword substitution performed when using Subversion):
Copyright = "(c) " + dte(0:"%Yl") +" The Sage Group plc or its licensors. All rights reserved."
Header = "$Id: " + cOutputFilename$ + " " + cSourceLastModTimestamp$ + " $"
Id = "$Id: " + cOutputFilename$ + " " + cSourceLastModTimestamp$ + " $"
Revision = "$Revision: " + cSourceLastModDate$ + " $"
- The secondary properties file used for the user defined substitution tags
can override the definitions of the built-in tags as well as create new tags.
|
NOMADS Integration |
- NOMADS Preferences
Override NOMADS preference page settings for a project.
- NOMADS_AltExe
A full path to a ProvideX executable to be used for all NOMADS sessions launched
for a resource in the project; (Use "/" characters in the path). The
path will be verified to be a valid ProvideX executable before it is used. If the
validation fails, the first executable found from the following list will be
used:
- NOMADS executable for the workspace
- ProvideX executable for the project
- ProvideX executable used by the workbench
- NOMADS_ExtDictDir
Specify a folder that is outside of the project workspace as the location
of the ProvideX data dictionary files. The file 'PROVIDEX.DDF' must exist in this
folder, otherwise, the value of this property will not be used.
|
Historic Releases |
-
v2.6.5 July 2020
-
General
- New Project Explorer view as replacement for deprecated Navigation View
- New Workspace Properties file preference AltInit.InitSageSessionObject
to enable the startup for workbench actions to initialize the Sage Session object
- Reduce number of messages written to console view when debug options are
not enabled
- Error handling to catch when Java event process is no longer active
- Correction to line number increment from AI system parameter override
- Startup program - use in console session and when using alternate
executable for build process
- Changes to improve the reliability of Project/Workspace
Preference/Property override values
- Outline View
- Add filters: Public / Private Properties, Private Functions
- Change order for "Group By Type" and sort alphabetically within type
- Set "Group by Type" as default
-
Builder
- Add logic to handle new and modified files when automatic build is
triggered as a result of a refresh or plug-in start-up
- Add logic to identify and build new files added to source folder from
outside of Eclipse
- Suppress password request for data files added to Import/Convert
Preference page
- Correction to automatic build to only process each file once
- Incremental Build using an alternate executable to load properties from
project properties file
- Adjust logic used to check whether file is a resource when attempting to
convert resources to text
-
Editor
- Add new template 'esx' to insert the ProvideX code to Escape to Console in
Command Window when Debug is enabled
- Add new template 'sageheader' and change ProvideX Program Wizard and
ProvideX Class Wizard to use this template instead of the 'header' template
-
Wizards
- ProvideX Class Wizard
- Allow selecting class files for LIKE from entire workspace in addition
to current project
- Adjust to use new 'sageheading' template
- Change logic for creation of LIKE statement in new class to group up to
five class files per line
- Only use files from selected list with PVC extension, ignore any others
-
NOMADS Integration
- Add 'Data Classifications' task to NOMADS View drop-down menu
-
Preferences
- Change text for option to add file extension to source file when
converting a compiled program on Import/Convert Preference page
- Restore option to suppress password request as new data files are
processed
-
Contributed Tools
- Adjust contributed tool startup to skip theme logic when using a version
of Sage 100 older than Sage 100 2016
- Message Library Viewer
- Change line-feed characters in modified text to SEP characters
- Style Check
- When preference for user defined keywords / contributed tools is set,
automatically save new style rules to file in this folder
- Update source file during build process when style check configuration
option is set to automatically update source file and there is a replace value
defined as part of a style check rule
- Super Search
- Add button to allow clearing previous search results
-
v2.6.2 July 2019
-
General
- Outline View will now remember settings (sort / filter) for session
- Resolve compatibility issues with Eclipse 2019-06 (4.12.0)
-
Builder
- When building data files, check option to force rebuild of resource files
- Enhance check for error 24 to match function declarations based on
parameter data types
-
Preferences
- Editor Preference Page
- Fix for null pointer exception attempting to display Editor Preference
page when the option to load external keyword completion proposals is not
enabled
-
Contributed Tools
- Super Search
- Add button to allow clearing of book marks for current project or entire
workspace depending on search selection
-
v2.6.0 March/April 2019
-
General
- Now requires Java 8 run-time environment; compatibility fixes for OpenJDK
11
- New option on 'Appearance' preference page to show value of TCB(29)
reported by client (should be the same as the server value)
- New preference to enable writing of debug messages to the console; use '_bDebugLogToConsole'
to override this preference in project or workspace properties files
- Catch actions / events that trigger the ProvideX EventManager to start and
attempt to process after the EventManager has started
- Use fonts set on Preferences / Appearance page for contributed tools and
JavX console
-
Builder
- Error scan will now check for duplicate property / method declarations
which will trigger an error 24 when the class is instantiated
- Add preference to force rebuild of files marked as resources
- Update list of file extensions used to identify resource files
- Display original source file name for event, when changed by intermediate
observers
- Changes to logic used to identify source file content type to improve
builder stability
- Skip build of any file identified as a resource in project/workspace
properties file
- Keep file attributes for copy from output folder to linked folders or test
platform folders
- Resolve potential builder hang when multiple line label references occur
in single source line
-
Editor
- Restore editor state from previous session
- Single-click in outline view will now reposition to corresponding location
in the editor view
- New preference to allow double click in a string literal to select the
current word instead of the entire contents
- Code-highlighting to allow line labels to include '.' character
- Update to code folding to resolve issue where editor window shifts to
beginning of line when current cursor position is beyond the right edge of the
editor window
- User-defined Keyword Highlighting (v2.6.0)
User can now define keyword categories and a list of keywords in each
category. Each category must have a unique name and can be assigned special text
and background colors to use for the display of the keywords. The category will
be included in the list of categories on the Editor Preference page where the
display colors can be changed.
The keyword categories are defined in a new file placed in the folder
defined for user contributed tools (fall-back to the root directory of the
workspace) and the list of keywords in each category is defined in a new file
using a name defined in the keyword categories file. The contents of these files
are loaded when Eclipse starts with this workspace selected.
For more information, see User
Keyword Categories in the Plug-in
Documentation.
- Code folding, do not mark FOR-NEXT block starting with the FOR
in a PRECISION x FOR OBJECT statement
-
Contributed Tools
- General
- All contributed tools will now use the default Sage 100 theme when the
ProvideX executable referenced for the project (or workbench) is in a recent
Sage 100 environment
- Dictionary Viewer
- Update to display additional information from the dictionary for each
file
- PvxDocs
- Add new tags for ordered list (@OList) and unordered list (@UList).
- Each item in the list must be on a separate line
- Start a line with a '+' character to add to the previous line
- A blank comment line in a list will be ignored
- The list ends at the next tag or the end tag for the list (@OList_End
or @UList_End).
- New button to view documentation after generation process has completed
- Strip Trailing White Space
- The tool will now strip trailing blank lines from the source file.
- Change to not remove whitespace before line continuation characters
- Super Search
- The tool will now use a new property SuperSearch.IgnoreCharacterList
from the project properties file to set additional characters to be ignored when
scanning the source file(s) for binary characters.
-
NOMADS Integration
- When a new file extension is added to the list of file extensions for
NOMADS library files, a new file association will be created to associate the file
extension to the NOMADS editor
- Add option to access Search / Replace action for the current library
-
v2.5.4 August 2017
-
Builder
- Only change the 'LC', 'LD', 'LE', and 'NL' system parameters when
corresponding preference on IMPORT preference page is set. Otherwise, keep the
current setting from the environment. This will allow alternate START_UP programs
to set these system parameters for the build process.
- Add new project property 'forceResourceDir.xxx' to force all files in the
folder 'xxx' to be resource files
- Check / add passwords from preference page to list of known password at
beginning of each build
-
Contributed Tools
- PvxDocs
- Correction for formatting of HTML output for build information block and
unordered list
- Adjust logic to group overloaded method declarations before the
parameter information for the method(s)
- Strip Trailing Whitespace
- Contributed tool to enable strip of trailing whitespace as part of the
build process
- Dictionary Viewer
- Display additional information: physical file, column options, column
defaults, key segment options
- Display full file description; do not strip module or other keywords
- Display embedded dictionary information for ProvideX keyed files
- Skip paste attempt when no file open in editor
-
Editor
- A preference has been added to the Editor Options preference page 'Completion
Proposals - Enable load of external keyword categories'. When this preference is
not checked, the loading of external keyword categories will be disabled. When set
as a workspace preference, the external keyword categories will be enabled for
entire workspace. The preference (_bCP_ExternalKeywords) can be included in the
project.properties file to override the setting for a project.
-
NOMADS Integration
- NOMADS editor will force NOMADS view to be visible, load with information
for the selected library file, and then force close the NOMADS editor window
-
v2.5.3 March 2016
-
Editor
- Compare: open new tab for program compare even when program is already
loaded in another editor tab
- Correction to logic to use the file property 'Allow C-style block
comments' to override the Builder Options Preference 'Disable C-style block
comments'.
Contributed Tools
- Style Check - A new 'TODO' rule where comment following the tag is
recorded in warning description.
Miscellaneous
- Add logic to CALL alternate startup program when initializing a new
ProvideX console session or loading a program into a ProvideX session
-
v2.5.2, v2.5.0 November 2015
-
Editor
- Automatic keyword conversion as part of the build process
- Code folding
Contributed Tools
- Style Check - Update override tags, User/Local secondary rule file
Miscellaneous
- New logic to identify when a project / workspace has been relocated
- Cleanup property pages
-
v2.4.2 March 2014
-
Contributed Tools
- Style Check - new rule options
Miscellaneous
- Compatibility issues with recent Java updates
- Changes to reduce the number of full builds
- Improved error handling / reporting for file copy to test area
- Additional error handling and new messages for the copy to test system to
help identify reason for a failed copy.
- Historically, Eclipse will occasionally decide to perform a "Full" build
of all projects in a work space when the 'Build Automatically' option is enabled
on the "Project" menu. For some projects this can take a considerable amount of
time. The builder will now check to see of the output folder exists (normally this
will be "compiled") and will skip the "Full" build. To force a "Full" build for a
project, choose "Project | Clean" from the menu.
The 'clean build'
will not delete the output folder so properties associated with the output folder
will not be lost as part of the 'clean build'
-
v2.4.0 March 2013
-
Editor
- Editor options - new option to enable conversion of statement labels
during keyword conversion
Builder
- Resource build information now stored in properties file
Contributed Tools
- Style check - a simple rule-based style check is now included
Miscellaneous
- Project-specific properties enhancements:
- Check for a workspace properties file
- Set defaults/overrides for System preferences
- Improved error handling / reporting for file copy to test area
|