Contents

What's New in Morfik 0.9.16.1

AS WITH ALL SOFTWARE UPGRADES, IT IS HIGHLY RECOMMENDED THAT YOU MAKE A FULL BACKUP OF YOUR PROJECT BEFORE LOADING AND COMPILING IT WITH A NEW VERSION OF THE APPSBUILDER.

Uninstall previous versions of the AppsBuilder before installing this release as the database engine in this release has been updated to the latest official release of Firebird 2.0.

Before compiling each of your projects, remove the ‘_ProjectNameBuild’ folder that is automatically generated in each project folder.

Note that you do not need to copy your existing license across because this version comes with a built-in license.

Required code changes to existing XApp Projects

You may have to update some of the DOM objects that have used in your code due to the major overhaul of the SystemDOM and SystemDomHTML framework modules. If you are using TDOMEvent then you will need to add (import) SystemDOM in the module. A list of objects that are commonly used in the XApp source codes with their new names are listed below.

All server-side SQL statements using CreateSQLCommand, DestroySQLCOmmand, CreateRecordSet or DestroyRecordSet, will need to be changed to include the default database connection (DefaultDBConnection) for these commands. For example,

CreateRecordSet -> DefaultDBConnection.CreateRecordSet

For every existing table in your projects (compiled with the earlier versions) you may be asked to recreate fields MFK$RICHFORMAT and MFK$GUID. Answer Yes to the questions.

In some very old modules you may have to change ServerModule and BrowserModule reserved words to the Unit keyword and add the Interface keyword before the Type declaration.

In the rare event of encountering irregular compilation errors whilst using the Computer Aided Coding features, such as ‘Internal Errors’, click on the “Clear Compilation Cache” option under the Project menu item and recompile the project.

To resolve the issue with previously existing DateTime control that clicking on the date picker could display the following error message 'Invalid property value', then change the Font color property then 'clear compiler cache' (Project\Clear Compiler Cache) before running the project.

If using the Src property of ImageAttrs, change it to Pic.

It is not necessary to specify the ‘?cls=Res’ suffix to parameters when assigning resource repository images in your code. You may not see an image at run time if this parameter is set.

The new version of the compiler in Morfik uses a much more rigorous grammar and may result in errors that the previous compiler did not pickup. For example:

Properties and fields of an object must be defined before the methods of the object. ‘Unexpected Token’ error is displayed in the error list in the above case.

External directive is now a metadata attribute and should change to the following: ['External=xxx'].

New Feature Highlights

WSDL Files : The ability to consume and publish web services, with automatic creation of a WSDL file generated for every XApp. This is an ultimate method of publishing web services as no additional work is required.

Service Connectors:

Major upgrade to the WebOS data connectivity architecture.

Support for Salesforce.com data connectivity and synchronization using Morfik Service connectors.

External databases can be added to an existing project using the Service Connectors.

New queries display service connection options to ensure data sources are from the same source

Connection to External Firebird databases with a choice of a native connection or ODBC.

Use of the system ODBC dialogs to obtain connection string. Redesign of the ODBC connectivity option.

Computer Aided Coding (CAC):

Code Navigation - Pressing the ctrl key while moving the mouse pointer over your code will highlight any identifier for which the IDE could take you to the corresponding definition. Clicking while holding the ctrl key will take you to the definition.

Code completion.

Identifier occurrences highlighting – will highlight all occurrences of an identifier where the current cursor is positioned within the current scope.

Visual cues to help you identify when editing browser or server code.

Code folding.

Statement highlighting (needs to be enabled in ‘Preferences’).

Automatic error reporting while coding is in progress. Code which the IDE identifies as potentially wrong gets underlined in red, in the same way as misspelled words are flagged in most word processors. Errors are, also, added to the Errors tab at the bottom of the IDE window. Keep an eye on the new Errors Tab in the list of debugging monitors.

Inline help for classes and functions

Computer Aided Documentation (MorfikDoc): This feature enables pop-up help to be included in code completion for classes and functions and comes with a spell checker. Preliminary content is available for SystemDOM, SystemDOMHTML and most of SystemUtilities.

Control Adaptors: allows third-party controls to be plugged into the AppsBuilder and be used within an XApps. Some examples of plug-in controls currently included are from Zapatec, Yahoo and Dojo and they do not require a separate license.

Scriptor: Allows the building of special JavaScript snippets to enhance the AJAX experience of an XApp. It comes with predefined support for Salesforce.com S-Control Objects, Yahoo Maps, Google Maps and Google Search.

New Run Time Library structure for the distribution of Morfik WebOS AppsBuilder.

Major overhaul of the SystemDOM and SystemDOMHTML framework modules to fully comply with the new W3C standards.

New Sendemail function allows sending multiple format emails from within an XApp.

The HTTP, IMAP and POP3 protocols are now supported in Morfik, through the SystemInternetIndy module.

New Popup dialog features using the standard Openform function. There are also a range of Parameters available to allow dialogs to open in modal form or to have different attributes.

