Whats new in FinalBuilder 5

See also What's new in FinalBuilder 4.

Build history kept indefinitely

A summary of every build is now kept indefinitely in the log file (but not the detailed build log).  This allows viewing of all historical builds for the particular project.  The details of the build history kept includes the log title, start time, end time, build status and run time.  By default only builds that include the detailed build log are displayed in the History table, but all builds can be displayed byf unselecting the "Hide Deleted" option.

Graph statistics of build history [Professional Only]

A range of graphical views of the frequency of past builds is now displayed in the Build Statistics tab.  The types of graphs include a success ratio pie chart, builds by hour, builds by day of week, builds by month, etc.  The period of time to graph can be changed and the user can decide if they want to see successful, failed or all builds on the graph.  The graphs can also be printed and the raw data exported. [Blog Entry on Build Statistics]

Keyboard Bindings

There are now two styles of keyboard bindings which can be chosen, Microsoft style or Borland style.  This effects various keystrokes such as running a build, viewing the property page, stepping over an action.

Comments for variables

Add comments against Project Variables and User Variables.  This can help you and your team document the various variables used.  A hint containing the comment is also displayed on the Project tab when hovering above a variable with a comment.
New Refactoring: Convert an Action Group to an Async Group and vise-versa [Professional Only]

The new refactoring makes it easy to convert between a normal Action Group (which runs each action in sequence) and an Async Action Group (which runs all child actions in parallel)
Running scripts can now be terminated
If an action has a long running script in any of it's event handlers, these can now be terminated by the user if requested.

Command line parameters now standardized across IDE & FBCMD

The common command line parameters between the FinalBuilder.exe IDE and FBCMD are now standardised.  If you use the command line options, please refer to the online help for details of the changes.

Icons to indicate if action has comment, script, and condition

There are now three columns to indicate other properties of actions in the Action Lists.  The comment icon indicates if the action has a comment, and displays the comment in a hint if the mouse if hovered over the comment icon.  The scripts icon indicates if the action has an event handler, and displays which events contain scripts if the mouse is hovered over the script icon.  The condition icon indicates if the action has an execute condition, and displays the condition code if the mouse is hovered over the condition icon.

Find & Replace in IDE now works fully with custom actions

Configure Packages Wizard

On the first run, and available from the Tools menu, the Configure Packages Wizard makes it easy to decide which packages are loaded by FinalBuilder.  It allows configuring of Version Control Systems, Installers, Compilers and many other packages.  Turning off packages that aren't required can speed up the loading of FinalBuilder as well as reducing the amount of actions that are not needed from the ActionList.[Blog entry on Configure Packages Wizard]

Running Status User Message

A custom message can now be sent via script or using the Set Build Status Message to the Running Screen.  This can be useful to display specific status information the the particular project eg. "Running Compilers", "Uploading files to FTP Server" that stays on the Running Screen until either the build completes, or a new status message is displayed.

Action Log frame now has a "show in context" option for error actions

Selecting an action in the log and clicking "show in context" will load sibling and parent actions of the selected action into the log so it's easy to see the context of the action in question.  This is most useful when a build fails and just the failed action is shown in the log.

Interactive actions moved to Interactive.bpl package

Most Interactive actions have been moved a new Interactive.bpl package.  This allows easier administration of interactive actions.

Sort Variables in project tree

Variables are now sorted in the project tree view.

Project Summary

Added an option to make it optional to have actions in the report.  This can be useful if you want a report containing just the variables used in your project for example.

Action Info tab

The Action Info tab now displays the package that an action is loaded from.

New Script Methods

WScript.Sleep() method - this is internally mapped to a normal Windows sleep, but can be useful when copying script files that contain the WScript.Sleep() method as the function calls don't need to be changed.

Read/Write Ini File value

Load variables from command line

Variables passed in on the command line via the /v switch will always be loaded.  Previously they were only loaded if it was an automatic build.

Script Templates

The script editor in both FinalBuilder and ActionStudio now includes script templates which make it easier and faster to write JScript and VBScript code.  To activate a template, you need to type a key word (eg. if) and then press Ctrl-j which will expand the keyword into template code.

SCC Integration in IDE [Professional Only]

Version Control support has been added to the IDE via the SCCAPI.  This allows your project file, persistent variables file, and the project data file to be manged in your version control system by FinalBuilder.  The available operations are: Add to Version Control System, Get Latest Version, Check Out Project, Check In Project, and Undo Checkout.

