|
This release is our most ambitious yet. It has been nearly 18 months in the
making, but it was well worth the wait.
There are many significant changes and enhancements to ITScriptNet, many
of which came as suggestions from our customers.
All of the improvements increase the efficiency of developing and running
the programs. Many of them greatly
enhance the device user’s experience in collecting data and running the device. We are extremely proud of this
offering and hope that you enjoy your experience with it as much as we will.
Below is a comprehensive list of all the
changes in V3.0. Click on the link
at the end of certain entries to view a screen shot of the feature in action.
Top 10 new features
ˇ
Combined OMNI
and Plus generator into one – There is now only one ITScriptNet Developer product. It is basically the OMNI developer. Selecting Batch Plus as the Program
Edition (Program>Program Settings) hides and disables OMNI features and
functions. The new Developer allows
unlimited Batch data transfer and runs in demo mode for realtime communication.
Click for screenshot
ˇ
Plus and OMNI
clients combined – We have combined the clients into one. There is still separate licensing for
Batch Plus and OMNI, however. The
licensing will determine if OMNI features will be enabled.
ˇ
CSV Validation
Files – Previously,
only fixed-width text files could be used.
CSV files are common and take less space than fixed-width.
ˇ
SQL CE support – Collected
data and validation files can be stored on the device in a SQL CE database. Many new features take advantage of
this, mainly grid filtering (allows use of SQL query) and SendCollectedData
(send only certain records based on parameters).
A significant drawback to SQL CE on the device is the extremely long
loading time of large validation files.
Use SQL CE only when necessary
ˇ
OmniLoadProgram function – (Omni) -
Connect to
the Omni server to load an ITScriptNet program.
The function returns a value to indicate whether the program was properly
transferred.
ˇ
Property-based
syntax
for
controlling element settings - Instead of using user variables in
in-prompt scripts and refreshing the element, you can now directly control most
properties. For example, to set the background color of a textbox, you can
now just use Prompt.textbox1.backgroundcolor =colorYellow
ˇ
ITB Comparison - File>Compare
Programs. Compare two programs to
see what is different between them.
Displaying the results as HTML is an option.
Click for screenshot
ˇ
Script Assist™ - Works like
Microsoft’s Intellisense. When in
the script editor while entering a ‘prompt.element’ reference a list of elements
will show in a drop down after entering ‘promptname.(dot)’ from which you can
select an element to finish the reference.
Click for screenshot
Also, upon entering a function name, ex. SetFocus, you can highlight it,
right click, and select ‘Find Definition’ to see the function’s definition
description in the upper right pane of the script editor.
Click for screenshot
ˇ
New Elements – Calendar,
Date/time Picker, Keypad, Status display, GPS Tracking elements
ˇ
New Events – Global Timer,
Cradled, Program Start, Program Exit global events.
Complete List of updates
System Console
ˇ
Omni Server
startup options – The OMNI
Server can be run as a service. From
the Console you can now install or remove the service from the OMNI Server
Configuration utility, start and stop the service and set the option to Manually
start the service, Automatically start, or Disable the service (don’t allow it
to start if called from another service).
Click for screenshot
ˇ
Limited the
application to a single instance – Previously, we allowed multiple instances of the System Console to
be open, which caused strange things to happen.
Now if you try to open another instance the system tray indicator will
toggle between active and inactive.
ˇ
New tab for
Help and Support – This tab provides quick access to online help (KnowledgeBase, Forum
and our website), sample programs, and our Ready-To-GoŽ (free) programs. Click for screenshot
ˇ
‘Guest-only’ mode for ActiveSync
– On the Programs tab under Configure Devices you can set whether the ActiveSync
Partnership setting screen appears to the PC user when they cradle a device. Setting it to Guest-Only Mode will
suppress the screen from popping up.
Click for screenshot
Designer Features
ˇ
Debugger
improvements for Global Scripts – The debugger shows the correct source line when stepping into the
global script.
ˇ
Pasting
elements does NOT bring up the Properties dialog – This was a
minor annoyance. When copying and
pasting an element, usually from one screen to another, the Properties screen
would always appear. Usually you
don’t need to make changes to the copied element so there was an added click to
close the dialog. Now, there is an
added click to open the dialog if needed.
ˇ
‘Text’ and
‘Element Name’ field order switched (for Text elements) – Many times
you don’t change the default name (Text1) for a Text element. So, we put the Text field, the text
you want to display to the user, first to eliminate having to navigate down a
field.
ˇ
ITB Comparison - File>Compare
Programs. Compare two programs to
see what is different between them.
Displaying the results as HTML is an option.
Click for screenshot
ˇ
Generate
validation files from the Validation File list screen – Adding a
button on this screen saves five clicks.
ˇ
Cut/Copy/Paste
of multiple elements – Select
multiple elements on a prompt to cut or copy then paste to the same prompt or
another prompt.
ˇ
Element pastes
in the same position – If the cut or copied element name does not already exist on the
prompt, the element is placed in the same position as the original. If the element name exists the
element is pasted to a position down and to the right slightly.
ˇ
Enhanced
Syntax checking - Detects
mismatch IF/ENDIF or FOR/NEXT or WHILE/WEND pairs.
ˇ
Tighter
control over selecting elements - Updated the ‘hit’ testing for grabbing elements so it does not
detect a click in the handle area as a click on that element. Clicks must be inside the bounding
rectangle or on the handles themselves.
ˇ
Lock Position
of Elements - View>Lock
Elements. Locks the position of all
elements on the prompt, including a new one just added. This is to avoid accidently moving
elements, usually when double clicking them to open the Properties dialogue.
ˇ
Inserting
prompts now adjusts the Next Prompt setting correctly – When a new
prompt is inserted or added via ‘Paste After’ the Next Prompt setting on the
Prompt Settings screen for the new prompt and the prompt immediately before the
new prompt is automatically set to the next prompt in the flowchart.
ˇ
Enhanced
‘Find’ feature - The Find
dialog on the In Prompt Script Editor puts the currently selected text in the
textbox when Ctrl+F is pressed.
Click for screenshot
ˇ
Changed a
script tree root name. Changed 'Responses' to
'Prompt/Element Values'. This
eliminates the confusion with the ‘Response’ label for a set of functions. Removed ‘Lookups’ list.
ˇ
ITB Password
dialog box now loops - The box waits for a correct password or for selecting ‘Cancel’.
ˇ
Prompt names
limited to 20 characters in length – The limit was 30, which was too long.
ˇ
Prompt/Element
names were set to uppercase - Fixed this annoyance issue where this was happening after closing
the script editor and reopening.
Click for screenshot
ˇn>
On the
Advanced Symbology Settings screen, checking the item will display the options – Textbox,
Combobox, Listbox, Grid elements only - Previously, only selecting the item
(clicking on the text) would display the options.
Now when you check the box to select it the options will display.
ˇ
‘Find’ dialog
defaults to search all prompts – Previously, the default was to search the current prompt. Most uses of ‘Find’ is for searching
the entire program.
ˇ
Increased
read/write buffer sizes for InPrompt Scripts - Allow scripts
larger than 16K. Someone wrote a
huge script larger than our previous limit of 16K. Wow!
ˇ
Override
scripts (Fn Button) for the Exit passwords –
Program>Program Settings – Passwords can be controlled at runtime, allowing
their use and even the password itself to be affected while running the program.
Click for screenshot
ˇ
Exporting
validation file definitions defaults the filename to match the validation file
ˇ
Increased the
timer interval value to 6 digits (999999ms = 16 minutes)
– Previous
value was 99999(1.6 minutes). The
timer does stop when the unit hibernates or is turned off.
ˇ
Pressing Undo
on the script editor now forces a refresh of the code window
ˇ
Prompt tree
elements are organized by element type – Previously,
the elements were listed in the order they were created, making it hard at times
to find an element in the tree.
Click for screenshot
ˇ
Program name
on the Program Settings screen can be 40 characters – Previously,
the maximum length was 20 characters.
ˇ
Changed the
font on the VBScript editor window to Courier (fixed pitch)
–
Program>Configure Receive>Edit Scripts button - This will help with alignment of
the text.
ˇ
Auto-generation of validation file fields no longer UCASE’s the fieldnames – This was just
annoying. Does not affect any
functionality.
ˇ
Validation
file field names can now be 100 characters - Previously,
the maximum length was 20 characters.
ˇ
New columns to
the Validation Files screen - Provides a quick view of the key options for a validation file –
Format (Fixed-width or Delimited), Auto-generation (No Auto Generation, Manual,
On Every Upload, Remote), and SQL CE (Yes or No, if using SQL CE on the device
to store the validation file, if available).
Click for screenshot
ˇ
Removed the
New Program Wizard – It’s time has
passed. Dropping support for Single
Prompt has made this obsolete.
ˇ
Removed
support for Single Prompt – As support for the older, obsolete devices is being discontinued and
the devices we now support are Windows, we are no longer continuing to support
Single Prompt in future versions.
Older versions of ITScriptNet will always be available if someone feels the need
to use Single Prompt for a simple application.
ˇ
Added ‘Program
Version’ setting to the Program>Program Settings screen – The version
setting is helpful to know whether the user is using the latest program. This value is available to the
program in the $ITBVERSION$ value.
When transferring collected data with the Omni Server, this version
number is checked against the version number of the ITB on the server and, if
they do not match, the device sends its copy of the ITB to the server and the
collected data is processed against that one. Otherwise, bad things tend
to happen. This helps solve the
problem of out-of-date ITBs on the server and client.
ˇ
Right-click in
the Prompt tree brings up the context menu for prompts and elements
Click for screenshot
ˇ
Renamed RSS
symbology to GS1 Databar -
GS1.org recently renamed the ‘RSS’ symbology barcode to ‘GS1 DataBar’ to avoid confusion
with the popular RSS XML Feed technology.
ˇ
GPS Tracking
Settings screen - Set various options for collecting and transmitting GPS data that is
collected while the device is in motion.
This data is typically used for mapping a breadcrumb trail.
Click for screenshot
ˇ
Prompt Notes
pane – Added an area
under the prompt view area to add development notes.
Click for screenshot
ˇ
Program
Printing uses HTML – File>Print
Program – This prints the properties, options, scripts and other information
about each prompt and element in the program.
Instead of direct printing, the document now displays as HTML and can be
printed from there.
Click for screenshot
ˇ
Script Assist™ - Works like
Microsoft’s Intellisense. When in
the script editor while entering a ‘prompt.element’ reference a list of elements
will show in a drop down after entering ‘promptname.(dot)’ from which you can
select an element to finish the reference.
Click for screenshot
Also, upon entering a function name, ex. SetFocus, you can highlight it,
right click, and select ‘Find Definition’ to see the function’s definition
description in the upper right pane of the script editor.
Click for screenshot
Element features
ˇ
Grid filtering
'Begins with' or 'Ends with' – Previously, filtering was done based on complete input values. Fields can now be filtered based on
their beginning or ending characters.
Click for screenshot
ˇ
Do Not Save
option
– There are
times when data or input is needed during the collection process, but there is
no need to save it.
Click for screenshot
ˇ
Validate On
Lose Focus property – One of our
favorite new things! The built-in
validation options can be run when you move off an element. This, coupled with the Validation
Event on the Action tab, can completely validate the entry of a value at the
time of entry.
Click for screenshot
ˇ
Validate Event – On the Action
tab of most elements you can run a script while the element is being validated.
ˇ
Combobox/Listbox: Do not allow the first option – You can create a Combobox or Listbox where the first option
is something like “––Select an Option–– “, and then NOT allow that to be a valid
choice. Helps direct the user and
adds professionalism to the program.
ˇ
Push-like
radio buttons and checkboxes - The elements look different
when selected.
Click for screenshot
ˇ
‘Disabled’
colors for Radio Buttons and Checkboxes – Use a different color when the Radio Button or Checkbox is in the
‘Disabled’ state.
Click for screenshot
ˇ
Default To
Pending option -
When coming
back from another prompt before saving the record the element value can be reset
to the previously entered value. Say
you have entered a receiving record but want to review your collected data
before saving it. You can go to the
review screen and, upon your return to the receiving screen, the previously
entered data will display.
ˇ
Grid: Set
column widths using properties (prompt.grid.column.width) – The column
width of grids can be set via a script.
This allows the width to be changed based on the data filling the grid or
any other criteria..
ˇ
Grid: Set
header text using properties (prompt.grid.column.headertext) - The text
displayed in the header of the grid can be set via a script. This allows the text to be changed
based on the data filling the grid.
ˇ
Gradient
buttons – The color of
the button can be set to fade out in several different formats.
Click for screenshot
ˇ
Gradient
Rectangles - The color of
the rectangle shape can be set to fade out in several different formats.
ˇ
Image and text
rotation – The Image and
Text elements can be rotated in three other directions-Vertical Up, Vertical
Down and Inverted.
Click for screenshot
ˇ
Digital Ink
signature line – A line can be
displayed in the Digital Ink element, most likely used to indicate a signature
line.
Click for screenshot
ˇ
Digital Ink
Rotation- Rotate to
accommodate screen sizes and different directions a user might sign on the
device.
ˇ
Lines can now
be \ or / - Shape element
- Shape Type can be set to a diagonal line from the upper left corner of the
shape to the lower right corner, or lower left corner to the upper right corner.
Click for screenshot
ˇ
Characters $ #
@ . + - * / & < > = ( ) "" or <space> are not allowed in Element names – These are reserved characters and will cause issues if used in the
element name.
New Elements
ˇ
Calendar – Display a
calendar from which to select a date.
Click for screenshot
ˇ
Date/Time
Picker – A
combobox-like element. Select a date
by changing it directly or by displaying a calendar from which to choose a date. Option to use the element for time.
Click for screenshot
ˇ
Display
Status of various indicators – Display as an
icon or text value the Battery Life, Free Space, GSM Registration Status or
Signal Strength, NumLock of Shift State, Status Bar, WiFi Association Status or
Signal Strength or to show the current date.
Click for screenshot
ˇ
GPS Location – In the
background, capture any combination of the six GPS values – Latitude, Longitude,
Speed, Heading, Altitude and Number of Satellites.
Click for screenshot
ˇ
Keypad – Display a
keypad from which to enter data for an element.
Choose from an optional 10-key numeric or 16-key Hexadecimal, or create
your own custom keypad. Choose from
different button styles and colors.
Click for screenshot
Events (Program>Program Events) Write a script to run when these events
happen
Click for screenshot
ˇ
Power On – If a program
is running on the device when the unit shuts off (hibernates or turned off) this
script will run when the unit is turned back on.
A good use is, for security reasons, to have the program go back to the
login screen to get a valid login entry.
ˇ
Global timer – This script
will run each time a new prompt is displayed.
ˇ
Cradled/Uncradled – When the
device is put in the cradle (or attached to the cable) (the cradle/cable must
have power)or removed from the cradle this script will run.
ˇ
Program Load – This script
runs when the program is started, before the first screen is loaded.
ˇ
Program Exit – This script
runs when the user selects to exit the program.
Functions
ˇ
Tone function –
(Notification) - Play an audible tone, setting the sound (Hz), duration and
volume.
ˇ
GetTickCount
function – (Date/Time) -
Returns the system Tick Timer value. Can be used for debugging
purposes to calculate time intervals with better precision that just Seconds,
although it’s only accurate to about 18 ms.
ˇ
SetKeyboardMode/GetKeyboardMode functions –
(Notification) - Sets or Retrieves the state of the Caps Lock or Num Lock mode –
Numeric, Uppercase Alpha or Lowercase Alpha.
ˇ
OmniLoadProgram function – (Omni) -
Connect to
the Omni server to load an ITScriptNet program.
The function returns a value to indicate whether the program was properly
transferred.
ˇ
OmniUpdateClient function – (Omni) -
Connect to
the Omni server to update the client.
Returns ‘0’ if the client is already up to date. Returns non-zero if the client cannot
be updated. The client exits and
restarts if an update is made.
ˇ
OmniSendCollectedData – (Omni) -
Forces the
device to try to connect and send any collected data to the server. Set parameters to only send certain
records. Any other collected data
will be left on the device. These
parameters are only effective if the Collected Data is stored in SQL CE. Returns a value indicating whether
the transfer was successful or not.
ˇ
SetGridCellColor function –
(Multi-Prompt) – Set the background and text color of a cell in a grid. Ex. The grid has a column for
quantity. If the quantity is
negative make the cell background red.
Click for screenshot
ˇ
SetClock
function – (Date/Time) –
Allows the user to set the date and time on the device from within ITScriptNet. This is easier than navigating
through the Windows screens.
ˇ
Modified
Message function to allow a single string parameter –
(Notification) – Previously, you had to indicate a value for each of the four
parameters. Now, you can leave off
the ones at the end you aren’t using.
Ex. Old way – Message(“Are you sure?”, “Confirm”, “Yes”, “No”). New Way – Message(“Invalid Entry. Please enter again.”). The caption and buttons are not
needed, so they can be ignored.
ˇ
Keypress
script can return 0 to ignore the keypress completely –
(Multi-Prompt) -
Valid only during
the OnKeyPress event. Returns the
character code of the key pressed to trigger the event.
ˇ
FileDate
function – (File) -
Returns the
date / time that the file specified was last modified. The file must be located in the
directory with the ITB.
ˇ
PadLeft and
PadRight functions – (String) -
Pads the
string with a specified character to the specified length. The pad characters are added to the
left (or right) of the original string.
ˇ
SaveCollectedData returns a success or fail code - (Lookup) - If the data validates the success code is returned,
otherwise the fail code is returned.
ˇ
Exec function – (Other) –
Executes a specified script.
The expression is evaluated and must be a correctly formatted string.
So, using something like this, @test@ =
left ("1234", 2), won't work. You
have to do this,"@test@ = left" & chr(34) & "1234" & chr(34) & ", 2", so it
evaluates to the expression above before executing. This is really only a problem
if there are literal strings in the data.
ˇ
Index-based
functions failure process modified – Functions such as DeleteItem or GetItemData now fail if the index
specified is larger than the number of items in the element. Previously, the last item in the list
was selected.
ˇ
DLL functions – (Other) –
DLLCall – Call a function in an external DLL;
DLLLoad – Load an external DLL from the ITB directory on the server. Returns a value of whether the file
was loaded or not.;
DLLRelease – Release a previously loaded DLL.
These functions allow the developer more freedom to work outside ITScriptNet as
necessary. Removes any further
ITScriptNet limitations.
ˇ
List functions – (Other) –
Maintain a list of keys and values during the data collection process. This is helpful to avoid performing
multiple validation lookups or to store what would otherwise be user variables.
ListAdd – Add a string to a list indicating the key and value.
ListClear – Clear a list of all entries.
ListLookup – Lookup a value from a list based on the key.
ˇ
Functions
renamed:
o
DownloadData
-> DLSrvDownloadData
o
LoadProgram ->
DLSrvLoadProgram
o
SendCollectedData -> OmniSendCollectedData
Validation Files features
ˇ
CSV Validation
Files – Previously,
only fixed-width text files could be used.
CSV files are common and take less space than fixed-width.
ˇ
SQL CE support – Collected
data and validation files can be stored on the device in a SQL CE database. Many new features take advantage of
this, mainly grid filtering (allows use of SQL query) and SendCollectedData
(send only certain records based on parameters).
A significant drawback to SQL CE on the device is the extremely long
loading time of large validation files.
Use SQL CE only when necessary.
ˇ
Indexes now
work for files larger than 16MB – Companies with large validation files (typically several hundred
thousand items) can now benefit from index files.
Performance Features
ˇ
All elements
hidden until the prompt is activated – This allows
the screen to fill with all the elements all at once instead of as they
activate. Makes for a more
professional looking program.
ˇ
Scripts and
SQL statements in the ITB are now compressed – Makes the
.itb file smaller.
PC Client
ˇ
Set the alias
from the PC Client configuration screen – Previously
unable to set the alias. The alias is the
name given to the device/PC that can be used to identify which device captured
the record.
Click for screenshot
Clients
ˇ
Select Program
list has the focus set to the list – Focus was not
set to the list previously, causing additional taps.
ˇ
Programs are
listed in alphabetical order – Easier to find programs in the Collect Data, Load Programs, Send
Data to PC, Delete Data File and Delete Program lists.
ˇ
EnableALD and
EnableCentering functions updated - Can be used if the UseDefault setting is selected in the designer.
ˇ
Alias is not
permitted to contain invalid filename characters - < > “ | ? * :
\ / or any characters between ascii values 0 and 31. These are reserved characters and can
cause problems if used.
ˇ
Running the
client sets the Install registry key – This allows device licensing to work regardless of the device folder
in which the client resides.
ˇ
Changed
'Serial Port' field name to ‘Communications' on the configuration screen – More properly
reflects the reference of the method.
ˇ
Alias length
increased to 30 characters – Changed from 20 characters.
ˇ
Program>Program Settings option for Screen Mode – Set the screen display option - Disabled Bars, Caption Only or Full
screen - within the design of the program.
ˇ
Program>Program Settings option for 'Minimize on OK' for Windows Mobile – Tapping the
‘OK’ button in the upper right corner will minimize ITScriptNet, not close it,
on WM devices.
ˇ
Plus and OMNI
clients combined – We have combined the clients into one. There is still separate licensing for
Batch Plus and OMNI, however. The
licensing will determine if OMNI features will be enabled.
Simulator
ˇ
RF Print
functions now work in the simulator – Using the Simulator you can now test the use of the RF Print
functions as long as the PC running the Simulator is on the network.
Script Engine
ˇ
Added && and
|| -
Instead of ‘AND(@val1@, @val2@)’ you can now use ‘@va1@ && @val2@’ (or @val1@ ||
@val2@). This is more programmer-friendly.
ˇ
Property-based
syntax
for
controlling element settings - Instead of using user variables in
in-prompt scripts and refreshing the element, you can now directly control most
properties. For example, to set the background color of a textbox, you can
now just use Prompt.textbox1.backgroundcolor =colorYellow
ˇ
Fixed
precedence order problems - We’ve improved the arithmetic precedence order. It’s
not perfect, but much better. Ex. @x@
/ @y@ + @z@ is equivalent to (@x@ / @y@) + @z@.
Omni Server
ˇ
Updated to use
a thread pool – This is a
more efficient method for wireless communication.
ˇ
Sending
collected data now sends the ITB if it is not the same version as the one on the
server – This avoids
version difference issues that can cause the loss of data.
Communications
ˇ
Added a return
code to the DlSrvDownloadData and DlSrvLoadProgram – The return
code can be used to alert the user as to whether the data or program was
transferred or to perform other tasks whether it did or did not transfer.
ˇ
Calls
SystemIdleTimerReset on long-running OMNI calls – In the event
the data transfer takes a while the device won't suspend while waiting for a
response from the server.
ˇ
All file
transfers are now compressed – We’ve applied file compression to and from the device in order to
reduce the bandwidth needed. This is
especially important for GPRS communication.
Obsolete Features
ˇ
Removed
support for the following obsolete devices:
o
DOS devices –
Hand Held Products’ Dolphin7200 and Compsee’s Apex)
o
Hand Held
Products’ IT3875, Dolphin 7300 & 7400
Older versions
will still be available for download on our site that support these devices.
|