The PDF library has been rewritten so as to make it possible to distribute its source as part of Morfik Framework.

Sleep () function added.

Integrated Development Environment (IDE)

A new color picker has now replaced the previous one and offers web colors as well as additional options to make the color selection/creation process easier.

A new Resource Repository is available to allow developers to have one central repository to manage project resources such as images, css, flash or pdf files and any other documents used within the project. The Image Gallery does not exist anymore, as images are now managed within the Resource Repository.

Automatic vertical and horizontal lining of controls on a form or report.

Tools/Options changes. The Tabbed options under Tools/Options menu has now been divided into three different categories and under three different menu items. Project Options (under project menu item), Debugger Options (under Debugger menu item), Environment Options (under Tools)

New search tab in the monitors. The search speed is improved significantly and the new search tab shows more details on the search result. Double clicking on a search result takes the developer to the highlighted search text in the source.

An improved data grid in Morfik AppsBuilder to view records in Tables and Queries at design time.

Document 'view state' is now saved. When opening the document next time the position of the cursor in both server and browser modules are remembered. The active module (server or browser) is also remembered.

New icons and images are now added to the IDE and some of the existing icons have been updated.

It is now possible to right click on a control in a Form and use ‘Snap to Grid’.

Right clicking on a Report now shows the "Design Data Source" menu item to view the data source for the report.

Improvement to the docking process in the AppsBuilder design environment. This will also allow group docking of the Object Inspector ##Explorer and the Object browser.

Faster table load and table save at design time.

Visual Documents and Controls

Major updates to the Combobox control

A parametric query may now be used as the LookupDataSource

It is now possible to display a descriptive text in a Combo-box and store an associated non-descriptive value in a form data field. ### LookupTextField, LookupDataField properties can now be specified by choosing from a drop-down list of field names in the property sheet

The default height and border style of the Combobox have been changed (this is to work around a bug in IE)

The Combobox is now painted correctly at design time under both Windows Classic style and Windows XP Style

Incorrect entries in a data bound Combobox when placed in a single form is fixed.

Listbox control now included.

Subform names are now more descriptive and allows a developer to identify the name of the subform and form that is placed within it.

New Form wizard for the creation of sophisticated (Grid like) continuous forms

A new Tool tips property is added for every control. The value in this property is displayed on the mouse over event of the control.

When creating a new document (Table, Query, Form, Report, Web Methods and Modules) in design view, it is now possible to rename the default name.

Database

The bundled Firebird database engine is updated to the latest official release of version 2.0.

Ability to choose an existing Firebird 2.0 on a system rather than having to use the default database engine in Morfik.

Firebird reserved words are now allowed to be used as names for tables and fields.

If Firebird is not running as a service at the time a project is opened, Morfik will automatically run Firebird as an application.

Use of the system ODBC dialogs to obtain connection string and redesign of the ODBC connectivity option in import data wizards

Web Services and Web Methods

Macros have been superseded by Web Methods that enable you to create industry standard web services in addition to internal remote calls.

It is now possible to consume (import) external Web Services in Morfik. Click on Project menu and select WebServices / Import ##WebServices to start the import wizard. There is also a new demo XApp under WebService directory that has three examples of consuming external web services.

New conflict resolution methods for reserved words used in Table and Field names.

Adding ability to select SSL Level3 for Web Services.

Miscellaneous

Support for iso-8859-1/windows-1252 character set. A new option is now added in the new project wizard which allows to select an appropriate character set for a project.

New Browser History property for Forms. If set to false, the form does not add duplicate entries in the browser history. This stops multiple entries for a page if the form is set to refresh periodically.

A new internal version tracking system for supporting backward and forward compatibility of project files.

New improved and short URIs for Morfik XApps. Developers at design time can choose to have long or short URIs depending on the applications.

New Sample projects to showcase some of the new features in this release

New options in the Morfik installation process.

Preliminary support for Safari browser.

Bug Fixes

Compiler and Debugger

Inability to use recursive calls (calling a method from itself) on browser side has been fixed.

Issues relating to compiling a project as a Plug-in dll (using VP).

"Cannot start debugger!" error message does not appear anymore when trying to preview a project when the Main Form option is not set correctly.

Now possible to have non-dual Globals modules and compile a project without any compilation errors.

Switching JavaScript optimization ON and OFF inconsistencies fixed.

The breakpoints and search items line numbers are updated as a developer change the code in the code editor.

Issues related to the debugger leaving behind the breakpoint red lines in the code editor fixed.

Issues with accented parameter values in an OpenReport function not getting passed correctly to the server fixed.

All showMessage calls are now redirected to DebugOut, which displays the text in the IDE Output Panel.

Morfik Framework

Optimization and improved algorithm in the system Array sorting and handling, String compare to handle local setting

Setting parameters in an OpenForm function with Target parameter set to “Blank” is no longer problematic anymore.

Calling SystemUtilities.AddMonth() does not causes a type mismatch error.

Incorrect behavior in StrToDateTime function has been fixed.

