Morfik 3 has a number of major and minor new features as well as bug fixes and small improvements. In this topic you will have a brief overview of the major new features with links to topics that go into greater detail about them.
Pages as first class objects
Morfik 3 adds a new type of high level object: Pages. Pages are a visual representation of the concept of the Virtual Page that was introduced in Morfik 2. Using pages it is much more simple to structure a Morfik application and implement most of its navigational organization without writing a single line of code.
Explicit support for mobile devices
|With version 3 Morfik has added special support for mobile devices in general and Apple's popular iPhone, iPod Touch and iPad in particular. The Morfik development environment allows the user to create alternate interfaces for different devices within the same application. The Morfik Framework automatically presents the correct set of Pages to the user based on the device he/she is using at the moment.
Mobile Preview - The Morfik built-in debug browser now offers support for previewing iPhone and iPad applications in their respective pixel resolutions and orientations. Both the iPhone and iPad applications can be seen as if they were in the respective device. The user can alternate which device is being used to browse the application and which orientation from a drop down menu that is available under the device button in the toolbar of the debug browser.
New API for Design time behavior of Packages
|With version 3.0 Morfik introduced a more well rounded support infrastructure for creating scripts to add design time behavior to widgets within the Morfik development environment.
Abstract Data Access Classes
|As part of the effort of adding support for additional databases to the Morfik Framework and the Morfik development environment, a series of abastract data access classes has been introduced. These classes can be used as the basis for the implementation of native access to just about any database.|
Native Database Connectivity
In version 3 Morfik has re-implemented the database access portions of the Morfik Framework in a way that allows for direct connection to databases other than Firebird and ODBC. This means that it is now possible to implement direct native access to other databases.
Morfik 3 supports native access to the following additional databases:
- MS SQL
Continuous Editable Forms
Continuous editable forms were introduced in Morfik 2.x but were still at an experimental stage. In Morfik 3.x a lot of work went into making these forms usable and useful. You can now design a single form for browsing and editing data.
The Container Set Control
|The Container Set control allows multiple container controls (referred to as Pages) to occupy the same visible space on a form with only one of the Pages visible at any time. The Pages can be moved through in a forward or backward direction or any page can be brought to the front at any time. Changing pages can also invoke graphical transitions sliding pages in from left to right, right to left, top to bottom or bottom to top. Other Morfik controls, including Container Sets and Subforms, may be placed on any of the pages.|
The Repeater Control
Morfik 3 includes a new control, Repeater, that allows the developer to add a continuous list from a datasource without having to use the normal subform-form combination. The Repeater control has a Data Source property that can be set to any table or query and a display area that can contain controls bound to data fields.
The Repeater control does not include a navigation bar and no paging through the dataset is possible, however the number of records displayed can be controlled.
|Morfik 3.x introduces a very powerful menu control that can be used to to create menu bars that match just about any page layout you design. Morfik menus allow the user to place individual controls within dropdown menus thus allowing complete freedom to create as sophisticated a menu systems as the user wishes.
Among other things it is possible to create menus that pop up the left or right of a menu item, instead of underneath it. It is also possible to define the alignment of the popup menu in relation to the text of the selected option. This allows the user to set for example that the dropdown menu of a menu option that is aligned to the right of the page will also be aligned to the left.
Internationalization and Localization
|Morfik has implemented a design method that we believe will make the creation and maintenance of websites supporting multiple languages a straightforward process that can be easily executed. As always, we are going to be the first users of our own technology, so you can expect to see morfik.com in various languages!
Supporting multiple languages on your website consists of two parts:
Support for JSON added
Animation and special effects
Morfik includes built-in support for browser-side image animation and transition effects through the SystemAnimations module. Included in the module are support for Fade, Move, Resize, Resize to Vertical Center, and Resize to Horizontal Center transitions. All these transitions can be combined to create a large variety of transition effects and animations.
|With Morfik 3, the base template that is used to create a new project is replaced by a functionality that allows you to choose from a set of several pre-built templates. These new templates will help the user to go from a totally new project to a published website much more quickly than previously possible.|
Edit Masks for TextEdit Controls
The improved TextEdit control has a number of new properties to support edit masks for input. Using input masks the developer can control which characters are allowed in different positions when entering text and numbers and also provide display formatting characters.
Additionally the TextEdit control can convert the case of initial values to upper or lower case and display special text for empty fields.
International character set support in Reports
As of version 3.0 Morfik supports a wider range of international character sets in reports. Morfik reports are generated as PDF documents that the user can view through Adobe's Acrobat Reader or save it for later review of forwarding to other people.
Morfik is adding support for the following languages:
Server Side Optimizations
|Morfik 3 includes a number of server side optimizations to accelerate the delivery of web applications to the browser. The result is that Morfik 3 applications are much faster to load and execute than ones compiled with prior versions of Morfik.
These optimizations have been applied to General xApp Performance, Forms and Reports, Continuous Forms and The Main Page among others.
Miscellaneous compiler and framework changes
Morfik 3 brings a number of improvements in the compiler and runtime library. We have done our best to ensure that most existing projects will continue to work seamlessly with new version. In some cases however you might have to make minor adjustments. Here is the list of what has been changed:
- Browser-side code: all class fields and local variables are automatically initialized now. String fields are set to have empty string value, numeric fields are set to be 0, object fields are set to contain null value.
- Morfik C# syntax has been improved. In particular, support for shorthand assignments such as += or ++ has been added, and for loop statement is now supporting all the features of c#. Also, escape characters can now be used when defining string constants in c#.
- Errors panel has been improved to always show you the full list of compiler errors in your project and to maintain the order of errors reported when the list is changing. This makes code refactoring to be a much nicer experience.
- If you program against IBO database directly, you might need to add SystemConnectorsIBO unit to the uses section of your module.
- Morfik BX and Morfik CX: if you use AsString(), AsInteger() and other functions of that sort, you might need to change the code to read AsString, AsInteger (remove the braces)
- FlashUploader, RSS Button, Wysiwyg and Google Maps Morfik 2 custom controls have been removed. Wysiwyg has been superseded with tinyMCE package. We are going to provide packages to replace other controls too.
- Run-time behavior of continuous editable forms has been altered - changes are submitted to the server when the user navigates to another page or submits them explicitly.
- Dropdown control can now be resized at run-time. If you have a fixed-size dropdown, you can set its Can Grow property to No for better performance.
Morfik Wiki 3
This entire wiki is in the process of being updated to reflect changes and new features added to Morfik 3 and you will be able to find many topics which have already been updated to reflect conceptual changes.
Some topics, specially those that go into extensive details related to how to complete an activity haven't yet been updated due to the need to have all interface changes finalized before revising such topics.
- Building your first application with Morfik
- Identifying and creating your application pages
- Building navigation menus and linking your application pages
- Creating Interfaces for the Mobile Web
- An overview of support for external data sources in Morfik
- Abstract Data Sources
- Built-in support for JSON in Web Methods
- Support for UTF-8 Unicode in Reports