Action List Parameters

Action List Parameters are now available where other variables types (eg. Project, User) are listed.  They also are now resolved in fields that expand variables at design time.

Auto Complete variables

When editing a text field for any action and when the cursor is inside a variable (eg. %) a drop down list of available variables is shown.  The list is further filtered when typing the name of the variable, and enter will insert the variable in the text field. [Blog entry on VariableSense]

Tray Notification Popup

The Tray Notification Popup can now be configured to activate under different circumstances, not just when FinalBuilder is minimized to the system tray.

Saving project with missing packages

The IDE will now confirm saving a project that has been loaded with actions that are missing the action package.

Quick Help

The Quick Help for an action is now shown in the General tab of the action properties dialog.

BDS Project group import wizard

Borland Developer Studio projects can now be imported using the BDS Project Group Import Wizard.

Run and Exit shell integration

A new context menu item has been added to the Windows Shell which allows running and exiting the selected project.

Code Completion for FinalBuilder Variables

FinalBuilder variables have been added to code completion when editing action script events.

New in FinalBuilder 5 Console (FBCMD)

Added command line parameters for closing idle FB instances

In some instances a scheduled build run using FBCMD should attempt to close any idle FinalBuilder IDE instances running on the same machine with the same project open.  The /o parameter will close an idle instance, and the /of parameter will force FinalBuilder to close. 

Command line parameters now standardized across IDE & FBCMD

The common command line parameters between the FinalBuilder.exe IDE and FBCMD are now standardised.  If you use the command line options, please refer to the online help for details of the changes.

New actions in FinalBuilder 5

Replace Variables action

The Replace Variables action allows you to replace all of the variable references (ie %VariableName%) in a file or variable contents with their current variable values.

Beyond Compare Script

The Run Beyond Compare Script action allows you to run a script in the Beyond Compare script language. Scripts can be run from files, or entered as text in the action.

Generate new GUID action

The Generate New GUID action allows you to generate a new GUID string and save it to a variable.

MSIL Assembler Action

The MSIL Assembler action enables you to automate the compiling of .NET assembly code via the ilasm.exe assembler.

PsTools Actions

The PsTools actions allow you to automate utilities from Sysinternals' PsTools suite of Windows administration utilities.  The new actions are:

  • PsLogList (List event logs)
  • PsInfo (View System Information)
  • PsSuspend (Suspend/Resume Process)
  • PsGetSID (Sercurity ID Info)
  • PsFile (List/Close Remote Open Files)
  • PsKill (Kill Process)
  • PsList (List Processes)
  • PsLoggedOn (Logged on users)
  • PsShutdown (Shutdown computer)
  • PsService (Service Manager)

Serviced Components Registration Tool [REGSVCS]

The .NET Serviced Components Registration Tool enables you to automate loading and registration of assemblies, and also the generation, registration, installation and configuration of .NET type libraries for COM+ Applications.

WGET Action (HTTP Get)

The WGet Download action enables you to download files from a remote site using http, https, or ftp protocols, as well as allowing retrieval through http proxies.

Surround Set Working Directory, Surround Remove Working Directory

New actions to set and remove the working directory for a Surround repository.

String and Path Manipulation actions

A new set of actions has been added to make it easy to add string manipulation type functions to your project.  The list of new actions are:

  • String Trimming
  • String Casing
  • String Encryption
  • String Quoting
  • String Padding
  • String Concatenation
  • Path Manipulation
  • String Reverse
  • String SubString
  • String Replace
  • String Add Breaks

Microsoft Deployment Project

The Microsoft Deployment Project action allows you to change the values within a deployment project file, which Visual Studio uses to create MSI Setup Packages.

Stack & Queue actions [Professional Only]

The Stack and Queue actions allow you to build up a list of items and then access them them in either a first in, first out (Queue) or first in, last out (Stack) manner. Create a new Stack or Queue using the Define action, and then to add items, use the Push or Insert actions. To use the items in the list, either use the Pop action to access them one at a time, or use the Iterator to perform the same action on each item until the list is empty. [Blog entry on Stack and Queue actions]

The new actions are:

  • Stack/Queue define
  • Stack/Queue Log Items
  • Stack/Queue Push Items
  • Stack/Queue Pop
  • Stack/Queue Peek
  • Stack/Queue get Count
  • Stack/Queue Insert Item
  • Stack/Queue is Empty
  • Stack/Queue Clear
  • Stack/Queue Iterator