Functions DateTimeToString and StringToDateTime do not have consistent parameters order.

The Timestamp (Now) functions in the browser and server modules have been made more consistent.

Integrated Development Environment (IDE)

The standard Ctrl-A "select all" shortcut now works for both the code editor, form editor/designer, and the SQL editor.

Pressing F9 in the IDE now compiles and runs the XApp at design time.

The hexadecimal value of the color property in the property sheet and Formatting tab of the Toolbox can now be edited manually from the property sheet.

When right clicking on the details band of a form, the 'Align to grid' option only appears if a control is selected.

Issues with the File/Open menu item to remember the location where it last opened a document and checking for the existence of a file to open fixed.

Hotkey fixes and improvements:

CTRL+O is now for File|Open

Alt + D should show the Debug menu

The issue that didn’t allow for an event to be recreated after it was deleted the first time fixed.

Code editor Modified status is now cleared after the form is saved.

The auto-insertion of stubs and handlers are more simplified. The property inspector has been updated with Check boxes instead of the True/False drop downs and ellipses have been placed next to each event to make the process more intuitive.

Fuchsia and Aqua color presets are now correctly defined in SystemClasses framework module.

The "List index out of bounds" error message that appeared due to a project not being saved at the time of closing is fixed.

The Title field in the property inspector of a project can now contain single quote.

Inability in previewing new forms on intermittent bases has been fixed.

When copying and pasting a module from within the AppsBuilder design environment, the new module name is now reflected correctly in the server and browser modules.

Corrected the order of the OK and Cancel buttons on the parameters editor window for forms.

Attempting to copy a property value of a control or set of controls in the property window resulted in the copy of the selected controls themselves. This has been resolved and only the selected property is now copied.

Type declaration code for objects is now always removed properly when deleted.

The horizontal scrollbar in the code editor can now only show more than 257 character on one line.

Errors were caused when closing projects while there are tables and queries still open. This has been resolved.

The issue of the new line chars within the text, if the text is entered through the memo dialog in the Table data view fixed.

Issue with displaying an image in a Single Form based on a Query fixed.

In the query wizard, the incorrect Total options in the Fields step, is fixed.

The default value for the "Yes/No" field in table design can now be set to ‘Yes’ or ‘No’ text without resulting in errors at the data entry time.

Issues with the pass-through queries executing the Insert statements multiple times have been resolved.

Queries with renamed data sources (tables and nested queries) now display a message on the name changes and allow the developer to view the query in design mode.

The Table wizard now does not allow a memo field to be set as a primary key as soon as the field is selected.

The inaccurate renaming process for external ODBC tables within the IDE has been corrected.

Autonumber fields of GUID Class now work correctly. New GUID values are generated as new records are added to a table.

It is now possible to open a project if any of the external databases used are offline.

At design time, data from floating-point number fields always display as currency (preceded by $ sign) is fixed.

Issues with data in memo fields of external Firebird databases not displaying at design time are fixed.

Picture fields of external MXD files now display at run time.

The inconsistencies with alternative methods of accessing the Relationship tab in the AppsBuilder have been fixed.

Fixed problems with altering tables which were renamed at design time.

Issues related to importing Firebird databases into Morfik are resolved.

Intermittent problem with the table data view and design view not being in synch after fields were deleted in a table have been resolved.

The incorrect start and increment options for the Autonumber GUID fields have been removed

WebServices and WebMethods

Defining a web method, without any parameters, generated the following error at run time "firstChildElement of SOAP-ENV:Body null = Nil". This has been fixed.

Parameters with space between "=" sign and the Parameter name of a Web method works correctly now.

Using incorrect parameters in the RunWebService function generates an error message at the time of execution.

The FaultCode for a Web Method is now set when using browsers other than IE.

The issue of declaring a class under the Implementation section of a Form causing unwanted results is resolved.

Miscellaneous

All sample projects have been updated to compile and run with the latest release.

Issues with handle leaks when an XApp is running resolved.

General improvement to Morfik created applications in order to make them fully W3C compliant.

In the new project wizard, the project name is now checked to ensure a valid name.

The default value of the ThreadsPerChild Apache directive has been increased to 500.

The sample demo ‘Northwind’ has been updated with fixes applied to the reports.

Fixed the JPEG error #38 error message.

Issues with the main form not loading and the 'Loading...' not disappearing in some XApps .

The 'Add Watch', 'Toggle Breakpoint' and 'Breakpoint at' option under the Debug menu is now only enabled when required.

Download

On the download page, you will have the option of choosing from three different versions of Morfik that differ in the programming language used. Choose the version with the programming language that you are familiar with. The installation steps are identical whether you purchased your copy or are using the trial version.

To install Morfik:
1. Open the downloaded Zip file with a tool such as WinZip™ or other compatible program.
2. Double-click the single .EXE file contained in the Zip file.
3. Follow the instructions and prompts in the Setup Wizard to complete the installation.

Other Resources and Links

"How Do I?" Videos Learn by watching training videos on how to perform common tasks within Morfik