Manifest Generation and Editing Tool [Mage]
The Manifest Generation and Editing action enables you to create or edit .Net Manifest files used for deploying applications using ClickOnce technology.

Accurev

Support for the Accurev version control system has been added.  The new actions are:

  • AccuRev Add
  • AccuRev Check Out
  • AccuRev Update
  • AccuRev Lock
  • AccuRev Unlock
  • AccuRev Keep
  • AccuRev Create Stream
  • AccuRev Remove
  • AccuRev Promote
  • AccuRev Purge
  • AccuRev Add a Change Package Entry
  • AccuRev Remove a Change Package Entry
  • AccuRev Defunct
  • AccuRev Generic

MKS Source Integration

Support for the MKS Source version control system has been added.  The new actions are:

  • MKS Add
  • MKS Check Out
  • MKS Check In
  • MKS Create Change Package
  • MKS Open Change Package
  • MKS Close Change Package
  • MKS Add Label
  • MKS Delete Label
  • MKS Drop
  • MKS Connect
  • MKS Disconnect
  • MKS Resynchronize
  • MKS Lock
  • MKS Unlock
  • MKS Checkpoint
  • MKS Generic
  • MKS Create Sandbox

ILMerge

The ILMerge action enables you to merge multiple .Net assemblies into a single assembly.

Subversion Delete

Delete an item from a working copy or the repository.

Sandcastle actions

Sandcastle is a new help generator for Microsoft .Net.  The new actions added to support Sandcastle are:

  • Sandcastle XslTransform action - enables you to apply XSL transforms to XML files.
  • Sandcastle MRefBuilder action - enables you to reflect over managed assemblies to produce an XML-formatted reflection information file.
  • Sandcastle BuildAssembler action - enables you to collate information from comment files and reflection information files into a set of HTML pages.

XML delete element/attribute

The XML Delete Element/Attribute action enables you to automate deletion of a single node or an attribute of a node inside an XML file. Specify an XPath to select the node and optionally specify the name of the attribute to delete.

New IIS6 actions

IIS Create Application Pool action - allows you to create new Application Pools on an IIS Server.

IIS Delete Application Pool action - enables you to remove existing application pools from an IIS server.

ADO Dataset Iterator

The ADO Dataset Iterator action allows you to perform a group of actions for each row returned from a SQL query on a database using ADO.

PDF actions [Professional Only]

A new set of actions has been added to perform various functions on PDF files.  The new actions are:

PDF Merge Files - merges two PDF files into one

Convert to PDF - converts RTF files to PDF

PDF Insert Text - inserts html formatted text at a X,Y location in a PDF file

Convert PDF - converts a PDF file to HTML, Excel, Bitmap, XHTML, Jpeg, EMF, RTF, Text or TIFF

Image manipulation action [Professional Only]

The Image Manipulation action can be used for performing the following operations on image files:

  • Rotating
  • Flipping
  • Mirroring
  • Resizing
  • Converting to another format

The types of files supported are: JPEG (*.jpg),Graphics Interchange Format (*.gif),Tagged Image File Format (*.tiff),Portable Network Graphics (*.png) and Bitmaps (*.bmp) [Blog entry on Image Manipulation Actions]

JPEG Lossless Transform Action [Professional Only]

The Lossless JPEG Transform action is used to perform certain transform operations on JPEG files without any loss of information.  The types of transformations include: auto rotate based on EXIF information, flip, rotate and transpose.

Windows Installer (MSI) [Professional Only]

A new set of actions have been added to manipulate MSI Packages.  The new actions are:

  • MSI Update Properties - update properties inside an MSI
  • MSI Merge - merge and update into the Base MSI
  • MSI Transform - generate MSI transform files or apply transforms to existing MSI databases
  • MSI Validation - perform an Internal Consistency Evaluation (ICE) on an MSI database
  • MSI Generic - modify an existing MSI database file using standard SQL statement against the internal tables

Spell Checking [Professional Only]

The Spell Check action allows you to check a text file for any spelling errors (ie. unknown words). You can check a single text file, all files in a FileSet or any text you enter including variables. There are many options for which words to ignore, ranging from specific words to using a custom dictionary.

Set Estimated Build Progress

The Set Estimated Progress Total action allows you to override the total used for displaying the estimated progress of the current project while it's running.

Set Build Status Message

The Set Build Status Message action allows you to add a custom message under the estimated progress on the build summary screen.

Prompt for Password

The Prompt for Password action enables you to ask the user for a Password during your build process. The Password is saved in a variable where it can be used in subsequent actions.

IIS FTP Administration actions [Professional Only]

A new set of actions have been added to perform administration tasks on an IIS 6 FTP server.  The new actions are:

  • Start IIS 6 FTP Service
  • Stop IIS 6 FTP Service
  • Restart IIS 6 FTP Service
  • Start IIS 6 FTP Site
  • Stop IIS 6 FTP Site
  • Pause IIS 6 FTP Site
  • Create IIS 6 FTP Directory
  • Delete IIS 6 FTP Directory
  • Create IIS 6 FTP Site
  • Delete IIS 6 FTP Site

Now in FinalBuilder Standard

The following actions are now also included in the Standard Edition of FinalBuilder:

  • ADO Execute
  • ADO Stored Procecure
  • XML actions
  • Burn CD

Enhanced actions in FinalBuilder 5

Timeouts for Execute Actions

Most actions that call an executable (including Execute Program) now allow the user to set a timeout (in minutes).  If the timeout is reached then the action will be failed.

Async Action Groups - Limit to at most N concurrent threads [Professional Only]

When using Async Action Groups is can be desirable to limit the amount of concurrently executing child actions.

Run as for Execute Actions

Most actions that call an executable (including Execute Program) now allow the executable to be run under a different user account.

Action Colour

Each action can now be customised to show the text as a different colour in the Action List.  This can be useful to make certain actions stand out.

Auto Descriptions

Many more actions now have an autodescription.  Auto descriptions are when the action creates it's description based on the properties of the action, for example the FTP actions will include the FTP server in the description automatically.

Execute Program / Run DOS Command now have better exit code handling

Choosing the success or failure of an Execute Program action or Run DOS Command action is more flexible.  It allows the following comparisons of the exit code: equal to, not equal to, greater than, greater than or equal, less than, less than or equal.

Delphi Compiler action

The Delphi Compiler action has been enhanced to allow reading settings from the project file (ie. DOF file).  The following settings can be optionally read from the project file: Packages settings, Compiler settings, Linker settings, Directory/Path settings, Version info settings.

Prompt For Variables (Enhanced)

Adds the ability to have a radio button group

Comment actions

Now able to be renamed to "" without going back to "Comment"

Text Find / Replace Action

The Text Find action has been enhanced to provide Replace functionality.

Include Project Action

Include Project action can now share host variables and set variables at same time.

Burn CD and Create ISO

Fileset support has been added to the Burn CD and Create ISO actions

[Blog entry on actions now supporting FileSets]

Send Email

Now allows specifiying a text file to load addresses from (eg. recipients)

FTP Upload

FileSet support has been added to the FTP Upload action

[Blog entry on actions now supporting FileSets]

File Exists

Added FileSet & wildcard support to the File Exists action.

[Blog entry on actions now supporting FileSets]
PropertySet to Variable
Now allows padding of any properties when they are being output to a variable.

Resource Compiler [ResGen]

Added all options that the command line tool supports, and now allows setting of working directory

COM+ Delete

Now supports deleting components by wildcard.

New in FinalBuilder 5 ActionStudio and Custom Actions

Common & Global script error line numbers in custom actions now correct

If an error occured in a Custom Action that uses JScript or VBScript for it's implentation, the line number for the error is now calculated by taking into account any common script code or global script code in the Custom Action or FinalBuilder project.

Exposed Context.IsStopSignalled to custom actions

This new function allows custom actions to query if the user has requested that the action stop.  This is useful for custom actions that take a long time to execute.
Running script based custom actions can now be terminated

If a custom action is taking too long, or is in an infinite loop it can now be terminated by the user

Package reloading for Custom Action Packages

The FinalBuilder IDE can now reload custom actions (instead of requiring a restart).  The IDE also detects if a custom action package is saved and will attempt to auto-reload the package.
Assembly unloading for .NET Action Packages

This is an optional debugging feature for .NET based Custom Actions.  It allows FinalBuilder to unload assemblies instead of requiring a restart when the assemblies are recompiled.

Auto descriptions for custom action

Custom Actions can now define an auto description based on the action properties.  Auto descriptions are when the action creates it's description based on the properties of the action, for example the FTP actions will include the FTP server in the description automatically.

Script Syntax Checks
Action Studio now checks syntax of scripts during validation and displays any errors in the messages tab.  Fixing the syntax error will automatically hide the message tab with the error.